
Alexander
12.10.2018
12:11:12
Режисера Данелия? Который Кин-дза-дза снял?

Александр
12.10.2018
12:12:08
да не, наш местный. В основном он режиссирует драмы

Artem
12.10.2018
12:12:08

Olzhas
12.10.2018
12:12:54

Google

Alexander
12.10.2018
12:13:44

Artem
12.10.2018
12:15:48
во первых нет. Во вторых, отъебись же

Aleksandr
12.10.2018
12:17:30
я его повторно забанил. Со-админы, не надо его разбанивать

Илья
12.10.2018
12:18:35
спасибо!

anatolii
12.10.2018
12:35:35

Виктория
12.10.2018
12:55:06
Привет всем!?? Админы, можно вакансию разместить? Оформлено по правилам

Aleksandr
12.10.2018
12:56:05

Виктория
12.10.2018
12:57:07
#вакансия #softwareengineer #engineer #golang
⚡️В компании GrinTeq открыта позиция Software Engineer (C / Golang).
Формат: Удалённый вариант или минский офис (ст.м. Я. Коласа).
Полная занятость, гибкий график.
ЗП вилка: 4 000 - 5 000$ на руки.
Требования:
- Уверенные знания C и/или Golang;
- Опыт работы с system level programming;
- Хороший устный и письменный английский;
- Опыт работы 4+ лет.
Задачи:
- работа в тесном сотрудничестве с отделом разработки, QA и Product team для создания основных функций в следующих областях: container security, container image formats, container orchestration & deployment, plugins;
- разработка и поддержка инструментов для on-premise deployment.
Компания: http://grinteq.com
Контакты:
@toria_makas;
v.makas@grinteq.com (ящик/скайп).

John
12.10.2018
14:17:38

Roman
12.10.2018
14:18:44
string от []byte отличается только иммутабельностью?
единственная разница про которую я знаю это то что у структуры строки нет поля cap

Google

Александр
12.10.2018
14:22:12
я могу ошибаться, но вроде они алиасом сделаны

Илья
12.10.2018
14:27:15
Так и есть

Roman
12.10.2018
14:28:28

Александр
12.10.2018
14:31:04
алиасом типа

Subbotin
12.10.2018
14:31:14

Foxcool
12.10.2018
14:33:31
угу, ведь в юникоде не только один байт на букву бывает

Roman
12.10.2018
14:34:39
интересно конечно копируется ли тут сама строка (лень писать бенч) []rune(s)

Subbotin
12.10.2018
14:36:13
Очевидно да. Иначе иммутабельность сломается

Roman
12.10.2018
14:36:22
аа, ну да, иммут же, туплю
копировать всю строку только ради получения колва рун... охх..

Subbotin
12.10.2018
14:37:17
Меня больше волнует в какой момент он их считает

Roman
12.10.2018
14:38:04
s = "static string"
r := immut []rune(s)
по сути, если можно гарантировать иммутабельность слайса рун, тогда можно и не копировать
для колва рун нужно копировать, что можно бы было избежать иммут слайсами рун

many-faced
12.10.2018
14:41:19
знатоки gin-gonic, подскажите, возможно ли настроить кастомный анмаршалинг при бинде ShouldBindWithJSON ?
Типа, поле в json приходит {"field": "1,2,3"}
а структура такая:
struct { a,b,c uint64 }

Subbotin
12.10.2018
14:41:29
Вообще это отстой

Google

Илья
12.10.2018
14:47:41

Roman
12.10.2018
14:49:24

Илья
12.10.2018
14:49:46
эмм, читать побайтово, раскладывать по рунам?
или как ты себе это представляешь? там underlying []byte

Kirill
12.10.2018
14:50:39

Илья
12.10.2018
14:51:03
зачем?
есть стринг - он же []byte, как получить []rune?

Roman
12.10.2018
14:51:07
да вот странно.. почему строку сразу иммутабельным []rune не сделали

Kirill
12.10.2018
14:51:08
там underlying []byte, но len([]rune) отдаёт что нужно
пруф: https://play.golang.org/p/1T91VxqPwP3

Roman
12.10.2018
14:52:06

Kirill
12.10.2018
14:52:19

Roman
12.10.2018
14:52:28

Kirill
12.10.2018
14:52:51

Илья
12.10.2018
14:52:54

Aleksandr
12.10.2018
14:52:58

Kirill
12.10.2018
14:53:30

Илья
12.10.2018
14:53:38
я о ней :)

Kirill
12.10.2018
14:54:10
тогда понял)

Roman
12.10.2018
14:54:54
короче нужон новый тип text ? щутка

Илья
12.10.2018
14:56:11

Google

Kirill
12.10.2018
14:56:14

Roman
12.10.2018
14:59:20

Artem
12.10.2018
14:59:31

Илья
12.10.2018
14:59:33
не спас
[]rune <-> []byte - очень дорого

Artur
12.10.2018
15:00:02
Есть функция привязанная к структуре. В ней дергается другая функция которая оперирует не данными самой структуру а лишь аргументами в нее помещенными(при этом используется лишь в моем типе). Где ее правильно объявить? привязать к структуре или просто как отдельную функцию?
Если бы был класс то я бы сделал статик метод, но как корректно это должно выглядить в го?

Roman
12.10.2018
15:00:18

Илья
12.10.2018
15:00:44
string <-> immut []byte - по сути вспе хаки - плюют на иммутабельность ради производительности

Roman
12.10.2018
15:00:52

Илья
12.10.2018
15:01:27

Kirill
12.10.2018
15:01:40
%?
%) — смайл такой был когда-то

Илья
12.10.2018
15:01:44
таким образом это будет статик колл

Roman
12.10.2018
15:02:31

Илья
12.10.2018
15:03:03
хм? немного не понял о чём ты
сейчас ради производительности преобразование строки к слайсу байт в ряде случаев (небольшое безопасное подмножество), компилятор просто выдирает underlying slice

Roman
12.10.2018
15:03:12

Никита
12.10.2018
15:06:04

Roman
12.10.2018
15:07:15
Оптимизация ради 20 наносекунд
это 1 раз 20 наносекунд,
10 раз это уже 200 наносекунд,
100 = 2 микросекунды
1000 = 20 микросекунд
10.000 = 200 микросекунд
100.000 = 2 миллисекунды

Google

Roman
12.10.2018
15:07:17
и т.д.
маленькие детали очень быстро могут превратиться в значительные тормоза при большой нагрузке

Никита
12.10.2018
15:08:05
Такого рода оптимизации большинству не нужны, как я считаю

Daniel
12.10.2018
15:08:06
да, но их будет видно на диаграммах pprof

Никита
12.10.2018
15:08:15
Такие вещи стоит делать в последнюю очередь

Daniel
12.10.2018
15:08:20
и вот когда их будет видно - тогда и посмотрим

Roman
12.10.2018
15:08:41

Daniel
12.10.2018
15:08:45
пока там виден обычно штатный json

Roman
12.10.2018
15:09:40
да, но их будет видно на диаграммах pprof
ну с такой аргументацией можно прекратить какие-либо оптимизации по 5% в runtime'е и компиляторе))
я абсолютно согласен с тем, что оптимизировать нужно первые 10 результатов pprof, но если некоторые небольшие тормоза платформы можно избежать негеморным способом то зачем намерено их оставлять?)

Мерлин
12.10.2018
15:13:16

Foxcool
12.10.2018
15:13:30
потом что оптимизация не должна быть преждевременной и не должна создавать проблемы для разработки и поддержки
условно, если это адовый хайлоад или генерация хеша в майнинге многкратная, то смысл есть. А если это просто сервис для какой-то херни, то время потреченное на оптимизацию - невозвратная издержка
если и без нее ок работает и нет претензий

Илья
12.10.2018
15:21:35


Max
12.10.2018
16:30:01
Народ подскажите пожалуйста а на go можно написать in-memory базу данных? У меня почему есть уверенность что все языки со сборщиком мусора не подходят для этого и go как язык с gc соотвественно тоже но хотелось бы уточнить. Для in-memory базы даннных важны минимальные задержки при сборке мусора а точнее даже чтобы эти задержки не зависели от количества объектов в памяти. Сейчас серверы могут иметь до 3 терабайт оперативной памяти (и еще больше терабайт если используется свап на быстрых nvme ssd дисках) и поскольку принцип работы сборщика мусора заключается в том чтобы просканировать все достижимые объекты с корня и очистить все остальные то только для сканирования 3 терабайт объектов потребуется несколько десятков секунд. Поэтому сразу возникает вопрос - умеет ли сборщик мусора в go работать инкрементально а не по принципу "stop the world" и насколько большие расходы в целом на gc в зависимости от количества объектов?

Michael
12.10.2018
16:31:47


Andrei
12.10.2018
16:32:05


anatolii
12.10.2018
16:36:57