Особенности структур в 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 или протоколу электронной почты) работать без изменений. Если …
GO. Реализация бинарного дерева
https://appliedgo.net/bintree/
GO. Способ объединения кода в пакеты
https://medium.com/@benbjohnson/standard-package-layout-7cdbc8391fc1 Основные идеи: 1. Основные пакеты не зависят от других пакетов в приложении 2. Группировать подпакеты по зависимостям 3. Моки должны быть в отдельном подпакете для использования в подпакетах другого пакета 4. Основной пакет связывает все пакеты Зависимости от сторонних пакетов лучше обернуть с свои обёртки и использовать везде их. Самое интересное — их так …
PlantUML — плагин для Jetbrains IDEA для рисования UML диаграмм
PlantUML — плагин для Jetbrains IDEA для рисования UML диаграмм. У них есть сайт, хоть и странный — http://plantuml.com/. Сложные диаграммки рисовать очень неудобно, но простые делаются кодом навроде этого:
1 |
Bob->Alice : hello |
Диаграммы 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 …
Выбор совпадений подстрок в названиях
Был у меня список клиник, который забивали руками. Хотелось найти сетевые клиники путём поиска похожих названий, а именно — совпадений подстрок. Делал на go. Из-за скорости и наколеночности делал всё в одном файле, без тестов и код там не так чтобы хорош. Код здесь — https://github.com/bullgare/lzd_cllinics/blob/master/utils/parser/main.go#L312. Реализация не самая удачная, нет тестов, и всё в …
SRE на GO в Dropbox
Вячеслав Бахмутов from CodeFest https://youtu.be/EWsXbsUBm-M
Начальный курс по сетям
Computer networking course. https://youtu.be/jpcdAbZFap4?list=PLfgkuLYEOvGMWvHRgFAcjN_p3Nzbs1t1C
SSH key forwarding
Для начала нужно добавить ключ в агента
1 |
ssh-add path-to-your-key |
Затем подключаться к серверу с флагом -A: ssh -A server-url https://developer.github.com/guides/using-ssh-agent-forwarding/