Как стать автором
Обновить
11
0
Артур Трофимов @arturtr

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

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

Как мы внедрили свою модель хранения данных — highly Normalized hybrid Model. Доклад Яндекса

Время на прочтение27 мин
Количество просмотров28K
Общепринятый и проверенный временем подход к построению Data Warehouse (DWH) — это схема «Звезда» или «Снежинка». Такой подход каноничен, фундаментален, вотрфоллен и совсем не отвечает той гибкости, к которой призывает Agile. Чтобы сделать структуру DWH гибкой, существуют современные подходы к проектированию: Data Vault и Anchor modeling — похожие и разные одновременно. Задавшись вопросом, какую из двух методологий выбрать, мы в Яндекс Go пришли к неожиданному ответу: выбирать надо не между подходами, а лучшее из двух подходов.

Темы доклада, который вместе со мной прочитал Николай Гребенщиков:
— DV и AM: в чем разница и где точки соприкосновения
— Гибридный подход к построению хранилища
— Сильные и слабые стороны этого подхода
— Примеры кода
— Дальнейший вектор развития hNhM

— Меня зовут Евгений Ермаков, я руководитель Data Warehouse в Яндекс Go.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии11

Как написать расширение для GNOME Shell: режим «Do Not Disturb»

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

Началось все с переезда на новую версию одного дистрибутива Linux, а там — скандально известный GNOME Shell (GH для краткости), на Javascript. Ну ок, на JS так на JS, работает — и ладно.


Одновременно с этим темп моей работы давно уже требовал найти нормальный почтовик, вместо тормозящей и жрущей тонны мегабайт вкладки outlook.office.com в браузере. И вот нашел, в наше время есть несколько почти прекрасных кандидатур, одна беда — почтовик стал доставать меня уведомлениями о новых письмах — и звуком, и всплывающими надписями.


Что делать? Решение написать расширение "Не беспокоить" пришло не сразу, очень не хотелось писать велосипед и/или увязнуть в разработке/коде/тоннах ошибок, но решился, и вот хочу поделиться с Хабром своим опытом.1


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

Управление сложностью в проектах на ruby on rails. Часть 1

Время на прочтение5 мин
Количество просмотров20K
В этой серии статей я соберу бОльшую часть своего опыта разработки на Ruby on Rails. Эти методики позволяют контролировать сложность и облегчают сопровождение проекта. Большинство из них придумал не я, и, по возможности, буду указывать источник.

Основная проблема проектов на RoR в том, что, как правило, всю логику пытаются уместить в модели, контроллеры и представления. Т.е. код находится только в моделях(ActiveRecord::Base), контроллерах, хэлперах и шаблонах. Такой подход приводит к печальным последствиям: код становится запутанным, долго делаются фичи, появляются регрессии, у разработчиков пропадает мотивация. В качестве примера можно посмотреть на исходники redmine.

Выход из данной ситуации довольно-таки очевидный. Будем делать проекты не на ruby on rails, а с использованием ruby on rails. Как это будет выглядеть: мы никуда не уходим от MVC и Rails, просто пересмотрим Model, View, Controller. Для начала расширим понятие модели. Модель — это не просто класс-наследник ORM. Модель — это вся бизнес логика приложения. Модель включает в себя: модели, сервисы, политики, репозитории, формы и другие элементы, которые я опишу далее. Так же расширим представления. Представления — это шаблоны, презентеры, хелперы, билдеры форм. Контроллеры — это все то, что связано с обработкой запросов: контроллеры, responders.
Читать дальше →
Всего голосов 22: ↑16 и ↓6+10
Комментарии17

Учимся проектировать на основе предметной области (DDD: Domain Driven Design)

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

1. Введение



В данной статье я хотел бы рассказать об этих трёх буквах, постоянно находящихся на слуху, но для многих являющихся тайной за семью печатями, а так же привести ряд ресурсов, с которыми неплохо было бы познакомиться при желании продолжить развитие в проектировании на основе предметной области (DDD: Domain Driven Design).


Читать дальше →
Всего голосов 66: ↑54 и ↓12+42
Комментарии25

Бот для Telegram. Rails way

Время на прочтение6 мин
Количество просмотров24K
Этот пост о библиотеке telegram-bot для написания ботов для Telegram. В числе основных целей при её создании были удобство разработки, отладки и тестирования ботов, сохранение интерфейсов минимальными, но с возможностью расширения, простота интеграции с Rails-приложением, и предоставление необходимых инструментов для написания бота. Вот что входит в состав:

  • Легковесный клиент для API ботов.
  • Базовый класс для контроллера обновлений с парсером сообщений. Сделан на основе AbstractController из ActionDispatch, предоставляет колбэки, сессии, сохранение контекста сообщений и прочее.
  • Rack-middleware для продакшена, чтобы принимать update-хуки, и поллер с автоматической загрузкой обновленного кода для удобной разработки.
  • Rake таски, хэлперы для рельсовых маршрутов и тестов.

Интересно? Для установки добавьте telegram-bot в Gemfile, подробности под катом.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии4

Полезные сниппеты для Nginx конфигов

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


Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

Читать дальше →
Всего голосов 94: ↑91 и ↓3+88
Комментарии44

Искусство командной строки

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


Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

Enjoy!
Всего голосов 127: ↑122 и ↓5+117
Комментарии143

MongoDB от теории к практике. Руководство по установке кластера mongoDB

Время на прочтение9 мин
Количество просмотров87K
     Доброго времени суток, уважаемые читатели. В этом посте я хотел бы описать несколько примеров развертки mongoDB, отличия между ними, принципы их работы. Однако больше всего хотелось бы поделиться с вами практическом опытом шардирования mongoDB. Если бы этот пост имел план, он бы выглядел скорее всего так:

  1. Вступление. Кратко о масштабировании
  2. Некоторые примеры развертки mongoDB и их описание
  3. Шардинг mongoDB

    Пункты 1 и 2 — теоретические, а номер 3 претендует на практическое руководство по поднятию кластера mongoDB и больше всего подойдет тем, кто столкнулся с этим в первый раз.
Читать дальше →
Всего голосов 56: ↑52 и ↓4+48
Комментарии11

Shutdown при завершении всех закачек Transmission

Время на прочтение8 мин
Количество просмотров11K
image
Люблю Transmission по его простоте и удобстве в использовании. Но то, что бы я добавил — это возможность автоматического выключения компьютера при завершении всех закачек. Делал эту фичу для себя под Убунту, но тем, кому это станет интересно, думаю, могут свободно переделать под другую ОС.
Читать дальше →
Всего голосов 60: ↑40 и ↓20+20
Комментарии94

Доклад о вреде копирайта был удалён с сайта одного из комитетов конгресса США через день после публикации

Время на прочтение4 мин
Количество просмотров127K
В пятницу, 16 ноября на сайте Republican Study Committee — организации, объединяющей более 170 членов палаты представителей США от республиканской партии, появился интереснейший документ. Под этим 9-страничным докладом не постеснялись бы подписаться многие активисты пиратских партий по всему миру. Не прошло и суток, как этот доклад убрали с сайта под предлогом того, что он не прошёл всех согласований и вообще не соответствует стандартам RSC. Что же было в этом, столь поспешно спрятанном документе?
Читать дальше →
Всего голосов 192: ↑183 и ↓9+174
Комментарии104

Разборка электронной книги Pocketbook 611

Время на прочтение3 мин
Количество просмотров131K
Вчера мне «на посмотреть» оставили мёртвую электронную книжку Pocketbook на E-Ink, модель 611.



Жалобы
стандартно «Зависла при перепрошивке»+«мы ничего не трогали!»

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

Осмотр
Перезагрузка не помогает, выключение не помогает, подключение к питанию через USB (компьютер и СЗУ с различными I от 0.25А до 1А) не помогает, длительная зарядка не помогает, «перепрошивка в слепую» не помогает

Диагноз
Всё плохо. Сведения о поломках таких книг скудны, но в целом профильные форумы дают вывод — неудачная модель для неудачников, покупайте Amazon Kindle, shit happens.

Направление
В морг. Остаётся только вскрытие, со слабой надеждой на воскрешение, как на чудо)… Книжка не имеет никаких «пользовательских» отсеков, аккумулятор встроенный, с какой стороны разбирать — непонятно. Youtube молчит и не даёт рецепта… 1 зелёная часовая двусторонняя отвёртка добыла нам фоторецепт полной разборки до…



Рецепт под катом
Читать дальше →
Всего голосов 49: ↑45 и ↓4+41
Комментарии50

Что делать, если вам надоели рекламные СМС

Время на прочтение3 мин
Количество просмотров297K
В продолжение статей о том, что ФАС собирает дополнительную информацию о «коротких» номерах, хочу рассказать, как эта служба может помочь вам избавиться от нежелательной рекламы по СМС.

Согласно ч.1 ст.18 ФЗ «О рекламе», распространение рекламы по сетям электросвязи, в том числе посредством использования телефонной, факсимильной, подвижной радиотелефонной связи, допускается только при условии предварительного согласия абонента или адресата на получение рекламы.

Итак, отписавшись от всех рекламных рассылок своего оператора, я наивно полагал, что рекламные СМС меня больше не будут отвлекать. Но маркетологи различных компаний решили, что без рекламы мне скучно, и быстро исправили ситуацию. В итоге, год назад я практически каждую неделю получал несколько рекламных СМС, в основном это были сообщения от такси нашего города. Особую активность компании проявляли перед Новым годом.
Читать дальше →
Всего голосов 202: ↑199 и ↓3+196
Комментарии150

Самый «глубокий» снимок Вселенной

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


Астрономы, работающие с Хабблом, создали самый «глубокий» снимок Вселенной. Это изображение составлено из более чем 2000 отдельных снимков, снимались они целых 23 дня. Здесь можно различить более 5500 галактик, на переднем плане видны лишь отдельные звезды нашей галактики.
Читать дальше →
Всего голосов 63: ↑54 и ↓9+45
Комментарии154

Стив Джобс и политика в отношении оборота наркотиков

Время на прочтение2 мин
Количество просмотров67K
Довольно интересно сопоставить всеобщее американское благоговение перед заслугами Стива Джобса и драконовскую политику США в отношении оборота наркотиков, поскольку это довольно противоречивые вещи, из некролога Джобса в NY Times:

[Джобс] сказал репортёру, что приём ЛСД1 был одной из двух или трёх самых важных вещей в его жизни. Он сказал, что некоторые свойства его личности другие люди, которые не пробовали психоделики — даже близкие люди, как его жена, — никогда не могли понять.

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

Стив Джобс также добавил, что Билл Гейтс «стал бы менее зашоренным, если бы однажды капнул кислоты»2.
Читать дальше →
Всего голосов 233: ↑152 и ↓81+71
Комментарии595

Reedy – Скорочтение, которое действительно можно использовать

Время на прочтение9 мин
Количество просмотров242K
Reedy – продвинутая реализация технологии скоростного чтения

В последнее время наблюдается рост интереса к скорочтению на основе технологии RSVP. Однако большинство приложений и расширений на эту тему, при более близком знакомстве, увы, оказываются не очень удобны для ежедневного использования. А ведь в потенциале они могу помочь значительно экономить время и быстрее получать информацию. Мой друг OlegCherr решил доработать технологию, создав реализацию пригодную для постоянного использования, а я ему в этом помогаю. После двух месяцев постоянной практики чтения, тестирования, исследований и улучшений решил написать статью с разбором того, что получилось в результате, потому что результат, смею считать, будет интересен и другим. На текущий момент всё выполнено в виде расширения к браузеру Chrome и названо Reedy. Приложение под Android на подходе.
Подробности
Всего голосов 201: ↑195 и ↓6+189
Комментарии136

Организованный фриланс. Часть 2. Исполнители

Время на прочтение5 мин
Количество просмотров53K
При создании веб-студии, агентства и т.д. исполнители – это ваш главный ресурс и инструмент. Их уровень профессионализма и ответственности – основные факторы, влияющие на ваш заработок и качество работ.

Когда вы будете искать сотрудников, помните, что нанимаете скорее совладельца, нежели работника. Их уровень компетентности в каких-либо вопросах должен быть на голову выше вашего. В противном случае вы нанимаете себе проблему, которую придется вам решать самостоятельно и при этом расти будет очень сложно.
Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии25

Организованный фриланс. Часть 1

Время на прочтение5 мин
Количество просмотров66K
В данной статье я хотел бы поделиться собственным опытом создания компании, не обремененной месторасположением. Лично мы называем это организованный фриланс.

В чем суть:
Во-первых, все исполнители в нашей команде – это фрилансеры. Они достаточно самостоятельны, постоянно развиваются профессионально, их не нужно заставлять работать, они уже мотивированны и ведут образ жизни, который им нравится.

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

В-третьих, вся работа выполняется сдельно, существуют премии, бонусы, но не оклады, что заставляет участников команды быть заинтересованными в высоких результатах, в больших объемах работы.
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии30

Энергоснабжение частного дома

Время на прочтение5 мин
Количество просмотров95K
image
В этой статье хочу начать описание концепции умного дома в моем понимании и рассмотреть некоторые аспекты ее реализации. Сразу оговорюсь, что я практически не вижу применения понятия «Умный дом» к квартире, так как в ней практически отсутствуют системы, требующие автоматизации. Совсем другое дело — частный дом. Он содержит множество систем, которые можно и нужно автоматизировать — начиная от водоснабжения и заканчивая освещением сада. Итак, мое определение. Умный дом — это набор автоматических систем, которые функционируют при минимальном участии его обитателей, обеспечивая при этом максимальный комфорт, безопасность и энергосбережение. При этом реализация должна быть по возможности простой и доступной.

Начну я с реализации энергоснабжения дома.
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии35

Petrovich просклоняет русские имена

Время на прочтение3 мин
Количество просмотров64K
Вам часто приходится иметь дело со склонением имён пользователей на русском языке? При рассылке писем, при отображении страниц и упоминаний, при генерации рекламных объявлений? Скорее всего, приходится изворачиваться и писать все сообщения в именительном падеже — Иванов Пётр Сергеевич.

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

Для решения этой проблемы при использовании Ruby существует Petrovich — удобная легковесная библиотека для автомагического склонения русскоязычных имён, фамилий и отчеств.


Склоняй меня полностью!
Всего голосов 161: ↑155 и ↓6+149
Комментарии141

Автоматическое исключение из рассылки нерабочих email адресов

Время на прочтение2 мин
Количество просмотров14K
image
Представьте, что у Вас есть веб-приложение и одной из его функций является массовая рассылка новостей Вашим пользователям.
По некоторым причинам часть email адресов пользователей нерабочие или неверно заполненные. Хорошо бы таких пользователей автоматически отписать от рассылки?
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии11

Информация

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