Eugene
товарищи, посоветуйте книгу или курсы про алгоритмы на русском языке.
https://www.youtube.com/watch?v=zxGMojoTVqk&list=PLrCZzMib1e9rvDqeX2jRXrEWoTqUxrqUA
V
изучение алгоритмов - очень интересное занятие, развивает ум и дает практические задачи для повышения навыка кодирования на каком-либо языке
Bald
я вот каждый раз читаю про бинарные операции, про двоичную систему и забываю сразу. Не использую потому что
а мне пришлось бинарный протокол делать для дептранса, это было даже прикольно
🏁Александр
пирожок знаете где? 🙂 Что мешает почитать это по необходимости
Bald
они азимут движения в 9 бит запихали. Э - экономия
🏁Александр
если ты не тупая не обучаемая пробка, быстро всосешь
V
есть такое желание у некоторых людей, называется саморазвитие
Daniel
товарищи, посоветуйте книгу или курсы про алгоритмы на русском языке.
https://www.ozon.ru/context/detail/id/6146670/ после нее, конечно, хорошо бы почитать что-то, что разъяснит, как это все ложится на многоядерный процессор, его кеш, блок предсказания ветвлений и барьеры памяти. но именно такой книги я не знаю :(
Anonymous
пирожок знаете где? 🙂 Что мешает почитать это по необходимости
пирожок в том что для того, чтобы сидеть и ждать своего часа этой необходимости, которая может быть никогда и не наступит, тебя про это на собесе любой плешивый тимлид спросит
heavycharged
я почти не пишу алгоритмами, в основном всякие CRUDы, но с удовольствием почитываю за алгоритмы, и прочее.
Daniel
а потом вы вместе за руки пойдете писать парсеры за еду? 🙂
иногда имеет смысл перестать отстаивать свою точку зрения, даже если не удалось достигнуть подавляющего преймущества. просто потому, что задолбать всех - тоже плохо. ы?
Anonymous
а потом вы вместе за руки пойдете писать парсеры за еду? 🙂
да со мной так и было уже в одной компании. Руководитель, спрашивая за эти вот алгоритмы, думает что он именно таким образом найдёт того, кто решит все его проблемы. Хотя для меня это очевидно бред полный. Нужно искать человека с опытом по твоим технологиям, по каким-то фреймворкам, по достижению конкретных задач.
🏁Александр
для меня только 1 критерий для изучения чего либо, даст ли это +X денег к окладу или нет. И сколько времени нужно на этот X, и можно ли быстрее по другому
Daniel
тогда пройдите в JS-еры. там каждый новый фреймворк приносит плюс к окладу
doc
Daniel
[:|||:]
V
человек не только должен уметь бизнес-задачи решать, но и в команду влиться. по ответам на такие вопросы и знаниям становится понятно насколько уживется данный товарищ
🏁Александр
(нет)
V
еще как, я вот вас послушал и понял, что мы бы не сработались
Мерль
Математику уже затем учить надо, что она ум в порядок приводит
🏁Александр
я вспоминаю одного фронтендера, он все угрожал менеджеру физической рассправой (встретить после работы) 🙂
🏁Александр
но это не отменяет его профессионализма
heavycharged
просто кто-то материалист, и забил на развитие. если будут платить за хелло-ворлды, будет писать хелло-ворлды.
Daniel
ну не. мы это делаем за деньги, в основном. просто денег, как ни странно, бывает достаточно, чтобы уже не нырять в каждую встречную выгребную яму
Alexandr
Пока умные головы тут собрались, подскажите, плиз. Как лучше организовать такую вещь: Есть данные которые должны переодически обновляться из редис. Эти данные используются в разных местах(только чтение) и обновляться будут через метод update. Ну как хранить эту структуру? переменную пакета? Сейчас я сделал так, https://play.golang.org/p/2h3Fuh8GsuG
heavycharged
у меня деньги вторичны. первое - это кайф от работы. а кайф от работы, это наверное узнавать новое, знать больше, делать крутые вещи.
Alexandr
а где читатель?
читатель будет в этом же пакете в разных местах, а может и не в этом пакете
Alexandr
явного обращения к структуре из другого пакета не будет
Daniel
а я хочу увидеть, будет ли в нем взятие лока
Daniel
и, если будет, то какое
Alexandr
на чтение лока не будет, лок на записи только
Alexandr
хотя если подумать, то лок нужен, ну тогда RWLock()
Anonymous
спасибо почитаю.
Alexandr
имано. а большой ли массив?
массив не большой, около 20 элементов, в будущем может вырасти до 100 макс
Daniel
тогда я предложил бы сделать так: в atomic.Value положить указатель на массив, и подменять его в апдейтере.
Daniel
ага
Alexandr
ага
чтоб избавиться от mutex ?
Daniel
ага
Alexandr
ага
спасибо!
Daniel
атомик в этом варианте (один редкий писатель, много читателей) будет существенно быстрее
Daniel
и, главное, никакакой очереди читателей, пока апдейтер новые данные готовит
Мерль
Daniel
какая такая потеря данных?!
Мерль
какая такая потеря данных?!
Если две горутины одновременно попробуют подменить массив в атомик, то часть апдейтов может быть потеряна
Мерль
Но, скажем так, в данном конкретном случае, если я правильно понимаю, вполне может подойти
Daniel
это вообще работает только если апдейтер один, конечно
Daniel
но тут-то он один
Oleg
всем привет, кто может подсказать, какие есть основные юзкейсы Gosched? возможно я не совсем понял принцип работы, и всё очень очевидно, но в любом случае, буду благодарен за объяснения)
Daniel
в одном-единственном случае его имеет смысл применять - когда ваша горутина крутит вычисления долго, и не вызывает ни внешних функций, ни ввода-вывода. тогда, для улучшения распределения процессорного времени между горутинами, имеет смысл в каком-нибудь из циклов звать Gosched
Daniel
когда ей шедулер управление вернет - тогда и продолжает
Oleg
когда ей шедулер управление вернет - тогда и продолжает
Получается она попадает снова в очередь горутин на выполнение, и уже потом шедулер передает ей управление, верно?
Danila
Можно ли на go писать модули для python?
Stanislav
можно, но не нужно
კაცი
Danila
Roman
там хоть синтаксис отличается, а то все одно и то же
ainu
По моему, в нашем стане предатель
Dmitry
пздц, как будто пользователь будет на твой код смотреть
Anonymous
О, меня просили написать баббл сорт в стартапе. Сказали нет, что у него О(n^2). Полезли гуглить, удивились и сказали круто! Денег все равно не дали, только опцион) Ну, они и умерли через пару месяцев))
Антон
Ах да, это ж Go, тут не парсер-комбинаторов
Антон
Можно ли на go писать модули для python?
Можно, но не нужно. Модули для Питона пишут тогда, когда скорости нативного Питона не хватает. А Go мало того, что не самый быстрый, так ещё и функции с сишным ABI вызывает с большим оверхедом, плюс сами эти функции будут на голых указателях, что делает сборщик мусора не особо полезным
Daniel
go довольно быстрый, если с питоном сравнивать
Daniel
но лучше не модули писать, а сервисы
Антон
но лучше не модули писать, а сервисы
Щас данные не по шине, а по сети гонять
Daniel
а вам бы все монолиты пилить...
Антон
"Вам" — это кому?
Daniel
тем, кто данные по сети гонять не хочет
Anonymous
Подскажите, пожалуста, по sql. У меня есть таблица, в которой есть столбцы id и user. Когда я делаю запрос: c.db.QueryRow("SELECT id FROM users WHERE user = 'first'"), мне возвращается ErrNoRows. Но когда я в том же запросе пишу user в кавычках, то я получаю правильный результат: c.db.QueryRow(SELECT id FROM users WHERE "user" = 'first') Почему название столбца нужно брать в кавычки, ведь во всех примерах их пишут без кавычек? База Postgre
Daniel
скорее всего, дело не в кавычках