Pull to refresh
22
0.1
Михаил Корнилов @mihmig

Java developer

Send message

Звук. От механических колебаний до ALSA SoC Layer

Reading time8 min
Views9.6K


Мы в SberDevices делаем устройства, на которых можно послушать музыку, посмотреть кино и ещё много всего. Как вы понимаете, без звука это всё не представляет интереса. Давайте посмотрим, что происходит со звуком в устройстве, начиная со школьной физики и заканчивая ALSA-подсистемой в Linux.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments6

Mikrotik, DHCP Classless Route

Reading time4 min
Views51K
DHCP Classless Route, зачем он нужен?

У нас в компании для VPN используется решение на tincd. Из-за того, что на Mikrotik я не нашёл простого способа запустить tinc, было решено запускать VPN на отдельном сервере и использовать его как шлюз. Первая попытка — прописать маршрут на маршрутизаторе. По пингам было видно, что маршрутизатор присылает сообщение о редиректе, при этом наблюдались сетевые лаги. При работе создавалось ощущение, что соединение, установленные таким образом, подтормаживает.

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

Процесс гугления привёл меня на страницу документации Mikrotika. Всё ясно — нам поможет DHCP Classless Route. Настройка относительно легка, но вот из-за этой относительности убил на настройку пол дня. При этом возникали проблемы с сетевым доступом у хостов сети — у Windows машин пропадал маршрут по умолчанию.
Ещё одна сложность настройки Mikrotik заключается в том, что нужно вводить маршрут в шестнадцатеричном (либо в двоичном) виде, что меня слегка сбило с толку. Да и в документации некоторые нюансы не указаны. Данная опция рассмотрена в базовом варианте. А дальше как хотите )). Пришлось немного углубиться в подробности настройки.
Подробности под катом
Total votes 15: ↑15 and ↓0+15
Comments30

Игра в безопасность Android-приложений

Level of difficultyMedium
Reading time20 min
Views5.3K

Давайте в общих чертах рассмотрим вопросы взлома и защиты Android-приложений. 

В рамках статьи нас интересуют сами процессы взлома и защиты, а не конкретные методики работы с конкретными инструментами. Поэтому разберёмся с этими процессами и постараемся сделать выводы. Чтобы читать было интереснее, я решил попеременно ставить себя и на место нападающего, и на место защищающего приложение человека. Что-то вроде шахмат: сначала ход делает нападающий, а затем защищающийся. Пока кто-то не победит. Пройдём путь, постепенно наращивая сложность, от простого вроде HTTPS — к более сложному, вроде обфускации и деобфускации, изменению поведения. И под конец перейдём к C++ и просмотру его Assembler кода.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments9

DIY Zigbee датчик СO2 для вашего Умного дома

Level of difficultyEasy
Reading time14 min
Views21K
Приветствую всех читателей Habr. Меня зовут Андрей, примерно около 5 лет я осознано занимаюсь DIY разработкой электронных устройств для своего «Умного дома», да и не только для своего. Сегодня хочу рассказать об одном из моих DIY проектов, небольшом устройстве для контроля уровня углекислого газа. Проект называется EFEKTA iAQ, это датчик с круглым IPS TFT дисплеем, сенсором CO2, работающий на протоколе Zigbee.

Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments49

Пишем свой Credential Provider на C# для авторизации в Windows

Reading time9 min
Views12K

Credential Provider, используется для передачи пользовательских учетных данных в стек безопасности Windows. По умолчанию в системе присутствуют поставщики для входа через пароль, PIN-код, смарт-карту и Windows Hello. Однако что делать если они нам не подходят?

Пишем свой Credential Provider
Total votes 32: ↑32 and ↓0+32
Comments10

Пишем аудио-разведчик своими руками

Reading time12 min
Views7.5K

Было бы здорово иногда иметь под рукой программку, которая в наше отсутствие умеет записывать звук со встроенного микрофона нашего ноутбука и передавать его по сети на другой наш комьютер. А тот, в свою очередь, этот звук умел бы воспроизводить в режиме реального времени. Давай попробуем самостоятельно написать такую программу, тем более что это, как оказывается, не так уж и сложно.

Что мы в итоге хотим получить и какой алгоритм работы реализовать:

1. Сервер, который запускается на той машине, пространство вокруг которой мы хотим прослушивать. Он тихо ждёт, пока к нему не подключится клиент. Затем он открывает устройство записи звука, настроенное по умолчанию в системе, и начинает передавать аудио поток на машину клиента. При отключении клиента от сервера, звуковое устройство закрывается, чтобы не тратить ресурсы зря.

2. Клиент, который подключается к серверу и начинает принимать аудио поток и воспроизводить его в режиме реального времени. Для того, чтобы клиент мог правильно (в нужном формате) открыть устройство воспроизведения звука, он получает нужную мета информацию от сервера в Hello сообщении.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments3

Улучшение Visual Studio Code для новичков

Reading time5 min
Views45K

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

Читать далее
Total votes 25: ↑18 and ↓7+11
Comments29

Новогодняя ёлочка на рабочий стол

Reading time9 min
Views13K

Всех с наступающими праздниками! Надеюсь, каждый отдохнёт и восполнит силы за праздничные дни, а не будет зависать за очередными багами/фичами/обновлениями!

Помню, лет так 12 назад, когда я был ещё школьником, у всех моих знакомых стояла windows XP. И в моменты нового года у нас была традиция, скачать на каком-нибудь сайте новогоднюю ёлочку, которая запускается отдельной программой и просто на рабочем столе (либо на любом другом окне, если её открыть поверх окон) играет гифка с этой ёлочкой. Мелочь, но к новогоднему настроению она давала в те года +100 очков.

Если раньше такую штуку приходилось искать, где скачать, то теперь пришло время сделать всё самому.

Приступим к написанию своей версии "ёлочки"

Ознакомиться
Total votes 14: ↑14 and ↓0+14
Comments5

Запускаем PostgreSQL в Docker: от простого к сложному

Level of difficultyEasy
Reading time12 min
Views453K

О простых и продвинутых способах запуска PostgreSQL в Docker: добавляем healthcheck, ставим на мониторинг, настраиваем параметры.

Читать далее
Total votes 39: ↑37 and ↓2+35
Comments38

Введение в Spring Boot Actuator

Reading time10 min
Views99K
Салют, хабровчане! Уже через неделю стартуют занятия в новой группе курса «Разработчик на Spring Framework». В связи с этим делимся с вами полезным материалом в котором рассказано о том, что такое Spring Actuator и чем он может быть полезен.



  1. Что такое Spring Actuator?
  2. Как добавить Spring Actuator в проект Maven или Gradle?
  3. Создание проекта Spring Boot с зависимостью Spring Actuator.
  4. Мониторинг приложений с Spring Actuator Endpoints.
Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments2

Свой личный SMS-шлюз. Часть 1 – цели, задачи, сборка и тестирование

Reading time6 min
Views62K


Представляю вам цикл статей по созданию собственного шлюза для отправки SMS-сообщений.
В первой части мы определим цели и некоторые аспекты использования своего шлюза, настроим программное обеспечение для отправки SMS с использованием USB-модемов, а также рассмотрим несколько интересных вариантов отправки
Читать дальше →
Total votes 74: ↑73 and ↓1+72
Comments62

Детальная настройка браузера Firefox

Reading time15 min
Views119K

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

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

Читать далее
Total votes 53: ↑50 and ↓3+47
Comments96

Как отсеивать плохих программистов. 10 лучших автоматических инструментов проверки качества кода

Reading time10 min
Views17K

Проверка технических навыков кандидатов — неотъемлемая часть IT-найма. Нужно хорошо отделить зерна от плевел. Можно сделать это заранее, посмотрев, пишет ли человек достойный код. Это умеют специальные инструменты, зачастую частично бесплатные. В этой статье мы собрали десять лучших из них.

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

Читать далее
Total votes 24: ↑9 and ↓15-6
Comments9

Модульное тестирование архитектуры Spring Boot проекта с помощью ArchUnit

Reading time5 min
Views5.4K

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

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

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

Мы можем реализовать эти рекомендации как проверяемые JUnit тесты с помощью ArchUnit. Это гарантирует, что сборка версии программного обеспечения будет прекращена в случае нарушения архитектуры.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments3

Подключение Micrometer для веб-приложения на Java

Reading time3 min
Views23K
Micrometer используется для сбора метрик приложения JVM и позволяет экспортировать данные в различные системы мониторинга. В этой статье я расскажу, как подключить Micrometer для spring web приложения и экспортировать данные в Prometheus (хороший пост о нем). Так как мое приложение написано на Spring 3, то возможности использовать Spring boot без апгрейда в нем нет. Поэтому придется поработать руками.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments0

Пришло время бесплатных сайтов

Reading time3 min
Views168K

Привет, %username%!




Сегодня многие начинающие веб-разработчики делают большую ошибку, и не одну. Они что-нибудь сверстают, а потом покупают хостинг. Далее покупают домен. Регистрируют и подключают SSL-сертификат. Я, спасаясь от минус-кармы, просто расскажу как не тратить деньги на свои тестовые проекты.
Читать дальше →
Total votes 67: ↑42 and ↓25+17
Comments97

Освободи свой Android

Reading time12 min
Views147K


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

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

Вашему вниманию предлагается отчёт об эксперименте, проведённым мной по мотивам инструкций из вышеозначенной статьи и о том, что из всего этого может получиться.
Читать дальше →
Total votes 123: ↑115 and ↓8+107
Comments192

WexLang — мой сервис для изучения английского языка

Reading time4 min
Views25K
Здравствуйте!

В этой статье я бы хотел рассказать о проекте, над которым я работаю. Это сервис для эффективного чтения текстов на иностранных языках, а также для совместного чтения, обмена опытом и помощи друг другу в изучении языков.
Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments57

Асинхронное программирование в приложениях ASP.NET MVC 4

Reading time6 min
Views42K
Прочитав статью об изучении MVC и увидев комментарий пользователя RouR, я очень заинтересовался данной темой, ну и на ходу решил перевести указанную им оригинальную статью.

Если и тебе, дорогой хабражитель, это интересно — прошу под кат!

«Я попробую показать вам, что нового несет в себе C# 5.0 с точки зрения асинхронного программирования при использовании ключевого слова await. Особенно для веб-приложений ASP.NET MVC 4.»

Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments12

Книга “Электричество шаг за шагом” от Рудольфа Свореня

Reading time17 min
Views57K


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

Открыть

В числе авторов этого учебника был — Р.А. Сворень.

Про легендарного человека — Рудольфа Анатольевича Свореня мы делали серию публикаций (раз, два), и в том числе про его замечательную книгу “Электроника шаг за шагом”, про то как она изменила жизнь людей. Изначально была озвучена идея переиздания этой полюбившийся многим книги (на данный момент мы собрали почти 2000 заявок от людей, кто ждут переиздание).

Книги Рудольфа Анатольевича обладают удивительным качеством — изложение материала настолько доступно и понятно, от простого к сложному, что всё становится “по полочкам” и по окончании книги люди действительно начинают осознанно и самостоятельно разбираться в предмете.

Есть хорошие новости — в ближайшее время готовится к выходу из печати новая книга “Электричество шаг за шагом” — на КДПВ — картина из неё. Эта картина показывает то цельное восприятие мира, что было у Рудольфа Анатольевича — и “электричество” для него был важным фрагментом Картины Мира, про который он хотел так же рассказать.

Книга “Электричество шаг за шагом” ещё не поступала в продажу (хотя была готова в 2012 году), и у вас есть возможность купить книгу — сделать предзаказ.

Подробности под катом.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments16

Information

Rating
2,839-th
Location
Ярославль, Ярославская обл., Россия
Date of birth
Registered
Activity