Pull to refresh
24
0

User

Send message

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

Level of difficultyMedium
Reading time20 min
Views8.3K

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

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

Читать далее
Total votes 50: ↑50 and ↓0+68
Comments23

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

Level of difficultyMedium
Reading time9 min
Views35K


Привет, эту публикацию я хочу посвятить людям, кто, как и я, любил в детстве читать журнал «Радио» и книги по электронике, но не смог сам разобраться в принципах работы усилителей на биполярных транзисторах. Тема полупроводников непроста и требует понимания многих чуждых для нашей повседневной интуиции физических процессов. Я помню момент озарения, когда я понял принцип схемотехнического решения эмиттерного повторителя, и именно с него пошло постепенное понимание, как функционируют и другие типы транзисторных каскадов. И я предполагаю, что эта тема может стать точкой входа в аналоговую электронику не только для меня.
Читать и смотреть схемы
Total votes 149: ↑147 and ↓2+187
Comments117

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

Level of difficultyMedium
Reading time10 min
Views6.9K

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

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

Читать далее
Total votes 31: ↑31 and ↓0+37
Comments32

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

Reading time65 min
Views24K

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

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

Прикоснуться к сокровищнице языка С++
Total votes 82: ↑81 and ↓1+92
Comments23

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

Level of difficultyMedium
Reading time7 min
Views13K

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

Читать далее
Total votes 51: ↑50 and ↓1+59
Comments5

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

Reading time12 min
Views4.3K

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

Читать далее
Total votes 8: ↑6 and ↓2+9
Comments1

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

Level of difficultyMedium
Reading time19 min
Views5.5K

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

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

Level of difficultyMedium
Reading time8 min
Views7K

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

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

Приступим.
Total votes 13: ↑13 and ↓0+21
Comments7

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

Level of difficultyHard
Reading time10 min
Views4.8K

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

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

Читать далее
Total votes 15: ↑13 and ↓2+17
Comments7

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

Reading time20 min
Views6.7K


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


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


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

Читать дальше →
Total votes 42: ↑42 and ↓0+52
Comments26

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

Reading time19 min
Views4.6K

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

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

Оглавление:

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments3

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

Level of difficultyEasy
Reading time15 min
Views7K

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

Время ли хоронить архитектора?
Total votes 16: ↑15 and ↓1+17
Comments22

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

Reading time23 min
Views5.5K

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

Шагаем дальше
Total votes 12: ↑9 and ↓3+8
Comments7

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

Reading time11 min
Views3.3K

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

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

Давайте прокатимся!
Total votes 2: ↑2 and ↓0+2
Comments4

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

Reading time14 min
Views6.3K

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

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments2

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

Reading time11 min
Views5.6K

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

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

Шутим дальше
Total votes 18: ↑13 and ↓5+14
Comments10

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

Level of difficultyEasy
Reading time10 min
Views5.8K

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

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

Read more
Total votes 6: ↑6 and ↓0+6
Comments6

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

Reading time13 min
Views6.1K

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

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

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

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

Read more
Total votes 14: ↑13 and ↓1+16
Comments13

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

Reading time9 min
Views4.4K

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

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

Dog fight!
Total votes 7: ↑4 and ↓3+1
Comments3

Архитектура архитектуры. Шаг 2: О заказчиках и приказчиках

Reading time11 min
Views8.5K

Продолжаем.

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

Read more
Total votes 12: ↑8 and ↓4+7
Comments13
1

Information

Rating
Does not participate
Registered
Activity