Показаны сообщения с ярлыком php. Показать все сообщения
Показаны сообщения с ярлыком php. Показать все сообщения
пятница, 2 сентября 2011 г.
[Перевод] Программирование в облаке: Небольшой обзор Онлайн-IDE
Похоже, что всё сегодня переходит в «облака», которые являются туманным термин для определения программных приложений и хранилищ данных, размещенных на удаленных серверах где-то далеко по всему Интернету. Так что, если всё наше ПО переходит на облака, то почему бы не перейти инструментам, используемым для создания этого ПО? Ну, а некоторые инструменты, есть там прямо сейчас. Черт, даже GitHub недавно добавил базовые возможности редактирования. В этой статье мы рассмотрим некоторые многообещающие Онлайн-IDE.
воскресенье, 20 марта 2011 г.
12 навыков создания защищенных веб-приложений
Данная статья не содержит никаких откровений. В первую очередь информация о типовых уязвимостях и методах их решения будет полезна начинающим. Опытные разработчики все это знают, или должны знать, если считают себя таковыми.
Большинство примеров кода не привязаны к какому-либо конкретному языку программирования, но для наглядности я буду использовать PHP.
Итак, поехали.
Большинство примеров кода не привязаны к какому-либо конкретному языку программирования, но для наглядности я буду использовать PHP.
Итак, поехали.
среда, 9 марта 2011 г.
[Из песочницы] Strain It! — Валидация и приведение данных на PHP
Введение
Пожалуй любой программист рано или поздно сталкивается с проблемой валидации данных. Потратив уйму сил на написание однотипных алгоритмов валидации и я решил поискать более удобные способы. Было это довольно давно, и с тех пор мне довелось попользоваться большим количеством готовых решений и разработать несколько своих, которыми благополучно пользовался до недавнего времени.
Но после того как я перешел на PHP 5.3 меня потянуло написать новый валидатор на основе анонимных функций. А заодно еще раз потренироваться в их использовании. Мною ставились следующие требования к будущему классу:
- Декларативность (информация о валидации должна задаваться объектами/массивами)
- Гибкость (высокая эффективность кода, написанного с помощью этого класса)
- Скорость (ничего лишнего)
Уже после начала работ, мне пришла в голову мысль о том, что анонимные функции в этом классе можно использовать не только для валидации, но и для приведения данных к нужному виду (например к определенному типу). Добавив к списку требований еще одно («Универсальность») я смело переименовал класс в Strain.
Что же в итоге получилось… читаем ниже. Здесь я не буду претендовать на оригинальность решения и прочую ерунду. Если вам понравится такой подход, используйте его в своих проектах, а если нет — то нет. Для отчаянных любителей извращений исходники я опубликую в конце статьи.
понедельник, 17 января 2011 г.
HTML в PDF

В далеком 2008 году уже была написана подобная статья и я попытался применить знания, но, к сожалению, не справился с русским языком (на denwer-е работал, на хостинге нет). Возможно сказалось отсутствие опыта. А недавно нашел хорошую библиотеку и решил поделиться. Топик, скорее всего, адресован начинающим программистом и ни на, что не претендует.
пятница, 7 января 2011 г.
[Из песочницы] Сам себе сервис скриншотов
Все началось с ...
Несколько лет назад я только начал знакомиться с web-программированием, и одним из моих первых «проектов» был каталожек сайтов. Разработка велась для себя, в целях повышения опыта. Но т.к. аналогичных сайтов тьма-тьмущая, хотелось сделать что-то особенное. Я решил, что каждый сайт в каталоге будет представлен со скриншотом. Как все это автоматизировать я не знал, потому первое время я делал все скриншоты руками и заливал их уже как готовые файлы.
Шло время, проект «покрылся пылью», времени заниматься ним не было, но примерно год назад накатила новая «волна креатива» и захотелось мне решить «задачку автоскриншотера».
Первое, что пришло на ум — это готовые сервисы по созданию скриншотов, предоставяющие API. Но, перебрав некоторые (сейчас уже названия не помню), понял, что это не для меня: возможности были довольно урезаны, иногда приходилось довольно долго ждать «очереди», иногда сайты на скринах выглядели довольно убого. А главной проблемой было то, что все это должно было работать асинхронно и из скрипта я бы не смог понять — то ли сервис отдал мне временную картинку-заглушку, то ли уже готовый скриншот сайта.
Итого, я решил сделать собственный «велосипед».
четверг, 16 декабря 2010 г.
Как устроить DDOS атаку на сервер баз данных одной строчкой
40 МБит / сек — неплохой трафик для DDOS атаки. Именно на столько внезапно вырос входящий трафик до одного из наших серверов. Сайт мужественно держался. Время начала всплеска аномально высокого трафика подозрительно точно совпадало с временем выкладывания одного крупного релиза, что и навело на мысль о том что мы DDOS`им себя сами.
вторник, 16 ноября 2010 г.
phpinfo.php: невероятно, но факт
Дело было вечером, делать было нечего. Написал скрипт для поиска файлов phpinfo.php. Было исследовано 36,804 сайтов Рунета, на 1,725 нашёлся файл phpinfo.php с функцией phpinfo (~4.69%).
Как видно, не все вебмастера знают простую истину – взлом сайта начинается со сбора информации о сервере.
Аналогичная проверка зарубежных сайтов показала, что наши иностранные коллеги более благоразумны: исследовано 166,652 сайтов, phpinfo.php обнаружен на 3,923 (~2,35%).
%username%, а ты удалил файл phpinfo.php (temp.php, test.php) со своего сайта?
Побочный результат исследования, статистика версий PHP
Как видно, не все вебмастера знают простую истину – взлом сайта начинается со сбора информации о сервере.
Аналогичная проверка зарубежных сайтов показала, что наши иностранные коллеги более благоразумны: исследовано 166,652 сайтов, phpinfo.php обнаружен на 3,923 (~2,35%).
%username%, а ты удалил файл phpinfo.php (temp.php, test.php) со своего сайта?
Побочный результат исследования, статистика версий PHP
понедельник, 1 ноября 2010 г.
[Ссылка] Архитектура Вконтакте
Самая популярная социальная сеть в рунете пролила немного света на то, как же она работает. Представители проекта в лице Павла Дурова и Олега Илларионова на конференции HighLoad++ ответили на шквал вопросов по совершенно разным аспектам работы Вконтакте, в том числе и техническим. Спешу поделиться своим взглядом на архитектуру проекта по результатам данного выступления.
Ссылка: http://habrahabr.ru/linker/go/107122/
Источник: Хабрахабр - Высокая производительность
Оригинальная страница: [Ссылка] Архитектура Вконтакте
Ссылка: http://habrahabr.ru/linker/go/107122/
Источник: Хабрахабр - Высокая производительность
Оригинальная страница: [Ссылка] Архитектура Вконтакте
четверг, 7 октября 2010 г.
Производительность функции unserialize
В PHP есть две замечательные функции serialize и unserialize. Первая преобразует в строку практически любой набор данных, вторая производит обратное преобразование. Эти функции удобно использовать при организации кеширования или хранения сессий в базе данных. Я обнаружил, что время работы функции unserialize может оказаться неожиданно большим.
вторник, 5 октября 2010 г.
PHP class для Goo.gl

И опять немного о Goo.gl. Листая хабр видел предложения на JS, но лично мне они не подходили. Сегодня случайно наткнутся на симпатичное для меня решения, коим и делюсь с общественностью…
пятница, 10 сентября 2010 г.
Замыкания в php
Не секрет, что в PHP 5.3 был введен ряд интересных новшеств. Разной степени полезности и скандальности. Возможно даже, что выпуск PHP 5.3 — хорошо спланированный PR-ход: самый большой список изменений за последние пять лет, оператор goto (sic!), пространства имен (namespaces) с синтаксисом «не как у всех», позднее статическое связывание (late static binding), более-менее честные анонимные (лямбда) функции (lambda functions), замыкания (closures).
вторник, 31 августа 2010 г.
F3: маленький PHP-фреймворк с огромными возможностями

Хочу представить вашему вниманию легковесный PHP-фреймворк, на который я недавно наткнулся и который сразу же полюбил.
Fat-Free чем-то похож на известный Ruby-фреймворк Sintara. Автор Fat-Free помешан на минимализме и чистоте кода, что положительно отразилось на этом простом каркасе для разработки самых разнообразных приложений.
Fat-Free состоит из одного файла и весит всего 55KB. При этом фреймворк обладает таким функционалом: специфический и довольно удобный шаблонизатор, гибкое кеширование, автоматическая защита от спама, интегрированные средства для юнит тестов, профайлер кода.
Он настолько маленький и быстрый, что даже может использоваться для контроля траффика Web-сервера.
Это, также, единственный фреймворк, который защищает Ваше приложение от хотлинкинга и DoS атак.
понедельник, 23 августа 2010 г.
Несколько советов для PHP-разработчиков

пятница, 20 августа 2010 г.
Smarty против XSLT
Очень распространено заблуждение о том, что xslt — это сплошные тормоза, а smarty — наше всё. Отставим в сторону лаконичность синтаксиса смарти и удобство поддержки xslt, а устремим наш пристальный взор именно на скорость их работы.
Рисовать мы будем нечто чуть более сложное чем «привет мир» — дерево. Это не даст нам использовать копипасту и заставит повторно использовать код для вывода узлов. Количество их пусть будет небольшим — 100 штук.
Рисовать мы будем нечто чуть более сложное чем «привет мир» — дерево. Это не даст нам использовать копипасту и заставит повторно использовать код для вывода узлов. Количество их пусть будет небольшим — 100 штук.
Подписаться на:
Сообщения (Atom)