Pull to refresh
10
0
hemule @hemule

User

Send message

Вероятностные модели: примеры и картинки

Reading time8 min
Views63K
Сегодня – вторая серия цикла, начатого в прошлый раз; тогда мы поговорили о направленных графических вероятностных моделях, нарисовали главные картинки этой науки и обсудили, каким зависимостям и независимостям они соответствуют. Сегодня – ряд иллюстраций к материалу прошлого раза; мы обсудим несколько важных и интересных моделей, нарисуем соответствующие им картинки и увидим, каким факторизациям совместного распределения всех переменных они соответствуют.


Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments10

Одно предложение, которое делает нас сильнее

Reading time2 min
Views93K
Это мой самый короткий топик, суть которого в одном предложении. Часто именно с этого предложения начинается успешный стартап, бизнес и любое другое начинание.

Это шаблон описания сути вашей компании или проекта в одном предложении. Я открыл его для себя во время стажировки в США. Составив его, мы реально становимся сильнее. В последствии мне это помогло выбрать правильный курс, сфокусироваться и расставить приоритеты.
Читать дальше →
Total votes 198: ↑168 and ↓30+138
Comments51

Практика рефакторинга в больших проектах

Reading time4 min
Views14K
Некоторое время назад я попал в геймдев, где столкнулся с проектами по 2 млн. строк кода, которые пишут десятки программистов. При таких масштабах кодобазы возникают проблемы неведомого мне ранее характера. Об одной и них я хочу вам сейчас рассказать.

Итак, представьте себе следующую ситуацию. Так уж случилось, что вам надо отрефакторить очень большой кусок кода, целую подсистему. Строк, эдак, на 200К. Причем рефакторинг явно выглядит очень крупным, затрагивающим базовые концепции, по которым построена ваша подсистема. Фактически надо переписать всю архитектуру, сохранив бизнес логику. Такое бывает, если, например, вы сделали один проект и у вас впереди новый, и вы хотите в нём исправить все ошибки прошлого. Допустим, по первым прикидкам, на рефакторинг надо месяца 2, не меньше. В процессе рефакторинга всё должно работать, в том числе нельзя мешать другим программистам добавлять новые фичи и чинить баги в подсистеме. Часто такой рефакторинг бывает насколько сложен, что совершенно невозможно замерджить старый код в новый, а также невозможно выкатить результат по частям. Фактически вам надо заменить двигатель самолёта на лету.

Примеры из практики, как моей, так и моих коллег:
  • Переделать всю работу с базой данных с чистого JDBC на Hibernate.
  • Переделать архитектуру сервиса с отсылки-приёмки сообщений на удалённый вызов процедур (RPC).
  • Полностью переписать подсистему трансляции XML файлов в рантайм объекты.


Что делать? С какой стороны подойти к проблеме? Ниже представлен набор советов и практик, которые нам помогают справиться с этой проблемой. Сначала более общие слова, а потом конкретные методики. В общем-то ничего сверхъествественного, но кому-то может помочь.
Читать дальше →
Total votes 55: ↑50 and ↓5+45
Comments51

Оптимизация графики для Retina-экранов

Reading time7 min
Views211K
После недавнего выпуска Retina MacBook Pro и The new IPad, экраны с увеличенной плотностью пикселей начали активно входить в нашу жизнь. Что это значит для веб-разработчиков?

Для начала разберемся в терминологии.

Физические пиксели


Читать дальше →
Total votes 150: ↑135 and ↓15+120
Comments57

Рекомендательные системы: постановка задачи

Reading time5 min
Views31K
Всем привет! Меня зовут Сергей, я математик, и я определяю развитие рекомендательной системы Surfingbird. Этой статьёй мы открываем цикл, посвящённый машинному обучению и рекомендательным системам в частности – пока не знаю, сколько в цикле будет инсталляций, но постараюсь писать их регулярно. Сегодня я расскажу вам, что такое рекомендательные системы вообще, и поставлю задачу чуть более формально, а в следующих сериях мы начнём говорить о том, как её решать и как учится наша рекомендательная система Tachikoma.

image

Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments22

Обучаем компьютер чувствам (sentiment analysis по-русски)

Reading time12 min
Views84K


Sentiment analysis (по-русски, анализ тональности) — это область компьютерной лингвистики, которая занимается изучением мнений и эмоций в текстовых документах. Недавно на хабре появилась статья про использование машинного обучения для анализа тональности, однако, она была настолько плохо составлена, что я решил написать свою версию. Итак, в этой статье я постараюсь доступно объяснить, что такое анализ тональности, и как реализовать подобную систему для русского языка.
Читать дальше →
Total votes 90: ↑85 and ↓5+80
Comments40

Торговля знает, когда вы ждете ребенка

Reading time5 min
Views71K
Однажды в магазин Target зашел мужчина и потребовал вызвать менеджера. В своих руках он сжимал огромную кипу купонов магазина, полученных его дочерью.

«Моя дочь получила это по почте! – прокричал он. – Она еще в школу ходит, а вы посылаете ей купоны на детскую одежду и памперсы? Да как вы смеете! Вы хотите таким способом побудить школьниц рожать?»

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

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

Как Target узнал, что дочь беременна до того, как об этом стало известно ее отцу? Ответ прост – благодаря системе прогнозирования беременности (pregnancy prediction system), разработанной аналитиком компании Эндрю Полом. Под катом – обо всем по порядку.
Читать дальше →
Total votes 149: ↑130 and ↓19+111
Comments164

API карт от 2ГИС: рецензия

Reading time10 min
Views12K
Недавно 2ГИС порадовал всех нас выспуском версии 1.0 собственного картографического JS API. API карт отечественного производства — штука редкая; Mail.ru и Rambler, например, так и не сподобились, хоть и обещали (пруф раз, пруф два). Посмотрим, что получилось у новосибирцев.

Знакомимся



Не будем откладывать в долгий ящик, открываем раздел "Быстрый старт" и копируем предложенный код. It works! Правда, заголовок показывает кракозябрами — оно, правда, и не удивительно, поскольку тэга с указанием charset-а нет. Ну да ладно, мелочи жизни. Смотрим на код.

Читать дальше →
Total votes 60: ↑58 and ↓2+56
Comments25

Картина и гвозди

Reading time1 min
Views6.1K
Имеется картина, к которой двумя концами привязана длинная веревка. Требуется повесить её на N вбитых в стену гвоздей так, чтобы при вытаскивании из стены одного любого гвоздя картина и веревка падали.

Веревка имеет пренебрежимо малую толщину, не рвётся и нерастяжима, гвозди не гнутся и перпендикулярны стене, трения нет. Одним словом, задача решается без всяких хитростей и уловок.
Читать дальше →
Total votes 52: ↑50 and ↓2+48
Comments151

REST vs SOAP. Часть 1. Почувствуйте разницу

Reading time6 min
Views477K
Некоторое время назад я гуглил интернет по поводу “REST vs SOAP”, прочитал пару статей и вроде бы все понял, но не почувствовал от этого никакого удовлетворения. Что-то было не так, то ли я не почувствовал основную идею, то ли просто читал, одновременно слушая новый музон и думая о новой фиче в проекте. Как появилось время, решил восполнить этот пробел, заодно написав полезную статью по этому поводу.
Читать дальше →
Total votes 117: ↑106 and ↓11+95
Comments101

Монетизация Facebook, LinkedIn, Twitter, Groupon и VK

Reading time3 min
Views8.6K
На этих выходных, а именно 8 октября 2011 года, я выступал на конференции Lviv iCamp 2011 (кстати, большое спасибо организаторам, очень качественное мероприятие, на которое я приезжаю уже второй год подряд) с двумя докладами, первый назывался «Стоимость создания сайта и его обслуживания», второй «Монетизация социальных сетей». Про структуру стоимости создания сайта я напишу отдельным постом, а вот некоторые самые интересные данные по монетизации социальных сетей, в частности Facebook, LinkedIn, Twitter, Groupon и VK, выложу в этом посте.

Информация взята из 4 части моего большого исследования «Все о социальных сетях»:

Первая часть доклада (рус): «Все о социальных сетях. Влияние на человека [1/4]»;
Первая часть доклада (англ): «Everything About Social Networks. Impact on a Person [1/4]»;
Вторая часть доклада (рус): «Все о социальных сетях. Перспективы развития [2/4]»;
Третья часть доклада: «Все о социальных сетях. Технологии [3/4]»;
Четвертая часть доклада: «Все о социальных сетях. Монетизация [4/4]».

Полный текст исследования с формулами и расчетами будет доступен через 2-3 недели по этому адресу. Желающие могут скачать презентацию моего доклада целиком (*.ppt, 1 mb).

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

Монетизация Facebook


Прибыльность: 1,86$ млрд. за 2010 г., чистая прибыль 550$ млн. Сеть прибыльна.
Доход на пользователя: 2,65$ в год.
Стоимость компании: 75,3$ млрд.
Стоимость пользователя: 107,5$.
PR ratio: 40,48 годовых оборотов.
Окупаемость: 136,9 лет.
Три основных способа монетизации:
1. Прямая реклама (50%+)
2. Игровые приложения
3. Виртуальные подарки
Рост доходов за 2010 год: 2,65 раз.
Читать дальше →
Total votes 72: ↑62 and ↓10+52
Comments51

Преждевременное масштабирование — главная причина гибели стартапов?

Reading time2 min
Views2.3K
Компания Startup Genome опубликовала приложение к майскому аналитическому отчёту по стартапам. Теперь собрана информация уже по 3200+ компаниям и подробно рассматривается главная причина, по которой стартапы разваливаются.

Изучив опыт тысяч стартапов, Startup Genome делает вывод: 70% неудач объясняются преждевременным масштабированием.
Читать дальше →
Total votes 79: ↑73 and ↓6+67
Comments22

Можно ли спроектировать впечатления?

Reading time9 min
Views2K
Представляю вашему вниманию перевод статьи в двух частях под названием "Can Experience be Designed?" от Oliver Reichenstein. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением компании Information Architects Inc..


Для начала загадайте число от одного до десяти. А затем сделайте шаг назад и посмотрите на словосочетание «Проектирование впечатлений пользователя» так, словно вы никогда раньше его не видели.



Смотрите внимательно на эти слова до тех пор, пока вы не услышите в своей голове волшебно красивый голос, произносящий их вслух: «ПРОЕКТИРОВАНИЕ ВПЕЧАТЛЕНИЙ ПОЛЬЗОВАТЕЛЯ». Что думаете? Все это кажется вам какой-то нелепицей? Нет, я говорю не про загадывание числа и не про шаг назад, а про идею. Идею о том, что кто-то может контролировать ваши чувства и ощущения. Или же вы с легкостью согласитесь, что ваши впечатления от прочтения этой статьи были продуманы мной как автором? Вы читаете этот текст каким-то своим, особым образом? Или вы прочитали и ощутили его так, как я это задумал?
Читать дальше →
Total votes 78: ↑66 and ↓12+54
Comments27

Китай: как заказывать производство или поставку

Reading time7 min
Views186K
Его зовут Плюштой У китайцев можно заказать всё, что угодно: от электронных компонентов до корпуса к устройству или хендмейд-штук. При правильном подходе это дешево, качественно и позволяет реализовывать любые заказы, которые часто сложно разместить на территории СНГ.

В топике — основы аутсорсинга производства в Китай:
  • Как выбрать производителя и сделать заказ
  • Как убедиться, что сделают именно то, что вам нужно
  • Про предоплату, документы, гарантии
  • Как наиболее выгодно доставить
  • Что делать с потерянными поставками
  • Грабли в ассортименте

Да, если же вы уже заказывали в Китае, то ничего шокирующе-нового в топике вы не найдёте (и, может быть, порадуетесь за то, как нас красиво однажды развели).

Читать дальше →
Total votes 208: ↑205 and ↓3+202
Comments183

Ускоряем раздачу фоток

Reading time8 min
Views14K

С проблемой медленной отдачи статического контента рано или поздно сталкивается каждый сисадмин.

Проявляется это приблизительно так: иногда 3Kb картинка грузится так, как будто бы она весит 3Mb, на ровном месте начинают «залипать» (отдаваться очень медленно) css-ы и JavaScript-ы. Вы нажимаете ctrl + reload — и уже, вроде, проблемы нет, потом спустя всего несколько минут все повторяется опять.

Не всегда истинная причина «тормозов» очевидна и мы косо поглядываем то на nginx, то на хостера, то на «забитый» канал, то на «тормозной» или «глючный» браузер :)

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

В этой статье я предложу Вам свое решение этой проблемы, основанное на практическом опыте использования SSD дисков совместно с web-сервером nginx.
Читать дальше →
Total votes 128: ↑126 and ↓2+124
Comments69

Функциональное тестирование веб-приложений без боли

Reading time5 min
Views37K
Иногда в жизни бывает так — вот ждёшь, ждёшь чего-то, изучаешь теорию по данному вопросу, рассматриваешь разные подходы к решению, дискутируешь с такими же ищущими как ты, внимаешь гласу признанных гуру, но не продвигаешься дальше ни на дюйм. Потом бросаешь, забываешь вообще об этом вопросе, занимаешься другими делами, и вдруг — на тебе, всё встало на свои места, из разрозненных элементов сложилась чудесная мозаика, нагрянуло просветление, а волосы вдруг стали густыми и шелковистыми.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments19

Обзор: 10 русских SaaS-систем управления проектами

Reading time1 min
Views15K
Столкнулся с задачей подбора системы управления проектами для своей команды. Порадовало, что на Хабре есть много полезных статей и обзоров по этому поводу (и не менее полезных комментариев к ним). Помимо этого переворошил еще множество обзоров и отзывов разных людей и в ходе поисков наткнулся на интересную сводную таблицу Обзор: 10 русских SaaS-систем управления проектами.

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

Посчитал табличку достойной внимания Хабра, но чтобы не обижать автора и не копипастить, ограничусь ссылкой на табличку в его ЖЖ. Если автор присутствует на Хабре, буду рад познакомиться.
Total votes 51: ↑34 and ↓17+17
Comments31

Как заработать на мобильных приложениях

Reading time4 min
Views37K
Под катом мы хотим поделиться своим опытом продажи мобильных приложений начиная с 2007 года и по сей день. iTunes, Win mobile и Android market. В основе лежит забавная история, как курсовая из 2000 года принесла нам $3000 и контракт со Смешариками.
image
Всё началось осенью 2007 года. Наша компания была Microsoft Certified Partner и хотела развиваться в этом направлении. Было решено получить сертификат MGCP (Microsoft Gold Certified Partner), так как он давал нам ряд преимуществ, начиная с экономии на ПО и заканчивая повышением статуса компании.
Читать дальше →
Total votes 79: ↑60 and ↓19+41
Comments71

Лоран Жиль: какой должна быть команда стартапа

Reading time2 min
Views600
Была возможность пообщаться с Лораном Жилем (видео1 и видео2) — президентом и СЕО компании Viewdle. Если кто не знает, то этот стартап, основанный украинцами, в октябре поднял 10 млн долларов инвестиций. Так вот, Лоран поделился тем, как он подбирает сотрудников в команду. Достаточно смелый, но не лишенный рационального зерна подход. Вот, вкратце, что он сказал (далее от первого лица):

Очень типично для компаний (особенно в Украине) набирать ПЕРСОНАЛ. Но стартапу нужна именно команда увлеченных общей идеей людей, каждый член которой в душе предприниматель, стремящийся находить нетривиальные решения поставленной задачи. И отсутствие профессионального опыта здесь только приветствуется, так как нет искушения повторять предыдущий опыт. Повторение убивает инновацию, а человек из предпринимателя становится исполнителем.
Читать дальше →
Total votes 46: ↑34 and ↓12+22
Comments18

Важные аспекты RESTful API для вашего проекта

Reading time6 min
Views34K
Данная статья давно назревала в моей голове, но совсем в ином формате.
Прочитав последние несколько неуклюжих статей на тему WEB-сервисов (например: http://habrahabr.ru/blogs/development/108973/) и применения в них REST технологии, решил что настало время все-таки откинуть лень, выделить время и написать «переформатированную» в своей голове статью.
Итак, кратко, что Вы найдете в статье и кому она будет полезна:

новичкам, которые интересуются или планируют написать WEB-сервис для проекта
профи вряд ли найдут что-то новое для себя
— общая идеология REST
— применение CRUD в WEB-сервисах
— принципы KISS при построении раутеров
— лучшие практики
— немного пиара ;)
— ссылки, литература
Читать дальше →
Total votes 84: ↑74 and ↓10+64
Comments47

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity