Особенности структур в go

Методы на структурах в golang определяются на типе. И если мы объявим типизированную переменную, даже не проинициализировав её, методы будут работать корректно до тех пор, пока мы не попытаемся обратиться к полям ресивера. Вот пример; первые два вызова работают нормально, третий валится с паникой.

Хорошая книга по сетям

«High Performance Browser Networking by Ilya Grigorik»: Бумажная версия Хорошая онлайн-версия «HTTP/2: A New Excerpt from High Performance Browser Networking by Ilya Grigorik»: Электронная оффлайн-версия

SSL/TLS просто

Общие сведения о TLS Протокол TLS (transport layer security) основан на протоколе SSL (Secure Sockets Layer), изначально разработанном в Netscape для повышения безопасности электронной коммерции в Интернете. Протокол SSL был реализован на application-уровне, непосредственно над TCP (Transmission Control Protocol), что позволяет более высокоуровневым протоколам (таким как HTTP или протоколу электронной почты) работать без изменений. Если …

Read more

GO. Реализация бинарного дерева

https://appliedgo.net/bintree/

GO. Способ объединения кода в пакеты

https://medium.com/@benbjohnson/standard-package-layout-7cdbc8391fc1 Основные идеи: 1. Основные пакеты не зависят от других пакетов в приложении 2. Группировать подпакеты по зависимостям 3. Моки должны быть в отдельном подпакете для использования в подпакетах другого пакета 4. Основной пакет связывает все пакеты Зависимости от сторонних пакетов лучше обернуть с свои обёртки и использовать везде их. Самое интересное — их так …

Read more

PlantUML — плагин для Jetbrains IDEA для рисования UML диаграмм

PlantUML — плагин для Jetbrains IDEA для рисования UML диаграмм. У них есть сайт, хоть и странный — http://plantuml.com/. Сложные диаграммки рисовать очень неудобно, но простые делаются кодом навроде этого:

Диаграммы C4 model (c4model): https://c4model.com/ Level 1: A System Context diagram provides a starting point, showing how the software system in scope fits into the world …

Read more

Выбор совпадений подстрок в названиях

Был у меня список клиник, который забивали руками. Хотелось найти сетевые клиники путём поиска похожих названий, а именно — совпадений подстрок. Делал на go. Из-за скорости и наколеночности делал всё в одном файле, без тестов и код там не так чтобы хорош. Код здесь — https://github.com/bullgare/lzd_cllinics/blob/master/utils/parser/main.go#L312. Реализация не самая удачная, нет тестов, и всё в …

Read more

SRE на GO в Dropbox

Вячеслав Бахмутов from CodeFest https://youtu.be/EWsXbsUBm-M

Начальный курс по сетям

Computer networking course. https://youtu.be/jpcdAbZFap4?list=PLfgkuLYEOvGMWvHRgFAcjN_p3Nzbs1t1C

SSH key forwarding

Для начала нужно добавить ключ в агента

Затем подключаться к серверу с флагом -A: ssh -A server-url https://developer.github.com/guides/using-ssh-agent-forwarding/