В последнее время на Хабре появилось, а также существует много содержательных статей, описывающих работу и принцип понятия “нейронная сеть”, но, к сожалению, как всегда очень мало описания и разбора полученных практических результатов или их не получения. Я думаю, что многим, как и мне удобней, проще и понятней разбираться на реальном примере. Поэтому в данной статье постараюсь описать почти пошаговое решение задачи распознавания букв латинского алфавита + пример для самостоятельного исследования. Распознавание цифр с помощью однослойного персептрона уже сделано, теперь давайте еще разберёмся и научим компьютер распознавать буквы.
Антон Паймышев @nons
Пользователь
6 уроков дизайна от Apple Store
5 min
5.6KTranslation
Здесь, в Сан-Франциско, фанаты Apple празднуют долгожданное открытие Apple Store. (Конечно, уже несколько месяцев есть магазин за Заливом, но это совсем другое). Как новейший из пяти ведущих магазинов, «Apple Store — Сан-Франциско» отражает последние мысли компании о том, как перевести уникальность бренда с программных и «железных» продуктов на впечатления пользователей от покупки товаров.
Существует большое количество идей, применяемых в Apple Store, которые можно использовать в дизайне различных продуктов, а также несколько уроков, которые мы можем вынести из ошибок Apple.
1. Создавайте впечатление, а не продукт
Уговорить посетителя подняться на второй этаж — задача, от решения которой большинство розничных магазинов давно отказалось. Apple Store принимает вызов буквально, делая центром магазина лестницу — по-настоящему классную лестницу. Трудно устоять перед соблазном поставить ногу на первую, полностью стеклянную ступень. Как только вы на ней окажетесь, вы сможете различить демонстрационный кинотеатр в конце лестницы. Следующее, что произойдет — вы обнаружите себя на верхнем этаже еще до того, как вы закончили (или начали) с первым.Вниманием к полю зрения покупателя пронизан весь магазин. Единственная вещь, скрытая от глаз, когда вы входите — это кассовый аппарат. Это больше похоже на прогулку по музею, в котором предметы можно трогать руками, чем на посещение магазина. Естественно, Apple хочет продать продукт, но их главная цель — сделать так, чтобы вы захотели продукт. И это желание начнется с вашего впечатления от продукции в магазине.
+80
Применение игровой механики в социальных медиа
3 min
1.2KTranslation
Игровые элементы являются необходимой частью любого проекта в области социальных медиа. Человеческое общество полностью основано на играх (карьера, война, флирт, судебный процесс — эти и многие другие жизненные явления можно рассматривать как особые игры со своими участниками, местом действия и чёткими правилами), поэтому и в социальных сетях очень важно дать людям игровой инструментарий, который так важен для нас. Это могут быть разнообразные рейтинги, механизм кармы, очки за статус и другие численные параметры для накапливания и сравнения пользователей друг с другом. Американский интернет-предприниматель Питер Ким в своём блоге рассказывает, как работает игровая механика в социальных медиа.
Всем нравятся игры: кому-то простые, как солитер, кому-то сложные, как World of Warcraft. Если вы думаете, что игры — это несерьёзно, то подумайте ещё раз. Они помогают нам достичь совершенства во многих вещах, простых, вроде охоты на зверя, и сложных, вроде обучения хирургов или помощи пострадавшим от стихийного бедствия. Но, как и во всём, здесь важна умеренность, ведь некоторые люди умирали, когда слишком увлекались играми.
Люди попадают в ловушку эгоизма, если они слишком увлекаются игровыми элементами в социальных сетях и фокусируются именно на аспектах игры, а не на контенте и смысле своих действий.
Вот как работает игровая механика.
Всем нравятся игры: кому-то простые, как солитер, кому-то сложные, как World of Warcraft. Если вы думаете, что игры — это несерьёзно, то подумайте ещё раз. Они помогают нам достичь совершенства во многих вещах, простых, вроде охоты на зверя, и сложных, вроде обучения хирургов или помощи пострадавшим от стихийного бедствия. Но, как и во всём, здесь важна умеренность, ведь некоторые люди умирали, когда слишком увлекались играми.
Люди попадают в ловушку эгоизма, если они слишком увлекаются игровыми элементами в социальных сетях и фокусируются именно на аспектах игры, а не на контенте и смысле своих действий.
Вот как работает игровая механика.
+15
Типы знаний программиста и как их улучшать
3 min
1.5KTranslation
Давайте опишем типы знаний и как они развиваются в мозгу программиста. Существуют три типа знаний:
- Концептуальные (почему?, что?, если? — т.е. семантика) — понимание концепций, принципов, отношений и основных подходов к разработке программных систем. Этот тип знаний обосновывает почему архитектура приложения или алгоритм должны быть написаны определённым образом, каковы альтернативы и почему выбранный вариант — лучший с логической точки зрения. Концептуальные знания дают широкое видение и понимание того, что стоит за решение конкретных проблем в данной задаче.
Применение: находите более качественные решения для сложных проблем
Приобретение: изучение компьютерных и околокомпьютерных наук, концепций проектирования и программирования; создание своих собственных теорий, основанных на практике и опыте. - Практические (как? — т.е. процедура) — знание того, как решать конкретную проблему в программировании. Это не требует глубокого понимания концепций и теории, стоящих за выбором конкретного способа воплощения.
Применение: быстрое решение проблем с помощью хорошо себя зарекомендовавших и проверенных решение без изобретения «велосипедов» с нуля.
Приобретение: поиск существующих решений, обучение на примерах или переиспользование своих решений.
- Опытные (включая интуицию) — внутреннее индивидуальное знание, которое формируется со временем в процессе разработки. Этот тип знаний позволяет синтезировать и органично использовать два предыдущих типа знаний, принимая оптимальные решения, а также оценивая получаемые концептуальные и практические знания. Его сложно передать другому человеку, так как немалая его часть находится на уровне подсознания.
Применение: используйте свой опыт и интуицию для принятия лучших решений.
Приобретение: разрабатывайте программы и делайте выводы из результатов
+43
37signals: Почему мы забили на Photoshop
3 min
2.6KTranslation
Это перевод статьи «Why we skip Photoshop» Джейсона Фрайда (Jason Fried) из 37signals
При разработке UI мы обычно переходим от бумажного наброска сразу к HTML/CSS. Разработку макета в Photoshop мы пропускаем.
+128
Современный подход к визуальной идентификации бренда
16 min
25KПрирода тенденций * Мир стал другим * Матерные слова * Прощай, привычный логотип * Сквозная система визуальной идентификации — что это? * Решительное «нет» хиромантии * Открытый для фантазии * Учимся понимать клиента
+70
+102
Схема продвижения сайта
1 min
1.7KСпустя некоторое время публикую 2 версию схемы. Если вам есть что добавить — с удовольствием жду от вас комментариев!
Оригинал по ссылке: extrastat.ru/scheme2.gif
Оригинал по ссылке: extrastat.ru/scheme2.gif
+29
Азбука хорошего разработчика. Книжки для чтения
2 min
3.4KЧасто разработчиков нужно направить, поскольку они не имеют понятия о том, что им нужно изучить для повышения своего уровня. В этой заметке я опишу источники знаний, в моем понимании, необходимые для этой цели. Пишу в порядке, в котором я их предлагаю читать.
Паттерны проектирования
Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.
Рефакторинг
«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
Паттерны проектирования
Википедия — там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» — читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.
Рефакторинг
«Рефакторинг. Улучшение существующего кода» — вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.
+71
Виртуальные путешествия: фото-картографические-mashup'ы
2 min
734Летом большинство людей находятся в одном из трех состояний: планируют отпуск, находятся в отпуске или вернулись из отпуска. Есть правда и те, кому об отпуске приходится только мечтать. Однако для всех категорий однозначно полезным является идея совместить карты от Google или Yahoo c фотосайтами, привязав каждый снимок к месту, в котором он сделан — собирающиеся в путешествие могут заранее сориентироваться на месте, вернувшиеся получают возможность составить фото-маршрут своей поездки, а те, кто только мечтает куда-то попасть: увидеть фотографии вожделенных места. Ниже пойдет речь о наиболее популярных мэшапах в этой области.
+5
Кастомные социальные кнопки
5 min
74KНедавно участвовал в разработке одного проекта — фото конкурса. По задумке, рейтинг фото альбомов должен формироваться из суммы всех публикаций в социальных сетях: Facebook, Вконтакте, Twitter. Т.е. общий рейтинг фотоальбома расчитывается:
На макетах, вид кнопок несколько отличался от предоставляемых социальными сетями плагинов, формируемых функциями api. В частности вид счетчиков:
Помимо несоответствий с дизайном, каждый плагин формирует излишний хтмл код, а хотелось бы лаконичный.
Детальнее ознакомившись с api каждой сети, окончательно убедились в отсутствии расширенных возможностей для кастомизации кнопок и этот факт понять можно, все стремятся к единоборазности своих кнопок. Решили отказаться от использования готовых плагинов и сделать свои кнопки.
Итак:
Рейтинг фотоальбома = кол-во «Share» в Facebook + кол-во «Сохранить» в Вконтакте + кол-во «Retweet» в Twitter
На макетах, вид кнопок несколько отличался от предоставляемых социальными сетями плагинов, формируемых функциями api. В частности вид счетчиков:
Помимо несоответствий с дизайном, каждый плагин формирует излишний хтмл код, а хотелось бы лаконичный.
Детальнее ознакомившись с api каждой сети, окончательно убедились в отсутствии расширенных возможностей для кастомизации кнопок и этот факт понять можно, все стремятся к единоборазности своих кнопок. Решили отказаться от использования готовых плагинов и сделать свои кнопки.
Итак:
- количество лайков будем получать от REST сервисов каждой социалки
- кнопки рисуем свои и обрабатываем событие click
+89
Интеграция с ВКонтакте на базе Open API
8 min
47KСоциальная сеть ВКонтакте предоставляет широкие возможности для интеграции со сторонними сайтами. В основном эти возможности представлены уже готовыми виджетами. Однако, есть еще и Open API, которое позволяет не только авторизовать пользователя, но и выполнить любой метод, доступный приложениям ВКонтакте (ВКонтакте API).
+69
Создание простого доступа к ресурсам из ZF контроллера
5 min
500Было бы очень хорошо иметь возможность доступа к загружаемым в bootstrap ресурсам из контроллеров приложения. Например, я хотел бы получить доступ к «DB» ресурсу из контроллера следующим образом $this->db;
Для этого напишем Action Helper, который будет загружать определенные ресурсы в контроллер приложения:
и инициализируем его в bootstrap:
Код выше, создаст ссылки на ресурсы: db, layout и navigation. Это значит, что теперь вы можете получить к ним прямой доступ из контроллеров.
Этото решение ведет к некоторому упрощению — теперь нет необходимости вытягивать bootstrap из объекта инициализации, а потом вытягивать ресурс.
Но, у этого решения есть несколько проблем: Откуда мы знаем, какие ресурсы были связаны с контроллером? Как мы можем это контролировать?
Отсюда, вытекает решение создать пул необходимых ресурсов для контроллера.
Для этого напишем Action Helper, который будет загружать определенные ресурсы в контроллер приложения:
class My_ResourceInjector extends Zend_Controller_Action_Helper_Abstract
{
protected $_resources;
public function __construct(array $resources = array())
{
$this->_resources = $resources;
}
public function preDispatch()
{
$bootstrap = $this->getBootstrap();
$controller = $this->getActionController();
foreach ($this->_resources as $name) {
if ($bootstrap->hasResource($name)) {
$controller->$name = $bootstrap->getResource($name);
}
}
}
public function getBootstrap()
{
return $this->getFrontController()->getParam('bootstrap');
}
}
* This source code was highlighted with Source Code Highlighter.
и инициализируем его в bootstrap:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initResourceInjector()
{
Zend_Controller_Action_HelperBroker::addHelper(
new My_ResourceInjector(array(
'db',
'layout',
'navigation',
));
);
}
}
* This source code was highlighted with Source Code Highlighter.
Код выше, создаст ссылки на ресурсы: db, layout и navigation. Это значит, что теперь вы можете получить к ним прямой доступ из контроллеров.
class FooController extends Zend_Controller_Action
{
public function barAction()
{
$this->layout->disableLayout();
$model = $this->getModel();
$model->setDbAdapter($this->db);
$this->view->assign(
'model' => $this->model,
'navigation' => $this->navigation,
);
}
// ...
}
* This source code was highlighted with Source Code Highlighter.
Этото решение ведет к некоторому упрощению — теперь нет необходимости вытягивать bootstrap из объекта инициализации, а потом вытягивать ресурс.
Но, у этого решения есть несколько проблем: Откуда мы знаем, какие ресурсы были связаны с контроллером? Как мы можем это контролировать?
Отсюда, вытекает решение создать пул необходимых ресурсов для контроллера.
0
Мастерство целевого использования ключевых слов и оптимизации страниц
8 min
7.9KTranslation
Пост опубликован по просьбе одного хорошего человека.
Если вы СЕОшник (SEO оптимизатор), то этот вопрос вы часто слышите. К сожалению, однозначного ответа нет. Но, тем не менее, существует набор полезных приемов, которые помогут приблизиться к ответу на этот вопрос. В данном посте я поделюсь нашими лучшими рекомендациями для достижения «совершенства» оптимизации страницы и расположения ключевых слов. Или, по крайней мере, что-то близкое к этому. Некоторые из наших советов подтверждены данными, результатами исследований и тестирований, другие основаны на интуиции и общем опыте. Как и со всеми СЕО советами, мы рекомендуем постоянное тестирование и оттачивание, ну а данный пост поможет вам начать процесс оптимизации.
Как создать максимально оптимизированную веб-страницу?
Если вы СЕОшник (SEO оптимизатор), то этот вопрос вы часто слышите. К сожалению, однозначного ответа нет. Но, тем не менее, существует набор полезных приемов, которые помогут приблизиться к ответу на этот вопрос. В данном посте я поделюсь нашими лучшими рекомендациями для достижения «совершенства» оптимизации страницы и расположения ключевых слов. Или, по крайней мере, что-то близкое к этому. Некоторые из наших советов подтверждены данными, результатами исследований и тестирований, другие основаны на интуиции и общем опыте. Как и со всеми СЕО советами, мы рекомендуем постоянное тестирование и оттачивание, ну а данный пост поможет вам начать процесс оптимизации.
+53
Подключение Paypal
7 min
6KВобщем поставили передо мной на работе задачу организовать прием платежей в наш проект через Paypal. От меня требовалось дать все необходимые данные для настройки аккаунта (сам аккаунт настраивался другим человеком), ну и, собственно, написать скрипт, который и будет принимать данные от paypal-а и начислять деньги юзерам.
Ничего толкового по этой теме на хабре я не нашел. Пришлось разбираться со всем самому. Ниже – результаты этих разбирательств:)
Ничего толкового по этой теме на хабре я не нашел. Пришлось разбираться со всем самому. Ниже – результаты этих разбирательств:)
+33
Зумер
6 min
4.4KПомню, как в детстве мама рассказала мне, что когда-нибудь наше Солнце погаснет и Земля погибнет. Помню, как жалко мне было людей, и совершенно неутешительно звучали уверения о том, что это будет еще очень-очень нескоро: ведь мои далекие потомки будут жить в это время! Как же так! Они погибнут!
Прошло много лет. Теперь я понимаю, почему не имеет смысла жалеть о своих далеких потомках, которые могут дожить до конца света. И эта статья именно об этом.
Прошло много лет. Теперь я понимаю, почему не имеет смысла жалеть о своих далеких потомках, которые могут дожить до конца света. И эта статья именно об этом.
+265
Технология создания stop motion видео из фотографий
1 min
4.1KВступление
Не так давно смонтировал любительский видео-ролик на основе фотографий, которые делались в режиме фотосессии. Сейчас я узнал, что ролик сделан в русле современного тренда — stop motion видео. Посему расскажу о том, как его делал.
Видео-ролик
Технология создания
+43
Автоматизированный приём webmoney платежей на вашем сайте.
6 min
2.4K0. Вступление
Ни для кого не секрет, что в последнее время webmoney набрало достаточную популярность для того, чтобы стать одним из самых удобных и доступных средств для безналичного расчёта через интернет. Пополнить баланс своего мобильного, оплатить покупку товаров в веб-магазине — всё это можно сделать с помощью webmoney.
Я бы хотел рассказать вам несколько способов, как можно устроить приём оплаты за какие либо товары или услуги на вашем сайте электронной валютой webmoney. Это, кстати, не так сложно, как могло бы показаться на первый взгляд!
Ни для кого не секрет, что в последнее время webmoney набрало достаточную популярность для того, чтобы стать одним из самых удобных и доступных средств для безналичного расчёта через интернет. Пополнить баланс своего мобильного, оплатить покупку товаров в веб-магазине — всё это можно сделать с помощью webmoney.
Я бы хотел рассказать вам несколько способов, как можно устроить приём оплаты за какие либо товары или услуги на вашем сайте электронной валютой webmoney. Это, кстати, не так сложно, как могло бы показаться на первый взгляд!
+38
Проект Электронный Дневник Учащегося в России
3 min
3.9KБыл топик о электронных дневниках в Британии. А теперь уже и у нас фирма КОРУС-консалтинг выкатывает аналогичный проект.
Давайте же посмотрим на реализацию приоритетного национального проекта «Образование».
added
оказывается вчера (21.01.09) уже была презентация этого проекта в лицее №64.
Вот бы услышать мнение инсайдера.
Давайте же посмотрим на реализацию приоритетного национального проекта «Образование».
added
оказывается вчера (21.01.09) уже была презентация этого проекта в лицее №64.
Вот бы услышать мнение инсайдера.
+39
Креативная зарядка для мозга
2 min
1.1KНаверняка читателей блога не имеет смысла кормить общеизвестными истинами про то, что мозг, как и мускулы, поддается тренировке, и что возможность мыслить нешаблонно «от природы» встречается среди людей крайне редко, но зато ее можно развить.
Наша обычная жизнь, как правило, не изобилует маленькими и приятными задачками на креативность, которыми без напряга, но с пользой можно занять мозг.
Но выход есть
Наша обычная жизнь, как правило, не изобилует маленькими и приятными задачками на креативность, которыми без напряга, но с пользой можно занять мозг.
Но выход есть
0
Information
- Rating
- Does not participate
- Location
- Иркутск, Иркутская обл., Россия
- Date of birth
- Registered
- Activity