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

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

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

Забудьте о DAO, используйте Repository

Время на прочтение6 мин
Количество просмотров175K
Недавно задумался о том, чем отличаются паттерны, позволяющие абстрагироваться от работы с хранилищем данных. Много раз поверхностно читал описания и различные реализации DAO и Repository, даже применял их в своих проектах, видимо, до конца не понимая концептуальных отличий. Решил разобраться, закопался в Google и нашел статью, которая для меня разъяснила все. Подумал, что неплохо было бы перевести ее на русский. Оригинал для англочитающих здесь. Остальным интересующимся добро пожаловать под кат.
Читать дальше →
Всего голосов 28: ↑23 и ↓5+18
Комментарии14

Chatbot на базе рекуррентной нейронной сети своими руками за 1 вечер/6$ и ~ 100 строчек кода

Время на прочтение10 мин
Количество просмотров109K
В данной статье я хочу показать насколько просто сегодня использовать нейронные сети. Вокруг меня довольно много людей одержимы идеей того, что нейронки может использовать только исследователь. И что бы получить хоть какой то выхлоп, нужно иметь как минимуму кандидатскую степень. А давайте на реальном примере посмотрим как оно на самом деле, взять и с нуля за один вечер обучить chatbot. Да еще не просто абы чем а самым что нинаесть ламповым TensorFlow. При этом я постарался описать все настолько просто, что-бы он был понятен даже начинающему программисту! В путь!

image
Читать дальше →
Всего голосов 57: ↑54 и ↓3+51
Комментарии26

Хотят ли разработчики работать в стартапах и быть их основателями — инфографика по результатам опроса

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

На этот раз «Мой круг» совместно с Cofoundit постарались узнать, как разработчики участвуют в стартапах: как с позиции сотрудника, так и с позиции основателя компании. Мы опросили более 3500 человек, пользователей «Моего круга» и «Хабрахабра». Более 90% опрошенных имеют свой аккаунт на «Моём круге» — это именно те ИТ-специалисты, которые откликаются на вакансии или размещают их на нашем сервисе.

Сначала мы узнаем немного об отрасли в целом: кто где работает, сколько зарабатывает, чем занимается, у кого есть опыт сотрудника, а у кого — основателя стартапа. Затем мы просим вспомнить самый интересный стартап, в котором довелось участвовать и сравним опыт сотрудников и создателей стартапов, у последних дополнительно узнаем про их опыт инвестирования и монетизации. Наконец, выясним у тех, у кого до сих пор не было опыта стартапа, что их мотивирует, а что останавливает от приобретения подобного опыта.

Отчёт получился довольно большим, но, на наш взгляд, крайне интересным и познавательным. Скучные цифры оформлены симпатичной инфографикой.
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии38

Асинхронные API и объект Deferred в деталях

Время на прочтение11 мин
Количество просмотров22K
Большинство современных языков программирования позволяют использовать асинхронно выполняемые блоки кода. Вместе с гибкостью, получаемой при использовании асинхронного подхода, рискнувший его применить также получает более сложный для понимания и поддержки код. Однако, любое усложнение, с которым сталкиваются программисты, как правило, находит практическое решение в виде нового подхода или повышения уровня абстракции. В случае асинхронного программирования таким средством служит объект типа отложенный результат или deferred (англ. deferred — отложенный, отсроченный).

В статье будет рассказано о базовых подходах к возврату асинхронных результатов, функциях обратного вызова, объектах deferred и их возможностях. Будут приведены примеры на языке JavaScript, а также произведён разбор типового объекта deferred. Статья будет полезна программистам, начинающим постигать асинхронное программирование, а также знакомым с ним, но не владеющим объектом deferred.
Окунуться в мир асинхронного программирования
Всего голосов 21: ↑17 и ↓4+13
Комментарии15

Создаем расширения для Google Chrome

Время на прочтение6 мин
Количество просмотров50K
Вчера задался себе таким вопросом: как можно обезопасить мой профиль в Google Chrome и вообще все данные, которые в нем хранятся? Немножко погуглив, я нашел ссылки на кучу расширений (типа этого), которые позволяют устанавливать пароль как на браузер так и на отдельные его профиле (это логично, если знать как работает Chrome в режиме мультипрофильности). Я начал их устанавливать и сразу тесты на баги. И как оказалось ни один из них не хочет адекватно работать в режиме мультипрофильности. Не очень-то долго думая я решил написать собственное расширение и заодно разобраться в Google Chrome API.
Как я создавал своё расширение читайте под катом
Всего голосов 42: ↑32 и ↓10+22
Комментарии18

Создание веб-сайта. Курс молодого бойца

Время на прочтение24 мин
Количество просмотров814K
Как-то меня попросили провести небольшой семинар в лицее, где я когда-то учился, по созданию веб-сайта. В процессе написания речи я подумал, что она может вылиться в материал, который, возможно, будет полезен многим начинающим в области веб-дизайна, вёрстки веб-страниц и пр. Я не претендую на истину в первой инстанции и всё изложенное носит чисто личностный взгляд на работу с дизайном и кодом. Статья даёт поверхностный взгляд на понятия и средства, которые, на мой взгляд, могут стать неплохим стартом для того, кто готов идти дальше.
Читать дальше →
Всего голосов 86: ↑77 и ↓9+68
Комментарии46

10+ полезных jQuery сниппетов на каждый день

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


Спустя годы библиотека jQuery стала неотъемлемой частью в работе каждого web-разработчика. Ведь она простая в использовании, быстрая и имеет очень широкие возможности. В этой статье я собрал список из более чем десяти сниппетов, которые вы можете свободно брать для использования. Их очень легко адаптировать под нужды ваших собственных проектов.
Читать дальше →
Всего голосов 194: ↑109 и ↓85+24
Комментарии55

Где jQuery хранит обработчики событий

Время на прочтение1 мин
Количество просмотров22K
В «интернетах» я не нашел подробного ответа на этот вопрос. Как правило, рекомендуется использовать стандартный метод для получения обработчиков:
$(elem).data('events')

Но в моем случае он работать не хотел, поэтому пришлось немного разобраться в коде jQuery и найти где же все-таки они хранятся.
Читать дальше →
Всего голосов 30: ↑24 и ↓6+18
Комментарии13

Внутренности jQuery. Поиск кода, выполняемого по событию

Время на прочтение4 мин
Количество просмотров25K
Чем дальше в лес, тем толще партизаны. Нет, не так. Чем старше веб, тем больше джаваскрипта

Клиентского кода в веб-приложениях с каждым годом действительно становится все больше. Подчас это десятки файлов с сотнями функций. И что делать, когда нам нужно поменять код, выполняемый по событию (например, клик по ссылке). Как его найти? Задавшись решением этой задачи, я придумал несколько разных вариантов. Каждый из них имеет свои плюсы и минусы. И в конце статьи я предлагаю метод, который мне кажется оптимальным.
Читать дальше →
Всего голосов 132: ↑125 и ↓7+118
Комментарии34

Как я ушёл с InDesign'а в LaTeX

Время на прочтение9 мин
Количество просмотров23K
InDesign, безусловно, является флагманом в индустрии вёрстки. Но, проработав в нём немалое количество времени, я вернулся к старому доброму TeX'у, с которым познакомился ещё во время своей учёбы в университете. Почему так вышло? Почему от понятного WYSIWYG-редактора я ушёл к языку разметки, и от продукта, поддерживаемого мощнейшей компанией Adobe — к программе, код которой давно заморожен, и лишь появляются новые пакеты, написанные волонтёрами?

История началась с того, что InDesign меня обидел тем, что начал нагло врать в глаза.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии89

Кодировки и веб-страницы

Время на прочтение4 мин
Количество просмотров30K
Возвращаясь к избитой проблеме с кодировками русских букв, хотелось бы иметь под рукой некий единый справочник или руководство, в котором можно найти решения различных сходных ситуаций. В своё время сам перелопатил множество статей и публикаций, чтобы находить причины ошибок. Задача этой публикации — сэкономить время и нервы читателя и собрать воедино различные причины ошибок с кодировками в разработке на Java и JSP и способы их устранения.

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

Итак, поехали.
Читать дальше →
Всего голосов 27: ↑11 и ↓16-5
Комментарии17

Вероятностное программирование

Время на прочтение19 мин
Количество просмотров42K
Вероятностное моделирование является одним из мощнейших инструментов для специалиста по анализу данных. К сожалению, для его использования необходимо не только уверенно владеть аппаратом теории вероятностей и математической статистики, но и знать детали работы алгоритмов приближенного байесовского вывода, что делает порог вхождения очень высоким. Из этой лекции вы узнаете о сравнительно молодой парадигме в машинном обучении — вероятностном программировании. Его задача — сделать всю мощь вероятностного моделирования доступной любому человеку, имеющему опыт программирования и минимальный опыт анализа данных.



Лекция была прочитана Борисом hr0nix Янгелем на факультете компьютерных наук, открытом в Высшей школе экономики при поддержке Яндекса. Сам Борис окончил ВМиК МГУ и Школу анализа данных Яндекса. Работал в Microsoft Research Cambridge в группе Кристофера Бишопа над фреймворком Infer.NET. Сейчас Борис — ведущий разработчик поиска Яндекса.

Под катом — расшифровка рассказа.
Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии15

Иерархическая классификация сайтов на Python

Время на прочтение8 мин
Количество просмотров27K
Привет, Хабр! Как упоминалось в прошлой статье, немаловажной частью нашей работы является сегментация пользователей. Как же мы это делаем? Наша система видит пользователей как уникальные идентификаторы cookies, которые им присваиваем мы или наши поставщики данных. Выглядит этот id, например, так:

42bcfae8-2ecc-438f-9e0b-841575de7479

Эти номера выступают ключами в различных таблицах, но первоначальным value является, в первую очередь, URL страниц, на которых данная кука была загружена, поисковые запросы, а также иногда некоторая дополнительная информация, которую даёт поставщик – IP-адрес, timestamp, информация о клиенте и прочее. Эти данные довольно неоднородные, поэтому наибольшую ценность для сегментации представляет именно URL. Создавая новый сегмент, аналитик указывает некоторый список адресов, и если какая-то кука засветится на одной из этих страничек, то она попадает в соответствующий сегмент. Получается, что чуть ли не 90% рабочего времени таких аналитиков уходит на то, чтобы подобрать подходящий набор урлов – в результате кропотливой работы с поисковиками, Yandex.Wordstat и другими инструментами.
logo
Получив таким образом более тысячи сегментов, мы поняли, что этот процесс нужно максимально автоматизировать и упростить, при этом иметь возможность мониторинга качества алгоритмов и предоставить аналитикам удобный интерфейс для работы с новым инструментом. Под катом я расскажу, как мы решаем эти задачи.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии18

MediaInsight — мониторинг традиционных СМИ

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

Доброго пинга, интернет имеющие



Я хочу спросить вас — а есть ли у вас телевизор? И не дожидаясь ответа, предположу что есть :) У меня у самого его нет, но это не суть важно. Важно иметь представление о этом виде СМИ. Зачем это надо? А затем что хочу я вам рассказать об одном очень интересно проекте. Я тут узнал что есть ребятишки, что занимаются мониторингом СМИ — телевидением, радио, газет. То есть примерно как яндекс отслеживает активность в блогах, они мониторят эфир.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии7

Обналичиваем Bitcoin по хорошему курсу в Таиланде

Время на прочтение3 мин
Количество просмотров34K
Пост не рекламы сервиса, но радости за постепенную интеграцию криптовалют в жизнь. Недавно я задался вопросом, можно ли в Таиланде вывести биткойны в наличные быстро и удобно. И нашёлся сервис, который делает это по хорошим курсам и в течение буквально пары часов, а получить наличку можно в любом банкомате голубого банка без всякой карты, просто по коду. Делюсь с вами инструкцией-фотоотчётом.


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

Боль. Или дизайн крупных проектов

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

Боль


Как не странно, но по самому процессу разработки визуальной части мы в компании отстаем как минимум на года 2-3. Во-первых, классическая, изолированная, универсальная модель: Проектирование — Дизайн — Верстка. Во-вторых, один и тот же подход остается как для страниц мелких акций (заглушек), так и для масштабных сервисов вроде, где трудно предугадать сценарий развития. Но мы метем все под одну гребенку. Я лично не знаю в нашей компании персонажа, который глобально бьется над улучшением процесса и самой системы разработки визуальной части. В основном звучат умелые фразы, по поводу сроков и складывается впечатление, что все мастера по тайм менеджменту. Многие из резких фраз, как «Процент времени», напрочь убивают всю логику, и наивно полагаться на сохранение продуктивности на том же уровне. Когда разрабатываешь крупный проект, 5-7 глобальных переключений в день на другие задачи, полностью парализуется и сбивает весь процесс разработки основного проекта. Ну, впрочем, это менеджерская магия с выгодой в одну сторону.

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

Теперь о вытекающее из этого «боли»…. Ситуация, которая сейчас выглядит так:
Читать дальше →
Всего голосов 13: ↑5 и ↓8-3
Комментарии13

Статистика Хабрахабра

Время на прочтение4 мин
Количество просмотров184K
Почти неделя прошла с исполнения хабрахабру 6 лет. Было бы очень интересно посмотреть на графики роста показателей сайта. Т.к. стандартная статистика малоинформативная, решено было собрать всю информацию своими руками и проанализировать. И так, почти неделя парсинга и сбора информации и получены следующие интересные данные(скрытые/удаленные посты/пользователи и их комментарии не учтены):
  • Больше всего постов написал alizar — 4298, рекорд 12 постов в день поставлен 18 октября 2006
  • Больше всего комментариев написал VolCh — 19323, установив личный рекорд 27 июля 2011 года в количестве 140 комментариев.
  • Больше всех опубликовал постов в день freetonik —21 топик 26 августа 2007
  • Максимальная активность хабры в день — опубликовано 105 топиков: 18 февраля 2010 и 22 июня 2008 года.
  • Максимальная активность хабры в месяц — опубликовано 2055 топиков в марте 2010
  • Среднее значение кармы: +7,83
  • Средний рейтинг топика: +24,75
  • Всего комментариев: 3 703 022.
  • Средний рейтинг комментария: +0,98
  • Максимальное количество оставленных комментариев — 1 июля 2011 в количестве 4936 штук.
  • 25% из всех опубликованных топиков были перенесены в черновики
  • Самый комментируемый топик habrahabr.ru/post/123157 собрал 2252 комментария

Красивые графики, методы измерения, база с полученными данными, «хаброаномалии» — все это под катом.
Читать дальше →
Всего голосов 230: ↑224 и ↓6+218
Комментарии134

Граф интересов (Interest graph): новый принцип взаимодействия в сети

Время на прочтение6 мин
Количество просмотров12K
Пару месяцев назад меня очень тронула публикация Идеальная социальная сеть. Автор этой публикации, arilou-campe, обозначил доминирующие принципы, по которым выстраивается большая часть социального взаимодействия в современной сети, а затем он попробовал предположить, на каких принципах будет выстраиваться это взаимодействие в ближайшем будущем.

Я хочу продолжить и уточнить его мысль, озвучить несколько важных и плодотворных, на мой взгляд, концептов («граф интересов» — один из них), вокруг которых сегодня ведётся дискуссия о будущем развитии сети, а также привести в качестве примера несколько проектов (над одним из которых я сам сейчас работаю), уже реализующих на практике новые принципы социального взаимодействия: те самые принципы, которые могут стать доминирующими в самом ближайшем будущем.
Читать дальше →
Всего голосов 56: ↑52 и ↓4+48
Комментарии67

Презентация средствами HTML5

Время на прочтение3 мин
Количество просмотров14K
image
Обратил внимание, что в настоящее время программисты Google начали использовать новую форму представления своих презентаций.

Типичный пример, еще пример — мы видим фреймы, эффекты, изображения, общий стиль.

Несложный поиск привел к удобному шаблону, который при своей простоте позволяет создавать неплохие презентации с легко внедряемыми элементами
Читать дальше →
Всего голосов 114: ↑110 и ↓4+106
Комментарии40

Как преодолевать Facebook EdgeRank и попадать в ленту новостей

Время на прочтение5 мин
Количество просмотров11K
Данная статья посвящена алгоритму EdgeRank, который отвечает за фильтрацию новостей в Facebook-ленте.

Все вы помните, что в разделе новостей вам предлагают прочитать самые популярные новости («Top News») и все недавние обновления («Most Recent»). Исходя из вашего поведения, Facebook решает, какие новости для вас будут интересны, а какие – нет, и именно этим отбором занимается алгоритм EdgeRank.

Однако немногие знают, что Facebook EdgeRank фильтрует не только «Top News», но и общую ленту новостей. В общую ленту алгоритм в хронологическом порядке включает посты от определенного списка друзей и страниц — только тех, от которых ожидается интересная для получателя информация. Как вы можете догадаться, в «Популярных новостях» этот ценз еще более строг.

Что это значит для вас? Если вы постоянно поддерживаете контакт со своими друзьями, комментируете и «лайкаете» их посты – то вы останетесь на связи и не пропустите важных новостей.

А что, если вы ведете свою специальную страничку, на которую с большим трудом набираете новых читателей, однако отдача крайне мала? Знакома ли вам ситуация: у вашей страницы несколько сотен читателей, но к каждому посту вы получаете 1-2 лайка? Конечно, дело может быть в вашем контенте и способе подачи информации, но свою «руку» к этому приложил и EdgeRank, который, увидев, что читатель не проявил интереса к обновлениям вашей страницы, просто «убрал» ее из ленты новостей.

В статье будет рассказано об алгоритме EdgeRank и советах по преодолению его фильтров.
Читать дальше →
Всего голосов 54: ↑43 и ↓11+32
Комментарии9

Информация

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