Search
Write a publication
Pull to refresh
25
0

User

Send message

Территория Большого Взрыва. Как устроена Вселенная и что с ней не так?

Level of difficultyEasy
Reading time15 min
Views56K

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

Рад поделиться с уважаемым сообществом своей любовью к популярной науке, в первую очередь, к космологии. Эта статья открывает небольшую серию, основанную на моём курсе лекций, который я читаю школьникам в летней школе Химера.
И который до сих пор был кипой листов А4, исписанных от руки буквально в лесу под деревом.

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

Читать далее

Старый трансивер эфир не испортит. Часть 2. Восстановление и наладка

Level of difficultyMedium
Reading time20 min
Views10K

В первой статье было написано, чем трансивер Дроздова RA3AO известен и что не так в купленном мной экземпляре.

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

Читать далее

Эмиттерный повторитель — ключ к пониманию работы транзисторных каскадов

Level of difficultyMedium
Reading time9 min
Views57K


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

Как мы написали конкурентные структуры данных на C++ и научились их верифицировать

Level of difficultyMedium
Reading time10 min
Views7.7K

Привет! В команде ВКонтакте мы переписываем рантайм движков баз данных — они становятся быстрее, надёжнее, а ещё с новым рантаймом проще писать код. Однако есть нюанс: в новом рантайме много конкурентных структур данных, в том числе нужных для работы с корутинами из С++20. Появляется интересная задача — проверять корректность этих конкурентных структур данных до выхода кода в продакшен.

Для решения этой задачи команда ВКонтакте вместе со студентами из университетов ИТМО и СПбГУ работала над научно-исследовательским проектом — верификацией конкурентных структур данных на языке C++. В этой статье подробно расскажем, как мы в рамках проекта проверяли корректность наших конкурентных структур данных и заодно исправили найденную в нашем новом рантайме ошибку.

Читать далее

Тысяча и одна библиотека С++

Reading time65 min
Views48K

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

Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.

Прикоснуться к сокровищнице языка С++

Пробы на роль Архитектора. Акт I: вступление

Level of difficultyMedium
Reading time7 min
Views14K

Я тут наткнулся на старую почту с приглашением на собеседование. С пожелтевшими гифками в подписи и просроченным сургучом сертификатов. Дело давнее, пандемийное, так что, думаю, можно рассказывать. Я один не смотрю на сроки NDA, когда подписываю? На всякий случай стоит обезличить и переделать. Тем более, что бонуса за продвижения бренда нет, а наказание всегда найдётся. Так что у нас тут анонимный клуб найма лиц похожих на архитекторов.

Читать далее

Cloudflare: снижение выгорания дежурных за счет более эффективного мониторинга оповещений

Reading time12 min
Views5K

Многие, наверняка, сталкивались с мемом this is fine, или оригинальным комиксом. Так выглядит типичный день для многих дежурных сотрудников. Оперативные дежурные получают много оповещений, и работа со слишком большим количеством оповещений может привести к усталости от оповещений — чувству истощения, вызванному реагированием на оповещения, которые не имеют приоритета или четких действий. Убедиться в том, что оповещения действенны и точны, а не являются ложными срабатываниями, крайне важно, потому что если дежурные сотрудники постоянно получают ложные уведомления, они могут перестать обращать на них внимание и игнорировать даже важные сообщения. С этой целью в Cloudflare многочисленные команды проводят периодический анализ оповещений, каждая команда разрабатывает свои собственные панели мониторинга для отчетности.

Читать далее

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

Level of difficultyMedium
Reading time19 min
Views6.1K

Есть потрясающая библиотека Rust под названием loom, которую можно использовать для тщательного тестирования неблокируемых (lock-free) структур данных. Я давно хотел разобраться, как она работает. И сейчас хочу! Но недавно я случайно реализовал небольшой эксперимент, который, как мне кажется, содержит часть идей loom, поэтому о нём стоит написать. Моя цель — не научить вас тому, что нужно использовать на практике (если вы хотите этого, то почитайте документацию loom), а, скорее, вывести пару идей из фундаментальных принципов.
Читать дальше →

Пробы на роль Архитектора. Акт II: наступление

Level of difficultyMedium
Reading time8 min
Views7.4K

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

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

Приступим.

Пробы на роль Архитектора. Акт III: выступление

Level of difficultyHard
Reading time10 min
Views5.2K

Выборы архитектора происходят всегда по‑разному. Это только политиков одинаково выбирают — по принципу лишь бы не этот… А вот с архитекторами везде свой сценарий. Где‑то в половине мест сидят эстеты и предлагают что‑то изобразить да обсудить. Четверть мест явно химики с мензурками в сейфе — спрашивают про правильный код или просят пузырьковую сортировку. Ещё реже циркачи просят пожонглировать стеклянными шариками на башне или погонять трамваи. Остальные просто хотят обсуждения с залом. Как бы намекая, что нельзя вот так просто прийти в училище имени Гнесиных с фамилией Иванов. Кто‑то из гильдии таки должен сказать, что в мальчике что‑то есть.

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

Читать далее

Как управлять миром шестиугольных призм на GPU

Reading time20 min
Views7.3K


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


Как и зачем я это сделал, и как дошёл до жизни такой, я поведаю в этой статье.


Внимание, в статье есть много скриншотов!

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

Вавилонская Башня. Правила IT архитектора часть 1

Reading time19 min
Views4.7K

Статья лонгрид и занимает около 15 страниц А4, что в переводе на время может занять у вас 15-20 минут. Потому если вы решите её осилить, придётся запастись временем.

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

Оглавление:

Читать далее

Архитектура Архитектуры. Шаг 10. Это конец

Level of difficultyEasy
Reading time15 min
Views7.1K

Знаете, как называется система, которая приносит постоянную прибыль, работает без особых проблем и обслуживается маленькой командой? Продукт с заканчивающимся сроком обслуживания!

Время ли хоронить архитектора?

Архитектура Архитектуры. Шаг 9: Успех на каждый день

Reading time23 min
Views5.7K

Хотели когда-нибудь примерить на себя костюмчик успешного архитектора из мира больших бизнесов? Ну тех, кто зарабатывает на лекциях и подкастах больше, чем на основной работе. Рецепт то не особенно сложный: пара успешных проектов и кул стори в интернетах. Впахивай и впаривай! Иногда в комплекте к костюму идут одноцветные тапочки…

Шагаем дальше

Архитектура Архитектуры. Шаг 8: Роллаут без конца

Reading time11 min
Views3.5K

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

В топку слюнявые фантазии и сладкие презентации про CI-CD-CD. В суровом и тёмном мире энтерпрайза система раскатывает вас. И происходит это медленно, нудно, под треск дедлайнов и шёпот адвокатов. Связанный по рукам и ногам корпоративной политикой и трендами политкорректности, ваш босс смотрит на тающий бюджет и пытается перегрызть вам вены мягкими беззубыми челюстями. Он бы с радостью познакомил вашу голову со своей коллекцией пресс-папье, но вы его честно предупреждали, что развёртка займёт год и ад из десятка версий в пилоте – это только начало. Вам, конечно, не терпится возразить, что так не должно быть и я сгущаю краски. Но раз уж у нас ролл аут, то...

Давайте прокатимся!

Архитектура Архитектуры. Шаг 7: Носом в пилотку

Reading time14 min
Views6.4K

Продолжение. К предыдущим постам и карте цикла.

Знаете, что случается, когда и архитектура вроде получилась и команда подобралась нормальная? Приходит ПОЦ. Пилотная версия. Проверка боем. Да, вы уложились в сроки и даже прошли всё внутренние проверки и тестирование на стороне клиента (UAT, SIT, PPT, ETC), так что теперь вас ждёт всё более худшее – то, что не нашли. Потому что там точно что-то спрятали. Может и не вы, но в конце точно прозвучит: «доктор, это вам!».

Читать далее

Архитектура архитектуры. Шаг 6: Ежедневный стэндап

Reading time11 min
Views5.7K

Продолжение. К предыдущим постам и карте цикла.

Будни разработчика. Цели определены, направления выбраны, задачи разжеваны. Нужно просто писать код и жевать кашку. Что может скрасить серость и однообразность существования? Конечно же daily standup - шоу, в котором есть место для каждого! Ну вот эти вот неожиданные «я посмотрел архитектуру и там ошибка» или вот «я добавил новый модуль, который нам может пригодиться в будущем» ну и, конечно, «я сделал всё проще и быстрей». Мы ведь именно ради этого делаем все церемонии груминга и планирования. Чтоб как бы подготовить почву и дать всем время посидеть молча и заготовить эти панчлайны на конец спринта. А самое обидное, что, потратив столько усилий, на сам стендап вы обычно не попадаете и панчи вам передаёт ваше начальство.

Шутим дальше

Архитектура архитектуры. Шаг 5: один за всех и все на одного

Level of difficultyEasy
Reading time10 min
Views6K

Продолжение. К предыдущим постам и карте цикла.

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

Read more

Архитектура архитектуры. Шаг 4: воспалённый аппендикс

Reading time13 min
Views6.2K

Продолжение. К предыдущим постам и карте цикла.

Да, если запустить, то будет больно. Ну а пока, возрадуемся же выигранному конкурсу! Ожидать горы золота или похвалы будет как минимум глупо. Солнце ещё высоко и время работать. Дядюшка Скрудж не выстроил бы своей империи, если б сразу бил по рукам и переходил к оплате. Поэтому его воплощение в вашем энтерпрайз-заказчике в очередной раз просто улыбнётся и опять поправит очки. Это, внучка, чтобы получше тебя видеть. И, конечно, чтоб читать текст приложений к контракту мелким шрифтом. Техническая часть всегда запрятана где-нибудь в Appendix 7/C.1.1

И так, на данном этапе вашей компании присылают ноту доверия. Значит тендер почти завершен, но еще нет. Осталось самое главное – контракт. После обката и обсоса на прошлой стадии у вашего клиента появились всевозможные желания, которые надо оформить. Да и опасения тоже никуда не делись. Несмотря на первичный тест и даже аудит.

Честно скажу, что я бы на месте клиента поступил так же. Обвести аудиторов вокруг пальца – вполне выполнимая задача. Просмотр документаций и планов никак не заставит саму компанию им следовать. Показательные процессы, тоже большинстве своём постановочные. А уж прогонка исходников через какой-нибудь статический анализ или PT черного ящика вряд ли что-то покажет. У вашей компании есть продукты (и это не веники) на рынке уже много лет. Откровенной лажи там не будет. Понять состояние крупного проекта за пару недель – может лишь команда специалистов из такого же проекта. Так как весь изюм - в расхождении текущего функционала с тем, чего требуют в тендере.

Read more

Архитектура архитектуры. Шаг 3: дуй в дилижанс

Reading time9 min
Views4.6K

К предыдущим постам и карте цикла.

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

Dog fight!
1

Information

Rating
Does not participate
Registered
Activity