Искусственные нейронные сети применяются в различных областях науки: начиная от систем распознавания речи до распознавания вторичной структуры белка, классификации различных видов рака и генной инженерии. Однако, как они работают и чем они хороши?
Ярослав @Elegar
Мобильные игры
Разработка электронного, интерактивного журнала для iPad
4 min
17KХотелось бы на личном опыте поделиться знаниями и методами по созданию интерактивных журналов для iPad.
Где-то в конце 2010 года ко мне обратились с заказом реализовать приложение, которое бы позволяло перевести печатную продукцию издательств (журналы, книги, брошюры) в электронный формат для удобного чтения на iPad. После долгих разговоров и уточнений, финальная задача технического задания была сформулирована так:
Создать приложение для iPad, которое является магазином электронных журналов. Пользователь, пройдя несложную регистрацию, пополнив баланс до необходимой суммы, мог скачать доступный электронный журнал и просмотреть его. Журнал должен быть интерактивным, то есть в нем были функции просмотра набора слайдов, вращения, видео, аудио, увеличения шрифта, добавления закладок, красивой анимации для пролистывания страниц и еще список вещей в том же духе. Исходный журнал представлял из себя чистую pdf, поступающую на прямую из издательства.
Где-то в конце 2010 года ко мне обратились с заказом реализовать приложение, которое бы позволяло перевести печатную продукцию издательств (журналы, книги, брошюры) в электронный формат для удобного чтения на iPad. После долгих разговоров и уточнений, финальная задача технического задания была сформулирована так:
Создать приложение для iPad, которое является магазином электронных журналов. Пользователь, пройдя несложную регистрацию, пополнив баланс до необходимой суммы, мог скачать доступный электронный журнал и просмотреть его. Журнал должен быть интерактивным, то есть в нем были функции просмотра набора слайдов, вращения, видео, аудио, увеличения шрифта, добавления закладок, красивой анимации для пролистывания страниц и еще список вещей в том же духе. Исходный журнал представлял из себя чистую pdf, поступающую на прямую из издательства.
+19
Как на самом деле работает mod_rewrite. Пособие для продолжающих
17 min
279KЭта статья выросла из идеи продвинутого обучения наших сотрудников технической поддержки работе с mod_rewrite. Практика показала, что после изучения имеющихся в большом количестве учебников на русском языке саппортам хорошо дается решение шаблонных задач, но вот самостоятельное составление правил происходит методом проб и большого количества ошибок. Проблема заключается в том, что для хорошего понимания работы mod_rewrite требуется изучение оригинальной англоязычной документации, после чего — либо дополнительные разъяснения, либо часы экспериментов с RewriteLog.
В статье изложен механизм работы mod_rewrite. Понимание принципов его работы позволяет четко осознавать действие каждой директивы и ясно представлять себе, что происходит в тот или иной момент внутри mod_rewrite при обработке директив.
Я предполагаю, что читатель уже знаком с тем, что такое mod_rewrite, и не буду описывать его основы, которые легко найти в интернете. Также нужно отметить, что в статье освещается работа mod_rewrite при использовании его директив в файле .htaccess. Отличия при работе в контексте <VirtualHost> изложены в конце статьи.
Итак, вы изучили mod_rewrite, составили несколько RewriteRule и успели столкнуться с бесконечными перенаправлениями, со случаем, когда правило почему-то не ловит ваш запрос, а также с непредсказуемой работой группы правил, когда последующее правило неожиданно изменяет запрос, кропотливо подготовленный правилами предыдущими.
Почему так происходит?
+198
Вавилонская Башня
4 min
1.3KДамы и господа!
Компания «Oldschool Infundibulum Software» представляет вашему вниманию игру с гордым названием «Вавилонская Башня»!
Для тех, кому надоело работать, или кто хочет сразу увидеть, о чем речь, вот ссылка(работает только в Хроме и ФФ): elegar.ru/tower
Для тех, кому читать не лень — весь нижеследующий текст.
Компания «Oldschool Infundibulum Software» представляет вашему вниманию игру с гордым названием «Вавилонская Башня»!
Для тех, кому надоело работать, или кто хочет сразу увидеть, о чем речь, вот ссылка(работает только в Хроме и ФФ): elegar.ru/tower
Для тех, кому читать не лень — весь нижеследующий текст.
+56
Влияние сохранение и загрузки игрового состояния на игровой процесс
5 min
7.3KВведение
Несмотря на то, что функция сохранения (save) и загрузки (load) игрового состояния (game state) относится скорее к системному функционалу, в определённых случаях их можно рассматривать и в разрезе игрового дизайна, как влияющие на механику игрового процесса.
Главное, что можно сказать об этих функциях это то, что они непосредственно влияют на способности принимать правильные решения, без получения штрафов (penalties). В полной мере контролируя эти функции игрок может идеально пройти всю игру, не получив ни одного повреждения, ни потеряв ни одной жизни, копейки денег и тому подобное. Таким образом можно сказать, что сохранение и загрузка влияют как на сложность, нивелируя все опасности и штрафы, так и на эффективность, если игра ведётся на время и состояние времени также сохраняется и восстанавливается.
Кроме того, сохранение и загрузка позволяет в принципе избежать такого состояния как проигрыш (game over). Имеется ввиду, конечно, не проваленная попытка, а невозможность выиграть, не начиная сначала. От смерти в результате падения в яму сохранение и загрузка не спасают.
+38
IPO for dummies. Часть VI: сложности выбора — два Lamborghini Gallardo или один Aventador?
6 min
2.5KНачало и оглавление см. в первой части.
Итак, моя компания вышла на IPO. Теперь я, как основатель, могу наконец-то сбросить свои акции и купить Lamborghini Gallardo! Да, я помню, что их придётся продавать «ниже рынка», но уж очень хочется прокатить Тамарку с пятого этажа на красивой спортивной машинке…
Ты весь бизнес затеял ради наживы, что ли?
(Возмущённо) Ради чего затеял — моё дело. Продам акции, куплю тачку-яхту-остров, буду наслаждаться, а дальше хоть трава не расти!
«Трава не расти», говоришь? Я правильно понимаю, что ты, основатель, хочешь выйти из бизнеса и забросить его?
У меня для тебя неприятная новость.
Итак, моя компания вышла на IPO. Теперь я, как основатель, могу наконец-то сбросить свои акции и купить Lamborghini Gallardo! Да, я помню, что их придётся продавать «ниже рынка», но уж очень хочется прокатить Тамарку с пятого этажа на красивой спортивной машинке…
Ты весь бизнес затеял ради наживы, что ли?
(Возмущённо) Ради чего затеял — моё дело. Продам акции, куплю тачку-яхту-остров, буду наслаждаться, а дальше хоть трава не расти!
«Трава не расти», говоришь? Я правильно понимаю, что ты, основатель, хочешь выйти из бизнеса и забросить его?
У меня для тебя неприятная новость.
+143
Социальные цели
2 min
1.4KЯ уже описывал свой стартап на хабре. 42гола — это простой инструмент для учета личных целей. Мы постепенно развиваемся, медленно, но верно набираем активных пользователей. Яндекс нас пока не покупает, да и гугл почему-то молча стоит в стороне. Наконец, посмотрев “Социальную сеть”, и, затарившись холодного пива в зеленых бутылочках, было принято решение как захватить мир нашим стартапом. Вот что из этого получилось:
+73
FAQ по Canvas: задавайте вопросы
1 min
3.3KПривет всем! Часто в комментах и в личке возникают вопросы на счёт Javascript Canvas.
У большинства даже если и есть теоретические знания — банально не хватает опыта.
У меня этот опыт есть. Потому в этой теме предлагаю задать вопросы по Canvas, на которые я отвечу следующим топиком.
Если нету реги на Хабре — можете скинуть свои вопросы на shocksilien@gmail.com, я добавлю его в топик.
Изначально хотел кинуть в q&a, но количество и качество вопросов в комментах к этому топику положительно скажется на качестве следующего топика, так что рассчитываю на вашу поддержку)
ps. Не стесняйтесь задавать те вопросы, которые вы считаете глупыми. Если они вас интересуют — задайте их.
pps. Я буду задавать уточняющие вопросы. Например «для каких целей?». Это не значит, что вопрос — неправильный. Это значит, что, зависимо от цели, могут быть разные решения.
У большинства даже если и есть теоретические знания — банально не хватает опыта.
У меня этот опыт есть. Потому в этой теме предлагаю задать вопросы по Canvas, на которые я отвечу следующим топиком.
Если нету реги на Хабре — можете скинуть свои вопросы на shocksilien@gmail.com, я добавлю его в топик.
Изначально хотел кинуть в q&a, но количество и качество вопросов в комментах к этому топику положительно скажется на качестве следующего топика, так что рассчитываю на вашу поддержку)
ps. Не стесняйтесь задавать те вопросы, которые вы считаете глупыми. Если они вас интересуют — задайте их.
pps. Я буду задавать уточняющие вопросы. Например «для каких целей?». Это не значит, что вопрос — неправильный. Это значит, что, зависимо от цели, могут быть разные решения.
Ответы
+46
Обзор плагинов ++
2 min
3.4KОчередной топик с обзором нескольких интересных плагинов jQuery.
Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.).
Узнать больше (англ.) | Посмотреть в действии
Mobily Map
Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.).
Узнать больше (англ.) | Посмотреть в действии
+134
CANVAS шаг за шагом: Основы
6 min
534KTutorial
CANVAS шаг за шагом:
Если верить англо-русскому словарю, то можно узнать что canvas переводится как холст, а если верить википедии, то можно узнать что тег canvas, это элемент HTML 5, который предназначен для создания растрового изображения при помощи JavaScript. Тому как создать это растровое изображение и будет посвящен мой небольшой текст. Прежде чем начинать пробовать свои силы в этом не легком деле рекомендуется уже иметь базовые знания о том что такое HTML и с чем едят JavaScript.
Если верить англо-русскому словарю, то можно узнать что canvas переводится как холст, а если верить википедии, то можно узнать что тег canvas, это элемент HTML 5, который предназначен для создания растрового изображения при помощи JavaScript. Тому как создать это растровое изображение и будет посвящен мой небольшой текст. Прежде чем начинать пробовать свои силы в этом не легком деле рекомендуется уже иметь базовые знания о том что такое HTML и с чем едят JavaScript.
+80
Питерский Startup Weekend — бизнес в обмен на технологию
2 min
3K 15-17 апреля в Сенкт-Петербурге мы проведем второй Питерский Startup Weekend.
И у нас отличная новость — теперь на Уикенд можно приходить не только с готовой идеей. Если у вас есть технология, но вы понятия не имеете, что с ней делать – наши эксперты придумают, как вам ее применить и реализовать в собственном проекте.
Теперь на Укенде мы ждем участников с продуманными идеями, с голыми технологическими решениями, с приложениями для социальных сетей и с прототипами сервисов.
И у нас отличная новость — теперь на Уикенд можно приходить не только с готовой идеей. Если у вас есть технология, но вы понятия не имеете, что с ней делать – наши эксперты придумают, как вам ее применить и реализовать в собственном проекте.
Теперь на Укенде мы ждем участников с продуманными идеями, с голыми технологическими решениями, с приложениями для социальных сетей и с прототипами сервисов.
+13
JS1k — пишем отличное веб приложение в 1024 байт
7 min
3.5KУже второй год я участвую в JS1k, в прошлом году был пробный скрипт, сейчас я решил подойти основательно. Приложения я уже написал и отправил. В статье я хочу поделиться своим опытом: как стоит писать приложение для JS1k, чем сжимать, как сократить код в 4 раза и вообще как впихнуть что-то интересное в 1 Кб.
Тема текущего JS1k "Oregon Trail" — классическая игра для Apple II (что это можно нагуглить). Поэтому рекомендуется написать что-то в этом духе, но это не обязательно.
Начало
Вам необходимо придумать небольшое приложение или демку, которое по вашему мнению может влезть в 1кб (продумать детали и управление). Если вы сомневаетесь в своих прикидках, то можно посмотреть, что впихнули в прошлом году: Legend Of The Bouncing Beholder, Tiny chess. Прочитайте правила и используйте html шаблон — тогда ваше приложение будет 100% работать в демо среде.
Начните писать скрипт, без каких-либо оптимизаций, но следите за его размером. Если он стал больше 4-5Кб — вам стоит придумать другую тему или в будущем придется попотеть (у меня было 4393 байт).
+56
Ленишься? Плати!
1 min
1.2KКак много решений вы приняли, но так и не выполнили? Как иного раз вы говорили себе, что пойдете в спортзал, займетесь изучением иностранного языка?
Вероятно, очень много раз.
Но если бы на кону был ваш счет в банке, увеличилось бы количество исполненных задач? Несколько новых компаний уверены, что вы скажете «да».
Они, буквально, делают на это ставку. Последняя потрясающая бизнес-схема, как сочетание денежного долга и совести.
StickK.com — «интернет-магазин обязательств», который задает цену вашим целям. Если вы их не достигаете, с вашего банковского счета взимаются деньги и перечисляются в благотворительную организацию по вашему выбору.
Вот как это работает:
Записываете ваши цели на StickK, выбираете друга в качестве «поручителя», который может отследить достижение вами цели, выбераете дату, к которой цель должна быть выполнена. Сделайте ставку, выберите любимую благотворительную организацию. Все!
Если вы не сможете достичь цели вовремя, ставка из вашего банковского счет уйдет к благотворителям
Уже более 63 тысяч контрактов на StickK, а это более $5.9 млн. ставок. Побродите по сайту и вы найдете не только многолетние самозадачи о занятиях спортом и экономности в быту, но и «больше не знакомиться с неудачниками», «бросить пить Dr Pepper» и «говорить медленнее для иностранцев в Нью-Йорке»
Идея на миллион долларов? Уверен, что да — как для StickK, так и для благотворительных организаций.
by NYT
Вероятно, очень много раз.
Но если бы на кону был ваш счет в банке, увеличилось бы количество исполненных задач? Несколько новых компаний уверены, что вы скажете «да».
Они, буквально, делают на это ставку. Последняя потрясающая бизнес-схема, как сочетание денежного долга и совести.
StickK.com — «интернет-магазин обязательств», который задает цену вашим целям. Если вы их не достигаете, с вашего банковского счета взимаются деньги и перечисляются в благотворительную организацию по вашему выбору.
Вот как это работает:
Записываете ваши цели на StickK, выбираете друга в качестве «поручителя», который может отследить достижение вами цели, выбераете дату, к которой цель должна быть выполнена. Сделайте ставку, выберите любимую благотворительную организацию. Все!
Если вы не сможете достичь цели вовремя, ставка из вашего банковского счет уйдет к благотворителям
Уже более 63 тысяч контрактов на StickK, а это более $5.9 млн. ставок. Побродите по сайту и вы найдете не только многолетние самозадачи о занятиях спортом и экономности в быту, но и «больше не знакомиться с неудачниками», «бросить пить Dr Pepper» и «говорить медленнее для иностранцев в Нью-Йорке»
Идея на миллион долларов? Уверен, что да — как для StickK, так и для благотворительных организаций.
by NYT
+71
Обфускация JavaScript
5 min
196KВ статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.
Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
Они превращают существующий код
В какой-то такой вид:
Или такой:
Или вот такой:
Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.
Все это были цветочки под катом жесткие методы обфускации.
Первый способ
Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
Они превращают существующий код
function MyClass(){
this.foo = function(argument1, argument2){
var addedArgs = parseInt(argument1)+parseInt(argument2);
return addedArgs;
}
var anonymousInnerFunction = function(){
// do stuff here!
}
}
В какой-то такой вид:
function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};
Или такой:
var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;
Или вот такой:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))
Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.
Все это были цветочки под катом жесткие методы обфускации.
+159
Unity3d и развеивание некоторых мифов
8 min
94KНедавно я прочитал очередную статью про Unity3d на Хабре, в очередной раз были интересные комментарии — и грамотные, и грамотные не совсем.
Я вдохновился и решил немного прокомментировать происходящее.
Надеюсь, кто-нибудь почерпнет для себя здесь что-то новое и интересное.
Я вдохновился и решил немного прокомментировать происходящее.
Надеюсь, кто-нибудь почерпнет для себя здесь что-то новое и интересное.
+63
Unity3D для начинающих — Туториал 1
10 min
573KПредисловие
Хабралюди проявили некоторый интерес к Unity, поэтому открываю этим постом цикл туториалов, освещающих основные моменты работы с объектом (цикл неопределённой пока длительности — если кому окажется полезным продолжу).
Сразу говорю — чтобы снизить порог вхождения, рассказывать буду с рассчетом на людей, которые в жизни никогда ничем подобным не занимались. Так как самым простым в реализации основной функциональности будет сделать простенький шутер, с него и начнем. В этом уроке мы поговорим о том, как создать землю, небо, управляемого персонажа, о камере, через которую мы будем смотреть на небо и солнце и немного о стрельбе красными шарами по белым кубам. Итак,
+99
Об управлении временем, саморазвитии и деньгах
8 min
13KЯ хочу рассказать о том, почему в отдельности не работают подходы, которые люди начинают применять, прочитав ту или иную книгу из области time-management или управления финансами.
Вся суть заключается в том, что указанные книги зачастую предоставляют лишь готовый инструмент, который, однако, подходит далеко не каждому. А чтобы применить инструмент, сначала нужно обучиться основам дела, за которое вы собираете браться.
Вот, например, езда на автомобиле. Сначала человек меняет свои привычки, установки, доводит до автоматизма простые действия. Затем сдает экзамен, и только потом выезжает на дорогу и начинает набирать настоящий опыт, в процессе которого и становится мастером.
А когда мы говорим об управлении временем, часто случается следующее. Человек прочитал одну книгу, один день попробовал вести хронометраж — бросил, лениво. Написал план на неделю, месяц, год, и ни разу их не открыл. На следующий день писал план первые три дня, а потом забросил — ибо ничего не успевал.
Или с деньгами.
Вся суть заключается в том, что указанные книги зачастую предоставляют лишь готовый инструмент, который, однако, подходит далеко не каждому. А чтобы применить инструмент, сначала нужно обучиться основам дела, за которое вы собираете браться.
Вот, например, езда на автомобиле. Сначала человек меняет свои привычки, установки, доводит до автоматизма простые действия. Затем сдает экзамен, и только потом выезжает на дорогу и начинает набирать настоящий опыт, в процессе которого и становится мастером.
А когда мы говорим об управлении временем, часто случается следующее. Человек прочитал одну книгу, один день попробовал вести хронометраж — бросил, лениво. Написал план на неделю, месяц, год, и ни разу их не открыл. На следующий день писал план первые три дня, а потом забросил — ибо ничего не успевал.
Или с деньгами.
+98
Инструментарий веб-разработчика под мобильные устройства
2 min
11KС каждым днем количество веб-сайтов и сервисов под мобильные платформы становится все больше и больше. Я уже как то писал про эмуляторы, а сейчас хочу представить несколько полезных инструментов, начиная от самых простых, показывающих как будет сайт выглядеть на том или ином устройстве, заканчивая различными оптимизаторами контента.
+60
5 способов, которыми игры пытаются вызвать зависимость
10 min
189KTranslation
Итак, в новостях снова пишут, что кто-то еще умер из-за игромании. Да, опять Корея.
Какого ...? послушайте, я не пытаюсь доказать что видео игры — это героин. Я полностью понимаю, что в данном случае у жертвы было много проблем в жизни. Но, половина из вас знает что World of Warcraft затягивает и что доктора считают игровую зависимость серьёзной проблемой. А вопрос вот в чем: может быть какие-то игры намеренно разрабатывались, чтобы заставлять вас играть в них, даже если вы не получаете от этого удовольствия?
Какого ...? послушайте, я не пытаюсь доказать что видео игры — это героин. Я полностью понимаю, что в данном случае у жертвы было много проблем в жизни. Но, половина из вас знает что World of Warcraft затягивает и что доктора считают игровую зависимость серьёзной проблемой. А вопрос вот в чем: может быть какие-то игры намеренно разрабатывались, чтобы заставлять вас играть в них, даже если вы не получаете от этого удовольствия?
+270
Information
- Rating
- 6,252-nd
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Registered
- Activity