Search
Write a publication
Pull to refresh
-13
0

Инженер

Send message

Миграция с Firebird на PostgreSQL. Что может пойти не так? Часть 1

Level of difficultyEasy
Reading time6 min
Views7.5K

Не секрет, что в последние годы различные компании достаточно часто принимают решение о миграции работающей информационной системы с Firebird на PostgreSQL.

Типичная ситуация выглядит так:

Проект работает несколько лет. Заказчик «верит», что проблема не в проекте, а в СУБД. Firebird — «плохая» СУБД.

Читать далее

Вы тоже заказываете платы, компоненты и всячину здесь?

Reading time11 min
Views36K

Что такое коллективный экспресс (7$/кг) и как его использовать?

Почему с 45$/кг бывает дешевле, чем с 23$/кг?

Как заказать компоненты/всячину с сайтов JLC (jlcfa, lcsc, jlcpcb, …)?

С 1688, Тао бао и других китайских площадок?

Привезти из Европы, США (Маузера, Диджикея и т. д.)?

Где платы с размерами >100х100 мм будут дешевле?

Надеюсь, продуманная навигация по статье и таблицы помогут быстро найти и сравнить полезную информацию.

Читать далее

Телеграфируем кодом Морзе через Java Stream API (часть 1 из 2)

Level of difficultyMedium
Reading time38 min
Views3.6K

Азбука Морзе — один из самых старых, но не уходящих на заслуженный отдых телекоммуникационных стандартов. Почему бы не объединить ее с Java? Это статья о технологиях, отстоящих друг от друга более чем на полтора столетия. Мы познакомимся с кодом Морзе, с подкапотной частью Java Stream API, и на живом примере соберем все это в одно кроссплатформенное приложение на Java.

Вперед, в прошлое!

Как я зарегистрировал CVE и разозлил вендора

Level of difficultyEasy
Reading time14 min
Views25K

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

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

Дисклеймер: в статье приведены скриншоты из моих личных переписок с разработчиками. Публикация таких переписок одной из сторон не требует согласия другой (согласно законодательства РФ).

Читать далее

Запускаем MIPI DSI экраны от смартфонов. Разработка схемы основной платы. Часть 1. Обзор решений, создаём своё

Level of difficultyMedium
Reading time5 min
Views6.4K

Некоторое время назад мне удалось-таки сделать обратную разработку нескольких экранов от смартфонов с интерфейсом MIPI DSI.

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

Обратная и прямая разработки поскакали в одной упряжке :-)

Посмотрим живой процесс разработки. Это всегда интересно!

В первой части рассмотрим несколько решений и выберем наиболее подходящее. А также начнём проектировать схему.

Полетели!:)

FastCGo: как мы ускорили вызов C-кода в Go в 16,5 раза

Level of difficultyHard
Reading time19 min
Views7.5K

В Deckhouse Prom++ мы переписали ядро хранения и обработки горячих данных на C++, при этом вся оркестрация и периферия остались в Prometheus на Go, что позволило сохранить полную совместимость с Prometheus. Для частых вызовов кода C++ мы использовали механизм CGo, однако первые тесты показали, что производительность CPU практически не улучшилась из-за его медлительности. В итоге мы переписали CGo, создав собственный механизм вызова.

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

Читать далее

VPS сервер по цене пачки чипсов: обзор самых дешёвых тарифов российских хостеров

Level of difficultyEasy
Reading time7 min
Views30K

Привет, Хабр! Однажды я проводил небольшое тестирование виртуалок различных хостер-провайдеров и сравнивал их между собой — оказывается, с тех пор прошло уже аж пять лет. Ну и в том тестировании условия у всех серверов были одинаковые, т. к. тестировались сходные конфигурации.

Сегодня хотел бы рассказать о том, как себя ведут самые дешёвые (в ценовом диапазоне от 100 до 300 рублей) предложения от популярных хостеров. 

Читать далее

Пишем простой драйвер Linux для устройства, ничего не зная о драйверах и о USB

Level of difficultyEasy
Reading time12 min
Views13K

Пару месяцев назад я купил Nanoleaf Pegboard Desk Dock — последнее слово в технологиях USB-хабов с RGB-светодиодами и крючками для устройств. К сожалению, это чудо инженерной мысли поддерживает только гейминговые операционные системы — Windows и macOS, поэтому возникла необходимость в драйвере для Linux.

В своих постах я уже настраивал Windows VM с пробросом USB и пытался выполнить реверс-инжиниринг официальных драйверов. При этом я задумался, а нельзя ли написать производителю и попросить у него спецификации или документацию его протокола. К моему удивлению, техподдержка Nanoleaf ответила мне всего через четыре часа, предоставив полное описание протокола, используемого Desk Dock, а также полосами RGB-светодиодов. Документация по большей мере подтвердила то, что я обнаружил самостоятельно, но также я нашёл в ней пару других мелких подробностей (например, управление питанием и яркостью), которые были мне неизвестны.

Сегодня мы попробуем написать драйвер на основании протокола (который я изучил реверс-инжинирингом), параллельно сверяясь с официальной документацией. Однако здесь есть одна небольшая проблема: раньше я ни разу не писал драйверов для устройств под Linux, а с USB-устройствами взаимодействовал только как пользователь.

Читать далее

NoDPI4Android. Решаем проблему «деградации» YouTube теперь и на Android

Level of difficultyEasy
Reading time5 min
Views48K

Салют, Хабр! На связи снова я, Aragorn, со своим проектом по терроризированию Роскомпозора. В прошлый раз я рассказывал о NoDPI - утилите для "раздеградирования" YouTube и установил личный рекорд - 400 звезд на GitHub и блокировка статьи РКН через три дня после публикации.

Многие мои знакомые и люди в комментариях просили сделать версию под Android и Android TV. Я не очень дружу с Джавой и с Джавой под андроид в особенности, и поэтому такая перспектива меня не очень прельщала, но у меня был опыт написания android-приложений на python и kivy, который я и решил применить. После нескольких дней (и ночей) напряженного труда и танцев с бубном, мне наконец удалось создать NoDPI for Android, который практически не имеет аналогов. Именно о нем я и хочу сегодня рассказать. Надеюсь, статья будет вам полезна и интересна. Поехали!

Читать далее

Как я собеседовался в Ozon, Т-Банк, Mindbox и другие крупные компании

Level of difficultyEasy
Reading time25 min
Views136K

Всем привет. Я сеньор и тимлид на .NET (C#). До недавнего времени работал в Росатоме, пока там внезапно не сократили целую дирекцию по цифровизации. Так что пришлось срочно выходить на рынок, причём, впервые в моей жизни (до этого работа находила меня сама). По результатам нескольких циклов собеседований получился неплохой дневник, который я здесь привожу.

История длинная, но интересная

Три совета, как не выучить C++ за 21 день (субъективный гайд с дополнениями)

Reading time6 min
Views18K

Типичная проблема новичков при изучении языка программирования — они тонут в море учебных материалов. Интернет предлагает тонны статей, курсов и книг по C++, но как выбрать действительно стоящие?

Меня зовут Владислав Столяров, я руководитель команды анализа безопасности продуктов в мультипродуктовой экосистеме МойОфис. Наши решения — Документы Настольные и Документы Онлайн — во многом работают благодаря C++, так что мне есть чем поделиться. В этой статье расскажу, что делать, если вы вдруг решили залететь в плюсы, но уже чувствуете, как накрывает экзистенциальный кризис от обилия информации.

Читать далее

Регулярные выражения простыми словами. Часть 3

Level of difficultyEasy
Reading time11 min
Views9.4K

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

Embedded Linux для начинающих (Часть первая)

Level of difficultyEasy
Reading time10 min
Views15K

Однажды по работе мне прилетела задача по сборке и запуску Linux на одноплатном ПК. Тогда я, будучи разработчиком ПО для микроконтроллеров, встал в небольшой ступор — задачка явно не решалась установкой IDE и нажатием в ней кнопки «Собрать проект». Гугл помог узнать о том, что существует некий Buildroot. В материалах по теме всё выглядело довольно просто: скачай, настрой, дерни пару команд, загрузи результат на одноплатник — и можно запускать! Получается, процесс не многим сложнее установки дистрибутива Linux или Windows на обычный ПК? Конечно же, нет. Ведь если у тебя в руках кастомный одноплатник неизвестного китайского бренда, а не BeagleBone или Raspberry Pi, то зарыться в Buildroot придётся с головой...

Читать далее

Cтатья про собеседования в Яшу (Yandex Weekend Offer)

Level of difficultyEasy
Reading time7 min
Views27K

Может кому-то это будет интересно, даст возможность лучше подготовиться; или наоборот кто-то примет решение не участвовать.

Коротко о себе: 41 год, senior software developer, стаж > 20 лет. Однако, как я понял, эти собесы все равно для всех одинаковые, так чтоб все написанное актуально и для молодежи.

Итак, угораздило меня согласиться на т. н. «Weekend Offer на позицию разработчика на Kotlin». Вообще‑то мне больше нравится Scala, и опыта по ней гораздо больше, но рекрутерша была сильно настойчива, и я решил обновить экспиренс, а возможно, и прибавку в деньгах. И вот что было дальше.

Читать далее

11 вопросов на собеседовании по Spring Boot, которые заставляют задуматься

Reading time7 min
Views59K

Большинство списков вопросов интервью по Spring Boot заставляют вас запоминать случайные детали из документации Spring Boot. Но запоминание — плохая замена истинному пониманию и уверенности в знании Spring Boot.

Поэтому сегодня мы собираемся применить другой подход. Вместо того, чтобы перечислять 50 вопросов по мелочам Spring Boot, мы сосредоточимся на 11, которые заставят вас задуматься и, таким образом, многому научиться на этом пути.
Вот они, в произвольном порядке.

Примечание: если вы сами проводите интервью по Spring Boot, возможно, вы захотите задать эти вопросы в открытом формате, ведущем к обсуждениям вместо того, чтобы ожидать ответов из учебников.

Читать далее

Жизнь в Финляндии: честный опыт

Reading time20 min
Views73K

Моя история проста как три копейки. В конце 2010-х, работая Java-разработчиком в Москве, я невольно попал под влияние голосов, утверждавших, что пора валить, что на Западе сытнее, спится слаще, солнце ярче и трава зеленее. В начале 2020-го я начал учить английский и к началу 2022-го имел все что нужно для переезда. Штаты и Канада меня не особо манили, юг Европы слишком жаркое для меня место, так что я искал на севере Европы и в Германии.

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

Читать далее

Жизнь IT-специалиста на Кипре: халуми, сига-сига, горы, дайвинг и песчаные бури. Стоит ли переезжать?

Reading time11 min
Views42K


Александр Кушнарев работал на Kaspersky и «Яндекс» в России, а потом устроился в Wargaming на Кипре. За два года собрал много интересных наблюдений, которыми поделился с нами.


Почему на маленьком острове нельзя жить без машины. Как попасть в непризнанную Турецкую Республику на севере. Что бывает в кипрскую песчаную бурю. О горах, сырах, винодельнях, дайвинге в затонувших судах и проблемах переезда с котом. А еще о том, почему жить на Кипре иногда бывает холоднее, чем в России.

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

Пишем стек TCP/IP с нуля: Ethernet, ARP, IPv4 и ICMPv4

Level of difficultyEasy
Reading time13 min
Views25K

Написание собственного стека TCP/IP поначалу может показаться пугающей задачей. И в самом деле, за свой тридцатилетний срок жизни TCP впитал в себя множество спецификаций. Однако базовая спецификация остаётся относительно компактной1 — из важных частей в ней можно выделить парсинг заголовков TCP, машину состояний, отслеживание перегрузок и вычисление таймаута повторной передачи.

Самые распространённые протоколы слоя 2 и слоя 3, Ethernet и IP, скромны по сравнению с сложностью TCP. В этой серии статей мы реализуем минимальный стек TCP/IP пользовательского пространства для Linux.

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

Читать далее

Спарсил 700к ютуб каналов и построил 16 графиков которые вы навряд ли где-то видели

Level of difficultyEasy
Reading time5 min
Views13K

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

Но все же мне удалось нафармить 3,5к подписчиков мучительными душными видео, которые совершенно не понятно зачем терпели мои зрители

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

Смотреть графики
1
23 ...

Information

Rating
5,994-th
Location
Санкт-Петербург и область, Россия
Registered
Activity