Pull to refresh
0
0
Yaroslav Koptev @Lest4t

Пользователь

Send message

Kubernetes: шпаргалка для собеседования

Level of difficultyEasy
Reading time10 min
Views34K
Всем привет! Меня зовут Олег, я работаю исполнительным директором по разработке в Газпромбанке. На разных этапах карьеры я участвовал во многих собеседованиях, а в настоящее время сам собеседую кандидатов на должность инженеров DevOps и системных администраторов в Газпромбанке, вследствие чего у меня сформировалось некоторое представление о вопросах, которые могут быть заданы соискателям. И сейчас я хочу остановиться на разделе вопросов про Kubernetes.

image

Сразу хочу сказать, что изначально планировал сделать одну статью, но в итоге получилась такая простыня, что пришлось разделить текст на две части. Ссылку на вторую опубликую здесь, как только она появится (вот она).

Вопросы по Kubernetes достаточно часты на собеседованиях на инженерные вакансии, связанные с администрированием и эксплуатацией. Они могут варьироваться от базовых, рассчитанных на механическую проверку теоретических знаний («объясните, что такое service») до более сложных и комплексных, требующих глубинного понимания внутренних принципов Kubernetes и работы (каким образом опубликовать приложение, развёрнутое в Kubernetes). Давайте пойдём от базы в направлении возрастания сложности.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments12

Пишем GPT в 60 строк NumPy (часть 1 из 2)

Level of difficultyMedium
Reading time16 min
Views71K

В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать дальше →
Total votes 96: ↑94 and ↓2+92
Comments33

Bittorrent с нуля на Go

Reading time15 min
Views20K


BitTorrent — протокол загрузки и распространения файлов через Интернет. В отличие от традиционных отношений клиент/сервер, когда загрузчики подключаются к центральному серверу (например, для просмотра фильма на Netflix или загрузки веб-страницы), участники сети BitTorrent, называемые одноранговыми узлами, загружают фрагменты файлов друг с друга. Это то, что делает BitTorrent одноранговым протоколом. Исследуем, как он работает, и создадим собственный клиент, который сможет находить одноранговые узлы и обмениваться с ними данными.

Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments9

Моя попытка сделать утилиту для очистки Linux

Reading time3 min
Views11K

Всем привет! Я начинающий разработчик на языке Go. До этого у меня был, так сказать, небольшой опыт, но в виде хобби. Во время изучения я также осваивал Linux, сейчас уже пользуюсь им как основной ОС.

Мой ноутбук довольно слабый, на борту всего 4ГБ ОЗУ, а на Windows существует программа, которая автоматически очищала оперативную память. Поискав в интернете, я понял, что нету такой утилиты, которая быстро и легко могла очистить оперативную память от мусора. Тогда я принялся попробовать написать ее самостоятельно.

В этой статье я расскажу, что я узнал об оперативной памяти и какими способами ее можно очистить.

Читать далее
Total votes 27: ↑15 and ↓12+3
Comments24

Трейсинг в Go — это просто

Reading time13 min
Views16K

В эпоху быстрорастущих приложений важно иметь возможность контролировать состояние системы в любой момент времени. Одними из требований для достижения этого являются логи и метрики, которые помогают нам следить за многими параметрами, такими как количество запросов в секунду (RPS), потребление памяти, cache git и т.д. Однако, есть ещё один полезный инструмент - трейсинг. В этой статье мы ознакомимся со стандартом OpenTelemetry в языке Go и инструментом Jaeger

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments13

Как писать код на Go? Подход Google. Часть первая

Reading time11 min
Views4.5K

Рекомендации по стилю для проектов из Google с открытым исходным кодом


Руководство по стилю Go


Принципы стиля


Есть несколько охватывающих всё принципов, которые резюмируют представления о том, как писать читаемый код на языке Go. Ниже перечислены признаки читаемого кода в порядке их важности:


  1. Ясность: Назначение и обоснованность кода должны быть понятны читателю.
  2. Простота: Код должен выполнять свою задачу самым простым способом.
  3. Лаконичность: Код должен содержать как можно меньше воды.
  4. Сопровождаемость: Код должен быть написан так, чтобы его легко было поддерживать.
  5. Согласованность: Код должен согласоваться с более масштабной кодовой базой Google.

Подробности — к старту курса по Backend-разработке на Go.

Читать дальше →
Total votes 8: ↑5 and ↓3+2
Comments1

Как починить QA-отдел, или Ещё один переезд в Go

Reading time11 min
Views6.4K

Привет, Хабр.  

Меня зовут Саша, я занимаюсь разработкой инструментов мониторинга тестирования, но по факту ещё и исполняю роль руководителя направления QA в домене Маркетплейса, ответственном за создание всех карточек товаров на Ozon.  

Если вкратце, наша задача заключается в сопровождении селлера от этапа загрузки файла Excel, в котором есть сто тысяч пар носков, до момента, когда все эти носки окажутся на витрине Ozon. Очевидно, что мы занимаемся не только парсингом экселек — у нас есть и highload-сервисы раздачи контента, несколько стейт-машин, системы с мастер-данными всего Озона, и немалый отдел ML, так что мы регулярно сталкиваемся со сложными и нестандартными задачами, подход к решению которых, впрочем, мы всё-таки пытаемся стандартизировать. 

За последние полтора года, как наше направление отделилось от основной разработки Маркетплейса, QA-отдел вырос в пять раз, с 5 до 25 QA-инженеров. О том, как мы решали вопросы масштабирования команды и плакали пытались справиться с legacy-наследием в доставшихся нам процессах, подробнее расскажу под катом. 

Читать далее
Total votes 24: ↑22 and ↓2+20
Comments6

Настраиваем Gitlab CI для сборки Android-проекта

Reading time5 min
Views8.8K

Привет! Меня зовут Даша, я Android-разработчик в команде онлайн-кинотеатра PREMIER и я хочу с вами поделиться историей как мы начали приводить в порядок Gitlab CI скрипты :)

В нашем проекте стало много вариантов сборок и чтобы не тратить кучу времени на ожидание и поиск необходимого билда нам нужно было хотя бы получить отбивку об окончании работы джобы. А затем - решить неудобства с копипастой, чтобы поддержка скриптов не вызывала выгорание:) Погнали!

Погнали!
Total votes 14: ↑13 and ↓1+12
Comments9

Как сделать программу на Go быстрее на 42%, изменив один символ

Reading time5 min
Views30K

Если вы прочитали заголовок и подумали «ну, ты, наверно, сделал сначала что-то глупое», то вы правы! Но что такое программирование, как не упражнения в глупых ошибках? Поиск глупых ошибок — это и есть самое большое удовольствие!

Также стоит заранее сделать оговорку о бенчмаркинге: ускорение на 42% было замерено при выполнении программы с моими данными и на моём компьютере, поэтому относитесь к этому результату с долей скепсиса.

Что делает программа?


codeowners — это программа на Go, выводящая владельцев каждого из файлов в репозитории согласно набору правил, указанному в файле GitHub CODEOWNERS. Правило может гласить, что всеми файлами с расширением .go владеет команда @gophers, или что всеми файлами в папке docs/ владеет команда @docs.
Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments46

10 рекомендаций по работе с Ansible

Reading time6 min
Views11K

Ansible — топовое решение для управления парком геораспределенных серверов и позволяет конфигурировать нужные состояния с помощью кода. Но даже несмотря на популярность решения, в том числе среди российских разработчиков, не все знают, как оптимизировать работу с этим инструментом, из-за чего вынуждены работать с «костылями».  

Делимся советами, как «выжать» из Ansible по-максимуму, не сталкиваясь с проблемами.

Читать далее
Total votes 19: ↑18 and ↓1+17
Comments0

Простой CI/CD на Ansible Semaphore

Reading time3 min
Views17K

CI/CD стал неотъемлемой частью процесса разработки ПО, как в крупных, так и в небольших компаниях и проектах, в том числе open source.

Самыми популярными CI/CD-системами является GitLab и Jenkins. Обе эти системы являются мощными, расширяемыми и включают множество дополнительных возможностей. С помощью этих систем можно построить CI/CD любой сложности.

Но часто бывает, что что нужно максимально простое и прямолинейное решение, а не функциональность.

В этом случае Ansible Semaphore это то что нужно.

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments10

Пишем обёртку для API Токийской фондовой биржи на Golang

Reading time11 min
Views5.1K

Целевым REST API будет jquants-api, описанный в предыдущей статье.

Я решил реализовать обёртку на Golang, что оказалось чрезвычайно быстро и удобно. В итоге я выполнил эту задачу за один вечер, а получившуюся Golang-обёртку с базовыми функциями загрузил на GitHub.

В этой статье я вкратце расскажу о процессе написания API и моих шагах по реализации проекта.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments6

Книга «Kali Linux: библия пентестера»

Reading time13 min
Views26K
image Как дела, Хаброжители?

Пентестеры должны в совершенстве знать Kali, чтобы эффективно выполнять свои обязанности. В книге есть все об инструментах и способах, которыми пользуются хакеры при взломе систем. Вы научитесь выстраивать надежную защиту от несанкционированного доступа к виртуальным ресурсам. Вне зависимости от уровня подготовки и начинающий, и практикующий пентестер почерпнет важные для себя сведения.

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments3

Что читать DevOps-инженеру: 7 полезных книг

Reading time4 min
Views25K

DevOps-инженеры знают, как сложно найти действительно познавательную литературу. В этой профессии очень важны постоянное самосовершенствование и изучение новых технологий. Книги помогают систематизировать знания и могут подсказать приемы, которые сделают работу эффективнее. В новой подборке от экспертов МойОфис мы советуем семь стоящих изданий. Подробности — под катом.

Читать далее
Total votes 53: ↑52 and ↓1+51
Comments17

Что такое искусственный интеллект

Reading time12 min
Views21K

Разумный робот Дзенъятта. Скриншот из игры Overwatch. © Blizzard.

Тем, кто только начинает свой путь в изучении искусственного интеллекта (ИИ, ИскИн, Artificial Intelegence, AI), подчас бывает сложно разобраться с тем, что это вообще такое. Несмотря на то, что в окружающем инфополе этот термин встречается довольно часто, помощи в понимании это не добавляет, а иногда и просто вредит. Проблема в том, что практически везде он трактуется по-разному.

В этой статье мы проведем обзор существующих определений ИИ, попытаемся их систематизировать и разложить полученные знания по полочкам.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments36

Европейские альтернативы американским интернет-сервисам

Reading time8 min
Views16K

Зашифрованное хранилище файлов CryptDrive.cz (Чехия)

Судя по последним событиям, Евросоюз начал по-взрослому давить на Google, Facebook и другие американские компании, которые собирают персональные данные европейских граждан и отправляют в США.

Например, в начале 2022 года популярный инструмент Google Analytics уже запретили к использованию в трёх странах Евросоюза. Чего нам ожидать дальше? Простая экстраполяция:

  • Во-первых, остальные страны ЕС запретят Google Analytics.
  • Во-вторых, они запретят другие американские сервисы.
  • В-третьих, действия ЕС скопируют некоторые государства «догоняющего развития» вроде РФ. Хотя необязательно эти государства думают о правах граждан. Просто считают их (граждан) своей собственностью по праву владения.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments24

Автоматизированный бот на Selenium

Reading time12 min
Views20K

Selenium – один из самых популярных фреймворков автоматизации тестирования. Несмотря на то, что Selenium поддерживает шесть популярных языков программирования, его можно использовать для волшебной реализации с наименьшим количеством кода в связке с Python.

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments1

cors-anywhere на чистом конфиге nginx

Reading time5 min
Views21K

Если вы сталкивались с CORS, то знаете всю ту боль, которую испытывает разработчик, когда нужно сходить к API на другом домене. Если конфигурация сервера не доступна для настройки, то использовали какое-нибудь решение на основе не менее популярного решения cors-anywhere.

Не одним CORS едины
Total votes 11: ↑10 and ↓1+9
Comments12
1
23 ...

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity