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

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

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

Apache Airflow: делаем ETL проще

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

Привет, я Дмитрий Логвиненко — Data Engineer отдела аналитики группы компаний «Везёт».


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


И да, я буду не только рассказывать, но и показывать: в программе много кода, скриншотов и рекомендаций.



Что обычно видишь, когда гуглишь слово Airflow / Wikimedia Commons

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 28

Domain-driven design, Hexagonal architecture of ports and adapters, Dependency injection и Python

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

Пролог

- Глянь, статью на Хабр подготовил.
- Эм... а почему заголовок на английском?
- "Предметно-ориентированное проектирование, Гексагональная архитектура портов и адаптеров, Внедрение зависимостей и Пайто..."

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

--

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

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

Мелкая питонячая радость #9: консольные приложения с человеческим лицом

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

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


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


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


image

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

Как работает JS: о внутреннем устройстве V8 и оптимизации кода

Время на прочтение 11 мин
Количество просмотров 156K
[Советуем почитать] Другие 19 частей цикла
Часть 1: Обзор движка, механизмов времени выполнения, стека вызовов
Часть 2: О внутреннем устройстве V8 и оптимизации кода
Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними
Часть 4: Цикл событий, асинхронность и пять способов улучшения кода с помощью async / await
Часть 5: WebSocket и HTTP/2+SSE. Что выбрать?
Часть 6: Особенности и сфера применения WebAssembly
Часть 7: Веб-воркеры и пять сценариев их использования
Часть 8: Сервис-воркеры
Часть 9: Веб push-уведомления
Часть 10: Отслеживание изменений в DOM с помощью MutationObserver
Часть 11: Движки рендеринга веб-страниц и советы по оптимизации их производительности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 13: Анимация средствами CSS и JavaScript
Часть 14: Как работает JS: абстрактные синтаксические деревья, парсинг и его оптимизация
Часть 15: Как работает JS: классы и наследование, транспиляция в Babel и TypeScript
Часть 16: Как работает JS: системы хранения данных
Часть 17: Как работает JS: технология Shadow DOM и веб-компоненты
Часть 18: Как работает JS: WebRTC и механизмы P2P-коммуникаций
Часть 19: Как работает JS: пользовательские элементы

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


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

8 самых глупых ошибок менеджмента — на все времена

Время на прочтение 10 мин
Количество просмотров 5.1K
Добрый день,

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

Перевод статьи Джеффри Джеймса «The 8 Stupidest Management Fads of All Time»

В этой статье перечислены 8 самых отвратительных, самых глупых и неприятных, бесполезных по сути заблуждений в практике менеджмента, которые я когда либо видел на своем опыте. В статье также есть неоценимые советы на тему, как выжить в компании, и пережить данные нововведения — пока они не сойдут на нет. (Что собственно и произойдет — со временем...) Конечно, эти заблуждения уходят, когда на их место приходят новые, но никто и не обещал, что жизнь на работе будет легкой.
Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 19

Разработка привлекательных реалистичных пользовательских интерфейсов

Время на прочтение 4 мин
Количество просмотров 15K
Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
Читать дальше →
Всего голосов 212: ↑205 и ↓7 +198
Комментарии 49

ASCII глазами обывателей

Время на прочтение 1 мин
Количество просмотров 21K
Всегда знал, что НЛО — генеральный спонсор Хабра не просто так :)
Видео хорошо раскрывает эту тему и способы контакта с внеземными цивилизациями.

Всего голосов 191: ↑182 и ↓9 +173
Комментарии 139

Никто ни хрена не знает, что он делает или Три типа знания

Время на прочтение 6 мин
Количество просмотров 2.1K
Наткнулся недавно за любопытную статью под названием «No One Knows What the F*** They're Doing (or The 3 Types of Knowledge)». Если точнее, то эту статью разослала нам наша менеджер проекта. Представляю вашему вниманию свой перевод этой статьи.
(Я попытался передать экспрессивный заголовок максимально близко — но всё равно не получилось, буду рад предложениям, как можно более точно его передать).

Читать дальше →
Всего голосов 96: ↑87 и ↓9 +78
Комментарии 35

MikroKopter — HexaKopter. Летающая тарелка с пропелерами. НЛО уже тут.

Время на прочтение 1 мин
Количество просмотров 1.1K
Вчера наткнулся на очень интересную игрушку. Очень впечатлила маневренность данного аппарата.



Такой штуке можно найти массу применений. Грузоподъемность именно этой модели около 1 кг.
На видео вертолетчик таскает коку литровую и жуЖЖит )

Кому интересно вот ссылка по теме www.mikrokopter.de/ucwiki/HexaKopter
Там есть ссылка на сайт www.mikrocontroller.com, где судя по всему можно купить запчасти и собрать собственный аппарат.
Всего голосов 20: ↑17 и ↓3 +14
Комментарии 28

Бесплатная регистрация доменов ORG.UA

Время на прочтение 1 мин
Количество просмотров 681
Событие не из новых. Давно и активно обсуждается.

Собственно тут будет описана лишь регистрация посредством недавно появившейся формы.

Плюсы появления формы – меньше ошибок можно совершить. Жаль конечно, что так и не убрали ограничение на подачу максимум 3 заявок с одного почтового домена. Ну с другой стороны если у вас есть какой-либо домен – открой почту вида my-mail@domain.com и пользуйтесь на здоровье.
Читать дальше →
Всего голосов 18: ↑10 и ↓8 +2
Комментарии 15

Пол Экман «Психология лжи»

Время на прочтение 4 мин
Количество просмотров 11K
Пол Экман. Психология лжи
Вероятно, многие видели американский сериал «Lie to me». На бит-торрент трекерах он распространяется под названием «Теория лжи», а первый канал его показывает отчего-то под названием “Обмани меня”. Сериал рассказывает о команде суперпрофессиональных психологов, занимающихся расследованиями самого разного рода: от брачных дел до поимки маньяка-убийцы. Объединяет эти расследования только одно: всегда нужно выявить лжеца, узнать в чем он лжет, что скрывает – и тем самым решить дело. Именно распознавание лжи – профессиональная область героев сериала, именно для решения этой задачи их нанимает ФБР, полиция, пожарные и многие другие.

Однако, немногие видевшие сериал знают, что у доктора Кэла Лайтмана, главного героя, блестяще исполненного Тимом Ротом, есть вполне реальный прототип – выдающийся психолог, профессор Калифорнийского Университета Пол Экман. Манипуляции, микровыражения, техники выявления лжи, столь ярко демонстрируемые в каждом эпизоде, стали известны именно благодаря многолетним исследованиям доктора Экмана и его коллег. В 1985 году он написал книгу «Telling Lie», в которой подробно, почти скрупулезно рассказал о своих работах, разобрал виды и классифицировал признаки лжи, изложил техники выявления обмана в самых различных обстоятельствах: повседневной жизни, уголовных расследованиях и политике. Как оказалось, в закрытых и секретных организациях, вроде ЦРУ, АНБ и ФБР, психологических журналов особенно не читали, а книга, напротив, стала известна, а вместе с ней и её автор. Доктора Экмана начали приглашать для проведения тренингов и семинаров; выяснилось, что люди, стоящие на страже национальных интересов разбираются во лжи ничуть не лучше нас с вами. Т.е. они, как и большинство простых обывателей, думают, что способны выявить обман, но в действительности их результаты в среднем не лучше случайного угадывания, более того они часто просто не знают куда смотреть – таковы результаты исследований Экмана и его коллег.

В 1992 году «Telling Lie» была переиздана и дополнена с учетом опыта работы с секретными службами, а в 2009 году в издательстве «Питер» эта книга вышла в русском переводе под названием «Психология лжи». Найти книгу можно, к примеру, на ozon.ru
Читать дальше →
Всего голосов 24: ↑16 и ↓8 +8
Комментарии 31

Подбор работы в Рунете

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

После собеседования меня попросили подготовить стратегию развития для сервиса и способы, которыми его можно монетизировать. Незадолго до этого я работала в фонде, инвестирующим в интернет-стартапы, поэтому каким образом с заданием справиться я хорошо представляла. Но! Оказалось не все так просто.
читать далее...
Всего голосов 32: ↑20 и ↓12 +8
Комментарии 44

Пара слов о Debian на Asus C90s и наглядное пособие по runlevel'ам для новичков

Время на прочтение 3 мин
Количество просмотров 826
В Debian Lenny на моём ноутбуке практически всё работает «из коробки». Но существует несколько досадных мелочей, об исправлении которых я расскажу.

Начну с того, что существует баг, мешающий нормальной работе с wi-fi на ноутбуках Asus C90s (возможно, что и на некоторых других) с карточкой Intel PRO/Wireless 3945ABG. Суть в том, что через interfaces вафля работает, но если она в этом файле не упомянута, либо не произошло соединения, то wi-fi отваливается напрочь, и поднять его обычными способами не получается. Невозможно использовать network-manager, wicd подключает нестабильно, сильно осложняется работа.
Я с довольно большим трудом нашёл информацию по проблеме, и этот пост — попытка помочь товарищам по несчастью.

Итак, мы имеем отрубающийся при загрузке вайфай, dmesg выводит
iwl3945: Radio disabled by HW RF Kill switch
Alt+F2 не работает, хардварных переключателей на ноутбуке нет.

Решение

Оно оказалось несложным:
$ echo 1 > /sys/devices/platform/asus-laptop/wlan
После этого адаптер сразу включился, о чём сигнализировал загоревшийся светодиод. Но как сделать, чтобы этот костыль работал автоматом?

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

Использование Google static maps

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

Использование Google static maps


В статье рассмотрены основные возможности использования статических карт Google на основе собственного опыта автора.

Google предоставляет два варианта использования своих картографических сервисов.
  • Google maps, базирующийся на JavaScript API, предоставляющий разнообразные возможности для отображения различной географической информации.
    Имеется хорошо продуманная и структурированная библиотека классов, с документацией к которой можно ознакомится по следующим ссылкам:
    English, Русский и поиграться в песочнице
Читать дальше →
Всего голосов 17: ↑14 и ↓3 +11
Комментарии 13

Карта мировой глобализации

Время на прочтение 2 мин
Количество просмотров 4.8K
Европейский исследовательский центр в Испре (Италия) при помощи Всемирного банка проделали титаническую работу, составив мировую карту всех автомобильных, железнодорожных, морских и речных дорог на планете Земля. Они рассчитали время движения по каждому из типов транспортных путей, а также внесли задержки на пересечение национальных границ (от 1 до 240 минут) и физический рельеф местности.

В итоге они получили универсальную карту, показывающую, насколько быстро в каждую точку планеты можно добраться от ближайшего города с населением минимум 50.000 жителей (без учёта авиатранспорта). Некоторые результаты исследования вызывают удивление. Оказывается, аж 90% нашей планеты находится в 48-часовой зоне доступности. Даже в таких, казалось бы, «неосвоенных» территориях как Бразилия (с лесами Амазонки), 80% территории находится в этой зоне.



Приводим ещё несколько самых интересных фрагментов карты под хабракатом (почти все картинки кликабельны).
Читать дальше →
Всего голосов 109: ↑108 и ↓1 +107
Комментарии 40

Притча о кофе

Время на прочтение 1 мин
Количество просмотров 1.2K
Друзья прислали на меил замечательную притчу. Зацепила! Укрепила моё мироощущение. Решил поделиться ею с хабрасообществом...

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

Когда выпускники разобрали чашки, профессор сказал: «Если вы заметили, все дорогие чашки разобраны. Никто не выбрал чашки простые и дешевые. Желание иметь для себя только лучшее и есть источник ваших проблем. Поймите, что чашка сама по себе не делает кофе лучше. Иногда она просто дороже, а иногда даже скрывает то, что мы пьем. То, что вы действительно хотели, было — кофе, а не чашка. Но вы сознательно выбрали лучшие чашки. А затем разглядывали, кому какая чашка досталась.
Читать дальше →
Всего голосов 66: ↑57 и ↓9 +48
Комментарии 28

Зачем нам это было нужно или очередной бесполезный ресурс?

Время на прочтение 1 мин
Количество просмотров 414
Года два назад нам в голову пришла «оригинальная» идея — а не создать ли всем нужный и хороший ресурс, который к тому же еще бы приносил деньги.

Решено начинать с малого и ориентироваться на небольшой рынок байнета. И мы, как нам тогда показалось, сделали хороший выбор направления ресурса — работа. Побродив по байнету и оценив конкурентов было решено не зацикливаться на простом создании резюме и вакансий, а сделать сервис, наиболее приближенный к функционалу HH, тем более на рынок РБ они тогда еще не вышли.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 11

Интернет-магазин. Начало работы

Время на прочтение 8 мин
Количество просмотров 19K
Привет, хабранарод!
Писал я давно когда-то про osCommerce небольшую статейку, меня даже просили выложить свою сборку. Если кому она до сих пор нужна — у меня осталась, могу куда-нить положить. Но, наевшись с ОСК, решили написать свою систему. При помощи CakePHP. Об этом хорошо поведал товарищ neudor, с которым на пару мы это дело разрабатывали. В данный момент он несколько отошел от работы с магазином, поэтому я выхватываю у него эстафетную палочку вести цикл статей, посвещенный разработке ПО для интернет-магазина, а также непосредственно организации самой работы, службы доставки, регистрации, налогах. В общем полный FAQ «от и до» — что ждет начинающего предпринимателя, если он решится открыть полностью легальный бизнес в России, с выкладкой затрат в денежном и временном эквиваленте. Итак, сегодня я расскажу о стороне вопроса, не касающейся технической реализации…
Читать дальше →
Всего голосов 66: ↑64 и ↓2 +62
Комментарии 61

Как нам пересечь подкастеров

Время на прочтение 6 мин
Количество просмотров 805
Сегодня я хотел бы озвучить и обсудить с вами одну мысль или даже идею. Первый раз она прозвучала в после-шоу Радио-Т #101, но из за специфики этого действа, могло сложиться впечатление, что это очередная шуточка и зубоскальство. Сим спешу вас заверить, что все не совсем так.
Читать дальше →
Всего голосов 101: ↑78.5 и ↓22.5 +56
Комментарии 55

Информация

В рейтинге
Не участвует
Откуда
Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность