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

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

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

Обзор курсов по Deep Learning

Время на прочтение 11 мин
Количество просмотров 70K
Привет, Хабр! Последнее время все больше и больше достижений в области искусственного интеллекта связано с инструментами глубокого обучения или deep learning. Мы решили разобраться, где же можно научиться необходимым навыкам, чтобы стать специалистом в этой области.

image
Читать дальше →
Всего голосов 52: ↑48 и ↓4 +44
Комментарии 29

Webpack + React. Как уменьшить бандл в 15 раз

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

Ясной инструкции по сборке webpack для продакшена я не нашел. Поэтому решил написать эту статью. Надеюсь, пригодится.
Существует множество сборщиков скриптов. Я выбрал для себя Webpack по таким критериям:

  • Гибкость настройки
  • Большое количество плагинов и лоадеров
  • Lazy loading
  • Использование es6 и es7 синтаксиса с помощью babel-loader

Читать дальше →
Всего голосов 47: ↑39 и ↓8 +31
Комментарии 31

Змеиный фрукт или фруктовый Питон?

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

Не библейская история



  1. И сотворил Google Android. Поселил его в саду мобильных платформ, дав ему жену — Java.
  2. И повелел Google Javе: создавай программы Androidу, красивые и быстрые, и Androidу сказал: не следует тебе брать других жен, кроме Javы. И запретил им вкушать плодов от древа познания фреймворков и языков программирования, дабы не сделались их программы медленными и неугодными пользователю.
  3. Хитрейшим же на том древе был древний змий — динамический Python. Долгое время наблюдал он за Androidом и, наконец, подстерег его прогуливающимся в тени деревьев. Тогда спросил хитрый Python Androidа: правду ли сказал тебе Google, не вкушать плодов от древа познания фреймворков и языков программирования, дабы не сделались твои программы медленными и неугодными пользователю?
  4. Точно так заповедовал мне всемогущий Google, ответил Android и прогаммы создает мне жена моя — Java.
  5. Обманул тебя Google, прошипел хитрый Python, ибо знает он, что в тот день, когда ты вкусишь плодов от древа познания фреймворков и языков программирования, прозреешь ты и потянутся к тебе другие разработчики и станут создавать программы, и появятся у тебя приложения такие же красивые и быстрые, как от жены твоей Java, и будут они кроссплатформенны!
  6. И сорвал Python плод от древа познания фреймворков и языков программирования и протянул Android`у, и тот ел.
  7. Имя того плода — Kivy.

Книга фреймворка Kivy (Глава 2, стих 1-7)

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

Pomp — метафреймворк для парсинга сайтов

Время на прочтение 3 мин
Количество просмотров 16K
С поддержкой asyncio и вдохновленный Scrapy.

Зачем еще один?


В первую очередь как инструмент для сбора данных, применяемый в моем хобби проекте, который не давил бы своей мощью, сложностью и наследием. И да, кто же будет сознательно начинать что-то новое на python2.x?

В итоге появилось идея сделать простой фреймворк для современной экосистемы python3.x, но такой же элегантный как Scrapy.

Под катом обзорная статья о Pomp в стиле FAQ.
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 15

Почему сложно программировать UI и как выглядит идеальный фреймворк

Время на прочтение 1 мин
Количество просмотров 22K
Привет, Хабр!

Одна из сложных задач современной разработки — это программирование пользовательского интерфейса. С увеличением количества элементов сложность увеличивается нелинейно и совладать с огромным количеством вариантов, состояний и переходов становится практически невозможно. Фреймворки вроде Angular со своим двусторонним связыванием пытается решить эту проблему, но на фундаментальном уровне ничего не меняется.

Со-основатель, технический директор и главный учитель нашего образовательного проекта Хекслет Кирилл Мокевнин рассказывает про сложность программирования интерфейсов и каким образом можно совладать со сложностью если вы знакомы с одной базовой концепцией информатики. Заодно расскажет и покажет идеальный JS-фреймворк для программирования UI.

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

Как я повышал конверсию машинным обучением

Время на прочтение 8 мин
Количество просмотров 21K
В этой статье я попробую ответить на такие вопросы:
  • может ли один доклад умного человека сделать другого человека одержимым?
  • как окунуться в машинное обучение (почти) с нуля?
  • почему не стоит недооценивать многоруких бандитов?
  • существует ли серебряная пуля для a/b тестов?

Ответ на первый вопрос будет самым лаконичным — «да». Услышав это выступление bobuk на YaC/M, я восхитился элегантностью подхода и задумался о том, как бы внедрить похожее решение. Я тогда работал продуктовым менеджером в компании Wargaming и как раз занимался т.н. user acquisition services – технологическими решениями для привлечения пользователей, в число которых входила и система для A/B тестирования лендингов. Так что зерна легли на благодатную почву.

К сожалению, по всяким причинам я не мог плотно заняться этим проектом в обычном рабочем режиме. Зато когда я слегка перегорел на работе и решил устроить себе длинный творческий отпуск, одержимость превратилась в желание сделать такой сервис умной ротации лендингов самостоятельно.
Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Комментарии 24

Изоморфные приложения. Взгляд в будущее с React

Время на прочтение 11 мин
Количество просмотров 54K
Оригинал: React To The Future With Isomorphic Apps

Изоморфные приложения. Взгляд в будущее с React


В разработке программного обеспечения все часто возвращается на круги своя. Так, например, на заре развития Интернета серверы подгружали контент сразу же на сторону клиента. В последнее же время, с разработкой современных веб-фреймворков, таких как AngularJS и Ember, мы видим тенденцию к обработке запросов на стороне клиента и использованию сервера только для API. Однако, это далеко не единственная тенденция. Сейчас происходит медленное возвращение или, скорее, слияние этих двух архитектур.
Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 14

Настоящие ассоциативные массивы в JavaScript

Время на прочтение 4 мин
Количество просмотров 58K
Использование литерала объекта, как простого средства для хранения пар ключ-значение давно стало обычным делом в JavaScript. Тем не менее, литерал объекта всё же не является настоящим ассоциативным массивом и по этому, в некоторых ситуациях, его использование может привести к неожиданным результатам. Пока JS не предоставляет нативную реализацию ассоциативных массивов (не во всех браузерах, по крайней мере), существует отличная альтернатива объектам, с нужной функциональностью и без подводных камней.
Читать дальше →
Всего голосов 57: ↑51 и ↓6 +45
Комментарии 38

Kivy и Play Store

Время на прочтение 4 мин
Количество просмотров 48K
Около года назад я поучаствовал в конкурсе Kivy App Contest 2014. Игрушка заняла одно из призовых мест (номинация «лучшая идея») и ко мне неоднократно обращались с просьбой выложить её на маркет. Я долго откладывал, но позавчера наконец созрел и потратив вечер — выложил. Оказалось всё совсем просто и я решил написать эту инструкцию для тех, кто, как и я, пишет на киви «в стол». Ну или тех, кто пишет на Питоне и не в курсе, что на нём можно легко писать андроидные приложения и даже выкладывать их в маркете. Инструкция рассчитана на таких же как я полнейших чайников в разработке под Android. Профессионалам можно здесь прекратить чтение, а можно поправить/дополнить в комментариях.
Читать дальше →
Всего голосов 33: ↑25 и ↓8 +17
Комментарии 16

Как перевести сайт целиком на постоянный HTTPS для всех

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

Шифруем всё подряд


Эра незашифрованного веба проходит, и это хорошо. В этой инструкции мы предполагаем, что на вашем сервере работает веб-сервер Nginx. И теперь мы сделаем так, чтобы все посетители сайта пользовались исключительно протоколом HTTPS. Кроме этого мы включим HSTS – это «HTTP Strict Transport Security», когда сайт не только поддерживает HTTPS, но и настаивает на его использовании.

Для этого есть множество способов, но я опишу метод под названием «HTTPS termination». Иначе говоря, мы поставим перед веб-сервером обратный прокси, который и будет обеспечивать HTTPS. Это получается проще и гибче, чем настраивать HTTPS только при помощи возможностей веб-сервера. Возможно, вам покажется контринтуитивным, что добавление ещё одного приложения в стек упростит вашу жизнь – но это действительно так.

Уточним, что данный рецепт подходит для серверов на базе Linux, на которых установлен Nginx.

То, что будет работать прежде всех остальных приложений в стопке – это HAProxy. Это в первую очередь приложение для балансировки – он умеет распределять приходящие запросы между разными физическими серверами. Много высоконагруженных сайтов используют его в этом качестве (тот же reddit), но в последней версии у него появилась возможность выполнять SSL termination. Он умеет устанавливать HTTPS-соединения от имени сервера.

Поэтому мы поставим HAProxy, скормим ему наши сертификаты SSL/TLS, поручим перенапрявлять все HTTP запросы на HTTPS, и покажем ему уже сам веб-сервер в качестве бэкенда.
Читать дальше →
Всего голосов 63: ↑49 и ↓14 +35
Комментарии 38

Как попасть в топ на Kaggle, или Матрикснет в домашних условиях

Время на прочтение 9 мин
Количество просмотров 32K
Хочу поделиться опытом участия в конкурсе Kaggle и алгоритмами машинного обучения, с помощью которых добрался до 18-го места из 1604 в конкурсе Avazu по прогнозированию CTR (click-through rate) мобильной рекламы. В процессе работы попытался воссоздать оригинальный алгоритм Мактрикснета, тестировал несколько вариантов логистической регрессии и работал с характеристиками. Обо всём этом ниже, плюс прикладываю полный код, чтобы можно было посмотреть, как всё работает.

Рассказ делю на следующие разделы:
1. Условия конкурса;
2. Создание новых характеристик;
3. Логистическая регрессия – прелести адаптивного градиента;
4. Матрикснет – воссоздание полного алгоритма;
5. Ускорение машинного обучения в Python.
Читать дальше →
Всего голосов 42: ↑41 и ↓1 +40
Комментарии 21

Конференции для разработчиков c видео презентациями

Время на прочтение 2 мин
Количество просмотров 17K
Для разработки надо идти в ногу со временем, и хорошее место узнать что-то новое и получить ценный опыт — концеренции и мастер классы. Я вот решил собрать некоторые значащие конференции и их видеоканалы с выступлениями. Старался не включать мелких конференций, слишком отдалённых от программирования (по PM и маркетингу), или не выкладывающих видео.

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

Понятно что у организаторов своя бизнес-модель и возможности, но хочется унифицировать и мотивировать организаторов относиться к докладам и их авторам с уважением, выкладывать видео со временем, синхронизировать со слайдами.
С видео Без нормального видео

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

Два с половиной приема при работе с argparse

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

Приемы, описанные здесь, есть в официальной документации к модулю argparse (я использую Python 2.7), ничего нового я не изобрел, просто, попользовавшись ими некоторое время, убедился в их мощности. Они позволяют улучшить структуру программы и решить следующие задачи:

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

Что там еще за пол-приема?
Всего голосов 28: ↑25 и ↓3 +22
Комментарии 18

Как быстро создать опрос на вашем сайте с помощью форм Google?

Время на прочтение 4 мин
Количество просмотров 144K
Как быстро создать опрос на вашем сайте с помощью форм Google?Рано или поздно, практически все, у кого есть собственный сайт, сталкиваются с необходимостью создания форм обратной связи для сбора данных (проведения опросов) с посетителей сайта.

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

Есть несколько подходов в создании подобных форм:

• Формы можно сделать, используя теги HTML и завязать нажатие кнопки «Отправить» с отправкой введенных данных вам на email

• Можно сделать связку PHP+MySQL (или любой другой язык программирования и базу данных) и все введенные данные сохранять в базу данных для дальнейшей работы.

• Если ваш сайт сделан с использованием какой-нибудь популярной CMS (например, Joomla, Drupal или WordPress), то вы можете поискать в сети плагины, модули и компоненты, которые достаточно просто позволяют создавать формы

• А можно для создания форм обратной связи использовать бесплатные инструменты всем известного Google.Docs

И в этой статье я хотел бы показать как с помощью Google.Docs вы можете легко и быстро создавать всевозможные формы опроса для ваших сайтов.
Читать дальше →
Всего голосов 63: ↑48 и ↓15 +33
Комментарии 16

Обратные сетевые эффекты — от чего умирают большие сети

Время на прочтение 4 мин
Количество просмотров 35K
Для успеха любой социальной сети жизненно важен сетевой эффект, который заключается в том, что ценность сети растёт с ростом количества участников. Согласно эмпирическому закону Меткалфа, полезность сети приблизительно равна половине квадрата численности участников. Тем не менее, сетевой эффект не является гарантией безоблачного существования крупной сети. Закон Меткалфа не помешал Facebook обойти Friendster и MySpace.

Сангит Пол Чодри — предприниматель, аналитик и бизнес-консультант из Сингапура — считает, что причиной смерти многих крупных сетей становятся так называемые обратные сетевые эффекты, из-за которых ценность сети не растёт, а уменьшается с ростом числа пользователей. Как они работают?
Читать дальше →
Всего голосов 32: ↑24 и ↓8 +16
Комментарии 17

Читать книги на английском и учить язык легче с помощью WordMemo

Время на прочтение 3 мин
Количество просмотров 109K
Я хочу рассказать о некоммерческом сервисе wordmemo.ru, а также о связанной с ним программе WordMemo для устройств с ОС Android. Наш сервис предназначен для людей, которые хотят читать англоязычные тексты (например, художественную литературу). Сам я отношусь к тем людям, которым легко прочитать небольшие фрагменты “технической литеатуры”, а абзац из классики — невозможно. В основе сервиса, который мне очень помогает в этом деле, лежит «читалка» с возможностью смотреть переводы слов, выписывать их значения, и — самое важное! — тренажёрами, позволяющими эффективно заучивать выписанные слова. К примеру, для каждого незнакомого слова сохраняются контексты, в которых оно встречалось.
Главная идея сервиса состоит в том, что учить слова лучше всего не взятыми по отдельности, как в словарях, а в составе реальных предложений. Что-то вроде англо-русского разговорника и учебника, который вы создаете сами!
Читать дальше →
Всего голосов 55: ↑40 и ↓15 +25
Комментарии 28

Проверка идеи боем: fake landing page

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

Основная проблема любой идеи стартапа — никто не знает, нужно ли это вообще кому-нибудь или нет. Готовы ли люди изменить своё поведение, свои привычки и начать пользоваться новым продуктом? И главное — готовы ли они за него заплатить?



Десятки-сотни тысяч стартапов ежегодно запускаются, не зная ответа на этот вопрос. Это понятно — никогда нельзя быть абсолютно уверенным в успехе нового бизнеса. Тем не менее, существуют несколько методов проверки идеи — и все они с разной степенью могут предсказать будущее продукта. Один из самых эффективных методов — это разработка fake landing page.



Начнем «раскручивать» термин с конца. Landing page («посадочная страница») называют страницу сайта, на которую пользователь переходит по нажатию на рекламное сообщение. Обычно на этой странице кратко и полно описывается суть продукта, а так же размещается action button, например «Зайти», «Начать», «Узанать подробнее». Цель landing page — «взять на руку» человека, пришедшего извне по рекламе, быстро и четко объяснить, что здесь происходит, и показать один путь, куда двигаться дальше. Переход же на главную страницу сайта, как часто делают многие рекламодатели, обычно является серьезной ошибкой — большое количество информации, которая понятна уже постоянному пользователю, пугает новичка — и даже не надейтесь, что он найдет раздел «О нас» или «Что это?».



С появлением приставки fake — фальшивый, ненастоящий — проявляется сакральный смысл всей идеи проверки будущего стартапа на реальности. Мы создаем landing page для еще несуществующего продукта, «пригоняем» траффик посредством рекламного объявления и проверяем, как ведут себя наши потенциальные клиенты. Итоговым результатом является четкий ответ — сколько из всех, кто в принципе заинтересован предложенной идеей (нажали на рекламное объявление) готовы стать вашими клиентами (нажали на кнопку «Зайти» на fake landing page).


Дальше - конкретные шаги по созданию fake landing page
Всего голосов 73: ↑66 и ↓7 +59
Комментарии 16

Не для денег: организация сообщества по интересам

Время на прочтение 6 мин
Количество просмотров 10K
Здравствуйте, уважаемые хабрачитатели!
В этой статье представлены мысли и краткая выжимка своего опыта по поводу организации сообщества по интересам. Писалось на опыте создания и развития Уральского регионального стрелкового клуба – некоммерческого сообщества людей, увлеченных оружием, стрельбой и всем, что с этим связано.
Сообщество существует уже больше 4-х лет, мы регулярно проводим различные мероприятия – соревнования по стрельбе, фестивали, просто собираем народ. Клуб начинался на ровном месте 3-мя людьми, причем до этого даже не сильно знакомыми между собой. Сейчас у нас накоплена хорошая материальная база, позволяющая проводить соревнования по различным стрелковым дисциплинам, а главное – опыт, которым я хочу поделиться с уважаемыми читателями.
Все нижеизложенное – мое имхо, с удовольствием в комментариях почитаю про ваш опыт и отвечу на вопросы.

Вопросы организации


1. Организации сообщества делается не для денег, это делается для души. Это потребует от вас вложений как материальных, так и других – ваше время, силы и нервы. Мало кому удается зарабатывать на своем хобби, и здесь описан не этот случай.
2. Ваш профит – это общение с новыми, интересными людьми, которые настроены с вами на одну волну. Причем с людьми, с которыми в своей обычной жизни вы, скорее всего бы просто не встретились. Также это отличная возможность попробовать и развить свои менеджерские, лидерские и коммуникативные навыки.
3. Крайне желательно четко понимать, чего вы хотите добиться – миссия, стратегические цели, задачи. Исходя из этого, строить дальнейшее развитие вашего сообщества (клуба, объединения).
4. Все делается для людей. Если вы не сможете собрать и сплотить вокруг вашего дела единомышленников – то ничего не получится. Вас должно переть от вашей темы, и этим вы должны заражать окружающих.
5. Позаботьтесь о площадке, где вы будете общаться. Это можно делать на существующих ресурсах, но там вы напрямую зависите от факторов, на которые не имеете влияния (дурные модераторы, невозможность самостоятельного развития). Лучший вариант – это свой ресурс, на котором вы полноправные хозяева. На нем должна быть возможность создавать закрытые разделы для общения. После создания площадки сразу закрепите правила общения на ней и придерживайтесь их.
6. Старайтесь без реальной на то нужды не раздавать полномочия на модерацию, управление, доступ к закрытым ресурсам. Забрать что-то обычно бывает сложнее, чем дать.
7. Постарайтесь сделать так, чтобы в случае вашего внезапного ухода сообщество могло продолжить жить дальше. Как минимум оставьте учетные записи от всех нужных для работы вашего сообщества сервисов надежному человеку.
8. Все наработки, касающиеся договоренностей, контактов нужных людей необходимо хранить в месте, в котором они будут доступны организаторам.
Читать дальше →
Всего голосов 7: ↑3 и ↓4 -1
Комментарии 21

Эффективные знакомства

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

1. Инструмент с циничным названием «С этой девушкой выбирают также:» «Не сложилось? Посмотрите эти анкеты:». Берем тех парней, кто написал этой девушке и показываем других девушек, которым они писали за последние пару дней. Предполагается, что людям нравится определенный типаж. Для слишком популярных анкет вводим понижающий коэффициент, чтобы не было засилья людей с модельной внешностью.

2. Интересы и группировка по степени совпадения в процентах, как музыкальные вкусы на last.fm. Собственно здесь, могут быть те же музыкальные или киношные вкусы. Не только на сайтах знакомств, например, в ЖЖ очень не хватает такой группировки по интересам.

Общая цель сводится к тому, чтобы пользователь находился в своем сегменте, в своем кругу общения, интересов и предпочтений. Как и в реальной жизни, только круг общения будет включать в себя значительно больше участников.
Всего голосов 86: ↑58 и ↓28 +30
Комментарии 78

Лучшие интересности и полезности за год

Время на прочтение 8 мин
Количество просмотров 65K
Доброго времени суток, уважаемые хабравчане. Сегодня я хочу поделиться с вами одним небольшим событием — ровно год назад, 15 августа 2013 года я опубликовал свой первый дайджест для веб-разработчиков. С тех пор было опубликовано 25 выпусков и мои подборки обрели некоторую «популярность», а мне приятно ощущать себя «полезным» для хабраобщества.

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

Читать дальше →
Всего голосов 69: ↑65 и ↓4 +61
Комментарии 44

Информация

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