aadz
ну вот... уже слова старику сказать нельзя... Молодые тут все, злые какие-то... Вот уйду я от вас :)
Anonymous
У меня кстати тоже недавно была утечка горутин
Daniil
да просто ассемблер то причем тут
aadz
да просто ассемблер то причем тут
Да я уже сто лет на нем ничего не делал. Но если уж так приперло поработать с памятью - лучше ассемблера хуже нет, как говорится. :) Это точно!
Daniil
разговор то не об этом
Daniil
aadz
А если не так сильно приперло - Go хороший язык, так мне кажется.
Daniil
а кто что-то плохое про го сказал?
Anonymous
Здесь нельзя говорить плохо о Go!
Daniil
ну мб, хорошо
Daniil
извини если обидел
aadz
А вобще, нельзя говорить плохо о Go - это плохая идея. Надо говорить похо о Go, если, действительно, есть что сказать!
Slava
всё уже сказано
aadz
Обязательно надо! И тут два варианта: или тебе объяснят что-то недопонятое, или, может быть, и правда ничего идеального в мире не существует и надо уметь правиьно выбирать инструменты...
Slava
http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/
aadz
Слава, я читал. И, кажется, твой перевод был на хабре? Как-то не вполне сторго и убедительно.
Slava
нет, не мой =)
aadz
Тут вот вчера запостили: https://github.com/Konstantin8105/Effective_Go_RU
aadz
Переводчику, конечно, респект, но редактура нужна явно! Не такой хороший текст получился, как в оригинале
Vladimir
Необходимость перевода технической литературы вообще весьма сомнительна.
aadz
И вобще, с языком как-то чем даьше, тем больше косноязычия. Самый печальный вариант - публичные выступления на наших конференциях. Люди не только говорить не умеют, но даже, зная, что придется лезть перед камеру/микрофон, даже и учиться не хотят :(
Slava
ну хоть что-то говорят - это уже здорово, всё приходит с опытом
aadz
Да и пока сам переводишь, хоть поймешь, наконец, что там написано=то хотя бы :)
Andrey
в общем переводить полезно, читать чужой перевод сомнительно
aadz
Слава, надо как-то все равно на это внимание обращать. Если выступающий сподобился выступить, то пусть хотя бы нескоько вещей учтет:
Mike
aadz
1. Надо иметь что сказать.
2. Надо заранее снать план выступления, какие темы будут, в каком объеме, а каких не будет.
3. Заранее продумать, как ты преподнесешь то, о чем речь таки будет.
4. Научи ться слышать свое следующее слово до того, как ты его скажешь. Если следующее слово - это междометие "как бы" и ему подобные - лучше просто его не сказать, а набычась поглядеть в зал четверть секунды
5. Научиться не сидеть на шее у зала. Все вопросы типа "а кто знает, в какой версии ядра Linux появились CGroup" - это просто до свидания. Вышел выступать - выступай, а не еби людям моск
aadz
Ну, и куча других косяков... Все приходит с опытом. Жаль, что не у всех такого опыта пубичных выступлений достаточно
Slava
москва не сразу строилась =) надо же и интернам практиковаться на ком-то
aadz
Ну, пипл хавает пока что, так что никаких проблем. :) И есть прекрасные ораторы, не побоюсь этого слова. :) Это, в первую очередь те, кому есть таки что сказать, у кого глаза горят это донести. А полно и такого убожетва - мама не горюй. Хоть и специалист, вроде, и дело знает... Его что туда пистолетом загоняли выступать, блин???
aadz
Я это не про конференции Go, а вобще. Те же курсы лекций от Mail.RU или Яндекса. Бывает слушаешь минут 15-20 для начала что-то и просто физически страдаешь, как человеку плохо, так не надо было и лезть в это! А бывают просто суперские лекторы! Но сильно реже :(
Daniel
вообще-то, все 5 пунктов - чистое капитанство
aadz
Да!
Daniel
то есть, если человек не умеет этого - не надо бы ему - пока? - выступать
Daniel
другое дело, что как этому научиться, не выступая?
aadz
Почитаешь курсы по UNIX по две пары до обеда и две после хотя бы пару недель, еще и не так задембелюешь :)
Daniel
наших западных коллег этому учат прямо в школе
Daniel
а кого не в школе - того в универе
aadz
Меня никто не учил. Просто у меня был учебный план и было что сказать на каждой лекции. И я парился просто, чтобы это донести. А если этого нет, то, как бы, кому это вобще надо?
Daniel
ну вот у нас нет специально риторики ни в школе, ни в вузе.
aadz
И к лекциям готовился, особенно поначалу! Но то, что я вижу на ютюбе - это просто модой об забор иногда, даже если то под вывеской Яндекса или MRU идет
Daniel
то есть, ежели кто из наших это умеет - это просто талант, а талантов мало, как известно
aadz
Талант талантом, но если нет элеметарных речевых навыков - лучше, наверное, не надо. Хотя опять же, кто хочет выступить и есть о чем - почему нет? Если хочешь, то обычно и можешь, а опыт - дело наживное.
An7on
это от отношения к аудитории зависит - имхо достаточно прогнать раз перед зеркалом (дабы посмотреть как это выглядит со стороны)
An7on
если криво выглядит, то повторять пока не понравится, простой же алгоритм
aadz
А потом достаточно посмотреть запись на ютюбе и просто умолять их удалить это унылое гавно :(
Daniel
Daniel
но, повторюсь, это редкость
aadz
Перед зеркалом ничего не надо. Просто если есть план выступления, то уже заранее думаешь, что вот это я расскажу так... Потом думаешь, нет... половина поймет неправильно. Лучше так расскажу... В общем, муки творчества непосредственно в голове. А потом видишь аудиторию и уже как-то само начинает идти, потому что ты уже о разных методиках подачи материала дал себе труд подумать.
aadz
И свои выступления - тоже! Обычно когда свои - то ты и есть самый строгий зритель :)
An7on
это подразумевается (что глядя в зеркало ты сравниваешь себя с хорошими выступлениями)
aadz
Мы тут не о конкурсе мужской красоты еще? Я про косноязычие на наших конпутерных конференциях и курсах тут разоряюсь. Хотя, я может быть, что-то пропустил?
engelbart
А вообще , что посоветует, я б научился вытупать
aadz
aadz
Слава! Не упускай парня! Он выступить хочет!
engelbart
ну вот что пишут, выступать то сё.
Да не, я не в том смысле что есть доклад и хочу его точить, а в том что сатсо приходится даже вот перед коллегами, и чуствуешь что слабо доносишь
aadz
Ваня, вот, послушай хорошего лектора: https://www.youtube.com/watch?v=LcQXXhNT__I
aadz
Ж)))
aadz
Это вырезки, полностью лкция про Кложуру тоже там есть. Но это - просто чудо природы! :)))
engelbart
спасибо
aadz
обращайся :)
Kanybek
Приветствую товарищи, есть такой вопрос про база данных:
Работаю sqlx + postres, использую не http server, а grpc методы, но не суть.
Например в 1 секунду одновременно может прийти 50 запросов, но
у меня база глобальная, в main я его открыл, и держу в memory:
var db *sqlx.DB
func AccountFor(db *sqlx.DB)
и просто в каждый запрос передаю его в параметрах, так вот у меня крашит на транзакциях, как работать многопоточно с базой? Сильно гуглю, пока стоящее не нашел?
aadz
Делай одну транзакцию, если у тебя атомарные запросы и все такие запросы просто делай в ней . Эта транзакция будет идти через один connect. И, разумеется, счетчик времени, или количества атомарных запросов (по ситуации). Периодически ты должен говорить COMMIT
Kanybek
aadz
К сожалению, в библиотеке Go сделано все так, что подразумеваются только транзакции, на каждую он будет открывать новое подключение к базе.
Поправьте, если не прав, но я в это утыкался :(
Slava
в го есть пул коннектов
aadz
Пример кода - звучит слишком по-индийски
aadz
Слава, есть пул коннектов и размером даже можно рулить. Но библиотека думает, что любой запрос - это транзакция, а для нее надо открыть соединение с базой :(
Kanybek
Например как эту задачу я решил бы в Swift или Object-C, просто создаю global queue очередь только для database, и все операций по базе, кидаю в block в эту очередь: queue.async{}
aadz
Да! И я о том же. Кидаешь все атомарные запросы в функцию, которая умеет их слать, но при этом еще и делает это в одной транзакции с периодическим коммитом.
aadz
И эта функция, как можно понять. держит один коннект с базой.
aadz
Или я не понял, и ты о чем-то другом?
Kanybek
aadz
У меня нет готового примера
Anonymous
У sqlx вроде есть connection pool:
http://jmoiron.github.io/sqlx/#connectionPool
Anonymous
не оно?
aadz
По сути, я предлагаю тебе сделать на Go функцию, которая обрабатывает очередь запросов, как ты привык. Но она должна периодически говорить Commit