Search
Write a publication
Pull to refresh
-17
0

Системный архитектор

Send message

Расчетный листок, полученный римским солдатом X легиона. 2000 лет пролетело — ничего не изменилось…

Reading time3 min
Views66K

Листок папируса, найденный близ крепости Масады в Израиле, представляет собой расписку о получении жалования (и вычетах из него) одного из солдат римской армии.

Автор: Лысый Камрад (@LKamrad)

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

Перед нами  один из таких замечательных  документов  –  квиток о получении зарплаты  солдатом Гаем Мессием  с  подробно расписанными вычетами из нее. 

Давайте познакомимся с нашим "расчетным листком"  поближе.

Читать далее

Технология Вялых Проектов

Reading time10 min
Views25K

Этот текст – заказной. Знаю, многие из читателей пытались заказать у меня тексты, но я если и пишу для кого-то, то только для друзей. Нетрудно догадаться, что заказчик – мой друг. Зовут его… Пусть Вася. Он так и не решил, называться ли настоящим именем. Потому что так и не решил, зачем ему этот текст.

Итак, Вася – создатель уникального подхода в автоматизации. Надеюсь, процитировал достаточно точно. Вася делает Вялые Проекты.

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

На всякий случай отмечу, что кроме вышеупомянутой цитаты, ни одной буквы в этом тексте не написано Васей. Он этот текст прочитает одновременно с вами.

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

Читать далее

Эксперимент Базермана: как мы ежедневно теряем деньги

Reading time5 min
Views225K

Вы ещё не слышали, как профессор Гарвардской школы бизнеса «наживается» на своих студентах? Тогда вам, наверное, будет интересно узнать о том, как продать 20 долларов за гораздо большую сумму. Скажем, долларов за 200.

Профессор Макс Базерман придумал эксперимент, который демонстрирует необъяснимое иррациональное поведение будущих профессиональных бизнесменов и менеджеров в их родной стихии — управлении проектами. Кстати, в эту же ловушку попадают и топ-менеджеры крупных компаний, с которыми профессор проводит свои семинары.

Читать далее

Полуструктурированные данные в Аналитических Хранилищах

Reading time9 min
Views3.8K

Привет! На связи Артемий – Analytics Engineer @ Wheely.

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

В публикации:

- Преимущества гибкой схемы и semi-structured data

- Источники таких данных: Events, Logs, API

- Подходы к обработке: Special Data Types, Functions, Data Lakehouse

- Принципы оптимизации производительности

Читать далее

Как нас могут логировать общедоступными методами

Reading time6 min
Views14K

DISCLAIMER: Данная статья написана в ознакомительных целях и не является руководством к неправомерным действиям или обучающим материалом для сокрытия правонарушений.

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

Мы разделили логеры на две основные категории по принципу их работы...

Читать далее

Тренд «сверхзанятости»: как айтишники совмещают несколько работ для большего профита

Reading time4 min
Views25K


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

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

Как не стать жертвой IT корпораций?

Reading time10 min
Views21K

Практически каждый день на просторах Интернета появляется очередной привлекательные сервис, призванный сделать жизнь комфортнее или привнести в нее новый пользовательский опыт: вроде сервисов доставки еды в автомобиль, VR-чатов и метавселенной Facebook.

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

В статье рассказываю, в чем потенциальная опасность некоторых ресурсов и на основе своего опыта рекомендую замену. В качестве альтернативы предлагаю преимущественно open source решения с прозрачными сценариями и использованием разных данных пользователя.

Например: NewPipe и FreeTube вместо YouTube, Matrix вместо WhatsApp и Telegram, DuckDuckGo вместо Google.

Читать далее

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

Reading time5 min
Views27K

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

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

Читать далее

20 вещей, которые я узнал за 20 лет работы инженером-программистом

Reading time8 min
Views100K

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

Особенно отзываются пункты «стройте компактные системы» и «лучший код — это отсутствие кода». Последний совет я превращаю в цитату из какого-то второсортного фильма про самураев: «Лучшая победа — та, которую ты одержал, не доставая меч из ножен» (думаю, сослуживцы за моей спиной уже закатывают глаза). И, конечно, бесконечные разговоры про легендарных 10x-программистов постоянно хочется прервать советом не связываться с 0,1x-программистами (которые реально существуют, в отличие от 10x).

Читать далее

Топ-5 когнитивных искажений при планировании в IT

Reading time13 min
Views39K

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

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

Читать далее

Архитектура и особенности процессора Эльбрус 2000

Reading time14 min
Views26K

В чем принципиальные особенности процессора российской разработки Эльбрус? О ней в последнее время много говорят: как хвалят, так и ругают. Но давайте углубимся в архитектуру процессора, чтобы все-таки понять в чем его плюсы и минусы.

Расскажу, что такое скрытый и явный параллелизм, как используются предикаты и осуществляется подготовка переходов. Почему Эльбрусу не нужны push и pop команды и в чем особенности его регистрового окна. Какая защита от атак есть у российского процессора и какие возможности дает защищенный режим.

Данная статья — транскрипт моего выступления на конференции HighLoad++.

Читать далее

Как служится в белорусской ИТ-роте: честный рассказ дембеля

Reading time7 min
Views113K

В Беларуси вот уже больше трех лет у программистов, которых признали годными для службы в армии, есть шанс отдать долг Родине, сидя за клавиатурой и монитором. В Военной академии Минобороны Беларуси служит так называемая «ИТ-рота», в которую регулярно набирают призывников на конкурсной основе. Желающих променять суровые армейские будни на написание кода — очень много. Но мне повезло пройти строгий отбор и отслужить в самом необычном военном подразделении страны. Об этом я и хочу рассказать в этом посте.

Читать далее

Правда ли SSD надёжнее, чем HDD?

Reading time5 min
Views69K


В серии статей SSD 101 мы рассмотрели SSD со всех сторон. А теперь проверим главный аргумент фанатов SSD — что эти устройства выходят из строя гораздо реже, чем старые добрые HDD. Они обычно объясняют, что в SSD нет движущихся частей, и предъявляют документы от производителей с мутными расчётами среднего времени до отказа (MTBF). Всё это хорошо для рекламы, но мы предпочитаем реальную статистику частоты отказов.
Читать дальше →

Распространённые ошибки изменения схемы базы данных PostgreSQL (Николай Самохвалов)

Reading time22 min
Views12K


Postgres.ai делает возможным работу с полноразмерными базами данных в CI, значительно улучшая качество разработки и тестирования.


Разрабатываемый компанией открытый инструмент, Database Lab Engine, позволяет создавать полноразмерные клоны баз данных любого размера за секунды. Используя такие клоны, вы можете тестировать изменения, оптимизировать SQL-запросы и быстро развёртывать независимые тестовые стенды.
Вебсайт компании – https://Postgres.ai/ – содержит также SaaS-версию Database Lab.

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

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

Reading time3 min
Views41K

(Disclaimer!) Данная точка зрения не претендует на роль абсолютной истины и является лишь результатом моего опыта, чтения, наблюдений и размышлений.

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

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

Читать далее

Популярные расширения для PostgreSQL: как установить и для чего использовать

Reading time5 min
Views16K

Облачные базы данных Selectel поддерживают 40 расширений для PostgreSQL. Некоторые добавляют небольшие радости оптимизации баз данных, другие — заменяют отдельные модули разработки на стороне приложения. На данный момент расширениями пользуются 26% пользователей DBaaS. Мы узнали, какие экстеншены наиболее популярны у клиентов и где они их применяют.

Если вы опытный DBA, вы точно нужны в комментариях — расскажите, какие расширения используете и как они решают ваши задачи.
Читать дальше →

Что должен, но не знает про конкуренцию в PostgreSQL каждый разработчик?

Reading time13 min
Views22K

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

Читать далее

Работа с GraphQL через Hasura для системных аналитиков и QA

Reading time6 min
Views12K

Цель данной статьи - рассказать о GraphQL и Hasura человеку, который вообще ничего не слышал об этих инструментах. И, например, его карьерный путь сложился так, что ему необходимо иметь общее представление об этих инструментах и даже с ними взаимодействовать, например, для проведения тестирования. Или же ситуация иная: человек постоянно развивается, изучая новые архитектурные подходы, следит за популярными и новыми инструментами и сейчас в своем обучении дошел до GraphQL и Hasura.

Я аналитик, который сам недавно оказался в ситуации первого типа (вообще не слышал ничего о GraphQL и Hasura, каюсь), поэтому статья не претендует на глубокое погружение в тему и нацелена скорее на аналитиков и тестировщиков, которые не работали с упомянутыми инструментами.

Теперь всё, переходим к контенту с чистой совестью.

Читать далее

Версионирование API или единая кодовая база для всех версий

Reading time13 min
Views44K

За 21 год существования в SuperJob разработали три версии реализации API для интеграций с бэкендом. Во время разработки последней они решили пересмотреть подход к версионированию. Сейчас в актуальной реализации порядка 379 эндпойнтов, более 900 моделей сущностей и 11 поддерживаемых мажорных версий. Когда проект развивается, вместе с ним меняются и требования к API, а значит неизбежно нарушение обратной совместимости.

Опытом решения этой проблемы поделился Антон Золотилин из SuperJob. Вы увидите самые распространенные решения проблемы версионирования web-API и подход, который реализовал у себя SuperJob. А в качестве бонуса узнаете, как это решение помогает значительно сократить рост затрат на тестирование версий с помощью Impact-анализа.

Читать далее

Зачем С++ в Такси? Доклад Яндекса

Reading time21 min
Views18K
Бэкенд первой версии Яндекс.Такси, которая вышла в 2011 году, был написан на Python. Мы довольно долго не меняли основной язык, но постепенно пришли к идее о необходимости С++ в стеке технологий. Перед вами доклад о том, что мы переписали в первую очередь и почему, а также о трюках С++, которые помогают нам справляться с ростом.

— Добрый день. Меня зовут Александр Голубев, и сегодня я вам расскажу, зачем C++ появился в Такси.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity