Обновить
-4
Эдуард Зиганшин@e-zigread⁠-⁠only

Разработка электроники

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

Подробный гайд для айтишников: как понять, что вы пришли к врачу–мракобесу?

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели19K

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

Казалось, что айтишников с их вайбкодингом и Chat GPT уже не проведешь историями: «На, попей волшебные сахарные горошки и стань лучшей версией себя». Но нет, псевдоврачи и тут нашли лазейку. Вопросов и историй набралось так много, что решила собрать в статье ред флаги, при виде которых рекомендую напрячься и обратиться за вторым мнением к другому врачу.

Читать далее

Шпаргалка по поиску узких мест в Linux: топ утилит на все случаи жизни

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели25K

Многие уже видели старенькую схему Брендана Грегга, где каждой подсистеме сопоставлены CLI-утилиты. Она правда полезная, но когда «горит», мы бежим в интернет, а не выискиваем систему и команду. В статье я собрал тулзы с картинки, а также добавил опенсорсных утилит, которые пригодятся для мониторинга. 

Читать

Почему небо синее?

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели19K

Обычно в Интернете на вопрос «почему небо синее?» отвечают «из-за рэлеевского рассеяния». Это правильный, но не особо полезный ответ. Знание терминологии сильно отличается от понимания явления. Но если понимание заключается не в знании терминов... то в чём? Я отвечаю на это так: в существовании модели, позволяющей нам создавать прогнозы. Если мы надёжным образом можем прогнозировать что-то, то, вероятно, понимаем это. В этой статье я исследую, почему небо синее; но мы настолько углубимся в эту тему, что после прочтения вы сможете прогнозировать, какой цвет неба будет на других планетах.

Давайте для начала зададимся вопросом: какого цвета ДОЛЖНО быть небо?

Читать далее

Эгоцентризм. Иллюзорная просветленность, техномиллиардеры и нарциссизм

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели9K

Это сугубо личное наблюдение, но когда при первом знакомстве человек говорит о том, что он «просветленный» или «проработанный», то вероятнее всего вы не встретите в жизни большего психопата. Поездки на Бали, занятие йогой, работа с грибами, не делают тебя «более глубоким». Как писал Виктор Франкл: «если духовные основания подменяются химическими причинами, то следствие будет лишь артефактом. Тупиком». Поэтому в статье разбираю феномен Эго, опасность использования психоделиков и заблуждения, касательно просветленности и «включенного сознания».

Включайся, настройся, выпадай

It depends 2.0: от золотых правил топологии к реальности и обратно

Уровень сложностиСредний
Время на прочтение35 мин
Охват и читатели5.9K

Вы уверены, что умеете проектировать платы? Или вы просто следуете правилам, которые никто никогда не проверял?

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

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

Будет больно, но полезно.

Читать далее

STM32: Виртуальный COM порт на USB (Serial Over USB)

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели9.9K

В микроконтроллерах STM32 через USB интерфейс можно настроить последовательный COM порт. В этом тексте я расскажу как это сделать.

Реализовать USB Virtual Com Port . Наладить двусторонний обмен текстом через TeraTerm между PC и STM32 по USB. Надо сделать так, чтобы при соединении электронной платы с STM32 и PC по USB lapTop-PC увидел на своей стороне в диспетчере устройств виртуальный последовательный порт.

Читать далее

Claude Code: практический гайд по настройке, автоматизации и работе с контекстом

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели38K

Команда AI for Devs подготовила перевод подробного гайда по Claude Code — от skills и хуков до MCP, субагентов и плагинов. Автор делится реальным сетапом после месяцев ежедневной работы и показывает, как выжать максимум из Claude Code, не убив контекст и производительность.

Читать далее

Инструкция по быстрой настройке VPS и конфигурации Vless

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели35K

За последние пару лет в интернете скопилось много статей на данную тему, так зачем же еще одна? Лично для меня была проблема в том, чтобы найти всю информацию по базовой настройке сервера (обновление, защита и т.д.) и в дополнение к этому быстрый способ настройки VLESS в одной статье. Обычно я натыкался на статьи, где есть настройка панели 3X-UI (и то, как я понял, читая комментарии под такими статьями, не всегда правильная) без базовой настройки самого VPS, либо статьи, где всё написано слишком детально, а «много букав» читать, да ещё в последствии воспроизводить самому многим лениво в наше время.

Поэтому в данной инструкции я решил собрать в одном месте и базовую настройку сервера (которую может сделать практически любой, не слишком мудря с настройками), так и настройку Xray без панели 3X-UI всего за пару скриптов.

Читать далее

Дочерние процессы в Node.js

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели5.3K

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

Если воркеры запускают отдельный поток внутри одного процесса в котором работает программа, то модуль child_process порождает новый процесс в ОС, что является гораздо более тяжёлой операцией. Архитектура многопоточки в JavaScript, такова что потоки максимально изолированы друг от друга и не имеют общей памяти. Тем не менее есть масса способов обойти это ограничение если очень нужно и в своих статьях я приводил подобные примеры. С процессами всё иначе. Они жёстко изолированы, один от другого и пробить этот барьер способов нет.

Если говорить простым языком то воркер, это как нанять ещё одного гребца на Вашу галеру. С ним можно быстро и легко общаться, ведь вы буквально находитесь на одном суде (процессе) и даже на прямую без посредников обмениваться сообщениями (SharedArrayBuffer). Но вот если он зарулит на скалы, то и потоните вы тоже вместе. Дочерний процесс же это как построить новую галеру с другим капитаном и экипажем. Дорого, долго, обменивать данными можно только через медленные записки (IPC), зато он полностью независим от Вас, а Вы от него.

Как-же запустить эти дочерние процессы?

Гетерогенный поиск в ассоциативных контейнерах на C++

Время на прочтение3 мин
Охват и читатели12K

Ассоциативные контейнеры в C++ работают с конкретным типом ключа. Для поиска в них по ключу подобного типа (std::string, std::string_view, const char*) мы можем нести существенные потери в производительности. В этой статье я расскажу как этого избежать с помощью относительно недавно добавленной возможности гетерогенного поиска.

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

Нескучное программирование. Иерархия концептов

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели15K

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

Как компилятор выбирает лучшую перегрузку, если подходящих вариантов несколько? Интуитивно мы ожидаем, что более «точная» функция должна иметь приоритет над более общей и часто это ожидание мы переносим в правила для компилятора при написании шаблонов и ограничений. Общая идея здесь следующая: перегрузки можно не просто перечислять, а выстраивать в иерархию по степени специфичности, тогда одни функции будут описывать широкий класс типов, другие его подмножество, и, когда тип аргумента известен, компилятор должен выбрать ту функцию, чьи требования наиболее точно соответствуют этому типу. Эта логика заложена прямо в стандарте C++ и называется partial ordering, то есть частичный порядок, потому что не все перегрузки обязательно сравнимы между собой.

Немножко сложности...

std::move ничего никуда не двигает: подробный рассказ о категориях значений в C++

Время на прочтение35 мин
Охват и читатели18K

Проблема: когда из-за «оптимизации» код замедляется

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

Читать далее

От дашбордов к дофамину: как мозг измеряет эффективность поведения

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели8.2K

Обезьянка с тарелками в голове Гомера Симпсона - лучшая визуализация лимбической системы, которую я видел. Внутри каждого из нас работает древняя система измерения эффективности. Она мгновенно даёт ответ: повторить действие или избегать. Не требует дашбордов. Не подвержена закону Гудхарта. Но есть проблема: она оптимизирована для мира, в котором мы давно не живём. Отсюда прокрастинация, хронический стресс и странные решения. Разбираемся с позиции менеджмента и ИТ.

Читать далее

Функция потерь: как алгоритм понимает, что он ошибся

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.2K

Доброго времени суток, «Хабр»!

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

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

Читать далее

Лучшие практики разработки с агентами: руководство от команды Cursor

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

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

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

Читать перевод

Перестань вайбкодить: почему «разработка на расслабоне» убьет твою карьеру

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели54K

Ты пишешь код быстрее, чем когда-либо. IDE угадывает твои мысли, тикеты закрываются. Кажется, что ты хакнул систему и поймал тот самый «вайб». Но есть нюанс: если завтра отключат интернет и помощников, сможешь ли ты написать сложную логику с чистого листа?

Читать далее

Какой Может быть UART-CLI в Микроконтроллере (или Курс Молодого Бойца)

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели13K

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

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

Читать далее

А вы всегда пьёте коньяк на завтрак или только по выходным?

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

А вы всегда пьёте коньяк на завтрак или только по выходным?

Привет всем, я – Соня, IT HRD. Начинала как QA инженер. Люблю tech и инженеров за то, что помимо работы тут всегда узнаёшь разные крутые понятия и термины полезные не только для работы но и для жизни. За 20 лет работы накопилось много продуктово-инженерных жаргонизмов, пратик, законов и принципов, которые я была бы рада узнать пораньше. Можно прям в старших классах школы вместо ОБЖ.Ниже — мои любимые. Добавляйте в комменты свои.

1. Ложная дихотомия
Ложная дилемма, чёрно-белое мышление — это логическая ошибка и манипулятивная тактика, при которой из множества вариантов предлагаются только два (обычно крайних), игнорируя промежуточные или иные альтернативы. Этот приём сужает выбор, вынуждая принять одну сторону, часто ложно представляя одну из альтернатив как приемлемую, а другую — как неприемлемую. Мир не чёрно-белый. Наш коньяк с этой полки.

2. Бритва Оккама
Методологический принцип: при наличии нескольких объяснений одного и того же явления нужно выбирать самое простое. Не следует множить сущности, добавлять лишние предположения без необходимости. Не надо усложнять. Оккам, кстати, — английский монах-философ. Считается одним из отцов современной эпистемологии и современной философии в целом, а также одним из величайших логиков всех времён.

3. Игра с ненулевой суммой
Ситуация в теории игр, где выигрыш одного участника не обязательно означает равный по модулю проигрыш другого. Сумма результатов (выигрышей и проигрышей) может быть больше или меньше нуля, что позволяет сторонам получить взаимную выгоду (win-win) или совместно проиграть. В играх с нулевой суммой выигрыш одного игрока всегда равен проигрышу другого. Шахматы или шашки: если один победил (+1), второй обязательно проиграл (-1). Сумма: 1 + (-1) = 0.

Читать далее

Аптечка сисадмина: необходимый набор ПО для Linux и Windows

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

У каждого системного администратора должен быть набор программных решений для практически любой ситуации — некая серверная аптечка первой помощи. В статье собрал базовый минимум ПО для «лечения» основных болезней серверов на Linux и Windows.

Читать

Внутри ядра Docker: что на самом деле происходит при запуске контейнера

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели19K

Когда вы вводите в командную строку docker run nginx — кажется, что произошло какое-то волшебство: за считанные секунды появляется полностью изолированная среда. Но здесь нет никакой магии, а просто инженерия ядра Linux. Давайте подробнее разберём эту тему подробнее и изучим, что именно происходит внутри ядра, когда Docker создаёт контейнер.

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

Информация

В рейтинге
Не участвует
Откуда
Мытищи, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Системный инженер, Инженер электронных устройств
Старший
От 225 000 ₽
C++
Qt
Verilog HDL
VHDL
Git
Linux
FPGA
Схемотехника
Altium designer
Разработка электроники