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

Как стать автором

Введение в продуктовую аналитику. Зачем нужна и с чего начать внедрять

Уровень сложностиПростой
Время на прочтение4 мин

Привет, Хабр! Я Нурлан — ведущий продуктовый аналитик в tekmates. Мы в компании создаём диджитал-продукты для бизнеса. Своим любимым делом я занимаюсь уже больше трёх лет. За это время удалось отстроить продуктовую аналитику с нуля в нескольких крупных проектах логистики и финтеха.

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

Читать далее
Всего голосов 14: ↑11 и ↓3+9
Комментарии13

Аннотации vs Документационные комментарии vs Маркерные интерфейсы

Время на прочтение3 мин

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

Аннотации не заменяют комментарии к документации (у них есть и другие применения), но во многих случаях (особенно в тех случаях, когда нам нужны аналогичные структурированные комментарии) они предпочтительнее комментариев. Причина в том, что аннотации являются типами в Java, как и любой другой тип данных, определяемый пользователем. И, следовательно, их можно использовать после того, как они определены.

Аннотации в Java на самом деле представляют собой всего лишь форму интерфейсов, и, следовательно, определение типа аннотации похоже на определение интерфейса. Ключевому слову «интерфейс» в определении аннотации предшествует символ «@».

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

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

Описание внутреннего git протокола

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

Одним из важным инструментом разработчика, в не зависимости от языка (и религиозных убеждений), является система контроля версий (VCS). И практически промышленным стандартом стала такая распределенная система как GIT. В повседневной работе мы (разработчики, DevOps инженеры, технические писатели и все причастные) используем ее чтобы нести людям добро и свет объединять усилия команд в работе над нашими проектами. И все давно уже выучили «на зубок» основные команды (если не выучили то бегом учить, тут есть отличная книжка) и превратили в рутину то что совсем не давно (олды тут?) казалось гениальным, сложным, а кому то магическим. А современные IDE еще больше нам упростили жизнь, спрятав от нас командную строку и git команды, заменив на возможность кликать мышкой. Но постойте, разве вам в детстве не было интересно понять как та или иная игрушка устроена внутри, как работает холодильник или мотор в папиных жигулях (олды все же тут?)? Так вот и мне стало интересно заглянуть под капот GITу. Конечно как и с любым сложным механизмом уровень этого «заглядывания» под капот может быть разным, кому то будет достаточно увидеть крышку мотора и отверстие куда лить незамерзайку, а кому то «заглянуть под капот» это дойти до марки стали используемой для изготовления той или иной детали жигулей. Поэтому давайте сразу обозначим уровень нашего погружения в этой статье. В статье мы рассмотрим в деталях что происходит когда мы делаем привычные нам «git clone/push», посмотрим как этот процесс устроен и какие есть в нем возможности. Сущности и процессы, которые конечно же останутся за рамками этого повествования, можно будет самостоятельно найти (ссылку я указал выше), ибо охватить такую обширную тему как Git, а тем более его подкапотное пространство, не представляется возможным за раз. Так что все кому интересно прошу под кат.

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

Мартышка и АйТи

Уровень сложностиПростой
Время на прочтение3 мин

Мартышка и АйТи: Парадокс сложной эффективности

Вы когда-нибудь задумывались, почему в IT всё циклично? Почему старые методы и технологии, которые когда-то были на пике популярности, возвращаются на сцену?

Давайте разберёмся, что такое Парадокс сложной эффективности на простом примере, а также посмотрим, как это работает в IT последние 30 лет.

Читать далее
Всего голосов 43: ↑33 и ↓10+30
Комментарии17

Что нам должна Система?

Уровень сложностиПростой
Время на прочтение4 мин

Привет! Меня зовут Саша, я бизнес-/системный аналитик в Касперском. Я занимаюсь анализом уже больше пяти лет и за это время я принял участие в различных проектах – от разработки системы поддержки принятия управленческих решений до развития системы заказов. В этой статье я хотел бы поделиться своими мыслями на тему формулирования бизнес-требований для описания поведения Системы.

Подробнее
Всего голосов 6: ↑3 и ↓3+2
Комментарии4

Кто выжил при крушении Титаника?

Уровень сложностиПростой
Время на прочтение7 мин

15 апреля 1912 года потерпел крушение крупнейший пассажирский корабль первой половины ХХ века "Титаник". На его борту было 2240 пассажиров. В результате аварии с айсбергом более полутора тысяч человек погибли, и только около 700 спаслись. Историки, журналисты и аналитики всего мира до сих пор задаются вопросом: в чем причина катастрофы, кто виноват, кто смог спастись в катастрофе века, как все происходило на самом деле? Сегодня можно подключить к поиску ответа на этот исторический вопрос современный инструментарий датаналитики. Цель такого исследования – определить, какие точно факторы способствовали выживанию пассажира в той трагичной ситуации: возраст, пол, класс каюты, место посадки на лайнер?

Читать далее
Всего голосов 17: ↑13 и ↓4+18
Комментарии186

Проблемы нормализации НСИ и их решения

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

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

Меня зовут Алексей Бырко, я консультант-эксперт в департаменте 1С «КОРУС Консалтинг» и в своей работе я часто сталкиваюсь с потребностью нормализации НСИ на проектах. Поделюсь своим опытом, почему это происходит и что с этим делать.

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

OSM, Graphopper и все все все

Время на прочтение7 мин

Введение

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

Да, можно планировать все поездки руками, но с ростом объема работ это делать становиться все труднее и труднее.

Не спасают ни записные книжки, ни электронные таблицы, ни даже записи в базе данных. Увеличивается количество ошибок. И появляется случаи доставки отправления не в назначенный

Саратов, а в Норильск. Выясняется это уже на месте, производится возврат отправления на что тратятся ресурсы компании.

Маршрутизация, волшебное слово, но с чего начать?

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

Человеческий мозг на Python

Уровень сложностиПростой
Время на прочтение8 мин

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

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

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

Кадровые заметки

Уровень сложностиПростой
Время на прочтение8 мин

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

Поделим проблему на кусочки.

Читать далее
Всего голосов 10: ↑8 и ↓2+9
Комментарии6

Освоение программирования за 2 года с нуля или как я пытался автоматизировать реальное производство

Время на прочтение4 мин

Моя профессия далека от IT технологий. Я работаю на производстве кажется всю жизнь довольно давно. Тематика - производство и ремонт металлообрабатывающих станков. Производим станки как новые, так и ремонтируем. Стараемся все делать локализировано (импортозамещение ж)- все железки точим, шлифуем, собираем и т.д

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

Клятва на крови: контрактные тесты с Pact в .NET. Часть вторая

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

Продолжение темы использования библиотеки контрактного тестирования Pact для .NET. В первой части темы были рассмотрены теория и процесс контрактного тестирования взаимодействий по HTTP.

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

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

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

Клятва на крови: контрактные тесты с Pact в .NET. Часть первая

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

Необходимость написания тестов каждый определяет сам для себя. Модульные и интеграционные тесты вполне могут спасти нас от ошибок, вызванных нашей забывчивостью: убрали проверку на null или удалили строку сохранения сущности в БД? Хороший тест скорее всего обратит наше внимание на эту оплошность, и мы исправим её ещё до того, как задача перейдёт в стадию тестирования.

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

Есть ли способ зафиксировать контракт, обеспечить его неизменяемость и сделать результаты тестирования наглядными для всех участников взаимодействия? Да, библиотека Pact позволяет писать кроссплатформенные контрактные тесты, в результатах которых заинтересованы сразу несколько систем.

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

От логов к аудиту

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

Статья родилась, как водится, из рабочей задачи — нужно было внедрить аудит-логирование в некоторые микросервисы на Java и Spring.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии5

CTF — для начинающих

Уровень сложностиПростой
Время на прочтение3 мин

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

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

Использование face_recognition и OpenCV для автоматического распознавания лиц и отправки уведомлений в Telegram

Время на прочтение8 мин

Всем добра.

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

Проект «Кто приходил»

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

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

Стоит ли накручивать опыт в резюме с точки зрения теории игр?

Уровень сложностиПростой
Время на прочтение12 мин

Какая стратегия самая оптимальная? Что говорит теория игр об этом? Я попросил ChatGPT отключить этику и вот что он ответил. Разбираем стратегии, которые могут изменить вашу карьеру.

Узнать оптимальную стратегию
Всего голосов 17: ↑15 и ↓2+17
Комментарии31

Почему я больше не делаю важные дела: и еще 3 правила как не потерять себя к 40 годам

Уровень сложностиПростой
Время на прочтение8 мин

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

Читать далее
Всего голосов 156: ↑121 и ↓35+112
Комментарии243

Собираем homelab на неттопе minisforum

Уровень сложностиПростой
Время на прочтение9 мин

Привет, Хабр! В этой статье я попытаюсь я максимально сжатом и доступном формате рассказать про свой небольшой опыт создания homelab на Minisforum UM 560, с которыми я работаю в последнеее время.

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

Про выбор IT ВУЗа и специальности

Уровень сложностиПростой
Время на прочтение9 мин

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

Таким же образом пропадает значительная часть смысла утверждения «Если ты хочешь преуспеть в жизни, то тебе обязательно нужно высшее образование.» (ну и аналогичные ему). На самом деле, перед точкой должно быть дополнение в стиле «которое ты сам с умом выберешь и для получения которого ты будешь стараться».

Как же много в моем окружении и в окружении моих знакомых людей, которые портят или уже извратили свою жизнь тем, что пошли учиться в ВУЗ или просто не на ту специальность не в том ВУЗе, и сколько людей еще успеют насолить себе этим в будущем. В особенности те, кто пошел или пойдет учиться на бюджет и кому нужно отрабатывать 2 года по специальности (привет из РБ).

Возьмем к примеру моего товарища Игоря (имя изменено). Игорь спортсмен, мастер спорта по борьбе (спорт изменен), призер кучи чемпионатов с горой медалей и кубков; он обожает спорт и все, что с ним связано. Но Игорь после 11 классов непонятно зачем и почему решил пойти учиться в ВУЗ на бизнес-аналитика, хотя мог бы пойти в физкультурный ВУЗ и стать тренером. Как он выбирал эту специальность? По названию (даже не по приказу родителей или совету тренера и друзей). Перед поступлением человек не интересовался планом предметов, карьерными возможностями, составом преподавателей и общим состоянием университета. Он просто выбрал то, что ему понравилось по звучанию. Какой итог у Игоря к его выпуску? Он не знает ни единого понятия из предметной области, он до сих пор не представляет, кем он будет работать, а еще он потратил около 4000$ на получение этой корочки, которую не хотел бы давать ни один преподаватель из экзаменационной и дипломной комиссии.

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