Доброго времени суток, хабралюди! Сегодня я хочу представить вашему вниманию 30 комплектов иконок. Несмотря на то, что все иконки выполнены на очень высоком уровне, распространяются они абсолютно бесплатно. Превью для каждого пака внутри.
iniweb @iniweb
User
Zend Framework первой свежести, ч1: зендируем MVC
8 min
3.7KМеня тут разбанили по просьбе Дина, и я решил принести пользу обществу. Поскольку я дурак и ничего не умею, дай, думаю, напишу о ZF — офигенной штуке, которую все почему-то искренне ненавидят. Надо успеть, правда, пока по НТВ не стали показывать Пелевина (жаль, ненастоящего).
Главная беда всевозможных QS в том, что они действительно quick и действительно start, но если делать все как там, получится не особенно «масштабируемое» приложение, с которым не очень понятно, что делать. По сравнению с официальным quickstart'ом прошлой версии Zend Framework'a, новый просто великолепен, но не лишен недостатков. Я пойду с другого конца: вместо того, чтобы обьяснять, как сделать что-то бессмысленное и типовое, попробую (!) рассказать, как писать приложение вообще, используя всевозможными способами Zend Framework. А, пора хабракат делать.
Главная беда всевозможных QS в том, что они действительно quick и действительно start, но если делать все как там, получится не особенно «масштабируемое» приложение, с которым не очень понятно, что делать. По сравнению с официальным quickstart'ом прошлой версии Zend Framework'a, новый просто великолепен, но не лишен недостатков. Я пойду с другого конца: вместо того, чтобы обьяснять, как сделать что-то бессмысленное и типовое, попробую (!) рассказать, как писать приложение вообще, используя всевозможными способами Zend Framework. А, пора хабракат делать.
+65
Статья по мотивам моего выступления на PHPConf. Общий обзор Flex-а и связки PHP&Flex
17 min
2KСтатья будет полезна тем, кто хочеть познакомиться с Flex и его интеграцией с PHP, оценить плюсы и минусы использование этого решения в продакшен. Хочу заметить выступление почти двух годичной давности, однако многое (практически все=) до сих пор актуально.
PHP&Flex, «новая» альтернатива для создания Rich Internet Applications
PHP&Flex, «новая» альтернатива для создания Rich Internet Applications
+50
WebAmp Concept
2 min
834По традиции, хочу сразу предупредить, что я не программер и не знаю насколько возможно реализовать нижележащие фишки, но тем не менее таковые есть.
Добрый вечер. Я очень люблю музыку. Раньше я пользовался Винапом и был счастлив. Но с развитием интернета, скоростей передачи данных и различных аудио-хостингов стационарная музыка на жестких дисках начала уступать место музыке в веб-формате.
Последнее время я слушаю музыку исключительно из поиска Вконтакте. Найду все песни, например Король и Шут (очень я любил этот ансамбль в детстве) и слушаю целый день. Одна беда — поиск находит все песни всех пользователей и в списке могут стоять 5 одинаковых песен подряд, а некоторые песни меня просто достали, короче постоянно приходится отвлекаться на то, чтобы перепрыгнуть на следующую композицию.
Суть концепта: плеер грабит плейлисты на аудиохостингах. Например, указав адрес vkontakte.ru/audio.php?xxxx, все композиции попадут в плейлист плеера, которые можно удалить, поменять местами и прослушать, не заходя на сайт.
1. Свернутый портативный режим
Добрый вечер. Я очень люблю музыку. Раньше я пользовался Винапом и был счастлив. Но с развитием интернета, скоростей передачи данных и различных аудио-хостингов стационарная музыка на жестких дисках начала уступать место музыке в веб-формате.
Последнее время я слушаю музыку исключительно из поиска Вконтакте. Найду все песни, например Король и Шут (очень я любил этот ансамбль в детстве) и слушаю целый день. Одна беда — поиск находит все песни всех пользователей и в списке могут стоять 5 одинаковых песен подряд, а некоторые песни меня просто достали, короче постоянно приходится отвлекаться на то, чтобы перепрыгнуть на следующую композицию.
Суть концепта: плеер грабит плейлисты на аудиохостингах. Например, указав адрес vkontakte.ru/audio.php?xxxx, все композиции попадут в плейлист плеера, которые можно удалить, поменять местами и прослушать, не заходя на сайт.
1. Свернутый портативный режим
+63
Организуем релевантный поиск по разнородным данным с помощью Sphinx
10 min
22KВ одном из текущих проектов возникла задача поиска по данным разного типа, которая была успешно решена с помощью зарекомендовавшей себя поисковой машины Sphinx, но обо всем по порядку.
В проекте есть на данный момент 2 зоны:
Постановка задачи
В проекте есть на данный момент 2 зоны:
- географическая зона, реализованная на базе Google Maps, которая отображает нанесенные пользователями на карту географические объекты (маркеры, маршруты и области);
- информационная зона, которая представляет собой большой иерархически организованный каталог, содержащий информационные материалы.
+44
Как организовать рабочие копии множества проектов для множества разработчиков на одном сервере разработки
2 min
1.6KЗачем вообще работать на сервере разработки, ведь каждый разработчик может поднять свою рабочую копию на своей локальной машине?
Во-первых, это возможно далеко не всегда — бывают случаи, когда то или иное ПО необходимое для работы проекта отказывается работать или просто не существует для ОС используемой на машине разработчика, во-вторых — версии и настройки установленного ПО придется контролировать и команда будет постоянно сталкиваться с проблемами типа «А у меня на машине работает», в то же время разработчикам придется самостоятельно устанавливать все необходимое для проекта ПО на свою машину, в-третьих — работа проекта зачастую значительно привязана к базе данных и разработчикам придется таскать дамп базы каждый раз, когда в ней будут производиться значимые для работы проекта изменения, в-четвертых — будет сложно показать клиенту наработки из такой рабочей копии.
Во-первых, это возможно далеко не всегда — бывают случаи, когда то или иное ПО необходимое для работы проекта отказывается работать или просто не существует для ОС используемой на машине разработчика, во-вторых — версии и настройки установленного ПО придется контролировать и команда будет постоянно сталкиваться с проблемами типа «А у меня на машине работает», в то же время разработчикам придется самостоятельно устанавливать все необходимое для проекта ПО на свою машину, в-третьих — работа проекта зачастую значительно привязана к базе данных и разработчикам придется таскать дамп базы каждый раз, когда в ней будут производиться значимые для работы проекта изменения, в-четвертых — будет сложно показать клиенту наработки из такой рабочей копии.
+18
Иерархические структуры данных и производительность
14 min
23KВведение
В своей предыдущей статье я дал краткий обзор основных моделей хранения иерархических структур в реляционных БД. Как и положено тому быть, у многих читателей стал вопрос ребром о производительности представленных алгоритмов.
В данной статье я постараюсь приоткрыть завесу над этим животрепещущим вопросом, а в следующей обещаю коснуться вопросов оптимизации и поисков нестандартных решений.
+117
Правильная интеграция Doctrine в CodeIgniter
7 min
5.3KЗдравствуйте, на днях занялся интеграцией популярного PHP-ORM Doctrine с не менее популярным PHP-фрэймворком CodeIgniter и обнаружил, что официальный способ интеграции, озвученный в кукбуке Doctrine и на вики CodeIgniter вызывает у меня, по меньшей мере, негодование.
+31
Краткий обзор скриптов интернет-магазинов
2 min
26KПо моему, скрипт интернет-магазина является своего рода, лакмусовой бумажкой для веб-студий. У любой приличной компании или хорошего программиста, занимающихся созданием сайтов, в портфолио обязательно есть какой-никакой интернет-магазин и по нему можно точно определить профессионализм разработчика. Однако из-за того, что магазины охватывают широкий спектр технологий и функционала, создавать магазин каждый раз «с нуля» не имеет смысла. Гораздо проще взять готовый скрипт и исправить его под свои нужды. Возникает логичный вопрос — а какой скрипт брать? В этом я и попытаюсь разобраться.
+24
Советы для разработчиков CMS и фреймворков на PHP
2 min
2.2KУже не раз сталкиваюсь с подобной проблемой, когда люди приходят и просят помочь в решении проблем распределения нагрузки при внезапном возрастании аудитории их сайтов. Ну и самое трудоемкое в данной проблеме — это самописные CMS-подобные системы, которые иногда приходиться переписывать полностью.
Я не буду вдаваться в подробности распределения нагрузки, а отпишу лишь основные правила при соблюдении которых Ваша CMS будет легко масштабироваться.
Я не буду вдаваться в подробности распределения нагрузки, а отпишу лишь основные правила при соблюдении которых Ваша CMS будет легко масштабироваться.
+45
Intrusion Detection For PHP Applications With PHPIDS
4 min
3.9KTranslation
Эта статья покажет как настроить PHPIDS. PHPIDS (PHP-Intrusion Detection System) — это легко используемая, хорошо структурированная, быстрая прослойка для анализа безопасности ваших приложений. IDS — не является прослойкой для анализа данных, введенных пользователем, он только распознает, когда пытаются атаковать ваш сайт. на основе набора проверенных и оттестированных правил каждой атаке сопоставлен рейтинг ее опасности. Это позволит легко сохранять статистику по атакам или отсылать уведомления для команды разработчиков.
+10
Работа с ветками SVN
6 min
187KПрежде чем приступать вообще к использованию веток, и даже если вы и не думаете их использовать, необходимо прочесть Этот Священный Талмуд.
После того как вы прочли статью о ветках в svnbook, вы уже понимаете для чего нужны ветки, как с ними работать и в каких случаях их необходимо использовать. В принципе, после этого, то, что написано под катом вам уже скорее всего не нужно. Но если вам было лень читать, то может текст ниже вас заинтересует, и вы все таки прочтете статью документации. А может, просто поможет вам лучше понять то, что только что прочли в svnbook-е.
После того как вы прочли статью о ветках в svnbook, вы уже понимаете для чего нужны ветки, как с ними работать и в каких случаях их необходимо использовать. В принципе, после этого, то, что написано под катом вам уже скорее всего не нужно. Но если вам было лень читать, то может текст ниже вас заинтересует, и вы все таки прочтете статью документации. А может, просто поможет вам лучше понять то, что только что прочли в svnbook-е.
+78
Имена методов и функций
3 min
36KИзучая всякого рода системы, я обнаружил, что у многих наблюдаются проблемы с именованием методов. Это побудило меня написать статью.
+102
jQuery plugin positioning
1 min
1.5KПри разработаке одного проекта возникла проблема позиционирования дива посередине страницы независимо от ширины дива и от того, есть ли скролл на странице.
Если страница влезается на экран — можна делать через сss (position:absolute; left i top), но и тут надо учитывать в каждом варианте ширину дива.
Если же на странице появляется скроллинг — тогда есть некоторые проблемы.
Так как последним временем (и в том проекте тоже) пользуюсь Javascript-фреймворком jQuery — решил оформить в виде плагина.
Так появился плагин positioning.
Плагин имеет 2 методы:
positioning(leftOffset, topOffset, scroll) — позиционирует элемент на странице
leftOffset — сдвиг по горизонтале
topOffset — сдвиг по вертикали
scroll — параметр, который задает позиционирование относительно «абсолютной» верхней левой точки браузера, или позицинирование относительно верхней левой точки уже проскролленной страницы.
Вызов centering() — позиционирует элемент точно по центру страницы.
Плагін тестировал в FF 3.0, IE6.0+, Safari 3.1, Opera 9.6
Пример можно посмотреть здесь
yablog.org.ua/jquery/index.html
Внизу страницы есть 3 кнопки — кликая на них можно посмотреть плагин в действии
Если страница влезается на экран — можна делать через сss (position:absolute; left i top), но и тут надо учитывать в каждом варианте ширину дива.
Если же на странице появляется скроллинг — тогда есть некоторые проблемы.
Так как последним временем (и в том проекте тоже) пользуюсь Javascript-фреймворком jQuery — решил оформить в виде плагина.
Так появился плагин positioning.
Плагин имеет 2 методы:
positioning(leftOffset, topOffset, scroll) — позиционирует элемент на странице
leftOffset — сдвиг по горизонтале
topOffset — сдвиг по вертикали
scroll — параметр, который задает позиционирование относительно «абсолютной» верхней левой точки браузера, или позицинирование относительно верхней левой точки уже проскролленной страницы.
Вызов centering() — позиционирует элемент точно по центру страницы.
Плагін тестировал в FF 3.0, IE6.0+, Safari 3.1, Opera 9.6
Пример можно посмотреть здесь
yablog.org.ua/jquery/index.html
Внизу страницы есть 3 кнопки — кликая на них можно посмотреть плагин в действии
+5
Вся неправда про Суперхабр
3 min
20KПользуясь случаем, пока все спят, я расскажу вам всю неправду о суперхабре. Надеюсь, коллеги не будут против, если я внесу немного неясности в вопрос, что же такое суперхабр и зачем он нужен с технической точки зрения?
Итак, для тех кому это интересно, расскажу об составляющих частях этого проекта.
+218
Оптимизация MySQL запросов
4 min
125KВ повседневной работе приходится сталкиваться с довольно однотипными ошибками при написании запросов.
В этой статье хотелось бы привести примеры того, как НЕ надо писать запросы.
В этой статье хотелось бы привести примеры того, как НЕ надо писать запросы.
+121
Автоматизация разработки web проектов в среде UNIX
2 min
1.4KС какого боку не посмотри, а процесс автоматизации всегда важен. Компаниям он помогает экономить уйму времени-денег, администраторов избавляет от рутины, а людей не посвящённых в детали чужой работы от головной боли.
Я хочу поделиться своим решением по задаче частичной оптимизации и снижения производственных издержек. Мне пришлось написать данный bash скрипт по причинам, которые были озвучены выше. Есть ещё причина,
Хочу сразу предупредить непосвящённых о том, что конфигурация Apache, MySQL может отличаться от приведённой ниже( а так скорее всего и будет). Будьте внимательнее в корректировке путей, когда решите адаптировать этот скрипт под свои цели.
Я хочу поделиться своим решением по задаче частичной оптимизации и снижения производственных издержек. Мне пришлось написать данный bash скрипт по причинам, которые были озвучены выше. Есть ещё причина,
Хочу сразу предупредить непосвящённых о том, что конфигурация Apache, MySQL может отличаться от приведённой ниже( а так скорее всего и будет). Будьте внимательнее в корректировке путей, когда решите адаптировать этот скрипт под свои цели.
+2
Установка и настройка SVN (сервер+клиент)
6 min
313KПо просьбам трудящихся, а так же учитывая, что есть статья по установке SVN (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.
+57
Тестовое задание для PHP разработчика на испытательном сроке
3 min
44KПосле прохождения собеседования (ох и бурное обсуждение получилось), для разработчика наступает испытательный срок. Это один из самых тяжелых этапов для человека на новой работе — идет адаптации с новым коллективом, нескончаемый поток новых знаний, которые с трудом успеваешь усваивать, да еще и тестовое задания, и оно не из простых…
+18
Когда критическая ошибка приносит радость…
1 min
2KПрочитав недавно на пьяную голову «Обработка ошибок и исключений в PHP», решил применить полученные знания на практике. Честно, ещё 6 часов назад не знал, куда это меня приведёт, но в итоге теперь мои скрипты при ошибка зажигают вот такой симпотный экран:
+48
Information
- Rating
- Does not participate
- Location
- Минская обл., Беларусь
- Date of birth
- Registered
- Activity