Search
Write a publication
Pull to refresh
1
0
Sergey Kaleev @skaleev

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

Send message

Свободные инструменты для программирования FPGA

Level of difficultyMedium
Reading time4 min
Views3.1K

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

Читать далее

Решето дельт — простой способ раскладывать числа на множители, о котором вам не рассказывали

Level of difficultyMedium
Reading time10 min
Views6.9K

Что вы скажете, если я расскажу вам, что знаю метод разложения чисел на множители, который не так сложен, как алгоритмы QS и GNFS, основывается не на магии, а на логике и простых арифметических принципах, легко реализуется, его легко распараллелить для ускорения вычислений, он не требует много памяти и при этом зачастую в разы эффективнее метода Ферма́? Заинтересовало?

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

Примеры, объяснения, таблицы — всё на месте. Даже если вы забыли, что такое \bmod, вы всё равно поймёте, как это работает.

Читать далее

Беспроводные системы и технологии умного дома в 2025 году

Level of difficultyEasy
Reading time11 min
Views7.6K

Разбираемся, как беспроводные технологии помогают сделать дом умным. Рассмотрим основные протоколы, когда и где следует применять — Zigbee, Z-Wave, BLE, Wi-Fi и Matter. Для тех, кто хочет понять, как устроен современный умный дом и определиться с подходящей технологией.

Читать далее

Как новичок пытался написать свой «терминал»

Level of difficultyMedium
Reading time4 min
Views3.2K

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

Для этого, на языке программирования Python я начал писать своё CLI‑приложение, которое упрощает работу с консолью. И что из этого вышло?

Узнать продолжение

Go-микросервисы: Стандартизация архитектуры с Clean Architecture и DDD

Level of difficultyMedium
Reading time5 min
Views8K

Go-разработчики часто сталкиваются с парадоксом: изначально простой и понятный проект со временем превращается в сложный для поддержки монолит.

✔️ Бизнес-логика оказывается размазана между слоями?

✔️ Замена базы данных требует переписывания половины кода?

✔️ Новым разработчикам требуется недели, чтобы разобраться в проекте?

В этой статье мы разбираем практическое применение DDD и Clean Architecture в Go. Обсуждаем возможный стандарт структуры микросервиса. Оптимизируем существующие.

🔥 Для разработчиков, которые хотят создавать проекты, остающиеся поддерживаемыми даже через годы развития.

Читать далее

Плиточные карты! Зачем они нужны и почему вокруг них столько споров?

Level of difficultyMedium
Reading time5 min
Views3.7K

Плиточные карты (Tile Grid Maps) — один из самых обсуждаемых инструментов визуализации данных. Особенно в России, где разнообразие размеров регионов делает работу с классическими картами непростой. Почему вокруг плиточных карт постоянно идут дискуссии, в чем их сила, а в чем слабости — разбираемся на основе жарких дебатов сообщества.

Читать далее

Юрий Оганесян: за границы таблицы Менделеева

Reading time5 min
Views16K
Хотя трансурановые элементы были открыты уже в 1940-х, существовали серьёзные сомнения, что можно синтезировать гораздо более тяжёлые элементы — из-за предполагаемой абсолютной нестабильности таких ядер. За ураном в таблице Менделеева простиралось «море нестабильности», где ядра атомов мгновенно распадались.

Пробиться сквозь нестабильность помогли эксперименты с тяжёлыми ионами и ускорителями. Физики-ядерщики научились синтезировать элементы тяжелее урана с Z > 92 в лабораториях, где сталкивали ядра атомов в ускорителях.

Таблица Менделеева понемногу росла. К 2016-му она заканчивалась на 117-м элементе.

118-й элемент был открыт в 2002-м, но получил официальное признание от Международного союза теоретической и прикладной химии (IUPAC) лишь в 2016-м. Ему присвоили имя оганесон (Oganesson, Og) — в честь Юрия Оганесяна, одного из ключевых физиков проекта. Именно его метод помог 118-му родиться.

image

Оганесон — самый тяжёлый элемент на сегодня.

А Юрий Оганесян — единственный в мире живой учёный, чьим именем назван элемент таблицы Менделеева. На днях ему исполнилось 92, и он до сих пор в деле.
Читать дальше →

Obsidian для профессионалов: рабочая система заметок на стыке подходов

Level of difficultyMedium
Reading time7 min
Views23K

Как совместить порядок классической иерархии и гибкость Zettelkasten в одной базе знаний? Делюсь своим опытом построения эффективной системы заметок в Obsidian для инженеров и IT-специалистов: структура, шаблоны, метаданные, соответствие ITIL и ISO. Если вы хотите, чтобы ваши заметки работали на вас, а не против - эта статья поможет навести порядок и ускорить работу с документацией.

Читать далее

Гарантийное обслуживание конечных автоматов

Level of difficultyEasy
Reading time5 min
Views2.1K

Я много и часто говорю о том, что есть принципиальное различие между конечным автоматом и полем «state» в базе данных. Я даже уже отчасти писал про это, но акценты в том тексте были на другом, поэтому я решил посвятить целые полчаса собственной жизни кристаллизации тезисов о правильных конечных автоматах и их реализации в CS.

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

Подписаться, чтобы посмотреть код

NAT — как наследие старого интернета мешает будущему

Reading time9 min
Views57K

Поставили новый роутер, запустили онлайн-игру или развернули облачный сервер — и снова натыкаетесь на «двойной NAT», бесконечный порт-форвардинг и вместо своего IP видите чей-то 203.0.113.45. Причем железо и провайдеры уже готовы к IPv6, а мы все еще буксуем в прошлом.

Давайте посмотрим, почему наследие старого интернета — повсеместный NAT — тормозит нашу сетевую эволюцию и что с этим можно сделать. Детали под катом.
Читать дальше →

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

Reading time6 min
Views2.1K

Pet-проект – это продукт, который разработчик или автор создает по собственной инициативе в свободное от работы время. Такие проекты не принадлежат работодателю, поскольку не являются служебными произведениями, но споры все равно возникают с завидной регулярностью. Часто на личные проекты работника претендуют именно бывшие работодатели. 

Как разработчику защитить права на pet-проекты, что делать, если работодатель требует передать ему разработки, я расскажу в этой статье. 

Читать далее

Инженерный подход к культуре ошибок: формируем здоровое отношение к провалам

Reading time28 min
Views9.9K

Привет, Хабр! Меня зовут Мария Киселева, я тимлид команды разработки мобильных приложений для KvadraOS. В своей команде я развиваю здоровую культуру отношения к ошибкам. В статье поделюсь, зачем она нам нужна и чем грозит ее отсутствие. Расскажу, как руководитель может помочь команде научиться принимать ошибки, извлекать из них максимальную пользу и не бояться творить и рисковать в разумных пределах. 

Описала свой подход в виде блок-схемы, а для удобного представления данных об ошибке использовала data-класс из Kotlin.

Читать далее

Я помогал внедрять систему. Больше никогда

Level of difficultyEasy
Reading time8 min
Views20K

«Дорогие коллеги! С понедельника мы переходим на новую CRM-систему. Ваши учётные записи уже созданы. Обучающий вебинар — в пятницу после работы. Успехов!» — кто получал такие письма от руководства, знает, что после этого не будет ничего хорошего.

Читать далее

Еще один вариант структуры go-приложения

Level of difficultyMedium
Reading time14 min
Views6.9K

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

- архитектура слоев;
- предметно-ориентированное проектирование (DDD);
- разделение команд и запросов (CQS);
- архитектура портов и адаптеров.

Также будет затронута тема именования файлов .go и вопросы связности (low coupling/high cohesion).

Читать далее

Как чудо-препараты для похудения меняют схему работы нашего организма

Level of difficultyEasy
Reading time8 min
Views5K

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

Эти препараты приводят к резкому снижению веса, меняют восприятие и, согласно ряду результатов, объявленных на Европейском конгрессе по ожирению (ECO) в Малаге на этой неделе, обещают преимущества для здоровья, которые выходят далеко за рамки контроля веса.

«Это была необычная неделя», — сказала профессор Сьюзан Джебб, специалист по питанию в области общественного здравоохранения из Оксфордского университета, занимающаяся исследованиями в области лечения ожирения с 1980-х годов и представившая результаты на встрече ECO.

Читать далее

Задача про рукопожатия

Level of difficultyEasy
Reading time2 min
Views5.5K

Существует классическая задача:

«Каждый гость на встрече обменивается рукопожатием с другим. Всего было 78 рукопожатий. Сколько гостей пришло на встречу?»

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

Читать далее

Строки(strings) в Go

Reading time4 min
Views5.3K

Строки — одна из самых часто используемых структур данных в любом языке программирования. И в Go они повсюду: от простых приветствий вроде "Hello, World!" до сложных парсеров, логгеров и сетевых протоколов. На первый взгляд, с ними всё просто: создал, склеил, обрезал — и пошёл дальше. Но как это часто бывает, под простотой скрываются тонкости, игнорирование которых может привести к ошибкам и снижению производительности.

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

Читать далее

Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR

Level of difficultyMedium
Reading time9 min
Views7.1K

Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности?

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

Читать далее

SQL: бесплатные курсы и тренажёры, которые стоит попробовать

Level of difficultyEasy
Reading time4 min
Views30K

Всем привет! Это команда Яндекс Практикума. Делимся подборкой полезных материалов для изучения SQL от экспертов курса «Специалист по Data Science».

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

Материалы подойдут как тем, кто изучает SQL с нуля, так и всем, кто хочет освежить или систематизировать знания.

Читать далее

Information

Rating
Does not participate
Location
Сургут, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity