🤔 Какой инструмент в Go используется для создания исполняемого файла из исходного кода?
Anonymous Quiz
74%
go build
17%
go run
4%
go exec
4%
go compile
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Novus
Локальный HTTPS-прокси, который превращает работу на macOS в удовольствие
С его помощью можно легко управлять кучей локальных сервисов, присваивая им нормальные доменные имена вместо стандартных localhost. Плюс, у него встроенная поддержка HTTPS, так что все домены по умолчанию защищены.
Под капотом у Novus работают старые добрые Nginx в роли прокси и DNSMasq для определения кастомных доменных резолверов. Больше не нужно ковыряться в /etc/hosts, а SSL-сертификаты автоматически управляются и обновляются с помощью mkcert.
Всё, что от вас требуется, — это сопоставить ваши локальные URL с DNS-доменами, а остальное Novus сделает сам, обеспечивая бесшовный опыт, похожий на продакшн, прямо на вашей машине
Установка:
Потом можно проверить установку командой
Чтобы начать, запускаем
Смотреть Git
👉 Новости 👉 Платформа
Локальный HTTPS-прокси, который превращает работу на macOS в удовольствие
С его помощью можно легко управлять кучей локальных сервисов, присваивая им нормальные доменные имена вместо стандартных localhost. Плюс, у него встроенная поддержка HTTPS, так что все домены по умолчанию защищены.
Под капотом у Novus работают старые добрые Nginx в роли прокси и DNSMasq для определения кастомных доменных резолверов. Больше не нужно ковыряться в /etc/hosts, а SSL-сертификаты автоматически управляются и обновляются с помощью mkcert.
Всё, что от вас требуется, — это сопоставить ваши локальные URL с DNS-доменами, а остальное Novus сделает сам, обеспечивая бесшовный опыт, похожий на продакшн, прямо на вашей машине
Установка:
brew tap jozefcipa/novus
brew install novus
Потом можно проверить установку командой
novus -v
Чтобы начать, запускаем
novus init
, редактируем созданный файл novus.yml
, определяем там маппинг доменов, а затем novus serve
— и всё, можно пользоваться.Смотреть Git
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой оператор используется для выполнения явного преобразования типов в Go?
Anonymous Quiz
18%
convert
9%
cast
12%
typecast
61%
нет точного оператора, используется приведение типов
#Собес
🤔 Объясните разницу между конкурентностью и параллельностью в Go
Конкурентность в Go - это способность программы обрабатывать несколько задач одновременно, в то время как параллельность - это способность выполняться несколько задач одновременно на нескольких процессорах. В Go для этого используются горутины и каналы.
👉 Новости 👉 Платформа
Конкурентность в Go - это способность программы обрабатывать несколько задач одновременно, в то время как параллельность - это способность выполняться несколько задач одновременно на нескольких процессорах. В Go для этого используются горутины и каналы.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Golang-разработчик
Локация: Удаленно
Компания: IQ Progers
ЗП: обсуждается на собеседовании
Занятость: Полная
IQ Progers. Разработка, поддержка IT решений для бизнеса. Веб-разработка: Создание сайтов, порталов и веб-приложений любой сложности - от лендингов до корпоративных платформ.
🚩 Обязанности
🔵 Хорошее знание языка Golang;
🔵 Понимание работы HTTP-протокола и опыт разработки API
🔵 Уверенное знание SQL;
🔵 Git;
🔵 Способность разбираться в чужом коде.
🔵 Быстро учиться и расти в зарплате каждый месяц
🚩 Условия работы
🟡 Удаленный формат работы
🟡 Гибкий график — работаем с 10:00 до 19:00 по Москве.
🟡 Отсутствие митингов — максимальная концентрация на коде.
🟡 Заработная плата — с повышением каждый месяц, в зависимости от твоего роста и вклада.
🟡 За тобой будет закреплен опытный разработчик. Он поможет разобраться в коде, решать трудные задачи и даст поддержку в любом вопросе.
💬 Резюме отправлять: @IQProgersss
👉 Новости 👉 Платформа
Локация: Удаленно
Компания: IQ Progers
ЗП: обсуждается на собеседовании
Занятость: Полная
IQ Progers. Разработка, поддержка IT решений для бизнеса. Веб-разработка: Создание сайтов, порталов и веб-приложений любой сложности - от лендингов до корпоративных платформ.
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 633. Sum of Square Numbers
Учитывая целое неотрицательное число c, решите, существуют ли два целых числа a и b такие, что a2 + b2 = c.
Пример:
👨💻 Алгоритм:
1⃣ Проверка границ
Проверьте, если c меньше 0, немедленно верните false, так как сумма квадратов двух целых чисел не может быть отрицательной.
2⃣ Инициализация указателей
Используйте два указателя a и b. Инициализируйте a на 0 и b на значение квадратного корня из c. Поиск решения: Используйте цикл для поиска a и b, таких что a^2 + b^2 == c: Если a^2 + b^2 равно c, верните true. Если a^2 + b^2 меньше c, увеличьте a на 1. Если a^2 + b^2 больше c, уменьшите b на 1.
3⃣ Возвращение результата
Если цикл завершится без нахождения подходящих a и b, верните false.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 633. Sum of Square Numbers
Учитывая целое неотрицательное число c, решите, существуют ли два целых числа a и b такие, что a2 + b2 = c.
Пример:
Input: c = 5
Output: true
Проверьте, если c меньше 0, немедленно верните false, так как сумма квадратов двух целых чисел не может быть отрицательной.
Используйте два указателя a и b. Инициализируйте a на 0 и b на значение квадратного корня из c. Поиск решения: Используйте цикл для поиска a и b, таких что a^2 + b^2 == c: Если a^2 + b^2 равно c, верните true. Если a^2 + b^2 меньше c, увеличьте a на 1. Если a^2 + b^2 больше c, уменьшите b на 1.
Если цикл завершится без нахождения подходящих a и b, верните false.
package main
import (
"math"
"fmt"
)
func judgeSquareSum(c int) bool {
a := 0
b := int(math.Sqrt(float64(c)))
for a <= b {
total := a * a + b * b
if total == c {
return true
} else if total < c {
a++
} else {
b--
}
}
return false
}
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой механизм в Go используется для защиты критических секций кода от одновременного доступа нескольких горутин?
Anonymous Quiz
11%
sync.Once
65%
mutex.Lock()
22%
goroutine.Safe()
2%
chan
#Собес
🤔 В чем разница слайсов и массивов в Go?
Массивы в Go имеют фиксированный размер, определённый при создании, и их размер является частью типа. Слайсы, напротив, представляют собой динамическую структуру данных, которая позволяет изменять длину и предоставляет удобный способ работы с последовательностями элементов.
👉 Новости 👉 Платформа
Массивы в Go имеют фиксированный размер, определённый при создании, и их размер является частью типа. Слайсы, напротив, представляют собой динамическую структуру данных, которая позволяет изменять длину и предоставляет удобный способ работы с последовательностями элементов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой пакет в Go используется для форматирования строк?
Anonymous Quiz
69%
fmt
4%
stringutil
5%
format
21%
string.Format()
#полезное
😊 Современная веб-разработка с Go: легковесная альтернатива React SSR
Cтатья обсуждает подход к созданию веб-приложений, сочетающий возможности Go и легковесных фронтенд-технологий.
Автор предлагает использовать стек, включающий Templ для серверного рендеринга в Go, HTMX для динамических взаимодействий с сервером и Petite Vue (размером всего 6 КБ) для реактивности на клиенте.
Этот подход позволяет:
🟠 Содержать весь код в одном Go-приложении.
🟠 Минимизировать использование JavaScript на клиенте.
🟠 Снизить сложность инфраструктуры и затраты на развертывание.
🟠 Обеспечить высокую производительность и безопасность.
Читать подробнее
👉 Новости 👉 Платформа
Cтатья обсуждает подход к созданию веб-приложений, сочетающий возможности Go и легковесных фронтенд-технологий.
Автор предлагает использовать стек, включающий Templ для серверного рендеринга в Go, HTMX для динамических взаимодействий с сервером и Petite Vue (размером всего 6 КБ) для реактивности на клиенте.
Этот подход позволяет:
Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод из пакета "math" используется для вычисления квадратного корня числа в Go?
Anonymous Quiz
84%
Sqrt
4%
SquareRoot
2%
Root
10%
Sqr
#Собес
🤔 Как каналы устроены в Go?
Каналы в Go используются для передачи данных между горутинами. Они могут быть буферизированными и неблокирующими либо небуферизированными и
блокирующими. Работа каналов основана на принципах синхронизации и безопасности при параллельном выполнении.
👉 Новости 👉 Платформа
Каналы в Go используются для передачи данных между горутинами. Они могут быть буферизированными и неблокирующими либо небуферизированными и
блокирующими. Работа каналов основана на принципах синхронизации и безопасности при параллельном выполнении.
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
🤯 Вышел Go 1.24.0!
Примечания к выпуску: go.dev/doc/go1.24
Загрузить: go.dev/dl/#go1.24.0
👉 Новости 👉 Платформа
Примечания к выпуску: go.dev/doc/go1.24
Загрузить: go.dev/dl/#go1.24.0
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод из пакета "net/http" используется для отправки PUT-запроса в Go?
Anonymous Quiz
52%
Put
21%
SendPut
25%
PutRequest
2%
PutForm
#Собес
🤔 Как каналы устроены в Go?
Каналы в Go используются для передачи данных между горутинами. Они могут быть буферизированными и неблокирующими либо небуферизированными и
блокирующими. Работа каналов основана на принципах синхронизации и безопасности при параллельном выполнении.
👉 Новости 👉 Платформа
Каналы в Go используются для передачи данных между горутинами. Они могут быть буферизированными и неблокирующими либо небуферизированными и
блокирующими. Работа каналов основана на принципах синхронизации и безопасности при параллельном выполнении.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод в Go гарантирует, что структура будет корректно работать с интерфейсом Stringer?
Anonymous Quiz
19%
Stringify
19%
ToString
53%
String
10%
GetString
#ЛитКод
Задача: 636. Exclusive Time of Functions
На однопоточном процессоре выполняется программа, содержащая n функций. Каждая функция имеет уникальный ID от 0 до n-1. Вызовы функций хранятся в стеке вызовов: когда начинается вызов функции, ее ID заталкивается в стек, а когда вызов функции заканчивается, ее ID выгружается из стека. Функция, чей идентификатор находится в верхней части стека, является текущей выполняемой функцией. Каждый раз, когда функция запускается или завершается, мы пишем лог с идентификатором, началом или завершением и меткой времени. Вам предоставляется список logs, где logs[i] представляет собой i-е сообщение лога, отформатированное как строка "{function_id}:{"start" | "end"}:{timestamp}". Например, "0:start:3" означает, что вызов функции с идентификатором 0 начался в начале временной метки 3, а "1:end:2" означает, что вызов функции с идентификатором 1 завершился в конце временной метки 2. Обратите внимание, что функция может быть вызвана несколько раз, возможно, рекурсивно. Исключительное время функции - это сумма времен выполнения всех вызовов функции в программе. Например, если функция вызывается дважды, причем один вызов выполняется за 2 единицы времени, а другой - за 1 единицу, то эксклюзивное время равно 2 + 1 = 3. Верните эксклюзивное время каждой функции в массив, где значение по i-му индексу представляет собой эксклюзивное время для функции с идентификатором i.
Пример:
👨💻 Алгоритм:
1⃣ Парсинг логов
Пройдитесь по каждому логу, чтобы распознать действие (start или end) и идентификатор функции вместе с временной меткой.
2⃣ Использование стека
Используйте стек для отслеживания текущих вызовов функций. Если лог содержит start, добавьте функцию в стек и начните отсчет времени. Если лог содержит end, снимите функцию со стека и обновите эксклюзивное время.
3⃣ Обновление времени выполнения
Когда функция завершает выполнение, обновите ее эксклюзивное время и также учитывайте время выполнения вложенных функций.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 636. Exclusive Time of Functions
На однопоточном процессоре выполняется программа, содержащая n функций. Каждая функция имеет уникальный ID от 0 до n-1. Вызовы функций хранятся в стеке вызовов: когда начинается вызов функции, ее ID заталкивается в стек, а когда вызов функции заканчивается, ее ID выгружается из стека. Функция, чей идентификатор находится в верхней части стека, является текущей выполняемой функцией. Каждый раз, когда функция запускается или завершается, мы пишем лог с идентификатором, началом или завершением и меткой времени. Вам предоставляется список logs, где logs[i] представляет собой i-е сообщение лога, отформатированное как строка "{function_id}:{"start" | "end"}:{timestamp}". Например, "0:start:3" означает, что вызов функции с идентификатором 0 начался в начале временной метки 3, а "1:end:2" означает, что вызов функции с идентификатором 1 завершился в конце временной метки 2. Обратите внимание, что функция может быть вызвана несколько раз, возможно, рекурсивно. Исключительное время функции - это сумма времен выполнения всех вызовов функции в программе. Например, если функция вызывается дважды, причем один вызов выполняется за 2 единицы времени, а другой - за 1 единицу, то эксклюзивное время равно 2 + 1 = 3. Верните эксклюзивное время каждой функции в массив, где значение по i-му индексу представляет собой эксклюзивное время для функции с идентификатором i.
Пример:
Input: n = 2, logs = ["0:start:0","1:start:2","1:end:5","0:end:6"]
Output: [3,4]
Пройдитесь по каждому логу, чтобы распознать действие (start или end) и идентификатор функции вместе с временной меткой.
Используйте стек для отслеживания текущих вызовов функций. Если лог содержит start, добавьте функцию в стек и начните отсчет времени. Если лог содержит end, снимите функцию со стека и обновите эксклюзивное время.
Когда функция завершает выполнение, обновите ее эксклюзивное время и также учитывайте время выполнения вложенных функций.
package main
import (
"fmt"
"strconv"
"strings"
)
func exclusiveTime(n int, logs []string) []int {
stack := []int{}
times := make([]int, n)
prevTime := 0
for _, log := range logs {
parts := strings.Split(log, ":")
fid, _ := strconv.Atoi(parts[0])
typ := parts[1]
time, _ := strconv.Atoi(parts[2])
if typ == "start" {
if len(stack) > 0 {
times[stack[len(stack)-1]] += time - prevTime
}
stack = append(stack, fid)
prevTime = time
} else {
times[stack[len(stack)-1]] += time - prevTime + 1
stack = stack[:len(stack)-1]
prevTime = time + 1
}
}
return times
}
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод из пакета "io" используется для копирования данных из одного потока в другой в Go?
Anonymous Quiz
21%
Transfer
57%
Copy
13%
Move
9%
Duplicate
#Собес
🤔 Как работает Мар в Go?
Мар в Go - это коллекция пар ключ-значение, где каждый ключ уникален. Карты поддерживают быстрый доступ к данным по ключу. Ключи могут быть любого типа, который можно сравнивать с помощью операций
👉 Новости 👉 Платформа
Мар в Go - это коллекция пар ключ-значение, где каждый ключ уникален. Карты поддерживают быстрый доступ к данным по ключу. Ключи могут быть любого типа, который можно сравнивать с помощью операций
==
и !=
.Please open Telegram to view this post
VIEW IN TELEGRAM