Pull to refresh
-16
@eikhnerread⁠-⁠only

User

Send message

Мое производство электрощитов приносит 40 млн в год. Спасибо нейросетям и СССР за конструкторскую школу

Level of difficultyEasy
Reading time14 min
Views100K

А сейчас мое производство электрощитов занимает 1 700 кв.м, и поставляет продукции на 500 млн ₽ (прошлый год). В этом году я планирую выйти на миллиард. 

Читать далее

Как вырезать фрагмент из видео: собрал простые способы удаления ненужного

Level of difficultyEasy
Reading time5 min
Views4K

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

Я задумался: что нужно для эдита? Красивые динамичные переходы, фильтры, озвучка. Но самое главное — удобство нарезки и удаления лишних кадров. За свою практику я перебрал много программ для видеомонтажа. И, кстати, обнаружил, что далеко не во всех есть удобный и простой инструмент для обрезания. Поэтому решил собрать свой опыт в статью. 

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

Читать далее

Стековые канарейки и где они обитают. Приручаем один из ключевых харденингов

Level of difficultyMedium
Reading time11 min
Views1.9K

Хабр, привет! Меня зовут Мария Недяк, я специализируюсь на разработке харденингов нашей собственной микроядерной операционной системы «Лаборатории Касперского» KasperskyOS. Если вкратце: мы стараемся сделать любые атаки на нашу ОС невозможными — или хотя бы очень дорогими :-)

Один из главных инструментов в нашей нелегкой работе — «канарейка» (ну или Stack Canary), которая защищает от базовой атаки переполнения стека. Лично я к работе с этой птичкой уже давно привыкла — набила руку во время многократных CTF-турниров, где без такого харденинга было никуда… Этот бэкграунд очень пригодился мне в «Лаборатории Касперского», когда перед нашей командой встала задача усилить «канарейку» в KasperskyOS.

В статье я подробно объясню, как работает Stack Canary, как ее ломают — и как от этих методов взлома защититься. Сразу скажу: тема непростая, так что для самых любопытных я оставила список полезной литературы в конце текста. Поехали!

Читать далее

T-SQL в .NET Core EF Core: Гибридный подход к производительности и гибкости

Level of difficultyMedium
Reading time7 min
Views4.8K

В мире .NET разработки, работа с базами данных – неотъемлемая часть. Entity Framework Core (EF Core) предоставляет удобный способ взаимодействия с данными, но при работе с SQL Server, особенно в сложных сценариях, LINQ запросы могут уступать в производительности и гибкости T-SQL. Статья рассматривает эту дилемму, предлагая гибридный подход. Мы погрузимся в проблему: как эффективно использовать мощь T-SQL, не отказываясь от преимуществ EF Core? Обсудим интеграцию T-SQL через Raw SQL, Views, UDF и Stored Procedures. Раскроем лучшие практики: разделение ответственности, оптимизацию запросов, безопасность и тестирование. Поймем, как сочетать удобство ORM с производительностью SQL Server, применяя Data-Driven Design и, при необходимости, Domain-Driven Design. Статья – руководство для .NET разработчиков, стремящихся к оптимальному балансу между производительностью, гибкостью и удобством разработки при работе с SQL Server и EF Core.

Читать об этом

Как работает финансовая стратегия FIRE

Reading time5 min
Views8.9K

Financial Independence, Retire Early (с англ. — «финансовая независимость и ранний выход на пенсию»), или FIRE, — одна из популярных финансовых концепций. Суть ее в том, чтобы примерно к 35 годам накопить состояние, «выйти на пенсию» и начать наслаждаться жизнью.

Читать далее

NVRAM из EEPROM

Level of difficultyEasy
Reading time3 min
Views2.8K

Дана функция чтения и записи EEPROM dword.

Запись и стирание возможно только по выровненному адресу и пословно.

Надо поверх EEPROM API сделать функцию чтения, записи и стирания для произвольных массивов байт, по произвольному адресу (NVRAM).

Простыми словами надо состыковать Dword API с Byte API.

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

Читать далее

13 законов разработки ПО

Level of difficultyMedium
Reading time8 min
Views26K

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

  1. Закон Паркинсона.
  2. Закон Хофштадтера.
  3. Закон Брукса.
  4. Закон Конвея (и обратный закон Конвея).
  5. Закон Каннингема.
  6. Закон Старджона.
  7. Закон Завински.
  8. Закон Хайрама.
  9. Закон Прайса.
  10. Эффект Рингельмана.
  11. Закон Гудхарта.
  12. Закон Гилба.
  13. Закон Мёрфи.

Поехали.
Читать дальше →

Электронная картина с автонастройкой яркости на C++/Qt

Reading time11 min
Views4.9K

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

Дело в том, что я давно люблю и ценю изобразительное искусство. И также люблю изучение истории (и вообще считаю, что не программированием единым должен жить человек). И я подумал, что изучение истории и живописи можно слить в единый флакон – будет и не скучно, и полезно. Особенно полезно подрастающему школьному и дошкольному поколению. Я захотел электронную картину – чтобы выглядела как картина, а изображения бы настраивались мной, автоматически сменяясь по таймеру. Каждый день – новая картина. Каждый день – повод обсудить с сыном, как видели этот мир художники 200, 300, 500 лет назад, и вообще, а что это за разновидность палаша, аркебузы или фрегата запечатлел здесь художник. А здесь какое важное для мировой истории событие показано?

Изучив рынок электроники, я понял, что подходящего под мои требования продукта просто не найти (хотя отдаленно похожие есть, конечно). Потому я прикинул доступную мне элементную базу, расчехлил клавиатуру и принялся писать код. В итоге получилось десктоп-приложение на С++/Qt, которое я закинул на мини-ПК под Windows, а сама картина представила собой обрамленный в багет сенсорный дисплей на 18,5 дюймов с прекрасной цветопередачей. По итогу заинтересовался не только сын, но, неожиданно, и жена.

Детали под катом

Вам бы сервер проведать

Reading time13 min
Views13K

Для начинающего админа (или программиста, пошагово повторяющего по гайду известного ютубера покупку VPS на известном провайдере таких услуг) настройка Linux‑сервера может показаться чёрным колдунством или тарабарщиной в чистом виде. «Работает же.... как‑то...». А всё совсем не так просто как бы того хотелось....

В недавнем исследовании «Tunneling into the Unknown» отмечено, что из 4 000 протестированных туннелей 3 211 (80,3%) предоставляют доступ по SSH на стандартном порту 22, причём с возможностью входа под root и без элементарных ограничений.

Читать далее

Транспортный уровень: TCP И UDP

Reading time7 min
Views12K

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

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

Читать далее

Game++. Juggling STL algorithms

Level of difficultyEasy
Reading time29 min
Views4.5K

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

stl::vector numbers = {1, 2, 3, 4, 5};
int sum = 0;
for (int num : numbers) {
sum += num;
}

Конечно, это просто: код суммирует элементы массива. Похожую задачу про суммирование или другую операцию над массивом мой лид даёт на собесах :) Люди смотрят с удивлением, а потом большинство пишут, вот то, что было выше. И тут три вещи - человек либо поленился прочитать про STL алгоритмы, либо не доверяет нам и знает про них, но думает что не поймем мы, либо знает, но не понимает зачем показываеть эти знания, почему? вопрос оставим открытым. Этот пример с циклом - простейший алгоритм.

Алгоритмы STL — это настоящий швейцарский нож для разработчика. Они не просто помогают писать код, а делают его чище, понятнее и надежнее. В проектах с большими кодовыми базами, где легаси код не всегда стабилен и удобен для поддержки, это особенно важно. Каждый, кто писал циклы вручную, сталкивался с ошибками: вылезли за границы массива, забыли обработать пустой контейнер, сделали лишнее копирование. STL-алгоритмы избавляют от многих проблем, позволяя выразить мысли кратко и четко. Вместо простыней кода с индексами — несколько строк с понятным смыслом. Так что, если вы еще не знакомы со стандартными алгоритмами, самое время это исправить. Это один из тех инструментов, которые однажды освоив, уже невозможно забыть, это как езда на велосипеде, хорошем промышленном велике, за авторством Кнута или Саттера - надежном и с серийным номером.

Читать далее

Маркировка DC/DC-преобразователей в корпусе SOT-23-5 и SOT-23-6

Level of difficultyEasy
Reading time3 min
Views12K

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

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

Читать далее

Оловянные монстры и борьба с ними

Reading time8 min
Views15K

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

Читать далее

Похищаем CheatEngine на C++ с нуля. Часть 0 — Введение

Level of difficultyMedium
Reading time8 min
Views8.5K

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

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

Читать далее

Чип, подёргай ножкой ¯\_(ツ)_/¯

Level of difficultyMedium
Reading time9 min
Views8.7K

Как быстро выяснить схему соединений, когда на плате 70 микросхем в BGA?
Как протестировать плату, начиная с проверки соединений и заканчивая функциональными испытаниями?

Что можно вытворять с помощью JTAG сканирования? Где применять?
Возьмите в свой арсенал этот действительно полезный и могучий инструмент!
Читать дальше →

STM32. CMSIS. Пять способов генерации (псевдо-)случайного сигнала на выводе микроконтроллера

Level of difficultyMedium
Reading time17 min
Views5.1K

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

Читать далее

Обвиваем YouTube змеем, или как смотреть и скачивать видео с YouTube без VPN на чистом Python-е. Часть 2

Level of difficultyEasy
Reading time8 min
Views45K

Приветствую! Эта статья является продолжением (2 частью) статьи Обвиваем YouTube змеем, или как смотреть и скачивать видео с YouTube без VPN на чистом Python-е. Часть 1 Если честно, я был приятно удивлен популярностью первой части: 115К просмотров за неделю и 137 голосов, которые принесли мне 21 место в рейтинге Хабра. Учитывая, что эта статья была из песочницы (отдельное спасибо @Ilha за приглашение), для меня это большой результат. Поэтому всем, кто поставил стрелочку вверх – авторское спасибо!)

В этой статье я покажу, как можно скачивать с YouTube каналы и плейлисты. Если кто-то не читал первую часть, настоятельно рекомендую это сделать. По крайней мере, если по мере чтения у вас возникнут какие-то вопросы, скорее всего там есть на них ответы. Напомню, что у нас уже есть средство, которое решает "проблему с устаревшим и изношенным оборудованием Google Global Cache" (к сожалению, оно не у всех работает, учтите), а также мы разобрались с тем, как скачивать с YouTube видео и аудио в любом качестве. Итак, начнём!

UPDATE: По решению Роскомнадзора в марте 2025 г. первая часть статьи была заблокирована на территории России. pdf-версию статьи вы можете скачать здесь

Читать далее

Памятка/шпаргалка по SQL

Reading time29 min
Views1.2M

Доброго времени суток, друзья!


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

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

Реверс инжиниринг в домашних условиях

Reading time4 min
Views18K

Добрый день, хочу поделиться с читателями своим практическим опытом обратной разработке электронных плат. Эта статья будет ещё интересна предметом своего исследования. На примере я покажу как разобраться в работе устройства. При необходимости можно составить принципиальную электрическую схему и повторить печатную плату. Для примера я взял плату оси YAW гиростабилизированного подвеса камеры квадрокоптера dji mavic mini.

Итак приступим! Всю работу можно поделить на несколько этапов:

Читать далее
1
23 ...

Information

Rating
Does not participate
Registered
Activity