Forwarded from Код и Капуста
Ecoji 2.0 - тулза для кодирования данных в емоджи и обратно. Ну а почему нет?
Попробуйте как работает, есть время пока @sndkgram не запостил новую серию.
#golang
https://github.com/keith-turner/ecoji
Попробуйте как работает, есть время пока @sndkgram не запостил новую серию.
#golang
https://github.com/keith-turner/ecoji
Forwarded from Код и Капуста
Лучший #golang фреймворк - отсутствие фреймворка. Так считает автор статьи. А использование фреймворков - это создане монстра франкенштейна из подручных материалов.
https://threedots.tech/post/best-go-framework/
https://threedots.tech/post/best-go-framework/
Forwarded from Код и Капуста
Наткнулся на статью о использовании Server Sent Events(SSE) в shopify. Как то не заморачивался раньше этой технологией - есть веб-сокеты и точка. Но если нужны только события от сервера, то стоит присмотреться.
Статья от shopify про SSE сервер на #golang https://shopify.engineering/server-sent-events-data-streaming
Дока по SSE в браузере https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events
И пара статей по использованию SSE в #android
- один https://proandroiddev.com/unidirectional-server-client-communication-using-sse-in-android-79b825aa0670
- два https://medium.com/@manoel.al.amaro/understand-kotlin-flow-coroutines-by-implementing-server-side-sent-sse-9e190ff5f24f
Статья от shopify про SSE сервер на #golang https://shopify.engineering/server-sent-events-data-streaming
Дока по SSE в браузере https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events
И пара статей по использованию SSE в #android
- один https://proandroiddev.com/unidirectional-server-client-communication-using-sse-in-android-79b825aa0670
- два https://medium.com/@manoel.al.amaro/understand-kotlin-flow-coroutines-by-implementing-server-side-sent-sse-9e190ff5f24f
Forwarded from Код и Капуста
в #golang 1.20 появится возможность врапить несколько ошибок в одну. Может быть полезно для валидации в апишке, например.
https://lukas.zapletalovi.com/posts/2022/wrapping-multiple-errors/
https://lukas.zapletalovi.com/posts/2022/wrapping-multiple-errors/
Forwarded from Код и Капуста
Небольшой лайфхак как улучшить table tests в #golang
https://arslan.io/2022/12/04/functional-table-driven-tests-in-go/
https://arslan.io/2022/12/04/functional-table-driven-tests-in-go/
Forwarded from Код и Капуста
Детективная история про криворуких хакеров.
Все уже давно используют #golang для написания малвари. Удобный и простой язык. На нем написали KmsdBot - стильный и молодежный криптоботнет.
Но какой приличный хакер будет проверять ошибки ввода? Ошибки - это возможность.
Исследованием этого ботнета занимались ребята из akamai и они заметили, как боту пришла команда, которая его закрешила намертво. И что вы думаете? В этой команде просто забыли добавить пробел между хостом и портом. Такие дела.
Галя, у нас отмена!
Статья про креш https://www.akamai.com/blog/security-research/kmsdbot-part-two-crashing-a-botnet
И статья про сам ботнет https://www.akamai.com/blog/security-research/kmdsbot-the-attack-and-mine-malware
Все уже давно используют #golang для написания малвари. Удобный и простой язык. На нем написали KmsdBot - стильный и молодежный криптоботнет.
Но какой приличный хакер будет проверять ошибки ввода? Ошибки - это возможность.
Исследованием этого ботнета занимались ребята из akamai и они заметили, как боту пришла команда, которая его закрешила намертво. И что вы думаете? В этой команде просто забыли добавить пробел между хостом и портом. Такие дела.
Галя, у нас отмена!
Статья про креш https://www.akamai.com/blog/security-research/kmsdbot-part-two-crashing-a-botnet
И статья про сам ботнет https://www.akamai.com/blog/security-research/kmdsbot-the-attack-and-mine-malware
Forwarded from Код и Капуста
Статья “A Guide to the Terminal, Console, and Shell”
Прям исторический очерк про терминал, шел и все все все
https://thevaluable.dev/guide-terminal-shell-console/
Прям исторический очерк про терминал, шел и все все все
https://thevaluable.dev/guide-terminal-shell-console/
Forwarded from Код и Капуста
Авторизация для API через опу(Open Policy Agent) для #golang
“Go API authorization made simple”
https://medium.com/@mjoffre/go-api-authorization-made-simple-9ee65d23a2b3
“Go API authorization made simple”
https://medium.com/@mjoffre/go-api-authorization-made-simple-9ee65d23a2b3
Forwarded from Код и Капуста
Pushup - веб-фреймворк, который позволяет совмещать #golang код и html в одном файле
Когда упопролся и написал php на Go
https://pushup.adhoc.dev/
Когда упопролся и написал php на Go
https://pushup.adhoc.dev/
Forwarded from Код и Капуста
Игрушечный компилятор на #golang и llvm
Компилировать будем brainfuck. Golang тут будет работать как фронтенд для компилятора
https://ketansingh.me/posts/toy-compiler-with-llvm-and-go/
Компилировать будем brainfuck. Golang тут будет работать как фронтенд для компилятора
https://ketansingh.me/posts/toy-compiler-with-llvm-and-go/
Forwarded from Код и Капуста
conc - позиционирется как “better structured concurrency for go”
На первый взгляд, пакет поможет сократить кучу шаблонного кода
#golang
https://github.com/sourcegraph/conc
На первый взгляд, пакет поможет сократить кучу шаблонного кода
#golang
https://github.com/sourcegraph/conc
Forwarded from Код и Капуста
Пред рождественская лекция по алгоритмам от Кнута
Don Knuth - Twintrees, Baxter Permutations, and Floorplans
Посмотрите как дед деревья врашает
https://www.youtube.com/watch?v=zg6YRqT4Duo
Don Knuth - Twintrees, Baxter Permutations, and Floorplans
Посмотрите как дед деревья врашает
https://www.youtube.com/watch?v=zg6YRqT4Duo
Forwarded from Код и Капуста
#golang версия 1.20 уже не за горами. Смотрим что нового нас ждет
https://blog.carlmjohnson.net/post/2023/golang-120-language-changes/
https://blog.carlmjohnson.net/post/2023/golang-120-language-changes/
Forwarded from Код и Капуста
Forwarded from Код и Капуста
Статья про написание игрушечного редиса на #golang
В статье нет ничего нового, но всегда полезно освежить знания по работе с TCP
https://blog.pjam.me/posts/toy-redis-go/
В статье нет ничего нового, но всегда полезно освежить знания по работе с TCP
https://blog.pjam.me/posts/toy-redis-go/
Forwarded from Код и Капуста
Статья обмазана джаваскриптом, но посыл правильный - автоматизируйте все что можно. И автоматизация должна быть понятна даже дураку
Fake it until you automate it
https://understandlegacycode.com/blog/fake-it-until-you-automate-it/
Кстати, для себя нашел два инструмента для автоматизации рутинных задач в своих проектах:
Task - замена make но на yaml. У меня не сложилось с make, я его терпеть не могу. И task просто спасение https://taskfile.dev/
Sup - очень простой инструмент для деплоя, когда лень настраивать плейбуки ансибла https://pressly.github.io/sup/
И оба инструмента на #golang
Fake it until you automate it
https://understandlegacycode.com/blog/fake-it-until-you-automate-it/
Кстати, для себя нашел два инструмента для автоматизации рутинных задач в своих проектах:
Task - замена make но на yaml. У меня не сложилось с make, я его терпеть не могу. И task просто спасение https://taskfile.dev/
Sup - очень простой инструмент для деплоя, когда лень настраивать плейбуки ансибла https://pressly.github.io/sup/
И оба инструмента на #golang
Forwarded from Код и Капуста
Большущая статья про то, как нужно писать библиотеки на #golang
Обязательно к прочтению
https://abhinavg.net/2022/12/06/designing-go-libraries/
Обязательно к прочтению
https://abhinavg.net/2022/12/06/designing-go-libraries/
Forwarded from Код и Капуста
Вторая статья про новинки в #golang 1.20. Тут уже и про арены
https://blog.carlmjohnson.net/post/2023/golang-120-arenas-errors-responsecontroller/
https://blog.carlmjohnson.net/post/2023/golang-120-arenas-errors-responsecontroller/
Forwarded from Код и Капуста
GoReplay - тулза на #golang для дублирования реального трафика на тестовое окружение
https://github.com/buger/goreplay
https://github.com/buger/goreplay
Forwarded from Код и Капуста
Еще одна статья про дженерики в #golang. Самое время взять и разобраться
И сказать себе, что код
func ProcessCommands[T Calculator[T, V], V any](calc Calculator[T, V], commands ...Command[T, V]) Calculator[T, V] {
// ...
}
func ProcessCommands[T any, V any](calc Calculator[T, V], cast func(*T) Calculator[T, V], commands ...Command[V]) Calculator[T, V] {
// ...
}
это нормально
Ведь нормально, да?
https://habr.com/ru/post/709438/
И сказать себе, что код
func ProcessCommands[T Calculator[T, V], V any](calc Calculator[T, V], commands ...Command[T, V]) Calculator[T, V] {
// ...
}
func ProcessCommands[T any, V any](calc Calculator[T, V], cast func(*T) Calculator[T, V], commands ...Command[V]) Calculator[T, V] {
// ...
}
это нормально
Ведь нормально, да?
https://habr.com/ru/post/709438/