Forwarded from Библиотека Go для собеса | вопросы с собеседований
💬 Для чего в приведенном коде предназначена конструкция "_ struct{}"?
Конструкция
Это значит, что мы не сможем случайно инициализировать
В Go, когда мы инициализируем структуру без указания имён полей, например:
Это называется неименованным или позиционным литералом. Такой способ инициализации может привести к ошибкам, особенно если порядок полей в структуре изменится или будут добавлены новые поля.
Добавление поля
Конструкция
_ struct{}
используется для предотвращения создания литералов структур без именованных полей при инициализации ProgInfo
. Это значит, что мы не сможем случайно инициализировать
ProgInfo
без указания имён полей, что может помочь избежать ошибок и повысить читаемость кода, особенно когда структура со временем расширяется новыми полями.В Go, когда мы инициализируем структуру без указания имён полей, например:
info := ProgInfo{0, 1, 2, 3}
Это называется неименованным или позиционным литералом. Такой способ инициализации может привести к ошибкам, особенно если порядок полей в структуре изменится или будут добавлены новые поля.
Добавление поля
_ struct{}
делает такую инициализацию невозможной, требуя от разработчика использовать именованные литералы, где каждое значение присваивается конкретному имени поля:
info := ProgInfo{
Flags: 0,
Reguse: 1,
Regset: 2,
Regindex: 3,
}
🔥118🤔15❤7👍4👏1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🧑💻 Путь разработчика: один язык на всю жизнь или постоянное переобучение?
Мир IT постоянно развивается, и то, что было актуально вчера, сегодня может оказаться устаревшим. Мы хотим узнать, как часто разработчики меняют сферу деятельности и направление разработки в погоне за новыми знаниями и возможностями.
👉 Поделитесь своим мнением и опытом. Ваши ответы помогут нам лучше понять тенденции и предпочтения в сообществе разработчиков
Опрос займёт у вас примерно 4 минуты.
Мир IT постоянно развивается, и то, что было актуально вчера, сегодня может оказаться устаревшим. Мы хотим узнать, как часто разработчики меняют сферу деятельности и направление разработки в погоне за новыми знаниями и возможностями.
👉 Поделитесь своим мнением и опытом. Ваши ответы помогут нам лучше понять тенденции и предпочтения в сообществе разработчиков
Опрос займёт у вас примерно 4 минуты.
🥱3👍2
Руководитель группы разработки подсистем Геннадий Ковалёв и эксперт по разработке ПО Даниил Подольский в YADRO обсуждают пять способов повышения эффективность разработки в команде Go-программистов.
Вы узнаете, как называть переменные, составлять документацию и продумывать архитектуру так, чтобы специалистам в команде и смежных отделах было легко работать с кодом.
👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍4❤1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🧰 DBeaver — бесплатный инструмент для работы с базами данных. Подойдет как простым разрабам, так и программистам SQL/баз данных, а также аналитикам.
☑️ Поддерживает любую базу данных с драйвером JDBC. Под капотом:
1️⃣ Имеет множество фич, включая редактор метаданных, редактор SQL, редактор расширенных данных, ERD, экспорт/импорт/миграцию данных, планы выполнения SQL и т. д.
2️⃣ Построен на базе платформы Eclipse.
3️⃣ Использует архитектуру плагинов и предоставляет дополнительные функции для следующих баз данных: MySQL/MariaDB, PostgreSQL, Greenplum, Oracle, IBM Db2, Exasol, SQL Server, Sybase/SAP ASE, SQLite, Firebird, H2, HSQLDB, Derby, Teradata, Vertica, Netezza, Informix и другие.
👉 GitHub
#инструменты
☑️ Поддерживает любую базу данных с драйвером JDBC. Под капотом:
1️⃣ Имеет множество фич, включая редактор метаданных, редактор SQL, редактор расширенных данных, ERD, экспорт/импорт/миграцию данных, планы выполнения SQL и т. д.
2️⃣ Построен на базе платформы Eclipse.
3️⃣ Использует архитектуру плагинов и предоставляет дополнительные функции для следующих баз данных: MySQL/MariaDB, PostgreSQL, Greenplum, Oracle, IBM Db2, Exasol, SQL Server, Sybase/SAP ASE, SQLite, Firebird, H2, HSQLDB, Derby, Teradata, Vertica, Netezza, Informix и другие.
👉 GitHub
#инструменты
🔥28🥱11👍3
⚡️ Подборка статей (и не только) для гофера
🔹 Google представила три новые «безопасные» библиотеки Go — SafeText, SafeOpen и SafeArchive — для предотвращения распространенных проблем безопасности при работе с YAML, открытии файлов и обработке архивов
🔹 Кейс с утечкой горутины. Обнаружив «бесконечную фабрику горутин», вызывающую проблемы в приложении, автор делится своими выводами, чтобы вы могли избежать подобной участи
🔹 Улучшения дженериков Go для мап и срезов — «Жизнь в Go была хороша, и она становится лучше»
🔹 «Go Enums все еще отстой» — продолжение давней дискуссии
🔹 raycaster-go — базовый движок 3D-рейкастинга на базе Ebitengine (смотрите демо, если интересна эта тема)
#дайджест
🔹 Google представила три новые «безопасные» библиотеки Go — SafeText, SafeOpen и SafeArchive — для предотвращения распространенных проблем безопасности при работе с YAML, открытии файлов и обработке архивов
🔹 Кейс с утечкой горутины. Обнаружив «бесконечную фабрику горутин», вызывающую проблемы в приложении, автор делится своими выводами, чтобы вы могли избежать подобной участи
🔹 Улучшения дженериков Go для мап и срезов — «Жизнь в Go была хороша, и она становится лучше»
🔹 «Go Enums все еще отстой» — продолжение давней дискуссии
🔹 raycaster-go — базовый движок 3D-рейкастинга на базе Ebitengine (смотрите демо, если интересна эта тема)
#дайджест
👍6🔥6❤2😁1
Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
⛓️🗄️ Соединения в SQL. Часть 2. Сложные типы соединений
В первой части статьи мы узнали, что такое соединения и рассмотрели простые типы соединений: внутреннее, правое и левое. В заключение рассмотрим более сложные варианты, которые позволяют получать выборки для более интересных случаев
👉 Ссылка на статью
В первой части статьи мы узнали, что такое соединения и рассмотрели простые типы соединений: внутреннее, правое и левое. В заключение рассмотрим более сложные варианты, которые позволяют получать выборки для более интересных случаев
👉 Ссылка на статью
😁6👍3❤1🥱1
А «гусём» называется бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получился goose. Возможно, вы также слышали про GeeseFS, высокопроизводительный FUSE‑клиент для S3. C его помощью вы можете на своём ноутбуке или виртуалке подмонтировать папку, которая будет работать с бакетом S3.
Читайте или смотрите подробнее о том, как сделать так, чтобы ни один клиент (даже с самым неудобным паттерном нагрузки) не положил сервис.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍7
00:00 — Введение
00:14 — Процессы в ОС
00:32 — Ресурсы процессов
00:52 — Потоки в ОС
01:09 — Контекст потоков
01:16 — Планировщик ОС
01:44 — Context switching в ОС
02:38 — Проблемы context switching
03:36 — Context switching в приложении
04:58 — Совместный context switching
05:23 — Планировщик в приложении
05:46 — Отдельный контекст планирования
06:05 — Процесс планирования корутин
06:32 — Сопрограммы и подпрограммы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👍10🔥5🥱3
🐛 7 признаков неопытного программиста
Давайте попробуем отделить зерна от плевел и вывести несколько общих признаков, по которым можно определить неопытного программиста.
👉 Читать статью
👉 Зеркало
Давайте попробуем отделить зерна от плевел и вывести несколько общих признаков, по которым можно определить неопытного программиста.
👉 Читать статью
👉 Зеркало
😁17🥱4👏3🌚2
👀 Интервью Роба Пайка для Medium
Вообще-то редакторы предполагали, что Пайк расскажет о пятнадцати годах программирования с применением языка, основным идеологом которого он считается. К окончанию беседы выяснилось, что интервьюер извлек больше информации, чем предполагал, и, естественно, редакторы решили урезать содержание «для пользы индустрии», но, как обычно получается в таких случаях, произошла утечка информации.
👉 Читать
Вообще-то редакторы предполагали, что Пайк расскажет о пятнадцати годах программирования с применением языка, основным идеологом которого он считается. К окончанию беседы выяснилось, что интервьюер извлек больше информации, чем предполагал, и, естественно, редакторы решили урезать содержание «для пользы индустрии», но, как обычно получается в таких случаях, произошла утечка информации.
👉 Читать
😁68🤔6👍3🌚2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
👩💻 Freeze — новый инструмент от команды Charm для генерации изображений кода и вывода терминала.
☑️ Может быть полезен для создания документации, обучающих материалов, блогов или просто для того, чтобы поделиться красиво оформленным кодом или результатами выполнения команд в соцсетях.
👉 GitHub
☑️ Может быть полезен для создания документации, обучающих материалов, блогов или просто для того, чтобы поделиться красиво оформленным кодом или результатами выполнения команд в соцсетях.
👉 GitHub
🔥21🥱4👍1🥰1🤔1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💬 Как изменился ваш информационный пузырь за год?
Помните свои информационные предпочтения год назад? Многое изменилось! Социальные сети, мессенджеры, YouTube, подкасты — все эти каналы ежедневно борются за наше внимание. У каждого из нас за год сформировался свой уникальный информационный рацион. Пройдите наш опрос и расскажите, как изменились ваши вкусы в медиапотреблении.
👉 Пройти опрос (займёт ~4 минуты)
Помните свои информационные предпочтения год назад? Многое изменилось! Социальные сети, мессенджеры, YouTube, подкасты — все эти каналы ежедневно борются за наше внимание. У каждого из нас за год сформировался свой уникальный информационный рацион. Пройдите наш опрос и расскажите, как изменились ваши вкусы в медиапотреблении.
👉 Пройти опрос (займёт ~4 минуты)
😁15👍5
🔎 Data Flow Analysis для Go
GoLand 2023.3 поддерживает data flow analysis (DFA). Эта фича представляет собой тип статического анализа кода, который анализирует данные, проходящие через программу. Читайте подробнее о механизмах ее работы и кейсах обнаружения ошибок на лету!
👉 Читать
GoLand 2023.3 поддерживает data flow analysis (DFA). Эта фича представляет собой тип статического анализа кода, который анализирует данные, проходящие через программу. Читайте подробнее о механизмах ее работы и кейсах обнаружения ошибок на лету!
👉 Читать
👍10😁6🥱3❤1