Sinatra и Whois gem: маленькое приложение
4Здравствуйте, уважаемые коллеги и те, кто может случайно забрел на мой блог. Сегодня речь пойдет о Ruby, но я не буду вдаваться в подробное описание языка, поэтому ограничимся базовой функциональностью замечательного фреймворка Sinatra.
Вступление
Мой отпуск подходит плавно к концу, но чтобы не зря тратить время решил я посвятить его изучению нового для меня языка программирования. Почему Ruby, возможно назреет у вас вопрос. Отвечу так: я долго шел к смене языка программировани, нет, это не из-за того, что мне не нравится PHP, отнюдь, но захотелось чего-то другого во время отпуска, тем более, что время позволяет. Прежде чем остановиться на Ruby, мною было прочитано много килобайт материала, просмотрено много мегабайт видео презентаций и скринкастов, и я решил более не задаваться глупыми вопросами, а может Python, может еще что-нибудь, решил просто попробовать.
Здоровый образ жизни и я
8Здравствуйте, уважаемые читатели моего техничесого блога. Сегодня занимательный для моего блога день — день, когда я решил разбавлять свои технические заметки заметками о спорте, книгаж, жизни и просто интересных вещах, в моей жизни которые происходят.
Сегодня немного о спорте: в тренажерный зал записался два с половиной месяца назад и за это время (выполнял только базовые упражнения, чтобы мыщцы после долгой пассивно-сидячей жизни привести в тонус) достиг кое-каких результатов. Веса может быть и стали намного больше, может и вообще больше не стали, но чувствовать я себя стал заметно лучше: ремень на джинсах стал застегиваться на одну-две дырки меньше, чем раньше. Футболки стали немного малы в основании рук — бицепсы и трицепсы дают о себе знать. От живота, конечно, я полносью не исправился, оказывается, сложно это сделать после многолетнего опыта пивопития, неправильного питания и пассивного образа жизни. Но живот стал меньше, хоть и кубиков пока не видать.
PHP замыкания и немного рефлексии
3Это будет очень короткая заметка и больше экспериментальная. Вчера вечером смотрел Sinatra (фреймворк на базе Ruby) и меня он покорил своей легкостью. Да вообще мне очень нравится Ruby, обязательно его в скором будущем выучу, а сейчас поговорим о PHP. Заметка сводится к тому, что я попытался реализовать функционал Sinatra на PHP. Таких велосипедов, скажите вы, превеликое множество и несомненно будете правы. Но я нашел в сегодняшнем велосипедостроение очень много для себя полезного. Да и «фреймворк» (фреймворком пока назвать его очень сложно, но начало положено) получился очень маленьким — около 40 строк.
Описание фреймворка
Фреймворк может обрабатывать GET запросы, учитывая маршрутизацию, которая задется регулярным выражением с любым количеством параметров. С выходом 5.3 версии PHP нам стали доступны так называемые замыкания или анонимные функции (кому как нравится). Вот именно и благодаря замыканиям фреймворк получился очень маленьким. Когда придумывал ему название (ведь каждый программист должен назвать свое детище), в интернете натолкнулся на картинку жирафа, так и обрел название мой фреймворк (Jirafa на испанский манер).
(далее…)
MongoDb и PHP
1NoSQL — что за странная аббревиатура?
Наверное, какждый из вас уже слышал эту аббревиатуру, может даже вы «щупали» ее на зубок, а может и используете ее в своих проектах на продакшн серверах. Данная технология в момент ее появления наделала много шуму, легко втиснувшись и отобрав кусок хлеба у реляционных баз данных. NoSQL термин означает что это не только (not only) SQL, хотя на первый взгляд кажется, что это не SQL (no). Термин означает множество технологий работы с базами данных в обход стандартной реляционной модели. Данные могут храниться в виде пар ключ-значение, деревьев или документов. Мы с вами рассмотрим последнее.
Описание документо-ориентированных хранилищ
В данной системе управления базами данных единицей хранения информации является некий документ, хранящийся в виде пар ключ-значние и имеющих некие связи.
Покерный класс на PHP
0Приветствую тебя, разработчик или случайно зашедший на огонег в этот уютный технический бложек. Сегодня речь пойдет о несколько математической задаче, хоть и немного там математики, да и она понятна школьнику 5го класса. Сегодня мы научимся распознавать комбинации в Техасском холдеме, именно в такую разновидность покера я играю (играл). Т.к. это очень простой класс на PHP, он не будет иметь определять старшинство одинаковых по названию комбинаций, но разнящихся по номиналу, к примеру стрит до 10 и стрит до 8 будут трактоваться этим классом, как просто стрит. В Техасском холдеме всего 10 комбинаций и мы с вами пройдемся от самой старшей из них — флеш рояль до самой младшей — старшая карта.
(далее…)
Пишем свой первый фреймворк на PHP
17Привет тебе, коллега-разработчик или просто случайно зашедший на мой блог посетитель. В сегодняшней заметке я хочу рассказать вам о том, как прошел у меня вчерашний вечер (нет, нет, тут не будет ничего личного, аля покатался на роликах, попил пивка в парке). Как и у каждого веб-программиста рано или поздно возникает идея создать свой велосипед, пусть и с квадратными колесами и вместо руля торчащий штырь. Вчерашним велосипедом для меня стал легкий простой фреймворк, хотя с натяжкой его можно так назвать, но есть несколько моментов в нем, которые могут послужить отправной точкой для создание нечто большего. Ну обо всем по порядку.
Структура папок
Так как на меня большое влияние в последнее время оказал Zend Framework, структура папок, а также несколько еще штук будут очень похожи.
В корне мы имеем две папки app и library. Также в корне есть два файла (опять же все как у ZF) .htaccess (будет перенаправлять все запросы в index.php) и сам index.php, который эти самые запросы принимать будет.
(далее…)
Общие заблуждения о jQuery (часть 1) parent, parents, closest
2Быстрый рост JavaScript библиотек и разнообразных фреймворков, таких как jQuery, для программирования на стороне клиента, предоставил всю мощь языка JavaScript для широкой аудитории. jQuery предоставляет свой собственный API, методы и синтаксические особенности. Порой которые похожи друг на друга, но отличающиеся в чем-то. Это заметка должна избавить вас от путаницы
(далее…)
Zend Framework: вставляем viewHelper куда душе угодно
2Здравствуйте, уважаемые коллеги-разработчики, в сегодняшней заметке я поделюсь с вами своим костылем-решением. Пишу в свободное время свою модульную CMS (ведь каждый разработчик должен написать в своей жизни хотя бы одну) на базе Zend Framework’а и возникла необходимость вставлять в контент форму обратной связи и еще что-нибудь в произвольное место. Для создания стратичных страниц я использую свой модуль Static, который ничего не умеет, кроме создания стратичных страниц WYSIWYG’ом и прикрепления к уже имеющимся.
Yandex XML версии 2.0
1
Приветствую вас, многоуважаемые разработчики. Сегодня речь пойдет опять о Yandex и его сервисе XML, о котором я уже упоминал в заметке о Yandex XML, т.к. нашей веб студии для собственных нужд понадобился сей компонент, но немного расширенный, модернизированный и использующий Zend Framework. Сейчас он будет более объектно-ориентированный и удобный в использовании.
(далее…)
Zend Framework: WYSIWYG + FileBrowser
4 Здравствуй, неизвестный читатель. На просторах интернета я не встретил толковой реализации, кроме одной, ссылку на которую я вставлю в конце поста.
После проделывания всех шагов, описанных в этом посте, у вас будет иметься возможность вставлять в форму визуальный редактор с файловым менеджером парой строк (далее…)