Pull to refresh
1
@Red-Masterread⁠-⁠only

User

Send message

Ловушка неявного приведения числовых типов

Level of difficultyMedium
Reading time3 min
Reach and readers11K

В данной статье я хотел бы поговорить немного о неявном приведении типов в Postgres, широко известно, что Postgres не позволяет неявно приводить строковые типы к числовым (как это делает Oracle) и эта добавочная строгость скорее всего правильна (избавляет от многих плавающих ошибок времени исполнения), но кое-какое неявное приведение типов всё-таки остаётся - это приведение внутри числовых типов (int2, int4, int8, numeric) и вот здесь возможны некоторые сюрпризы.

Давайте рассмотрим некий синтетический пример

Читать далее

Что лучше — C++ или C#?

Level of difficultyEasy
Reading time39 min
Reach and readers10K

Самым фатальным недостатком C++ является то, что он скоро умрёт. То, что C++ скоро умрёт — это истина, проверенная временем. 30 лет назад все говорили, что C++ скоро умрёт, потому что появилась Java. 20 лет назад ему пророчили скорую смерть, потому что к Джаве присоединился C#. 10 лет назад C++ должен был умереть, потому что появился Rust. 3 года назад его снова принялись хоронить, когда АНБ выпустило спорную рекомендацию «переходить на memory-safe языки» везде, где это возможно, и я думаю, что ещё через 30 лет тоже все будут говорить, что C++ скоро умрёт.

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

Я не собираюсь ничего набрасывать на вентилятор или разводить холивар, а просто хочу объективно и беспристрастно ответить, наконец, на вечный вопрос: что же всё-таки лучше — C++ или C#?

Объективное и беспристрастное сравнение

DNS‑петля: как сервер смотрит сам в себя и не находит выхода

Level of difficultyMedium
Reading time9 min
Reach and readers9.7K

Доменные имена не резолвятся, страницы висят, а по IP всё доступно. В логах DNS‑сервера при этом чисто, BIND запущен, конфигурация на первый взгляд выглядит рабочей.

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

Читать далее

Поговорим о градиентном бустинге

Level of difficultyMedium
Reading time12 min
Reach and readers8.8K

Градиентный бустинг часто воспринимают как «ещё один алгоритм из sklearn», но за ним стоит простая и сильная идея: модель не пытается сразу угадать правильный ответ, а шаг за шагом исправляет собственные ошибки.

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

Читать далее

Как Let's Encrypt, только роднее: автоматическое получение бесплатного RSA DV-сертификата НУЦ

Level of difficultyEasy
Reading time3 min
Reach and readers12K

DV-сертификаты НУЦ можно получить как с портала ЕПГУ, так и с помощью acme.sh по инструкции.
Информация опубликована командой НУЦ ещё в январе.
Используется модифицированная версия acme.sh v.3.1.2, позволяющая не только выпустить сертификат, но и настроить cron для автоматического обновления.
Очень удобно и работает!

Читать далее

Как уместить 26 типов виджетов, RTL и веб‑сокет в килобайты флеша ESP32 — и при чём тут ИИ

Level of difficultyEasy
Reading time4 min
Reach and readers9.9K

Каждый мой проект на ESP32 заканчивался одинаково: микроконтроллер готов, датчики читаются, реле щёлкают — а дальше надо руками писать HTML, CSS, JS и протокол поверх веб‑сокета, чтобы увидеть пару графиков в браузере. На третий раз я решил, что хватит, и сделал библиотеку RisalDash: интерфейс описывается на C++ в несколько строк, а весь фронтенд и протокол генерируются сами и отдаются самим контроллером.

Читать далее

Свой VPN на Rust: как я спорил с сетью, TLS и самим собой

Level of difficultyHard
Reading time24 min
Reach and readers26K

Если совсем коротко: я написал свой VPN на Rust — побайтово-корректный TLS 1.3 с заёмом чужого сертификата, гибридное постквантовое рукопожатие, пять режимов маскировки и под 700 Мбит/с на скачивание. Ниже — как это устроено изнутри и десяток шишек, на которых я учился. Но начать хочется издалека.

Читать далее

Расчёт электрических цепей. Вторая часть

Level of difficultyMedium
Reading time9 min
Reach and readers12K

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

Читать далее

Самодельный BIOS для микшерного пульта и запуск DOS на нём

Level of difficultyMedium
Reading time22 min
Reach and readers13K

В 1994 году у меня появился первый компьютер: Intel i486 DX2-66 с 4 МБ ОЗУ и жёстким диском на 512 МБ. На нём были установлены IBM OS/2 и Microsoft Windows 3.11. Следующие четыре года я апгрейдил эту машину каждые несколько месяцев, добавляя больше ОЗУ (до 16 МБ), привод CD-ROM и карту SoundBlaster. Так я научился апгрейдить эту машину, устанавливать новое ПО, а потом и писать ПО на BASIC. Но я ни разу не касался процесса запуска и тонкостей MS-DOS.

В 2026 году, 32 года спустя, я узнал из скриншотов DDX3216, что в Behringer использовался настоящий процессор 386. В моём мозгу сразу же активировались какие-то нейроны и я начал размышлять о том, можно ли запускать на этом устройстве ПО или даже полнофункциональную операционную систему. Для этого мне нужно было разобраться, как запускается система x86, когда управление перехватывает DOS и что необходимо для попадания в оболочку.

Читать далее

File-based apps в .NET 10

Level of difficultyEasy
Reading time6 min
Reach and readers7.4K

Для небольших скриптов на C# долгое время приходилось создавать полноценный проект даже ради нескольких строк кода. В.NET 10 появилась поддержка file‑based apps — теперь приложение можно запускать и публиковать прямо из одного.cs‑файла. Разбираемся, как это работает и где новый подход действительно полезен.

Читать далее

Что происходит при DDoS и как отличить атаку от нагрузки

Level of difficultyMedium
Reading time9 min
Reach and readers17K

Почти каждый, кто админит VDS/VPS, хоть раз перезагружал сервер при DDoS-атаках или при подозрительно резком росте трафика. Это не помогает, ну а что ещё делать… Для того, чтобы этого не было, в статье под катом разберу, что происходит при разных видах DDoS, как правильно их диагностировать и с помощью чего можно отличить атаку от органического роста. 

Читать

Жизнь в Японии: почему «технология» не равно «цифровизация»?

Level of difficultyEasy
Reading time14 min
Reach and readers13K

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

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

Читать далее

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

Level of difficultyEasy
Reading time8 min
Reach and readers50K

Привет, Хабр! В этот раз разбираемся, как нагнетается тема кризиса карьерных треков и что нам всем с этим делать: кому придется переучиваться, что делать новичкам и стоит ли всем срочно записываться в электрики.

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

Последнее время все чаще звучит призыв: времени на раскачку нет, уходите туда, где ИИ не достанет, — в электрики, сварщики, монтажники, сантехники. Звучит убедительно, особенно из уст западных технотопов на фоне грандиозных строек дата-центров. Но на деле все не так прямолинейно. Может, не стоит сломя голову записываться в автомеханики или уезжать в Латинскую Америку мастерить детскую мебель из дров? Лучше остановиться и попытаться понять, какие навыки рынку нужны на самом деле. Айтишникам стоит не убегать из профессии, а погружаться в нее глубже. Попробую обосновать — цифрами и фактами.

Читать далее

Настроечная таблица. Что это, как работало и зачем пииииииииииииии

Level of difficultyMedium
Reading time11 min
Reach and readers15K

— У меня вчера ночью по телеку что-то дикое показывали. Мат не прекращался.

— Серьезно?

— Ага. Слов вообще не было, только пииии. И сетка цветная.

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

Все знали, что это называется «настроечная таблица». По-другому, этот набор геометрии называли «шахматкой» или «сеткой». Но вот почему она выглядит именно так, что именно по ней настраивают и зачем она пищит, могли объяснить лишь люди, близкие к радиотехнике. И, конечно же, телемастера. Давайте вспомним эту загадку из детства, узнаем, как она появилась и разгадаем ее значение.

Читать далее

USB без магии: устройство протокола

Level of difficultyMedium
Reading time16 min
Reach and readers27K

Целью этой статьи не является полный пересказ спецификации USB или книгу по USB. Я хочу приоткрыть магию работы USB и представить информацию таким образом, чтобы вы получили быстрый старт для понимания всего стека USB: от интерфейсов и конечных точек до электрических сигналов.

Читать далее

Российский микроконтроллерный блок управления судовыми преобразователями частоты. Часть 2

Level of difficultyHard
Reading time15 min
Reach and readers19K

Статья посвящена микроконтроллерным системам управления преобразователями частоты для электродвигателей переменного тока. Рассматриваются различные варианты структуры и конструкции систем управления преобразователями частоты. Приводится техническое описание российского микроконтроллерного блока управления БУПЧ, который входит в состав преобразователей частоты для судовых систем электродвижения концерна «Русэлпром»: его состав, устройство, технические характеристики, преимущества и недостатки по сравнению с западными аналогами. Рассматривается специальное сервисное программное обеспечение, которое существенно сокращает время тестирования и отладки основного программного обеспечения для БУПЧ, уменьшает вероятность ошибок в нем, способных привести к аварийным ситуациям, позволяет проверить правильность работы БУПЧ и преобразователя частоты, а при возникновении ошибок – быстро определить их причины.

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

Вторая часть статьи

Как ИИ помогает Linux возвращать к жизни двадцатилетние видеокарты

Level of difficultyEasy
Reading time6 min
Reach and readers17K

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

В мире open-source эта ситуация привела к довольно неожиданному результату. Разработчики Linux продолжают поддерживать видеокарты, которым уже почти два десятилетия, адаптируя драйверы под современные версии системы. Любопытно, что помогает им в этом технология, которую многие считают одной из причин нынешнего дефицита ускорителей, — генеративный искусственный интеллект. Недавняя история с доработкой драйвера для видеокарт AMD, выпущенных еще в 2007–2010 годах, наглядно показывает, как подобные инструменты используются в реальной разработке. Мы уже писали новость об этом, а теперь давайте разберемся подробнее.

Читать далее

Мы сделали игровую платформу без опыта в разработке. Рассказываем, как она устроена

Level of difficultyEasy
Reading time10 min
Reach and readers7.8K

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

Читать далее

Расчёт электрических цепей. Первая часть

Level of difficultyMedium
Reading time3 min
Reach and readers13K

      В этой статье мы решим задачи по расчётам основных параметров цепей, содержащих конденсатор C, индуктивность L, сопротивление R с учётом температурной зависимости R(T) и без неё. Во всех задачах примем, что сопротивление меняется по линейному закону R(T)=R0(1+αT) (это верно в ограниченном диапазоне температур от -50ºС до 200ºС). Температура измеряется в градусах Цельсия ºС.R0- сопротивление при 0ºС.Рассеянием тепла в окружающую среду и зависимостью теплоёмкости от температуры мы пренебрежём.

Читать далее

Virtual Shadow Maps для S.T.A.L.K.E.R. на Vulkan Как я научил солнце двигаться плавно в forward‑рендере за недорого

Level of difficultyHard
Reading time17 min
Reach and readers13K

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

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

Information

Rating
Does not participate
Registered
Activity

Specialization

Десктоп разработчик, Разработчик игр
C#
Windows Forms
Visual Studio
Unity3d
.NET
Английский язык