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

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

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

Атрибуты Xорошей PCB

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

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

Этот перечень сформировался в результате реальных инцидентов.

Читать далее
Всего голосов 44: ↑37 и ↓7 +30
Комментарии 82

О подключении и работе с текстовыми OLED-дисплеями Winstar

Время на прочтение 9 мин
Количество просмотров 42K
Строчные (или текстовые) дисплеи предназначены для выдачи текстовой информации в виде строк. Они бывают нескольких типов (прежде всего, ЖК или самосветящиеся OLED), и обычно в их маркировке присутствуют цифры 1202, 1602, 1204 или похожие, указывающие на количество строк (в примерах 2 или 4) и знаков в каждой строке (12 и 16). Есть и однострочные дисплеи такого типа, но мы в дальнейшем изложении ориентируемся на более употребляемые двухстрочные.

Определяющая часть таких дисплеев совместима по управлению с контроллером HD44780 (фирма Hitachi). Самые популярные (по крайней мере, в нашей стране) дисплеи этой разновидности выпускает фирма Winstar. Причем ЖК-разновидности (название начинается с букв WH, например, WH1602) один в один совместимы с системой команд HD44780, а OLED-типы (название начинается с WEH, например, WEH001602) имеют усовершенствованный контроллер WS0010. К сожалению, или к счастью — сейчас будем разбираться.
Читать дальше →
Всего голосов 42: ↑40 и ↓2 +38
Комментарии 36

Запросы в PostgreSQL: 6. Хеширование

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

В предыдущих статьях я рассказал про этапы выполнения запросов, про статистику, про два основных вида доступа к данным — последовательное сканирование и индексное сканирование, — и перешел к способам соединения.

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

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

Объектно-ориентированный дизайн и как его использовать для проектирования систем

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

В последние годы области проектирования и дизайна начали сближаться с разработкой. Проектирование соприкасается с дизайном, а дизайн — с версткой. В этом помогают, к примеру, дизайн-системы, storybook’и, созданные по правилам разработки интерфейсов, а также современные инструменты: Figma, Sketch, InVision Studio и другие.

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

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 13

Сравнение схем двух баз данных

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

При разработке приложений иногда возникает потребность в сравнении двух баз данных (например prod и dev).

Существует ряд подходов для решения этого вопроса - от создания dump-файла со структурой db и последующим использованием diff, до использования специализированных платных решений типа dbForge или RedGate.

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

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 11

Делаем копию карты-пропуска по фото

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

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


Читать дальше →
Всего голосов 64: ↑61 и ↓3 +58
Комментарии 79

Обеспечение безопасности в беспроводных протоколах на примере LoRaWAN

Время на прочтение 9 мин
Количество просмотров 9.2K
Привет, Хабр.

Мне хотелось бы в очередной раз поговорить о том, как обеспечивается базовый (читай: минимально необходимый) уровень безопасности данных в беспроводных сетях, используемых в IoT-устройствах, на примере LoRaWAN.

Почему именно LoRaWAN? Во-первых, потому, что это хорошо описанный и хорошо проработанный стандарт, на который стоит ориентироваться как на референс, если вы разрабатываете какой-то свой беспроводной протокол. Во-вторых, потому, что это — очень родное и типовое для IoT решение; можно, конечно, разбирать обеспечение безопасности в Wi-Fi или LTE, но для большинства разработчиков это будет бесполезный разбор: вряд ли у вас возникнет необходимость писать свою реализацию Wi-Fi. В-третьих, именно маломощные IoT-устройства, в которых разработчики экономят каждый байт, часто оказываются наиболее дырявыми — и здесь LoRaWAN даёт хорошее представление, как и байты экономить, и под атаки не подставляться. В-четвёртых, наконец, потому что буквально за последние несколько дней несколько наших клиентов попросили рассказать им подробнее про защиту данных в LoRaWAN, и этой статьёй я убиваю двух зайцев.


Обмен сообщениями в сети LoRaWAN между сервером и устройством

Хотя схема обмена сообщениями в LoRaWAN на картинке выглядит довольно простой — эта простота обманчива: за ней стоит много работы, и ни один пиксель в ней не является лишним. Сейчас вы поймёте, почему.

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

Итак, какие основные угрозы есть в беспроводной сети — и как от них защищаться?
Читать дальше →
Всего голосов 47: ↑45 и ↓2 +43
Комментарии 15

Советские мечты о будущем

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


Помните очаровательного котика, которые чихал в заставке советского мультфильма? Мы помним, и нашли его — вместе с ворохом другой рисованной фантастики. В детстве она пугала и обескураживала, поскольку поднимала серьезные, взрослые темы. Настала пора пересмотреть старые мультфильмы, чтобы узнать, о каком будущем мечтали в той стране.
Всего голосов 138: ↑136 и ↓2 +134
Комментарии 144

Делаем педаль реверберации с применением микросхем PT2399 (часть 1)

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

Вступление


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


Рисунок 1. Реверберация в реальной ситуации

В старые добрые времена единственный способ воспроизвести эффект реверберации — использовать реальную реверберационную камеру — большую комнату со сложной геометрией и тщательно отобранным материалом для стен, с установкой громкоговорителей и микрофона в определенных местах внутри камеры. Первая попытка имитировать реверберацию в помещении без реальной реверберационной камеры осуществлялась с помощью реверберационного резервуара с пружиной (см. ссылку [1]). Основная конструкция пружинного ревербератора показана на рисунке 2.


Рисунок 2. Конструкция резервуара с пружинной реверберацией
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 5

Мой улов за неделю

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

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

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

Spring Data JPA: что такое хорошо, и что такое плохо

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

Крошка-сын к отцу пришел
И спросила кроха
— Что такое хорошо
и что такое плохо

Владимир Маяковский


Эта статья о Spring Data JPA, а именно в подводных граблях, встретившихся на моём пути, ну и конечно же немного о производительности.

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

Делаем ST-Link V2.1 из китайского ST-Link V2

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

В данной статье расскажу как модифицировать ST-Link V2 до ST-Link V2.1.

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

Кому интересно — прошу под кат.
Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 103

Где покупать радиодетали? Часть II: зарубежные магазины

Время на прочтение 5 мин
Количество просмотров 85K
Продолжение поста про интернет-магазины электронных компонентов, инструментов и прочих ардуин.


Читать дальше →
Всего голосов 76: ↑75 и ↓1 +74
Комментарии 63

Безумие дотфайлов

Время на прочтение 4 мин
Количество просмотров 55K
Мы больше не контролируем свои домашние каталоги.

В моём собственном 25 обычных файлов и 144 скрытых. В дотфайлах хранятся данные, которые не принадлежат мне: они принадлежат программистам, чьи программы решили захватить моё пространство, предназначенное для хранения моих личных файлов.

Я не могу убрать эти файлы в другое место. Если я попытаюсь их удалить, они появятся снова. Всё, что я могу сделать — это сидеть и знать, что в темноте, за кулисами, они есть. Ожидание в тишине. Некоторые из этих программистов решили дополнительно разместить здесь несколько обычных файлов и каталогов. Они хорошо видны каждый раз, когда я выполняю ls. Понятия не имею, как в мою личную папку попали каталог node_modules, файлы package-lock.json, yarn.lock (я никогда сознательно даже не ставил yarn!), какие-то два странных лог-файла от какой-то Java-программы, явно использующей СУБД H2, и папка Desktop. Последнюю создал Steam, что довольно неудачно, поскольку на моей машине просто нет рабочего стола или какого-то десктопа. Боюсь того дня, когда услышу громкий стук в дверь — и один из этих программистов ворвётся и сообщит, что собирается хранить часть своей мебели посреди моей гостиной, если я не возражаю.
Читать дальше →
Всего голосов 186: ↑178 и ↓8 +170
Комментарии 339

Клубок единомышленников

Время на прочтение 11 мин
Количество просмотров 16K
Как выживать в турбулентной корпоративной среде. Только для теоретического изучения.

Не знаю, как вам, а мне приходилось работать в достаточно турбулентной корпоративной среде, и не один раз.

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

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

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

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

На полное раскрытие темы не претендую, высших истин не открываю, обобщений старался избегать, ничего никому не навязываю.
Читать дальше →
Всего голосов 44: ↑37 и ↓7 +30
Комментарии 32

Основы электробезопасности при проектировании электронных устройств

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

После волны, поднятой моим предыдущим постом, довольно заметное число людей спрашивали меня (в фейсбуке, в личке и т.п.), на что, собственно, обращать внимание, чтобы вместо умной розетки на ардуино не получить очередной тазик-эвтаназик.


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

Итак, вы собрались делать устройство, которое как минимум одним своим концом включается в розетку.
Читать дальше →
Всего голосов 172: ↑167 и ↓5 +162
Комментарии 281

Легендарные усилители – историческая анатомия трендов: “холодный” транзисторный звук

Время на прочтение 6 мин
Количество просмотров 48K
По многочисленным просьбам, я заново открываю цикл “легендарные усилители”, чтобы продолжить рассказ о самых внушительных разработках в области усилительной техники, появившихся за последние семьдесят лет.



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

Да простят меня любители “теплой ламповости”, но на самом деле полупроводниковых УМЗЧ, признанных схемотехническими шедеврами, инженерами, меломанами и аудиофилами, значительно больше, чем ламповых.
Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 63

Как избежать износа EEPROM

Время на прочтение 5 мин
Количество просмотров 33K
Резюме: Если вы периодически обновляете некоторое значение в EEPROM каждые несколько минут (или несколько секунд), вы можете столкнуться с проблемой износа ячеек EEPROM. Чтобы избежать этого, требуется снижать частоту записей в ячейку. Для некоторых типов EEPROM даже частота записи чаще чем один раз в час может быть проблемой.

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

Электродвигатели: какие они бывают

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


В прошлых статьях был рассмотрен принцип работы синхронного и асинхронного электродвигателей, а также рассказано, как ими управлять. Но видов электродвигателей существует гораздо больше! И у каждого из них свои свойства, область применения и особенности.

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

Каждый электродвигатель обладает некоторыми отличительными свойствами, которые обуславливают его область применения, в которой он наиболее выгоден. Синхронные, асинхронные, постоянного тока, коллекторные, бесколлекторные, вентильно-индукторные, шаговые… Почему бы, как в случае с двигателями внутреннего сгорания, не изобрести пару типов, довести их до совершенства и ставить их и только их во все применения? Давайте пройдемся по всем типам электродвигателей, а в конце обсудим, зачем же их столько и какой двигатель «самый лучший».
Читать дальше →
Всего голосов 101: ↑101 и ↓0 +101
Комментарии 179

Полный гайд по бэкордеру доменов

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

Для чего нужен бэкордер


В популярных доменных зонах (.com, .net, .org) заняты самые короткие и звучные домены.
Существует возможность не пользоваться свободными доменами второго сорта, а перехватить хороший. Часто освобождаются даже трехбуквенные домены, минимальная стоимость которых на вторичном рынке — 17800 $.
Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 22

Информация

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