Что выведет код?
package mainОтвет
import "fmt"
func main() {
a := [...]int{0, 1, 2, 3}
x := a[:1]
y := a[2:]
x = append(x, y...)
x = append(x, y...)
fmt.Println(a, x)
}
👍2
Список интересных Go проектов
1. DDosify — Performance Testing Platform
DDosify - это хороший инструмент, если вы хотите проверить, как поведет себя ваше приложение при большом количестве пользователей, обращающихся к нему со всего мира.
2. Kopia — Cross-platform Backup Tool
Kopia предлагает удобный и простой способ создания копий зашифрованных и сжатых данных и сохранения в облачном хранилище.
3. Traefik — Reverse Proxy And Load Balancer
Traefik довольно популярен, поэтому вы, возможно, уже знакомы с ним. Это хороший инструмент для самостоятельной настройки прокси для ваших микросервисов.
4. Httpx — HTTP Toolkit
С помощью Httpx можно регулярно отправлять запросов для получения данных о веб-сайтах. Мне нравится использовать его для проверки работоспособности моих сайтов и приложений.
5. Evcc — Extensible EV Charge Controller
Evcc - это многоязычный контроллер для электромобилей на Go.
1. DDosify — Performance Testing Platform
DDosify - это хороший инструмент, если вы хотите проверить, как поведет себя ваше приложение при большом количестве пользователей, обращающихся к нему со всего мира.
2. Kopia — Cross-platform Backup Tool
Kopia предлагает удобный и простой способ создания копий зашифрованных и сжатых данных и сохранения в облачном хранилище.
3. Traefik — Reverse Proxy And Load Balancer
Traefik довольно популярен, поэтому вы, возможно, уже знакомы с ним. Это хороший инструмент для самостоятельной настройки прокси для ваших микросервисов.
4. Httpx — HTTP Toolkit
С помощью Httpx можно регулярно отправлять запросов для получения данных о веб-сайтах. Мне нравится использовать его для проверки работоспособности моих сайтов и приложений.
5. Evcc — Extensible EV Charge Controller
Evcc - это многоязычный контроллер для электромобилей на Go.
👍12🥰1🤔1
[Тестовое Google] Простые множители произведения массива
Задача
Дан массив целых положительных чисел nums, верните количество различных простых множителей в произведении элементов
▪️Число, большее
▪️Целое число val1 является множителем другого целого числа
Пример
Произведение всех элементов в `
Произведение всех элементов в `
#junior #задача #golang
Пишите свое решение в комментариях👇
Задача
Дан массив целых положительных чисел nums, верните количество различных простых множителей в произведении элементов
nums
. Функция должна называться distinctPrimeFactors.
Обратите внимание, что:▪️Число, большее
1
, называется простым, если оно делится только на 1 и само на себя.▪️Целое число val1 является множителем другого целого числа
val2
, если val2
/ val1
является целым числом.Пример
nums = [2,4,3,7,10,6]
distinctPrimeFactors(nums)
# 4
# Пояснение:Произведение всех элементов в `
nums
` равно: `2 * 4 * 3 * 7 * 10 * 6 = 10080 = 25 * 32 * 5 * 7`.
Существует 4
различных простых множителя, поэтому мы возвращаем 4.
nums = [2,4,8,16]
distinctPrimeFactors(nums)
# 1
# Пояснение:Произведение всех элементов в `
nums
` равно: `2 * 4 * 8 * 16 = 1024 = 210`.
Существует 1 различный простой множитель, поэтому мы возвращаем 1.#junior #задача #golang
Пишите свое решение в комментариях👇
🤯2😢1
Ребят, если нужны книги по GO, то скачать можете в нашем канале: https://www.tgoop.com/golangsbook.
Если не трудно - подпишитесь
Если не трудно - подпишитесь
👍9
Что выведет код ?
package main
import (
"fmt"
)
func main() {
x := [2]int{1, 2}
r := [...]int{1, 2}
fmt.Println(x == r)
}
Ответgo.dev
Go Playground - The Go Programming Language
❤5🔥4
Кэширование
Эта статья дает структурированную основу и раскрывает ряд неочевидных особенностей кэширования.
💎 Чат: ссылка
Читать статью
Эта статья дает структурированную основу и раскрывает ряд неочевидных особенностей кэширования.
💎 Чат: ссылка
Читать статью
🔥7
Что выведет код?
numbers := []*int{}
for _, value := range []int{1, 2, 3, 4, 5} {
numbers = append(numbers, &value)
}
for _, value := range numbers {
fmt.Println(*value)
}
Ответgo.dev
Go Playground - The Go Programming Language
👍9
Что выведет код ?
package main
import "fmt"
func sum(a, b any) any {
return a + b
}
func main() {
fmt.Println(sum(2, 3))
}
Ответ🤔5❤1
📌 Задача с leetcode. Max Area of Island
Максимальная площадь острова
Сложность: Средняя
Условие задачи:
Дан двумерный массив размера m x n. "1" отвечает за сушу, "0" - за океан. Необходимо опеределить максмимальную площадь острова из островов, расположенных на карте.
Островом считается территория, образованная из "1", расположенных сверху, справа, снизу и слева относительно друг друга.
Пример:
Ввод: grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0,0,1,1,0,0,1,0,1,0,0],[0,1,0,0,1,1,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0]]
Вывод: 6
Ввод: grid = [[0,0,0,0,0,0,0,0]]
Вывод: 0
Решение
Максимальная площадь острова
Сложность: Средняя
Условие задачи:
Дан двумерный массив размера m x n. "1" отвечает за сушу, "0" - за океан. Необходимо опеределить максмимальную площадь острова из островов, расположенных на карте.
Островом считается территория, образованная из "1", расположенных сверху, справа, снизу и слева относительно друг друга.
Пример:
Ввод: grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0,0,1,1,0,0,1,0,1,0,0],[0,1,0,0,1,1,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0]]
Вывод: 6
Ввод: grid = [[0,0,0,0,0,0,0,0]]
Вывод: 0
Решение
func maxAreaOfIsland(grid [][]int) int {
rows := len(grid)
if rows == 0 {
return 0
}
cols := len(grid[0])
var dfs func(grid [][]int, x, y, r, c, area int) int
dfs = func(grid [][]int, x, y, r, c, area int) int {
if x < 0 || y < 0 || x >= r || y >= c || grid[x][y] != 1 {
return area
}
grid[x][y] = 2
return 1 + dfs(grid, x+1, y, r, c, area) + dfs(grid, x, y+1, r, c, area) + dfs(grid, x-1, y, r, c, area) + dfs(grid, x, y-1, r, c, area)
}
maxArea := 0
for i := 0; i < rows; i++ {
for j := 0; j < cols; j++ {
area := dfs(grid, i, j, rows, cols, 0)
maxArea = int(math.Max(float64(area), float64(maxArea)))
}
}
return maxArea
}
Временная сложность: O(N*M)
Пространственная сложность: O(1)
Пишите свое решение в комментариях👇👍8❤5
🔐 Безопасность цепочки поставок: серия статей от Google для Go-разработчика
По мере усложнения проектов корпоративным разработчикам приходится справляться с огромной волной уязвимостей, распространяющихся по деревьям зависимостей.
Разработчикам открытого ПО необходимы эффективные способы проверки кода, зависимостей и защиты своих проектов. Рост числа атак в сочетании с усложняющимися цепочками поставок означает, что проблемы безопасности цепочек поставок требуют решения на уровне экосистем.
С помощью Golang разработчики меняют ландшафт безопасности цепочки поставок, исправляя основу — сам язык. От внедрения OSV до обширной информации о пакетах, курируемой информации об уязвимостях.
Это серия статей о том, как разработчики и предприятия могут защитить свои цепочки поставок программного обеспечения к с помощью Go.
▪️ Vulnerability management
▪️ Compromised dependencies
▪️ Shifting left
По мере усложнения проектов корпоративным разработчикам приходится справляться с огромной волной уязвимостей, распространяющихся по деревьям зависимостей.
Разработчикам открытого ПО необходимы эффективные способы проверки кода, зависимостей и защиты своих проектов. Рост числа атак в сочетании с усложняющимися цепочками поставок означает, что проблемы безопасности цепочек поставок требуют решения на уровне экосистем.
С помощью Golang разработчики меняют ландшафт безопасности цепочки поставок, исправляя основу — сам язык. От внедрения OSV до обширной информации о пакетах, курируемой информации об уязвимостях.
Это серия статей о том, как разработчики и предприятия могут защитить свои цепочки поставок программного обеспечения к с помощью Go.
▪️ Vulnerability management
▪️ Compromised dependencies
▪️ Shifting left
Ускорить работу с данными на Go, но избежать эффекта гонок? В этом помогут примитивы синхронизации.
В новом выпуске avito.code бэкендер Авито Виталий Лихачёв рассказывает, как они работают и, в частности, какой есть альтернативный способ их реализации.
А ещё в этом выпуске Виталий рассмотрел сразу несколько паттернов параллельных вычислений.
Словом, видео, которое нельзя пропустить.
Реклама. ООО «Авито Тех».
В новом выпуске avito.code бэкендер Авито Виталий Лихачёв рассказывает, как они работают и, в частности, какой есть альтернативный способ их реализации.
А ещё в этом выпуске Виталий рассмотрел сразу несколько паттернов параллельных вычислений.
Словом, видео, которое нельзя пропустить.
Реклама. ООО «Авито Тех».
YouTube
Паттерны параллельных вычислений в Golang | avito.code
Привет! Это avito.code. Здесь опытные инженеры Авито делятся знаниями и рассказывают про свои рабочие инструменты.
В этом выпуске Виталий Лихачёв https://www.youtube.com/@makeitgit, бэкенд-инженер в команде Authorization Tiger Team, продолжает рассказывать…
В этом выпуске Виталий Лихачёв https://www.youtube.com/@makeitgit, бэкенд-инженер в команде Authorization Tiger Team, продолжает рассказывать…
❤2👍2
Язык программирования Go
Авторы: Алан А. А. Донован, Брайан У. Керниган
Год издания: 2019
#go #ru
Скачать книгу
Авторы: Алан А. А. Донован, Брайан У. Керниган
Год издания: 2019
#go #ru
Скачать книгу
👍16👎4
Что выведет код ?
package main
import (
"fmt"
)
func main() {
var i interface{}
if i == nil {
fmt.Println("nil")
return
}
fmt.Println("not nil")
}
Ответ👍8👎3🤯1🤬1
Готовимся к собеседованиям по Go и проверяем себя на практических задачках: «Библиотека программиста» запустила два канала специально для Go-разработчиков и тех, кто хочет ими стать👨🏫
Подписывайтесь:
👉Библиотека собеса по Go — тут мы готовимся к интервью
👉Библиотека задач по Go — тут решаем задачи, проходим тесты и изучаем код
Подписывайтесь:
👉Библиотека собеса по Go — тут мы готовимся к интервью
👉Библиотека задач по Go — тут решаем задачи, проходим тесты и изучаем код
🤡3👍2💩1
Go module proxy at Grab
Интересная статья о повышении скорости использования модулей Go с помощью прокси.
💎 Чат: ссылка
Читать статью
Интересная статья о повышении скорости использования модулей Go с помощью прокси.
💎 Чат: ссылка
Читать статью