Pull to refresh
8
0

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

Send message

Boson — разработка СУБД «с нуля» (итог)

Level of difficultyMedium
Reading time11 min
Views5.1K

Цель проекта Boson — это разработка встроенного движка базы данных документов JSON, написанный на C++. Основные возможности: стандартное хранилище JSON-документов в формате ключ/значениями с постоянным хранением на диске. Размер документов до 4Gb. Быстрый поиск документов по ID с использованием индекса B+ дерева. Поддержка курсоров для линейного обхода записей. База данных в одном файле, без временных файлов. Простое, чистое и легкое в использовании API. Самодостаточный и не требующий настройки.

В предыдущих двух статьях мы прошли шаги от кэширования файлового ввода/вода (часть I) до построенного на его базе хранилища записей произвольной длины (часть II) с проверкой целостности, возможностью получения записей списком и повторным использованием свободного места. Теперь мы переходим к завершающей части и "сердцу" СУБД - индексу.

Зачем нужен индекс: предположим, что в базе есть 1 млрд не отсортированных записей документов, тогда поиск конкретного документа по ID потребует O(n) операций, то есть до 1 млрд операций в худшем случае. Однако, если бы документы в базе были бы отсортированы по ID, то поиск в сортированной базе, тем же бинарным поиском занял бы O(log n) занял бы 30 операций. Что, теоретически, на базе в 1 млрд записей будет в 33.3 млн раз быстрее.

Читать далее

Настольная библиотека HDL-дизайнера и верификатора

Level of difficultyEasy
Reading time7 min
Views2.4K

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

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

Меня зовут Максим Ратников, я руковожу отделом системной верификации в компании Аквариус. Моя основная задача – убедиться, что все части микросхемы правильно собраны вместе и действительно функционируют так, как должны. Попутно работаю с теми стажерами в нашей компании, которые интересуются разработкой микросхем. Также преподаю в МАИ и рассказываю студентам про маршрут проектирования, элементы и узлы вычислительных машин. 

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

Когда где-либо заходит разговор про учебники по вычислительной технике и современным компьютерам и то, как это все работает, первое что вам скажут, скорее всего, будет классика как она есть – Эндрю Таненбаум «Архитектура ЭВМ». Версия чем свежее, тем лучше. Здоровенный том на 1000+ страниц, местами очень и очень непростой, но позволяет понять, как работает компьютер в целом.

Читать далее

PINN (Physics-informed neural networks) и с чем их едят

Level of difficultyMedium
Reading time4 min
Views7.6K

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

Менее известный, но более радостный, факт: Есть нейронные сети, которые делают это быстрее (пусть и с меньшей точностью).

Читать далее

Интегральные резисторы или О чем молчат в спорах про проектные нормы

Level of difficultyMedium
Reading time20 min
Views14K

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

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

Правильно, ничего! Но есть нюансы.

Как на фабриках полупроводников вычисляют выход годных кристаллов

Reading time8 min
Views13K

В Intel отказались от выпуска микросхем на базе узла 20A, решив перейти сразу к 18А.

И было очень много разговоров на тему, почему компания так поступила. Некоторые говорят, что Intel для исправления проблем с 18A требуется весь инженерный ресурс. Другие считают, что этот ход фактически сэкономит компании деньги, которые она сможет вложить в разработку узла 14А.
Читать дальше →

Почему Scrum так изматывает

Level of difficultyEasy
Reading time6 min
Views36K

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

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

Кодекс архитектора или как нанести пользу

Level of difficultyMedium
Reading time24 min
Views5.1K

Привет, архитекторы, разработчики и неопределившиеся! Меня зовут Сергей Врунов. Я работаю в ВТБ и занимаюсь развитием ИТ-архитектуры. Все мы сталкиваемся с религиозными «архитектурными» дискуссиями и производственными конфликтами на ровном месте. Кажется, у вас есть классное решение или предложение, но почему оно так плохо заходит или вообще не заходит? Что делать? Какой профиль успеха архитектора?

Архитектурная психология! Читайте наш «Кодекс архитектора», создавайте на его основе свой и приносите пользу организации.

Мы начинаем

Точечное улучшение скорости Youtube на роутере Keenetic

Level of difficultyMedium
Reading time5 min
Views74K

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

Читать далее

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

Level of difficultyMedium
Reading time5 min
Views9.2K

В детстве меня всегда завараживали игры с динамическим ландшафтом: The Castle и Worms Armageddon. В то время я не понимал, как реализована эта удивительная механика разрушения и изменения мира. Позже я узнал, что секрет заключался в использовании растровой графики, но интерес к теме не исчез. В этой статье я хочу рассказать о векторном решении аналогичной задачи.

Читать далее

Профилирование под Linux с помощью Performance Analyzer

Reading time4 min
Views4.8K

Профилирование под Linux с помощью Performance Analyzer


Коллеги, считаю полезным рассказать об удобном и бесплатном профилировщике кода для Linux/Solaris. Он входит в пакет Sun/Oracle Developer Studio [1]. По моему мнению, другие части этой среды разработки несколько бесполезны, но профилировщик, который называется Performance Analyzer, очень удачный. Он прост в использовании, наглядно и удобно устроен анализ результатов. На мой взгляд, профилировщик все еще превосходит многие аналоги под Linux. При наличии этого инструмента использование gprof видится странной прихотью и потерей времени.


Если вы не планируете использовать Performance Analyzer немедленно, то дальше можно не читать. Просто запомните, что такой продукт существует. Если же интересно взглянуть, то добро пожаловать.

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

Почему все современные (именно современные) авиалайнеры похожи сами на себя?

Reading time5 min
Views25K

Почему все современные (именно современные) авиалайнеры похожи сами на себя? Короткий ответ - тому что физика (и исходящие из нее нормы сертификации и безопасности ЛА, а так же экономической эффективности) на планете общая, но можно и нужно раскрыть эту тему подробнее.

Читать далее

Чем руководители проектов отличаются друг от друга (джун vs миддл vs синьор)

Level of difficultyEasy
Reading time5 min
Views17K

Есть в Айти стандартные грейды: Джун, Мидл, Синьор.

И всех руководителей ИТ проектов тоже можно разложить по этим уровням. Мне это помогает четче формулировать требования к сотруднику и куда ему дальше расти. Вам может помочь понять, что надо подтянуть, чтобы достичь нужного уровня, какие есть перспективы дальше. А если вы ищете РП – можете использовать для описания работы в вакансии 😊

Непричеметр (он же дисклеймер): эта статья – мое личное мнение, основанное на большом числе собеседований, которые я провел и прошел (суммарно больше 400). У меня нет статистических данных, я не проводил опросы и так далее. Зато почти каждый год на протяжении 20 лет я ходил по собеседованиям, последние 15 лет я собеседовал РП, а последние три года я непрерывно искал аналитиков и менеджеров, так что сформулировал четкие критерии отбора, которыми и хочу поделиться в статье ниже.

Читать далее

Реквием по SCRUM: всё равно уже хайп прошёл

Level of difficultyMedium
Reading time11 min
Views17K

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

Читать далее

«Не вредные советы для Лидера Проекта». Часть 2 — Запуск проекта. Как правильно выстроить иерархию власти в Гриффиндоре

Level of difficultyMedium
Reading time12 min
Views4.7K

Посвящается тем немногим руководителям проектов, кто сумел найти способ получить полномочия и эффективно применять их для управления командой и стейкхолдерами.

Вторая часть описывает фазу "Официального Старта Проекта". В ней я также расскажу про поджидающие вас скрытые возможности, которыми также можно очень удачно воспользоваться. И которые (кто знает) возможно даже обернутся вполне приятными последствиями.

Читать далее

Кто такой архитектор ПО и как им стать

Reading time11 min
Views35K

Всем привет! Меня зовут Виктор Василенко, я техлид и Solution-архитектор. Я работал в Яндексе и X5 Group и уже не первый год сотрудничаю с Практикумом. Я делюсь опытом на курсах «Алгоритмы и структуры данных» и «Асинхронное программирование на Python».

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

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

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

В этой статье я хочу поделиться своим видением роли архитектора ПО и рассказать:

Кто такой архитектор ПО и какие они бывают;

Чем занимается архитектор решений в компаниях разного масштаба;

Чем отличаются инженеры от архитекторов ПО;

Какие обычно задачи стоят перед архитектором ПО;

Конкретно: какие нужны навыки и компетенции;

Как перейти из инженера на позицию архитектора.

Читать далее

От Отечественной войны 1812 года к правилам управления изменениями

Level of difficultyMedium
Reading time67 min
Views4.2K

12 июня 1812 года войска Наполеона перешли Неман. Так началась Отечественная война, в которой Российской империи противостоял очень сильный противник. С огромным опытом, с гениальным полководцем, который ещё не терпел поражений. Долгое наступление, Бородино, сданная врагу Москва, пожар, зима и бегство французов.

Через полгода после начала войны Наполеон с остатками армии убежал из России.

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

Но не просто так, а сквозь призму того, как нужно управлять изменениями.

Бой затеять новый и до конца стоять...

5 удобных Телеграм-ботов с Chat GPT для написания кода

Level of difficultyEasy
Reading time3 min
Views17K

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

По популярности лидирует нашумевший Chat GPT, но в России сервис не работает без VPN. Как тебе такое, Илон Маск? Неудобство? — Да. Разочарование? — return false; Давно есть решение — Телеграм-боты со встроенным GPT для кода и борьбы с багами.

Читать далее

Производительность торговой платформы на простом примере

Reading time7 min
Views4.6K

В этой статье я хочу в научно-популярной форме рассказать об оптимизации времени отклика в торговых платформах бирж и банков (HFT). Для справки речь идет о временах от сотен наносекунд до сотен микросекунд. Для большинства других приложений многие приведенные ниже методы оптимизации неактуальны просто в силу отсутствия столь жестких требований.


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


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

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

Беспроводная клавиатура Lofree Edge: легкая, тонкая и дорогая. Что это за аксессуар?

Reading time3 min
Views14K

Клавиатур много не бывает, а тем более — хороших. Не так давно в продажу поступила необычная модель, которая может стать надежным инструментом для работы. Речь идет о Lofree Edge, которая отличается от большинства других моделей небольшим весом и материалом, из которого создан корпус. Подробнее — в продолжении.

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

50+ источников с исследованиями и статистикой для фактчекинга

Level of difficultyEasy
Reading time2 min
Views2.2K

Подборка сайтов, которая поможет собрать «мясо» для своей статьи и сделать её убедительной, а также проверить факты в чужих публикациях.

Читать далее

Information

Rating
Does not participate
Location
Россия
Registered
Activity