Всем привет. Я по долгу службы занимаюсь разработкой для Samsung SmartTV. В силу того, что на хабре мало статей на эту тему, я решил это исправить. Кому интересна пошаговая инструкция как сделать свой пинг-понг на «умный телик» с распознованием жестов — милости прошу под кат.
Petr Myazin @PQR
Разработчик
Подборка полезного для любителей Twitter Bootstrap
2 min
250KВ подборке сервисы, плагины, темы и другие полезности, облегчающие работу с Twitter Bootstrap.
BootSwatchr — быстрая стилизация Twitter Bootstrap.

Стилизация
BootSwatchr — быстрая стилизация Twitter Bootstrap.

+238
Изучение Node.js от начала до конца на практике. Часть 1
14 min
93KTutorial
Предыстория
Различной документации по Node.js его модулях огромное количество, всякого рода готовых решений тоже хватает, но начав писать сайт сталкиваешься с проблемой: «А с чего начать?». Хочу вам рассказать свой опыт изучения Node.js на практике. Задача стоит довольно простая и понятная — GPS Трекер с интернет сервисом, отображающим наши передатчики на карте, рисующим маршрут перемещения и т.д., на сколько разгуляется фантазия. Проект не коммерческий и пишется
+55
Оптимизируем производительность JavaScript для V8
6 min
28KTutorial
Translation
Предисловие
Дэниел Клиффорд сделал на Google I/O прекрасный доклад, посвященный особенностям оптимизации кода JavaSсript для движка V8. Дэниел призвал нас стремиться к большей скорости, тщательно анализировать отличия между С++ и JavaScript, и писать код, помня о том, как работает интерпретатор. Я собрал в этой статье резюме самых главных моментов выступления Дэниела, и буду обновлять её по мере того, как движок будет меняться.
+71
Как ускорить загрузку своего сайта при помощи compress.php, который объединит и сожмёт JS + CSS в Gzip
3 min
62K
- Сжать все многочисленные скрипты JS и стили CSS
- Соединить все полученные файлы в один JS и в один CSS
- Сжать полученные два файла в формат GZIP, который понимают почти все браузеры и умеют распаковывать на лету
- Прописать такой .htaccess, который заставляет браузеры кэшировать данные два файла
Всё это будет происходить при запуске единственного скрипта compress.php
Для примера, результат сжатия скриптов моего сайта:
- JS: сжато в gzip 26 698 B, сжато без gzip 95 796 B, было 120 147 B
- CSS: сжато в gzip 46 049 B, сжато без gzip 160 001 B, было 281 870 B
Получается, что экономия трафика составляет 329 270 B. Но основной выигрыш для скорости загрузки в том, что теперь загружается не 14 файлов, а всего 2 (а это намного быстрее, так как браузер не тратит время на запросы). Причём делается это один раз, а не динамически силами самого сервера (тем более, что не все сервера поддерживают подобное конфигурирование сжатия для экономии ресурсов процессора).
В итоге, получится:
<link rel="stylesheet" type="text/css" href="min/styles_1349888114.cssgz" />
<script src="min/all_1349888114.jsgz" /></script>
+24
Оптимизация сложных запросов MySQL
5 min
70KTutorial
Введение
MySQL — весьма противоречивый продукт. С одной стороны, он имеет несравненное преимущество в скорости перед другими базами данных на простейших операциях/запросах. С другой стороны, он имеет настолько неразвитый (если не сказать недоразвитый) оптимизатор, что на сложных запросах проигрывает вчистую.
Прежде всего хотелось бы ограничить круг рассматриваемых проблем оптимизации «широкими» и большими таблицами. Скажем до 10m записей и размером до 20Gb, с большим количеством изменяемых запросов к ним. Если в вашей в таблице много миллионов записей, каждая размером по 100 байт, и пять несложных возможных запросов к ней — это статья не для Вас. NB: Рассматривается движок MySQL innodb/percona — в дальнейшем просто MySQL.
+42
Веб-сериалы: есть ли у них будущее?
5 min
17K
Здесь недавно писали о том, что об IT-шниках почти не снимают фильмов и не пишут книг. Ну, «BOFH», ну, «записки невесты программиста». А фильмы? И вот оказалось, что они есть, просто мало кто о них знает. Их не показывают в кино, и не рекламируют по телевизору, их не переводят на русский язык, но они есть.
Всё началось со «сцены». История, описанная в Как сделать увлекательный кибер-сериал... имела весьма неожиданное продолжение, о котором я сейчас расскажу. За время перевода этого сериала я открыл для себя множество необычных, редких и интересных художественных произведений. Коротко остановлюсь только на тех, что имеют отношение к IT-тематике, и только на сериалах.
Под катом — рассказ о том, как я о них узнал, ссылки и скриншоты.
+14
Понимание ООП в JavaScript [Часть 1]
16 min
339KTutorial
Translation
— Прототипное наследование — это прекрасно
JavaScript — это объектно-ориентированный (ОО) язык, уходящий корнями в язык Self, несмотря на то, что внешне он выглядит как Java. Это обстоятельство делает язык действительно мощным благодаря некоторым приятным особенностям.
Одна из таких особенностей — это реализация прототипного наследования. Этот простой концепт является гибким и мощным. Он позволяет сделать наследование и поведение сущностями первого класса, также как и функции являются объектами первого класса в функциональных языках (включая JavaScript).
К счастью, в ECMAScript 5 появилось множество вещей, которые позволили поставить язык на правильный путь (некоторые из них раскрыты в этой статье). Также будет рассказано о недостатках дизайна JavaScript и будет произведено небольшое сравнение с классической моделью прототипного ОО (включая его достоинства и недостатки).
JavaScript — это объектно-ориентированный (ОО) язык, уходящий корнями в язык Self, несмотря на то, что внешне он выглядит как Java. Это обстоятельство делает язык действительно мощным благодаря некоторым приятным особенностям.
Одна из таких особенностей — это реализация прототипного наследования. Этот простой концепт является гибким и мощным. Он позволяет сделать наследование и поведение сущностями первого класса, также как и функции являются объектами первого класса в функциональных языках (включая JavaScript).
К счастью, в ECMAScript 5 появилось множество вещей, которые позволили поставить язык на правильный путь (некоторые из них раскрыты в этой статье). Также будет рассказано о недостатках дизайна JavaScript и будет произведено небольшое сравнение с классической моделью прототипного ОО (включая его достоинства и недостатки).
+109
Через тернии к Haskell (перевод). 2/2
18 min
46KTutorial

Вторая часть ПЕРЕВОДА короткого и жесткого введения в Haskell. С первой можно ознакомиться здесь
Оригинал здесь
+65
Модульный подход к разработке web-приложений с использованием JavaScript: AMD и RequireJS
3 min
161K
- описание и удовлетворение зависимостей различных частей приложения, необходимость организации подключения зависимостей на серверной стороне;
- экспорт переменных в глобальную область видимости и их коллизия.
Обе эти задачи решаются при использовании подхода Asynchronous Module Definition. Он сводится к описанию модулей функцией define и подключению их с помощью require. На данный момент есть несколько инструментов, реализующих AMD. Я начал своё знакомство с ними с RequireJS и был удивлён, насколько удобно и просто можно описывать зависимости модулей. Расскажу, как это работает, на простом примере.
+44
Что почитать, чтобы повысить свой уровень JavaScript
3 min
99KTranslation
От переводчика: Я думаю многие читали статью Rey Bango — What to Read to Get Up to Speed in JavaScript, но до хабра обсуждение так и не докатилось. Предлагаю закрыть этот пробел и поговорить о хороших книгах, блогах, тренингах и конференциях, посвященных в первую очередь клиентскому JavaScript и клиентской веб-разработке. Чтобы не копипастить оформляю статью в виде перевода.
Сейчас в рассылке JSMentors JavaScript идет обсуждение книг, который стоит прочитать, чтобы улучшить свои знания. Там было много позитивных отзывов и предложений. Я хочу показать вам те книги и интернет-ресурсы, который я считаю важными и которые помогут вам в обучении. На этой странице я перечислил большое количество источников, разделенных по уровням.
Учтите, что некоторый ресурсы могут принадлежать нескольким уровням и охватывают широкие аспекты языка. Если вы считаете, что я что-то упустил, пожалуйста, дополните меня в комментариях.
Не заставляю вас читать все книги, которые предложены ниже. Эти книги я читал на протяжении многих лет и почерпнул в каждой много полезного. Я их распределяю по категориям, чтобы вам было проще работать с ними. Выберите книги, которые подходят вам.
Сейчас в рассылке JSMentors JavaScript идет обсуждение книг, который стоит прочитать, чтобы улучшить свои знания. Там было много позитивных отзывов и предложений. Я хочу показать вам те книги и интернет-ресурсы, который я считаю важными и которые помогут вам в обучении. На этой странице я перечислил большое количество источников, разделенных по уровням.
Учтите, что некоторый ресурсы могут принадлежать нескольким уровням и охватывают широкие аспекты языка. Если вы считаете, что я что-то упустил, пожалуйста, дополните меня в комментариях.
Не заставляю вас читать все книги, которые предложены ниже. Эти книги я читал на протяжении многих лет и почерпнул в каждой много полезного. Я их распределяю по категориям, чтобы вам было проще работать с ними. Выберите книги, которые подходят вам.
+157
Легкая прогулка от функтора через монаду к стрелке
8 min
28K
Давайте совершим прогулку по цепочке Pointed, Functor, Applicative Functor, Monad, Category, Arrow, в процессе которой я попытаюсь показать что все это придумано не для того что бы взорвать мозг, а для решения вполне реальных проблем, притом существующих не только в haskell. Большая часть кода написана на C#, но думаю и без его знания можно будет понять что к чему.
+31
Создание облачного сайта на PHP с SQL Database и его развертывание с помощью Git
8 min
15KTutorial
Translation
Это руководство содержит сведения по созданию веб-сайта PHP Windows Azure с Windows Azure SQL Database и его развертыванию с помощью Git. Предполагается, что на вашем компьютере установлены PHP, SQL Server Express, драйверы Microsoft для SQL Server для PHP, веб-сервер и Git. После выполнения всех действий вы получите веб-сайт PHP с базой данных SQL, работающий на платформе Windows Azure.
Примечание. Для установки и настройки PHP, SQL Server Express, драйверов Microsoft для SQL Server для PHP и служб IIS можно воспользоваться установщиком Microsoft Web Platform Installer.
О чем пойдет речь в данном руководстве:
Следуя инструкциям в этом руководстве, вы создадите простое веб-приложение на языке PHP для регистрации. Это приложение будет размещено на веб-сайте Windows Azure. Снимок экрана готового приложения приведен ниже:
Примечание. Для установки и настройки PHP, SQL Server Express, драйверов Microsoft для SQL Server для PHP и служб IIS можно воспользоваться установщиком Microsoft Web Platform Installer.
О чем пойдет речь в данном руководстве:
- Как создать веб-сайт Windows Azure и базу данных SQL с помощью портала управления (предварительная версия). Поскольку на веб-сайтах Windows Azure технология PHP включена по умолчанию, для выполнения кода PHP никакие особые действия не требуются.
- Как публиковать и повторно публиковать приложения на платформе Windows Azure с помощью Git.
Следуя инструкциям в этом руководстве, вы создадите простое веб-приложение на языке PHP для регистрации. Это приложение будет размещено на веб-сайте Windows Azure. Снимок экрана готового приложения приведен ниже:
+6
Как стереть данные так, чтобы их не смогли восстановить спецслужбы?
5 min
425K
Восстановление и уничтожение данных — две стороны одной медали. Чтобы знать, когда и как можно вернуть себе информацию, надо понимать и как она может быть уничтожена безвозвратно. А в некоторых ситуациях бывает просто необходимо: например, уничтожение корпоративной информации при утилизации оборудования, уничтожение ваших личных данных при передаче диска в пользование друзьям или продаже, а может быть вы раз и навсегда хотите удалить историю переписки с любовницей ;) Считается, что лучшие специалисты по восстановлению данных работают в спецслужбах, поэтому мы сформулировали вопрос именно таким образом: как уничтожить информацию с диска так, чтобы её не восстановили ни копы из отдела «К», ни Q из Джеймса Бонда, ни даже наши специалисты из StoreLab.
+84
Отдаем файлы эффективно с помощью PHP
3 min
286KЕсли Вам потребовалось отдавать файлы не напрямую веб сервером, а с помощью PHP (например для сбора статистики скачиваний), прошу под кат.
+84
Colada — удобная работа с коллекциями
6 min
8.9KColada — библиотека для удобной и безопасной работы с коллекциями в PHP.
Это, прежде всего, работа в объектно-ориентированном стиле (что из коробки в PHP довольно неудобно). Немодифицируемые коллекции, защита от NPE (Null Pointer Exception) при помощи опциональных значений (optional values), любые значения (а не только скаляры) для ключений в map'ах — это всё об этом.
Это, прежде всего, работа в объектно-ориентированном стиле (что из коробки в PHP довольно неудобно). Немодифицируемые коллекции, защита от NPE (Null Pointer Exception) при помощи опциональных значений (optional values), любые значения (а не только скаляры) для ключений в map'ах — это всё об этом.
+29
Коллекции объектов в PHP
7 min
31KНа протяжении последних 5 лет я работаю с PHP. У него есть достаточно разных проблем, но это никогда не мешало создавать отлично работающие продукты.
Не смотря на это, есть ряд вещей, которые выполняются внутри достаточно «криво». Один из вопросов, который постоянно тратил мои нервы, был вопрос работы с множествами объектов с помощью массивом данных.
Не смотря на это, есть ряд вещей, которые выполняются внутри достаточно «криво». Один из вопросов, который постоянно тратил мои нервы, был вопрос работы с множествами объектов с помощью массивом данных.
+95
Производительность: Flash vs JavaScript
3 min
25KЗдравствуйте, я разработчик игр на Flash. Последнее время все больше стало появляться постов про флешокапец, и MustHave JavaScript (дальше JS). Вроде как за JS будущие, и за открытым вебом.
Я долго не рассматривал JS всерьез как платформу для разработки игр. Ведь это интерпретированный язык, и скорость JS оставляет желать лучшего. Но совсем недавно был портирован на JS мой любимый фреймворк для анимации TweenLite. Вместе с этим автор создал тестовый пример показывающий производительность актуальных JS фреймворков: здесь.
Мне стало очень интересно, так как TweenLite JS выдавал неплохие FPS. И тут я решил написать такой же пример для сравнения Flash и JS фреймворков.
Дальше мне стало интересно сравнить FPS этих примеров в разных браузерах, и на разных ОС.
Сам тест — это анимация передвижения, и изменения размеров картинок, при чем можно изменять их количество. Тестовый пример для Flash лежит здесь, исходники примера здесь.
Я долго не рассматривал JS всерьез как платформу для разработки игр. Ведь это интерпретированный язык, и скорость JS оставляет желать лучшего. Но совсем недавно был портирован на JS мой любимый фреймворк для анимации TweenLite. Вместе с этим автор создал тестовый пример показывающий производительность актуальных JS фреймворков: здесь.
Мне стало очень интересно, так как TweenLite JS выдавал неплохие FPS. И тут я решил написать такой же пример для сравнения Flash и JS фреймворков.
Дальше мне стало интересно сравнить FPS этих примеров в разных браузерах, и на разных ОС.
Сам тест — это анимация передвижения, и изменения размеров картинок, при чем можно изменять их количество. Тестовый пример для Flash лежит здесь, исходники примера здесь.
+42
Работа vs Фриланс vs Бизнес
4 min
102K
На Хабре присутствует довольно много бизнесменов, еще больше фрилансеров и работающих по найму.
Большинство из нас (уж я-то точно!) попалось в ловушку жизненной колеи, утверждённой социумом, как стандарт: школа => институт => работа по найму. Кто-то сразу подался во фриланс или бизнес.
Но далеко не всегда выбор сделан осознанно.
В этой статье я попытаюсь объективно рассмотреть плюсы и минусы каждой организационной формы самореализации для того, чтобы такой выбор можно было сделать. Лично я после глубоко переосмысления бросил перспективную карьеру и ушёл в свой стартап.
Приступим к сравнению по набору параметров, которые я считаю наиболее важными, все оценки субъективны — на основании собственного опыта работы по найму + бизнеса, а также опыта работы знакомых по фрилансу.
+51
Управление складскими запасами по Теории Ограничений Голдратта
1 min
20KЛетом обещал, что осенью начнем выкладывать функционал с алгоритмами Теории Ограничений в области управления запасами и производства.
Вот, начинаю с запасов.
Спросите у любого, кто занимается производством или дистрибуцией, беспокоит ли его вопрос управления запасами, уверен ли он, что его складские запасы нельзя снизить, хватает ли оборотных средств. Эта проблема беспокоит почти всех. Но решений нет, или они слишком сложны, а значит неработоспособны.
Мы реализовали в виде ПО положения Теории Ограничений Голдратта — лучшей, революционной системы менеджмента, применяемой с успехом сегодня на западе в тысячах предприятий. В России эта система только появляется и я считаю, что она требуем максимальной популяризации, потому как приносит потрясающие результаты, которые я наблюдал лично.
Вот, начинаю с запасов.
Спросите у любого, кто занимается производством или дистрибуцией, беспокоит ли его вопрос управления запасами, уверен ли он, что его складские запасы нельзя снизить, хватает ли оборотных средств. Эта проблема беспокоит почти всех. Но решений нет, или они слишком сложны, а значит неработоспособны.
Мы реализовали в виде ПО положения Теории Ограничений Голдратта — лучшей, революционной системы менеджмента, применяемой с успехом сегодня на западе в тысячах предприятий. В России эта система только появляется и я считаю, что она требуем максимальной популяризации, потому как приносит потрясающие результаты, которые я наблюдал лично.
+6
Information
- Rating
- 9,197-th
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Fullstack Developer
Lead
PHP
MySQL