Pull to refresh
9
0
Send message

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

Level of difficulty Easy
Reading time 5 min
Views 14K

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

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

Читать далее
Total votes 44: ↑37 and ↓7 +30
Comments 82

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

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

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

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

Reading time 20 min
Views 16K

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

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

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

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

Reading time 12 min
Views 20K

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

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

Читать далее
Total votes 10: ↑10 and ↓0 +10
Comments 13

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

Reading time 3 min
Views 9.9K

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

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

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

Читать далее
Total votes 7: ↑5 and ↓2 +3
Comments 11

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

Reading time 5 min
Views 147K

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


Читать дальше →
Total votes 64: ↑61 and ↓3 +58
Comments 79

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

Reading time 9 min
Views 9.2K
Привет, Хабр.

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

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


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

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

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

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

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

Reading time 9 min
Views 92K


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

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

Reading time 4 min
Views 13K

Вступление


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


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

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


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

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

Reading time 8 min
Views 8.6K

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

Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Comments 22

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

Reading time 13 min
Views 88K

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

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


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

Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Comments 12

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

Reading time 3 min
Views 151K
Привет, Хабр!

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

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

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

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

Reading time 4 min
Views 55K
Мы больше не контролируем свои домашние каталоги.

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

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

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

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

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

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

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

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

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

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

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

Reading time 12 min
Views 68K
Привет, Хабр!

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


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

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

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

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



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

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

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

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

Читать дальше →
Total votes 27: ↑27 and ↓0 +27
Comments 16

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

Reading time 23 min
Views 333K


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

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

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

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

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

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


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

Information

Rating
Does not participate
Registered
Activity