Pull to refresh
1
0

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

Send message

Формула счастья программиста — Самый полный список требований к работе

Reading time15 min
Views20K

Как выглядит идеальная работа программиста? Что делает делает хорошую работу хорошей? Хотя бы не плохой?

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

А сталкивались ли вы с такой ситуацией?

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

Моя история подготовки к интервью в FAANG

Reading time3 min
Views17K

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

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

Введение в Event Modeling

Reading time12 min
Views9.2K

Event Modeling — это метод описания информационных систем на основе анализа изменений информации с течением времени. В частности, опускаются временные детали и выделяется то, что хранится долговременно, то что пользователь видит в любой конкретный момент времени. Это события на временной шкале, формирующие описание системы.

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

Продолжаем разгонять FizzBuzz

Reading time5 min
Views7.9K

После написания первой статьи про FizzBuzz (которая неожиданно для меня стала выбором редакции на Технотексте 2021) у меня появлялись мысли о том, как еще можно ускорить, но все время было не до того. И тут мне прилетает перчатка.

Читать далее
Total votes 33: ↑31 and ↓2+42
Comments5

Атака на String.hashCode: прообразы и коллизии

Reading time8 min
Views13K
Дюк прощупывает сезон Java

Как-то раз мне понадобилось несколько наборов строк с коллизией по хеш-коду. То есть таких, чтобы значение String::hashCode() совпадало для всех строк в наборе.

Блуждание по интернету не дало результатов, примеров было мало и все они довольно однообразны. Поиск по словарям подарил забавную пару "javascript's".hashCode() == "monocle".hashCode(), но практической пользы не принёс. Полный перебор не рассматривался в виду скорой тепловой смерти вселенной.

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

Читать дальше →
Total votes 62: ↑62 and ↓0+62
Comments23

Грокаем монады

Reading time7 min
Views13K

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

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

Читать далее
Total votes 23: ↑18 and ↓5+18
Comments23

Необычные проекты интернета вещей. Пёс-охранник на Raspberry Pi и умная видеоняня

Reading time4 min
Views5.2K


Умный дом делает жизнь комфортнее и безопаснее. Безопасность никогда не бывает лишней. Одна из задач интернета вещей — защита человека и его жилища, поэтому мы ставим камеры видеонаблюдения с датчиками движения и уведомлениями через интернет. В любой момент можно достать телефон и проверить, что в дом не пробрались еноты.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments2

Разработка драйвера сетевого адаптера для Linux. Часть 1

Reading time25 min
Views27K

В этой статье мы рассмотрим как устроен драйвер сетевого адаптера для Linux.

Cтатью разделим на две части.

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

Хотя при разработке драйверов необходимо использовать стандартные ядерные фреймворки, такие как clock, reset, libphy и пр., поначалу мы будем работать с адаптером напрямую через регистры состояния и управления. Это позволит нам детально разобраться с аппаратной частью.

Во второй части статьи приведем драйвер к нормальному виду, с использованием стандартных фреймворков и описанием того, что надо указать в Device Tree, и рассмотрим как передавать сетевые пакеты.

Нам нужна макетная плата с сетевым адаптером, на которую можно поставить Linux. Возьмем Orange Pi Zero на платформе Allwinner H2+. В состав платформы входят четыре процессорных ядра Cortex-A7, поддерживается ОЗУ стандартов LPDDR2, LPDDR3, DDR3, широкий спектр соединений и интерфейсов, в том числе сетевой адаптер, для которого мы будем разрабатывать драйвер. Подробное описание платформы тут, документация на платформу Allwinner H3 Datasheet.

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

[API как продукт] Управление ожиданиями

Reading time4 min
Views1.6K

Наконец, последний аспект, который хотелось бы осветить в рамках данного раздела — это управление ожиданиями партнёров в отношении развития вашего API. С точки зрения коммуникации потребительских качеств API мало отличается от любого другого B2B программного обеспечения: и там, и там вам нужно как-то сформировать у разработчиков и бизнеса понимание о допустимом SLA, объёме функциональности, отзывчивости интерфейсов и прочих пользовательских характеристиках. Однако у API как продукта есть и специфические особенности.

Это последняя глава моей книги, посвящённой API. Книга целиком: ссылка на книгу.

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

.Net Microservices The Hardcore Way: туториал от инженеров Microsoft, получаем PROD опыт

Reading time4 min
Views13K

Для тех кто хочет погрузиться в проектирование .Net микросервисов, Kubernetes, Azure и Azure DevOps процессы. 

Читать далее
Total votes 16: ↑14 and ↓2+14
Comments7

Пробить потолок: куда может расти специалист уровня сеньор

Reading time6 min
Views8.6K

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

Читать далее
Total votes 12: ↑6 and ↓6+1
Comments23

Обзор паттернов интеграции микросервисов. Часть 1

Reading time7 min
Views29K

Недавно мы проводили вебинар «Обзор паттернов интеграции микросервисов». На нём энтерпрайз архитектор Пётр Щербаков рассказал, зачем IT-специалистам нужны шаблоны интеграции, и разобрал, для каких задач они подходят, а для каких нет. Для тех, кто пропустил или предпочитает читать, а не смотреть подготовили текстовый обзор интеграционных паттернов: Circuit Breaker, Sidecar, Ambassador, Anti-Corruption Layer и Async Request-Reply.

Читать далее
Total votes 23: ↑20 and ↓3+18
Comments1

Все «косячат» – 2

Reading time4 min
Views16K

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

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

Решения принимают для того, чтобы ресурсы расходовались рационально. И принятие любого решения сужает горизонт и ограничивает дальнейший выбор. Выбрав что-то одно, вы лишаете себя чего-то другого. Классическим примером служит витязь на перепутье.
Читать дальше →
Total votes 26: ↑24 and ↓2+26
Comments7

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

Level of difficultyEasy
Reading time15 min
Views7K

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

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

Как за две недели освоиться с реальным проектом: стандарт OMG Essence

Reading time10 min
Views11K

Этот материал для тех, кто хочет эффективно погружаться в проекты большого масштаба и следить за состоянием их здоровья. В статье расскажу, как максимально быстро разобраться в стандарте OMG Essence и начать применять его в работе.

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

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments27

«Звезда» — оптимальная структура данных при переходе на российский BI

Reading time20 min
Views11K

Бизнес-аналитика — интереснейшее направление работы с данными. С одной стороны пользователи хотят видеть красивые дашборды и простые self-service платформы, а с другой стороны, для организации всего этого порой требуется колоссальная работа по организации витрин, моделей данных, оптимизации запросов, а вместе с этим — мощный сервер для переработки миллиардов записей. В этом посте я расскажу о том, почему для работы с BI сегодня как никогда актуальна такая модель данных как “Звезда”, и как ее использование помогает улучшать эффективность бизнес-аналитики на любых BI-платформах.

Читать далее
Total votes 23: ↑21 and ↓2+20
Comments18

Как один мужик карту города рисовал

Reading time3 min
Views13K

Всем привет!



Сегодня поговорим о визуализации геоданных с помощью GeoPandas и Kepler.gl. Хотел бы рассказать, как я за пару дней построил вот такую карту, где высота полигонов регулировалась этажностью здания, а цвет - годом постройки.

Читать далее
Total votes 51: ↑48 and ↓3+58
Comments7

Управление талантами в ИТ: Когда слишком хорошо уже плохо

Reading time13 min
Views7.6K

В статье «Почему всё ломается даже у хороших программистов?» (Часть 1 и Часть 2) был описан тип сотрудников: «золотая шестерёнка». Это способные люди, которые являются не только замечательными разработчиками, но ещё являются хорошими организаторами, имеют стратегическое мышление, могут проектировать архитектуру приложения либо даже ИТ-ландшафт. Встаёт закономерный вопрос, а почему «золотые шестерёнки» это плохо, почему бы из них не собрать сильную команду, чтобы всем было счастье. Давайте попробуем понять, почему «золотая шестерёнка» в итоге зачастую дестабилизирует ситуацию вокруг себя. Писать буду простым языком в расчёте на широкую аудиторию.

Читать далее
Total votes 20: ↑14 and ↓6+10
Comments24

Способы общения микросервисов для самых маленьких

Reading time8 min
Views51K

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

В этой статье поговорим о том, какие бывают способы общения в микросервисной среде. Расскажу на пальцах, какие обычно предъявляются требования к общению сервисов, почему большинство использует REST API, даже при том, что у него тоже хватает минусов, и при чем тут Kafka.

Рассчитываю на новичков, но если у вас есть интересный опыт в этих вопросах - добро пожаловать в комментарии.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments9

Ecma International утвердила ECMAScript 2022: что в ней нового?

Reading time6 min
Views18K

22 июня 2022 123-я ассамблея Ecma General утвердила языковую спецификацию ECMAScript 2022, а значит, она стала официальным стандартом.

В посте разберемся, какие обновления добавлены в эту версию.

Читать далее
Total votes 11: ↑7 and ↓4+4
Comments8

Information

Rating
Does not participate
Location
Израиль
Date of birth
Registered
Activity