@gogolang

Страница 765 из 1630
Zaur
22.01.2018
07:04:26
Вот этот момент немного не понял. А почему те же c# и джава тоже в разы быстрее отработали? Это как-то связано с тем, что они интерпретируемые или просто лучшая оптимизация из-за возраста?

2.5 секунды плюсы 34 (!) секунды голанг Задание сгенерировать Бин дерево и посчитать количество узлов для каждой глубины

В целом главная проблема - сборка мусора. Это плата за удобство программирования

Google
Slava
22.01.2018
07:05:52
возможно тут JIT помог

Daniel
22.01.2018
07:05:53
сложнее, чем "компилируемые в байткод"

jit тут помог не быть тормозным

тут два моммента

1. оптимизатор в go довольно убогий. и будет таковым оставаться, ибо для 99% задач, которые решают на go, оптимизатор просто не нужен 2. разница 2.5 и 34 секунды означает только одно - "структура данных плохо влезает в кеш процессора". или большая, или разбросана по памяти, или предсказатель ветвлений ее не понимает. если, например, взять ту же структуру, что использовалась в c++ - разрыв может сократиться

Zaur
22.01.2018
07:14:27
Понял, спасибо)

Vladimir
22.01.2018
07:15:05
Надо на код задачи ещё смотреть :)

/report

@onokonem @m0sth8 тут какая то нездоровая хрень у человека творится

Andrew
22.01.2018
07:40:07
Сколько уже спамеров забанили за историю группы?

Мерлин
22.01.2018
07:52:55
GoFlood?
это не канал )

Александр
22.01.2018
07:56:51
это не канал )
а что это? O_o

Google
Мерлин
22.01.2018
07:57:28
Andrew
22.01.2018
08:57:14
73 штуки
Ты банил?

Гриша
22.01.2018
08:59:15


Евгений
22.01.2018
09:02:23
Коллеги, кто как, свои приложения в продакшен заводит?
Да смотря куда. Если что-то сложное, важное - докер. Для веб-игрищщ завел себе акк не heroku. Деплой идет бинарем через отдельный гит-реп (чтобы основной с кодом не замусоривтаь). 1. компиляю у себя CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ../project-heroku/bin/app 2. git add . 3. git push heroku master Может не очень красиво, что бинарь в гит кладу, но получается простой быстрый деплой в одну команду make

вендор в корне, бин тоже - норм. Чем плохо?

Andrew
22.01.2018
09:03:17
Bin же должен быть в $GOPATH/bin (вроде)

Vladislav
22.01.2018
09:03:21
Вендор должен быть в корне проекта и управляться с помощью менеджера зависимостей, например dep.

Евгений
22.01.2018
09:04:00
Проверка на err обязательна, так как буфер с энтропией может быть пустым
Он может вычитать меньше байт, чем я заказал? Я на всякий еще проверяю длину полученного.

Гриша
22.01.2018
09:05:33
вендор в корне, бин тоже - норм. Чем плохо?
Меня пакеты смущают что рядом, может их в pkg или вообще в vendor в отдельные репы.

Евгений
22.01.2018
09:06:28
вендор норм - как раз в отдельной папке все рядом и не лезет по всему проекту

Vladislav
22.01.2018
09:08:56
Разве обязательно
А бинари в в репе тебе вообще зачем?

Евгений
22.01.2018
09:09:10
я использую dep (и вроде как он рекомендован для всех новых проектов) - в корне проекта 2 файла Godep.toml `и `Godep.lock - в них описаны все зависимости - так же папка vendor - в ней лежит исходный код проектов нужных версий, согласно файликам. Да. vendor лежит в .gitignore и не коммитится в проект - он нужен только на рабочей машине для сборки

Евгений
22.01.2018
09:09:54
Если я кладу по каким-то причинам бинарники в bin в проекте, то он у меня в игноре.

Vladislav
22.01.2018
09:10:14
правила хорошего тона требуют закоммитить vendor тоже
Вот неправда. Там есть плюсы и минусы. А там каждый сам решает.

Евгений
22.01.2018
09:10:15
правила хорошего тона требуют закоммитить vendor тоже
Зачем? На случай, если у нас оторвется внешний источник и мы не сможем больше скачать?

Vladimir
22.01.2018
09:10:51
или просто грохнуть проект

Google
Vladimir
22.01.2018
09:11:20
сделает умный человек форс пуш и нет коммита

по глупости например

Евгений
22.01.2018
09:11:41
Мне кжется, более правильно поднять гит-копии использованных проектов, чтобы и код можно было достать и не замусоривать свой проект

но это конечно сложнее

Либо, если все на гитхабе, то форкаешь проект - и у тебя своя копия зависимости. Что там случилось с исходной версией, тебе не важно. Периодически, когда обновляешь зависимости затаскиваешь изменения в свой форк. Нашел серьезный баг - исправил у себя, отправил пулл-реквест. На той стороне чувак будет морозиться - ну и хрен с ним, у тебя код работает. Если очень будут нужны его новые изменения, то тащишь и мерджишь. Но, если чел морозится по пустякам, но наврядли в проекте появятся какие-то суперполезные изменения.

Евгений
22.01.2018
09:18:44
Не обязательно. Мне никто не запрещает сделать бесплатный публичный форк открытых проектов на GH. А дальше в своей закрытой репе, которая вообще лежит даже не на ГХ я импортирую нужные мне зависимости. go get и dep штуки умные - они без проблем мне вытаскивают все нужное из разных источников.

Если компания не хочет закрывать копии своих репов, то без проблем можно сделать бесплатный акк компании и туда все сотрудники будут класть. Тогда, если кто уволится, то все равно все сорцы останутся в том же самом месте.

Евгений
22.01.2018
09:20:07
только что ответил )

Vladimir
22.01.2018
09:20:23
кстати, если я правильно помню, удаление оригинальной репы ведет к удалению всех форков

Евгений
22.01.2018
09:20:48
для публичных беслпатных?

Евгений
22.01.2018
09:21:03
тогда можно неаккуратно полгитхаба разломать

придет очередной leftpad - и карачун гитхабу ) Вобщем это надо проверить, уж очень рискованная вещь. Может это как-то лицензией регулирутеся?

Евгений
22.01.2018
09:28:38
Для закрытого кода компании можно сделать локальные копии реп и в них отдельный upstream на внешний репозиторий. Периодически затаскиваешь свежий код, мерджишь, проверяешь. Тогда ты вообще не зависишь от GH и что там снаружи происходит. У тебя всегда один и тот же реп по одному и тому же адресу. Даже если у тебя в твоем проекте сделан lock на master (гы), то все равно, мастер не будет спонтанно меняться (ну в надежде, что отвечающие за это люди адекватны и изменения зависимостей обсуждаются перед тем как их ломать).

Vladimir
22.01.2018
09:29:02
или можно просто закомитить vendor

Евгений
22.01.2018
09:29:17
мусор в репе будет копиться

Vladimir
22.01.2018
09:29:26
периодически его чистить

Admin
ERROR: S client not available

Google
Vladimir
22.01.2018
09:29:32
ну и будет ну и что

Евгений
22.01.2018
09:29:39
куча левых коммитов

Vladislav
22.01.2018
09:33:49
Это мешает смотреть изменения.

Vladimir
22.01.2018
09:35:49
Это мешает смотреть изменения.
если иметь культуру все vendor изменения отдлельным коммитом - то должно быть ок

Vladislav
22.01.2018
09:36:38
Если я хочу посмотреть изменения в ветке?

Т.е. приходит merge request. И нужно ревью сделать, например.

Vladimir
22.01.2018
09:41:46
берешь и смотришь)

github очень клево vendor/* скрывает по-умолчанию

(потому что там обычно дофига всего)

Vladislav
22.01.2018
09:42:13
Гитхаб да.

Alexander
22.01.2018
09:42:24
Не так уж часто в MR обновляются зависимости. А если обновляются, то да, нужно сделать ревью

Vladislav
22.01.2018
09:43:25
В файлах dep и так отображается, что они изменились. Или мне ещё и коду зависимостей ревью делать?

Vladimir
22.01.2018
09:44:00
Vladislav
22.01.2018
09:44:49
Ну так не все веб интерфейсы скрывать позволяют.

Vladimir
22.01.2018
09:45:05
повод написать фичареквест автору

или даже pull request

Vladislav
22.01.2018
09:45:40
Ну фронтенд писать я пока не собираюсь.

Vladimir
22.01.2018
09:46:55
можно еще подумать о смене инструмента, так как функционал скрытия не нужного - кажется очень даже первоочередным для любой тулзы для ревью

Google
Vladislav
22.01.2018
09:49:08
Ну там и куча задач и история. И документооборот. И все нужно для аудита.

Alexander
22.01.2018
09:59:40
Димка
22.01.2018
09:59:48
напомните плз, куда уходить с `gopkg.in/mgo.v2`?

Slava
22.01.2018
10:07:34
напомните плз, куда уходить с `gopkg.in/mgo.v2`?
можно сюда https://github.com/globalsign/mgo

Mike
22.01.2018
10:23:50
Вот еще на эту тему: https://engineering.mongodb.com/post/considering-the-community-effects-of-introducing-an-official-golang-mongodb-driver

Bohdan
22.01.2018
10:25:22
Приветствую! Может и не в профильный чат, но вопрос актуальный. Как удалить куку при 403 ответе?) Set-Cookie не отрабатывает, походу

Страница 765 из 1630