В Ozon на Go — 1000+ микросервисов, обеспечивающих работу сайта, склада, логистики, а ещё технологическая платформа и сервисы инфраструктуры.
Звучит интересно? Тогда го в команду Ozon Tech.
Как всё будет?
Ozon приглашает вас на предварительное собеседование, а затем на ивент.
Там вы сможете пообщаться с тимлидами и послушать доклады экспертов.
One Day Offer закончится на афтерпати, а затем вы встретитесь снова уже в качестве коллег.
Если вам нравится этот план, кидайте заявку на странице мероприятия!
Звучит интересно? Тогда го в команду Ozon Tech.
Как всё будет?
Ozon приглашает вас на предварительное собеседование, а затем на ивент.
Там вы сможете пообщаться с тимлидами и послушать доклады экспертов.
One Day Offer закончится на афтерпати, а затем вы встретитесь снова уже в качестве коллег.
Если вам нравится этот план, кидайте заявку на странице мероприятия!
Функция cap() возвращает
Anonymous Quiz
29%
емкость массива
62%
емкость среза
1%
работоспособность
8%
емкость длины
Когда приходится добавлять в стек новый язык, новую платформу, новый сервис или изобретать велосипед в пятнадцатый раз, начинаешь задумываться, как же этот процесс контролировать.
Как раз про это новый выпуск подкаста «Магнитное Поле» – здесь Владимир Дроздецкий, DevOps тимлид Магнита рассказывает про концепцию InnerSource, которая позволяет систематизировать процессы создания новых продуктов и сервисов внутри компании, чтобы не наступать на одни и те же грабли, не изобретать эти самые велосипеды и вообще автоматизировать процессы кикстарта разработки по максимуму.
Это уже шестой выпуск подкаста «Магнитное Поле», который совместно записывают Завтракаст и IT-команда ритейлера Магнит. В предыдущих выпусках обсуждали Data Governance, современные облачные решения и микросервисы, IT HR, ecom, кому нужен agile (а кому не нужен) и многое другое, так что стоит обратить внимание.
🎧 Послушать
📹 Посмотреть
Посмотреть вакансии и отправить резюме: https://magnit.tech
Как раз про это новый выпуск подкаста «Магнитное Поле» – здесь Владимир Дроздецкий, DevOps тимлид Магнита рассказывает про концепцию InnerSource, которая позволяет систематизировать процессы создания новых продуктов и сервисов внутри компании, чтобы не наступать на одни и те же грабли, не изобретать эти самые велосипеды и вообще автоматизировать процессы кикстарта разработки по максимуму.
Это уже шестой выпуск подкаста «Магнитное Поле», который совместно записывают Завтракаст и IT-команда ритейлера Магнит. В предыдущих выпусках обсуждали Data Governance, современные облачные решения и микросервисы, IT HR, ecom, кому нужен agile (а кому не нужен) и многое другое, так что стоит обратить внимание.
Посмотреть вакансии и отправить резюме: https://magnit.tech
Please open Telegram to view this post
VIEW IN TELEGRAM
Уважаемые разработчики! 🖥 Сегодня я хочу поделиться с вами полезными советами от Сергея Наумкина, разработчика-лидера команды в Kaspersky.
Если ваша работа занимает слишком много времени, и вы хотите найти способы упростить и ускорить процесс разработки и тестирования приложений, то вам будет интересно узнать о преимуществах докеризации, которые он описывает в посте ниже😉
Кстати, там же вы сможете ознакомиться с вакансиями для Go-разработчиков в Kaspersky и применить свои навыки в команде профессионалов.
Если ваша работа занимает слишком много времени, и вы хотите найти способы упростить и ускорить процесс разработки и тестирования приложений, то вам будет интересно узнать о преимуществах докеризации, которые он описывает в посте ниже😉
Кстати, там же вы сможете ознакомиться с вакансиями для Go-разработчиков в Kaspersky и применить свои навыки в команде профессионалов.
Forwarded from Kaspersky Team
Всё могут тимлиды! 🤴 Development Team Lead в Kaspersky Сергей Наумкин объясняет, что делать тем, у кого работа занимает слишком много времени.
Возможно, ты помнишь, что ещё пару лет назад для разработки и тестирования приложений нужно было ставить на свою или виртуальную машину СУБД, брокер сообщений и прочий софт.
Только всё это — вчерашний день. Теперь достаточно поставить себе docker и скачать контейнеры, чтобы быстро проверить концепт или начать разработку.
Занимаешься микросервисными приложениями? Ответ тот же — ставь docker. С ним будет в разы проще поднять инфраструктуру, а с docker-compose заниматься разработкой и тестированием в максимально реалистичной среде.
Несколько доводов в пользу докеризации приложения:
➡️ удобно передавать свой сервис в пользование команды;
➡️ проще поднять всю среду для разработки и тестирования;
➡️ легче воспроизводить разные сценарии;
➡️ нет зависимости от окружения рабочей станции;
➡️ бесплатная масштабируемость;
➡️ легковесность (в отличие от ВМ).
Docker-образы не должны пугать тебя размерами, ведь multi-stage сборки помогут держать в контейнере только необходимый сервис, а distroless сэкономит место.
Согласен с тем, что докеризация — классное решение? Любишь Go и хочешь работать с нами? Загляни по этой ссылке с вакансиями для Go-разработчиков.
Возможно, ты помнишь, что ещё пару лет назад для разработки и тестирования приложений нужно было ставить на свою или виртуальную машину СУБД, брокер сообщений и прочий софт.
Только всё это — вчерашний день. Теперь достаточно поставить себе docker и скачать контейнеры, чтобы быстро проверить концепт или начать разработку.
Занимаешься микросервисными приложениями? Ответ тот же — ставь docker. С ним будет в разы проще поднять инфраструктуру, а с docker-compose заниматься разработкой и тестированием в максимально реалистичной среде.
Несколько доводов в пользу докеризации приложения:
Docker-образы не должны пугать тебя размерами, ведь multi-stage сборки помогут держать в контейнере только необходимый сервис, а distroless сэкономит место.
Согласен с тем, что докеризация — классное решение? Любишь Go и хочешь работать с нами? Загляни по этой ссылке с вакансиями для Go-разработчиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥Рекомендуем провести вторую половину лета с пользой, изучив Android разработку .
Мы собрали сложный материал и объясняем его максимально просто в нашем телеграм канале бесплатно, без смс и регистраций.
Научись:
- дизайну и созданию приложений
- правильной архитектуре
- разработке игр
- методам заработка на приложениях
Освой одну из самых топовых профессий в мире разработчика приложений с нуля, путешествуй и зарабатывай из любой точки планеты.
Не плати за курсы, кла
Мы собрали сложный материал и объясняем его максимально просто в нашем телеграм канале бесплатно, без смс и регистраций.
Научись:
- дизайну и созданию приложений
- правильной архитектуре
- разработке игр
- методам заработка на приложениях
Освой одну из самых топовых профессий в мире разработчика приложений с нуля, путешествуй и зарабатывай из любой точки планеты.
Не плати за курсы, кла
Каким будет вывод кода ниже? основной пакет
импорт ("фмт")
константа A int = 1 func main () { fmt.Println(A) }
импорт ("фмт")
константа A int = 1 func main () { fmt.Println(A) }
Anonymous Quiz
97%
1
2%
2
1%
4
0%
3
👨🏻💻 Реальный вопрос от реального человека
Не понимаю, почему нельзя так сделать... Подскажите, пожалуйста
validationErrors = validator.ValidationErrors{
&validator.FieldError{
FieldError: errors.FieldError{
Field: "Name",
Tag: "required",
Err: fmt.Errorf("Name is required"),
},
},
&validator.FieldError{
FieldError: errors.FieldError{
Field: "Age",
Tag: "gte",
Param: "18",
Err: fmt.Errorf("Age must be greater than or equal to 18"),
},
},
}
Golang задачи с собеседований
Не понимаю, почему нельзя так сделать... Подскажите, пожалуйста
validationErrors = validator.ValidationErrors{
&validator.FieldError{
FieldError: errors.FieldError{
Field: "Name",
Tag: "required",
Err: fmt.Errorf("Name is required"),
},
},
&validator.FieldError{
FieldError: errors.FieldError{
Field: "Age",
Tag: "gte",
Param: "18",
Err: fmt.Errorf("Age must be greater than or equal to 18"),
},
},
}
Golang задачи с собеседований
👨🏻💻 Реальный вопрос от реального человека
Имеется сервис интернет-магазина, написанный на Golang. Как выгрузить заказы в XML, формировать их. Посмотрел информацию в интернете, практически ничего нет. Каким способом это сделать лучше всего?
Golang задачи с собеседований
Имеется сервис интернет-магазина, написанный на Golang. Как выгрузить заказы в XML, формировать их. Посмотрел информацию в интернете, практически ничего нет. Каким способом это сделать лучше всего?
Golang задачи с собеседований
Forwarded from IT NEWS
Вышел Go 1.21
Состоялся релиз языка программирования Go 1.21. Этот проект развивает компания Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Исходный код языка Go распространяется под открытой лицензией BSD.
Согласно данным портала OpenNET, синтаксис Go основан на привычных элементах языка C, включая отдельные заимствования из языка Оберон. Язык Go достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно, без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке C.
Подробнее
IT NEWS
Состоялся релиз языка программирования Go 1.21. Этот проект развивает компания Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Исходный код языка Go распространяется под открытой лицензией BSD.
Согласно данным портала OpenNET, синтаксис Go основан на привычных элементах языка C, включая отдельные заимствования из языка Оберон. Язык Go достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно, без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке C.
Подробнее
IT NEWS
👨🏻💻 Вопрос:
Непоследовательный вывод символов в консоль
Хотел написать программу генерации паролей для тренировки, при написании допустил ошибку(начиная со 2 ифа я генерил не диапазон и прибавлял начальное значение, а наоборот), и наткнулся на большую неожиданность. Почему-то вывод работает не последовательно. В конце должно выводиться слово ata , но оно выводится в центре, а должно быть в конце:
6CMW
#1BS&ata"&6,#
соответсвие символов кодам смотрю по таблице. Если выводить просто коды, то вывод следующий:
25
29
16
54
67
77
31
87
20
12
15
65
37
43
51
34
38
54
17
28
44
35
13
29
30
35
49
66
83
38
30
22
ata
Я понял, что 6CWM это коды которые начинаются с 54,67 и далее выводит все видимые символы(до 54 тоже символы не видимы), где-то видимо там же и перенос строки образуется
Максимально упростил код, разбил по отдельным ифам, всё равно ata в середине
сам код чтобы запустить
сам код чтобы был тут:
Golang задачи с собеседований
Непоследовательный вывод символов в консоль
Хотел написать программу генерации паролей для тренировки, при написании допустил ошибку(начиная со 2 ифа я генерил не диапазон и прибавлял начальное значение, а наоборот), и наткнулся на большую неожиданность. Почему-то вывод работает не последовательно. В конце должно выводиться слово ata , но оно выводится в центре, а должно быть в конце:
6CMW
#1BS&ata"&6,#
соответсвие символов кодам смотрю по таблице. Если выводить просто коды, то вывод следующий:
25
29
16
54
67
77
31
87
20
12
15
65
37
43
51
34
38
54
17
28
44
35
13
29
30
35
49
66
83
38
30
22
ata
Я понял, что 6CWM это коды которые начинаются с 54,67 и далее выводит все видимые символы(до 54 тоже символы не видимы), где-то видимо там же и перенос строки образуется
Максимально упростил код, разбил по отдельным ифам, всё равно ata в середине
сам код чтобы запустить
сам код чтобы был тут:
package mainНо на самый главный вопрос я ответа не нахожу: почему слово
import ("fmt"
"math/rand"
)
func main() {
length := 32
for i := 0; i < length; i++ {
var temp int
var choise int
choise = rand.Intn(4)
if choise == 0{
temp = rand.Intn(26) + 65 //big symbs
}
if choise == 1{
temp = rand.Intn(48) + 10 //numbers
}
if choise == 2{
temp = rand.Intn(97) + 26 //small symbs
}
if choise == 3{
temp = rand.Intn(33) + 15// cpec symbs
}
fmt.Printf("%c",temp)
// fmt.Println(temp)
}
fmt.Printf("%c",'a')
fmt.Printf("%c",116)
fmt.Printf("%c",'a')
}
ata
выводится в середине. В правильной версии такого нет.Golang задачи с собеседований
👨🏻💻 Реальный вопрос от реального человека
Как почистить память после удаления структуры из List - golang
Как я могу удалить из памяти структуру и чтобы она вообще не вызывалась? Мне нужно чтобы когда я убирал из List она чистилась так же из памяти и останавливался цикл, но он не останавливается. Подскажите как сделать правильно, спасибо заранее.
Golang задачи с собеседований
Как почистить память после удаления структуры из List - golang
Как я могу удалить из памяти структуру и чтобы она вообще не вызывалась? Мне нужно чтобы когда я убирал из List она чистилась так же из памяти и останавливался цикл, но он не останавливается. Подскажите как сделать правильно, спасибо заранее.
type Player struct {[log] Create Player: 1 Remove Player: 1 test test. test...
PlayerID int
}
func (p Player) Create() *Player {
fmt.Println("Create Player:", p.PlayerID)
go func() {
for {
println("test")
time.Sleep(time.Second * 2)
}
}()
return &p
}
func main() {
playersList := list.New()
playersList.PushFront(Player{PlayerID: 1}.Create())
for e := playersList.Front(); e != nil; e = e.Next() {
println("Remove Player:", e.Value.(*Player).PlayerID)
playersList.Remove(e)
e.Value = nil
runtime.GC()
}
fmt.Scanf("h")
}
Golang задачи с собеседований
Forwarded from BZD • Книги для программистов
Git Repository Management in 30 Days.pdf
29.7 MB
📔 Title: Git Repository Management in 30 Days
#book #Git #EN
🌐 Lang.: English
🧔 Author: Sumit Jaiswal
🕘 Year: 2023
📑 Pages: 290
#️⃣ ISBN: 978-93-55518-071
📝 Description: Это пошаговое руководство для разработчиков, желающих овладеть искусством управления репозиторием Git. Книга охватывает все, начиная с основ работы с Git и заканчивая такими продвинутыми темами, как ветвление, слияние, ребазинг и разрешение конфликтов. Книга поможет вам научиться создавать, управлять и сотрудничать с репозиториями Git. Кроме того, она научит вас использовать команды, инструменты и рабочие процессы Git для повышения качества кода и оптимизации процесса разработки.
@bzd_channel
#book #Git #EN
🌐 Lang.: English
🧔 Author: Sumit Jaiswal
🕘 Year: 2023
📑 Pages: 290
#️⃣ ISBN: 978-93-55518-071
📝 Description: Это пошаговое руководство для разработчиков, желающих овладеть искусством управления репозиторием Git. Книга охватывает все, начиная с основ работы с Git и заканчивая такими продвинутыми темами, как ветвление, слияние, ребазинг и разрешение конфликтов. Книга поможет вам научиться создавать, управлять и сотрудничать с репозиториями Git. Кроме того, она научит вас использовать команды, инструменты и рабочие процессы Git для повышения качества кода и оптимизации процесса разработки.
@bzd_channel