Как стать автором
Обновить
7
0
Иван Миронов @ngj

Техлид

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

Таксономия «грязных данных»

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

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

Когда находишься в ситуации «а с чего начать» помогает таксономия «грязных данных». Хотя в учебниках и дают список проблем, но он обычно неполный, вот постоянно искал исследования, которые рассматривают эту тему подробней. Попалась работа T.Gschwandtner, J.Gartner, W.Aigner, S.Miksch хотя они ее делали для рассмотрения способов очистки данных связанных с датами и временем но, на мой взгляд, это оказалось исключение, которое потребовало разобраться с правилами поглубже чем в учебниках. По собственному опыту знаю, что сопряжение дат и времени «вынос мозга» практически в прямом смысле и поэтому и зацепился за исследование этих авторов.

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

Это третья статья из цикла

 1. Таксономия форматов времени и дат в неочищенных данных, 2012 г.

2. Очистка данных: проблемы и современные подходы 2000 г.

3. Таксономия «грязных данных» 2003 г.

4. Проблемы, методы и вызовы комплексной очистки данных 2003 г.

5. Формульное определение проблем качества данных 2005 г.

6. Обзор инструментов качества данных 2005 г.

Читать далее
Рейтинг0
Комментарии0

Мои вопросы работодателю, когда подаюсь на разработчика

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

За последние 10 лет я поменял 3 работы, прособеседовался с 10+ компаний на позицию разработчика (software engineer) и вел переписку с HR/рекрутерами из нескольких десятков фирм. По ходу дела заметил, что вопросы, которые я задаю на собеседовании с менеджером/командой или с HR, повторяются, и решил их структурировать. Некоторые из них являются общими, и их может задать кандидат на почти любую вакансию; другие касаются только вакансий для программистов. В этой статье поделюсь с вами наиболее типичными и важными вопросами, которые, на мой взгляд, может задать соискатель потенциальному работодателю.

Читать далее
Всего голосов 72: ↑66 и ↓6+78
Комментарии70

8 ошибок, из-за которых ты проиграешь в соревновательном Data Science

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

Привет, чемпион!

Если ты читаешь этот пост, значит, тебе стало интересно, не допускаешь ли этих ошибок ты?! Почти уверен, что ты допускал эти ошибки хотя бы раз в жизни. Мы не застрахованы от совершения ошибок, такова наша человеческая натура — ошибаться для нас естественно. Однако, я постараюсь уберечь тебя от тех ошибок, которые совершал сам или замечал у других.

Так вышло, что за время участия в чемпионатах по соревновательному анализу данных я достаточно часто бывал в призовых местах. Однако, бывали случаи, когда я лишался призовых по глупости или неосторожности. Рассказываю по порядку.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+55
Комментарии10

Движение на встречу: как мы использовали собрания, чтобы разрушить стены между заказчиками и производством

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

Возможно, вы сталкивались с классической историей: поговорили с заказчиком о задаче, всем всё понятно. Начали работать — и началось: "А я думал, это и так ясно" или "Я ожидал, что ты это опишешь точнее". 

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

Как с этим бороться?

Расскажу!
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Что происходит, когда вводишь url, или как работает интернет

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

Об этом спрашивают на собеседованиях. Структурированное понимание этого может помочь вам, даже если вы давно строите сложные архитектурные процессы или кодите 20-ый год подряд. Я — программист уже много лет, последние пару из которых пишу на Go в Каруне. Работа работой, а внутренний исследователь не дремлет. И вот я наконец-то решил привести в порядок информацию, разбросанную по разным закоулкам чертогов разума, по добротным книгам и статьям на тему сетевых технологий.

Хочу представить краткую выжимку о работе протоколов. А если тема окажется интересной, могу продолжить работать с ней более детально. Рассмотрим простейший пример: вы ввели некоторый url в адресную строку. Поехали.

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

Integration hell: путеводитель

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

В мае 2021 года ваш покорный слуга выступил на Codefest c докладом про интеграции и связанные с ними трудности. Поездка на эту конференцию запомнилась сразу несколькими вещами. Во-первых, было чертовски приятно выступить оффлайн — организаторам и участникам большой респект! А во-вторых, ни одна компания из тех, где я раньше работал, не поддерживала так сильно своих спикеров, как это делает Каруна. И где, как не в блоге компании, публиковать расшифровку доклада.

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

Работаем с индексами при высокой нагрузке в rails с psql: как добавить/удалить индекс и при этом не умереть

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

Всё, что кладёт прод, делает тебя умнее. © программист, положивший прод

Привет! Я — Женя, рубист из Каруны. В этой статье расскажу, как мы получили, на первый взгляд, тривиальную задачу по работе с индексами, набили кучу шишек и пришли к не очень тривиальному и эффективному решению.

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

52 датасета для тренировочных проектов

Время на прочтение5 мин
Количество просмотров122K
  1. Mall Customers Dataset — данные посетителей магазина: id, пол, возраст, доход, рейтинг трат. (Вариант применения: Customer Segmentation Project with Machine Learning)
  2. Iris Dataset — датасет для новичков, содержащий размеры чашелистиков и лепестков для различных цветков.
  3. MNIST Dataset — датасет рукописных цифр. 60 000 тренировочных изображений и 10 000 тестовых изображений.
  4. The Boston Housing Dataset — популярный датасет для распознавания паттернов. Содержит информацию о домах в Бостоне: количество квартир, стоимость аренды, индекс преступлений.
  5. Fake News Detection Dataset — содержит 7796 записей с разметкой новостей: правда или ложь. (Вариант применения с исходником на Python: Fake News Detection Python Project )
  6. Wine quality dataset — содержит информацию о вине: 4898 записей с 14 параметрами.

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

Распределенное логирование и трассировка для микросервисов

Время на прочтение18 мин
Количество просмотров27K
Логирование — важная часть любого приложения. Любая система логирования проходит три основных шага эволюции. Первый — вывод на консоль, второй — запись логов в файл и появление фреймворка для структурированного логирования, и третий — распределенное логирование или сбор логов различных сервисов в единый центр.

Если логирование хорошо организовано, то позволяет понимать, что, когда и как идет не так, как задумано, и передавать нужную информацию людям, которым предстоит эти ошибки исправлять. Для системы, в которой каждую секунду отправляется 100 тысяч сообщений в 10 дата-центрах на 190 стран, а 350 инженеров каждый день что-то деплоят, система логирования особенно важна.



Иван Летенко — тимлид и разработчик в Infobip. Чтобы решить проблему централизованной обработки и трассировки логов в микросервисной архитектуре при таких огромных нагрузках, в компании пробовали различные комбинации стека ELK, Graylog, Neo4j и MongoDB. В итоге, спустя много грабель, написали свой лог-сервис на Elasticsearch, а как БД для дополнительной информации взяли PostgreSQL.

Под катом подробно, с примерами и графиками: архитектура и эволюция системы, грабли, логирование и трассировка, метрики и мониторинг, практика работы с кластерами Elasticsearch и их администрирования в условиях ограниченных ресурсов.
Всего голосов 38: ↑37 и ↓1+36
Комментарии3

RabbitMQ против Kafka: отказоустойчивость и высокая доступность в кластерах

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


Отказоустойчивость и высокая доступность — большие темы, так что посвятим RabbitMQ и Kafka отдельные статьи. Данная статья о RabbitMQ, а следующая — о Kafka, в сравнении с RabbitMQ. Статья длинная, так что устраивайтесь поудобнее.

Рассмотрим стратегии отказоустойчивости, согласованности и высокой доступности (HA), а также компромиссы, на которые приходится идти в каждой стратегии. RabbitMQ может работать на кластере узлов — и тогда классифицируется как распределенная система. Когда речь заходит о распределенных системах, мы часто говорим о согласованности и доступности.

Эти понятия описывают, как система ведет себя при сбое. Сбой сетевого соединения, сбой сервера, сбой жесткого диска, временная недоступность сервера из-за сборки мусора, потеря пакетов или замедление сетевого соединения. Все это может привести к потере данных или конфликтам. Оказывается, практически невозможно поднять систему, одновременно и полностью непротиворечивую (без потери данных, без расхождения данных), и доступную (будет принимать операции чтения и записи) для всех вариантов сбоя.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии4

ДА вздрогнет FAANG* или [практическое руководство] по поиску работы в США/Европе для айтишника

Время на прочтение5 мин
Количество просмотров24K
*FAANG — акроним 5 крупнейших tech компаний (Facebook, Apple, Amazon, Netflix and Google), предоставляющих одни из самых хороших возможностей для разработчиков, которые мечтают/планируют/хотят приобщиться к волне IT-эмиграции.

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

К сожалению, на практике подобный процесс поиска работы часто заканчивается неудачами. Сайты со списком вакансий — один из самых низкоэффективных способов, по крайней мере в США.

Под катом я поделюсь практическими рекомендациями, которые помогут «твикнуть» систему и существенно увеличить шансы на получение предложения от топ-компаний в сжатые сроки.

image
Читать дальше →
Всего голосов 28: ↑21 и ↓7+14
Комментарии27

Разбор задачи с собеседования Google: поиск соотношения

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


Добро пожаловать в очередную из серии статей с разбором задачек, которые я задавал на собеседованиях в Google, прежде чем их запретили после утечки. С тех пор я оставил работу инженера-программиста в Google и перешёл на должность менеджера по разработке в Reddit, но у меня всё ещё осталось несколько замечательных тем. К настоящему моменту мы разобрали динамическое программирование, возведение матриц в степень и синонимичность запросов. На этот раз совершенно новый вопрос.
Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии73

Слёрм DevOps. День первый. Git, CI/CD, IaC и зелёный динозавр

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

4 сентября в Санкт-Петербурге начался Слёрм DevOps.


В одном месте и в одном времени собрались все необходимые факторы для увлекательного интенсива длительностью в три дня: удобный конференц-зал Selectel, семь десятков любопытных разработчиков в зале и 32 участника в онлайне, сервера Selectel для практики. И зелёный динозавр, притаившийся в углу.



В первый день Слёрма перед участниками выступили три спикера.


Павел Селиванов, архитектор решений в Southbridge, занимается администрированием более 10 лет, является Certified Kubernetes Administrator. Постоянный спикер Слёрма. Делал доклады на конференциях Moscow Kubernetes Meetup и UWDC. Обладает богатым опытом внедрения Kubernetes: 5 проектов — индивидуальная работа, 20+ проектов в составе команды.


Артём Галонский, СТО «БюроБюро», специально прибыл на Слёрм DevOps из Калининграда. Опыт в коммерческой разработке более 12 лет. Выступал в роли тимлида\руководителя отдела разработки с 2011 года. Техническим директором стал в 2016 году. Считает, что devops-инженер — это что-то вроде единорога. Не в том смысле, что поймать его может только девственница. А в том, что никто не знает, что это такое на самом деле.


Алексей Степаненко, инженер отдела облачной платформы Selectel, занимается инфраструктурными задачами по обслуживанию облака OpenStack: мониторинг, CI/CD и управление конфигурациями.


Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии5

Подборка рабочих примеров обработки данных

Время на прочтение4 мин
Количество просмотров13K
Привет, читатель.

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

Схема работы с текущим постом унаследуется от моего поста про лучшие блокноты по ML и DS, а именно — сохранил в закладки → передал коллеге.

+ бонус в конце статьи — крутой курс от ФПМИ МФТИ.

image

Итак, давайте приступим.

Подборка датасетов с рабочими примерами обработки данных:


Suicide Rates Overview 1985 to 2016 — сравнение социально-экономической информации с показателями самоубийств по годам и странам.

Примеры обработки:

Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии0

Принцип Брета Виктора: «Творцам нужна мгновенная связь с тем, что они создают»

Время на прочтение30 мин
Количество просмотров21K
Это одно из лучших выступлений, которое я встречал. Хоть про эту презентацию уже писали на Хабре и переводили 6 лет назад, я решил её красиво оформить и ещё раз обратить на неё внимание. Она того стоит.

image

Брет Виктор: Я просто хочу рассказать вам о том, как прожить свою жизнь.

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

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

Эта презентация разбита на три части.

Вначале, я расскажу о принципе, которым я руководствуюсь в своей работе, и постараюсь показать вам, что из этого выходит. Также, я расскажу вам о некоторых людях, которые жили подобным образом. Об их принципах, о том, во что они верили и верят. Но все это будут только примеры, которые помогут Вам задуматься о том, во что верите Вы, и о том, как Вы хотите прожить свою жизнь.
Всего голосов 46: ↑41 и ↓5+36
Комментарии31

Настольные игры, в которых придётся поломать голову

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


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

У нас в компании многие увлекаются настолками и даже регулярно собираются вместе и проводят вечера за партиями. Поэтому в эту пятницу мы решили немного отдохнуть от хардкорного кода (но не от хардкорности) и сделали для вас подборку настольных игр, в которых придётся немало поломать голову, чтобы одержать над соперниками верх. Каждой игре мы присвоили уровень сложности. Он субъективный и относительный, не исключено, что какие-то игры вам покажутся более сложными или лёгкими.
Всего голосов 42: ↑41 и ↓1+40
Комментарии27

Футурологический конгресс: подборка аккаунтов евангелистов будущего

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


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

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

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

В эпоху избытка бессмысленных знаний голоса футурологов могут стать полезными для поиска новых трендов и понимания механики великих зубчатых колес, вращающих мир. Ниже вы найдете ссылки на аккаунты самых актуальных на сегодняшний день визионеров грядущего.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии17

Как прийти в небо и стать пилотом

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


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

Читать дальше →
Всего голосов 134: ↑127 и ↓7+120
Комментарии171

Почему уходят разработчики: 8 причин

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


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

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

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

Неналаженные рабочие процессы


Лидер нашей подборки. Встречается более чем в 60% причин при смене работы. Особенность в том, что это достаточно широкое понятие, которое включает в себя ошибки менеджмента, недостатки программного обеспечения, нехватку специалистов для реализации поставленных задач.
Читать дальше →
Всего голосов 77: ↑62 и ↓15+47
Комментарии88

10 лучших игр о хакинге, кодинге и вычислениях

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

Как все знают из новостных лент, мы живём в постоянно эволюционирующей киберпанковской антиутопии. Люди подключают туалеты к Интернету! Если этот гибсоновский мир кажется вам слишком РЕАЛЬНЫМ, то вы можете поиграть в десять лучших видеоигр о взломе, программировании и вычислениях, чтобы сбежать в мета-антиутопию. Которая, я уверен, является намного лучшим местом.


10. TIS-100


[официальный сайт]

Да-а-а, приготовьтесь к тому, что ваш мозг начнёт болеть. TIS-100 — это игра студии Zachtronics, разработчика игр-головоломок, выпустившей Infinifactory и SpaceChem. В маркетинге она позиционируется как «игра о программировании на языке ассемблера, о которой вы не просили», и хотя я обычно игнорирую маркетинговые слоганы, здесь не могу не согласиться.

Игрок получает в своё распоряжение таинственный компьютер из 70-х, найденный в вещах покойного дядюшки. Когда-то он игрался с ним, пытаясь разобраться. Теперь это ваша задача. Если вкратце, то вам нужно получить числа, чтобы провести машину из точки A в точку B, выполнив на каждом уровне «цели» (например, сначала вывести положительное число, а затем отрицательное). Для этого у вас есть список команд, изложенных в смутном руководстве пользователя. Игра советует вам распечатать это руководство в бумажном виде. В нём есть сделанные дядей примечания и пометки маркером, дающие подсказки о сущности этой машины.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии41
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность