User
PHP мануал
1 min
3.7K
Каждый PHP-программист пользуется справочной информацией. Кто-то привык работать с документацией на официальном сайте. Кто-то постоянно стирает пальцами до дыр учебник или справочник по PHP. Некоторым хватает Гугла.
А вот я привык к руководству в формате .chm. А привычка — дело сложное.
Когда мне пришлось перейти на разработку под Линуксом, я так и не смог пересесть за мануал с официального сайта PHP. Ставил кучу каких-то программ-читалок этого вебхелп-формата. Одна не показывала русские буквы, вторая падала на каждом первом chm-файле, третья не могла читать оглавление, n-ная и вовсе не запускалась. Поэтому я решил действовать согласно золотому правилу, что сделать надо что-то самому для себя, а не ждать у моря погоды.
Если вы, как и я, привыкли к chm-руководству, то разрешите поделиться с вами вот этой ссылкой. Это веб-вариант справки.
Пользуйтесь на здоровье.
p.s. Сразу предупреждаю, что я знать не знаю, как сайт выглядит в Internet Explorer, так как под Windows я не работаю да и пост мой посвящён соответствующим людям. Сильно не придирайтесь, пожалуйста, делал не на продажу.
+72
Причесываем трафик — динамический шейпер на Linux
4 min
59K
Предположим у вас есть домашняя сеть (или не домашняя, а сеть небольшого офиса) с выходом в интернет через не очень скоростной канал. А пользователей — много, и каждый хочет что-то скачивать, да с максимальной скоростью. Вот тут перед нами встатет задача, как максимально эффективно распределить наш интернет-канал между пользователями так, чтобы они не мешали друг другу. В этой статье я опишу, как можно решить такую задачу с помощью Linux-сервера.
Сформулируем, что же мы хотим получить в результате:
1. Чтобы канал поровну делился между пользователями.
2. Чтобы канал зря не простаивал.
3. Чтобы онлайн-игры, ssh и telnet не «лагали» даже при полной загрузке канала, например торрентами.
+96
Многоуровневое дерево с маркерами, сохраняющее состояние (HTML, CSS, jQuery, Cookies)
6 min
19KПродолжается развитие темы о многоуровневом дереве с маркерами. 
Теперь дерево выросло и окрепло, стало взрослее и помнит выбранный узел и состояние кажого узла в отдельности.
Страницу можно перезагружать, а дерево все равно будет помнить все что вы открыли и выбрали!

Теперь дерево выросло и окрепло, стало взрослее и помнит выбранный узел и состояние кажого узла в отдельности.
Страницу можно перезагружать, а дерево все равно будет помнить все что вы открыли и выбрали!
+34
Мини-обзор музыкального ПО под nix-системы
3 min
3.9KМною было неоднократно замечено что хабрапользователи интересуются музыкальным софтом под nix-системы. Поскольку интересуются они как правило при комментировании топиков, то и ответы получают там же. Позже найти какую-либо информацию в комментариях довольно не просто, поэтому было принято решение описать лучшие, на мой взгляд, программы, в отдельной статье.
+41
SOAP, генерация прокси класса
2 min
6.7KПреамбула:
Итак, делаем proxy-class
SOAP — протокол обмена структурированными сообщениями в распределённой вычислительной среде. Первоначально SOAP предназначался, в основном, для реализации удалённого вызова процедур (RPC), а название было аббревиатурой: Simple Object Access Protocol — простой протокол доступа к объектам. Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур. Официальная спецификация последней версии 1.2 протокола никак не расшифровывает название SOAP. SOAP является расширением протокола XML-RPC.
Итак, делаем proxy-class
+17
Движок микроблоггинга Reactor
1 min
8.4K
Все началось с того, что мы решили сделать свой микроблоггинговый сервис. Покопались в интернетах в поисках более-менее подходящего готового движка микроблоггинга, толком ничего не нашли. Потом рассмотрели кандидатуру движков обычного блоггинга — Wordpress, LiveStreet, BigStreet. Мы уже немного работали с ними, и решили не использовать в виду их архитектурных недостатков (наше ИМХО). Оставалось сделать что-то свое, но не с нуля, а используя фреймворк Symfony в связке с ORM Doctrine.
Будем краткими.
# Что это? — Движок микроблоггинга с картинками и настроениями, альфа версия. Пример работы движка — http://joyreactor.ru/
+37
Небольшой архив значков (пиктограмм)
1 min
2.9KДоброго времени суток. Хочу представить вашему вниманию мою подборку значков (пиктограмм), размером 16х16. Все значки бесплатны для личного и коммерческого использования.
Архив содержит:
Посмотреть preview и скачать можно тут или скачать с Народа
Архив содержит:
- SILK ICONS (www.famfamfam.com/ by Mark James)
- Fugue Icons версия 1.8.1 (www.pinvoke.com/ by Yusuke Kamiyamane)
- Silk Companion (www.damieng.com by Damien Guard)
- Xiao (www.ineversay.com by Delacro)
- Vaga (www.tenbytwenty.com by Ed Merrit)
- Sizcons (www.randomjabber.com by RandomJabber)
- Free Web Design Icon Set (www.semlabs.co.uk by SEM Labs)
- 3 сета бесплатных иконок от IcoJoy (www.icojoy.com)
Посмотреть preview и скачать можно тут или скачать с Народа
+26
Как правильно использовать исключения
3 min
15KЖаль, если ваше изучение концепции исключений закончится чтением соответствующего раздела официальной документации по вашему языку.
Изучив синтаксис конструкции try{...}catch(Exception $e){...}, узнав о возможности создавать собственные классы исключений, наследуя их от класса Exception и поверхностно осознав мощь оказавшегося в ваших руках механизма, дальше вы можете пойти по одному из двух путей:
Изучив синтаксис конструкции try{...}catch(Exception $e){...}, узнав о возможности создавать собственные классы исключений, наследуя их от класса Exception и поверхностно осознав мощь оказавшегося в ваших руках механизма, дальше вы можете пойти по одному из двух путей:
- Начать тут же использовать исключения. Скажем, прикручивать их к системе, в которой они никогда не использовались. Или приколачивать их к проекту, в котором ООП и не пахнет. Или, что самое ужасное, пытаться использовать их повсеместно, особенно там, где это не нужно.
- Попытаться понять, где их применять, как делать это правильно, и зачем они нужны.
+96
Как конвертировать файловую систему из ext3 в ext4
2 min
11KTranslation
Теперь у всех есть новая Убунту с поддержкой ext4, и в моём прошлом посте о его релизе было несколько комментариев с вопросами о том, как переделать файловую систему в этот самый ext4. По этому отличному поводу я решил перевести топик с wiki.kernel.org, где как раз про это написано. Перевод совсем вольный, разбавленный моими собственными мыслями. Кстати, про все новые плюшки ext4 можно почитать по-английски теперь по-русски здесь, а еще в новой статье yktoo вот здесь!
+45
PHP: новые функции по работе с массивами (array_replace, array_walk_recursive и array_diff_assoc)
Medium
2 min
66KReportage
Итак, в феврале 2009 г. в языке PHP появились новые функции для работы с массивами: функции array_replace, array_walk_recursive и array_diff_assoc, что упрощает работу с массивами и сравнение их элементов.
Остановимся на каждой функции и дадим примеры их использования.
Остановимся на каждой функции и дадим примеры их использования.
+199
Последняя проверка перед запуском сайта
3 min
4.2KTranslation
Запуск сайта ответственное мероприятие, надеюсь что этот список контрольных вопросов позволит ничего не упустить из виду.
+69
Рецепты хорошей типографики
7 min
57KСудя по результатам голосования, которое я проводил в своём блоге, большинство пользователей никак не типографируют тексты перед публикациями (НЛО не считается). Те, кто работают над текстами, в большинстве своём делают это вручную, поэтому я решил попробовать собрать воедино рецепты экранной типографики, дабы не забывать самому и напомнить другим. Не думаю, что статья будет чем‐то новым для опытных верстальщиков. Новички узнают, профи исправят :)
Содержание
- Дефисы, тире, минусы и другие палочки
- Кавычки и чёрточки
- Скобки
- Многоточие
- Заголовки, списки
+112
Геометрическая философия дизайна
3 min
15KРазливающийся Нил каждый год затапливает свои берега, а потом обнажает их вновь, оставляя открытой плодороднейшую почву. Каждый год древние египтяне должны были заново измерять свои участки земли и определять их границы. Позже, древние греки описали этот процесс и назвали его геометрией — измерением земли. Геометрия представлялась принципом установления порядка и закона в мире. Бытовая процедура стала наукой.
Древние геометры стремились найти универсальные принципы и законы, которые воплощаются в фигурах всех вещей на земле. Сегодня их открытия часто используются в дизайне. Например, типографские сетки можно строить на основе известных пропорций. Результат будет выглядеть гармонично и приятно для глаза.


Но знаем ли мы почему возникли именно такие пропорции? Какой смысл в них закрыт? Что видели древние и почему упорно применяли их для создания произведений искусства, особенно, носивших религиозный смысл?

На этом изображении XVI в. геометрия представлена женщиной. Она предается размышлениям о законах и принципах устройства мира. Мужчины, изображенные вокруг нее, воплощают эти принципы в ежедневном быту. Таким образом идеи и философские концепции находят выражение в материальных объектах и практиках.
Все мы в дизайне сегодня увлеченно занимаемся практиками, производим продукты. Однако интересно и полезно иногда вернуться к классическому образованию и даже покопать еще глубже, чтобы узнать об идеях, стоящих за нашей практикой, существующих многие сотни лет. Ну то есть больше узнать про женщину :)
Под катом я еще немного ее обрисую.
Древние геометры стремились найти универсальные принципы и законы, которые воплощаются в фигурах всех вещей на земле. Сегодня их открытия часто используются в дизайне. Например, типографские сетки можно строить на основе известных пропорций. Результат будет выглядеть гармонично и приятно для глаза.


Но знаем ли мы почему возникли именно такие пропорции? Какой смысл в них закрыт? Что видели древние и почему упорно применяли их для создания произведений искусства, особенно, носивших религиозный смысл?

На этом изображении XVI в. геометрия представлена женщиной. Она предается размышлениям о законах и принципах устройства мира. Мужчины, изображенные вокруг нее, воплощают эти принципы в ежедневном быту. Таким образом идеи и философские концепции находят выражение в материальных объектах и практиках.
Все мы в дизайне сегодня увлеченно занимаемся практиками, производим продукты. Однако интересно и полезно иногда вернуться к классическому образованию и даже покопать еще глубже, чтобы узнать об идеях, стоящих за нашей практикой, существующих многие сотни лет. Ну то есть больше узнать про женщину :)
Под катом я еще немного ее обрисую.
+79
Релиз JuffEd 0.6.0
3 min
2.8KКак говорится, «тихо и незаметно» вышла новая стабильная версия моего велосипеда свободного кроссплатформенного текстового редактора JuffEd.
На Хабре я пишу о нём впервые, поэтому поясню, что это за зверь.
(скриншот от хабраюзера reaferon):

Разработка началась чисто случайно, как ответ одному товарищу в споре «да блин, на С++ гуй писать просто нереально, замучишься всё руками фигачить, а вот в Delphi....». В качестве ответа был за полчасика-час набросан простой текстовый редактор на Qt с функциональностью а-ля Блокнот из ВинХР. Потом случайно увидел пример, как в Qt делается подсветка кода и прикрутил чисто ради практики. Потом понял, что им вполне уже можно пользоваться, что я и начал делать. Ну и пошло-поехало: фича там, фича тут, публикация на qt-apps.org, фичреквесты от пользователей…
На Хабре я пишу о нём впервые, поэтому поясню, что это за зверь.
(скриншот от хабраюзера reaferon):

Разработка началась чисто случайно, как ответ одному товарищу в споре «да блин, на С++ гуй писать просто нереально, замучишься всё руками фигачить, а вот в Delphi....». В качестве ответа был за полчасика-час набросан простой текстовый редактор на Qt с функциональностью а-ля Блокнот из ВинХР. Потом случайно увидел пример, как в Qt делается подсветка кода и прикрутил чисто ради практики. Потом понял, что им вполне уже можно пользоваться, что я и начал делать. Ну и пошло-поехало: фича там, фича тут, публикация на qt-apps.org, фичреквесты от пользователей…
+116
Clear или overflow:hidden — очистка всего потока или создание контекста форматирования?
2 min
35K
clear
со значениями left, right, both
действительно очищает поток в отличие от overflow
со значеним hidden
, которое создаёт отдельный контекст форматирования для выбранного элемента, тем самым локализуя действие свойства float внутри элемента к которому применён.+110
Управление потоком в CSS: создаём контекст форматирования
4 min
5.4KУправлять потоком можно не только свойствами
Статья не содержит универсальных решений, но открывает вашему взору дополнительный инструментарий для управления потоком.
clear
или overflow
. Возможно, вы найдёте полезным для себя использование display:inline-block
или display:table-cell
, способных полностью заменить вам упомянутый overflow
, избавляя вас от опасности указания размеров элемента, а также предоставляя дополнительные возможности.Статья не содержит универсальных решений, но открывает вашему взору дополнительный инструментарий для управления потоком.
+60
Simpla — движок для великолепных интернет-магазинов
7 min
14K
Последние 5 лет я создавал интернет-магазины. Много магазинов. Хороших и разных. Я был сам себе программистом, верстальщиком, дизайнером и менеджером.
Нельзя быть профессионалом в нескольких областях сразу, скажете вы. И, наверное, будете правы. Я не профессионал в дизайне и окучивании клиентов. Но интерес к этим областям и необходимость соответствующей деятельности дали мне кое-что. Тысячи вопросов за техподдержкой, бесконечные консультации клиентов и их контент-менеджеров, изучение чужих целевых аудиторий, общение с программистами, дизайнерами и верстальщиками от заказчиков подарили мне неплохой опыт. И главное — опыт не в одной области, а опыт во всех гранях процесса создания интернет-магазина. От программирования и дизайна, до общения с клиентом и анализа его бизнес-процессов.
Обычная история
Думаю, многим знакома ситуация, когда после создания сайта, на протяжении нескольких месяцев вам звонят с вопросом «как вставить картинку на сайт» сначала заказчик, потом его секретарша, потом новая секретарша, потом менеджер по продажам (секретарша в отпуске). А потом звонит их новый «компьютерщик», чтобы узнать какой файл ковырять, чтобы вставить красную бегущую строку справа от логотипа. И так далее, и тому подобное.
+203
Безопасный код: Работа с пользовательским вводом
5 min
5.7K
(ч2. Подделка межсайтовых запросов; ч2. Работа с базой данных)
Наверняка, XSS атаки остаются самыми популярными наравне с SQL инъекциями. Их принцип прост до безобразия, а последствия разнятся от невинного коверканья вывода страниц до получения злоумышленником полного контроля над сайтом.
Некоторые сценарии XSS атак
Устойчивая атака
- Вова создает частицу контента на сайте Пети.
- Когда Маша просматривает этот контент, Вовин XSS ворует Машины куки.
- Теперь Вова может пробраться на сайт, используя Машину сессию.
- Чем более людей увидит этот контент, тем более успешной можно считать атаку. Максимум достигается путем создания противоречивых холиварных тем на сайте и т.д.
+63
Ускоряем выборку произвольных записей MySQL
3 min
33KПоследнее время оживилась публика с вопросом случайной выборки из таблицы. Решений по оптимизации полно, и нового сейчас я вам наверное ничего не покажу, просто напомню про основные методы оптимизации — упрощение запроса и индексацию. Без предисловий про фриленсеров, сразу к делу ;)
+41
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Registered
- Activity