All streams
Search
Write a publication
Pull to refresh
-15
0

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

Send message

Немного о деревьях

Reading time3 min
Views28K

Вступление


Встречалась ли вам ситуация, когда необходимо реализовать хранение древовидной структуры в реляционной БД?

PostgreSQL on tree

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

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

Любителям x86-64 assembler посвящается: DIY волокна в C++

Level of difficultyHard
Reading time26 min
Views15K

Нас ждёт мозговыносящая смесь 64/32-битного ассемблера и старого-доброго C++. Мы сделаем собственную реализацию... Волокон (fibers) без вызова Win API и звонков в службу спасения.

Читать далее

Рудирон — разработка ПО на языке С++ и дополнительные программные инструментальные средства

Level of difficultyEasy
Reading time12 min
Views1.6K

Установка и использование программных средств для программирования и взаимодействия с контроллером «Рудирон».

Читать далее

Векторное управление электродвигателем «на пальцах»

Reading time17 min
Views360K
— Что такое векторное управление?
— Держать ток под 90 градусов.


Термин «векторное управление» электродвигателями знаком всем, кто хоть как-то интересовался вопросом, как с помощью микроконтроллера управлять двигателем переменного тока. Однако обычно в любой книге по электроприводу глава про векторное управление находится где-нибудь ближе к концу, состоит из кучи волосатых формул с отсылками ко всем остальным главам книги. Отчего разбираться в этом вопросе совсем не хочется. И даже самые простые объяснения всё равно держат путь через дифференциальные уравнения равновесия, векторные диаграммы и кучу другой математики. Из-за чего появляются примерно вот такие вот попытки как-то закрутить двигатель без использования мат.части. Но на самом деле векторное управление – это очень просто, если понимать принцип его работы «на пальцах». А там уже и с формулами разбираться в случае надобности будет веселее.
Читать дальше →

Когда ты больше не просто пишешь код. Ты управляешь энергией

Reading time7 min
Views13K

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

Когда-то я писал веб-приложения. Решал задачи бизнеса, деплой в прод, REST, тесты, метрики, кубики. Всё было нормально. Но в какой-то момент мне стало… скучно.

Да, задачи были интересными. Команда — отличной. Но где-то внутри появилась пустота. Хотелось делать что-то настоящее. Осязаемое. Что-то, где за твоим кодом — больше, чем UI и API. Хотелось влиять на реальный мир.

Так я попал в мир электропривода.

Читать далее

Обзор изменений в WLJS Notebook

Level of difficultyEasy
Reading time6 min
Views1.3K

WLJS Notebook - это приложение, похожее на Jupyter и Mathematica. Пользовательский интерфейс сделан на Electron, а сервер работает на Wolfram Language. Т.е. это не очередная оболочка для Jupyter, а полностью самостоятельное приложение. Более подробно о проекте можно почитать в предыдущих статьях: Wolfram Language JavaScript Frontend и Open-source блокнот Wolfram Language или как воссоздать минимальное ядро Mathematica на Javascript. В этой статье я постараюсь рассказать о том, чего мы достигли за последнее время. Мы добавили новую функциональность, исправили множество ошибок оптимизировали взаимодействие с сервером и ускорили выполнение кода в интерфейсе. И конечно же внесли множество изменений в пользовательский интерфейс и улучшили графику. Обо всем этом подробнее под катом!

Читать далее

Что я узнал, проконсультировав 100 айтишников

Reading time12 min
Views95K

Категорически приветствую, дорогой Хабр! Меня зовут Сергей и я психолог. Но не нужно хлопать и говорить «я тебя так понимаю» или «сочувствую». Я искренне люблю свою профессию. Одна из главных причин этой любви – возможность прикоснуться ко множеству жизней и понять размышления человека, его майндсет, если позволите. А также, увидеть, к чему этот майндсет привел – к каким достижениям и, разумеется, трудностям.

И по моим подсчетам, за последние три года я пообщался (как бы сказали любимые здесь всеми HR-ы: «провел глубинное интервью») примерно с сотней айтишников всех мастей. И вот замеченные закономерности и выводы мне хочется обобщить в этой статье. Фактически, это будет набор жизненных историй, переживаний и размышлений, которые достаточно трудно узнать в таком количестве и на таком уровне откровенности, не находясь в роли психолога. Впереди вас ждет квинтэссенция самых сокровенных мыслей, желаний и неудач ваших коллег по цеху, которые вам никогда об этом не расскажут. Поехали!

Подумать о себе

Ваш Xiaomi — это не Xiaomi. Кто делает китайские телефоны на самом деле?

Reading time10 min
Views139K

И почему они стоят так дёшево?

Многие в курсе, что Xiaomi, Honor, Tecno или Realme не делают телефоны сами. Но что если я скажу, что они их даже не разрабатывают? Многие бюджетные модели лишь продаются под этими шильдиками, а всю разработку и производство “от и до” делают совсем другие компании. Эти компании не на слуху, но без них не было бы никакого “топа за свои деньги”. Давайте разбираться, что всё это значит, и как так вышло.

Читать далее

Для защиты своего сервера я использую zip-бомбы

Level of difficultyEasy
Reading time3 min
Views88K

Основной объём трафика в вебе возникает из-за ботов. По большей части, эти боты используются для обнаружения нового контента. Это читалки RSS-фидов, поисковые движки, выполняющие краулинг вашего контента, а сегодня и боты ИИ, собирающие контент, чтобы скармливать его LLM. Но есть и зловредные боты. Их создают спамеры, скрейперы контента и хакеры. На моём прежнем месте работы бот обнаружил уязвимость Wordpress и встроил в наш сервер зловредный скрипт, а затем превратил машину в ботнет, используемый для DDOS. Один из моих первых веб-сайтов был полностью выдавлен из поиска Google из-за ботов, генерирующих спам. Мне нужно было найти способ защиты от этих ботов, поэтому я начал пользоваться zip-бомбами.

Читать далее

Как хранить кадровые документы в 2025 году: правила, сроки хранения, ЭДО и автоматизация

Level of difficultyMedium
Reading time20 min
Views4.5K

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

Читать далее

CTF и нейросети: опыт решения задач по кибербезопасности с помощью ИИ

Level of difficultyMedium
Reading time7 min
Views2.2K

Всем привет!
Меня зовут Глеб Санин, аналитик данных R&D-лаборатории Центра технологий кибербезопасности ГК «Солар». В этой статье я попробовал разобраться, поможет ли ИИ в решении заданий на CTF-турнирах и с какими ограничениями можно столкнуться в моменте.

О будущем использовании ИИ в CTF, как улучшить взаимодействие человека и «машины» и об этике использования ChatGPT подискутируем в комментариях.

Читать далее

Наши 象: что я узнал про китайцев и китайский веб-дизайн, пока создавал сайт для мясокомбината

Reading time9 min
Views34K

Самое мясо китайского веб-дизайна, или Как не стать лосем в Поднебесной. Путеводитель по провинциям визуального хаоса.

Читать далее

Легендарный ампервольтомметр Ц20

Level of difficultyMedium
Reading time8 min
Views17K

Сегодня, в Международный день радиолюбителя, я хотел бы рассказать о приборе, без которого бы моя карьера радиолюбителя не состоялась. Речь пойдёт о легендарном Ц20: простом, надёжном и недорогом ампервольтомметре, ставшим лучшим другом и помощником многим поколениям радиолюбителей в нашей стране.
Читать дальше →

Декодируем 90-ые: реверс-инжиниринг и криптография на заре разработки ПО

Reading time10 min
Views5.4K

В августе 2020 года к нам обратился клиент с кэшем из заблокированных документов QText из середины 90-х, пароль для которых он утерял.

QText — это редактор из времён DOS, использовавшийся для обработки иврита и английского текста. Написан он на Pascal и был выпущен где-то за 15 лет до того, как мы с @Elisha занялись обратной разработкой.

В этой статье мы опишем весь процесс анализа тех зашифрованных документов и выполним реверс-инжиниринг программы DOS.

Надеюсь, нам удастся раскрыть некоторые особенности ранней разработки потребительского ПО в Израиле. В частности, мы хотим показать, как в те времена реализовывалась криптография. Ещё одна наша цель — это сохранить описанные здесь знания и инструменты — многие из которых едва дотянули до нашего времени.
Читать дальше →

GRASP: почему настоящая архитектура начинается не с SOLID

Level of difficultyMedium
Reading time12 min
Views56K

Хочу начать с личной предыстории. Давным‑давно, как и многие из вас, я читал умные книжки: «Чистый код» и «Чистая архитектура» Роберта Мартина, «Совершенный код» Стива Макконнелла и другие.

Также не обошли меня и классические принципы проектирования — SOLID, KISS, DRY — и, думаю, каждый читатель добавит сюда свои.

Безусловно, это всё важные и фундаментальные вещи.

Но однажды на горизонте появилось DDD — предметно‑ориентированное проектирование в изложении Эрика Эванса. Именно его «синяя книга» стала культовой и задала язык для архитектурного мышления.

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

Читая Эванса, рассматривая его диаграммы классов и примеры кода, я всё думал: как он это делает?

Самым большим открытием для меня стало то, что книга DDD хоть и показывает стратегические и тактические приёмы — агрегаты, объекты‑значения, спецификации, фабрики и т. д. — но не учит проектировать саму предметную область.

Складывалось ощущение, что мы это уже откуда‑то должны были знать. А откуда — остаётся загадкой.

Читать далее

Жизнь после отвала eMMC: Загружаем Android с MicroSD

Level of difficultyEasy
Reading time9 min
Views11K

Есть у меня страсть к коллекционированию и ремонту интересных смартфонов прошлых лет. Недавно подписчик подарил мне весьма диковинный и необычный гаджет 2011 года: бюджетный QWERTY-смартфон Samsung Galaxy Y Pro с чипсетом от Broadcom. Помимо самого факта того, что смартфон обладал QWERTY-клавиатурой, меня также заинтересовало его кровное братство с Raspberry Pi первого поколения. Но вот незадача, смартфон не включался и просто висел на логотипе. Если вам интересен необычный кейс ‭«отвала‭» eMMC и переноса Android на MicroSD-флэшку — жду вас под катом!

Читать далее

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности?

Level of difficultyMedium
Reading time19 min
Views12K
image

С момента выхода первой части статьи из рубрики «сам себе экосистема» прошёл уже практически год! За это время, мы успели с вами реализовать клиенты VK и YouTube, которые работают на Android 2.2+, а также на Windows Phone 8, написать небольшую 2D-игру с нуля весом менее 1Мб, которая работает практически везде и довести существующее приложение до ума, дабы оно работало даже на смартфоне с дисплеем 240x320! Но на дворе 2024 год, люди стремительно переходят из соц. сетей в продвинутые мессенджеры и уже сложно себе представить современного человека, который не пользовался бы «телегой» или даже «вайбером» в качестве основного средства общения. Поэтому я решил реализовать клиент Telegram на смартфоне 14-летней давности на базе официальной реализации MTProto от команды Telegram — TDLib. Сегодня мы с вами: узнаем новые причины мотивации вернуть в строй смартфоны прошлых лет, напишем на C# реле-сервер, который обрабатывает пакеты MTProto и кодирует их в простой текстовый формат датасетов, который можно моментально обработать даже при нестабильном GPRS-соединении на 21-летнем Siemens C60, а также узнаем о разработке миниатюрных Android-приложений на базе «голого» API-системы, которые не тянут за собой никаких зависимостей, в том числе и AppCompat/androidx. Интересно? Тогда жду вас под катом!
Читать дальше →

Последний экипаж станции «МИР»

Reading time6 min
Views8.8K

23 марта прошла очередная годовщина сведения с орбиты космической станции «Мир», и по этому поводу я решил вспомнить о последней пилотируемой экспедиции, которую отправили к станции. А точнее - о контексте той экспедиции.

Экипаж основной экспедиции №28 (или ЭО-28) в составе Сергея Залётина и Александра Калери стартовал к орбитальному комплексу «Мир» на корабле Союз ТМ-30 4 апреля 2000 года, но подготовка к этому полёту началась ещё за несколько лет, а в какой-то момент казалось, что его не будет и вовсе. Но обо всё по порядку.

Читать далее

Яндекс.Вброс или ИИ для фейков

Level of difficultyEasy
Reading time6 min
Views4.7K

tl;dr: Продолжение разборов состязательных атак на генеративные модели. Разбор семантических атаках (подбор синонимов, построение фраз, эзопов язык), и использование для этого другой LLM модели.

Часть 1: Яндекс.Разврат или анти-этичный ИИ

Читать далее

Jenkins: Тестирование на проникновение

Reading time5 min
Views2.5K

Jenkins — это open-source сервер автоматизации, используемый для непрерывной интеграции (CI) и непрерывной доставки (CD), написанный на Java. Jenkins автоматизирует задачи, такие как сборка, тестирование и развертывание в процессе разработки ПО. Эта автоматизация ускоряет циклы разработки, повышает качество кода и упрощает релизы. Ключевые возможности —  CI/CD, автоматизированное тестирование, интеграция с системами контроля версий, расширяемость за счет плагинов и мощный мониторинг и отчётность.

Содержание

- Подготовка лаборатории  

- Установка  

- Конфигурация  

- Перебор  

- Эксплуатация с помощью Metasploit Framework  

- Ручная эксплуатация (Reverse Shell)  

- Выполнение команд напрямую  

- Заключение  

Подготовка лаборатории

В этой статье мы настроим сервер Jenkins на машине с Ubuntu и получим удаленное выполнение кода. Воспользуемся следующими устройствами:

Целевая машина: Ubuntu (192.168.1.4)  

Машина атакующего: Kali Linux (192.168.1.7)

Читать далее

Information

Rating
Does not participate
Registered
Activity