Pull to refresh
-1
0.1
Send message

Применяем Data Science в мирных целях покупки дома

Reading time9 min
Views26K
Чтобы продать что-нибудь ненужное, нужно сначала купить что-нибудь ненужное, а у нас денег нет.
— Трое из Простоквашино

Введение


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


Поэтому я решил подойти к этому делу научно. Есть задача: надо разобраться сколько примерно стоит то что у меня есть, и где находится то что я могу себе позволить. Ну и попутный вопрос — понять куда дует ветер. И изучить гео-пространственные вычисления в R.

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments35

Sber.DS — платформа, которая позволяет создавать и внедрять модели даже без кода

Reading time5 min
Views17K

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


И это всё этапы, которые нужно пройти в любой компании, не зависимо от её размера. Если мы говорим о масштабе и legacy Сбербанка, количество тонких настроек возрастает в разы. К концу 2019 года в Сбере использовалось уже более 2000 моделей. Недостаточно просто разработать модель, необходимо интегрироваться с промышленными системами, разработать витрины данных для построения моделей, обеспечить контроль её работы на кластере.





Наша команда разрабатывает платформу Sber.DS. Она позволяет решать задачи машинного обучения, ускоряет процесс проверки гипотез, в принципе упрощает процесс разработки и валидации моделей, а также контролирует результат работы модели в ПРОМ.


Чтобы не обмануть ваших ожиданий, хочу заранее сказать, что этот пост — вводный, и под катом для начала рассказано о том, что в принципе под капотом платформы Sber.DS. Историю о жизненном цикле модели от создания до внедрения мы расскажем отдельно.


Читать дальше →
Total votes 9: ↑6 and ↓3+7
Comments10

Изучаем переменные в CSS на практическом примере

Reading time15 min
Views6.5K


Доброго времени суток, друзья!

Однажды веб серфинг привел меня к этому замечательному коду.

«Замечательность» его (то бишь кода) состоит в практическом использовании переменных в CSS, что сильно облегчает написание стилей (использование переменных также обуславливает необычную структуру CSS). И, конечно, тема импонирует весьма — планеты Солнечной системы.

Оригинальный проект написан на Pug и Sass, мы же разберем его на HTML/CSS.

Итак, поехали.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments4

Apache vs Nginx: практический взгляд

Reading time12 min
Views372K
Apache vs Nginx

Введение


Apache и Nginx — 2 самых широко распространенных веб-сервера с открытым исходным кодом в мире. Вместе они обслуживают более 50% трафика во всем интернете. Оба решения способны работать с разнообразными рабочими нагрузками и взаимодействовать с другими приложениями для реализации полного веб-стека.

Несмотря на то, что у Apache и Nginx много схожих качеств, их нельзя рассматривать как полностью взаимозаменямые решения. Каждый из них имеет собственные преимущества и важно понимать какой веб-сервер выбрать в какой ситуации. В этой статье описано то, как каждый из этих веб-серверов ведет себя при различных условиях.
Читать дальше →
Total votes 89: ↑69 and ↓20+49
Comments184

Яндекс помогает распространять вредоносное ПО?

Reading time4 min
Views126K
По роду деятельности мне приходится наблюдать за работой сотен рядовых пользователей ПК. Человек, который не первый день держит мышку, всё чаще сталкивается с проблемами при банальном скачивании бесплатного ПО. При разборе выясняется, что он всего лишь набрал в Яндексе «скачать Вайбер», а дальше что-то пошло не так. Я давно слежу за распространением заразы при непосредственном участии Яндекса. Когда-то это были единичные случаи, но теперь явление уже приобрело массовый характер. Объясню, в чём суть. Введём в запросе название любой популярной программы, которую условный домашний пользователь хочет скачать, и получим примерно такую выдачу:

image
Читать дальше →
Total votes 216: ↑202 and ↓14+256
Comments452

Насколько детальной должна быть User Story?

Reading time4 min
Views15K

В agile-командах часто возникает спор, насколько детально должна быть проработана User Story, прежде чем ее следует передавать разработчикам.


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


Рассмотрим Agile-подход к решению этой проблемы.

Читать дальше →
Total votes 5: ↑4 and ↓1+6
Comments20

Как подружить Telegram-бот с OpenId Connect

Reading time7 min
Views17K

Представим себе ситуацию: аналитики компании Foobar Inc. провели тщательное исследование конъюнктуры рынка и бизнес-процессов компании и пришли к выводу, что для оптимизации издержек и многократного увеличения прибыли Foobar кровь из носу требуется Telegram-бот компаньон, способный подбодрить сотрудников в трудную минуту.


Естественно, Foobar не может позволить, чтобы коварные конкуренты воспользовались их ноу-хау, просто добавив их бота себе в контакты. Поэтому требуется, чтобы бот разговаривал только с сотрудниками Foobar, прошедшими аутентификацию в корпоративной системе единого входа (SSO) на основе OpenId Connect.


Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments6

Создание отказоустойчивой ИТ инфраструктуры. Часть 3. Организация маршрутизации на роутерах VyOS

Reading time32 min
Views22K

Основная цель статьи – показать процесс установки и настройки виртуальных маршрутизаторов VyOS на кластере oVirt, для организации связи на уровне L3 между внутренними и внешними сетями.


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

Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments24

Перегрузка в C++. Часть I. Перегрузка функций и шаблонов

Reading time30 min
Views70K

C++ сложный и интересный язык, совершенствоваться в нем можно чуть ли не всю жизнь. В какой-то момент мне захотелось изучать его следующим образом: взять какой-то аспект языка, возможно довольно узкий, и разобраться с ним максимально глубоко и подробно. Такой подход в значительной степени был стимулирован замечательными книгами Скотта Мейерса, Герба Саттера и Стефана Дьюхэрста. Когда накопилось определенное количество материалов, решил познакомить с ними Хабровчан. Так появилась эта серия, которую я назвал «C++, копаем вглубь». Серия помечена как Tutorial, но ориентирована она все-таки не на начинающих, а скорее на intermediate уровень. Первая тема — это перегрузка в C++. Тема оказалась очень обширной и получилось три статьи. Первая статья посвящена перегрузке функций и шаблонов, вторая перегрузке операторов и третья перегрузке операторов new/delete. Итак, начнем копать.


Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments14

Аппаратный ключ шифрования за 3$ — возможно ли это?

Reading time10 min
Views70K

Итоговый результат — ключ размером с флешку

Повсеместное шифрование и, как следствие, обилие ключей заставляет задуматься об их надежном хранении. Хранение ключей на внешних устройствах, откуда они не могут быть скопированы, уже давно считается хорошей практикой. Я расскажу о том, как за 3$ и 2 часа сделать такой девайс.
Читать дальше →
Total votes 151: ↑151 and ↓0+151
Comments151

Защита репозиториев на GitHub от вредоносных коммитов

Reading time4 min
Views11K
Mozilla старается защитить свои репозитории на GitHub от вредоносных изменений. Как показал недавний инцидент с Gentoo, такие атаки реальны.


Первоначально Mozilla использовала GitHub как запасной хостинг. Подобно Gentoo, оригинальные репозитории хранились на собственной инфраструктуре. И хотя большая часть кода Firefox по-прежнему распространяется с собственной инфраструктуры, но многие проекты существуют только на GitHub. Некоторые — просто эксперименты, а другие используются в продакшне (например, Firefox Accounts). Такие «чувствительные» репозитории нужно защищать от вредоносных правок, при этом не усложняя коммиты для нормальных людей.
Total votes 20: ↑20 and ↓0+20
Comments1

Как заработать на распознавании эмоций

Reading time5 min
Views4.4K

Расскажу о сабже на примере одного из проектов, которым занимался в 2019-м году, когда я ещё работал в одной известной онлайн-школе английского языка.


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


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

Читать дальше →
Total votes 7: ↑6 and ↓1+9
Comments20

Аналитика для Telegram-ботов, написанных на Python

Reading time4 min
Views34K
На данный момент бум на создание телеграмм-ботов начал сходить, но тема их создания не теряет актуальности. Написано множество библиотек для облегчение взаимодействия с Telegram Bot API, но после создания бота я так и не нашёл скрипта(библиотеки) для получения статистики бота. Поэтому решил написать скрипт для всех ботов на Python. Статистику будем получать, логируя действия пользователей и обрабатывая логи в удобный вид.
Читать дальше →
Total votes 4: ↑3 and ↓1+6
Comments6

Строим Telegram-бот в Яндекс.Облаке

Reading time7 min
Views48K
Создание телеграм-бота

Сегодня из подручных материалов мы соберём в Яндекс.Облаке Telegram-бот с использованием Yandex Cloud Functions (или Яндекс-функции — для краткости) и Yandex Object Storage (или Объектное хранилище — для ясности). Код будет на Node.js. Однако, имеется одно пикантное обстоятельство — некая организация под названием, скажем так, РоссКомЦензур (цензура запрещена статьёй 29 Конституции РФ), не позволяет интернет-провайдерам России передавать запросы в Telegram API по адресу: https://api.telegram.org/ (UPD: В РФ уже снята блокировка Telegram API). Ну мы и не будем — нет так нет. Ведь в нашем саквояже имеются т.н. вебхуки — с их помощью мы не делаем запросы на конкретный адрес, а всего лишь шлём свой запрос в качестве ответа на любой запрос к нам. То есть, как в Одессе — отвечаем вопросом на вопрос. Поэтому Telegram API в нашем коде фигурировать не будет.
Читать дальше →
Total votes 18: ↑15 and ↓3+15
Comments28

Intel Parallel Studio XE 2020: все лучшее — разработчикам

Reading time3 min
Views6.9K


В самый канун Нового года увидела свет новая версия главного инструмента Intel для разработчиков — Intel Parallel Studio XE 2020. Давайте воспользуемся этим поводом и посмотрим, чем живет сейчас всем известная «студия» и в какую сторону развивается.
Читать дальше →
Total votes 6: ↑4 and ↓2+7
Comments0

Гиперкуб. Как мы обеспечили разработчиков тестовыми устройствами и не потеряли их

Reading time11 min
Views35K

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


Меня зовут Алексей Лавренюк. Вы можете знать меня как одного из авторов Яндекс.Танка и докладчика на тему нагрузочного тестирования. Потом я измерял энергопотребление мобильных телефонов. Теперь я делаю Яндекс.Ровер в команде беспилотных автомобилей (и иногда подрабатываю Дедом Морозом). А между телефонами и Ровером был Гиперкуб.


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




Читать дальше →
Total votes 83: ↑81 and ↓2+105
Comments57

Пишем драйвер для ноутбука for fun and profit, или как закоммитить в ядро даже если ты дурак

Reading time5 min
Views37K

С чего всё началось


Начнём с постановки проблемы. Дано: один ноутбук. Новый ноутбук, геймерский. С RGB-подсветкой. Вот такой примерно ноутбук:

image
Картинка взята с lenovo.com

Есть ещё программа к этому ноутбуку. Программа как раз этой подсветкой и управляет.

Одна только проблема – программа под Windows, а хочется чтоб в любимом линуксе всё работало. И лампочки чтоб светились, и чтоб цвета красивые мелькали. Да вот только как это сделать, чтоб без реверс-инжиниринга и без написания своих драйверов? Простой ответ пришёл быстро – никак. Ну что ж, пошли писать драйвер.
Читать дальше →
Total votes 103: ↑102 and ↓1+131
Comments20

«Красная» корпоративная культура — главная проблема российского бизнеса (Часть 1)

Reading time6 min
Views102K


«— Скажите, пожалуйста, куда мне отсюда идти? — А куда ты хочешь попасть? — ответил Кот. — Мне все равно… — сказала Алиса. — Тогда все равно, куда и идти, — заметил Кот.» (С) «Алиса в стране чудес»

Низкая производительность труда в России


Думаю, что те из вас, кто был в Греции, ни за что не согласятся, что греки работают лучше россиян. Тем не менее, по исследованиям Организации экономического сотрудничества и развития (ОСЭР) Россия со своим показателем производительности труда на уровне $26,5 в час уступает всем странам ОЭСР (по сути все развитые страны), включая Грецию, кроме Мексики, где он составляет $21,6. Средний для ОЭСР показатель — $54,8, а у лидеров — Ирландии и Люксембурга — на уровне $99 в час.
Читать дальше →
Total votes 119: ↑102 and ↓17+108
Comments524

Чтобы пацанам было не стыдно показать

Reading time3 min
Views107K
Я стар и уже глуп, а у вас всё впереди, уважаемый программист. Но позвольте дать вам один совет, который наверняка поможет в вашей карьере – если, конечно, вы планируете остаться программистом.

Советы типа «писать красивый код», «хорошо комментировать свои доработки», «изучать современные фреймворки» — очень полезные, но, увы, второстепенные. Они идут прицепом к главному качеству программиста, которое надо в себе развивать.

Вот это главное качество: пытливый ум.
Читать дальше →
Total votes 251: ↑227 and ↓24+267
Comments172

Слёрм DevOps — лучше работающая синица за 3 дня, чем прекрасный журавль в далеком будущем

Reading time4 min
Views4.2K

Я люблю проект длиной в неделю, и меня пугают проекты длиной в год. В аджайле мне очень понравилась концепция MVP и инкремента, это прям мое: сделать работоспособный кусок, внедрить его и двинуться дальше.


При этом DevOps-трансформация в том виде, в котором ее обсуждают в книгах и на конференциях, это как раз проект длиной в год. Или в годы.


Мы строили свой курс по DevOps в парадигме «MVP DevOps за один спринт» и «готовность к инкрементам». А если по-человечески, то «чтобы участник по возвращении мог немедленно что-то внедрить у себя и получить пользу».


MVP DevOps: в курсе есть инструменты для основных DevOps-процессов. Мы не ставили себе задачу рассмотреть и сравнить все системы CI/CD или раскрыть глубины подхода Infrastructure as Code. Мы даем один понятный стек: Gitlab CI/CD, Ansible, Terraform и Packer, Molecule, Prometheus, EFK. Можно прийти с курсов, собрать из учебных материалов инфраструктуру для пилотного проекта и поработать в ней.


Читать дальше →
Total votes 18: ↑14 and ↓4+13
Comments2

Information

Rating
3,791-st
Location
Жуковский, Москва и Московская обл., Россия
Date of birth
Registered
Activity