Pull to refresh
42
0
Send message

PHP — фреймворк с поддержкой плагинов за 5 минут

Reading time5 min
Views1.8K
Многие из нас сталкивались с проблемой поиска удобного многофункционального фреймворка на PHP, скором в изучении и минимальным размером кода. В свое время я тоже озаботился этим вопросом и с интересом изучал сравнение и отзывы о различных фреймворках, некоторые даже скачал и бегло просмотрел исходный код (такая уж привычка). В силу своей лени и ограничения во времени, курить маны какого-то нового движка было откровенно неохота. Как известно, лень – двигатель прогресса, было принято волевое решение написать коротенький фреймворк с необходимой для меня функциональностью. Итак, задача поставлена, бутылка пива откупорена, и под девизом «меньше поросят, меньше визга» я приступил. Что получилось смотрите сами:

/* определение объекта действия и задачи */
if (preg_match('/^(.+?)_(.+)$/', $action, $matches)) {
    $object = $matches[1];
    $task   = $matches[2];
} else {
    $object = $task = null;
}

/* нужен ПРЕпроцессор? */
if (($task == 'add' || $task == 'update') && file_exists("../inc/$object.pre.php"))
    require "$object.pre.php";

/* подготовка данных для шаблона */
if (file_exists("../inc/$object.inc.php"))
    require "$object.inc.php";

/* отрисовка шаблон->HTML (Dwoo) */
$tpl->output('main.tpl', $td);


и это все?
Total votes 44: ↑20 and ↓24-4
Comments93

Мышь для настоящих джедаев

Reading time1 min
Views2.2K
Интересно, знает ли Джордж Лукас о существовании Jedi Mind, Inc. и их продуктах. А если знает, то что думает?
Последний проект компании — Jedi Mouse (Джедайская Мышь) — представляет собой головную гарнитуру (разработано дизайнерами из Emotiv) и программу, улавливающую посредством сей гарнитуры ваши мысли. Таким образом, вы можете управлять компьютером силой мысли. Ну, можете делать жест рукой, конечно. Но это по желанию.
image
Девайс появится в продаже раньше, чем планировалось, уже в первом квартале этого (2010-го) года.
«Джедайская мышь позволит пользователю управлять навигацией компьютера, запускать программы и отсылать сообщение по e-mail, используя лишь силу мысли», — рассказывает представитель компании. — «Последнее возможно с помощью нашей виртуальной клавиатуры, способной распознавать сигналы мозга.»

Технология, используемая в Jedi Mouse, пока что точно неизвестна, но общий принцип состоит в том, что гарнитура улавливает электроимпульсы мозга, преобразует их (как?) и посылает в приложения и на компьютер. По-видимому, в нем будет запущена виртуальная мышь.

Общая стоимость Джедайской Мыши пока неизвестна, но гарнитура уже продается по неожиданно низкой цене в 299$ (купить тут).

image
Total votes 53: ↑46 and ↓7+39
Comments79

Установка RoR 3 beta + Ruby EE + Passenger на Ubuntu 9.10

Reading time2 min
Views1.1K
Простые 10 шагов, как установить Ruby EE, Ruby on Rails 3 beta, sqlite3, Passenger и nginx на ubuntu 9.10.
Вся установка производится на чистую систему.

Чем отличается данное описание от похожих англоязычных? Или даже того, что публиковалось здесь, на Хабре? Тем, что у меня, как и у массы комментаторов, rails3beta не запустились по ним.

Читать дальше →
Total votes 17: ↑10 and ↓7+3
Comments12

Переlator

Reading time9 min
Views20K
По ходу своей работы я сталкиваюсь с маленькими задачами, которые отнимают много времени (при решении «в лоб»). Иногда получается найти средства для быстрого решения этих задач, иногда нет. Во втором случае, чаще всего, я быстренько пишу собственные маленькие программы, которые позволяют максимально упросить решение задачи.

Недавно столкнулся с одной такой задачей. Всё чаще стала возникать необходимость перевести какой-то текст. То на иврите нужно перевести абзац, то на китайском сайте нужно было почитать обсуждение, то при написании письма зарубежным коллегам не получается перевести «хитрое» предложение — приходится обращаться к онлайн сервисам перевода («подглядеть», что подскажут). Я пользовался сервисами ПРОМТ и Google. Такой подход мне начал надоедать, и я за пару вечеров набросал контекстный переводчик, который использует сразу три сервиса от компаний: Google (Google Translator), Microsoft (Bing Translator), ПРОМТ (мобильная версия).

image

Уверен, что мои наработки кому-то окажутся полезными.

Эту мини-статью я разделю на две части. Первая посвящена тем, кто хочет просто установить программу и пользоваться ей. А вторая, тем только делает первые шаги в освоение разработки «под» Mac OS X и iPhone (сделали первую программа «Конвертер» по руководству от Apple, но уже имеющие желание писать коммерческое ПО).

Читать дальше →
Total votes 94: ↑86 and ↓8+78
Comments60

Разработка и модификация прошивки для Android телефонов. Часть 2

Reading time9 min
Views64K
В первой части мы научились перепаковывать официальную прошивку из формата RUU в формат пакета обновлений, что дало нам возможность использовать созданную нами прошивку, не опасаясь затирания модифицированного раздела восстановления (recovery rom). И тем временем, пока HTC воюет с хорошими ресурсами, мы продолжим изучать и улучшать прошивку.
В предыдущей части, хоть мы и создали прошивку, которая загружается и работает как часы, мы бы хотели расширить базовый функционал оной. Одним из самых востребованных расширений является поддержка работы с правами суперпользователя (root). Также сюда можно отнести интегрирование busybox. Кроме того, мы научимся запускать произвольные скрипты при старте системы и адаптируем ramdisk под свои нужды.

Busybox



busybox — это набор консольных unix утилит, ориентированный на малый размер и производительность, что так актуально для мобильных систем. Вместе с системой android поставляется свой набор утилит — toolbox, который предоставляет минимально необходимых функционал для системы, и как следствие более простой в количественном и функциональном плане. Наличие busybox в системе, с одной стороны, позволит нам, как разработчикам, чувствовать себя более комфортно при удаленной работе на устройстве, с другой, позволит писать сложные скрипты, и, например, реализовать механизм запуска собственных скриптов при загрузке, используя run-parts. Также стоит учитывать, что для некоторых android приложений (особенно те, которые используют root) наличие busybox — обязательно.
Читать дальше
Total votes 48: ↑48 and ↓0+48
Comments10

GitHub, вебсайт и автоматическое создание тестового сайта из последней версии исходных кодов

Reading time11 min
Views3.7K
Речь в данной статье пойдет о том, как автоматически получать свежую версию исходников из основной ветки вашего репозитория и разворачивать из нее проект на виртуальном хостинге. Сразу хочу отметить, что с GitHub'ом и Git'ом я познакомился только вчера. Поэтому матерым веб–программистам эта статья может показаться тривиальной. А тем, кто еще только начинает свой путь веб–программиста, надеюсь, поможет.

Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments5

Тестирование вебмастеров от Google

Reading time1 min
Views1.1K

Только что ребята из Google опубликовали ссылку на тест, составленный ими, который можно также использовать для тестирования вебмастеров при приеме на работу/оценке квалификации. Хотя в записи в блоге вебмастеров (googlewebmastercentral blog) этот тест характеризуют как «Just for fun».
Тест можно пройти здесь — Webmaster Quiz
В тестировании представлены вопросы, с которыми может столкнуться каждый, чья работа или увлечения связаны с администрированием сайтов и/или серверов, и взяты они с Форума Google по помощи вебмастерам.
Total votes 27: ↑19 and ↓8+11
Comments30

Вышла бета-версия медиацентра Boxee

Reading time1 min
Views3.2K
Недавно началось beta-тестирование кроссплатформенного медиаплеера/центра Boxee. От alpha-версии, вышедшей в июне 2008 года, эта версия отличается новым интерфейсом, разработчиками реализованы соглашения об интеграции с TV.com, blip.tv, IGN. Также появилась возможность установки закладок на понравившееся медиа. Также, в Boxee реализована поддержка онлайн-медиасервисов: YouTube, Flickr, Last.fm, Picasa Web и других. Интеграция с соц.сетями: Twitter, Facebook. Кстати, в Boxee интегрирован торрент-клиент.
Разрабатывается Boxee на С++, а плагины на Питоне. Основа исходников под лицензией GNU GPL.


под катом ссылки и поддерживаемые форматы
Total votes 64: ↑58 and ↓6+52
Comments66

Как достичь профессионального вида с помощью цвета

Reading time9 min
Views11K
image

Что заставляет дизайн выглядеть скоординированным, спланированным и профессиональным? Ответ: 'цвет'.

Далеко не каждый проект нуждается в использовании мягкого корпоративного синего цвета для того, чтобы выглядеть профессионально. Планирование цвета означает создание структуры, которая бы описывала, какие использовать цвета и как их использовать. Цвет — самый неподдающийся элемент дизайна. «Хороший» цвет жестко связан с такими неуловимыми вещами как личный вкус и интуиция, и, в то же время, с технической позиции с калибровкой монитора и контрастом.

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

В этой статье мы будем делать обзор некоторых методик, чтобы достигнуть красивого сочетания цвета для Ваших проектов в сети.
Читать дальше →
Total votes 194: ↑167 and ↓27+140
Comments38

Оптимизация Javascript с помощью Google Closure Compiler

Reading time1 min
Views47K
image
Google открыла исходные коды нескольких инструментов, которые использовались их сотрудниками при разработке таких проектов как Google Docs, Google Maps и GMail.

В числе этих инструментов имеется достаточно интересная штука, называемая Google Closure Compiler. Данная утилита минимизирует и оптимизирует javascript-код, за счет чего он начинает работать и загружаться быстрее.
Читать дальше →
Total votes 89: ↑85 and ↓4+81
Comments67

Применение нейросетей в распознавании изображений

Reading time10 min
Views242K
Про нейронные сети, как один из инструментов решения трудноформализуемых задач уже было сказано достаточно много. И здесь, на хабре, было показано, как эти сети применять для распознавания изображений, применительно к задаче взлома капчи. Однако, типов нейросетей существует довольно много. И так ли хороша классическая полносвязная нейронная сеть (ПНС) для задачи распознавания (классификации) изображений?
Читать дальше →
Total votes 134: ↑131 and ↓3+128
Comments73

Acer анонсировала новый флагман – Aspire 8940

Reading time1 min
Views554
Electronista пишет, что новинка впечатляет мощностью, размерами и весом.

image

Ноутбук отличается 18,4-дюймовым дисплеем, с поддержкой Full HD-разрешения 1080p, 4 Гб оперативной памяти DDR3, процессором Core i7 с частотой 1,6 ГГц и винчестером на 500 Гб.

Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments11

У кого какой PS1 в .bashrc и caption в .screenrc

Reading time1 min
Views1.9K
Пока Gui'шники спорят у кого круче настроен KDE/Gnome/Fvwm/Fluxbox, решил спросить у тех, кто большую часть времени работает в command line interface. Как разукрашиваете или делаете удобнее/веселее command promt и screen.
У меня export PS1="\[\e[31;1m\]\u@\[\e[32;1m\]\h \e[33;1m\]# \e[33;0m\]" в .bashrc и
caption always "%{+b rk}%H%{gk} |%c %{yk}%d.%m.%Y | %{wk} %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%? | %{rk} Load: %l %{wk}" в .screenrc

Виглядит так:

image
Total votes 24: ↑18 and ↓6+12
Comments25

О тестировании web-приложений

Reading time7 min
Views13K
Тестирование софта это процесс, участвующий во всех жизненных циклах его разработки, который занимается проверкой и планированием требований продукта, подготовкой и проведением изменений в разрабатываемой системе. Как следствие — находятся несоответсвия требованиям и ошибки, оцениваются инструменты которые были использованы.
А если отвлечься и рассматривать системно, то роль тестера на самом деле лежит в каждом человеке. Если смотреть на проект как на человека, то роли
  • управляющего проектом это позвоночник и вегетативная нервная система
  • программисты это скелет и моторика
  • аналитики это органы чувств
  • тестеры это совесть

Quality Assurance часто считается синонимом тестирования, но на самом деле это методика предотвращения ошибок, а не их поиска и исправления. Качество в этом смысле — характеристика сделанного продукта.

Формально говоря, тестер должен проверять даже техническое задание, план проекта и анализ на логичность и понятность, а не только код и интерфейс программы. Тестирование как независимая дисциплина в общем потоке разработки ПО появилась в начале девяностых, когда стали более важны аудитория (клиенты), качество и время разработки.
Важность тестирования ПО особенно важна в критических системах. К примеру аппарат по лучевой терапии Therac (1985) облучил смертельной дозой радиации 6 человек из-за отсутсвия проверки состояния агрегата в коде и валидации. Или марсоход в 1999 году принёс убыток в 125 млн долларов из-за непродуманности единой системы измерения между коммандами разработчиков. И даже в Эстонии при электронных выборах были проблемы из-за плохого нагрузочного тестирования.
Основные принципы тестирования воплощены в небольшом документе ISTQB и в книге «Foundations of software testing».
Вся «прелесть» специальности тестера в том что как правило для этого не нужны большие познания в программировании и люди далёкие от web-строительства могут себя попробовать в этой роли.
Читать дальше →
Total votes 27: ↑21 and ↓6+15
Comments6

Nook — убийца Kindle

Reading time1 min
Views854
image

Если вы хотите купить Kindle, то самое время передумать. На картинке — Nook, с двумя экранами, цветным тачскрином, поддержкой виртуальной клавиатуры и работающий под Google Android.
А купить его можно будет в следующий вторник конце Ноября за 260$. Пруфлинк.
Total votes 32: ↑25 and ↓7+18
Comments16

Несколько jQuery плагинов, которые вы возможно станете использовать

Reading time2 min
Views2K

qTip





qTip — это бесплатный плагин для jQuery для создания подсказок (tooltip). Данный плагин кроссбраузерный, имеет обширные возможности к настройке и содержит множество функций, таких как: закругленные углы без применения изображений, speech bubbles (изображение речи как в комиксах), а так же эффекты — fade (постепенное исчезновение изображения), slide и возможность создания собственных эффектов. Данный плагин уже включает пять готовых тем, но можно создавать свои темы без особых усилий. Кроме того можно создавать окна диалогов, изменять цвет фона подсказки и места, где она отображается.

Скачать | Демо

Читать дальше
Total votes 96: ↑76 and ↓20+56
Comments30

AMQP теперь и в PHP

Reading time3 min
Views12K
типа Введение
Протокол AMQP хорошо был описан в статьях AMQP по русски, RabbitMQ: Введение в AMQP AMQP — практика использования и мне не хотелось бы повторяться.

AMQP используется в серверах очередей: ZeroMQ, ActiveMQ, RabbitMQ.

Преимущество RabbitMQ перед прочим свободным ПО:
— более полно представлен протокол,
— поддерживает кластер,
— реализован как многопоточный сервер, высокая производительность

Широкое распространение AMQP в WEB разработках разработках сдерживается двумя причинами: отсутствием необходимых навыков (практики) его использования и малой клиентской поддержкой. В основном есть клиенты на языках с, java, python, с#. Большая популярность РНР в WEB разработках жалала бы видеть и свой AMQP-клиент.
Читать дальше →
Total votes 19: ↑12 and ↓7+5
Comments15

Как Opera`тивно обрабатываются регэкспы

Reading time1 min
Views452
It is a typical backtracking regular expression engine, but does some tricks to avoid redundant backtracking

Из релиза 10.00

Вот в чем эти «tricks» заключаются. Смотрите простой пример:
javascript:alert(/(t+){2}/.test('tt'));

IE6,IE8: true
Firefox: true
Safari: true
Chrome: true
Opera9: true

Opera10: false

Будь на чеку, %username%.
Total votes 28: ↑22 and ↓6+16
Comments9

Midnight Commander: Скины

Reading time2 min
Views9.1K

Схемы по умолчанию


Одна из новых особенностей появившихся в mc это удобная система смены скинов. Теперь чтобы сменить цветовую схему достаточно при запуске mc запустить его с ключем -S <Имя скина> или прописать в секции [Midnight-Commander] параметр skin=<Имя скина>

Примеры скинов

Тема: FAR (Black)
Тема: FAR (Black)

Читать дальше →
Total votes 14: ↑8 and ↓6+2
Comments13

«Производительность MySQL» в Киеве, 22.09.2009

Reading time2 min
Views588
Сегодня был на конференции "Производительность MySQL". Докладчик был Дмитрий Кравчук. Спасибо maghamed, 60% конференции я уже знал.
Сама конференция была интересной, в хронографическом порядке зарождения MySQL. Начиная от 1995 года, когда собрались Монти и Дэвид, до сегодняшнего дня, MySQL Perf версии.
Что не понравилось:
  • Sun имеет инсайдерскую версию MySQL Perf (производительность чуть выше чем в 5.4), которую не спешит выкатывать.
  • Почти всю конференцию было слышно «Sun это, Sun то».
  • Обделили maatkit вниманием (может потому что вражеская разработка?)
  • Порадовал слушатель, в компании которого была «масштабируемая система» — 1500 запросов на 1 страницу. При этом их техлид считает memcache костылями.
  • Не было бутербродов :(

Что понравилось:
  • Докладчик :). Дмитрий отвечал на все вопросы, было живое обсуждение. В конце выступления пошли хинты, про которые я до этого не слышал и нигде не видел.
  • Принцип «Доверяй, но проверяй». Дмитрий не верил никому, поэтому полностью сам тестил MySQL в производительности.
  • В зале был человек от Percona, который иногда помогал Дмитрию с ответами.
  • MySQL развивается! Не смотря на покупку Sun в последние годы много внимания было уделено производительности, что привело к появлению версии 5.4.

Пару хинтов для себя, чтобы не забыть:
  • Каждая аппликация уникальная и сервер надо настраивать под конкретные нужды (ваш КО)
  • Сейчас есть баг с innodb_max_dirty_pages_pct. Это значение просто игнорируется. Патч есть, в основную ветку еще вроде не внесли (могу ошибаться)
  • Пока существует баг с innodb_max_dirty_pages_pct влиять на флаш «грязных страниц» можно через innodb_log_file (не спрашивайте почему, спросите у Димы)
  • Интересная опция, про которую раньше не слышал — innodb_flush_log_trx_commit. Принимает значения 0, 1, 2. 0 — флаш каждую секунду (0 коммитов в сек = 1 флаш), 1 — флаш каждый коммит (10тыс коммитов в сек = 10тыс флашей), 2 — флаш каждую секунду, если был коммит (10 тыс коммитов в сек = 1 флаш). Оптимальный вариант для быстродействия естессно 2
  • innodb_io_capacity — стоит выставить в зависимости от возможностей винчестера. Дмитрий предлагал 2000
  • Query cache больше 20мб — зло
  • С включенным double write buffer в некоторых случаях можно потерять до 30% производительности
  • Redo log, bin log, Double Write buffer стоит хранить на разных винчестерах из-за random read для самой базы
  • Иногда стоит поиграться с max_purge_log
  • Блог Дмитрия dimitrik.free.fr
Total votes 7: ↑7 and ↓0+7
Comments10

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Registered
Activity