Victor
Читать книги о сетевом программировании?
Victor
Кому-то повезло и его учили о том, что такое сетевой стек в универе, правда
Sanity = nil
Читать книги о сетевом программировании?
Например, какие есть хорошие?
kostyaBro
😂
Victor
Чтобы не отвлекаться, на C, можно https://www.amazon.com/Network-Programming-Go-Adam-Woodbeck/dp/1718500882
Кіт ✙
Сети unix…
Sanity = nil
Таненбаум😩
Кіт ✙
Сети unix…
Прочитал только первые 100 страниц из около тысячи, но все равно советую всем
Victor
Но если там нет азов сетевого стека, то https://www.amazon.com/Computer-Networks-Principles-Technologies-Protocols/dp/0470869828
Victor
Не такая масштабная как Танненбаум но типа тоже каноническая
Victor
Скорее всего, надо издание посвежее
Vic
👣 Asynq Asynq – простая, надежная и эффективная очередь задач в Go Обзор работы Asynq: • Клиент ставит задачи в очередь • Сервер извлекает задачи из очередей и запускает рабочую рутину для каждой задачи • Задачи обрабатываются одновременно несколькими «обработчиками» Очереди задач используются в качестве механизма распределения работы между несколькими машинами. Работает с Redis. 🖥 GitHub #Go #Task #Queue @Golang_google
ого, прикольно 🤗 в своё время нашел эту либу, когда там было не больше 600 звездочек на гитхабе и активно общался с её автором – Кеном Хибино (чел работает в гугле, кстати) сразу катанул статейку с примерами работы и описанием (eng), сделал репу с примером, ну и логотипчик + материалы для репы оформил… всё по доброй традиции поддержки и популяризации годных опенсорс проектов по creative commons 😇 fyi, короч
kostyaBro
А что делать чтобы сервера писать?
Ну если серьезно, почитай модель OSI, протоколы взаимодействия tcp udp, какие есть типы данных при передаче и в чем их плюсы минусы xml json protobuf, прямая и обратная совместимость в этих типах данных, http2 в чём его прикол, обработка запрососов с фронта, в основном content type json но бывает и x-form-encoded. Как устроен http пакет. Ну и надо где-то хранить данные. Бд OLTP OLAP in-memory(fe Redis, mem cache). Углубляемся в OLTP, как работают индексы, какие есть уровени изоляции транзакций.
Абылхайыр
Это так не работает дружище
Абылхайыр
Если хочешь выучить
Абылхайыр
Выучи одну фразу ебошить*
kostyaBro
Есть вопросы архитектуры самого сервиса(clean architecture, DDD etc) и взаимодействия нескольких сервисов(микросервисная архитектура). Можешь тоже почитать, тут стоит знать разные мнения с разных сторон.
kostyaBro
Выучи одну фразу ебошить*
Окей. Корабль без цели приплывет никуда, держу вкурсе.
kostyaBro
Захочешь подкачаться, обращайся, скажу ебошить, жду грыжу через годик.
kostyaBro
Аналогично
Абылхайыр
Скорее корабль можно отнести к урокам гитары , качалке.
kostyaBro
Конечно да чтобы научиться писать сервера надо писать сервера, важное дополнение. Тут спорить не буду
Абылхайыр
Сноуборд программирование, рисование ебошить
kostyaBro
Сноуборд программирование🤔
Абылхайыр
Просто я лишь говорю свой случай, что нужно учить. Особенно я почувствовал когда перешел с пыхи
Абылхайыр
В пыхе умел оптимизировать строить с нуля, а тут бился об стену, потом просто начад пилить что нипоподя и начал понимать
kostyaBro
Бля чел спросил че учить. Я ему накидал основные топики. Одно дело как ты или я разбираться в куче неизведанного другое дело когда у тебя есть хоть какие-то ниточки которые дёргать.
Абылхайыр
Все учить)
Andrey
Все учить)
Жизни не хватит )
kostyaBro
Недавно видел что в одной из библиотек универа на К но вроде не Кембридж, хотя хз не помню, учат на MBA и у них там книг по бизнесу на 500+лет чтения. Вопрос, как без помощи найти м&мс среди говна? В нашей довольно молодой сфере все ещё не так плохо, ноооо опять же она более разнообразная.
kostyaBro
Я ж не говорил что "не нужно учить ничего, прочитай и умеешь писать сервера". Твой вброс неуместен. Возможно тебе просто не хочется иметь лишнего конкурента?))
Melbourne Channel
why golang doesnt hv uint24? can someone propose that?
Иван
And uint48 too!
Мирон
https://github.com/Sandertv/go-raknet/blob/46f8f9aa365efbf30b1cf45955ea2f51fab5d8fc/binary.go#L10
Мирон
но нахуя тебе этот тип вообще
Иван
Троллит
Не ну это
And uint48 too!
i want uint228...
Melbourne Channel
i want uint228...
Talking about uint228... I was wondering, blake3 collision, we know 32 bit is 4 billion possibilities, 256 I think is overkill. What u guys think of 228 bit security for file crash collision for blockchain etc? Any opinion on this? I using 254 bit and not 256 bit and use the 2 bit extra as token header. What do guys think?
Не ну это
эх, чел не выкупает, ну лан.....
Мирон
https://github.com/MichaelMitchellM/BigNumber/blob/master/uint2048.cpp
Мирон
xd
Vladislav
Иван
Это сколько знаков то
Артем
Господа, вопрос по поводу логирования. На сколько адекватно хранить в логах тело запроса?
Andrei
Вроде как это очень плохая идея, но мы по крайне мере хранили тело неудачного запроса, когда все умирало
Артем
Идеальный сценарий для атаки на исчерпание ресурсов
Да вот я понимаю душой, что это как то ваще не правильно, но в тоже время как грамотно отследить что не так пошло
Юра (Юрий Александрович)
Господа, вопрос по поводу логирования. На сколько адекватно хранить в логах тело запроса?
Зависит от того, что вы будете делать дальше. Например можно каким-то дополнительным сервисом периодически обрабатывать логи, удаляя тела успешных запросов, оперативно высвобождая дисковое пространство. Но зато получаем доп. нагрузку на сервер.
Иван
можно такое включать для опредленный запросов для трассировки
kostyaBro
Ну вот да, посути хранишь трассировку какое нибудь время неделю например
Null
👣 Как сделать программу на Go быстрее на 42%, изменив один символ Если вы прочитали заголовок и подумали «ну, ты, наверно, сделал сначала что-то глупое», то вы правы! Но что такое программирование, как не упражнения в глупых ошибках? Поиск глупых ошибок — это и есть самое большое удовольствие! Также стоит заранее сделать оговорку о бенчмаркинге: ускорение на 42% было замерено при выполнении программы с моими данными и на моём компьютере, поэтому относитесь к этому результату с долей скепсиса. ➡️ Читать дальше @Golang_google
Не ну это
Хотя да, инициализация внутри цикла прям скребет по сердцу
Не ну это
Яб на месте разрабов гошки уже накрутил бы на циклы при компиле такой же трахатель как при "init var but not used"
Evgeny
Хотя да, инициализация внутри цикла прям скребет по сердцу
а компилятор разве не оптимизирует такое сам?
Vladimir
Можно было изменить два символа go -> js
Не скомпилируется из-за ошибки. Нужно исправить js -> go
Emin Zalaev
Получется компиль в go не особо умный если не может переменную оптимизировать
Да и сам все ошибки в коде исправить не может, компилятор вообще тупой походу
Sanity = nil
парни как мне сделать так чтобы докер сеть была доступна с компа локально?
Maks
парни как мне сделать так чтобы докер сеть была доступна с компа локально?
А что ты хочешь? На винде или в линуксе? Вообще надо просто наружу порт прокинуть. Но на линуксе можно вообще сделать так что бы докер был как хост и имел доступ к другим контейнерам без прокидывания сетей. Или через сварм в других системах
Sanity = nil
в линухе офк
Sanity = nil
--net=host
у тебя есть на гитхабе проекты? интересно бы почекать
Maks
--net=host
Это смотря что нужно. Чаще то что ты написал - ошибка и так делатт не надо)
Andrey
у тебя есть на гитхабе проекты? интересно бы почекать
Неа, проектов нет. Все делаю на работе
Maks
Докер же нато и докер что он сам в себе крутится. Если надо в него достучаться - порт наружу. Если надо связать контейнеры - свяжи сетки новой подсетью
heleg
Привет, народ. Мне нужно go выучить за 15 минут. Подскажите, пожалуйста, что такое контекст. В частности, я пытаюсь заюзать bun
heleg
https://pkg.go.dev/context и я пришёл к этой страничке. Так где изначально получается контекст?
heleg
При условии, что я пишу на fiber