
Roman
04.10.2018
16:10:18

Vladimir
04.10.2018
16:11:14
Народ, а что вы спорите о непринятом пропозале в телеграмм канале?

anatolii
04.10.2018
16:11:43
Просто обсуждают

Daniel
04.10.2018
16:13:07

Google

Daniel
04.10.2018
16:13:14
и спорим мы с его автором

Vladimir
04.10.2018
16:13:19
А

Andrei
04.10.2018
16:24:38
есть следующий вопрос по goswagger:
можно ли как то малой кровью встроить ручку с UI для спеки в сгенерированный по этой спеке сервер, типа swagger serve встроить в swagger generate server?

Alexander
04.10.2018
17:21:39
О! William Kennedy написал в The latest Golang development news про An Immutability Proposal for Go

Никита
04.10.2018
17:23:00

Alexander
04.10.2018
17:23:25
Ссылку пожалуйста
William Kennedy
An Immutability Proposal for Go
( https://github.com/romshark/Go-1-2-Proposal---Immutability ) — An
extensive document with a proposal for adding immutable types to
Go, not only to a theoretical Go 2, but in a backwards-compatible
way to Go 1.x too. If you want to see some quick examples, check
out the FAQ.
( https://github.com/romshark/Go-1-2-Proposal---Immutability#4-faq )
https://golangweekly.com/issues/231
А! Это не William Kennedy написал про pro Immitable. Это у них в текстовом виде такое форматирование дурацкое, что непонятно, кто автор. :)

Nik
04.10.2018
17:53:21
func main() {
var i interface{} = "hello"
f, ok := i.(float64)
fmt.Println(f, ok)
f = i.(float64) // panic
fmt.Println(f)
}
А это как работает? Если я сохраняю второй параметр, то все ок, если нет то паника. Откуда функция утверждения типа знает, что я буду дальше делать с тем, что она вернула?

Zver
04.10.2018
18:00:31

Nik
04.10.2018
18:02:16

Vladimir
04.10.2018
18:03:03

Nik
04.10.2018
18:04:14

Google

Zver
04.10.2018
18:04:37

Vladimir
04.10.2018
18:04:53

Zver
04.10.2018
18:04:56

Nik
04.10.2018
18:06:57
Кажется меня не поняли. Это, грубо говоря, в компиляторе захардкожено конкретно для этого случая, что если яигнорирую второй параметр, то падает паника? И средствами языка я подобный функционал реализовать не могу?

Pawel
04.10.2018
18:08:07
Коллеги, киньте ссылку на готовую реализацию консолной "змейки" (на прямоугольном поле движется змея. Находит еду - вырастает в длине, находит себя или границу поля - умирает)

Vladimir
04.10.2018
18:08:47
захардкожено что в случае взятия параметра успешности ПРОГРАММИСТ сам несет ответственность , а если не взал то вызвать панику

Daniel
04.10.2018
18:08:49

Nik
04.10.2018
18:09:01

Dmitriy
04.10.2018
18:09:04
Простите, не туда

Daniel
04.10.2018
18:09:12

Nik
04.10.2018
18:09:49

Pawel
04.10.2018
18:10:31
ага, спасибо

Roman
04.10.2018
18:30:53
кто чем бинарники go сжимает? мы upx'ом жмем. Может вселенна ячто-то получше придумала.

Нави
04.10.2018
18:37:26
а можно сделать так, что бы текущее значение переменной запихнуть в новую константу?

Илья
04.10.2018
18:41:35

Vadim
04.10.2018
19:05:40
Привет, у меня split stack overflow
Добавил пару if, при выполнении которых происходит return
Гугл не помогает. Нужна помощь сообщества)

Dk
04.10.2018
19:12:32
Помогите плз. Я где-то читал так
type pair struct {
Ch chan bool
}
ch := make(chan bool)
x := pair{ch}
то ch это ссылка на канал и если её положить в pair, то ch и x.Ch - это ссылка на один и тот же канал.
Если всё верно, то дальше я передаю через канал в горутину этот pair и из него должен прийти bool, но у меня runtime error: invalid memory address or nil pointer dereference
В какой части я ошибаюсь?

Никита
04.10.2018
19:13:11

Google

Aleksandr
04.10.2018
19:16:08

Vadim
04.10.2018
19:21:18
https://play.golang.org/p/rNDPV4PEDAh По сути вот это. Когда if добавляю капут

Dk
04.10.2018
19:31:25

Aleksandr
04.10.2018
19:31:52
Достаточно небольшого контекста вокруг строки где ошибка

Dk
04.10.2018
19:33:00
func Upload(w http.ResponseWriter, r *http.Request) {
if !AuthVal(r) {
---вот тут падает---
http.Redirect(w, r, "/login", http.StatusPermanentRedirect)
return
}
func AuthVal(r *http.Request) bool {
blah-blah
---тут ещё работает---
return sessions.Check(person.Value, token.Value)

Aleksandr
04.10.2018
19:34:46
Что из этого nil?

Dk
04.10.2018
19:35:27
bool, который возвращает AuthVal

Aleksandr
04.10.2018
19:36:16
Bool не может быть nil
Проверь все составляющие последней строки

Dk
04.10.2018
19:36:47
Точнее, он не возвращает ничего почему-то, хотя из session.Check он bool получил

Aleksandr
04.10.2018
19:37:33

Dk
04.10.2018
19:38:19
Да и nil собственно нет

Aleksandr
04.10.2018
19:40:44
У тебя ошибка что ты обращаешься к чему что является nil
Покажи текст ошибки и строку указанную в тексте ошибки

Dk
04.10.2018
19:41:53
Этот bool создаётся так в горутине,
data.Ch <- true
так
потом Check
func Check(person, token string) bool {
ch := make(chan bool)
checkchan <- pair{person, token, ch} ---отправил в горутину
return <-ch ---получил из горутины
}
Но этот канал создавался функцией Check. Кто-то из них может это значение удалить?

Aleksandr
04.10.2018
19:42:14
Покажи текст ошибки и строку указанную в тексте ошибки

Dk
04.10.2018
19:42:53
2018/10/04 22:37:30 http: panic serving 127.0.0.1:46878: runtime error: invalid memory address or nil pointer dereference
goroutine 20 [running]:
net/http.(*conn).serve.func1(0xc00009ce60)
/usr/lib/go/src/net/http/server.go:1746 +0xd0
panic(0x743660, 0xa4edb0)
.....

Google

Aleksandr
04.10.2018
19:43:19
Зря удалил
UI.go:130

Admin
ERROR: S client not available

Aleksandr
04.10.2018
19:43:34
По памяти номер строки назвал
Тут посмотри

Dk
04.10.2018
19:56:37
Зря удалил
Спасибо, и правда не туда полез искать. Вся моя махина отлично работает.

Sergey
05.10.2018
05:00:09
Подскажите как лучше организовать работу с транзакциями в БД?
У меня есть файл "repository" в котором объявлены интерфейсы и их реализация для прямой работы с БД и так же интерфейсы и реализация для сервисов которые могут использовать несколько репозиториев для какого то действия. Думал на каждую транзацию создавать новые экземпляры сервисов и туда подкидывать трнзакцию, но мне так не очень понравилось, хочу узнать как можно это по нормальному сделать в go.

Artem
05.10.2018
05:10:57

Roman
05.10.2018
05:41:21
@onokonem https://github.com/romshark/Go-1-2-Proposal---Immutability/issues/20
Mutability Qualification Propagation тебе возможно понравится больше, чем оригинальное предложение декларации типов.
сделать всё мутабельным довольно просто:
mut [][]*T
но и спец-случаи оно тоже покрывает:
mut [][]* immut T
рекомендую почитать

Daniel
05.10.2018
05:41:57
Не нравится уже :)

Roman
05.10.2018
05:43:26
Не нравится уже :)
give it a try))
в использовании оно относительно удобно и просто и не verbose. А то что там описание на полторы страницы не должно пугать. Либо мы продумываем все возможные кейсы, либо предложение не рассматривается в принципе.

Vladimir
05.10.2018
05:43:38
https://github.com/go-telegram-bot-api/telegram-bot-api
Всем привет! Кто использовал данную либу? Подскажите, плиз, почему-то бот не получает сообщения из группы, а из личного чата без проблем. Может я не правильно готовлю самого бота?

Vladimir
05.10.2018
05:46:02
И если он отвечает на команды, то не должен быть инлайн (это в botfather задаётся)

Vladimir
05.10.2018
05:49:07
В группе нет больше ботов. От телеграма боту вообще не приходит update.

Vladimir
05.10.2018
05:50:27

Vladimir
05.10.2018
05:50:32
Инлайн?
`Inline mode is currently disabled`

Vladimir
05.10.2018
05:51:52
И это тоже

Vladimir
05.10.2018
06:05:54
ребят, поделитесь решением как вы в go программах выводите номера версий и сборок автоматом? (например, основываясь на git коммитах или еще как)

Google

Vladimir
05.10.2018
06:06:27
я хочу при запуске программы отображать, грубо говоря, дату последнего обновления (брать из гита)
или ничего лучше -ldflags не придумали?

Daniel
05.10.2018
06:12:38
Вопрос в том, как инфа из гита во флаги порадает
У нас есть шеллскрипт, который генерит go файл с константами и запускается по go generate

Vladimir
05.10.2018
06:13:44
git pre-commit hooks?

Daniel
05.10.2018
06:14:33
Ci его запускает

Mykyta
05.10.2018
06:24:21

Artem
05.10.2018
07:05:16

Pavel
05.10.2018
07:07:34
у меня тож через флаги передается


Натали
05.10.2018
07:13:16
#вакансия #работа #job #hr #golang #Go #backend #blockchain #HyperLedger #TeamLead #Developer #Москва #СанктПетербург #СПб #Питер #Ульяновск #НижнийНовгород #Нижний #НН #Пермь
Компания IBS – крупный разработчик сложных IT-решений. Мы приглашаем на работу Team Lead Developer GoLang.
Ваши задачи:
▪️Разработка backend на языке GoLang;
▪️Разработка решений на основе blockchain;
▪️Разработка смарт-контрактов для платформы HyperLedger;
▪️Развитие направления Golang в Компании, принятие архитектурных решений, руководство командой гоферов.
Наши ожидания:
▪️Опыт разработки на Go от двух лет;
▪️Опыт работы с решениями на blockchain (будет преимуществом);
▪️Опыт коммерческой разработки;
▪️Опыт написания smart contracts;
▪️Понимание / опыт работы с криптографическими библиотеками;
▪️Опыт работы с Ethereum или HyperLedger (будет преимуществом).
Мы предлагаем:
▪️Работу в стабильной компании, основанной в 1992 году;
▪️Полное соблюдение норм ТК РФ;
▪️Работу в дружной команде профессионалов;
▪️Гибкую схему профессионального и карьерного роста;
▪️ДМС для сотрудника и его детей, программы льготного кредитования, фитнес-центры, бассейн;
▪️Курсы корпоративного английского;
▪️Гибкое начало рабочего дня.
Локация: Москва, Санкт-Петербург, Ульяновск, Пермь, Нижний Новгород. Рассматриваем кандидатов, готовых к переезду.
Зарплатная вилка: 200-250 тыс.руб. на руки
Контакты для связи: NGoncharova@ibs.ru
Телеграмм
О всех вакансиях IBS: http://www.ibs.ru/career/jobs/
Корпоративное обучение (среда развития): http://www.ibs.ru/sreda/
О нас неформально - на странице: https://www.facebook.com/IBS.life


Vladimir
05.10.2018
07:23:13
вроде есть отдельная конфа для работы
или тут проплатили админам?:)