💬 Расскажите в комментариях, какой паттерн проектирования вы использовали в своем последнем проекте и почему выбрали именно его? Были ли какие-то уникальные проблемы, которые решил этот паттерн?
#интерактив
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
🏃 Самоучитель по Go для начинающих. Часть 8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
Ранее в уроке про типы данных мы познакомились со строками, рунами и байтами. В этой статье расширим наши знания об этих типах, рассмотрим пакет strings и подробно изучим хеш-таблицы.
👉 Читать статью
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
Ранее в уроке про типы данных мы познакомились со строками, рунами и байтами. В этой статье расширим наши знания об этих типах, рассмотрим пакет strings и подробно изучим хеш-таблицы.
👉 Читать статью
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
👍7❤3🔥1
🔢 The Twelve-Factor App
🤩 Вы наверняка знаете про документ-методологию для создания SaaS-приложений от команды Heroku. В нем обобщается весь опыт использования и наблюдения за самыми разнообразными SaaS-приложениями в дикой природе.
📹 Как можно погрузиться в эту тему? Прочитать оригинал, перевод на русский или посмотреть видеогайд от канала defer panic, в котором разобран каждый из 12-ти пунктов.
⏱️ Таймкоды:
00:00 — Вступление
02:01 — №1. Кодовая база
04:50 — №2. Зависимости
07:04 — №3. Конфигурация
09:26 — №4. Внешние сервисы
10:40 — №5. Сборка, релиз и выполнение
13:02 — №6. Процессы без состояния
14:42 — №7. Привязка портов (port binding)
16:04 — №8. Конкурентность
17:10 — №9. Одноразовые и утилитарные процессы
19:54 — №10. Паритет окружений
23:40 — №11. Логи
25:32 — №12. Инструменты
⏱️ Таймкоды:
00:00 — Вступление
02:01 — №1. Кодовая база
04:50 — №2. Зависимости
07:04 — №3. Конфигурация
09:26 — №4. Внешние сервисы
10:40 — №5. Сборка, релиз и выполнение
13:02 — №6. Процессы без состояния
14:42 — №7. Привязка портов (port binding)
16:04 — №8. Конкурентность
17:10 — №9. Одноразовые и утилитарные процессы
19:54 — №10. Паритет окружений
23:40 — №11. Логи
25:32 — №12. Инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍1
👨💻 Cosplore3D: серия статей для тех, кто хочет разобраться с работой 3D-графики.
Cosplore3D — игра в жанре экшн и исследования космоса на Go + Ebitengine. Будут планеты, космические корабли, инопланетяне и т. д.
🕹 Wolfenstein 3D Raycaster
🕹 Fixing Raycasting
🕹 Creating a Storyline
🕹 Adding Enemies
🕹 Creating A HUD
🕹 Colors, Images, Graphics
🕹 Ankaran, Level 1
🕹 Killing Those Blobs
🕹 Not Walking Through Walls
🕹 You Can't See Through Walls
🕹 Creating A Level Editor
🕹 The Cosplorer, Level 2
🕹 All The Enemies
🕹 Enikoko, Level 3
🕹 Level 4, Schmeltool
🕹 Game -> Playable
🕹 Creating A Menu
🕹 Boss 1, The Beast
🕹 Boss 2, The Champion
🕹 Adding Sound Effects
Cosplore3D — игра в жанре экшн и исследования космоса на Go + Ebitengine. Будут планеты, космические корабли, инопланетяне и т. д.
🕹 Wolfenstein 3D Raycaster
🕹 Fixing Raycasting
🕹 Creating a Storyline
🕹 Adding Enemies
🕹 Creating A HUD
🕹 Colors, Images, Graphics
🕹 Ankaran, Level 1
🕹 Killing Those Blobs
🕹 Not Walking Through Walls
🕹 You Can't See Through Walls
🕹 Creating A Level Editor
🕹 The Cosplorer, Level 2
🕹 All The Enemies
🕹 Enikoko, Level 3
🕹 Level 4, Schmeltool
🕹 Game -> Playable
🕹 Creating A Menu
🕹 Boss 1, The Beast
🕹 Boss 2, The Champion
🕹 Adding Sound Effects
🔥8❤3
С помощью библиотеки вы можете сгенерировать случайные имена, адреса электронной почты, номера телефонов, названия должностей и т. д., или заполнить структуры с использованием аннотированных типов данных.
Недавно выпущенная версия 7.0 интегрирована с
math/rand/v2
из Go 1.22, что может упростить использование в некоторых кейсах.#перечитываястарое
Please open Telegram to view this post
VIEW IN TELEGRAM
👍44🔥5
go run
для запуска Go-кода как скриптов. Это хорошо работало до версии Go 1.22.🤯 Начиная с Go 1.22, вам нужно либо указать опцию командной строки "
-gcflags=-lang=go1.xx
", либо поместить "//go:build go1.xx
" в некоторые исходники, чтобы избежать непреднамеренное поведение.🔗 Источник
Please open Telegram to view this post
VIEW IN TELEGRAM
X (formerly Twitter)
Go 101 - a Golang knowledge base (@go100and1) on X
Many gophers like to use the "go run" command to run Go code as scripts. It works well before Go 1.22.
Since Go 1.22, you need either specify the "-gcflags=-lang=go1.xx" cli option or put "//go:build go1.xx" directive lines in some Go source files to avoid…
Since Go 1.22, you need either specify the "-gcflags=-lang=go1.xx" cli option or put "//go:build go1.xx" directive lines in some Go source files to avoid…
🌚23🥰5🥱5🤔3❤2
🏃 Самоучитель по Go для начинающих. Часть 9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
В этом уроке самоучителя подробно рассмотрим структуры, методы и интерфейсы в Go, уделим особое внимание их особенностям и применению. В заключение познакомимся с конструкциями type assertion и type switch.
👉 Читать гайд
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
В этом уроке самоучителя подробно рассмотрим структуры, методы и интерфейсы в Go, уделим особое внимание их особенностям и применению. В заключение познакомимся с конструкциями type assertion и type switch.
👉 Читать гайд
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
👍11
📌 Что вы узнаете из доклада?
☑️ Как работает Go изнутри?
☑️ Чем его принципы отличаются от других популярных языков?
☑️ Что нужно знать о работе компилятора, операционной системы и компьютера, чтобы пользоваться Go эффективно?
☑️ Как устроены горутины, и почему в языке есть несколько способов сделать одно и то же, когда речь идет о конкурентности?
🤷♂️ Да, докладу уже 4 года. Но это, как говорится, база.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Антон Сергеев, «Go под капотом»
Kolesa Go Meetup:
Доклад о том, как работает go изнутри, и чем его принципы отличаются от других популярных языков. Что нужно знать о работе компилятора, операционной системы и компьютера, чтобы пользоваться go эффективно. Также рассмотрим, как устроены…
Доклад о том, как работает go изнутри, и чем его принципы отличаются от других популярных языков. Что нужно знать о работе компилятора, операционной системы и компьютера, чтобы пользоваться go эффективно. Также рассмотрим, как устроены…
👍25🥱8❤2🤔1
⚡На Хабре появился перевод той самой статьи Мэта Райера о разработке HTTP-сервисов спустя 13 лет работы с Go👇
🔗 Читать
🔗 Читать
Telegram
Библиотека Go разработчика | Golang
🖼️ Разработка HTTP-сервисов спустя 13 лет работы с Go: подход Мэта Райера, техдира Grafana Labs в команде машинного обучения
Почти шесть лет назад Мэт написал пост на такую же тему, который стал вирусным и значительно повлиял на его взгляды относительно…
Почти шесть лет назад Мэт написал пост на такую же тему, который стал вирусным и значительно повлиял на его взгляды относительно…
🔥20👍4❤1😁1
☑️ ObjectBox проста в использовании благодаря интуитивно понятному встроенному API:
id, err := box.Put(&Person{ FirstName: "Joe", LastName: "Green" })
👉 Документация
👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
Release ObjectBox Go Database v1.8.0 · objectbox/objectbox-go
In-memory databases (provide a "directory" option like "memory:" + DB name)
Update objectbox-c to v0.21.0 with many improvements (details)
Fix leaking IDs with Box
Docs and pre...
Update objectbox-c to v0.21.0 with many improvements (details)
Fix leaking IDs with Box
Docs and pre...
👍18❤1🤩1
💬 Представьте ситуацию, что вы можете стабильно получать одинаковые деньги как в стартапе, так и в большой компании. Что бы вы выбрали?
🤩 — стартап, горящие глаза и вот это всё
👍 — большую компанию! Там можно быстрее набраться коммерческого опыта
🤔 — свой вариант (напишу в комментариях)
#холивар
🤩 — стартап, горящие глаза и вот это всё
👍 — большую компанию! Там можно быстрее набраться коммерческого опыта
🤔 — свой вариант (напишу в комментариях)
#холивар
👍149🤩74🥱8
🤔 Go enums — отстой
Хотя заголовок кажется кликбейтным, в Go действительно технически нет перечислений (enums), что автор статьи считает недостатком. Однако в Go есть ключевое слово
В статье поднимаются некоторые интересные моменты, касающиеся кейсов использования перечислений, того, как обходные пути раздражают больше, чем могли на самом деле, и предлагается использовать мапу для ассоциации перечислений со строковыми значениями и наоборот. Подход автора также включает методы для преобразования в JSON и обратно.
👉 Читать
Хотя заголовок кажется кликбейтным, в Go действительно технически нет перечислений (enums), что автор статьи считает недостатком. Однако в Go есть ключевое слово
iota
, которое представляет собой самоинкрементируемое целое число, позволяя создавать некую форму перечислений.В статье поднимаются некоторые интересные моменты, касающиеся кейсов использования перечислений, того, как обходные пути раздражают больше, чем могли на самом деле, и предлагается использовать мапу для ассоциации перечислений со строковыми значениями и наоборот. Подход автора также включает методы для преобразования в JSON и обратно.
👉 Читать
👍13❤1🔥1
http.ServeMux
от соавтора подкаста «Радио-Т» Umputun.🎧 Слушать про анонс инструмента (01:18:30-01:34:40)
👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍3⚡2😁1
🧠 Знания — сила! Что должен изучить каждый программист?
Мы запускаем опрос среди наших читателей, чтобы выяснить, какие ключевые компетенции необходимо развивать программисту на текущий момент. Какие направления стоит изучать в первую очередь? Уровень каких знаний влияет на зарплату в отрасли?
Мы проведем анализ ответов и составим ТОП-лист навыков, которые не помешают освоить каждому программисту и разработчику для успешного карьерного роста!
👉 Пройти опрос
Мы запускаем опрос среди наших читателей, чтобы выяснить, какие ключевые компетенции необходимо развивать программисту на текущий момент. Какие направления стоит изучать в первую очередь? Уровень каких знаний влияет на зарплату в отрасли?
Мы проведем анализ ответов и составим ТОП-лист навыков, которые не помешают освоить каждому программисту и разработчику для успешного карьерного роста!
👉 Пройти опрос
👍5
🧰 Как Uber обслуживает более 40 млн rps с помощью встроенного кэша
Docstore — распределенная база данных Uber, построенная на основе MySQL. Храня десятки ПБ данных и обслуживая десятки миллионов запросов в секунду, это один из крупнейших механизмов базы данных в Uber, используемый микросервисами из всех бизнес-вертикалей.
С момента ее создания в 2020 году количество пользователей и юзкейсов Docstore значительно выросло. Проблема ясна — надо масштабироваться. В качестве решения команда Uber написала систему для кэширования CacheFront. Впечатляющие результаты внедрения и полезные практические наработки — под катом.
Docstore — распределенная база данных Uber, построенная на основе MySQL. Храня десятки ПБ данных и обслуживая десятки миллионов запросов в секунду, это один из крупнейших механизмов базы данных в Uber, используемый микросервисами из всех бизнес-вертикалей.
С момента ее создания в 2020 году количество пользователей и юзкейсов Docstore значительно выросло. Проблема ясна — надо масштабироваться. В качестве решения команда Uber написала систему для кэширования CacheFront. Впечатляющие результаты внедрения и полезные практические наработки — под катом.
🔥22🤔5❤3👾1
🧰 TinyGo 0.31.0: теперь с поддержкой Go 1.22
Go-компилятор для микроконтроллеров и компактных однопроцессорных систем получает поддержку Go 1.22, собственную бинарную сборку macOS Arm64, поддержку Nim Flake и обновление до LLVM 17.
👉 Подробнее
Go-компилятор для микроконтроллеров и компактных однопроцессорных систем получает поддержку Go 1.22, собственную бинарную сборку macOS Arm64, поддержку Nim Flake и обновление до LLVM 17.
👉 Подробнее
GitHub
Release 0.31.0 · tinygo-org/tinygo
This is the highly anticipated first release of 2024! Some of the most requested features:
Go 1.22 support
macOS arm64 native binary release build
Nix flake support
LLVM 17
There are many improve...
Go 1.22 support
macOS arm64 native binary release build
Nix flake support
LLVM 17
There are many improve...
👍18🔥9😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Типичный #холивар двух айтишников
😁44🥱4🌚4👍3