English for Developers - канал для тех, кто хочет учить технический английский. От создатателей популярного ит-канала Data analysis.
1. техническая лексика
2. опросы на английском
3. шутки на английском
Подписывайтесь, проходите опросы, читайте полезные прогерские фразы на английском: english_forprogrammers.
1 канал вместо тысячи учебников и курсов
1. техническая лексика
2. опросы на английском
3. шутки на английском
Подписывайтесь, проходите опросы, читайте полезные прогерские фразы на английском: english_forprogrammers.
1 канал вместо тысячи учебников и курсов
✔️ chi
Подробный гайд по интеграции JWT-аутентификации в приложение на Go + chi с использованием chi jwtauth middleware.
⚙️ Github
🗒 Гайд
@Golang_google
Подробный гайд по интеграции JWT-аутентификации в приложение на Go + chi с использованием chi jwtauth middleware.
⚙️ Github
🗒 Гайд
@Golang_google
devdash – настраиваемая панель инструментов в терминале для отображения актуальных метрик в одном месте
⤷ Ссылка на проект
@Golang_google | #Interesting #Go
⤷ Ссылка на проект
@Golang_google | #Interesting #Go
💻 Создайте собственный линтер Go за 5 минут
Создание пользовательского линтера может быть отличным способом обеспечить соблюдение стандартов кодинга и обнаружить ошибки в коде. В этом руководстве мы будем использовать Sylver, чтобы создать собственный линтер Golang всего за несколько строк кода.
➡️ Читать дальше
@Golang_google
Создание пользовательского линтера может быть отличным способом обеспечить соблюдение стандартов кодинга и обнаружить ошибки в коде. В этом руководстве мы будем использовать Sylver, чтобы создать собственный линтер Golang всего за несколько строк кода.
➡️ Читать дальше
@Golang_google
✔️ Serverless Userpics
🚀 Generate avatars on the fly
🎨 100 avatars included from Craftwork.design (I'm not affiliated with them, just a fan)
🎨 Abstraction over Boring Avatars included as well.
✨ Tiny as fuck.
✨ Serverless. Configurable. Easily deployable.
⚙️ Github
@Golang_google
🚀 Generate avatars on the fly
🎨 100 avatars included from Craftwork.design (I'm not affiliated with them, just a fan)
🎨 Abstraction over Boring Avatars included as well.
✨ Tiny as fuck.
✨ Serverless. Configurable. Easily deployable.
⚙️ Github
@Golang_google
GitHub
GitHub - DevClad-Inc/serverless-userpics: ⚡ Instantly get user avatars via 1 API call. Ready to use. 100 artsy avatars included.…
⚡ Instantly get user avatars via 1 API call. Ready to use. 100 artsy avatars included. Made open-source by DevClad. - GitHub - DevClad-Inc/serverless-userpics: ⚡ Instantly get user avatars via 1 A...
Golang-дайджест № 21 (1 – 30 сентября 2022)
Новости, события
- Выпущены версии 1.19.1 и 1.18.6
- Второстепенные выпуски версий 1.19.2 и 1.18.7 предварительно объявлены на 4 октября
- GopherCon Europe 2022
- GopherCon UK 2022
- Чистый код в Go
- Обсуждение обратной совместимости в Go
- Новый инструмент управления уязвимостями go:govulncheck
- Результаты Go Developer Survey 2022 Q2
- Планирование работы над криптографией Go 1.20
➡️ Читать дальше
@Golang_google
Новости, события
- Выпущены версии 1.19.1 и 1.18.6
- Второстепенные выпуски версий 1.19.2 и 1.18.7 предварительно объявлены на 4 октября
- GopherCon Europe 2022
- GopherCon UK 2022
- Чистый код в Go
- Обсуждение обратной совместимости в Go
- Новый инструмент управления уязвимостями go:govulncheck
- Результаты Go Developer Survey 2022 Q2
- Планирование работы над криптографией Go 1.20
➡️ Читать дальше
@Golang_google
В процессе знакомства с Go я нашел в документации пример:
func returnsError() error {
var p *MyError = nil
if bad() {
p = ErrBad
}
return p // Will always return a non-nil error.
}
После его просмотра меня заинтересовало, почему returnsError всегда будет возвращать не non-nil error?
Переменные в Go всегда инициализируются значением. Это относится и к интерфейсам. Стоит отметить, что интерфейсы реализованы в виде двух элементов: тип(T) и значение(V). Это достаточно поверхностное определение, которое чуть дальше мы разберем. Значение интерфейса будет nilтолько в том случае, если Vи T оба будут nil.
Есть интересный момент, а именно случай, когда V=nil, а T!=nil. В таком случае никакие проверки интерфейса на nil нам не помогут. А ведь именно этот сценарий и происходит в returnsError.
Мне стало интересно, как именно эти проверки проходят в Go.
type Word struct {
name string
priority uint
}
type Foo interface {
foo()
}
func (w *Word) foo() {
fmt.Println("call foo()")
}
func (w *Word) noFoo() {
fmt.Println("call noFoo()")
}
func call(f Foo) {
if f != nil {
f.foo()
} else {
fmt.Println("f null")
}
}
func main() {
var f1 *Word
call(f1)
}
➡️ Читать дальше
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Полезнейшая Подборка каналов
👣 Golang
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@Golang_google - go для разработчиков
@golangtests - тесты и задачи GO
@golangl - чат Golang
@GolangJobsit - вакансии и работа GO
@golang_jobsgo - чат вакансий
@golang_books - книги Golang
@golang_speak - обсуждение задач Go
🖥 Python
@pro_python_code – погружение в python
@python_job_interview – подготовка к Python собеседованию
@python_testit тесты на python
@pythonlbooks - книги Python
@Django_pythonl django
@python_djangojobs - работа Python
@python_django_work
🖥 Machine learning
@ai_machinelearning_big_data – все о машинном обучении
@data_analysis_ml – все о анализе данных.
@machinelearning_ru – машинное обучении на русском от новичка до профессионала.
@machinelearning_interview – подготовка к собеседования Data Science
@datascienceiot – бесплатные книги Machine learning
@ArtificialIntelligencedl – канал о искусственном интеллекте
@neural – все о нейронных сетях
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - работа ds, ml
@Machinelearning_Jobs
🖥 Java
@javatg - Java для програмистов
@javachats Java чат
@java_library - книги Java
@android_its Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
🖥 Javascript / front
@javascriptv - javascript изучение
@about_javascript - javascript продвинутый
@JavaScript_testit -тесты JS
@htmlcssjavas - web
@hashdev - web разработка
🖥 Linux
@linux_kal - чат kali linux
@linuxkalii - linux kali
@linux_read - книги linux
👷♂️ IT работа
@hr_itwork - ит-ваканнсии
🖥 SQL
@sqlhub - базы данных
@chat_sql - базы данных чат
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - язык программирования rust
@rust_chats - чат rust
#️⃣ c# c++
@csharp_ci - c# c++кодинг
@csharp_cplus чат
📓 Книги
@programming_books_it
@datascienceiot
@pythonlbooks
@golang_books
@frontendbooksit
@progersit
@linux_read
@java_library
@frontendbooksit
📢 English for coders
@english_forprogrammers - Английский для программистов
🖥 Github
@github_code
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@Golang_google - go для разработчиков
@golangtests - тесты и задачи GO
@golangl - чат Golang
@GolangJobsit - вакансии и работа GO
@golang_jobsgo - чат вакансий
@golang_books - книги Golang
@golang_speak - обсуждение задач Go
@pro_python_code – погружение в python
@python_job_interview – подготовка к Python собеседованию
@python_testit тесты на python
@pythonlbooks - книги Python
@Django_pythonl django
@python_djangojobs - работа Python
@python_django_work
@ai_machinelearning_big_data – все о машинном обучении
@data_analysis_ml – все о анализе данных.
@machinelearning_ru – машинное обучении на русском от новичка до профессионала.
@machinelearning_interview – подготовка к собеседования Data Science
@datascienceiot – бесплатные книги Machine learning
@ArtificialIntelligencedl – канал о искусственном интеллекте
@neural – все о нейронных сетях
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - работа ds, ml
@Machinelearning_Jobs
@javatg - Java для програмистов
@javachats Java чат
@java_library - книги Java
@android_its Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
@javascriptv - javascript изучение
@about_javascript - javascript продвинутый
@JavaScript_testit -тесты JS
@htmlcssjavas - web
@hashdev - web разработка
@linux_kal - чат kali linux
@linuxkalii - linux kali
@linux_read - книги linux
👷♂️ IT работа
@hr_itwork - ит-ваканнсии
@sqlhub - базы данных
@chat_sql - базы данных чат
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - язык программирования rust
@rust_chats - чат rust
#️⃣ c# c++
@csharp_ci - c# c++кодинг
@csharp_cplus чат
📓 Книги
@programming_books_it
@datascienceiot
@pythonlbooks
@golang_books
@frontendbooksit
@progersit
@linux_read
@java_library
@frontendbooksit
@english_forprogrammers - Английский для программистов
@github_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Непрерывно собирает ваши ветки git, такие как CI-сервер, чтобы вы могли начать работу с кодом прямо сейчас - больше не нужно ждать загрузок зависимостей и завершения сборки
@Golang_google | #Go #Automation
Please open Telegram to view this post
VIEW IN TELEGRAM
Fyne - это open-source библиотека для очень простого и быстрого создания кросс-платформенных приложений на Golang
Здесь можно вполне понять для чего нужен fyne, от себя могу сказать, что это очень простая библиотека для пользования, чтобы начать писать на ней программы с графическим интерфейсом не нужно никаких знаний
Можно глянуть одним глазком там довольно медленно и только совсем про базу рассказано, поэтому использовать можно как справочник, когда быстро набрасываешь свой первый интерфейс
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Писать SQL руками или использовать ORM — тема очень спорная, и я опишу, как использовать первый подход максимально эффективно. А какой из подходов выбрать, думаю, каждый сам для себя уже решил.
Я не буду описывать то, что уже описано в документации, речь пойдёт про использование встроенного пакета для работы с базами данных database/sql и надстройки над этим пакетом под названием sqlx. Также будет пара примеров для работы только с PostgreSQL.
Всё описанное ниже хорошо работает в большом проекте, в котором очень активно используется SQL, когда мест, где запускаются запросы, больше 100, к примеру.
Примеры кода можно посмотреть в репозитории. Этот код я написал специально для статьи, так что, возможно, допустил где-то ошибки. Но он очень похож на то, что используется у нас в проекте.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Как создать MVP бэкенда
Показываем, какой MVP бэкенда можно разработать для приложения по отслеживанию процессов в компании. В качестве языка использован Go.
Читать: «Как создать MVP бэкенда»
@Golang_google
Показываем, какой MVP бэкенда можно разработать для приложения по отслеживанию процессов в компании. В качестве языка использован Go.
Читать: «Как создать MVP бэкенда»
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Go4Fun - Functional programming and more
Go for Functional Programming?
Go is a powerful, fast, safe and simple language with some interesting distinctive features. And while Go is a multi-paradigm language, it was not designed to promote a functional-first programming model: the imperative style programming is by far th...
Симпатичный пакет печати Go (альтернатива fmt), минималистичный, без зависимостей!
go get -u github.com/zakaria-chahboun/cute@latest
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Fman быстрый файловый менеджер для терминала, написанный на GO
Имеет чистый интерфейс с подсветкой синтаксиса и поддержкой различных тем
$ go install github.com/nore-dev/fman@latest
#Interesting #Go #Terminal
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Ddosify - очень простой в использовании инструмент для нагрузочного тестирования веб ресурсов.
Поддерживает HTTP, HTTPS, HTTP/2 протоколы.
#go #golang #hack #pentest
@github_code
Please open Telegram to view this post
VIEW IN TELEGRAM
В эпоху мобильного Интернета масштабы бизнес-систем, которые непосредственно сталкиваются с C-пользователем, как правило, очень велики, и машинные ресурсы, потребляемые системой, также весьма значительны. Количество ядер ЦП и памяти, используемых системой, поглощают реальные деньги компании. Сведение к минимуму потребления ресурсов одним экземпляром службы без снижения уровня обслуживания, что обычно известно как «есть меньше травы и производить больше молока», всегда было целью операторов каждой компании, и некоторые компании могут сэкономить сотни тысяч долларов в год за счет сокращения количества используемых ядер процессора на 1%.
При одинаковом выборе языка программирования важно постоянно снижать потребление сервисных ресурсов. Более естественно и просто полагаться, с одной стороны, на разработчиков, которые будут постоянно совершенствовать производительность своего кода, а с другой — на компиляторов языка программирования, чтобы улучшить результаты с точки зрения оптимизации компиляции. Однако эти два аспекта также дополняют друг друга: если разработчики смогут более тщательно понять сценарии и инструменты оптимизации компилятора, они смогут написать более дружественный код для оптимизации компиляции и, таким образом, получить лучшие результаты оптимизации производительности.
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье мы рассмотрим создание API со следующим шагом реализации обратного прокси.
Мы будем использовать docker и docker-compose, поэтому я рекомендую сначала установить docker и docker-compose и убедиться, что вы можете запускать контейнеры.
➡️ Читать дальше
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM