Pull to refresh
125
0

User

Send message

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

Reading time 25 min
Views 151K

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


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


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



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

Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 28

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

Reading time 23 min
Views 19K

Пролог

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

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

--

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

Читать далее
Total votes 8: ↑7 and ↓1 +6
Comments 10

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

Reading time 3 min
Views 15K

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


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


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


image

Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Comments 7

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

Reading time 11 min
Views 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 превращается в исполняемую программу, и поделимся советами по оптимизации кода.


Читать дальше →
Total votes 34: ↑34 and ↓0 +34
Comments 9

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

Reading time 10 min
Views 5.1K
Добрый день,

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

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

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

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

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

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

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

Читать дальше →
Total votes 96: ↑87 and ↓9 +78
Comments 35

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

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



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

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

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

Reading time 1 min
Views 681
Событие не из новых. Давно и активно обсуждается.

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

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

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

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

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

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

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

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

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

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

Reading time 3 min
Views 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
После этого адаптер сразу включился, о чём сигнализировал загоревшийся светодиод. Но как сделать, чтобы этот костыль работал автоматом?

Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 2

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

Reading time 5 min
Views 4.9K

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


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

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

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

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

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



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

Притча о кофе

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

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

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

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

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

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

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

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

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

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

Information

Rating
Does not participate
Location
Киевская обл., Украина
Date of birth
Registered
Activity