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

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

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

Понимание джойнов сломано. Это точно не пересечение кругов, честно

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

Так получилось, что я провожу довольно много собеседований на должность веб-программиста. Один из обязательных вопросов, который я задаю — это чем отличается INNER JOIN от LEFT JOIN.


Чаще всего ответ примерно такой: "inner join — это как бы пересечение множеств, т.е. остается только то, что есть в обеих таблицах, а left join — это когда левая таблица остается без изменений, а от правой добавляется пересечение множеств. Для всех остальных строк добавляется null". Еще, бывает, рисуют пересекающиеся круги.


Я так устал от этих ответов с пересечениями множеств и кругов, что даже перестал поправлять людей.


Дело в том, что этот ответ в общем случае неверен. Ну или, как минимум, не точен.

Читать дальше →
Всего голосов 179: ↑138 и ↓41+97
Комментарии227

Качество воздуха в доме зимой

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

Зимой воздух в помещении хуже всего. Духота, сухость. Работает отопление, проветривать часто нельзя, потому что замерзнешь. Особенно актуально, когда дома есть маленькие дети.
Как соблюсти баланс? Возможно ли это?

В статье я приведу цифры и расчеты. А еще свой вариант решения проблемы и устройство, собранное для этого. Кому интересно, прошу под кат…
Читать дальше →
Всего голосов 64: ↑60 и ↓4+56
Комментарии411

Соревнование Kaggle Home Credit Default Risk — анализ данных и простые предсказательные модели

Время на прочтение33 мин
Количество просмотров20K
На датафесте 2 в Минске Владимир Игловиков, инженер по машинному зрению в Lyft, совершенно замечательно объяснил, что лучший способ научиться Data Science — это участвовать в соревнованиях, запускать чужие решения, комбинировать их, добиваться результата и показывать свою работу. Собственно в рамках этой парадигмы я и решил посмотреть внимательнее на соревнование по оценке кредитного риска от Home Credit и объяснить (начинающим дата саентистам и прежде всего самому себе), как правильно анализировать подобные датасеты и строить под них модели.


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

Особенности работы и внутреннего устройства express.js

Время на прочтение7 мин
Количество просмотров41K
Если вы занимались разработкой для платформы node.js, то вы, наверняка, слышали об express.js. Это — один из самых популярных легковесных фреймворков, используемых при создании веб-приложений для node.



Автор материала, перевод которого мы сегодня публикуем, предлагает изучить особенности внутреннего устройства фреймворка express через анализ его исходного кода и рассмотрение примера его использования. Он полагает, что изучение механизмов, лежащих в основе популярных опенсорсных библиотек, способствует более глубокому их пониманию, снимает с них завесу «таинственности» и помогает создавать более качественные приложения на их основе.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии1

Чему я научился, пройдя множество собеседований в компаниях и стартапах из сферы ИИ

Время на прочтение14 мин
Количество просмотров38K
За последние восемь месяцев я прошел собеседования в самых разных компаниях — DeepMind в Google, Wadhwani Institute of AI, Microsoft, Ola, Fractal Analytics и некоторых других — в основном на позиции Data Scientist, Software Engineer и Research Engineer. По ходу дела мне предоставлялись возможности не только пообщаться со многими талантливыми людьми, но также по-новому взглянуть на себя с пониманием того, что хотят услышать работодатели, когда беседуют с кандидатами. Думаю, если бы я располагал этой информацией раньше, то мог бы избежать многих ошибок и подготовиться к собеседованиям куда лучше. Это и стало импульсом к написанию данной статьи — возможно, она поможет кому-нибудь получить работу мечты.


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

Собеседование на английском: как пройти его не хуже сына маминой подруги

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


Любые собеседования специфичны. Они отличаются от компании к компании; кроме того, если HR любит использовать нестандартный подход к делу, то у одного и того же специалиста не будет двух одинаковых собеседований. Пройти этот этап трудоустройства бывает очень непросто даже на родном языке — что уж говорить об иностранных.

Во многих случаях «иноязычные» рабочие интервью при успешном прохождении позволяют прорубить окно не только в Европу, но и во многие другие страны мира, включая те, что расположены за океаном. О том, как лучше проходить англоязычные собеседования, мы и поговорим в этой статье.
Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии6

ИТОГ 3-х месяцев: Альтернатива платному отключению рекламы в бесплатном приложении Android

Время на прочтение3 мин
Количество просмотров22K
Здравствуй, Дорогой читатель ХабраХабра! В данной мини-статье я хочу рассказать/показать итог моей альтернативы платному отключению рекламы в бесплатном приложении Android. Всем, кому интересно добро пожаловать под кат!
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии99

Женские сети: кто делает за нас выбор?

Время на прочтение10 мин
Количество просмотров27K
Взлет интереса к машинному обучению во многом связан с тем, что модели способны дать ощутимый прирост прибыли в областях, связанных с предсказанием поведения сложных систем. В частности, той сложной системой, чье поведение предсказывать выгодно, является человек. Обнаружить мошенничество на ранней стадии, выявить склонность клиентов к оттоку – эти задачи возникают регулярно и уже стали классическими в Data Science. Безусловно, их можно решать различными методами, в зависимости от пристрастий конкретного специалиста и от требований бизнеса.

У нас была возможность использовать нейронные сети для решения задачи по предсказанию поведения людей, а специфика области применения была связана с индустрией красоты. Основной аудиторией для “опытов” стали женщины. Мы по сути пришли к вопросу: может ли искусственная нейронная сеть понять настоящую нейронную сеть (человека) в той области, в которой даже сам человек еще не осознал своего поведения. Как мы ответили на этот вопрос и что у нас получилось в итоге, можно узнать далее.

Читать дальше →
Всего голосов 72: ↑61 и ↓11+50
Комментарии58

Нейросетевой синтез речи своими руками

Время на прочтение12 мин
Количество просмотров96K
Синтез речи на сегодняшний день применяется в самых разных областях. Это и голосовые ассистенты, и IVR-системы, и умные дома, и еще много чего. Сама по себе задача, на мой вкус, очень наглядная и понятная: написанный текст должен произноситься так, как это бы сделал человек.

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



Я решил попробовать сделать полностью нейросетевой синтез своими руками, а заодно и поделиться с сообществом своим опытом. Что из этого получилось, можно узнать, заглянув под кат.
Всего голосов 62: ↑61 и ↓1+60
Комментарии22

SEO оптимизация статьи: актуальный план

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

Осторожно! Лонгрид.


Речь пойдет об оптимизации страницы статьи для поисковых систем. Данный материал больше подходит для продвижения в Яндексе.


Специально для Хабровцев, в заключении есть список всех разделов применимых к Хабрастатьям.


27.04.2018 UPD// Эта страница уже в ТОПе Яндекса "оптимизация статьи". И в топе Google.


SEO оптимизация статьи
Читать дальше →
Всего голосов 29: ↑21 и ↓8+13
Комментарии24

Генерация страниц сайта средствами сервис-воркеров

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

(С)

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

  • кэширование страниц сайта для офлайн доступа;
  • ведение учета страниц, доступных офлайн, проброс необходимых данных;
  • мониторинг статуса сети, онлайн или офлайн;
  • общение сервис-воркера со страницами и вкладками, которые он обслуживает;
  • перехват сервис-воркером запроса на открытие адреса /offline/ и генерирование новой страницы прямо на устройстве, без запроса к серверу.

Если тема сервис-воркеров и Progressive Web Apps (PWA) для вас новая, то перед чтением этой статьи необходимо познакомиться с ними поближе.

Меня зовут Рыбин Павел, я работаю во фронтенд-разработке Медиапроектов Mail.Ru Group. Это руководство мне помогали писать грабли, набитые шишки и подводные камни, попавшиеся мне при реализации PWA для мобильной версии Авто Mail.Ru.

В тексте будут встречаться небольшие примеры кода, иллюстрирующие рассказ. Расширенную же демо-версию можно посмотреть на GitHub.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии12

Как победить рутину, или Готовое приложение в Xcode за пару кликов

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


У каждого опытного разработчика есть набор инструментов, к которым он привык и с которыми ему удобно работать. Это может быть простейшая настройка окружения, утилиты для промежуточных операций (к примеру, помощник по тестированию API Postman), проверенные временем и лично разработчиком библиотеки и сниппеты.

Также у многих разработчиков может быть свой подход к реализации выбранной архитектуры. Поэтому очень полезно иметь в своем арсенале заготовку приложения – общий скелет, к которому останется только добавлять новые модули, экраны и фичи. В этом материале я расскажу, как создать собственный шаблон приложения в Xcode.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии2

Never Fail Twice, или как построить мониторинговую систему с нуля

Время на прочтение10 мин
Количество просмотров13K
У нас было 2 виртуальные машины, 75 сайтов, десятки тысяч машин для мониторинга, тысячи метрик, две базы данных и одна очередь ActiveMQ, Python и целое множество библиотек всех сортов и расцветок, pandas, а также numpy, dash, flask, SQL Alchemy. Не то чтобы это был необходимый запас для системы, но если начал собирать компоненты, становится трудно остановиться. Единственное, что вызывало у меня опасение — это JavaScript. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем JS зомби. Я знал, что рано или поздно мы перейдем и на эту дрянь.

image
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии9

Ежедневные собрания в Agile разработке: 15 минут, без которых не видать релиза

Время на прочтение6 мин
Количество просмотров72K
Большинство IT-компаний привыкли к ежедневным внутренним митингам, статусным собраниям или коротким stand up, которые призваны оптимизировать процессы и синхронизировать работу всех членов команды. Оптимально, если такие встречи не будут превышать 15-20 минут.

image
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии14

19 корпораций, которые используют технологии блокчейн и распределенные реестры

Время на прочтение7 мин
Количество просмотров17K
Сегодня все говорят о том, что в области блокчейн не хватает успешно реализованных проектов, реальных кейсов, которые могли бы стать вдохновляющим примером для компаний, вставших на путь цифровой трансформации. Хочу поделиться с вами переводом статьи именно о таких кейсах. Текст опубликован американской аналитической компанией CB Insights. Она копает в области прорывных цифровых технологий и знает все о стартапах, меняющих мир к лучшему (очень рекомендую следить за публикациями ее специалистов).


Читать дальше →
Всего голосов 41: ↑37 и ↓4+33
Комментарии32

Генеральная уборка в компании: как мы переворошили магазины

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

Начнём вот с этой картинки. На Курской около точки завелись бомжи. И стали на несколько дней лицом компании. Старший не знал, что делать, и хотел проконсультироваться с юристом. В нашей «старой доброй» модели он бы сначала что-то с ними сделал, а потом бы рассказал.



Бомжи жили около магазина пару недель. Это прямо выход из метро, поэтому им там было тепло и уютно. Решилось тем, что как только открывалась дверь, сотрудник брал толстые резиновые перчатки, и либо прямо выносил их на улицу, либо вёл с ним беседу по поводу, почему они мешают. Если они успевали полежать хотя бы 2 минуты — это вполне их устраивало. А когда и 10 секунд не давали — ну, направление миграции сместилось.

На деле, конечно, это была меньшая из проблем. И самая легкорешаемая.
Читать дальше →
Всего голосов 126: ↑124 и ↓2+122
Комментарии198

Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Знаки

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

Эта работа является продолжением всего сказанного ранее в статье «Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Версия II». В большинстве статей, посвященных анализу текстов, которые удалось изучить автору, под анализом текста понимается главным образом две совершенно практические задачи, связанные либо с извлечением какого-либо контекста, либо перевод текста с одного языка на другой. В первом случае речь, как правило, идет или об «очистке» анализируемого контента и сопоставлению какого-либо участка текста эталону в соответствии с заранее заданной таксономией1 каких-либо сущностей. Например, разбор адресов, товаров и т.д. Во втором случае, о поиске соответствия одного блока текста, написанного на одном языке блоку, написанному на другом.


Объединяющим оба эти варианта является статистический, по сути, анализ участков контекстов, с учетом синонимов слов, устоявшихся выражений. При этом за рамками такого рода анализ выходит анализ троп2, риторических оборотов и много другого. Причина этого кроется в непонимании современной наукой даже на философском уровне некоторых базовых вопросов, связанных с логикой мышления и принятия решения, построения знаковых систем т.е. неразвитость семиотики и т.д.

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

Метод Бенджамина Франклина для чтения книг по программированию

Время на прочтение4 мин
Количество просмотров33K
Посмотрим правде в глаза, книги по программированию — отстой. Эти общие книги по распределённым системам, науке о данных и так далее — их можно читать бесконечно. Но за редким исключением у практических руководств по языку/фреймворку/СУБД/кексопечке есть нечто общее. Зверюшка на обложке, примеры вычурных приложений, они так легко забываются, так банальны, настолько… ничему не учат.

Думаю, я наконец-то понял, почему они мне не нравятся. И не только потому что они учат навыкам, которые скоро станут устаревшими. Это их педагогический подход в целом. Алгоритм обучения как будто такой: напиши эти программы, где мы говорим всё, что нужно сделать, и теперь ты знаешь этот язык/фреймворк/базу данных/кексопечку. Главное в этих книгах — длинные листинги кода, которые читатель должен воспроизвести. Вот пример из одной из лучших книг этой категории.

class User < ApplicationRecord
  attr_accessor :remember_token
  before_save { self.email = email.downcase }
  validates :name,  presence: true, length: { maximum: 50 }
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
  validates :email, presence: true, length: { maximum: 255 },
                    format: { with: VALID_EMAIL_REGEX },
                    uniqueness: { case_sensitive: false }
  has_secure_password
  validates :password, presence: true, length: { minimum: 6 }

  # …далее ещё 30 строчек...
end

Традиционно есть два способа изучить такую страницу:

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

В первом случае, как и в лекциях, код переходит со страницы книги на экран читателя, минуя мозг. Второй вариант — это как пытаться собирать автомобили, разбирая ремень безопасности и стереосистему: вы просто играетесь с маленькими кусочками. Оба варианта не подходят для обучения.
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии17

Открытый урок по «Введение в JSON Schema»

Время на прочтение1 мин
Количество просмотров6.8K
Доброго дня!

Запускаем сегодня наш переделанный курс «Разработчик JavaScript» и вспомнили, что у нас есть ещё один открытый урок по нему же. На нём разбирали основные идеи JSON Schema, синтаксис, определяемый в спецификации, ну и для чего вообще стоит использовать эту технологию.


Если вдруг есть какие-то вопросы, то задавайте.
Всего голосов 23: ↑14 и ↓9+5
Комментарии1

Четыре уровня одностраничных приложений, о которых вам нужно знать

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

image


В этой статье мы с нуля разработаем React-приложение, обсудим домен и его сервисы, хранение, сервисы приложения и представление (view).

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

Информация

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