Pull to refresh
0
0
Василий @Phantovas

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

Send message

Цифровой фильтр без умножения

Level of difficultyMedium
Reading time6 min
Views1.7K

Представлен цифровой фильтр без использования явной аппаратной или программной операции умножения, выполненный на основе двоичных сдвигов. Имеет дискретный ряд АЧХ, ФЧХ, при этом, эффективно реализуется на простейших контроллерах.

Читать далее

Установка Windows через CMD

Level of difficultyMedium
Reading time6 min
Views15K

Приходилось ли вам устанавливать современные версии Windows? Если да, то вам точно знаком установщик, каждый этап которого прогружается несколько секунд, и который яростно навязывает вам использование аккаунта Microsoft, с каждым обновлением делая использование локального аккаунта всё труднее и труднее.

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

Читать далее

Как работает OSPF

Level of difficultyEasy
Reading time8 min
Views6.6K

OSPF — это протокол состояния каналов, который считается самым известным протоколом из семейства протоколов внутренних шлюзов (IGP), разработанный в середине 1980-х годов рабочей группой OSPF в IETF.

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

Читать далее

Радиолокационный радар — менее чем за 400 рублей: на базе esp32 и wi-fi

Reading time9 min
Views49K


Приходило ли вам в голову, что ваша любимая esp32 может использоваться в роли самого натурального радиолокационного радара?

Если не приходило, то добро пожаловать под кат, так как кое-кому это пришло:-))
Читать дальше →

Эти CSS-техники устарели

Level of difficultyMedium
Reading time6 min
Views18K


Привет, Хабр!


Общаясь с коллегами, я заметил, что они незнакомы с последними возможностями CSS. Как обычно, у всех свои причины. У кого-то много повседневной рутины. Кому-то в принципе неинтересно, что нового происходит в CSS. А кто-то по привычке использует подходы десятилетней давности и ему норм.


Как фанату CSS, мне грустно. Сколько же прикольных вещей проходит мимо них. Да и их код может быть меньше, надёжнее и проще для понимания. В общем, я собрал несколько фрагментов кода, которые были популярны давным-давно, и переписал их с помощью новых возможностей CSS.


Давайте посмотрим, что я вам подготовил.

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

Прожариваем React

Level of difficultyMedium
Reading time11 min
Views6.7K

Привет, Хабр! Я уже рассказал, что умею разнообразно писать счётчики . Пришло время сделать шаг вперёд! Сегодня поговорим о том инструменте, который я и миллионы разработчиков используют ежедневно. Речь пойдёт о великом и ужасном ReactJS.

Я пишу на React с 2018 года, делаю это, на мой взгляд, более-менее сносно. Мне нравится тезис о том, что профессионализм заключается не только в умении использоваться достоинства инструмента, но и в умении чётко видеть его недостатки.  Поэтому возникла идея сделать что-то типа прожарки React, указав на лично меня раздражающие моменты. С какими-то я смирился, с какими-то нет, что-то научился обходить. Если вас бесит в React что-то, что я не упомянул, не стесняйтесь писать в комментариях, было бы очень интересно сравнить мои ощущения с вашими.

И важное: несмотря на указанные ниже проблемы, я до сих пор считаю React прекрасным и удобным инструментом для создания фронтенда, в частности SPA.  Громких слов типа «ReactJS не пригоден для разработки» тут не будет - пригоден, да ещё как! Но... и на Солнце бывают пятна. Приступим.

Читать далее

Разрабатываем печать документов на .NET с помощью OpenXml. Часть 3

Level of difficultyMedium
Reading time12 min
Views856

Всем привет! Я Александр Родов, ведущий разработчик в «БАРС Груп», автор и руководитель разработки сервиса генерации печатных форм Sprinter. Этой статьёй мы продолжаем рассказ о возможностях использования библиотек DocumentFormat.OpenXml для генерации печатных файлов «офисных» форматов.

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

Читать далее

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

Level of difficultyMedium
Reading time10 min
Views16K

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

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

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

Читать далее

Огромный гайд по настройке рабочего окружения: Linux, VScode, Python

Level of difficultyEasy
Reading time29 min
Views52K

Привет всем!

Как обычно это и бывает, я накопил критическую массу мыслей, и пора их как-то систематизировать, чтобы вы, мои замечательные читатели Хабра, могли что-то извлечь из моего опыта или поделиться своим :)

Я люблю и одновременно ненавижу статьи-обзоры в стиле «10 программ для {whatever}». Ненавижу — потому что их очень легко делать, вбил в гугл «программа для X», взял первые 10 ссылок, статья готова. Я называю такие статьи «лёгкий рейтинг». А люблю я их за то, что даже если 9 пунктов — чушь полная, то десятый, как правило, годный, я узнаю что-то новое, это что-то облегчает мне жизнь и позволяет мне быть более продуктивным.

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

Статья получилась ОГРОМНАЯ, и у меня был большой соблазн разбить её на сотню статей поменьше, чтобы в каждой ставить ссылки на свой телеграм-канал и получать гонорар за каждую по отдельности. Но я не буду. Пусть знания будут сгруппированы вместе. Welcome!

Читать далее

Что делать, если болит поясница? Первая часть, введение

Level of difficultyEasy
Reading time18 min
Views3.4K

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

Читать далее

Первый http сервер на С++, заметки для новичков

Level of difficultyEasy
Reading time10 min
Views5.5K

Решил написать простенькую статейку по следам реализации небольшой программки на С++ под Виндоус, которая содержит в себе TCP сервер. Мы получаем от клиента http запрос. Соединение не защищенное.

На чем реализован клиент нам неизвестно: может на php (curl,socket,stream_contex_create,...), может на js (ajax), вообще может быть на чем угодно.

Надо задача реализовать http парсинг запроса и контента, выполнить задание (на каком-то подключенном к серверу оборудовании) и ответить клиенту о результате.

Примечание: автор реализует http сервер на устаревшем Qt4, используем QTcpServer. Но для http сервера это не принципиально.

Читать далее

Основные алгоритмы сортировки. Разбираемся с танцами (это не шутка)

Level of difficultyEasy
Reading time5 min
Views3.4K

Два распространенных алгоритма могут ускользать от понимания. В чем отличие разбиения в быстрой сортировке и похожих «магических» движений в сортировке слиянием? Меня это долго сбивало с толку. Разберемся же с ними наконец!
Читать дальше →

Атрибуты Хорошего Loader-a

Level of difficultyEasy
Reading time7 min
Views3.1K

В программировании микроконтроллеров периодически приходится писать клиентские PC программы для загрузки *.hex файлов в микроконтроллер через загрузчик.

Обычно в названии этих утилит присутствует слово loader.

В этом тексте я попробовал порассуждать на тему того, каким же атрибутами должна обладать эта самая утилита FW_Loader.

Читать далее

Сопоставление с образцом на C#: объяснение и примеры

Level of difficultyEasy
Reading time4 min
Views6.7K

За годы своего развития C# существенно эволюционировал; одна из самых мощных фич языка — это сопоставление с образцом (pattern matching).

Работая недавно над небольшим хобби-проектом, я наткнулся на такую прекрасную строку кода C#.

if (person is not null and { Age: > 18 })

{}

Выглядит изящно. Откровенно говоря, она заставила меня призадуматься.

Годами я писал проверки на null и свойства-аксессоры классическим образом:

if (person != null && person.Age > 18)

{}

Функционально? Да. Удобочитаемо? Не особо. Безопасно? Спорно, особенно когда код становится сложнее.

Я решил создать шорт YouTube об этом современном синтаксисе. Это небольшое забавное напоминание о том, что C# позволяет при помощи сопоставления с образцом комбинировать проверки на null и обращение к свойству в одно условие.

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

Эта фича повышает читаемость, уменьшает объём бойлерплейта и обеспечивает более выразительную обработку логики.

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

Читать далее

JavaScript. Как сделать невероятно быстрый многопоточный Data Grid на 1 000 000 строк. Часть 2/2: работа с потоками

Level of difficultyMedium
Reading time3 min
Views7.1K

Demo | GitHub

Особенности Fast Data Grid:
— Невероятно быстрый
— Многопоточный
— Всего 523 строчки кода
— Нет зависимостей
— Vanilla JavaScript

Попробуйте скролл и поиск по 1 000 000 строк — Fast Data Grid.

В статье расскажу про работу с потоками.

Читать далее

Как Сергей на кардиоскрининг ходил

Reading time9 min
Views4.4K

Прочитав историю Сергея М., вы поймете, как важно внимательно относиться к своему здоровью, особенно к самому «хрупкому» органу — сердцу.

Среди сердечно-сосудистых заболеваний есть много опасных состояний, которые могут протекать годами без всяких явных симптомов и проявляют себя только тогда, когда уже слишком поздно что-либо изменить… Мы говорим сейчас об атеросклерозе — заболевании коварном и скрытом, являющимся основной причиной развития ишемической болезни сердца (в т.ч. инфаркта миокарда) и одной из причин инсульта. Многие до сих пор ошибочно думают, что атеросклерозом болеют только 70-летние бабушки и дедушки. Однако история Сергея М. говорит об обратном.

Читать далее

Python для преподавателя: как я использую код, чтобы автоматизировать работу

Reading time6 min
Views5K

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

Читать далее

Понимаем декораторы в Python'e, шаг за шагом. Шаг 1

Reading time6 min
Views451K

На Хабре множество раз обсуждалась тема декораторов, однако, на мой взгляд, данная статья (выросшая из одного вопроса на stackoverflow) описывает данную тему наиболее понятно и, что немаловажно, является «пошаговым руководством» по использованию декораторов, позволяющим новичку овладеть этой техникой сразу на достойном уровне.

Итак, что же такое «декоратор»?


Впереди достаточно длинная статья, так что, если кто-то спешит — вот пример того, как работают декораторы:
def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
 
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
 
@makebold
@makeitalic
def hello():
    return "hello habr"
 
print hello() ## выведет <b><i>hello habr</i></b>

Те же из вас, кто готов потратить немного времени, приглашаются прочесть длиииинный пост

Септик и автономная канализация. Часть 3. Сравнение с аэрационными установками

Level of difficultyMedium
Reading time15 min
Views3.1K

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

Читать далее

VSCode, SourceCraft Code Assistant и микроконтроллеры

Level of difficultyMedium
Reading time34 min
Views8.9K

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

В этой статье я расскажу, как использовать VSCode для разработки прошивок под разные архитектуры и как мне в этом помогает SourceCraft Code Assistant от разработчиков Yandex Cloud & Yandex Infrastructure.

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

Information

Rating
Does not participate
Location
Ставропольский край, Россия
Date of birth
Registered
Activity