Size: a a a

2021 September 24
oleg_log
Скоро пройдут две крутые онлайн-лекции по Golang! 🔥

Golang. Хватить говорить — пора кодить.
Тарас Серегин, Golang Lead
Самое время изучить Golang! Узнай о преимуществах этого языка программирования по сравнению с другими языками Backend’a и какое будущее у этого направления.

JWT-авторизация, особенности и best practices. Александр Бричак, Golang Developer
Эксперт расскажет о типичных задачах, которые приходится решать в проектах, и какие трудности могут возникать при использовании JWT. Разберем подходы к решению таких задач, как Logout, «Only one active device» и автоматический логаут, а также обсудим вопросы безопасности.

29 сентября | 18:00

Переходи по ссылке - https://youtu.be/DrBlI9RQAKU и ставь напоминание 🔔, чтобы не пропустить начало трансляции!
источник
oleg_log
Пришлось фиксить телегу родителям через AnyDesk, видите ли каким-то образом стартануло 2 телеги (апдейт?), но вместо того, чтобы одна уступила другой и передала фокус, как это обычно происходит, они начали ругаться из-за владения файлом лог.тхт.

Смешно и грустно одновременно. Смешно, что разрешение конфликта «кто тут главный» еще не запустилось, ведь логер стартует раньше. Грустно, что не всем родителям/пользователям кто-то может помочь.

(Завел бы ишью, но я уже в пижаме)(есть мелкий шанс, что я не так понял проблему, но решение было убить все процы и запусть, попытка перед этим удалить файл заканчивалась «айаай файл юзается процессом»)(винда если что)
источник
oleg_log
3 версию Кафки подвезли. Очень много изменений!

https://blogs.apache.org/kafka
источник
2021 September 25
oleg_log
источник
oleg_log
Люди добрыыыыыеееее, VictoriaMetrics  не хватает 57 звезд на гитхабе, нужно помочь)

https://github.com/VictoriaMetrics/VictoriaMetrics
источник
oleg_log
источник
2021 September 26
oleg_log
Ребят, это ж монитор для трейсинга микросервисов!
источник
oleg_log
Хороший и грустный доклад - весь код еще не написан и много что, к сожалению, написано. Ну и как всегда - 1й на рынке собирает все вершки, особенно когда бесплатно все дается. Эт тебе не ценой дампинговать, тут систему менять надо (с)

Наверное часть проблем специфична для фронта(и моб?), а может мне только показалось из-за масштабов коммюнити, а может из-за навыков участников, но правила и мысли общие для всех.

Мысли оч здравые, советую всем. Хотя хочется верить, что популярность == качество, но нужно время.

PS: берегитесь yak shaving только...
источник
oleg_log
источник
oleg_log
Эм...а чем первые 6 вариантов не устроили? 👀

UPD: https://sarunw.com/posts/different-ways-to-pass-closure-as-argument/ (почти не читал бтв)
источник
2021 September 27
oleg_log
О, да, меня тоже таким засыпают

For the past weeks I've been receiving emails that are pretty obviously spam. Here's one I just got:
sender: Динасий Колпаков <kolpakovdinasij@gmail.com> subject: Q7425 7235 F0 8741 (empty body)

They all have similar formats, with a .htm attached file with ridiculous names like "Elon secret invitation" or "how to get free bitcoin".

They are all look like 90's era spam. Yet not only aren't they caught in the spam filter, they arrive to my main inbox, they aren't even classified as promotions or anything.

I can also see a long CC list, since it's not hidden.

Are any of you also having a similar problem?


https://news.ycombinator.com/item?id=28635313
источник
oleg_log
источник
oleg_log
Такие дела, 5го октября залетайте https://twitter.com/techpora/status/1442479527364550658/photo/1

https://techpora.live/G-bd9888dc49b04262aff7b9734895bd6a

ЗЫ надо мне более веселую должность в след раз указать
источник
2021 September 28
oleg_log
Почитываешь так коменты на ХН или твиттере и не раз встречаешь "ну я пришел в фирму, там все плохо было, переписал на баш в 1 скрипт и на ноуте стало работать лучше,чем на сервере" (это одно из самых популярных, но смысл понятен)(кстати, может это 1 и тот же человек под разными профилями?).

И вот, блин, всегда хочется посмотреть, что же там за такая задача была и как она была раздута. Хз, это только мне повезло не видеть такие вырожденные примеры или это все же пустословие.

Хм, вот когда это начал писать, вспомнил 1 случай. Была типа с тысячами ядер в Mesos, они были самыми жирными во всем кластере, и ядра были забиты под 70-80%, вот только трафика там было смешные пару тыщ рпс. Спасибо N+1 запросам и десяткам тыщ строк кода ненависти. (там вроде их пофиксили и в 2-3 раза порезали объемы)

У вас были такие РЕАЛЬНО вырожденные случаи неоптимальности? Или просто каждый хочет себе в ачивки такую статью? https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html
источник
oleg_log
Minimize critical section 👌

https://t.me/experimentalchill/122
Telegram
Experimental chill
Почти всегда в многопоточном коде нужны mutex'ы, и я достаточно часто видел во всех языках без исключения код который берёт лок у модифицированной хэштаблицы. Наверное, не стоит объяснять, что такое нужно достаточно часто

Псевдокод:

class LockedHashTable {
public:
 Optional<Value> Find(const Key& k) {
   MutexLock lock(mu_);
   return map_.find(k);
 }

 void Insert(const Key& k, const Value& v) {
   MutexLock lock(mu_);
   return map_.insert(k, v);
 }
 
private:
 Mutex mu_;
 HashMap map_;
};

От лока не избавиться, так как есть две параллельные операции, одна из которых это запись.

В хэш таблицах всегда вычисляется хэш ключа при добавлении и при поиске. В итоге вычисляется хэш, потом идёт поиск или вставка, во втором случае контейнер меняется.

Погодите-ка, а весь вычисление хэша никак не связано с изменениями контейнера, зачем его то под лок брать? В итоге если есть две операции с ключами key1, key2, то будет

hash key1
find key1
hash key2
find key2

или

hash key2
find key2
hash key1
find key1…
источник
oleg_log
Сильное Rust продолжение не заставило себя ждать

https://t.me/dereference_pointer_there/2295 (там 3 поста подряд)
Telegram
Блог*
#prog #rust

Тут Даня рассказывает о том, как можно уменьшить время на критические секции с мапой в многопоточном контексте, расчитывая хэш для поиска ключа заранее. Бенчмарк, который он сделал, показывает, что CPU time от подобных манипуляций остаётся практически то же, а вот wall time становится меньше, что в итоге уменьшает задержку (в смысле latency). Советую почитать, пост неплохой.

Но я несколько отвлёкся. В том же посте Даниил сокрушается, что подобная операция (поиск при помощи хэша) есть в коллекциях Abseil, но не в различных стандартных библиотеках языков, в том числе C++ и Rust. И вот тут Даня не совсем прав.

У HashMap из стандартной библиотеки Rust есть методы raw_entry{, mut}, которые предоставляют API для низкоуровневого манипулирования мапой, в том числе и поиск при помощи предвычисленного хэша. Единственная проблема заключаются в том, что эти методы... Ещё не стабилизированы. И, насколько я могу понять по обсуждениям в tracking issue, сейчас там обсуждается вопрос, должно ли это API вообще существовать…
источник
oleg_log
Воу...

Cloudflare R2 Storage includes full S3 API compatibility, working with existing tools and applications as built.

https://blog.cloudflare.com/introducing-r2-object-storage/
источник
2021 September 29
oleg_log
💥Boom!  Встречайте виртуальную AWS Tech Conference от AWS User Group Ukraine!

В программе конференции:
— 6 хайлоад докладов
— 6 воркшопов с тренерами AWS
— Ask an Expert з AWS
— 1500 участников онлайн
— призы за лучшие вопросы

Спикеры — команда AWS с разных уголков мира, поэтому доклады будут на украинском, русском и английском языках.

Суперинтересно будет backend разработчикам и DevOps.

📍 Где и когда: 19 октября с 10:00 до  17:00, онлайн.
Участие бесплатное по предварительной регистрации: https://bit.ly/3zChxDl

Присоединяйся к конференции, чтобы стать pro в работе с AWS!
источник
oleg_log
В апреле я написал пост о том, как сделать из Sublime Text почти что iA Writer (Building an ultimate writing machine from Sublime Text).

Понятно, что тема нишевая, и я буду рад, если хотя бы десятку людей хоть какая-то часть этого сетапа пригодится. Нет, я пользуюсь каждый день, каждый пост сюда так написан. Но «продать» эту идею шансов почти нет — в конце концов, кто из программистов много пишет?

Ну и вот, в реплаи в твиттер пришел какой-то хуй (перечеркнуто) noname и написал, буквально, «HERE LOOK, I MADE A LIST OF PEOLPE WHO CARE:». Типа, всем похуй.

Но забавно и то, что в те же самые реплаи в тот же день пришел основатель Roam Research, попытался воспроизвести сетап в своем продукте, слово за слово, познакомились, подружились, и вот сегодня уже две недели, как я вышел к ним на работу, с зарплатой в 1,5 раза больше чем в JetBrains и карт-бланшем делать десктопную версию на Кложе. А как все невинно начиналась, нарисовал темку для Саблайма.

Мораль, наверное, такая, что делай что нужно и будь что будет, предугадывать, как что тебе аукнется — дело бесполезное (например, еще одна история, я как-то похвалил Notion в Grumpy (да, похвалил) и на следующий день уже разговаривал с CEO Pitch — казалось бы, какая связь), а доказать что-то проходившему мимо мудаку, которого ты никогда в жизни не видел и не увидишь — главный мотиватор карьерного роста.

Так и живем.
источник
oleg_log
Ах да, JWT любимое, я тут v4 заканчиваю, кому не лень, гляньте ПР :) адекватный фидбек приветствуется (в лс тоже можно). Там одного теста для ParseClaims не хватает только.

https://github.com/cristalhq/jwt/pull/118 #hq
источник