Статья, является переводом заметки Пата Шонаси (Pat Shaughnessy), в оригинале звучащей как Ruby, Smalltalk and Class Variables.

Пару недель назад статья Эрни Миллера (Ernie Miller) натолкнула меня на вопрос: а как работают переменные класса в Руби? После небольшого исследования, оказалось что переменные класса могут быть потенциальным источником проблем. Фактически, Джон Нунмейкер (John Nunemaker) уже написал статью «Переменные класса и экземпляра в Руби», которая датируется 2006 годом и остаётся актуальной и сейчас. Фундаментальная проблема переменных класса в том, что они разделяются между самим классом и всеми его подклассами – как Джон объяснял еще шесть лет назад, и это может вести к неразберихе и странному поведению кода.

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

Небольшой пример реализации AJAX в CakePHP, пример показывает, как легко работать с AJAX в СakePHP, всю работу берет на себя фреймворк. Реализуем пример на библиотеке jquery.js затем переделаем наш пример на библиотеку prototype.js
Читать дальше →

Небольшой пример реализации AJAX в CakePHP, пример показывает, как легко работать с AJAX в СakePHP, всю работу берет на себя фреймворк. Реализуем пример на библиотеке jquery.js затем переделаем наш пример на библиотеку prototype.js
Читать дальше →

Перевод статьи Zend Framework: XSL and self-serializing Views
Автор: Pascal Opitz

Я давно утверждал, что фраемворки MVC должны использовать стили XSL вместо встроенного PHP кода и прочего. Вот почему я постучал вместе немного доказательство концепции Zend Framework, где представления файлов в виде XSL шаблона, а представление сериализует себя в XML для рендеринга.

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

Хочу описать и опубликовать идею, которая ещё не реализована, но которую невозможно реализовать самостоятельно.
Сейчас у нас есть множество рынков приложений — Windows Store, Google Play, Apple Store, Opera Mobile Store, Luzhniki Marketplace, etc. Однако, приложения для этих рынков могут создавать только программисты.
Мне видится, что в мире есть много экспертов, которые могут обучить желающих различным знаниям и навыкам, а также много этих желающих, готовых за 0.25 доллара просто и доступно научиться чему-то новому и интересному.

Идея в том, чтобы создать инструмент для экспертов без опыта программирования, позволяющий создавать обучающие приложения с функцией завершающего контроля знаний. Эксперт какой-то предметной области использует визуальный инструмент (аналог PowerPoint или даже конвертор из PowerPoint) для создания небольшого обучающего курса и завершающего экзамена (с автоматической или ручной проверкой результатов). Обучающее приложение упаковывается и становится доступным для загрузки на устройства покупателей. Для каждой из платформ реализуется единый плеер приложений, который также является клиентом для Knowledge Market (рабочее название проекта). Клиент обеспечивает расшифровку, офлайновую работу обучалки, платежи, интеграцию с соцсетями и прочими сервисами.
Рынок обеспечивает рейтингование, отзывы, обзоры, рекламу курсов, бесплатные пробники, партнёрские и корпоративные программы, курсы на заказ и т.д.
Сравнение <Platform> Store Knowledge Market
Аудитория Пользователи платформы <Platform>  Пользователи всех платформ
Разработчики Разработчики платформы <Platform> Эксперты предметной области

Порог вхождения  Высокий  Низкий 
Разнообразие изобразительных средств Неограниченное Ограниченное 

Расширенное описание

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

Реакция роботов на ошибки в микроразметке

Медленно, но верно семантическая разметка набирает популярность. Чуть больше десяти лет назад (в мае 2001 года) впервые был введен термин «семантическая паутина». В 2004 году появилось первое упоминание формата RDFa, примерно тогда же начали развиваться микроформаты. В июне 2011 года был запущен стандарт schema.org. Сейчас семантическую микроразметку поддерживают и Яндекс, и другие ведущие мировые поисковые системы.

Однако вебмастера часто сталкиваются с тем, что валидаторы HTML выдают массу ошибок. Читать дальше →

Доброго времени суток, Хабрасообщество!
Недавно задался целью сделать поиск на своем сайте, написанном на Kohana Framework. Решил использовать именно морфологический поиск, т.к. считаю его более правильным (относительно полнотекстового поиска с применением LIKE). Поиски готовых модулей для Kohana с требующимся функционалом не увенчались успехом, но я нашел отличную библиотеку: phpMorphy, которая замечательно подошла для решения моих задач.
Читать дальше →

Доброго времени суток, Хабрасообщество!
Недавно задался целью сделать поиск на своем сайте, написанном на Kohana Framework. Решил использовать именно морфологический поиск, т.к. считаю его более правильным (относительно полнотекстового поиска с применением LIKE). Поиски готовых модулей для Kohana с требующимся функционалом не увенчались успехом, но я нашел отличную библиотеку: phpMorphy, которая замечательно подошла для решения моих задач.
Читать дальше →

Полтора месяца назад я рассказывал о том, как Бен Краснов (Ben Krasnow) собрал самодельный рентгеновский сканер. Бен не прекратил свои эксперименты с рентгеном и теперь представляет полноценный компьютерный томограф (авторское описание).

Пример работы томографа показан ниже. Сможете угадать, что (или кто) это?

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

Недавно мы портировали на Windows 8 относительно объемное бизнес приложение — редактор диаграмм, флоу чартов и другой деловой графики. Изначально этот редактор был написан под платформу Silverlight, но мы его переписали под Windows Runtime и успешно разместились с ним в Windows 8 Store. К сожалению, стандартных контролов нам очень не хватало, поэтому попутно пришлось ещё написать свою библиотеку контролов. И теперь мы готовы поделиться опытом. В этой статье собран ряд нюансов разработки приложений под Windows 8 — от проектирования интерфейса пользователя до технических деталей по работе с DirectX.

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