Как стать автором
Обновить
2
0

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

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

Диаграммы без боли и страданий: PlantUML

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

Системный аналитик всегда и везде сталкивается с бесконечным количеством диаграмм разного вида, с нотациями (правилами), чтобы нарисовать данные диаграммы и с бесконечным количеством инструментов для их описания. Но мало кто говорит о таком инструменте, как PlantUML. 

Лично мне завесу тайны приоткрыл Альфа-Банк, здесь документация ведется рядом с кодом, и схемы логичнее описывать тоже кодом. Но это не так страшно и не так сложно (почти) как кажется. Давайте я приоткрою ящик Пандоры и сниму кармическое проклятье с  этого инструмента. 

Читать далее
Всего голосов 65: ↑64 и ↓1+74
Комментарии35

PCIExpress 1.0 2.5GT/s analyzer на базе ПЛИС своими руками

Время на прочтение12 мин
Количество просмотров8.6K

На работе я занимаюсь созданием PCIExpress устройств на ПЛИС. Некоторые из ПЛИС имеют встроенное PCIExpress ядро, позволяющее работать с этим интерфейсом на уровне пользовательского приложения. ПЛИС серии ECP5UM фирмы Lattice использует Soft-IP Core для реализации протокола, написанный на языке HDL, а в микросхему лишь встроен блок, отвечающий за работу физического уровня. Мне пришла в голову идея попробовать сделать PCIExpress анализатор на базе этой микросхемы.

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

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

Читать далее
Всего голосов 60: ↑60 и ↓0+60
Комментарии14

Нужен ли ConfigureAwait?

Время на прочтение8 мин
Количество просмотров22K

image


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


Одна из многословных конструкций .NET связана с деталями реализации асинхронности и обросла кучей мифов. Про неё спрашивают на собеседованиях, код-ревью, делают обязательной, добавляя в правила линтера. Это .ConfigureAwait(false), сопровождающий каждый await в коде.


В этой статье я расскажу, зачем нужен ConfigureAwait(false) и как обойтись без него.

Читать дальше →
Всего голосов 46: ↑45 и ↓1+59
Комментарии19

ChatGPT как инструмент для поиска: решаем основную проблему

Время на прочтение40 мин
Количество просмотров115K

Вышедшая чуть больше месяца назад ChatGPT уже успела нашуметь: школьникам в Нью-Йорке запрещают использовать нейросеть в качестве помощника, её же ответы теперь не принимаются на StackOverflow, а Microsoft планирует интеграцию в поисковик Bing - чем, кстати, безумно обеспокоен СЕО Alphabet (Google) Сундар Пичаи. Настолько обеспокоен, что в своём письме-обращении к сотрудникам объявляет "Code Red" ситуацию. В то же время Сэм Альтман, CEO OpenAI - компании, разработавшей эту модель - заявляет, что полагаться на ответы ChatGPT пока не стоит.

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

Погрузиться с головой →
Всего голосов 96: ↑96 и ↓0+96
Комментарии51

Припой припою рознь, или Несколько слов о флюсах

Время на прочтение7 мин
Количество просмотров40K

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

Спектр задач по пайке при этом у связистов простирается от антенно-фидерного хозяйства (кабели, разъёмы), через аксессуары (зарядки, гарнитуры) и до ремонта собственно радиоаппаратуры (SMD-компоненты).

В связи с этим я не только провёл краткий ликбез и показал пару табличек, но и хочу написать про это здесь, чтобы потом было удобно давать ссылку :)

Итак: какие бывают флюсы в припоях, что лучше — ORL0 или ROM1 (я проверил гуглем, обе аббревиатуры на Хабре встречались 0 раз), где искать эту информацию и зачем вообще это надо.

Читать далее
Всего голосов 115: ↑107 и ↓8+125
Комментарии92

Система увлажнения воздуха для дома или квартиры

Время на прочтение5 мин
Количество просмотров38K

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

Читать далее
Всего голосов 99: ↑99 и ↓0+99
Комментарии101

«Конфискация денег без презумпции невиновности»: ужасы AML/KYC процедур в зарубежных банках

Время на прочтение14 мин
Количество просмотров31K

Многие россияне сейчас эмигрируют. Перед кем-то при этом встает задача аккуратного вывода накопленного капитала – так, чтобы не нарушить строгие российские валютные ограничения. Но не все при этом понимают, что «легализация» своих денег в той же Европе может оказаться отдельным нелегким квестом. Про это – сегодняшняя статья.

Читать далее
Всего голосов 77: ↑69 и ↓8+77
Комментарии170

Элементы языка С, которые являются неподдерживаемыми в языке С++

Время на прочтение7 мин
Количество просмотров32K

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

Этот материал я уже публиковал на другом ресурсе в менее причесанном виде, Я бы, наверное, поддался прокрастинации и никогда не собрался опубликовать эту коллекцию здесь, но из-за горизонта уже доносится стук копыт неумолимо приближающегося С23, который безжалостно принесет некоторые жемчужины моей коллекции в жертву богам С-С++ совместимости. Поэтому мне и пришлось встать с печи, пока они еще актуальны...

Разумеется, язык С имеет много существенных отличий от языка С++, т.е. не составит никакого труда привести примеры несовместимостей, основанные, скажем, на ключевых словах или других очевидных эксклюзивных свойствах С99. Таких примеров вы не найдете в списке ниже. Мой основной критерий для включения примеров в этот список заключался именно в том, что пример кода должен выглядеть на первый взгляд достаточно "невинно" для С++-наблюдателя, т.е. не содержать бросающихся в глаза С-эксклюзивов, но тем не менее являться специфичным именно для языка С.

Читать далее
Всего голосов 104: ↑103 и ↓1+138
Комментарии80

4k @ 144Hz: DP, HDMI, USB-C Alt-Mode & cables…

Время на прочтение11 мин
Количество просмотров61K

Я недавно сделал себе небольшой апгрейд и у меня появился монитор 4k@144Hz. Разумеется, на 144Hz он не заработал. Потому что нюансы. Мне пришлось в это нырнуть глубже, чем хотелось бы...

Спойлеры: DP, USB-C Alt-mode, Thunderbolt, USB4 3x2, 40Gbps, HDMI.
Оглавление: кабели, протоколы, режимы.

Лыдыбр: Моя старая видеокарта на компьютере сумела завести его на 4k @ 60Hz с помощью Display Port. (Либо 2k @ 144Hz). Это её техническое ограничение, больше она не может. Дальше я попытался воткнуть в монитор ноутбук (все 5 шт, какие нашлись у меня и знакомых) и обнаружил, что всё настолько сложно, что мне потребовалось несколько заходов чтения спецификации, пока я "это завёл". Выписываю свои наблюдения и эксперименты. Актуальность - первая половина 2022 года. Монитор under study - Gigabyte M32U, хотя, в принципе, это не существенно для обсуждаемого вопроса. У монитора разъёмы HDMI, DP, USB-C.

Разбирать проблему я буду слоями. Начём с физики.

Читать далее
Всего голосов 143: ↑143 и ↓0+143
Комментарии135

Где хранить секретные файлы на случай БП

Время на прочтение7 мин
Количество просмотров39K


Всю информацию человека можно разделить по степени важности, примерно так:

  • системные бэкапы (важность 1/10);
  • текущие рабочие файлы (3);
  • личный архив: фотографии, видео (6);
  • копии бумажных документов (8);
  • секреты: ключи, пароли, кошельки (10/10).

Терять файлы всегда неприятно. Поэтому мы делаем резервные копии. Но степень параноидальности усилий по защите информации зависит от важности. Есть категория файлов, которую нельзя терять ни при каких обстоятельствах, даже в случае БП. Это наши главные секреты, то есть ключи, пароли и кошельки.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+37
Комментарии13

Алгоритм Укконена: от простого к сложному

Время на прочтение12 мин
Количество просмотров7.7K

Изучая курс Алгоритмы на строках столкнулся с задачей о построении суффиксного дерева. Перейдя по ссылке на дополнительные материалы наткнулся на рекомендацию "просмотреть этот замечательный комментарий на Stack Overflow". Изучив и реализовав по приведённому вольному описанию алгоритм Укконена решил поделиться переводом.

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

Читать далее
Всего голосов 10: ↑9 и ↓1+13
Комментарии0

Как заходить в чужой монастырь

Время на прочтение18 мин
Количество просмотров20K

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

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

Эта статья может быть интересна ребятам, которые переходят в новые компании на руководящие должности техлидов и тимлидов, либо разработчикам, которым выпало неожиданно возглавить не их «родные» команды.

Итак, рассмотрим ситуацию, когда в команду разработки (или в командЫ разработки) приходит новый руководитель, о котором самим участникам команды ничего не известно. И этот руководитель — вы.

Читать далее
Всего голосов 59: ↑58 и ↓1+67
Комментарии12

Собираем «Тревожный чемоданчик». Мнение спортивного туриста

Время на прочтение18 мин
Количество просмотров206K
Когда началась война, все произошло так быстро, что я не могла ни понять, что происходит, ни подумать о том, что хотела бы взять с собой, когда мы убегали. (из интервью сирийской беженки)

Мне почему-то не хочется делать вид, что ничего не происходит. Потому что нынешняя военная эскалация напоминает затишье перед бурей, похожие ощущения были в январе 2020, когда «коронавирус же не у нас, он в Китае». В итоге жизнь подтвердила несостоятельность подобного «психологического» трюка. Поэтому, думая про худшее и надеясь на лучшее, я написал недавно эмоциональную заметку про «тревожный чемоданчик». Написана она с учетом моего опыта спортивного туризма (инструктор гор/пеш), поэтому профессиональные военным (выживальщикам?) просьба отнестись с пониманием. Писалось с акцентом на беларускую аудиторию, и вот искренне надеюсь, что (НЕ) пригодится всем. Просьба не политизировать данную статью, а воспринимать as is. Те кто затевает войны — Хабр не читают. Мы все в одной лодке, надеюсь написанное под катом хоть немного поможет этой «лодке» быть на плаву…


Собираем тревожный чемоданчик вместе
Всего голосов 225: ↑198 и ↓27+223
Комментарии391

Шесть уровней метавселенной математики

Время на прочтение6 мин
Количество просмотров40K

Когда я был маленький, я думал, что математика - это очень формальная наука. Как бы не так! Когда о нас, математиках, говорят как о сухарях — это ложь! (с) 17 мгновений весны.

Приглашаю вас в путешествие по 6 уровням вселенной математики - от полностью формального до философско-поэтического, и заодно мы ответим на вопрос, является ли теорема Геделя теоремой или мета-теоремой.

Читать далее
Всего голосов 75: ↑72 и ↓3+92
Комментарии168

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

Время на прочтение10 мин
Количество просмотров43K

Дефицит компонентов отразился не только на рынке потребительской электроники, но и на промышленной. Стали дефицитом в том числе и частотные преобразователи (ЧП). Может стоит сделать свой ЧП? Мы пробовали.

Вот что получилось
Всего голосов 60: ↑59 и ↓1+78
Комментарии80

Углубленное знакомство с пространствами имен Linux. Часть 1

Время на прочтение19 мин
Количество просмотров33K

В процессе создания контейнеров ключевым компонентом является изоляция процессов. При этом одним из основных внутренних механизмов выступают пространства имен. В этой статье мы разберем, что они из себя представляют и как работают, чтобы научиться создавать собственный изолированный контейнер и лучше понять каждый его компонент.
Читать дальше →
Всего голосов 47: ↑46 и ↓1+70
Комментарии3

Выгорание — норма? Часть 2. Подробно про фазы и «Что делать?»

Время на прочтение18 мин
Количество просмотров42K

Стресс — это норма жизни. Без стресса нет роста и обучения новому.

Передоз стресса, как передоз чего угодно — вызывает защитную реакцию. Сначала — сопротивление и попытки адаптации, затем, если эти попытки провалились — схлопывание энергетических систем, чтобы не умереть. 

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

Читать далее
Всего голосов 35: ↑33 и ↓2+43
Комментарии20

Как мы лажали, открывая очередное юрлицо — на этот раз в США

Время на прочтение11 мин
Количество просмотров18K


Я тут открывал юрлицо в США и сделал всё по инструкции «как не облажаться», но облажался. Уже в новых местах, не предусмотренных инструкцией.

Главная инструкция вот тут, она написана не юристом, но сами юристы подтверждают, что получилась хорошая и на неё же ссылаются, когда нужно быстро ввести в курс дела новичка. Список того, где уже облажались русские участники УКомбината — вот.

Проект внезапно созрел и нужно было пустить инвесторов. Команда немного размазана по планете, поэтому всем было примерно всё равно, где регистрироваться. Есть вообще типовой стартаперский набор: Кипр, прибалты, США, Сингапур, Люксембург. Но не пофиг было российскому стратегу, одному из инвесторов, он хотел на родине. При этом американское корпоративное правило наиболее гибкое + накоплена большая база прецедентов, то есть оно ещё и предсказуемое. А в штате Делавер наиболее квалифицированный суд, и его решения — просто золотой стандарт отрасли. То есть если у вас есть иностранные инвесторы, стоит выбор между Европой, Кипром и США. Из Латвии и Эстонии тяжело выскакивать при росте компании (и за сладкий старт придётся платить условиями дальше), Кипр хорош, но венчурные инвесторы часто ассоциируют его с «русские что-то там мутят», поэтому Делавер.

Поскольку у нас ИТ-бизнес в России, и мы знаем правила ведения ИТ-бизнеса в России, план был такой:

  1. Уговаривать стратега на любую зарубежную юрисдикцию (а для них бы это был первый опыт инвестиций в зарубежный проект);
  2. Как только они дадут добро, за недельку зарегистрироваться, например в Делавере, и принять деньги.

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

Но нет. Переходим к мякотке.
Читать дальше →
Всего голосов 61: ↑59 и ↓2+79
Комментарии11

Бюджетный профессиональный свет (CRI 95,98) для макияжа или для стрима себя любимого

Время на прочтение2 мин
Количество просмотров12K

Когда открываешь google и смотришь, что выдают за "профессиональный свет", и тебе становится не по себе...

Есть несколько вариантов сделать качественное освещение быстро, дешево:

Вариант первый - галогеновые (галогенные) лампы

минусы: мало фиолетового/синего в спектре или очень маленький срок службы <100 часов (для ламп работающих с перекалом) и требуются хорошие софтбоксы для рассеивания света и защита их от воспламенения :)

Вариант второй - светодиоды

Минусы: отсутствие фиолетового в спектре, проблемы с равномерным рассеиванием света.

Все эти варианты решаемые, но вопрос цены и целесообразности.

Но есть еще один вариант - "дневные лампы"

Вы скажете "но это прошлый век..."
Всего голосов 10: ↑6 и ↓4+5
Комментарии22

Как я «напрограммировал» себе скилл рисования диаграмм в скетч-стиле

Время на прочтение5 мин
Количество просмотров26K

По работе мне часто приходится рисовать разные схемы, диаграммы процессов и графики, в том числе и те, которые потом используются в качестве иллюстраций для сайта, статей и презентаций. Всё бы ничего, но есть у диаграмм и графиков, сделанных в популярных онлайн-сервисах наподобие draw.io или lucidcharts одна беда — они выглядят как-то слишком уныло и «олдскульно», в духе «90-х». Всю эту инфографику хотелось бы сделать более заметной, привлекательной и душевной (и, желательно, без привлечения дизайнера).

Так у меня возникла идея создания инструмента для отрисовки диаграмм и графиков в стиле «нарисовано от руки». Об истории создания сервиса и «подводных камнях» я расскажу в этой заметке.

Читать далее
Всего голосов 157: ↑157 и ↓0+157
Комментарии37
1
23 ...

Информация

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