Обновить
0
Иван@sivolob93read⁠-⁠only

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

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

Идеи потерявшие смысл: Scrum и ООП

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

Когда хорошая идея становится популярной - все начинают пересказывать её "как поняли". В итоге в информационном поле от изначальной идеи остаётся настолько мало, что её перестают воспринимать всерьёз. В этой статье я хочу рассказать о двух таких идеях: Scrum и ООП

Читать далее

Асинхронность vs. многопоточность: что выживет в эпоху No GIL?

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

Хватит спорить — пора запускать и сравнивать.

Тестируем реальные сценарии, измеряем RPS, смотрим на потребление памяти и разбираемся, когда самая разумная стратегия — это просто подождать и обновить Python на free-threading версию. 

Привет, Хабр! Меня зовут Игорь Анохин, я — руководитель платформенной разработки в K2 Cloud и более 8 лет программирую на Python. 

Читать далее

Оперативная память: исчерпывающие руководство. Часть 1 – Физическое устройство RAM от атома кремния до реальных чипов

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

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

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

Читать далее

Как я делал сеть на 2,5 гигабита с минимальным бюджетом — апгрейд, доступный каждому

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

В одной из прошлых статей 10 гигабит в каждый дом я уже рассказал о своей сети на 10 гигабит и о том, как её построить максимально бюджетно. Но далеко не каждый захочет прокладывать новую проводку и ставить дорогостоящие сетевые карты ради прироста, который ещё и не так просто испытать на домашнем железе. И не нужно, ведь на рынке уже давно есть компромисс в виде 2,5 Gigabit Ethernet!

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

Читать далее

Управление моделями процессов в крупной компании: от создания до архивации

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

В условиях высокой конкуренции крупный бизнес активно внедряет процессный подход для повышения эффективности и удовлетворенности клиентов. Но внедрить — полдела. Ключевой вопрос: как организовать хранение и управление моделями этих процессов? 

Меня зовут Евгений Рошковский, я специалист по процессному управлению в ПСБ. Расскажу, как мы выстраиваем работу с процессным репозиторием.

Читать далее

Изобретаем JPEG

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

Вы правильно поняли из названия, что это не совсем обычное описание алгоритма JPEG (формат файла я подробно описывал в статье «Декодирование JPEG для чайников»). В первую очередь, выбранный способ подачи материала предполагает, что мы ничего не знаем не только о JPEG, но и о преобразовании Фурье, и кодировании Хаффмана. И вообще, мало что помним из лекций. Просто взяли картинку и стали думать как же ее можно сжать. Поэтому я попытался доступно выразить только суть, но при которой у читателя будет выработано достаточно глубокое и, главное, интуитивное понимание алгоритма. Формулы и математические выкладки — по самому минимуму, только те, которые важны для понимания происходящего.

Знание алгоритма JPEG очень полезно не только для сжатия изображений. В нем используется теория из цифровой обработки сигналов, математического анализа, линейной алгебры, теории информации, в частности, преобразование Фурье, кодирование без потерь и др. Поэтому полученные знания могут пригодиться где угодно.

Если есть желание, то предлагаю пройти те же этапы самостоятельно параллельно со статьей. Проверить, насколько приведенные рассуждения подходят для разных изображений, попытаться внести свои модификации в алгоритм. Это очень интересно. В качестве инструмента могу порекомендовать замечательную связку Python + NumPy + Matplotlib + PIL(Pillow). Почти вся моя работа (в т. ч. графики и анимация), была произведена с помощью них.

Внимание, трафик! Много иллюстраций, графиков и анимаций (~ 10Мб). По иронии судьбы, в статье про JPEG всего 2 изображения с этим форматом из полусотни.
Читать дальше →

Второй номер народного FPGA журнала! «Погоди-ка, а когда был анонс первого?»

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

ПЛИС-культ привет, FPGA хабрунити.

На днях состоялся анонс уже второго номера народного FPGA журнала FPGA-Systems Magazine :: № BETA (state_1). В нем 200+ страниц и 20+ статей и небольших заметок по направлениям FPGA / RTL / Verification (ПЛИС сегодня это не только про знание HDL и Vivado c Quartus'ом). Журнал бесплатный и распространяется в виде pdf-ки.

Читать далее

Весь Росатом работал на Джире — и что случилось в день Х

Время на прочтение10 мин
Охват и читатели143K
image

В 2018–2019 году мы уже догадывались, что нужно какое-то импортозамещение, потому что как-то немного странно, что Росатом зависит от зарубежного вендора. Джира проникала в структуру незаметно и понемногу, и в какой-то момент оказалось, что на ней ведутся многие проекты кроме строительства АЭС и других объектов. И речь не про ИТ-проекты, а вообще про все проекты, которые у нас есть.

Пару лет мы лежали в сторону поиска аналога (которого на самом деле нет).

1 февраля 2021 году Atlassian объявил о прекращении поддержки серверной версии. Решили запланировать переезд в дата-центр, но увидели, что это такой хитрый способ поднять цену в полтора раза. Стало грустно, но аналогов на рынке всё ещё не было.

Потом был технический сбой на 2 недели. Люди за 2 недели потеряли свои данные. Стало ещё грустнее.

Потом пришло письмо счастья, что аккаунты РФ будут отключены. Но сроки не обозначили.

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

Системы контроля версий: Fossil, часть I

Время на прочтение10 мин
Охват и читатели44K
Приветствую вас, коллеги!

Относительно недавно здесь публиковался опрос по используемым системам контроля версий. Как и ожидалось, с большим отрывом победил Git, а Fossil даже не был включен в список, только в комментариях пару раз промелькнул. Поиск по Хабру показал, что здесь о Fossil практически ничего не писали. Поэтому я и решил опубликовать эту статью — тем более, что русскоязычная информация о Fossil крайне скудна и однообразна.
Читать дальше →

Кто реально угрожает C++ (нет, Rust, не ты)

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

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать далее

Алгоритм деления 2W-разрядных чисел с использованием операций с числами разрядностью W

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

На примере 32-битных целых чисел рассматривается масштабируемый алгоритм деления, использующий числа с двукратно меньшей (16 бит) разрядностью. Для иллюстрации работоспособности алгоритма приведен код тестового приложения на языке С++.

Читать далее

Питер Норвиг: автор лучшего в мире учебника по ИИ

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


Питер Норвиг (Peter Norvig) — выдающийся учёный, один из отцов современной ИИ-разработки. После сингулярности ИИ точно оставит его в живых в знак благодарности.

Норвиг не только хороший программист, но и теоретик программирования, учёный и преподаватель, в длинном резюме перечислено 58 статей, а количество цитирований на сегодняшний день составляет 78 830.

Основное признание Норвиг получил как автор учебника «Искусственный интеллект: современный подход», который в наше время считается самым популярным учебником по ИИ в вузах. Эта фундаментальная работа претерпела уже четыре переиздания.
Читать дальше →

NVM+RVC = вокал профи?

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

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

NVM (Neural Voice Model) — нейронная голосовая модель

RVC (Retrieval-Based Voice Conversion) — преобразование голоса на основе поиска

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

Да, еще. Обычно профессионалом считают того, кто навыку обучался, им владеет или того, кто этим зарабатывает. Но все мы знакомы с людьми, которые прекрасно поют, но они не заканчивали ДМШ, колледж, консерваторию, не учились вокалу и не зарабатывают пением. К слову, вокальное отделение — единственное в консерватории, в приеме на которое не требуется аттестат музыкального колледжа, а возрастной порог 35 лет (по крайней мере, так было 20 лет назад).

Читать далее

Почему B-деревья быстрые?

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

B-дерево — это структура, помогающая выполнять поиск в больших объёмах данных. Она была изобретена более сорока лет назад, однако по-прежнему используется в большинстве современных баз данных. Хотя существуют и более новые структуры индексов, например, LSM-деревья, B-дерево пока никто не победил в обработке большинства запросов баз данных.

После прочтения этого поста вы будете знать, как B-дерево упорядочивает данные и выполняет поисковые запросы.

Читать далее

Простая проблема приводит к слишком большим числам для нашей Вселенной

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

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

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

Звучит достаточно просто. «Вы можете пойти в начальную школу и рассказать об этом детям», — сказал Кристоф Хаазе, учёный из Оксфордского университета. «Люди подумают: «Это должно быть легко». 

Но математическая задача, лежащая в основе дилеммы Алисы и называемая проблемой достижимости для систем сложения векторов, на удивление тонкая.

Читать далее

Formify: от идеи до публичной беты, как я создал бесплатный конструктор форм в виде текстового документа (2024)

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

? Всем привет! Сегодня я расскажу о Formify - конструктора форм, который уже сейчас переписывает правила игры в создании опросов и форм. О том как придумал идею, о процессе реализации и почему конструктор форм в виде текстового документа - это очень маленькая, но революция в мире форм и опросов. Погнали!

Читать далее

Собираем объёмный дисплей на Raspberry Pi

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

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

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

К вопросу о RS485

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

Недавно, при отладке одного устройства, внезапно выяснилось, что RS485 не хочет работать (вернее, работает через раз), если два устройства не связаны землей, от слова совсем. Вообще то данный факт не является откровением и я в своих кабелях земли протаскиваю, но в данном конкретном случае имел место обрыв провода. Но после того, как дефект был обнаружен и устранен, внезапно возник вопрос — а как вообще устроен приемник сигналов, если в соответствии со стандартом он должен правильно обрабатывать сигналы, имеющие общее напряжение (Vcm) от -7В до 12В, питаясь при этом от 3.3В (ну или от 5В) относительно земли. Да, я знаю о существовании операционных усилителей (а компаратор — то же ОУ), способных обрабатывать сигналы «rail‑to‑rail» (импорто‑замещенное обозначение «от шины до шины» мне не нравится, можете пожаловаться кому следует), но в данном случае входные сигналы откровенно за шины (землю и питание) выходят.

Если Вам тоже интересно, Вам сюда

Как утереть нос NumPy с помощью двумерного БПФ

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

Двумерное преобразование Фурье — один из важнейших алгоритмов компьютерной науки этого столетия. Он нашел широкое применение в нашей повседневной жизни — от фильтров Instagram до обработки MP3-файлов.

Наиболее частой реализацией, используемой рядовым пользователем, иногда даже неосознанно, является адаптация из NumPy. Однако, несмотря на популярность, их алгоритм не является самым эффективным. С помощью нескольких простых манипуляций и статьи 2015 года мы обошли алгоритм NumPy по производительности аж на 30-60%. Основная проблема этой реализации заключается в том, что она изначально основана на слабом с точки зрения производительности алгоритме.

По своей сути алгоритм, реализуемый NumPy, является поочередным применением обычного одномерного БПФ (FFT) к двум измерениям, что очевидно не может быть оптимальным решением.

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

Читать далее

eXpress подкрался незаметно: рассматриваем российскую альтернативу Zoom

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

Хабр, привет! На связи Владимир Сергеев, эксперт направления инфраструктурных решений К2Тех. Мне все больше кажется, что взлет и популярность Zoom в последние несколько лет — это во многом про то, чтобы оказаться в нужное время в нужном месте и быть готовым к открывшимся возможностям. Пандемия 2020 года — яркий тому пример. 

Такой шанс теперь выпал и российским разработчикам. Привычные мировые сервисы — сегодня есть, а завтра нет уже не работают. Более того, тот же Zoom не получится развернуть в своей инфраструктуре. Нет просто такой возможности заякорить его on-prem. И естественно, на место зарубежных игроков выстроилась очередь из молодых и амбициозных отечественных команд, которые созрели для конкуренции. Давайте посмотрим на один из их продуктов поближе.

Встречайте eXpress!
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

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

Инженер по обеспечению качества
Средний
Python
Linux
SQLite
OpenCV
Git
Docker