Как стать автором
Обновить
143
0.2
Виктор @TyVik

Full-stack developer

Отправить сообщение

Как организовать систему оплаты в компаниях, занимающихся разработкой

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров6.4K

Любая программная компания рано или поздно сталкивается с проблемой должностей. Некоторые организации довольствуются «плоской» системой, но в отсутствие системы должностей возникают теневые иерархии, что на самом деле хуже. Должности дают чёткую демаркацию ожиданий от конкретного сотрудника. Например, гораздо проще возложить на ведущего разработчика ответственность за техническое руководство, если эта роль чётко определена. Без определений должностей наверх будут подниматься самые громкие, а тихие и вдумчивые останутся незамеченными.

Сложность чёткого определения должностей заключается в том, что люди пытаются обмануть систему (всегда заявляя, что они заслуживают новой должности/повышения зарплаты). Я наблюдал, как для борьбы с этим организации создают всё более длинные определения, позволяющие избегать пограничных случаев. Постепенно определения начинают занимать несколько страниц и перестают умещаться в головах. В процессе сложности системы соблюдение её правил ослабевает, а потом люди просто перестают им следовать. Я считаю, что есть более правильный путь, поэтому предлагаю следующее:

Не платите за то, сколько людей под руководством или сколько строк кода они написали. Платите им за генерируемые результаты.

Эта философия сильна и наделяет свободой. Неважно, если вы сотрудник, вносящий индивидуальный вклад (individual contributor, IC), занимаетесь техническим руководством или управлением командой. Важно то, насколько ваш вклад влияет на прибыль бизнеса.

В этом посте предлагается многоуровневая система, которую можно применять к IC, техническим руководителям и руководителям команд.
Читать дальше →
Всего голосов 50: ↑46 и ↓4+42
Комментарии7

Синхронизация локальных изменений с docker/kubernetes контейнером

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.9K

Салют!

Хочу рассказать вам про такие замечательные инструменты как docker compose(быть точнее про новую возможность watch), skaffold, tilt.

Рассказать для чего они полезны, как пользоваться и с примерами.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии6

Как стать VPN провайдером за один вечер

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров60K

Рассказываю о своём опыте использования Xray (с протоколом VLESS-Reality) - одного из лучших решений для преодоления интернет-цензуры на сегодняшний день. Я потратил много времени на то, чтобы разобраться с ним - теперь вам достаточно одного вечера, чтобы поднять свой сервер на несколько десятков пользователей, c xray на борту!

скрипт ex.sh для простой настройки и установки; есть поддержка Docker

легко добавлять пользователей; клиентские конфиги в форме url-ссылок

правильные конфиги: скрытность + удобство

трафик популярных российских сайтов идёт напрямую, a не через сервер

для xray есть приложения под все популярные ОС - делюсь инструкциями

только https, нет udp; торренты через сервер блокируются по возможности

мой проект на гитхабе: easy-xray

Интересны детали? Добро пожаловать под кат
Всего голосов 71: ↑70 и ↓1+69
Комментарии142

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

Уровень сложностиСредний
Время на прочтение54 мин
Количество просмотров80K

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

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

Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.

Здесь есть и примеры довольно сложных запросов с агрегирующими функциями, триггерами, длинными подзапросами, с оконными функциями. Помимо этого, часть примеров посвящена работе с SQL в Python, используя sqlite3, pandas, polars. Этот список запросов с комментариями можно использовать как наглядное пособие для изучения SQL.

Читать далее
Всего голосов 125: ↑122 и ↓3+119
Комментарии7

Security code review.  Подходы и инструменты AppSec инженера

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.7K

Для поиска уязвимостей в приложениях существует множество инструментов. SAST, DAST, IAST, SCA помогают в этом процессе, но часто не покрывают целые категории уязвимостей.

Часть уязвимостей эффективнее искать в коде во время ручного ревью и пентеста. 
В этой статье остановимся на ревью кода.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии2

Structurizr, описание, перевод (часть 1/3)

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.7K

В данной статье содержится вольный перевод документации по Structurizr.

Из-за большого объема информация разделена на три статьи:

общее описание языка (эта статья);

синтаксис;

книга рецептов.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Как мы уложили компьютерный мультик в 8 кБ

Время на прочтение16 мин
Количество просмотров14K

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

В апреле 2023 года, спустя несколько месяцев работы, мы, наконец, выкатили ленту Барашек и цветок. Можете сами скачать его или проследить на YouTube ход выполнения программы.

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

Читать далее
Всего голосов 92: ↑90 и ↓2+88
Комментарии32

Умный многоквартирный дом «Булычев» класса А: первое знакомство

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров11K

Спрос на квартиры с умными функциями продолжает расти. Но и покупатели, и девелоперы понимают умные функции по-разному. Как быть?

На помощь приходит разделение умных домов на классы от «‎Единого ресурса застройщиков»‎. Высший класс А получают лишь немногие многоквартирные дома в России. К счастью, нам как раз удалось в таком побывать.

Умный дом «Булычев» пока не сдан, но для посещения открыта тестовая зона на одном из этажей. Мы предлагаем отправиться вместе с нами на экскурсию и посмотреть, какие умные функции получит покупатель квартиры в этом доме.

Интересно? Ныряйте под кат.

Читать далее
Всего голосов 25: ↑19 и ↓6+13
Комментарии59

Бесплатные курсы для изучения SQL в 2024 году

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров29K

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

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

2. Базовый навык: SQL является одним из основных навыков, которые должен иметь специалист программист. Он позволяет выполнять запросы к базам данных, фильтровать данные, объединять таблицы, создавать новые таблицы и многое другое. Эти навыки необходимы для работы с данными и выполнения различных аналитических задач.

3. Интеграция с другими инструментами: SQL интегрируется с другими инструментами и языками программирования, такими как Python или R. Знание SQL позволяет легко передавать данные между различными инструментами и выполнять сложные аналитические задачи, комбинируя возможности различных инструментов.

Читать
Всего голосов 18: ↑13 и ↓5+8
Комментарии3

Как прогнозировать время выполнения задач

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров32K

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

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

Читать далее
Всего голосов 70: ↑68 и ↓2+66
Комментарии57

Как я клавиатуру изобретал

Время на прочтение12 мин
Количество просмотров16K

Делаю свой хардкорный кастом механической клавиатуры с низкопрофильными переключателями полностью с нуля

Читать далее
Всего голосов 95: ↑95 и ↓0+95
Комментарии61

Как работает управление памятью в Rust без сборщика мусора

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров9.8K

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

Читать далее
Всего голосов 41: ↑37 и ↓4+33
Комментарии5

Как запустить собственную GSM-сеть за пять минут при помощи SDR

Уровень сложностиСложный
Время на прочтение10 мин
Количество просмотров35K
Приветствую всех!

Давным-давно я уже рассказывал про то, как в домашних условиях поднять GSM-сеть при помощи комплектующих, доступных любому школьнику. И в той статье я мельком упомянул, что идеальным в плане производительности вариантом будет запускать сети при помощи SDR, а не телефонов.



Итак, в сегодняшней статье поговорим о том, как быть владельцам SDR, желающим запустить свою GSM-сеть. Узнаем, какой софт нужен, чтобы заставить её работать в прямом смысле слова за пять минут. Попутно запустим GPRS и ненадолго побываем в 2007 году. Традиционно будет много интересного.
Читать дальше →
Всего голосов 107: ↑107 и ↓0+107
Комментарии88

Информация об информации. Энтропия Шеннона, демон Максвелла и предел Ландауэра

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров20K

Информация – одно из самых неоднозначных и неопределённых понятий в науке и философии. Для гуманитария это любые сведения, которые можно запомнить и передать в устной или письменной форме. Для математика это абстрактная сущность, сохраняющаяся при вычислительном изоморфизме. Для физика-теоретика это набор квантовых чисел, характеризующих состояние элементарной частицы. Для программиста это цифровые данные, которые можно представить в двоичном коде и измерить в битах. Для философа-материалиста это отражение многообразия окружающего мира с помощью знаков и сигналов. Для философа-идеалиста это нематериальная, неизмеримая и нелокальная сущность, что-то связанное с духом или сознанием. Для эзотериков это некая метафизическая субстанция или информационное поле. Что же такое информация на самом деле? В данной лекции я покажу, что информация – физическая, объективная, измеряемая величина, в которой нет ничего субъективного и мистического. Заодно мы разберёмся, что такое энтропия по Шеннону, насколько избыточен естественный язык, в чём заключается принцип Ландауэра и обладает ли информация массой.

Читать далее
Всего голосов 47: ↑45 и ↓2+43
Комментарии166

Компилятор за выходные: таблицы символов

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров7.6K

Как водится воскресным вечером, снова я с моим компилятором. На этот раз я расскажу, как работают области видимости переменных и как перегружать функции. Это позволит нам скомпилировать демку про́клятого огня, а также я накидал фантазию на тему игрушки арканоид (скриншот на КПДВ, видео в конце статьи). Я на удивление сам долго залипал на эту анимацию :)

На всякий случай я даю код и на wend, и на C, поскольку понимаю, что код на моём языке вряд ли интересен кому-то помимо того, кто реально возьмётся за компилятор. А вот мелкий код с интересными эффектами всегда найдёт свою публику. Кстати, если у вас есть идеи на тему чего-то интересного, что можно запрограммировать в полста строчек кода, делитесь в комментариях, я внимательно слушаю!

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии2

«Волчья пена» для полупроводников и не только: краткая история вольфрама

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.8K

Мы продолжаем рассказывать о различных металлах, истории их открытия, применении и патентом аспекте. На этот раз речь пойдет о вольфраме. Данный металл имеет атомный номер 74. В природе он имеет пять изотопов, четыре из которых стабильны, а пятый имеет большой период полураспада. Содержание вольфрама в земной коре составляет в среднем 1,3 г/т.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии2

Ценности как инструмент принятия сложных решений: как мы упрощаем взаимодействие команд и приходим к единому мнению

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров3.6K

Последнее время мы активно растем. За год количество сотрудников «Фланта» увеличилось в два раза. И каждый специалист приносит в компанию свои опыт, видение и подходы. Мы ценим, что у нашей команды есть разные точки зрения на процессы, развитие инструментов, вопросы взаимодействия с нашими партнерами и внутри компании. При этом мы стали замечать, что тратим много времени на то, чтобы договориться.

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

Читать далее
Всего голосов 37: ↑34 и ↓3+31
Комментарии9

Бесплатные векторные карты на своём хостинге

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров14K

Векторные карты Protomaps на базе OSM

Каждый веб-разработчик знает о OpenStreetMap (OSM), свободной альтернативе Google Maps. Несмотря на всеобщую известность OSM, у некоторых всё-таки возникают вопросы: как сделать веб-карту с открытыми данными OSM, как самостоятельно публиковать карты?

На эту тему есть популярные руководства, в том числе по работе с базами PostGIS и запуску тайлсерверов для реализации бесшовных карт OSM. Но есть принципиально иной подход — векторные карты Protomaps, которые обеспечивают более высокое разрешение, настройку внешнего вида и наложение произвольных меток. Они изначально предполагают максимальную простоту в создании своих карт. А главное, что разместить тайлы можно на своём хостинге или в облаке.
Читать дальше →
Всего голосов 89: ↑86 и ↓3+83
Комментарии12

Где учить Frontend бесплатно в 2024 году

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров34K

В 2024 году изучать frontend по-прежнему актуально. Вот несколько причин, почему это может быть полезным:

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

2. Рост спроса на разработчиков: Веб-разработка остается одной из самых востребованных отраслей IT. Спрос на frontend-разработчиков будет продолжать расти, так как все больше компаний стремятся создавать привлекательные и функциональные веб-приложения.

3. Возможность карьерного роста: Уверенное владение frontend-навыками может открыть двери к различным возможностям карьерного роста. Вы сможете работать над различными проектами, включая веб-сайты, веб-приложения, мобильные приложения и другие интерактивные решения.

4. Комбинированные навыки: Знание frontend-разработки может быть полезным дополнением к другим IT-навыкам. Например, если вы уже знаете backend-разработку, изучение frontend поможет вам создавать полноценные веб-приложения самостоятельно.

5. Творческий потенциал: Frontend-разработка предоставляет возможность реализовать свои творческие идеи и создавать уникальные пользовательские интерфейсы. Вы сможете воплотить свою визуальную концепцию и улучшить пользовательский опыт.

В целом, учить frontend в 2024 году будет полезно для тех, кто хочет развиваться в сфере веб-разработки, создавать современные и инновационные веб-приложения и иметь перспективы для карьерного роста.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии14

Первый QA-учебник не о том, ЧТО нужно знать (про это сказано достаточно), а КАК правильно учиться и быстрее найти работу

Время на прочтение15 мин
Количество просмотров18K

Гуд ньюз эвриван! У нас с друзьями есть традиция — каждый год мы пишем хотя бы один большой IT-учебник. 

В 2023 году мы выпустили бесплатный 100-Year QA-Textbook - интерактивный учебник по тестированию на английском и русском языках. 700+ страниц (без учета картинок!), 40 наборов встроенных тестов. По нему начали заниматься более 10’000 студентов, а хабр-статью про него прочитали более 90’000 раз

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

А кроме учебников для новичков, в 2024 году мы выпустим два бесплатных учебника для QA-джунов/мидлов.

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии3

Информация

В рейтинге
2 072-й
Откуда
Краснодар, Краснодарский край, Россия
Дата рождения
Зарегистрирован
Активность