Как стать автором
Обновить
-3
0

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

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

Получение аккредитации IT-компании в 2023 году: критерии, требования, нюансы

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

Актуализируем информацию о том, кто может попасть в список Минцифры России, как подать документы и что делать, если вам отказали. 

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

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

Руководство по Кросс-Платформенному Системному Программированию для UNIX и Windows: Уровень 1

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

С помощью этого учебного материала мы научимся писать кросс-платформенный код на Си, используя системные функции популярных ОС (Windows, Linux/Android, macOS и FreeBSD): управление файлами и файловый I/O, консольный I/O, пайпы (неименованные), запуск новых процессов. Мы напишем свои небольшие вспомогательные функции поверх низкоуровневого системного АПИ (API), для того чтобы наш основной код, используя эти функции, мог работать на любой ОС без изменений. Этот учебный материал — начального уровня. Я делю сложные вещи на части, чтобы примеры кода здесь не были слишком заумными для тех, кто только что начал программировать на Си. Мы обсудим различия между системными АПИ и разберёмся, как создать кросс-платформенный программный интерфейс, который скрывает все эти различия от пользователя этого интерфейса.

Читать далее
Всего голосов 26: ↑25 и ↓1+24
Комментарии27

Ультимативный гайд по HTTP. Структура запроса и ответа

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

Привет! Меня зовут Ивасюта Алексей, я техлид команды Bricks в Авито в кластере Architecture. Я решил написать цикл статей об истории и развитии HTTP, рассмотреть каждую из его версий и проблемы, которые они решали и решают сейчас. 

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

Читать далее
Всего голосов 16: ↑14 и ↓2+12
Комментарии4

10 советов схемотехнику

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


Читать дальше →
Всего голосов 212: ↑210 и ↓2+208
Комментарии244

Кроссплатформенный многопоточный TCP/IP сервер на C++

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

Решил задаться целью написать простой в использовании и при этом быстрый многопоточного TCP/IP сервера на C++ и при этом кроссплатформенный — как минимум чтобы работал на платформах Windows и Linux без требования как-либо изменять код за пределами самописной библиотеки. Ранее, на чистом C++ без библиотек вроде Qt, сетевым программировнием не занимался, и предвещал себе долгое время мучений с платформо-зависимостью. Но как оказалось всё гораздо проще чем казалось на первый взгляд, ведь в основном интерфейсы сокетов обоих систем похожи как две капли воды и различаются лишь в мелких деталях.

Читать дальше →
Всего голосов 31: ↑18 и ↓13+5
Комментарии40

Разработка встроенного ПО: введение

Время на прочтение7 мин
Количество просмотров17K
Привет, Хабр! Представляю вашему вниманию перевод статей Chris Svec, оригинал здесь. Публикуется с разрешения автора по лицензии CC-A-NC-ND.

Embedded software engineering 101: введение


Я запускаю цикл статей по обучению разработке встроенного программного обеспечения. Мы начнем с описания простого микроконтроллера, и после того, как Вы поймете, как он работает, разовьем это до понимания работы относительно сложных систем, таких как Fitbit или Nest.
Я назвал эту серию Embedded Software Engineering 101, и она начинается с этой недели прямо здесь в этом блоге.

Продолжайте читать для дальнейших объяснений и подробностей.


Одни строительные блоки на других строительных блоках.
Читать дальше →
Всего голосов 26: ↑18 и ↓8+10
Комментарии24

Пандемия COVID-19 глазами математика, или почему классическая модель SEIRD не работает

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

Аннотация, или о досуге молодых ученых


Последние несколько недель мы с коллегами заканчиваем рабочий день тем, что соревнуемся в точности прогноза развития эпидемии COVID-19 в России, используя различные методы нелинейной регрессии. И если прогноз на завтрашний день неизбежно оказывается хорош, то предсказание на срок больше одной недели отражает реальность лишь в общих чертах. Казалось бы, все понятно: есть эпидемиологические модели, есть методы оптимизации, есть достаточно подробные данные, — достаточно совместить это воедино и получить точный прогноз на месяц, а то и полгода, вперед. В этой статье я поделюсь своими соображениями, что не так с классической моделью SEIRD и как это исправить. И, конечно, приоткрою завесу тайны, окутывающую наше с вами будущее.

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


На рисунке выше приведено общее число подтвержденных случаев COVID-19 в логарифмическом масштабе для России и трех европейских стран, входящих в топ-5 по числу зараженных. Объяснение далее в тексте.
Читать дальше →
Всего голосов 63: ↑58 и ↓5+53
Комментарии156

Еще раз о передатчиках и приемниках 433 МГц

Время на прочтение10 мин
Количество просмотров179K
Простейший комплект из приемника и передатчика ISM-диапазона 433 МГц завоевал заслуженную популярность в среде любителей электроники. Комплекты дешевы (даже в «Чипе-Дипе» их можно купить рублей за 300, а на Ali, говорят, вообще за полтинник), просты и надежны. Кроме того (о чем вы, возможно, не подозреваете), это самый дальнодействующий и проникающий способ беспроводного обмена данными — сигнал на частоте 433 МГц куда лучше проходит через препятствия и действует на более далеком расстоянии, чем в популярном диапазоне 2,4 ГГц (433 МГц полностью задерживаются стенкой в полметра бетона, а Wi-Fi умирает уже на 10 сантиметрах). Допускаю, что недавно появившиеся модули MBee-868, будучи снабженными соответствующей (направленной) антенной, «стреляют» дальше, но они как минимум на порядок дороже, сложнее в подключении, требуют управления энергосбережением и предварительной настройки. И вдобавок частота 868 МГц вдвое хуже проходит через препятствия (хотя, конечно, несравненно лучше частоты 2,4 ГГц).



О приемниках-передатчиках 433 МГц написано очень много (в том числе и на хабре, конечно). Однако, правильно включать в схему этот комплект по какой-то странной причине, кажется, не умеет никто. Когда я в который раз прочел вот тут, что комплект «принимал на 8-ми метрах в пределах прямой видимости, 9-ый метр осилить не удалось», мое терпение лопнуло. Какие еще 8 метров?! В 40-50 я бы поверил, хотя в реальности, наверное, дальность еще больше.
Читать дальше →
Всего голосов 76: ↑74 и ↓2+72
Комментарии57

STM32 Чаcть 2: Инициализация

Время на прочтение4 мин
Количество просмотров14K
Программирование — это разбиение чего-то большого и невозможного на что-то маленькое и вполне реальное.


Всем привет, для начала я хотел бы поблагодарить модераторов за то что пропустили мой первый (отвратительный) пост, и передать привет маме! А также я хотел бы поблагодарить всех читателей и людей которые указали на мои ошибки и помогли их исправить. Я сразу оговорюсь что по русски я не писал с 6 класса, в общем не серчайте.

STM32 Часть 1: Основы

Итак, давайте приступим. В прошлой статье я бегло пробежался по самым первым пунктам. Это был наш startup.c файл, который отвечал за 2 вектора (stack, Reset_Handler) и немного про линкер скрипт. Сегодня мы дополним наш код инициализации, разберем линкер на запчасти и узнаем как все устроено.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии15

Драйвер-фильтр операций в реестре. Практика

Время на прочтение6 мин
Количество просмотров4.7K
Привет, Хабр!

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

К сожалению, единственное, что удалось найти — статью 2003 года, код из которой вы никогда не соберете в своей новенькой VS19.

К счастью же, есть прекрасный пример от Microsoft на GitHub (сразу кидаю ссылочку), на котором и будет строиться бОльшая часть этого разбора.

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

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

Отладочная плата STM32

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

Вступление


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


Автор данной статьи разработал и изготовил собственную плату.


Вашему вниманию предлагается проект отладочной платы на базе микроконтроллера STM32F107.
Данная плата является плодом труда автора, схемотехнические решения заимствованы из технической документации других аналогичных плат. Разводка платы, возможно, требует корректировки, в частности разводка микросхемы RT8201BL для Ethernet. Соединение платы с сетью по Ethernet было протестировано с использованием готового проекта.


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

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии26

STM32 Часть 1: Основы

Время на прочтение4 мин
Количество просмотров31K
Нельзя доверять коду, который вы не написали полностью сами. — Кен Томпсон
Пожалуй, моя самая любимая цитата. Именно она и стала причиной по которой я решил нырнуть в самую глубь кроличьей норы. Свой путь в мир программирования я начал совсем недавно, прошло всего около месяца и я решил писать статьи для закрепления материала. Все началось с простой задачи, синхронизировать лампы в своей фото студии с помощью Ардуины. Задача была решена, но в фото студию я больше не заходил, времени нет. С того момента я решил основательно заняться программированием микроконтроллеров. Ардуина, хоть и привлекательна в своей простоте, как платформа мне не понравилась. Выбор пал на компанию ST и их популярную продукцию. В тот момент я еще не представлял в чем особо разница, но как типичный потребитель я сравнил скорость «процессора» и количество памяти, купил себе внушительную плату с дисплеем STM32F746NG — Discovery. Я пропущу моменты отчаяния и сразу перейду к делу.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии70

Анатомия каналов в Go

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

Привет, Хабр! Представляю вашему вниманию перевод статьи "Anatomy of Channels in Go" автора Uday Hiwarale.


Что такое каналы?


Канал — это объект связи, с помощью которого горутины обмениваются данными. Технически это конвейер (или труба), откуда можно считывать или помещать данные. То есть одна горутина может отправить данные в канал, а другая — считать помещенные в этот канал данные.


Создание канала


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

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

Большое красно-синее надувательство

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

Читатель прислал на тест огромную фитолампу, на которой было написано «60W». Я её протестировал и удивился.

Читать дальше →
Всего голосов 120: ↑119 и ↓1+118
Комментарии114

Новые российские стандарты интернета вещей, умного производства и умного города

Время на прочтение5 мин
Количество просмотров7.1K
Технический комитет «Кибер-физические системы» совместно со Всероссийским институтом сертификации при поддержке Министерства промышленности и торговли РФ в конце января 2020 г. вынесли на публичное обсуждение предварительные российские национальные стандарты (ПНСТ) в области умного производства, интернета вещей и оценки умного города.

Публичное обсуждение проектов стандартов продлится до 31 марта 2020 года. После этого они будут внесены на утверждение в Росстандарт.
Читать дальше →
Всего голосов 12: ↑7 и ↓5+2
Комментарии15

Отладка микроконтроллеров ARM Cortex-M по UART

Время на прочтение2 мин
Количество просмотров14K
В данной статье я расскажу вам как можно использовать регистры отладки и breakpoint'ов в микроконтроллерах, построенных на ядрах ARM Cortex-M
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии17

Самодельный рекуператор для загородного дома с КПД 80%

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

image


Наступила зима, и я решил усовершенствовать систему вентиляции в моем загородном доме. До этого момента ее практически не было, все вентилирование осуществлялось за счет открывания окон, выбрасывания теплого отработанного воздуха и впускания холодного свежего с улицы. Я что-то слышал о системах рекуперации (recuperatio — обратное получение, возвращение), позволяющих не просто выбрасывать тепло вместе с воздухом, а использовать его для нагревания входящего свежего воздуха с заметной экономией энергии на отоплении. Подумав — а почему бы и нет, я решил попробовать сделать такую систему самостоятельно.

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

PRESENT — ультралегкое блочное шифрование (перевод оригинальной статьи PRESENT: An Ultra-Lightweight Block Cipher)

Время на прочтение16 мин
Количество просмотров4.5K
Привет, Хабр! Привожу тут перевод оригинальной статьи «PRESENT: An Ultra-Lightweight Block Cipher» за авторством Robert B. Weide Богданова, Лендера, Паара, Пошмана, Робшава, Сеурина и Виккелсоя.


Аннотация


После внедрения AES потребность в новых алгоритмах блочного шифрования резко упала, поскольку в большинстве случаев AES является отличным решением. Однако, несмотря на простоту реализации, AES не подходит для сверх ограниченных окружений, типа RFID меток и считывателей. В данной статье будет описан сверх-легкий блочный шифрующий алгоритм PRESENT. Во время разработки этого алгоритма во внимание были приняты как эффективность воплощения в железо, так и надежность шифровки. В итоге результат системных требований сравним с сегодняшними ведущими компактными потоковыми шифрами.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии2

Как выбрать усилитель сотовой связи и мобильного интернета

Время на прочтение9 мин
Количество просмотров93K
Чтобы разобраться в этом вопросе, нужно понимать основные принципы и условия работы данного устройства. Усилитель сотовой связи или по-другому репитер, повторитель сигнала, решает поставленную перед ним задачу в связке с другими компонентами — приёмопередающими антеннами — внешней и внутренней, а также высокочастотным кабелем, объединяющем все устройства в единую систему усиления сигнала.

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

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

Принцип работы усилителя сотовой связи


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

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

image
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии36

MOXA Nport — взгляд изнутри

Время на прочтение6 мин
Количество просмотров25K
Серверы сбора данных по последовательным портам MOXA Nport и им подобные — в настоящее время являются стандартом де факто в области построения систем передающих или принимающих данные через интерфейсы RS-232,RS-485 и RS-422.

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

Все, что может генерировать данные или управляться удаленно и имеет интерфейс RS-232, RS-485 и RS-422 — работает через данные преобразователи.

Общий смысл их использования — обычно заключается в следующем: пробросить интерфейсы RS-232,RS-485 и RS-422 через существующую локальную сеть, подключить устройство или прибор имеющий один из последовательных интерфейсов к ПК (серверу, SCADA) через Ethernet, подключится к прибору имеющему последовательный интерфейс через Internet для удаленного управления и т.п.

Цены на данные преобразователи не сильно высоки, младшие модели можно взять за 100-200$. Но учитывая что на любом автоматизированном производстве таких устройств может быть установлено сотни а то и тысячи — вырисовывается довольно лакомый кусочек для отечественных «импортозамещальщиков».

Им то я сегодня и попытаюсь помочь.

Что будем делать?

Во первых — разберемся в теории, как оно устроено внутри.

Во вторых — вычленим минимальный функционал для запуска работы в режиме Real Com Mode (то есть по сути для проброса виртуального COM порта до устройства через Ethernet).

В третьих — ради интереса разберем протокол поиска и конфигурирования устройства через утилиту NPort Administration Suite. Получим полное понимание, как создать pin-to-pin аналог железки, которую можно воткнуть вместо существующей MOXA Nport при этом получив полную поддержку со стороны родного ПО и драйвера.

Ну и на последок — попробуем посчитать, сколько индусов писало код прошивки MOXA.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии19

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность