Я уже достаточно давно использую PHPixie в работе и очень доволен, единственное чего мне не хватало — это поддержка многоязычности. Так как я работаю в Казахстане, большинство заказчиков хотят на своем сайте несколько локализаций, особенно это касается государственных учреждений. PHPixie был моим первым фреймворком, переходить на что-то другое не хотелось(хотя признаюсь чуть не изменил со старушкой коханой) и я писал «уродливые костыли», что-бы реализовать мультиязычность. В этой статье речь пойдет о моём новом вполне удобном и изящном «костыле», которым я решил поделиться — модуле «PHPixie Amalgama».
Читать полностью »
Рубрика «Программирование» - 842
PHPixie Amalgama — Интернационализация в PHPixie
2014-11-25 в 11:23, admin, рубрики: framework, i18n, php, phpixie, ПрограммированиеТестирование компонентов в Unity Engine
2014-11-25 в 5:52, admin, рубрики: bdd, game development, nunit, unity3d, Программирование В продолжение статьи о КОП я подробней расскажу о тестировании компонентов.
Существует много информации о юнит-тестировании и BDD, эта статья будет посвящена настройке SpecFlow для работы с Unity Engine, а также содержать общие рекомендации по созданию тестируемой архитектуры игры с компонентно-ориентированным подходом.
Читать полностью »
Выразительный JavaScript: Обработка событий
2014-11-24 в 12:58, admin, рубрики: event, handler, javascript, клавиатура, мышь, нажатия, обработка событий, Программирование, события, щелчкиСодержание
- Введение
- Величины, типы и операторы
- Структура программ
- Функции
- Структуры данных: объекты и массивы
- Функции высшего порядка
- Тайная жизнь объектов
- Проект: электронная жизнь
- Поиск и обработка ошибок
- Регулярные выражения
- Модули
- Проект: язык программирования
- JavaScript и браузер
- Document Object Model
- Обработка событий
- Проект: игра-платформер
- Рисуем на Canvas
- HTTP
- Формы и поля ввода
- Проект: Paint
- Node.js
- Проект: веб-сайт по обмену умениями
- Песочница для кода
Вы властны над своим разумом, но не над внешними событиями. Когда вы поймёте это, вы обретёте силу.
Марк Аврелий, «Медитации».
Некоторые программы работают с вводом пользователя, мышью и клавиатурой. Время возникновения такого ввода и последовательность данных нельзя предсказать заранее. Это требует иного подхода к контролю над порядком выполнения программы, чем уже привычный нам.
Обработчики событий
Представьте интерфейс, в котором единственным способом узнать, нажали ли на кнопку клавиатуры, было бы считывание текущего состояния кнопки. Чтобы реагировать на нажатия, вам пришлось бы постоянно считывать состояния кнопок, чтобы вы могли поймать это состояние, пока кнопка не отжалась. Было бы опасно проводить другие подсчёты, отнимающие процессорное время, так как можно было бы пропустить момент нажатия.
Читать полностью »
Умный дом Noolite. Датчики и шлюз. Java API
2014-11-24 в 12:11, admin, рубрики: API для Java, noolite, Железо, Программирование, Софт, умный дом 
Здравствуй, уважаемый %username%!
Сегодня мы будем рассматривать относительно новые девайсы белорусской компании Ноотехника — датчики и Ethernet-шлюз. Так же будет предоставлена Java-библиотека для работы с API.
За подробностями — под кат.
Читать полностью »
Моделирование пандемий с помощью языка Wolfram Language (системы Mathematica 10) на примере лихорадки Эбола
2014-11-21 в 18:20, admin, рубрики: wolfram language, wolfram mathematica, визуализация данных, математика, моделирование, пандемия, Программирование, Эбола, эпидемия 
Перевод поста Виталия Каурова (Vitaliy Kaurov) "Modeling a Pandemic like Ebola with the Wolfram Language".
Выражаю благодарность за помощь в переводе участникам сообщества ВКонтакте Русскоязычной поддержки Wolfram Mathematica: Еве Фрумен, Курбану Магомедову, Глебу Михновцу, Андрею Кротких.
Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~100 МБ).
Данные крайне важны для беспристрастного взгляда в будущее, но одни только данные еще не являются прогнозом. Для предсказания развития пандемий, террористических актов, природных катастроф, падений рынков и других сложных явлений нашего мира необходимы научные модели. Один из инструментов борьбы с текущей ужасающей вспышкой лихорадки Эбола — создание компьютерной модели возможного распространения вируса. Понимая, где и как быстро вспышка может проявиться, правительственные структуры смогут организовать эффективные профилактические меры для снижения скорости передачи и, в конечном итоге, остановить эпидемию. Наша цель сейчас: продемонстрировать построение математической модели, описывающей глобальное распространение пандемии на основе реальных данных. Модель применима к любой эпидемии, но мы будем иногда упоминать и использовать данные о текущей вспышке лихорадки Эбола в качестве примера. Результаты не следует рассматривать как реалистичную количественную оценку текущей пандемии вируса Эбола.
Читать полностью »
Apple Watch. Что можно и чего нельзя в приложениях, разбор SDK
2014-11-21 в 11:46, admin, рубрики: mobile development, Программирование, разработка под iOSПосле официального анонса Apple Watch многие остались в недоумении — что же это такое, почему вокруг этого столько шума и действительно ли сдулся Apple. Было совершенно непонятно, зачем же эта штука нужна, что в ней такого особенного и чем она будет лучше других часов от конкурентов? Маркетинговая болтовня Тима Кука и попытки рисовать на этом девайсе не убедили совершенно.

Но при всем этом, есть понимание, что значительное количество людей купят это просто потому, что это Apple, а значит, есть потенциальный рынок, на котором, кто первый, тот и молодец.
Для того, чтобы понять, что же на самом деле может это устройство и как это можно использовать, нам пришлось залезть в SDK сразу после его выхода.
Результаты исследование несколько озадачили.
Читать полностью »
За один проход
2014-11-20 в 23:16, admin, рубрики: Алгоритмы, задачи, нужна ли математика программисту, Программирование, Спортивное программированиеЗа один проход.
Среди задач по программированию часто попадаются такие: дана последовательность однотипных элементов (обычно это числа), требуется за один проход по ней найти какую-нибудь характеристику (среднее квадратическое отклонение, количество минимальных элементов, непрерывный участок с наибольшей суммой...) Дополнительное ограничение — последовательность может быть очень длинной, и в память не поместится. Других ограничений на элементы последовательности, обычно, не накладывается.
С этими задачами всё, более или менее, понятно: нужно найти то, что на мехмате МГУ называют «индуктивным расширением» искомой функции, и реализовать её вычисление. Если найти не удалось (требуемый объём памяти слишком велик), то задача не решается.
Но попадаются и другие задачи. В них есть дополнительные ограничения на элементы последовательности в совокупности, и эти ограничения приходится существенно использовать для решения (и проверять их не надо). Простейшая такая задача выглядит так:
Задача 1. В последовательности записаны целые числа от 1 до N в произвольном порядке, но одно из чисел пропущено (остальные встречаются ровно по одному разу). N заранее неизвестно. Определить пропущенное число
Решение очевидно: просматриваем числа, находим их количество K и сумму S. По условию, N=K+1, значит, сумма чисел от 1 до N будет равна (K+1)*(K+2)/2, и пропущенное число равно (K+1)*(K+2)/2-S. Если вы почему-то боитесь переполнений, то работайте с беззнаковыми числами (там переполнения не страшны — но будьте осторожны с вычислением (K+1)*(K+2)/2 :) ), или вместо суммы ищите XOR всех чисел.
Выразительный JavaScript: Document Object Model (объектная модель документа)
2014-11-20 в 21:12, admin, рубрики: dom, javascript, ПрограммированиеКогда вы открываете веб-страницу в браузере, он получает исходный текст HTML и разбирает (парсит) его примерно так, как наш парсер из главы 11 разбирал программу. Браузер строит модель структуры документа и использует её, чтобы нарисовать страницу на экране.
Это представление документа и есть одна из игрушек, доступных в песочнице JavaScript. Вы можете читать её и изменять. Она изменяется в реальном времени – как только вы её подправляете, страница на экране обновляется, отражая изменения.
Читать полностью »
Как провести бенчмарк или кто быстрее, Слон или Селедка?
2014-11-20 в 13:59, admin, рубрики: PCRE, prex, высокая производительность, Программирование, Регулярные выражения, селедка под шубойЯ часто слышу советы по сравнению алгоритмов — “проведи бенчмарк и будет понятно”. Или сам довольно часто хочу проверить производительность того или иного инструмента или алгоритма.
В сети много анти-примеров как люди проводят бенчмарк. Видел много правильных и успешных бенчмарков, видел кривые бенчмарки. Ниже будет описание как нужно проводить бенчмарк, с простыми примерами на простом C.
Для тех, кто профи в этом я вряд ли открою что то новое, а для тех, кто хочет этому научится — соберу знания в одной статье.
Читать полностью »
Изучаем WatchKit — создаем первое приложение для Apple Watch
2014-11-20 в 12:19, admin, рубрики: hello world, ios development, objective-c, tutorial, Программирование, разработка под iOS Буквально пару дней назад Apple выпустила Xcode 6.2 с поддержкой iOS 8.2 beta и WatchKit.
Данный фреймворк предназначен для взаимодействия с Apple Watch и разработки приложений для них.
Впрочем, все не так просто.
Читать полностью »
