Когда стоит применять директиву //go:linkname?
Когда требуется доступ к закрытым методам и переменным в других пакетах для тестирования
Когда необходимо вызывать внешние функции из других языков программирования
Когда нужно скрыть функции и переменные от кода вне пакета
Когда необходимо установить ограничения доступа между пакетами
Библиотека задач по Go
Когда требуется доступ к закрытым методам и переменным в других пакетах для тестирования
Когда необходимо вызывать внешние функции из других языков программирования
Когда нужно скрыть функции и переменные от кода вне пакета
Когда необходимо установить ограничения доступа между пакетами
Библиотека задач по Go
💬 Как оставлять комментарии в чате нашего канала
В нашем чате работает бот Shieldy, который защищает от спама, запрашивая у новых участников решение простой капчи.
⚠️ Многие сталкиваются с проблемой: вы нажимаете «Прокомментировать» под постом, пишете что-то, а потом получаете бан и не можете комментировать.
❓Почему это происходит: Shieldy отправляет капчу в общий чат, а не в комментарии под конкретным постом. Поэтому капчу можно не заметить, не ответить на нее, и бот автоматически заблокирует вас.
✅ Как присоединиться к чату, чтобы избежать бана от бота
— Зайдите в описание канала и нажмите кнопку Discuss / Чат
— Нажмите Join / Присоединиться
— Обратите внимание на сообщение от бота Shieldy
— Решите простой пример и отправьте ответ в чат
После этого бот отправит приветственное сообщение, и вы сможете оставлять комментарии. Эту проверку нужно пройти только один раз при вступлении в чат.
❗️ Если вас всё-таки забанили
— Это временная блокировка на несколько минут
— Подождите и попробуйте зайти позже, бот снова отправит вам капчу
Администраторы канала не могут ускорить процесс, бот автоматически снимет блокировку через пару минут. Мы понимаем, что эта система не идеальна и ищем более удобное решение.
👾 Спасибо, что активно участвуете в обсуждении наших постов!
В нашем чате работает бот Shieldy, который защищает от спама, запрашивая у новых участников решение простой капчи.
⚠️ Многие сталкиваются с проблемой: вы нажимаете «Прокомментировать» под постом, пишете что-то, а потом получаете бан и не можете комментировать.
❓Почему это происходит: Shieldy отправляет капчу в общий чат, а не в комментарии под конкретным постом. Поэтому капчу можно не заметить, не ответить на нее, и бот автоматически заблокирует вас.
✅ Как присоединиться к чату, чтобы избежать бана от бота
— Зайдите в описание канала и нажмите кнопку Discuss / Чат
— Нажмите Join / Присоединиться
— Обратите внимание на сообщение от бота Shieldy
— Решите простой пример и отправьте ответ в чат
После этого бот отправит приветственное сообщение, и вы сможете оставлять комментарии. Эту проверку нужно пройти только один раз при вступлении в чат.
❗️ Если вас всё-таки забанили
— Это временная блокировка на несколько минут
— Подождите и попробуйте зайти позже, бот снова отправит вам капчу
Администраторы канала не могут ускорить процесс, бот автоматически снимет блокировку через пару минут. Мы понимаем, что эта система не идеальна и ищем более удобное решение.
👾 Спасибо, что активно участвуете в обсуждении наших постов!
❓ Какой результат будет, если передать пустой интерфейс в reflect.TypeOf()?
👻 — Это приведёт к ошибке компиляции.
🌚 — Вернёт тип interface{}.
⚡️ — Вернёт nil.
🎉 — Вернёт тип void.
🐸Библиотека задач по Go
👻 — Это приведёт к ошибке компиляции.
🌚 — Вернёт тип interface{}.
⚡️ — Вернёт nil.
🎉 — Вернёт тип void.
🐸Библиотека задач по Go
Какой подход к планированию горутин используется в Go?
👻 — M:1 (Много горутин на один поток)
🌚 — M:N (Много горутин на много потоков)
⚡️ — 1:1 (Один поток на одну горутину)
🎉 — N:100 (Много потоков на сто горутин)
🐸Библиотека задач по Go
👻 — M:1 (Много горутин на один поток)
🌚 — M:N (Много горутин на много потоков)
⚡️ — 1:1 (Один поток на одну горутину)
🎉 — N:100 (Много потоков на сто горутин)
🐸Библиотека задач по Go
❓ Что означает runtime.GOMAXPROCS(4)
👻 — Это предел на количество горутин, которые могут выполняться одновременно.
🌚 — Это конфигурация для распределения горутин по всем доступным процессорам.
⚡️ — Это параметр, который ограничивает количество потоков в программе.
🎉 — Это настройка, определяющая, сколько ядер процессора может использовать Go.
🐸Библиотека задач по Go
👻 — Это предел на количество горутин, которые могут выполняться одновременно.
🌚 — Это конфигурация для распределения горутин по всем доступным процессорам.
⚡️ — Это параметр, который ограничивает количество потоков в программе.
🎉 — Это настройка, определяющая, сколько ядер процессора может использовать Go.
🐸Библиотека задач по Go
❓ Что случится, если функция, переданная в sync.Once.Do, вызовет панику (при условии, что мы сможем восстановиться после ошибки)?
👻 — Программа завершится с ошибкой, и функция не будет вызвана повторно.
🌚 — Паника будет проигнорирована, и функция продолжит выполнение.
⚡️ — Все последующие вызовы функции завершатся ошибкой.
🎉 — Паника рассматривается как завершение функции, и будущие вызовы не вызовут её снова.
🐸Библиотека задач по Go
👻 — Программа завершится с ошибкой, и функция не будет вызвана повторно.
🌚 — Паника будет проигнорирована, и функция продолжит выполнение.
⚡️ — Все последующие вызовы функции завершатся ошибкой.
🎉 — Паника рассматривается как завершение функции, и будущие вызовы не вызовут её снова.
🐸Библиотека задач по Go
❓ Что случится, если вы примените оператор goto для перехода из одной функции в другую?
👻 — Это вызовет ошибку компиляции, так как оператор goto работает только в пределах одной функции.
🌚 — Это возможно, но только если функции находятся в одном пакете.
⚡️ — Это ведет к переполнению стека, поскольку переход между функциями является дорогостоящим.
🎉 — Оператор goto позволяет переходить между функциями, но лучше использовать обычные вызовы функций.
🐸Библиотека задач по Go
👻 — Это вызовет ошибку компиляции, так как оператор goto работает только в пределах одной функции.
🌚 — Это возможно, но только если функции находятся в одном пакете.
⚡️ — Это ведет к переполнению стека, поскольку переход между функциями является дорогостоящим.
🎉 — Оператор goto позволяет переходить между функциями, но лучше использовать обычные вызовы функций.
🐸Библиотека задач по Go
❓ Какой паттерн описан ниже
Это паттерн проектирования, который устанавливает основу алгоритма в методе, оставляя некоторые этапы для реализации подклассам.
Этот паттерн дает возможность подклассам изменять некоторые этапы алгоритма, не меняя его общую структуру.
👻 — Синглтон
🌚 — Шаблонный метод
⚡️ — Фабричный метод
🎉 — Сага
👾 — Много букав..
🐸Библиотека задач по Go
Это паттерн проектирования, который устанавливает основу алгоритма в методе, оставляя некоторые этапы для реализации подклассам.
Этот паттерн дает возможность подклассам изменять некоторые этапы алгоритма, не меняя его общую структуру.
👻 — Синглтон
🌚 — Шаблонный метод
⚡️ — Фабричный метод
🎉 — Сага
👾 — Много букав..
🐸Библиотека задач по Go
❓ Что будет, если попытаться передать данные в канал, который не был инициализирован?
👻 — Программа будет работать, и данные будут отправлены через канал. Их можно будет получить позже.
🌚 — Программа остановится, так как канал не инициализирован.
⚡️ — Программа завершится с ошибкой.
🎉 — Канал автоматически инициализируется, и данные будут отправлены.
🐸Библиотека задач по Go
👻 — Программа будет работать, и данные будут отправлены через канал. Их можно будет получить позже.
🌚 — Программа остановится, так как канал не инициализирован.
⚡️ — Программа завершится с ошибкой.
🎉 — Канал автоматически инициализируется, и данные будут отправлены.
🐸Библиотека задач по Go
❓ Почему каждый программист, работающий на Go, должен начинать утро с кофе?
👻 — Когда программист пьёт кофе, его производительность возрастает, как будто он увеличил GOMAXPROCS с 1 до 4.
🌚 — Кофе улучшает взаимодействие между мозгом и клавиатурой, предотвращая гонки за ресурсами, а код становится свободным от deadlock.
⚡️ — Без кофе программист становится похожим на неинициализированный канал — он может только блокировать выполнение.
🎉 — Без кофе код не компилируется.
🐸 Библиотека задач по Go
👻 — Когда программист пьёт кофе, его производительность возрастает, как будто он увеличил GOMAXPROCS с 1 до 4.
🌚 — Кофе улучшает взаимодействие между мозгом и клавиатурой, предотвращая гонки за ресурсами, а код становится свободным от deadlock.
⚡️ — Без кофе программист становится похожим на неинициализированный канал — он может только блокировать выполнение.
🎉 — Без кофе код не компилируется.
🐸 Библиотека задач по Go
❓ Что будет, если программа получает сигнал о завершении, а в ней используется time.Sleep()
👻 — Все горутины сразу прекращают выполнение.
🌚 — Сигнал вообще не обрабатывается.
⚡️ — Горутина «проснётся» и начнёт завершение работы.
🎉 — Происходит паника.
🐸 Библиотека задач по Go
👻 — Все горутины сразу прекращают выполнение.
🌚 — Сигнал вообще не обрабатывается.
⚡️ — Горутина «проснётся» и начнёт завершение работы.
🎉 — Происходит паника.
🐸 Библиотека задач по Go
Что обозначает идемпотентность в случае REST API?
— Это ситуация, когда повторные запросы изменяют состояние системы.
— Это когда запросы могут выполняться несколько раз и давать одинаковый результат.
— Это когда все запросы требуют аутентификации.
— Это когда запросы возвращают ошибку при повторении.
Библиотека задач по Go.
— Это ситуация, когда повторные запросы изменяют состояние системы.
— Это когда запросы могут выполняться несколько раз и давать одинаковый результат.
— Это когда все запросы требуют аутентификации.
— Это когда запросы возвращают ошибку при повторении.
Библиотека задач по Go.
❓ Что обозначает буква «A» в термине ACID?
👻 — Атомарность: это гарантирует, что транзакция будет завершена либо полностью, либо вообще не будет выполнена.
🌚 — Абстракция: это обеспечивает возможность абстрагирования данных для различных типов пользователей.
⚡️ — Аутентификация: это обеспечивает проверку прав доступа пользователя к данным.
🎉 — Автономность: это гарантирует независимость операций в различных системах.
🐸 Библиотека задач по Go
👻 — Атомарность: это гарантирует, что транзакция будет завершена либо полностью, либо вообще не будет выполнена.
🌚 — Абстракция: это обеспечивает возможность абстрагирования данных для различных типов пользователей.
⚡️ — Аутентификация: это обеспечивает проверку прав доступа пользователя к данным.
🎉 — Автономность: это гарантирует независимость операций в различных системах.
🐸 Библиотека задач по Go
❓ Что означает буква «C» в термине ACID
👻 — Контроль: обеспечивает возможность отслеживания и управления всеми изменениями в базе данных.
🌚 — Конфиденциальность: защищает данные от несанкционированного доступа.
⚡️ — Согласованность: гарантирует, что транзакция переводит базу данных из одного согласованного состояния в другое, соблюдая все ограничения и правила.
🎉 — Конкурентоспособность: позволяет выполнять несколько транзакций одновременно без конфликтов.
🐸 Библиотека задач по Go
👻 — Контроль: обеспечивает возможность отслеживания и управления всеми изменениями в базе данных.
🌚 — Конфиденциальность: защищает данные от несанкционированного доступа.
⚡️ — Согласованность: гарантирует, что транзакция переводит базу данных из одного согласованного состояния в другое, соблюдая все ограничения и правила.
🎉 — Конкурентоспособность: позволяет выполнять несколько транзакций одновременно без конфликтов.
🐸 Библиотека задач по Go
Какой код состояния HTTP нужно вернуть при успешном создании ресурса в REST API?
Библиотека задач по Go
Библиотека задач по Go
❓ Какое значение имеет буква «I» в акрониме ACID
👻 — Интерпретируемость: позволяет транзакциям быть легко читаемыми и понятными для системы.
🌚 — Иммутабельность: гарантирует, что записанные данные нельзя изменить или удалить.
⚡️ — Изолированность: обеспечивает независимость выполнения транзакций, будто каждая из них выполняется отдельно.
🎉 — Инициативность: позволяет базе данных предсказывать и оптимизировать будущие запросы.
🐸Библиотека задач по Go
👻 — Интерпретируемость: позволяет транзакциям быть легко читаемыми и понятными для системы.
🌚 — Иммутабельность: гарантирует, что записанные данные нельзя изменить или удалить.
⚡️ — Изолированность: обеспечивает независимость выполнения транзакций, будто каждая из них выполняется отдельно.
🎉 — Инициативность: позволяет базе данных предсказывать и оптимизировать будущие запросы.
🐸Библиотека задач по Go
❓ Каковы последствия, если не вызвать cancel() у контекста?
👻 — Ничего страшного, Go сам всё очистит
🌚 — Произойдёт panic
⚡️ — Возможна утечка памяти и/или зависшая горутина
🎉 — Контекст завершится по истечении времени
🐸 Библиотека задач по Go
👻 — Ничего страшного, Go сам всё очистит
🌚 — Произойдёт panic
⚡️ — Возможна утечка памяти и/или зависшая горутина
🎉 — Контекст завершится по истечении времени
🐸 Библиотека задач по Go