Как стать автором
Обновить
0
0
Александр @moonsly

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

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

Как мы переносили аналитику из PostgreSQL в ClickHouse

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

Привет, Хабр! Меня зовут Кирилл, одной из задач, которой я занимаюсь в Just AI, является пользовательская аналитика. В этой статье я хочу рассказать о нашем опыте миграции этой аналитики на новую СУБД ClickHouse. О том, с какими нюансами пришлось столкнуться и как мы их решали. Посмотрим на примерах, как изменилась схема и запросы к БД и удалось ли получить прирост в производительности.

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

Изначально все эти данные хранились в PostgreSQL, и, пока их было немного, все работало достаточно быстро. Шли года, приходило все больше крупных пользователей, и постепенно наступила ситуация, что для построения какого-нибудь простого графика за две недели перестало хватать таймаута в 10 минут. Тут-то мы и поняли, что настало время что-то менять…

Читать далее
Всего голосов 10: ↑9 и ↓1+12
Комментарии15

Запускаем OpenVPN в Докере за 2 секунды

Время на прочтение3 мин
Количество просмотров77K
Привет, хабровчане! Сталкивались ли вы когда-либо с ситуацией, когда очень хотелось бы виртуально перенестись в другой город, страну или на другой континент? У меня такая необходимость возникает достаточно часто, поэтому возможность иметь свой VPN сервер, который можно запустить где угодно, за пару секунд, стоял достаточно остро.

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


Всего голосов 40: ↑31 и ↓9+22
Комментарии55

Маршрутизация в socks. Еще один способ

Время на прочтение4 мин
Количество просмотров15K
Рассмотрим еще один способ маршрутизации локальной сети через «socks-прокси». В отличии от предыдущего способа с «redsocks», в этом, будет рассмотрена возможность маршрутизации на сетевом уровне (сетевой модели OSI), по средствам пакета «badvpn-tun2socks». Данная статья ориентирована на создание и постоянное использование такого маршрутизатора на базе ОС «Debian stretch».

Советую другой способ с использованием systemd-networkd.

Прежде чем перейти к описанию настройки системы, предоставлю ссылку на исходники badvpn (может кому-то понадобится).

Итак, после скачивания и сборки пакета, предлагаю сразу создать сервис systemd со следующим содержанием:

cat /etc/systemd/system/tun2socks.service 
[Unit]
Description=Start tun2socks

[Service]
ExecStart=/путь/к/badvpn-tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080

[Install]
WantedBy=multi-user.target

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

Честный подход к управлению людьми, или Почему я никогда не делаю контрофферы

Время на прочтение9 мин
Количество просмотров63K
К сожалению, в условиях жёстких бизнес-целей честность иногда отодвигается на второе место. Осознанно занижают зарплаты, рисуют заведомо недостижимые карьерные перспективы, с помощью ловких манипуляций провоцируют на переработки, которые ничем не компенсируются. Мы так не делаем принципиально. И это не донкихотство, а вполне осознанное решение, которое вполне можно обосновать прагматически. В этой статье мы поговорим о честности на примере контрофферов. Надеюсь, в результате станет понятно, почему я считаю их крайне вредной затеей.



Дисклеймер: Яндекс очень большой и разный, и я описываю здесь только принципы, принятые в разработке Яндекс.Здоровья. Уверен, что коллеги из других подразделений могут не разделять мои (довольно радикальные) убеждения и не видят ничего зазорного в том, чтобы удержать хорошего человека, сделав ему контроффер.

Пару слов о себе. Я CTO в сервисе Яндекс.Здоровье, отвечаю за всю его техническую часть: разработку, тестирование, эксплуатацию и т. д. Сервис растёт стремительными темпами, мы активно расширяем команду, собеседуем технарей (разработчиков, тестировщиков, админов) и в большом количестве приглашаем их на работу. Время от времени случается, что хорошие кандидаты отказываются от подтверждённого ими на словах оффера. В большинстве случаев, расспросив кандидата, мы узнаём, что на текущей работе ему или ей сделали встречное «предложение, от которого нельзя отказаться», и оно звучит вкуснее и интереснее, чем наше.
Читать дальше →
Всего голосов 156: ↑122 и ↓34+88
Комментарии336

Моя компания не взлетела, 6 уроков ценою в 4 года жизни и $150 000

Время на прочтение5 мин
Количество просмотров65K
Симпатичная девушка попросилась на фейсбуке в друзья и спросила, почему мы приостановили развитие нашего проекта. А мы не приостанавливали, даже наоборот, дела пошли в гору — нащупали работающие пути получения трафика, выручка наконец начала расти. Но через несколько месяцев я понял, что она была права.

О том, как мы работали по 10 часов в сутки без выходных, получили инвестиции, прошли во ФРИИ, набрали более ста тысяч пользователей в США, нас хотел купить Sports Illustrated, но в итоге мы закрыли компанию.

Читать дальше →
Всего голосов 107: ↑96 и ↓11+85
Комментарии62

Кратко об идеальном 7-и портовом USB 3.0 хабе ORICO

Время на прочтение2 мин
Количество просмотров227K
Давно ко мне не попадало железо, настолько соответствующее моим представлениям об идеале, что об этом хотелось написать на хабр. Речь пойдет о 7-и портовом USB 3.0 хабе ORICO. Чуть ранее я писал, что получается когда китайцы по привычке делают копии — сегодня мы увидим, что может получится, когда китайцы делают оригинальный продукт. И то, как хорошо все получилось — удивляет и немного пугает (в том плане, что бизнес-модель «разрабатываем на западе — делаем в Китае» может подойти к концу). Забегая вперед, фотография:

Подробности и внутренности...
Всего голосов 115: ↑111 и ↓4+107
Комментарии142

USB-монитор PaperLike на электронных чернилах

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


Один из интересных гаджетов, обойдённых вниманием в обзорах выставки CES 2015 — 13,3-дюймовый монитор на электронных чернилах PaperLike производства китайской компании Dasung Tech.

PaperLike с разрешением 1600х1200 (150 ppi) подключается к компьютеру по USB и работает как второй дисплей. Он сделан на основе экрана E Ink Fina со стеклянным покрытием.
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии34

Получение участников сообщества vk.com за считанные секунды

Время на прочтение2 мин
Количество просмотров115K
Ни для кого не секрет, что VK API возвращает за один запрос к методу groups.getMembers не более 1 000 участников. В одну секунду вы можете получить максимум 3 000 участников, так как установлено ограничение на количество запросов в секунду до 3. Эту проблему решает метод execute, с помощью которого вы можете получить более 100 000 участников за одну секунду и до 25 000 участников за один запрос. В этой статье я расскажу Вам, как я это реализовал.
Читать дальше →
Всего голосов 57: ↑43 и ↓14+29
Комментарии26

Видеоредактор OpenShot с обновлённым движком идёт на Windows и Mac

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


OpenShot — один из самых качественных полноценных нелинейных видеоредакторов на платформе Linux. Его создатель Джонатан Томас, начиная разработку в 2008 году, хотел создать простой, понятный, и в то же время мощный и стабильный редактор. И, как мне кажется, ему это удалось. В OpenShot есть всё, что нужно, и ничего лишнего. Он молниеносно быстр и предельно прост. Трудно придумать что-то лучшее для эпизодического редактирования несложных проектов.

Последние два года Джонатан Томас посвятил созданию совершенно нового движка на C++, который опирается на кроссплатформенные библиотеки работы с мультимедиа — FFmpeg, LibAV, JUCE audio library, ImageMagick. Новый интерфейс редактора будет основан на HTML5 и WebKit, что позволит с лёгкостью создавать любые мыслимые темы и скины. И одна из главных «фишек» OpenShot — 100% функционала видеодвижка будет доступно через Python API. Думаю, для тех, кому что-то говорит слово AviSynth, не надо объяснять, насколько это круто.

Чтобы закончить работу к ноябрю-декабрю этого года, Томас запустил кампанию на Кикстартере. Цель достаточно скромна — 20 000$, и почти половина денег уже собрана. Код OpenShot будет опубликован под лицензией GPLv3.
Читать дальше →
Всего голосов 86: ↑81 и ↓5+76
Комментарии87

Bitcoin на пределе? Почему криптовалюту ждут тяжелые времена

Время на прочтение4 мин
Количество просмотров59K
О плюсах, красоте и изяществе Bitcoin написано больше, чем много, майнеры строят фабрики, более-менее идет интеграция в ecommerce. Но не смотря на относительно короткую историю криптовалюты, уже можно заметить тревожные симптомы, которые, уже в недалеком будущем, могут сделать качество её работы неприемлемым или извратить её фундаментальные принципы.

Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии135

Чат-помощник на сайт с помощью Telegram за 15 минут

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


Про чаты-помощники


Многие люди продают через интернет товары и услуги. Еще больше людей — покупает что-то через интернет.
Во время выбора покупок, часто возникают вопросы, которые можно решить позвонив и пообщавшись с менеджером.
Скорее всего я — не единственный человек на хабре, который общению с менеджерами по телефону предпочитает переписку.
И тут на помощь приходят всплывающие чаты-помощники, которые вроде-как повышают конверсию, но многих нервируют.
(Для тех, кто не в курсе: в углу сайта всплывает окошко, в котором можно он-лайн переписываться с консультантом).

Есть с десяток подобных сервисов и все они работают по принципу "пробная версия бесплатно, а дальше за деньги".
На хабре есть несколько статей, вот одна из них (http://habrahabr.ru/company/tuthost/blog/165365/), но, я уверен, аудитория Хабрахабра знает о чем речь.
Большинству людей подойдет бесплатный вариант любого такого сервиса: нужно всего-навсего зарегистрироваться и вставить на сайт кусок JS кода. Для тех у кого много менеджеров — придется платить: например Редхелпер на 10 операторов обойдется Вам:
115200 руб. за 1 год



Скорее всего — цена адекватная для тех, кто платит зарплату десяти менеджерам.

Но я решил изобрести бесплатный «велосипед» из подручных материалов.
Запуск у себя на сервере займет 15 минут. Всем, кому идея интересна — прошу под кат.
Читать дальше →
Всего голосов 41: ↑37 и ↓4+33
Комментарии43

Beat-chart – лучший друг гейм-дизайнера

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

Я гейм-дизайнер и в данный момент вместе с небольшой командой занимаюсь разработкой двумерной адвенчуры на Unity3D. Цель этой публикации – рассказать о процессе дизайна локаций для нашей игры и приемах, которые я использую.
Ну и параллельно показать вам все стадии развития локации – от схемы до финальной версии.


Забегая немного вперед – так выглядит кусочек уже готовой локации в действии.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии12

Обучение на STM32 в массы

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

Небольшая предыстория


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

Мое обучение началось, когда я два года назад заинтересовался темой микроконтроллеров и инженер, у которого поинтересовался насчет них, выдал мне плату 300х200мм и сказал, что в ней стоит контроллер STM32F217ZGT6 и на этой плате есть все необходимое для обучения. «В общем, освоишь ее — все остальное покажется фигней» (он, правда, не сказал, что для моргания светодиодом надо настроить SPI, о котором на тот момент я даже не слышал). Спустя три не очень напряженных месяца бесплотных попыток, осознания слабости навыков программирования и огромного количества прочитанных статей пришлось все же раскошелится на STM32VLDISCOVERY и способом копирования программ и экспериментов с ними дело наконец-то пошло, но все равно медленно.

За полтора года успел поработать разработчиком, искал вакансии, где работают с STM32 (так как считаю, что сейчас это наиболее перспективные микроконтроллеры своего класса), нахватался опыта и когда дело дошло до диплома, вспомнил о своих наболевших мозолях. Идея с темой пришла мгновенно: «Отладочная плата на STM32 и (полноценный) обучающий курс (для самых маленьких) к ней».

Да, знаю, знаю, от многих инженеров слышал, что с темой «отладочная плата» «будь я преподавателем, я бы тебя завалил на защите», но все же считаю, любая идея имеет право на жизнь, так что всем, кому интересно, прошу читать далее.
Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии63

Восемь различных типов программистов

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

Кадр из фильма Kingsman

Уверены, в этой статье вы точно узнаете своих сотрудников, а возможно, и себя. Шведский предприниматель и разработчик Дэвид Эльбе описал восемь типов программистов, с которыми ему приходилось иметь дело за последние 10 лет работы в проектах по веб-разработке. Какие типы лучше всего объединить в команду и какой код от них ждать — читайте в переводе от Alconost.

1. Агент 007



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

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

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

Плохо срабатывается с Перфекционистом.
Читать дальше →
Всего голосов 108: ↑77 и ↓31+46
Комментарии87

Датчики и микроконтроллеры. Часть 1. Матчасть

Время на прочтение19 мин
Количество просмотров211K
В эпоху готовых отладочных плат и тысяч готовых модулей к ним, где достаточно взять пару блоков, соединить их вместе, и получить нужный результат, далеко не каждый понимает основы схемотехники, почему и как это работает, а главное — что надо делать, если это работает не так.
Как раз открылся хаб Схемотехника, так что, как говорил Бьюфорд Бешеный Пёс Таннен
Здание суда уже строят, значит, пора кого-то вешать.

В этом цикле я расскажу о датчиках — как о немаловажном элементе системы управления неким объектом или тех. процессом.

Все свое повествование я буду вести касаемо практических вопросов реализации цифровых систем управления на базе микроконтроллеров.

Руководство не претендует на всеобщий обхват вопроса.
Хотя после того, как мой конспект перелез за 20 страниц текста, я решил разбить статью на следующие части:
  • Часть 1. Мат. часть. В ней мы рассмотрим датчик, не привязанный к какому-то конкретному измеряемому параметру. Рассмотрим передаточные функции и динамические характеристики датчика, разберемся с его возможными подключениями.
  • Часть 2. Датчики климат-контроля. В ней я рассмотрю особенности работы с датчиками температуры, влажности, давления и газового состава
  • Часть 3. Датчики электрических величин. В ней я коснусь измерения тока и напряжения

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

Здоровый сон — 4 совета от космонавтов

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

Кто разбирается в проблемах сна лучше всего? Конечно же, космонавты. В этой статье мы расскажем, как решить проблему с недосыпом и вернуть здоровый сон.
Читать дальше →
Всего голосов 40: ↑36 и ↓4+32
Комментарии26

AI, Big Data и дезинформация технологий

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


/ фото KamiPhuc CC

Обычно в нашем блоге мы рассказываем об облачных сервисах, хостинге и соответствующих технологиях. Сегодня мы поговорим о сложностях развития технологий в целом, искусственном интеллекте, больших данных и Майкле Джордане (не баскетболисте).
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии12

Роскомнадзор и его планы

Время на прочтение12 мин
Количество просмотров50K
Послепраздничные дни мая ознаменовались выходом огромного количества новых документов. Пока, как правило, в виде проектов, но все же. Как ни странно, но видимо привыкшие ко всему жители Хабра не обратили на это внимания. А между прочим, зря.

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

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

Думаю, большинство в курсе, что Роскомнадзор имеет так называемый Административный регламент, утвержденный Приказом Минкомсвязи России от 14.11.2011 N 312, в соответствии с которым, в частности, и должны проходить все проверки качества защиты персональных данных. На первый взгляд, проект Постановления Правительства очень напоминает этот регламент. Если бы не мелкие отличия.

Внимание! Публикация обсуждает элементы ужаса и мистики и не рекомендуется к чтению на ночь!
Читать дальше →
Всего голосов 43: ↑33 и ↓10+23
Комментарии32

Быстрое кроссплатформенное HTML5 приложение на Framework7

Время на прочтение10 мин
Количество просмотров79K
Задумываясь о разработке html5 приложения, многим сразу на ум приходит jQuery, или точнее jQueryMobile. И попробовав написать даже самое простенькое приложение используя jQueryMobile, очень легко разочароваться, так как производительность и отзывчивость получившегося html5 приложения куда ниже ожидаемого, и уж совсем его не сравнить с нативными приложениями.


Читать дальше →
Всего голосов 44: ↑43 и ↓1+42
Комментарии20

Если вы решили перейти с PHP на Python, то к чему следует подготовиться

Время на прочтение14 мин
Количество просмотров191K
Думали ли вы когда-нибудь о том, что однажды слишком быстро втянулись в веб-программирование на PHP? И вот уже прошло много лет, у вас хороший опыт, и вы не думаете ни о каких других способах „делать“ веб, кроме как на PHP. Может быть, у вас возникают сомнения в правильности выбора, однако непонятно, как найти способ быстро его проверить. А хочется примеров, хочется знать, как изменятся конкретные аспекты деятельности.

Сегодня я попробую ответить на вопрос: «А что если вместо PHP писать на Python?».

Сам я долгое время задавался этим вопросом. Я писал на PHP 11 лет и даже являюсь сертифицированным специалистом. Я научился его «готовить» так, чтобы он работал в точности, как мне надо. И когда я в очередной раз читал на Хабре перевод статьи о том, как всё в PHP плохо, я просто недоумевал. Однако подвернулся случай пересесть на Ruby, а потом и на Python. На последнем я и остановился, и теперь попробую рассказать вам PHP-шникам, как нам питонистам живётся.


Python с точки зрения PHP-программиста...
Всего голосов 122: ↑116 и ↓6+110
Комментарии205
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность