Pull to refresh
-1
0
Send message

Коллеги, вы меня огорчаете

Reading time12 min
Views182K
В июле и августе 2020 года я, с подачи Григория Петрова, проводил для компании Evrone технические интервью на позицию Senior Golang Backend developer. И, видимо, буду вынужден продолжать проводить, о чём ниже.

Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Go». То есть, сформулирована она была по-человечески, перевод на канцелярит — мой. Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько лет — старый был с жестким закосом под DevOps. Методику, которой я пользуюсь для создания опросников и количественной оценки соответствия кандидатов, я излагал в своем докладе «Техническое интервью как инженерная задача» на конференции Saint TeamLead 2019.

И вот что я хочу сказать вам, коллеги: вы меня огорчаете.


Читать дальше →
Total votes 145: ↑101 and ↓44+93
Comments1153

Шпаргалка для собеса по GoLang

Reading time30 min
Views39K

"Правильно заданный вопрос - половина ответа". Осваиваю профессию Prompt Engineering. Это ответы на вопросы. Мопед не мой. Спасибо, Codeium. Не обрабатывал наводящие подвопросы, а надо бы. Но может быть кому-то пригодится и в таком виде.

Читать далее
Total votes 19: ↑9 and ↓10+1
Comments41

Сказ о том, как я за год решил более 600 leetcode задач

Level of difficultyEasy
Reading time7 min
Views102K

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Total votes 121: ↑112 and ↓9+129
Comments407

Как мы решаем проблемы со склонением слов для задач seo-оптимизации с помощью phpMorphy

Reading time9 min
Views8.2K

Как мы решаем проблемы со склонением для задач SEO-оптимизации с помощью phpMorphy.

Делимся решением!

Читать далее
Total votes 19: ↑17 and ↓2+21
Comments6

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Level of difficultyEasy
Reading time8 min
Views207K

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

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

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

Читать далее
Total votes 156: ↑149 and ↓7+177
Comments178

Bittorrent с нуля на Go

Reading time15 min
Views22K


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

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

PHPStorm + XDebug + Docker

Reading time3 min
Views34K

Ещё одна статья на избитую тему? Да! Потому что за два часа поиска не нашёл ни одной, по которой можно было пройтись от и до и получить работающее окружение.

Шагов, на самом деле, немного, все очень простые, нужно лишь...

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments13

Tutorial по обмену с 1С. Часть четвертая: Обмен через промежуточную базу данных

Reading time5 min
Views3.9K

В 2022 году на долю маркетплейсов приходится более 65% рынка онлайн-продаж в секторе B2C. На сегодняшний день площадки занимают основную долю рынка электронной коммерции, и их популярность растет с каждым днём.

Тренд последних лет  — маркетплейсы. 70% россиян хотя бы раз в месяц приобретают товары на площадках.

Чтобы соответствовать современным требованиям, нужно держать руку на пульсе: первыми узнавать о новейших технологиях  — первыми внедрять  — первыми получать результат.

В статье мы рассмотрим, какие преимущества есть у современного асинхронного обмена над типовым, какие могут быть сложности при реализации, какие есть риски.

Читать далее
Rating0
Comments7

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 1. Подготовка рабочего стенда

Reading time5 min
Views83K

Приветствую тебя, дорогой читатель в самой первой вводной части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux».

Идеей, побудившей меня к написанию данной серии статей является мое желание поделиться собственным опытом в области тестирования на проникновение в рамках проводимых мной аудитов информационной безопасности финансовых организаций, и попытаться осветить важные, на мой взгляд, ключевые моменты касаемо подхода, инструментов, приемов и методов. Конечно же в сети очень много статей и книг посвященных данной теме (например, замечательная книга Дениела Г. Грэма «Этичный хакинг. Практическое руководство по взлому» или «Kali Linux. Тестирование на проникновение и безопасность» - труд целого коллектива высококлассных специалистов), программы курсов от Offensive Security, EC-Council, но далеко не у всех есть материальные возможности оплачивать дорогостоящие курсы, а в дополнение к учебникам хотелось бы больше практических примеров основанных на чьем-то опыте.

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

Мы будем использовать подход максимально приближенный к сценариям атак проводимых злоумышленниками, а также вдоволь попрактикуемся на отдельных примерах и разберем такие темы как разведка и сбор информации (footprinting), сканирование ресурсов с целью обнаружения известных уязвимостей, применение эксплоитов из базы Metasploit framework для получения доступа к системе, повышение привилегий до уровня root-пользователя за счет уязвимого ПО (privilege escalation), рассмотрим методы социальной инженерии, сетевые атаки канального уровня (MAC-spoofing, ARP-spoofing, DHCP starvation), способы атак на веб-сервера, перехват и анализ трафика с помощью сетевых снифферов и многое другое.

Читать далее
Total votes 24: ↑20 and ↓4+16
Comments31

8 игр для школьников, которые научат текстовому программированию

Reading time5 min
Views19K

Хабр, привет! Сегодня хочу поделиться подборкой игр для детей и подростков, обучающих текстовому программированию. Научиться программировать можно самостоятельно, нужна только усидчивость и интерес к IT. 

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

Для удобства я поделила игры, основываясь на наличии русскоязычной локализации. Большинство в подборке браузерные, что очень удобно. Начинать заниматься можно с 7 лет, конечно, возможно, малышам потребуется помощь родителя.

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments11

Краткий справочник по «всем-всем» командам Linux

Level of difficultyMedium
Reading time80 min
Views177K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1171 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 105: ↑102 and ↓3+120
Comments114

Прекратите использовать console.log

Reading time2 min
Views33K

Прекратите использовать console.log для всего ?. Я вижу, как многие разработчики регулярно используют console.log метод таким образом, который я считаю неправильным.

Недостатки использование console.log для отладки

Многие разработчики до сих пор используют console.log метод для отладки своего приложения. Например, чтобы убедиться, что код запускается или что переменная имеет правильное значение.

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

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

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

Прекратите использовать console.log
Total votes 45: ↑8 and ↓37-26
Comments27

Node.js: разрабатываем пакетный менеджер

Reading time15 min
Views6K



Привет, друзья!


Вам когда-нибудь хотелось узнать, как под капотом работают пакетные менеджеры (Package Manager, PM) — интерфейсы командной строки (Command Line Interface, CLI) для установки зависимостей проектов наподобие npm или yarn? Если хотелось, тогда эта статья для вас.


В данном туториале мы разработаем простой пакетный менеджер на Node.js и TypeScript. В качестве образца для подражания мы будем использовать yarn. Если вы не знакомы с TS, советую взглянуть на эту карманную книгу.


Наш CLI будет называться my-yarn. В качестве lock-файла (yarn.lock, package-lock.json) он будет использовать файл my-yarn.yml.


Источник вдохновения.


Код проекта.

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

Как правильно верстать в 2022 году. Часть 1

Reading time11 min
Views91K

Меня зовут Николай, я Frontend-разработчик IT-компании Relog. Хочу рассказать о самых распространённых ошибках в вёрстке современных проектов.

Дело в том, что лишь малая часть современных фронтендеров обращает внимание на работу с HTML и CSS, предпочитая готовые решения, вроде UI-библиотек и систем сеток. Но эти решения неидеальные и приходится дописывать обёртки вокруг них, видоизменять код, переписывать стили и совершать прочие действия для соответствия требованиям проекта. Тут-то и начинаются проблемы: вёрстка местами становится избыточной, стили переназначются через important и с каждым релизом проект всё сложней поддерживать. Я уже не говорю об удобстве использования и доступности. Об этом думают вообще в последнюю очередь.

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

Читать далее
Total votes 41: ↑39 and ↓2+44
Comments42

Профилирование и оптимизация программ на Go

Reading time25 min
Views92K

Введение


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

Что такое профайлинг и оптимизация? Если ваша программа работает недостаточно быстро, использует слишком много памяти, неоптимально использует процессор, вы хотите понять, в чем дело, и исправить — это и есть профайлинг и оптимизация.

Я привел такое определение, чтобы сразу отсечь вопросы некорректной работы приложения. В этой статье мы не будем говорить о проблемах мультитредового программирования, о дата-рейсах (англ. data race), о поиске ошибок (англ. debugging). Для всего этого в Go есть свои утилиты и подходы, но оставим эту тему на будущее.



Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments18

Основы Linux (обзор с практическим уклоном)

Reading time14 min
Views329K

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

В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или поглубже изучить Linux, повысив уровень своей квалификации. Вместе с тем полноценных обзоров с практическом уклоном по типу «все и сразу» написано не так уж и много (особенно на русском языке).

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

Читать далее
Total votes 59: ↑55 and ↓4+68
Comments44

Простой и эффектный parallax-эффект без JavaScript

Reading time3 min
Views8.4K

Всем привет! Буквально за 5 минут расскажу, как сделать parallax-эффект, который помог нам наглядно показать стилистические различия между светлой и темной темами на сайте «Дизайн-система НЛМК».

Parallax-эффект позволяет пользователю увидеть изменения темы у компонентов при скролле страницы, причем сами компоненты зафиксированы, а линия смены темы двигается синхронно со скроллом.

Читать далее
Total votes 10: ↑7 and ↓3+5
Comments9

Изображения для вэба

Reading time2 min
Views2.7K

Картинка имеет большое значение в современном мире, в том числе, и в рамках интернет продаж - и изображения товаров, и фото готовых работ и объектов или просто привлекательные снимки офиса и сотрудников.
На сайтах присутствует весь спектр пиксельных (и не только) изображений.
Неумелое и беспорядочное использование большого количества картинок может привести к низкой скорости загрузки сайта.

Основная ошибка в подборе изображений для сайта - перфекционизм.

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

Читать далее
Total votes 15: ↑0 and ↓15-15
Comments7

7 многообещающих расширений VS Code 2021 года

Reading time4 min
Views16K

К старту курса по Fullstack-разработке на Python делимся подборкой расширений Visual Studio Code, среди которых вы найдёте генератор документации для кода JavaScript на базе ИИ и лёгкий, простой клиент REST API. За подробностями приглашаем под кат.

Читать далее
Total votes 21: ↑17 and ↓4+14
Comments5

Docker: заметки веб-разработчика. Итерация вторая

Reading time9 min
Views20K


Привет, друзья!


Продолжаю делиться с вами заметками о Docker.


Заметки состоят из 4 частей: 2 теоретических и 2 практических.


Если быть более конкретным:


  • первая часть посвящена самому Docker, Docker CLI и Dockerfile;
  • в этой части рассказывается о Docker Compose;
  • в третьей части мы разработаем приложение, состоящее из 3 сервисов (клиента, админки и API) и базы данных (PostgreSQL);
  • в четвертой части мы это приложение "контейнеризуем".

Пришел к выводу, что в первой части я был излишне многословен, поэтому в этой части буду более лаконичным.

Читать дальше →
Total votes 12: ↑10 and ↓2+9
Comments2
1

Information

Rating
Does not participate
Registered
Activity