Zver
Anonymous
Nik
Zver
Anonymous
Zver
Nik
Кажется меня не поняли. Это, грубо говоря, в компиляторе захардкожено конкретно для этого случая, что если яигнорирую второй параметр, то падает паника? И средствами языка я подобный функционал реализовать не могу?
Pawel
Коллеги, киньте ссылку на готовую реализацию консолной "змейки" (на прямоугольном поле движется змея. Находит еду - вырастает в длине, находит себя или границу поля - умирает)
Anonymous
захардкожено что в случае взятия параметра успешности ПРОГРАММИСТ сам несет ответственность , а если не взал то вызвать панику
Daniel
Dmitriy
Простите, не туда
Daniel
Nik
Pawel
ага, спасибо
Roman
кто чем бинарники go сжимает? мы upx'ом жмем. Может вселенна ячто-то получше придумала.
Нави
а можно сделать так, что бы текущее значение переменной запихнуть в новую константу?
Илья
Vadim
Привет, у меня split stack overflow
Vadim
Добавил пару if, при выполнении которых происходит return
Vadim
Гугл не помогает. Нужна помощь сообщества)
Dk
Помогите плз. Я где-то читал так
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
В какой части я ошибаюсь?
.
Aleksandr
Vadim
https://play.golang.org/p/rNDPV4PEDAh По сути вот это. Когда if добавляю капут
Dk
Aleksandr
Достаточно небольшого контекста вокруг строки где ошибка
Dk
func Upload(w http.ResponseWriter, r *http.Request) {
if !AuthVal(r) {
---вот тут падает---
http.Redirect(w, r, "/login", http.StatusPermanentRedirect)
return
}
Dk
func AuthVal(r *http.Request) bool {
blah-blah
---тут ещё работает---
return sessions.Check(person.Value, token.Value)
Aleksandr
Что из этого nil?
Dk
bool, который возвращает AuthVal
Aleksandr
Bool не может быть nil
Aleksandr
Проверь все составляющие последней строки
Dk
Точнее, он не возвращает ничего почему-то, хотя из session.Check он bool получил
Aleksandr
Dk
Dk
Dk
Да и nil собственно нет
Aleksandr
У тебя ошибка что ты обращаешься к чему что является nil
Aleksandr
Покажи текст ошибки и строку указанную в тексте ошибки
Dk
Этот bool создаётся так в горутине,
data.Ch <- true
так
потом Check
func Check(person, token string) bool {
ch := make(chan bool)
checkchan <- pair{person, token, ch} ---отправил в горутину
return <-ch ---получил из горутины
}
Но этот канал создавался функцией Check. Кто-то из них может это значение удалить?
Aleksandr
Покажи текст ошибки и строку указанную в тексте ошибки
Dk
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)
.....
Aleksandr
Зря удалил
Aleksandr
UI.go:130
Aleksandr
По памяти номер строки назвал
Aleksandr
Тут посмотри
Dk
Зря удалил
Спасибо, и правда не туда полез искать. Вся моя махина отлично работает.
Sergey
Подскажите как лучше организовать работу с транзакциями в БД?
У меня есть файл "repository" в котором объявлены интерфейсы и их реализация для прямой работы с БД и так же интерфейсы и реализация для сервисов которые могут использовать несколько репозиториев для какого то действия. Думал на каждую транзацию создавать новые экземпляры сервисов и туда подкидывать трнзакцию, но мне так не очень понравилось, хочу узнать как можно это по нормальному сделать в go.
Artem
Roman
@onokonem https://github.com/romshark/Go-1-2-Proposal---Immutability/issues/20
Mutability Qualification Propagation тебе возможно понравится больше, чем оригинальное предложение декларации типов.
сделать всё мутабельным довольно просто:
mut [][]*T
но и спец-случаи оно тоже покрывает:
mut [][]* immut T
рекомендую почитать
Daniel
Не нравится уже :)
Roman
Не нравится уже :)
give it a try))
в использовании оно относительно удобно и просто и не verbose. А то что там описание на полторы страницы не должно пугать. Либо мы продумываем все возможные кейсы, либо предложение не рассматривается в принципе.
Vladimir
https://github.com/go-telegram-bot-api/telegram-bot-api
Всем привет! Кто использовал данную либу? Подскажите, плиз, почему-то бот не получает сообщения из группы, а из личного чата без проблем. Может я не правильно готовлю самого бота?
Vladimir
Vladimir
И если он отвечает на команды, то не должен быть инлайн (это в botfather задаётся)
Vladimir
В группе нет больше ботов. От телеграма боту вообще не приходит update.
Vladimir
Vladimir
Возможно нужно разрешить группы?
Vladimir
Инлайн?
`Inline mode is currently disabled`
Vladimir
p0rsche
ребят, поделитесь решением как вы в go программах выводите номера версий и сборок автоматом? (например, основываясь на git коммитах или еще как)
p0rsche
я хочу при запуске программы отображать, грубо говоря, дату последнего обновления (брать из гита)
p0rsche
или ничего лучше -ldflags не придумали?
Daniel
Вопрос в том, как инфа из гита во флаги порадает
Daniel
У нас есть шеллскрипт, который генерит go файл с константами и запускается по go generate
p0rsche
git pre-commit hooks?
Daniel
Ci его запускает
Nikita
Pavel
у меня тож через флаги передается
Натали
#вакансия #работа #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
p0rsche
вроде есть отдельная конфа для работы
p0rsche
или тут проплатили админам?:)
Натали
Правила постинга вакансий #go_вакансия_правила #вакансия
Постить вакансии можно, но при следующих условиях:
+ спросить у одного из админов
+ название компании
+ зарплатная вилка
+ тег #вакансия
+ одна вакансия — один пост
p0rsche
не понимаю смысла сюда постить, если есть отдельная конфа https://t.me/golangjobfeed
Daniel
Здесь охват шире
Dmitriy
коллеги, а чем сейчас модно, стильно, молодежно пользоваться для сбора, хранения сырых логов, чтобы с возможностью полнотекстового поиска по ним?