Обновить
8
Александр Яковлев@xescoderread⁠-⁠only

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

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

Человеческий парсер на Selenium WD

Время на прочтение5 мин
Охват и читатели69K


Начало


И вот пришла моя очередь покупать автомобиль. Как это делают ребята с работы я видел. Заходят на сайт и следят за предложениями, ну кто постарше покупает газету и просматривает объявления. Все это однообразно и отвлекаться на сиденье, исследование и нажатие по ссылкам не хотелось. Хотелось просто что бы кто то делал это за меня, таких людей не нашлось. Значит надо было заставить делать все это компьютер.
Читать дальше →

Вы опасно некомпетентны в криптографии

Время на прочтение7 мин
Охват и читатели144K
От переводчика: Хоть посыл статьи Najaf Ali, переведённой ниже, и носит слегка рекламный оттенок («оставьте криптографию нам, экспертам»), но описанные в ней примеры показались мне довольно интересными и заслуживающими внимания.
Кроме того, никогда не будет лишним повторить прописную истину: не придумывайте свою крипто-защиту. И эта статья отлично иллюстрирует почему.

Читать дальше →

Почему я не лезу в криптографию

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

Экономим время на подключении шрифтов. Год спустя

Время на прочтение3 мин
Охват и читатели6K


Всем привет!
Ровно год назад, 12 июля, был опубликован пост о задумке собирать бесплатные шрифты и организовать удобный доступ к ним. Именно эту дату будем считать днем рождения нынешнего WebFont.ru.
Сегодня будет повествование о том, что и как удалось сделать.
Читать дальше →

Предобучение ограниченными машинами Больцмана для распознавания реальных изображений

Время на прочтение8 мин
Охват и читатели20K
image
Доброго времени суток. Этот топик рассчитан на тех, кто имеет представление об ограниченных машинах Больцмана (restricted Boltzmann machine, RBM) и их использовании для предобучения нейронных сетей. В нем мы рассмотрим особенности применения ограниченных машин Больцмана для работы с изображениями, взятыми из реального мира, поймем, почему стандартные типы нейронов плохо подходят для этой задачи и как их улучшить, а также немного пораспознаем выражения эмоций на человеческих лицах в качестве эксперимента. Те, кто представления o RBM не имеет, могут его получить, в частности, отсюда:

Реализация Restricted Boltzmann machine на c#,
Предобучение нейронной сети с использованием ограниченной машины Больцмана
Читать дальше →

Предобучение нейронной сети с использованием ограниченной машины Больцмана

Время на прочтение9 мин
Охват и читатели56K
Привет. Как и планировалось в прошлом посте об ограниченных машинах Больцмана, в этом будет рассмотрено применение RBM для предобучения обыкновенной многослойной сети прямого распространения. Такая сеть обычно обучается алгоритмом обратного распространения ошибки, который зависит от многих параметров, и пока не существует точного алгоритма выбора этих самых параметров обучения, как и оптимальной архитектуры сети. Разработано множество эвристик, позволяющих сократить пространство поиска, а также методик оценки качества выбранных параметров (например, кросс-валидация). Мало того, оказывается, и сам алгоритм обратного распространения не так уж хорош. Хотя Румельхарт, Хинтон и Вильямс показали сходимость алгоритма обратного распространения (тут еще более математическое доказательство сходимости), но есть небольшой нюанс: алгоритм сходится при бесконечно малых изменениях весов (т.е. при скорости обучения, стремящейся к нулю). И даже это не все. Как правило, этим алгоритмом обучают небольшие сети с одним или двумя скрытыми слоями из-за того, что эффект обучения не доходит до дальних слоев. Далее мы поговорим подробнее о том, почему же не доходит, и применим технику инициализации весов с помощью обученной RBM, которую разработал Джеффри Хинтон.

Читать дальше →

Реализация Restricted Boltzmann machine на c#

Время на прочтение12 мин
Охват и читатели42K
Привет. Закончился курс по нейронным сетям. Хороший курс, но мало практики. Так что в этом посте мы рассмотрим, напишем и протестим ограниченную машину Больцманастохастическую, генеративную модель нейронной сети. Обучим ее, используя алгоритм Contrastive Divergence (CD-k), разработанный профессором Джеффри Хинтоном, который кстати и ведет тот курс. Тестировать мы будем на наборе печатных английских букв. В следующем посте будет рассмотрен один из недостатков алгоритма обратного распространения ошибки и способ первоначальной инициализации весов с помощью машины Больцмана. Кто не боится формулок и простыней текста, прошу под кат.

Читать дальше →

Shuttle и Alfred: быстрый доступ к SSH в OS X

Время на прочтение1 мин
Охват и читатели35K
Если вам, как и мне, время от времени приходится пользоваться SSH, то вы оцените небольшое дополнение для OS X, разработанное Тревором Фитцжеральдом — Shuttle. Оно позволяет повесить быстрый доступ к нужным хостам на иконку в верхней панели.
image
Скачать приложение можно по ссылке http://fitztrev.github.io/shuttle/
Читать дальше →

Стилизация файл-инпутов

Время на прочтение5 мин
Охват и читатели39K
Результат стилизации файл-инпута
Привет. Сегодня я хочу вам рассказать о том, как можно изменить внешний вид файлового инпута.

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

9 признаков того, что не стоит нанимать этого Веб-разработчика

Время на прочтение3 мин
Охват и читатели27K


В феврале 2008 года я написал статью 9 признаков того, что не стоит нанимать этого Веб-разработчика. Этот пост «взорвал» интернет, попав на главную Digg и Reddit, и даже был выбран Кевином Роузом для одного из эпизодов Diggnation. Я был невероятно горд этим постом, ведь он действительно адекватно отображал тип вебмастеров, которых не следовало нанимать.

С тех пор прошло много времени, но это всего лишь значит, что изменились качества, по которым мы оцениваем веб-разработчиков. Под катом список из 9 признаков того, что не стоит нанимать этого веб-разработчика.

Читать дальше →

Не бойтесь велосипедов. Или еще один Grand Central Dispatch (GCD) на C++11

Время на прочтение8 мин
Охват и читатели22K

ИМХО (Имею Мнение Хрен Оспоришь)


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

Читать дальше →

Динамические примеси в PHP

Время на прочтение5 мин
Охват и читатели19K
Начиная с версии 5.4.0, в PHP появится новая конструкция языка — трейты (traits), реализующая возможность использования примеси (mix in). Механизм примесей является еще одним механизмом повторного использования кода и присутствует в том или ином виде в других языках, например, Ruby, Python, Common Lisp, etc.

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

Следует отметить, что реализации примесей в PHP существуют как минимум с версии 4.0.1, и в настоящее время присутствуют, чаще всего под именем behavior, в ряде популярных фреймворков, например, в Yii, Symfony, Doctrine, CakePhp, Propel.

Цель статьи — продемонстрировать и сравнить несколько основных подходов к реализации примесей в PHP до версии 5.4.0, базирующихся только лишь на функциях самого языка и не использующих сторонние расширения, как-то, например, функцию runkit_method_copy из PECL runkit.
Читать дальше →

Сжатие данных при передаче от браузера к серверу

Время на прочтение6 мин
Охват и читатели41K
Обрабатываете много данных в браузере?
Хотите отправлять их обратно на сервер?
Да так, чтобы отправлялось побыстрее и помещалось в один http запрос?

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

Читать дальше →

Тренды в веб-дизайне: плоский интерфейс и длинные тени

Время на прочтение2 мин
Охват и читатели25K
Буквально за несколько недель, с момента показа новой iOS 7, произошел легкий сдвиг в сознании не только у дизайнеров, но и у пользователей, имя ему — плоский дизайн. Этот прием, да, назовем его так, получил шквал критики и восхищения, у него появились сторонники и лютые ненавистники, но сегодня, я постараюсь рассмотреть новый, современный, набирающий огромную популярность подход при проектировании — long shadows (длинные тени).

(P.S. — Все картинки кликабельны).

Что такое длинные тени в дизайне, и как это понимать?

fox icon

iPad Mini

Long Shadows

Читать дальше →

Релиз Phalcon 1.2.0

Время на прочтение7 мин
Охват и читатели5.6K


Мы рады объявить о релизе новой версии Phalcon.

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

Нововведения Phalcon 1.2.0:
  1. Динамические пути для скомпилированных шаблонов Volt
  2. Расширение возможностей Volt
  3. Ссылки для статичных и динамических путей в Phalcon\Mvc\Url
  4. Phalcon\Mvc\View\Simple
  5. Улучшена работа с JSON
  6. Поддержка Many-To-Many в ORM
  7. Работа с виртуальными внешними ключами
  8. Минификация Javascript и CSS
  9. Запрет переменных (литералов) в PHQL
  10. Расширены возможности Partials
  11. Использование Phalcon\Tag как сервиса
  12. Макросы в Volt
  13. BadMethodCallException вместо предупреждений
  14. Компонент отладки

Скачать
Новый девиз
Благодарности

Читать дальше →

Несколько простых запросов вместо одного большого для загрузки связей в ORM

Время на прочтение2 мин
Охват и читатели8.8K
Сразу оговорюсь, это не обучающий пост и не провозглашение новой парадигмы )), скорее решение, к которому я пришел, и хочется его обсудить в широкой и честной дискуссии.
Теперь к сути, представьте, что есть некая ORM, написанная на PHP, в которой описана модель Posts, имеющая связи многие-ко-многим через промежуточные таблицы с другими моделями: Comments, Tags, Categories. Вопрос в том, каким способом лучше поднимать связанные данные, всё сразу или с отложенной загрузкой?
Читать дальше →

Voyeur.js — маленькая и привлекательная библиотека для работы с DOM

Время на прочтение1 мин
Охват и читатели14K
Доброго времени суток уважаемые хабражители. Сегодня увидел один интересный проект на GitHub. Эта маленькая библиотека (Voyeur.min.js — 1.2kb) очень привлекает своим синтаксисом и неплохим функционалом.

image

Даже не переводя документацию с официального сайта, код можно понять интуитивно. По традиции приведу несколько примеров:

Читать дальше →

Поиск похожих проектов на GitHub

Время на прочтение3 мин
Охват и читатели19K
Привет, Друзья!

Гитхаб — прекрасный сайт. Но представьте, что вы нашли проект А, и хотите узнать какие еще существуют похожие проекты. Как быть?

Именно с таким вдохновением уселся я разбирать API GitHub'a. Спустя пару недель свободного времени вот что получилось:



Для большинства проектов находится пара действительно интересных предложений. Вот несколько примеров: angular.js, front end bookmarks, three.js

Основная идея для построения рекомендаций — «Разработчики которые поставили звездочку этому проекту, также поставили звездочку...». А детали идеи, ее недостатки и ссылка на код — ниже.

читайте под катом

Автоматический «текучий интерфейс» и ArrayIterator в PHP-моделях

Время на прочтение7 мин
Охват и читатели11K
Данный способ не претендует на оригинальность, но, как мне кажется, может быть полезен в понимании принципов работы подобных систем (см. например Varien_Object, написанный разработчиками Magento, идея была взята в первую очередь оттуда) и, возможно, будет полезен в проектах, куда не очень хочется подключать тяжелые фреймворки, но уже нужно как-то систематизировать код.

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

jQuery plugin для использования SVG графики. Часть 1

Время на прочтение4 мин
Охват и читатели31K
Для работы с SVG есть очень много библиотек для рисования. Мы рассмотрим плагин для jQuery.
Читать дальше →

Информация

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