Очередная практическая полезность от 4gophers. Сегодня ознакомимся с переведенной статьей под названием «Пишем свой BitTorrent клиент на Go»: https://4gophers.ru/articles/bittorrent/
TinyGo – это проект, который позволяет создавать приложения на языке Go для микроконтроллеров и современных веб-браузеров путем создания нового компилятора на основе LLVM.
Вы можете компилировать и запускать программы TinyGo на нескольких различных платах микроконтроллеров, таких как BBC micro: bit и Arduino Uno.
TinyGo также может быть использован для создания кода WebAssembly (WASM).
https://tinygo.org
https://github.com/tinygo-org/tinygo
Вы можете компилировать и запускать программы TinyGo на нескольких различных платах микроконтроллеров, таких как BBC micro: bit и Arduino Uno.
TinyGo также может быть использован для создания кода WebAssembly (WASM).
https://tinygo.org
https://github.com/tinygo-org/tinygo
microbit.org
Micro:bit Educational Foundation
The pocket-sized computer transforming the world
В данном плейлисте вы найдёте ответы на многие вопросы, связанные с написанием REST API на Go: https://m.youtube.com/playlist?list=PLehOyJfJkFkJ5m37b4oWh783yzVlHdnUH
Тема WebAssembly продолжает набирать обороты. Мы это явно видим, т.к. этот инструмент постоянно на слуху и появляются средства для упрощения работы с ним.
Встречайте экспериментальную библиотеку Vugu, предназначенную для создания веб-интерфейсов на Go + WebAssembly, которая работает в вашем браузере уже сегодня: https://github.com/vugu/vugu
Встречайте экспериментальную библиотеку Vugu, предназначенную для создания веб-интерфейсов на Go + WebAssembly, которая работает в вашем браузере уже сегодня: https://github.com/vugu/vugu
Разбираемся с разработкой генератора идентификаторов на Go
В статье речь идет не о простых идентификаторах пользователя, а об Identicon – это визуальное представление хеш-значения, служащее для идентификации пользователя компьютерной системы в виде аватара, защищая его конфиденциальность.
В статье речь идет не о простых идентификаторах пользователя, а об Identicon – это визуальное представление хеш-значения, служащее для идентификации пользователя компьютерной системы в виде аватара, защищая его конфиденциальность.
Bartfokker
Tutorial: Identicon generator in Go - Bart Fokker
How to build your own identicon generator using Go
#MoscowTravelHack
Такого ещё не было! Первый в России хакатон по созданию цифровых решений для туризма Moscow Travel Hack. Придумай новые продукты для путешественников и жителей города. Задачи на хакатон предложили 10 партнёров: «МегаФон», Facebook, PANORAMA 360, MTS Startup Hub, «Аэроэкспресс», Пушкинский музей, «Царицыно», Discover Moscow, «Город открытий» и Russpass.
В каждый трек пройдет по 5 команд. Среди призов — не только 100 000 рублей, но и возможность реализовать проект с партнёрами после хакатона. Придумывать решение заранее не обязательно! Подать заявку можно индивидуально или командой.
Успей до 28 января!
Подробности на сайте travelhack.moscow
Такого ещё не было! Первый в России хакатон по созданию цифровых решений для туризма Moscow Travel Hack. Придумай новые продукты для путешественников и жителей города. Задачи на хакатон предложили 10 партнёров: «МегаФон», Facebook, PANORAMA 360, MTS Startup Hub, «Аэроэкспресс», Пушкинский музей, «Царицыно», Discover Moscow, «Город открытий» и Russpass.
В каждый трек пройдет по 5 команд. Среди призов — не только 100 000 рублей, но и возможность реализовать проект с партнёрами после хакатона. Придумывать решение заранее не обязательно! Подать заявку можно индивидуально или командой.
Успей до 28 января!
Подробности на сайте travelhack.moscow
Замечательный теоретико-практический тур по языку Go
Последовательно, от простого к сложному, и все это присыпано практикой. В общем все как вы любите: https://tour.golang.org/list
Последовательно, от простого к сложному, и все это присыпано практикой. В общем все как вы любите: https://tour.golang.org/list
Теоретическая статья о том, как с минимальными изменениями исходных кодов проекта реализовать кэширование часто запрашиваемых данных.
Cинхронизация кэша через Redis для сервиса на Go: https://habr.com/ru/post/482704/
Cинхронизация кэша через Redis для сервиса на Go: https://habr.com/ru/post/482704/
GitHub
GitHub - redis/go-redis: Redis Go client
Redis Go client. Contribute to redis/go-redis development by creating an account on GitHub.
Автоматическая проверка безопасности исходных кодов Go-приложений
Инструмент Gosec позволяет проверять исходные коды ваших проектов на такие ошибки конфигурации или уязвимости, как: жестко закодированные учетные данные, привязка ко всем интерфейсам, построение SQL-запроса с использованием формата строки / объединения строк и многое другое. Инструмент позволяет гибко настраивать параметры запуска, автоматически выдавать номер и описание CWE (Common Weakness Enumeration).
https://github.com/securego/gosec
https://securego.io/
Инструмент Gosec позволяет проверять исходные коды ваших проектов на такие ошибки конфигурации или уязвимости, как: жестко закодированные учетные данные, привязка ко всем интерфейсам, построение SQL-запроса с использованием формата строки / объединения строк и многое другое. Инструмент позволяет гибко настраивать параметры запуска, автоматически выдавать номер и описание CWE (Common Weakness Enumeration).
https://github.com/securego/gosec
https://securego.io/
GitHub
GitHub - securego/gosec: Go security checker
Go security checker. Contribute to securego/gosec development by creating an account on GitHub.
Гайд по использованию веб-сокетов в Go, включая лучшие инструменты и пошаговое руководство
Взаимодействие клиента и сервера без обновления страницы – это то, что мы считаем само собой разумеющимся. Но в прошлом реализация такого функционала была настоящей проблемой для разработчиков, которые прошли долгий путь от длинных HTTP-опросов и AJAX и наконец нашли решение для создания приложений реального времени: https://yalantis.com/blog/how-to-build-websockets-in-go/
Взаимодействие клиента и сервера без обновления страницы – это то, что мы считаем само собой разумеющимся. Но в прошлом реализация такого функционала была настоящей проблемой для разработчиков, которые прошли долгий путь от длинных HTTP-опросов и AJAX и наконец нашли решение для создания приложений реального времени: https://yalantis.com/blog/how-to-build-websockets-in-go/
Yalantis
How to implement instant messaging with WebSockets in Go
Drive in the true real-time functionality to your app with WebSockets in Go. In out post, we explain what WebSockets are and how to add them to your app.
Вы покрываете код тестами, или вовсе используете подход TDD (разработка через тестирование)? В любом случае, познакомьтесь с качественным материалом по данной теме: https://medium.com/@gonzalo.molina1996/tdd-with-table-driven-test-in-go-3b1e6dc25c0b
Medium
TDD with Table-Driven Test in Go
One of the most important things developing software is the way of testing functionalities of the program and maintain clean and readable…
Опыт разработки: почему мы пишем инфраструктуру машинного обучения на Go, а не на Python
В статье вы ознакомитесь с мнением практикующего разработчика Cortex о преимуществах применения Go для инфраструктурных решений в ML-проектах и о том, как два языка могут дополнять друг друга.
https://proglib.io/sh/Wpcxn1lNsz
В статье вы ознакомитесь с мнением практикующего разработчика Cortex о преимуществах применения Go для инфраструктурных решений в ML-проектах и о том, как два языка могут дополнять друг друга.
https://proglib.io/sh/Wpcxn1lNsz
Библиотека программиста
Опыт разработки: почему мы пишем инфраструктуру машинного обучения на Go, а не на Python
Разработчик Cortex Калеб Кайзер делится соображениями о преимуществах применения Go для инфраструктурных решений в ML-проектах и о том, как два языка могут дополнять друг друга.
Чем заняться в воскресенье? Можно, например, прочитать статью в 2 частях и написать blockchain менее чем за 200 строк кода на Go:
https://habr.com/ru/post/347930/
https://habr.com/ru/post/348624/
https://habr.com/ru/post/347930/
https://habr.com/ru/post/348624/
Хабр
Написание blockchain менее чем за 200 строк кода на Go
Привет, Хабр! Представляю вашему вниманию перевод статьи "Code your own blockchain in less than 200 lines of Go!". Данный урок является хорошо адаптированным по...
IDE в браузере уже сегодня
Запускайте свои Go приложения прямо в браузере с помощью Go Playground, работающего на основе React и Monaco editor (использует движок VS Code). Поддерживается автодополнение кода, загрузка и сохранение файлов, WebAssembly и темная тема 🤟🌚 .
https://github.com/x1unix/go-playground
Запускайте свои Go приложения прямо в браузере с помощью Go Playground, работающего на основе React и Monaco editor (использует движок VS Code). Поддерживается автодополнение кода, загрузка и сохранение файлов, WebAssembly и темная тема 🤟🌚 .
https://github.com/x1unix/go-playground
GitHub
GitHub - x1unix/go-playground: Better Go Playground with autocompletion and syntax highlight
Better Go Playground with autocompletion and syntax highlight - x1unix/go-playground
ㅤ
Специально, для тех, кто ищет работу в сфере АйТи, был создан канал, где публикуют только качественные вакансии.
Больше не нужно бесконечно сёрфить в надежде найти что-то годное...всё уже собрано здесь!
Ссылка на канал с отборными вакансиями: https://t.me/joinchat/AAAAAFZEHKueTRHhpUEoww
Го сам и захвати друга 😉
Специально, для тех, кто ищет работу в сфере АйТи, был создан канал, где публикуют только качественные вакансии.
Больше не нужно бесконечно сёрфить в надежде найти что-то годное...всё уже собрано здесь!
Ссылка на канал с отборными вакансиями: https://t.me/joinchat/AAAAAFZEHKueTRHhpUEoww
Го сам и захвати друга 😉
Вчера был релиз v0.0.27 плагина govim, претерпевший достаточно много полезных модификаций. Не проходите мимо: https://github.com/govim/govim/releases/tag/v0.0.27
GitHub
Release v0.0.27 · govim/govim
Thanks to @leitzler, @cespare and @findleyr for contributing towards this release.
Breaking changes
cmd/govim: split config.FormatOnSaveGoImports into component parts (#721) 013f992
Major enhance...
Breaking changes
cmd/govim: split config.FormatOnSaveGoImports into component parts (#721) 013f992
Major enhance...
Возникала ли у вас задача, связанная с разработкой тестов для модуля, который взаимодействует с базой данных и при этом вам не хочется привязывать модуль тестов к настоящей базе данных. В основной поставке Go есть инструмент для таких нужд под названием «FakeDb».
Эмуляция работы базы данных в тестах с помощью FakeDb: https://habr.com/ru/post/485280/
Эмуляция работы базы данных в тестах с помощью FakeDb: https://habr.com/ru/post/485280/
Хабр
Go. FakeDb. Эмуляция работы БД в тестах
На днях писал тесты для модуля, который взаимодействует с базой данных. Привязывать модуль тестов к настоящей базе данных не хотелось — это создаёт дополнительны...
Инлайнинг defer
Эффективным способом справиться с ресурсами, которые должны быть освобождены независимо от того, какой путь функция принимает для возврата, является использование оператора defer. Знакомимся с переводом статьи «Инлайнинг defer» и применяем этот мощный оператор при разработке своих проектов: https://4gophers.ru/articles/defer/
Эффективным способом справиться с ресурсами, которые должны быть освобождены независимо от того, какой путь функция принимает для возврата, является использование оператора defer. Знакомимся с переводом статьи «Инлайнинг defer» и применяем этот мощный оператор при разработке своих проектов: https://4gophers.ru/articles/defer/
В статье приводится подборка из 10 источников для изучения Go, с упором на онлайн ресурсы: https://www.agiratech.com/learn-go-programming-tutorials/
database-driven-apps-with-go.pdf
582.2 KB
Пожалуй один из самых удачных материалов по работе с базами данных в Go