Как стать автором
Обновить
27
0.2
Anton Larin @AntonLarinLive

Senior Software Developer

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

Переход с iptables на nftables. Краткий справочник

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

В Debian теперь нет iptables. Во всяком случае, по умолчанию.

Узнал я об этом, когда на Debian 11 ввёл команду iptables и получил “command not found”. Сильно удивился и стал читать документацию. Оказалось, теперь нужно использовать nftables.

Хорошие новости: одна утилита nft заменяет четыре прежних — iptables, ip6tables, ebtables и arptables.

Плохие новости: документация (man nft) содержит больше 3 тысяч строк.

Чтобы вам не пришлось всё это читать, я написал небольшое руководство по переходу с iptables на nftables. Точнее, краткое практическое пособие по основам nftables. Без углубления в теорию и сложные места. С примерами.
Читать дальше →
Всего голосов 126: ↑126 и ↓0+126
Комментарии46

Оптика в техническом зрении. Лекция 1: Объектив

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

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

Меня зовут Андрей, я – оптик и инженер-конструктор оптических приборов в одном лице.

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

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

Читать далее
Всего голосов 44: ↑42 и ↓2+52
Комментарии84

Jira и Trello уходят из России. В какой таск-трекер перейти без боли, чтобы статусы и ответственные сохранились?

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

Разработчик программного обеспечения Atlassian, который владеет Trello и Jira, начнет отключать от сервисов учетные записи, зарегистрированные из России и Белоруссии. Об этом компания сообщила в рассылке для пользователей несколько дней назад. Что делать тем, чьи процессы завязаны на эти сервисы?

Всем привет! Меня зовут Саша Комбаров и недавно я перевел команду из 50 человек из Trello в отечественный аналог. Расскажу с какими проблемами мы столкнулись, какие были аналоги и почему идеальный трекер вы никогда не найдете. В общем, наш личный опыт. Кстати, именно поэтому мы разработали надстройку над трекером: систему подсчета эффективности исполнителей и проектов — Reporter.

Как это сделать?
Всего голосов 35: ↑22 и ↓13+15
Комментарии160

Мониторинг и алертинг серверов Supermicro (sensor metrics) через Prometheus

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

Рассказываем о процессе настройки сбора метрик серверов Supermicro с помощью утилиты IPMItool и Prometheus. 

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

У нас возникла необходимость внедрения централизованного механизма опроса IPMI/iDRAC/TP-IPMI для обнаружения перегрева, проблем с системой охлаждения и т. д. и повышения качества предоставляемого оборудования в целом. Проще говоря, мы планируем внедрить систему опроса датчиков с портов управления материнских плат, чтобы оперативно обнаруживать перегрев, неработающие или частично работающие вентиляторы и другие проблемы с охлаждением (например, проверять обороты кулеров или физическое наличие вентилятора в разъеме).

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

Разработка кроссплатформенного приложения на Avalonia для Raspberry Pi с использованием Github Action

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

Вступление

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

Примерный план был такой: приобрести Raspberry PI 3 и экран, подключить его к интернету, написать приложение, повесить на стенку и пользоваться с удовольствием.

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

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

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

Выбор технологий для разработки и настройка Raspberry Pi

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

-        Кроссплатформенный фреймворк для работы логики и GUI приложения;

-        ПО для автоматического развертывания приложения;

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

Изобретаем библиотеку vusb

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

Введение


После прочтения названия может возникнуть закономерный вопрос: зачем в наше время изучать программную реализацию low-speed USB, когда существует куча дешевых контроллеров с аппаратным модулем? Дело в том, что аппаратный модуль, скрывая уровень обмена логическими уровнями, превращает протокол USB в своеобразную магию. Для того же, чтобы прочувствовать как эта «магия» работает, нет ничего лучше, чем воспроизвести ее с нуля, начиная с самого низкого уровня.


С этой целью попробуем изготовить на основе контроллера ATmega8 устройство, прикидывающееся USB-HID'ом. В отличие от распространенной литературы, мы пойдем не от теории к практике, от самого нижнего уровня к верхнему, от логических напряжений на выводах, и закончим «изобретением» той самой vusb, после каждого шага проверяя, работает ли код как ожидалось. Отдельно отмечу, что не изобретаю альтернативу этой библиотеке, а напротив, последовательно воспроизвожу ее исходный код, максимально сохраняя оригинальную структуру и названия, поясняя, для чего служит тот или иной участок. Впрочем, привычный для меня стиль написания кода отличается от стиля авторов vusb. Сразу же честно признаюсь, что помимо альтруистического интереса (рассказать другим сложную тему) имею и корыстный — изучить тему самостоятельно и через объяснение выловить для себя максимум тонких моментов. Отсюда же следует, что какой-то важный момент может быть упущен, или какая-то тема не до конца раскрыта.


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


Также отмечу, что рассматривается только low-speed USB, даже без упоминания, чем отличаются более скоростные разновидности.

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

Интеграция с ЕСИА для .Net: запутаннее, чем кажется

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

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

Эта статья о том, как выполнить интеграцию с госуслугами и не запутаться.

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

Telegram API и библиотека TDLib для .NET платформ

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

image
Доброго времени суток! В Telegram существует два вида API: Telegram Bot API (обыкновенный бот с пометкой "бот") и Telegram API (клиент и юзербот, который обладает больше функционалом, чем просто бот). В этой статье пойдет речь о втором виде, а именно: что требуется для взаимодействия с Telegram API, какие средства нужны для написания кода своего юзербота на языке C#, как их правильно установить, а также каким образом использовать их.

Читать дальше →
Всего голосов 20: ↑18 и ↓2+25
Комментарии7

Дядя Фёдор и методы рационального мышления

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

Несколько лет назад я с удовольствием прочитал фанфик «Гарри Потер и методы рационального мышления»  Элиезера Юдковского. Несмотря на подростковую направленность книжки, она получилась интересной. И умопомрачительно смешной – особенно на контрасте с оригинальным произведением.

К сожалению, написав эту книгу, Элиезер запер избушку на клюшку – переключившись с юмористических фанфиков на серьёзные философские статьи. Которые и вполовину не так хороши, как его литературное творчество. Ну, разве что, кроме последней, в которой он предлагает бомбить дата-центры ГПТ-подобных нейронных сетей, чтоб избежать наступления апокалипсиса.

Мне очень понравился формат книги Элиезера – в которой он объяснял серьезные научные концепции на примере знакомых с детства персонажей. Читая, я задавал себе вопрос: Какими бы получились «Гарри Потер и Методы», если бы Элиезер жил в России? Какую книгу он выбрал бы для основы? Приключения Буратино заняты покойным Константином Крыловым, так что остается только Незнайка и дядя Фёдор.  При этом дядя выглядит тут предпочтительнее – Незнайка слишком оторван от окружающей нас реальности, которая требует осмысления.

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

Читать первую главу:
Всего голосов 154: ↑119 и ↓35+111
Комментарии153

TOTP (Time-based one-time Password algorithm)

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

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

Чтобы понять, что из себя представляет TOTP и как он используется, необходимо сначала кратко рассмотреть более базовые понятия. Первое из них – двухфакторная аутентификация. Двухфакторная аутентификация (или многофакторная аутентификация) — это метод идентификации пользователя в каком-либо сервисе (как правило, в Интернете) при помощи запроса аутентификационных данных двух разных типов, что обеспечивает двухслойную, а значит, более эффективную защиту аккаунта от несанкционированного проникновения. Это означает, что после включения двухфакторной аутентификации пользователь должен пройти еще один шаг для успешного входа в систему. Стандартные шаги для входа в учетную запись – это ввод логина и ввод пароля (рис.1).

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

Книга «Роберт Мартин рекомендует. Код, который умещается в голове: эвристики для разработчиков»

Время на прочтение13 мин
Количество просмотров19K
image Приветствуем Вас, Хаброжители!

Незаменимые практические советы по написанию кода в устойчивом темпе и по управлению сложностью, из-за которой проекты часто выходят из-под контроля. В книге описываются методы и процессы, позволяющие решать ключевые вопросы: от создания чек-листов до организации командной работы, от инкапсуляции до декомпозиции, от проектирования API до модульного тестирования. Автор иллюстрирует свои выводы фрагментами кода, взятыми из готового проекта. Написанные на языке C#, они будут понятны всем, кто использует любой объектно-ориентированный язык, включая Java, C++ и TypeScript. Для более глубокого изучения материала вы можете загрузить весь код и подробные комментарии к коммитам.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+17
Комментарии15

Про метрики: как эффективно управлять несколькими проектами

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

Вы тимлид, и у вас полный порядок с проектом. А если проектов будет несколько? Сможете сохранить контроль?

У Delivery Manager-а уже не один проект, приходится гораздо меньше погружаться в каждый. Контекст не тот, времени меньше, да еще и управлять приходится не самому, а руками тимлида.

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

Читать далее
Всего голосов 14: ↑9 и ↓5+7
Комментарии3

Книга «Карьера продакт-менеджера. Все что нужно знать для успешной работы в технологической компании»

Время на прочтение10 мин
Количество просмотров4.1K
imageПривет, Хаброжители!

Познакомьтесь с исчерпывающим руководством по профессии продакт-менеджера от авторов бестселлера «Карьера программиста»!

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

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

В качестве обзора книги мы предлагаем вам ознакомится с переводом статьи автора Jackie Bavaro.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+15
Комментарии1

«Клей. Стань незаменимым в любом проекте»: обзор книги Ань Дао Фам про роль и навыки менеджера проекта

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

Ежегодно выходят сотни книг, посвященных управлению проектами и навыкам менеджера проектов. Недавний перевод книги "Клей. Стань незаменимым в любом проекте" Ань Дао Фам заинтересовал меня не только своей здоровой практичностью и минимумом теоретических выкладок, но и человечным подходом к проектной работе: автор считает приоритетом не соблюдение стандартов и правил, а здоровый климат и психологический комфорт команды. Именно это и является задачей проджект-менеджера. Под катом - подробный обзор книги.

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

Как управлять тимлидами

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

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

В статье поделюсь своим мнением о том, как это делать и какие инструменты использовать.

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

Enterprise проекты: что нужно знать разработчику?

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

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

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

Как решать конфликты с уважением к себе и оппонентам? Гайд по ненасильственному общению

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

Хотелось бы, чтобы в рабочей коммуникации все понимали друг друга с полуслова, не совершали ошибок и дарили окружающим исключительно положительные эмоции — но это что-то на сказочном. Какими бы классными ни были ваши корпоративные отношения, конфликты и сбои в диалоге будут случаться. О том, как общаться и вести себя в непростых ситуациях, рассказываем под катом.
Читать дальше →
Всего голосов 64: ↑60 и ↓4+76
Комментарии26
2

Информация

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

Специализация

Software Developer, Database Developer
Lead
.NET
C#
Visual Studio
.NET Core
Microsoft SQL Server
Delphi
Database
SQL
Git