Search
Write a publication
Pull to refresh
0
@108dimaread⁠-⁠only

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

Send message

«Она такая крошечная?» Как пройти скрининг и не продешевить

Level of difficultyEasy
Reading time10 min
Views23K

Скрининг — первый этап в цепочке собеседований, обычно это звонок с HR. Он позволяет отсеить откровенно лишних людей, которые не проходят базовые критерии отбора.

Именно на этом этапе можно наломать кучу дров: рассказать лишнего, назвать слишком маленькие зарплатные ожидания, произвести неловкое впечатление.

Пара нелепых оговорок — и тебе прилетает отказ, либо придётся собирать крошки с барского стола, работая на так-себе условиях.

Статья написана так, что тебе придётся приложить минимум когнитивных усилий, следуя пошаговому гайду

Нагнуть рынок

Наделяем Ansible состоянием, делая похожим на Terraform

Level of difficultyHard
Reading time7 min
Views10K

(Читать с толикой сарказма…) Все, кто работал с Ansible, знают, что он не хранит состояние результата своей работы. Это нелепое поведение Ansible, нельзя взять и просто удалить из git объекты конфигурации, чтобы они исчезли с управляемых систем, фу. При этом сразу вспоминается его величество Terraform с tfstate. Всех, кого раздражает подобное положение дел, прошу под кат.

Читать далее

Docker, VSCode, GitLab и Office: бесплатные альтернативы популярным сервисам для программирования и работы

Reading time4 min
Views23K

В результате приостановки работы зарубежных компаний и отключения российских компаний от платежных систем Visa и MasterCard многие программисты столкнулись с проблемой доступа к привычным сервисам. Рассказываем о бесплатных альтернативах продуктам, которые уже недоступны для российских пользователей по корпоративным подпискам или могут стать такими в ближайшее время.

Читать далее

ТОП горячих клавиш VS Code для начинающего джуна

Level of difficultyEasy
Reading time3 min
Views233K

«Поговорим не про Vim», олдам, сеньорам и тру-си-разработчикам на проверку: пользуетесь ли вы такими сочетаниями VS Code? Если же вы только начинаете программировать, влетаете в айти на реактивном самолете курсов по Питону, или просто не знаете ничего про хоткеи VS Code, возможно вам точно пригодится парочка сочетаний :)

Читать далее

Улучшение Visual Studio Code для новичков

Reading time5 min
Views48K

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

Читать далее

VSСode. Как настроить окружение для разработки в Docker на удаленном сервере через SSH

Level of difficultyEasy
Reading time3 min
Views25K

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

Читать далее

Подготовка эффективной среды для написания bash сценариев

Reading time17 min
Views40K

Bash, он же возрождённый shell, является по-прежнему одним из самых популярных командных процессоров и интерпретаторов сценариев. Как бы его ненавидели и не пытались заменить, всё равно он присутствует вокруг нас и никуда не собирается исчезать. Если вам приходится писать bash скрипты или вы только планируете этим заняться, данная статья написана для вас.

Читать далее

Как устроен внутри Github Copilot

Reading time12 min
Views12K

Github Copilot оказался для меня невероятно полезным. Часто он может волшебным образом читать мои мысли и давать полезные рекомендации. Больше всего меня удивила его способность верно «угадывать» функции/переменные по соседнему коду, в том числе и из других файлов. Это может происходить только в том случае, если расширение copilot отправляет ценную информацию из соседнего кода в модель Codex. Мне стало любопытно, как это работает, поэтому я решил изучить исходный код.

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

Какие уроки я извлёк из создания расширения VSCode с помощью GPT-4

Level of difficultyMedium
Reading time14 min
Views10K

В последнее время я много экспериментировал с написанием кода при помощи LLM (Large Language Model, большая языковая модель). На мой взгляд, эти инструменты отлично справляются с генерацией небольших самодостаточных фрагментов. К сожалению, что-то большее уже требует человеческого участия для оценки результата LLM и предоставления дальнейших инструкций.

В большинстве случаев, когда кто-то утверждает, что «GPT написал X», человек выступает для LLM в роли своеобразного REPL (Read-Eval-Print Loop, цикл чтение-оценка-вывод), внимательно подводя модель к функциональному результату. Я нисколько не хочу принизить ценность этого процесса – очень здорово, что он работает. Но можем ли мы шагнуть дальше? Можем ли использовать LLM для генерации ВСЕГО кода сложной программы за раз без человеческого вмешательства?
Читать дальше →

Редактор кода Visual Studio Code. Самый подробный гайд по настройке и установке плагинов для начинающих

Reading time23 min
Views935K
Бесплатный, мощный, очень популярный, с кучей дополнений, да что там говорить, сам Фейсбук выбрал его в качестве основного редактора!


Сегодня речь пойдет о редакторе кода Visual Studio Code или просто VS Code. Мы с тобой его установим, настроим, а также применим плагины, которые существенно упростят нам работу.
Читать дальше →

Мой подход по управлению временем/задачами используя VSCode

Reading time14 min
Views17K

Вот и наступил 2020 год. И как всегда в начале года мы ставим себе амбициозные цели на год, обещаем заняться планированием, стать лучше и т.п. Мы начинаем использовать новый крутой сервис по управлению временем и задачами, о котором прочитали накануне. Но проходит пару недель или пару месяцев, мы разочаровываемся в сервисе, забрасываем планирование и управление задачами. А ведь управление временем/задачами входит в семь навыков высокоэффективных людей, какими мы все хотели бы быть.


Так происходило и со мной: на протяжении последних десяти лет я пробовал различные сервисы и программы по управлению временем/задачами, читал море статей по этой теме, но всё как-то не мог найти свой идеальный подход до последнего времени. Последние пару лет я пришел к тому, что начал использовать Visual Studio Code (VSCode) и расширение Org Mode для управления временем и задачами. В этой статье я расскажу, как я это делаю. Не скажу, что я стал супер высокоэффективным, но эффект чувствуется.

Читать дальше →

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

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

image

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

Вопросы по Kubernetes достаточно часты на собеседованиях на инженерные вакансии, связанные с администрированием и эксплуатацией. Они могут варьироваться от базовых, рассчитанных на механическую проверку теоретических знаний («объясните, что такое service») до более сложных и комплексных, требующих глубинного понимания внутренних принципов Kubernetes и работы (каким образом опубликовать приложение, развёрнутое в Kubernetes). Давайте пойдём от базы в направлении возрастания сложности.
Читать дальше →

Настройки безопасности контейнеров и Kubernetes

Level of difficultyEasy
Reading time11 min
Views6K

В этой статье представлен список инструментов Linux и функционала Kubernetes, регулирующих безопасность контейнеров. Статья имеет описательный характер для базового понимания настроек безопасности, а также для систематизации полезных инструментов и полей спецификации k8s для этих целей. Статья основана на книгах, представленных в главе «Литература».

Безопасность контейнеров в Linux

Основной особенностью контейнеров является изоляция процессов средствами Linux. При этом, приложения в контейнере делят общее ядро операционной системы с другими приложениями. Какие же ограничения применяют контейнеры? 

Контейнеры должны контролировать права процесса, доступ к ресурсам хоста и доступ к другим файлам файловой системы. Разберемся со всем по порядку.

Ограничения прав процесса 

Можно настроить очень простое разграничение доступа для процесса: наличие или отсутствие прав root.

Также можно разрешить запускать некоторые процессы с привилегиями root обычному пользователю, повесив файлу флаг Setuid (если владелец файла -  пользователь root). Setuid позволяет вызвать процесс от имени владельца, а не от имени запускающего пользователя.

Обычно флаг setuid (+s) используют вспомогательные программы для назначения capabilities - возможностей, для которых требуются повышенные привилегии.

Это небезопасно, например, можно задать бит +s для bash-скрипта и через него под привилегиями root выполнить любое содержимое этого скрипта. Но это более правильный вариант, чем давать исполняемому файлу полные права админа. 

Читать далее

Kubernetes 1.29: бэкенд на nftables, изменение атрибутов тома и другие фичи

Level of difficultyMedium
Reading time25 min
Views7.1K

Сегодня ожидается выход очередной версии Kubernetes — 1.29. Среди главных изменений — бэкенд на основе nftables для kube-proxy, множественные CIDR для сервисов и функция QueueingHint, которая помогает решить, как повторно ставить поды в очередь. TaintManager стал отдельным контроллером, а список допустимых значений лейблов для метрики теперь можно настраивать динамически. Еще появился объект VolumeAttributesClass — он позволяет менять атрибуты тома после его заказа. Также стал доступен инструментарий для реализации структурированной auth-конфигурации, предусмотренный в KEP’е от «Фланта», и появилась нативная поддержка операции sleep для PreStop-хуков.

Читать далее

ТОП-7 статей на Хабр по Кубернетесу

Reading time2 min
Views8.4K

Перенос приложения на Kubernetes может быть связан с определенными сложностями, знать о которых лучше заранее. Собрали для вас дайджест лучших статей Хабра по k8s.

Читать далее

Собеседование Senior DevOps Engineer: вопросы

Level of difficultyEasy
Reading time6 min
Views39K

Вы когда-нибудь задумывались о том, какие вопросы задают DevOps инженеру на собеседовании? Да, есть вполне обоснованное мнение, что таких инженеров в принципе быть не может (или все инженеры команды являются проводниками методологии DevOps), но все же на рынке хватает вакансий «DevOps Engiineer» разных уровней. Сегодня мы рассмотрим вопросы DevOps инженерам высшего (без пипл менеджмента) уровня – Senior.

Читать далее

Новая золотая лихорадка в Кремниевой долине: бум работы в крипто-стартапах

Reading time7 min
Views15K

Калифорния, 1849 год. С того времени мало что изменилось.

Помешательство криптовалютами в уходящем году коснулось не только пользователей и инвесторов. Тысячи разработчиков и топ-менеджеров бросают свою теплую должность в Google, Meta, Amazon и других крупных компаниях, пытаясь быстро заработать свои миллиарды  с криптовалютой. Они говорят, что видят «уникальную» возможность, которая предоставляется один раз в жизни.

Читать дальше →

Делаем телеграм бота за 5 минут: быстрый старт с продвинутым шаблоном

Reading time2 min
Views29K

В последнее время я сделал насколько много ботов для телеграмма, что крайне преисполнился в том, как их писать, как хостить, да и в принципе выработал красивый шаблон для быстрого их создания.

Потыкать в проект, сделанный на этом шаблоне, можно тут.

Сделать бота за 5 минут

Information

Rating
Does not participate
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity

Specialization

Backend Developer, Application Developer
JavaScript
HTML
Node.js
GraphQL
Vue.js
Express
React