分解物質
Ты сказал, что для го не нужны иде. Я не говорил, что ты советовал этот жёлтый блокнот.
да, комфортно гошный код писать можно и без ide — язык не настолько ужасный, и читать гошный код можно без подсветки — синтаксис не настолько ужасный. тоже самое применимо и к C но есть люди которые уже привыкли к разным IDE и им без них не комфортно, это абсолютно нормально, поэтому я и не рекомендовал
Michael
vi
Oleg
За-vi-дую 😏
Valentin
Годно https://habrahabr.ru/post/332450/
Dmitry
ide слишком сильно упрощает рефакторинг чтобы её игнорировать. переименовывать переменные с помощью грепа - это ужос вообще
Я в emacs вот такую штуку использую https://godoc.org/golang.org/x/tools/cmd/gorename Она конечно не такая крутая как тулзы для рефакторинга во всяких интелиджей, но для простых случаев хватает :)
Ivahaev
Пару месяцев наблюдаю за этой группой и 80% обсуждений тут — холивары по поводу IDE :)
Ivahaev
10% — подскажите фреймворк, и 10% остальное :).
Kirill
И оставшиеся 47% — дженерики
Kirill
Тут из-за дженерикофилов 1 -л-и-ш-н-я-я--х-р-о-м-о-с- лишний процент образовался
Anton
забыли про if err != nil
Kirill
Забыли о var nil = 1
Dmitry
Годно https://habrahabr.ru/post/332450/
В то время нельзя было запустить контейнер в фоне, не было команд чтобы посмотреть что запущено, зайти под дебагом или SSH внутрь контейнера.Вот люди странные немного... для запуска контейнеров в фоне есть systemd, SSH внутрь контейнера нужен, но это не та задача, которую сам докер должен решать, в идеале он должен просто запускать контейнеры(в реальности на сегодняшний день имеем толстющий комбайн, который умеет "всё"). Ещё там пишут что overlayfs придумали в докере. Не верю, вот коммит https://github.com/torvalds/linux/commit/e9be9d5e76e34872f0c37d72e25bc27fe9e2c54c В остальном я отчасти понимаю автора. Сам около года назад готовил сервис к запуску в ipv6-only инфраструктуре и это было то ещё веселье, особенно учитывая свистелки и перделки внутри докера для работы с фаерволом и проксики для проброса портов. Я в итоге управление iptables вообще отключил, написав фаервольные правила руками, только тогда получилось добиться желаемого. Всё что написано про сборку мусора(удаление старых образов) актуально и по сей день(сужу по отсутствию команды похожей на garbage collect в хелпе, ибо докер не использую сейчас). Когда я заворачивал сервис в контейнеры были написанны отдельные systemd timer'ы, которые чистили мусор за докером. А с реестром у докера вообще весело, особенно если пытаешь развернуть свой, потому что это не масштабируется, совсем никак. Не знаю как сейчас, может это исправили. В итоге я сейчас пользуюсь rkt, который сильно стабильнее(хоть coreos и говорили что он не готов для продакшена пока) и соблюдает unix way в своём дизайне.
engelbart
Что реально удивляет в местных иде флеймах, это то что люди думают что vimgo не умеет gorename и автодополненин
engelbart
Скорее всего он это умел когда флеймеры еще и в детсад не ходили
engelbart
My neovim setup for Go – Sebastian Dahlgren – Medium https://medium.com/@sebdah/my-neovim-setup-for-go-7f7b6e805876
Anonymous
Стоит ли vim потраченных усилий на его изучение? Да. Но он как бы не в приоритете. Я, как только начинал работать, думал о тасках, а не о том, чтобы осваивать ещё один инструмент. Поэтому моим выбором была VisualCode. В то время как синьор-помидор использовал vim и это было круто наблюдать со стороны.
engelbart
С этим я спорить не буду, я вот вообще не уверен стоит ли людей в рабство вима вовлекать, тут возможны разные мнения.
engelbart
Мой поинт был о том что сравниватели обычно слабо представляют с чем сравнивать.
Anonymous
Мой поинт был о том что сравниватели обычно слабо представляют с чем сравнивать.
Посыл ясен. Стоит увидеть (хотя бы разок), на что способен вим. Я увидел и охренел.
engelbart
Именно так, поэтому меня всегда подбамбливает от kiddies которые думают что это такой блокнот, а вот их идея умеет цвета раскрашивать.
Anonymous
Идею в контексте Го не люблю - сыровата и, имхо, громоздка.
Anonymous
Хотя мб что-то и поменялось.
Slava
Вообще не сыровата
Slava
Четвёртый год на ней сижу и всё радует
engelbart
Это отлично. Инструмент должен радовать
Slava
Вим конечно же обязательно знать на базовом уровне
Slava
Как редактор для сервера
Anatoly
Тот же код с открытым плейграудом минио работает отлично
Anonymous
Вим конечно же обязательно знать на базовом уровне
Тут что, только вимеры? Где emacs'еры?
engelbart
Вымерли может
Slava
Давно емакс стали по дефолту на сервера ставить?
Anonymous
ПыСы я вообще в нано редактирую... Видимо для меня отдельный котёл в аду будет.
Slava
А надо в ed
engelbart
Про ed хороший пойнт
engelbart
Если представить что для кого то из иолодежи вим выглядит как для меня ed
engelbart
То можно понять почему они сравнения такие пишут
groall
Пишу клиента для хитрого апи, формат ответа JSON. Набор свойств в ответе апи может меняться в зависимости от переданных параметров. Для каждого набора свойств завел по специальной структуре. Пришедший ответ декодирую сначала в json.RawMessage, потом по условию в нужный тип структуры. Не могу придумать, как красиво получать ответ: либо сделать возвращаемый тип interface{}, но тогда похерится автоподстановка свойств; либо ... ничего в голову не приходит.
Ivahaev
А я вот не понял — где требуется получать ответ?
Ivahaev
Почему на каждую структуру свой метод нельзя вызывать, например?
groall
А я вот не понял — где требуется получать ответ?
делаю рест-клиента, хотелось бы логику работы с ответом апи засунуть полностью в него. Т.е. от апи может приходить разный ответ, например, {"foo": "aaa"} и {"bar": 0.1} - в зависимости от параметров. Научил клиент анмаршаллить ответ в нужный тип структуры. Теперь надо красиво возвращать полученный результат. А он может быть разного типа.
groall
Почему на каждую структуру свой метод нельзя вызывать, например?
Да, можно, но тогда часть логики перетечет от клиента в вызывающий код. Подумаю, спасибо.
Ivahaev
Ну или можешь возвращать интерфейсом и дополнительно указывать тип ответа, например, а дальше кастить.
groall
а дальше кастить, это как?
engelbart
через боль
engelbart
switch .(type)
engelbart
У меня таже задача, есть сервер который плюются в меня стотысяч типов json
engelbart
и парсить это просто наслаждение
engelbart
где мог свёл в map[string]interface
Максим
можно ли поля структуры перебрать как то, как мапу? где key - имя поля, а value интерфейс, например
Максим
Спасибо, то что нужно
Andrey
может кто сталкивался с такой проблемой, пытаюсь запустить проект, мне выдает ошибку что некий пакет найдет в горут и в гопас, и указывает на место в горут в котором ничего и нету
Andrey
`.\..\go\src\github.com\labstack\echo\middleware\jwt.go:10:2: cannot find package "github.com/dgrijalva/jwt-go" in any of: C:\Go\src\github.com\dgrijalva\jwt-go (from $GOROOT) D:\projects\go\src\github.com\dgrijalva\jwt-go (from $GOPATH) `
Andrey
эх чет не заэкронировался текст
Andrey
так вот по адресу C:\Go\src\ нет папки github.com
Anonymous
пиши пути от папки src
Anonymous
типа app/mylib
Andrey
судя по всему я ниче не понял :)
nikita
судя по всему я ниче не понял :)
открой любой го проект на гитхабе и посомтри как там иморты пишут
Constantine️
это сложно
Constantine️
в чате нельзя так открыть?
Andrey
смешной у нас диалог сложился "я: 2+2 выдает 5, что делать?, вы: используй арабские цыфры" wat? ну и дальше конечно же надо указать что я слабоумный, а то я сам не в курсе :)
Andrey
если спикер выше посоветовал прописывать зависимости обходя GOPATH то это странный совет, не слышал что его упрозднили
Andrey
на родной убунте все работало без вопросов, сейчас пытаюсь этот же проект запустить на винде, ругается, причем ругательства странные, с указыванием на несуществующие папки
Constantine️
ты в русском чате, это нормально )))
Andrey
да я был к этому готов :)
Constantine️
у тебя проект внутри GOPATH лежит же?
Daniel
так вот по адресу C:\Go\src\ нет папки github.com
это значит - у вас не выставлен GOPATH
Andrey
я же сначала в гугл полез, но там вообще ничего подобного
Anatoly
а го гет делал?
Daniel
коллега, у нас всего три переменные