
Mike
26.04.2017
17:49:53
то есть я вполне могу представить себе такую логику где-нибудь

Ivahaev
26.04.2017
17:51:40
Ну... может просто таймаут на операцию лока ставить? Дедлок фри, вроде бы, а на самом деле немного не честно получается.
В теории, вместо тебя могут другие мутекс лочить, хотя ты был первым на очереди.

m
26.04.2017
17:53:04
количество попыток для того, чтобы можно было повторить запрос на другой лок-сервер. У меня в планах срелать репликацию локов через Паксос. Тогда будет отказоустойчиво и удобно: всёравно к какому серверу из кластера делать запрос.

Google

m
26.04.2017
17:55:13
если мьютекс залочен, то в err придёт об этом ошибка. Если нужно повторить попытку, то это реализуется на клиенткой стороне. Ранее было на стороне сервера, но я пока решил отказаться от этого, ибо сильно усложняется общение между клиентом и сервером. А хочется "Do less? enable more" ?

Ivahaev
26.04.2017
17:55:44
Так лок-серверов несколько?

m
26.04.2017
17:55:46
т.е. да, отлуп сразу будет, если коротко. ?
пока один. а потом сделаю, чтобы было несколько.

Ivahaev
26.04.2017
17:57:11
Собственно, не понимаю, в чем разница, один это будет сервер, или несколько. Если сервер недоступен, то это ошибка. А то, что не можешь залочить мутекс – не очень похоже на ошибку. По-крайней мере, это поведение отличается от гошного.
Я примерил на себя, для своего проекта, такое поведение мне бы не подошло :)
Возможно, для кого-то именно так нужно будет.

m
26.04.2017
17:58:32
дедло фри, да, чреват тем, что надо обрабатывать ситуации, когда не смог лок поставить. Есть мысль прикрутить LockEach(keys), но надо крепко об этом подумать, ибо сие делает невозможным шардинг по ключу. А шардинг по ключу возможно важнее.

Mike
26.04.2017
18:00:11
а разве мысли о дедлоках не дело внешнего пользователя либы, а не самой либы? казалось бы, у тебя довольно простая задача в каком-то описательном смысле "научиться лочить по ключу распределенный мьютекс". а то, что клиент там себя загонит в дедлок какзалось бы его проблемы, не?


m
26.04.2017
18:00:33
На самом деле в Go если Issue, где просят сделать TryLock. Он элементарно пишется. В существующем коде Lock() в самоим первом if-е делается return. Т.е. кому-то трай-локи нужны...
убрать дедлок и сделать поведение как Го очень просто: в цикле лочить, пока не залочится.
на своём опыте убедился, что иногда надо лочить больше одного ключика. и не всегда выходит лочить в одной и той же последовательности, чтобы избежать дедлока.
Текущий API либы наверное шестой или пятый. ? Изначально хотелось всё сделать максимально простым , где всё само делается внутри, а программист не заморачивается деталями. В итоге оказалось, что правильне было бы написать низкоуровневую либу с максимумом настроек для гибкости , которая по минимому занималась аллокаций памяти и т.п.. А уже поверх неё городить простые и либы.

Google

m
26.04.2017
18:11:24
Зато получается принимать и отправлять 200 000 запросов в секунду. И есть задел для улучшения этой цифры.
Только сейчас до меня долшло, про какое такое вещание Мерль написал. ?

Мерлин
26.04.2017
18:19:32
http://golangshow.com/online/

Aleksey
27.04.2017
00:09:59
Друзья , такой вопрос, как лучше защищаться от sql injection??

Dmitriy
27.04.2017
00:49:37
Использовать prepare statement
А не хардкодить (форматить) параметры в sql-запрос

Aleksey
27.04.2017
00:53:21

Dmitriy
27.04.2017
00:54:31
Угу, тогда параметры безопасно встанут в запрос

Akmurat
27.04.2017
03:48:14
Привет я новичок в го хочется поработать в проэкте может кто пригласит?

Slava
27.04.2017
03:48:34
на гитхабе куча проектов

Akmurat
27.04.2017
03:49:53
Да там куча но я не нашел русскоязычную команду.

⠀
27.04.2017
03:51:33
Они могут притворяться

Aleksey
27.04.2017
03:54:33
Друзья , у вас приложение в продакшине крутится на localhost:9090 или туда название домена прописываете?

Slava
27.04.2017
03:58:43
сокет открывается на интерфейсе, не на домене

s3rj1k
27.04.2017
06:51:08
Ребят а подскажите какую то экзампловую реализацию restapi к мускулю

Andrew
27.04.2017
06:58:15

Мерлин
27.04.2017
06:58:33
Immutable vs Mutable Programming Performance in Golang | My Memory Sucks
https://mymemorysucks.wordpress.com/2017/04/27/immutable-vs-mutable-programming-performance-in-golang/

s3rj1k
27.04.2017
07:02:12

Alyona
27.04.2017
12:29:41
Привет! Можно сюда вакансии скидывать??

Anton
27.04.2017
12:30:59

Google

Anton
27.04.2017
12:31:25
только город укажите и вилку

Alyona
27.04.2017
12:39:05
Направление разработки индустриального интернета вещей ищет разработчиков Rust\Go.
Работа в офисе на м. Павелецкая.
Для опытных разработчиков з/п 200+ т.р.
Технические скилы:
• Отличные знания TCP/IP стека
• Отличные знания Go или Rust
• Опыт работы с high load системами
Будет огромным плюсом:
• Опыт построение приложений, которые держат сотни тысяч постоянных коннектов
• Опыт разработки стораджей или баз данных
• Понимание CAP
• Живые проекты на github
#вакансия #москва #backend #go #rust


Aleksandr
27.04.2017
12:39:55
#вакансия Ребята, привет. Очень-очень ищем golang-разработчика на крутой проект IIoT (Интернет вещей) на full-time в офис в Мск (м.Павелецкая).
Вы будете участвовать в:
- Разработке брокеров устройств
- Разработке внешних API
- Проектировании и разработке очередей сообщений
- Проектировании и разработке распределенных систем хранения Мы ждем человека с: -Отличными знаниями TCP/IP стека
-Отличными знаниями Go или Rust
-Опытом работы с high load системами - А еще с любовью к тестам и тягой к инструментированию кода) По зп вилке - от 160 000 до 200 000 руб.+ премии, оплата питания, оплачиваемые конференции и куча др. бонусов. Если интересна вакансия или есть вопросы - пишите в личку,рада буду ответить

Alexei
27.04.2017
12:53:15
Вчера, вроде, была последняя вакансия )))
Чего там у метро Павелецкая, гнездо high load?

Илья
27.04.2017
12:55:23
и iiot

Aleksandr
27.04.2017
12:55:53
бц-шки

Alyona
27.04.2017
13:01:05
Теперь эта вакансия у нас, присылайте резюме, расскажу всё и про гнездо high load =) alena@agency-21vek.ru

Мерлин
27.04.2017
13:01:35
Все пилят биндинги к графике для игр, и никто почти не делает физические 3D движки, хотя казалось бы, самое оно
https://github.com/g3n/engine

Alexei
27.04.2017
13:02:05
Не, ехать неудобно туда (на Павелецкую), с пересадками. И отпуск хочется провести не как в прошлый раз - бегая по собесам.

Semyon
27.04.2017
13:02:14
GC pause, всё вот это
го с реалтаймом ниоч так-то

Мерлин
27.04.2017
13:02:43

Semyon
27.04.2017
13:03:01
серверную это механику в смысле?

Мерлин
27.04.2017
13:03:03

Semyon
27.04.2017
13:03:04
ну в принципе ок
а вот клиентскую часть, где физика и рендеринг я бы не рискнул
движки все поголовно на крестах

Google

Semyon
27.04.2017
13:03:45
даже Юнити

Мерлин
27.04.2017
13:04:10

Alyona
27.04.2017
13:04:22

Alexei
27.04.2017
13:04:57

Alyona
27.04.2017
13:05:26
или по скайпу ? I_Ryabova21

Мерлин
27.04.2017
13:05:38
Avoiding Reflection (And Such) In Go
http://www.jerf.org/iri/post/2945

Eduard
27.04.2017
13:27:36

i
27.04.2017
13:38:37
Go не очень для более-менее сложных игр, в конечном итоге go будет использоваться как обёртка для C\C++ либ

Semyon
27.04.2017
13:40:41
libgdx, monogame
libGDX is a free and open-source[3] game-development application framework[2] written in the Java programming language with some C and C++ components for performance dependent code.
okay

Eduard
27.04.2017
13:41:21
okay
там лишь матрицы считались на С++, все остальное было на Java, Monogame кажись без вставок

i
27.04.2017
13:41:55

Eduard
27.04.2017
13:42:05

Semyon
27.04.2017
13:42:07
Для серверов-то оно нормально должно зайти
я как раз про рендеринг и движки физики

Eduard
27.04.2017
13:42:42

Мерлин
27.04.2017
13:43:47

Google

i
27.04.2017
13:44:06
Мне кажется, что minecraft хороший пример игры на java, всё тормозит, а сервер требует гигабайты оперативки (сам я не играл в него)

Vadim
27.04.2017
13:52:02

Semyon
27.04.2017
13:53:09
JMonkeyEngine
не, ну камон, я тоже знаю пример движка на хаскеле, но это не отменяет того, что большинство таки на плюсах написано

?FLERRY?
27.04.2017
16:25:49
Всем привет :)
Ребят, где можно почитать про организацию кода в go?

Илья
27.04.2017
16:28:30
привет, что именно почитать?
https://golang.org/doc/code.html

?FLERRY?
27.04.2017
16:29:01
О, спасибо :) Я чего-то и не обратил внимания на это...

Илья
27.04.2017
16:29:26
https://sefus.ru/little-go-book-4/

?FLERRY?
27.04.2017
16:29:48
?

Илья
27.04.2017
16:29:52
я вот сижу на gb, и мне норм :)
https://getgb.io/

?FLERRY?
27.04.2017
16:30:36
ух ты, еще одна новая штука. Типа maven/gradle чтоли?

Илья
27.04.2017
16:31:56
ну, не новая штука, появилась до реализации vendor в golang

?FLERRY?
27.04.2017
16:32:27
ну для меня новая

Илья
27.04.2017
16:34:04
https://www.reddit.com/r/golang/comments/3m6g0n/godep_or_gb/

?FLERRY?
27.04.2017
16:35:02
спасибо !