Pull to refresh
16
0
Халецкий Андрей @Priest

ИТ Предприниматель

Send message

Альтернатива firePHP

Reading time6 min
Views4.8K
Пару недель решил взяться за изучение PHP и спустя какое-то количество времени отлаживать скрипты через echo стало неудобно. Вспомнил о существовании такой вещи как firePHP, почитал документацию, скачал, поставил, обрадовался. Ведь так классно отлаживать скрипты через консоль!
Но увы, по непонятным мне причинам («X-Wf-» заголовки доходят, а все равно «no messages in Firebug Console»*), не заработал. Посмотрел в интернете — безуспешно, пришлось самому решать проблему.
Читать дальше →

Контекстное меню на javascript: небольшое, но мощное

Reading time5 min
Views14K
Вы наверняка не раз видели javascript-реализации контекстных меню на базе популярных библиотек, таких как jQuery и prototype. А значит обязательно сталкивались с основными их недостатками: неудобностью API, большим количеством кода, требовательностью к ресурсам, любовью к генерации огромного количества html кода. В один прекрасный момент эти проблемы пересилили мою лень и я решил бороться с ними, поставив следующие задачи:
  • Минимум html кода, генерируемого для меню (зачем нам засорять ДОМ)
  • Лаконичность js кода для создания меню (API вызова без копипасты)
  • Оптимум гибкости при работе (многоуровневые, динамически модифицируемые меню)
  • Как можно меньше кода в реализации библиотеки (6302 байта в несжатом виде)
  • Минимальное количество jQuery-вызовов (чтобы можно было легко от них отказаться тем, кто jQuery не использует)
  • Inline-события где это возможно вместо биндов (меньше ресурсов сожрет)

Контекстное меню

UPD: разместил проект в google code, пользуйтесь, развивайте:
svn checkout js-cmenu.googlecode.com/svn/trunk js-cmenu-read-only

Читать дальше →

UML, Классы и Отношения

Reading time10 min
Views68K
Существует много разработанных теорий, задокументированных технологий и парадигм программирования. Перед тем как углубиться с головой в их изучение было бы мудро изучить сам принцип взаимодействия программ и их структур. UML предлагаем вам разработанный стандарт что бы сделать это.

подробности

Еще одна реализация многопоточности на PHP

Reading time8 min
Views7K
Итак… Приступим.
В последнее время я встретил сразу 2 реализации многопоточности на Хабре. Немного подумав я решил написать и свой вариант.
Но так как у меня нет возможности использовать PCNTL библиотеку, то мне пришлось извратиться…

Задача: реализация многопоточности на PHP (threads)

Издержки: нет модуля PCNTL ( build w/o PCNTL )

Решение: чистый PHP + Unix ( pure PHP + Unix )

Читать дальше →

Обзор моделей работы с потоками

Reading time4 min
Views28K

Обзор моделей работы с потоками


Многие люди не понимают того, как многопоточность реализована в различных языках программирования. В наши времена многоядерных процессоров такое знание будет весьма полезно.
Вот вам небольшой обзор.
Читать дальше →

MySQL Performance real life Tips and Tricks

Reading time9 min
Views37K
Пообещал вчера написать статью о реальных случаях оптимизации БД MySQL.
Пришлось сегодня вставать утром пораньше чтобы воплотить обещанное в жизнь.
Централизованное управление мыслями поддерживать еще сложно, поэтому не судите строго за казусы и ляпсусы в моей статье.

В последнее время приходится достаточно часто заниматься оптимизацией производительности сайтов. И как правило «бутылочным горлышком» в производительности работы этих сайтов является именно БД, ошибки как в архитектуре так и в выполнении запросов. Начиная от неправильной расстановки индексов, либо совершенным их отсутствием, неправильным (неэкономным) выбором типов данных под определенное поле, заканчивая абсолютно нелогичной архитектурой БД и такими же нелогичными запросами.

В данной статье опишу несколько приемов, которые были использованы для приложения с 4млн+ пользователей и которое имея порядка 100млн+ хитов в сутки, а в конце опишу задачу, которая решалась недавно и может быть многоуважаемое сообщество предложит мне решения этой задачи более эффективное нежели то, к которому пришел я.

Читать дальше →

Теория кэша

Reading time5 min
Views13K

Введение


Кэширование – это неотъемлемая часть всех сложных систем. Кэширование позволяет существенно увеличить скорость работы приложения, путем сохранения трудновычислимых данных для их последующего использования. Впрочем, не буду вдаваться в определения, большинство разработчиков отлично знает что это такое.

В данной статье я попытаюсь «разложить по полочкам» проблему кэширования, ориентированную прежде всего на сайты и системы управления контентом. Сразу предупреждаю, это мои личные соображения, которые не претендуют на истину в последней инстанции. Вся терминология так же моя, вы можете использовать её, если считаете нужным на своё усмотрение. Конструктивная критика приветствуется.
Читать дальше →

svn tips

Reading time2 min
Views3.3K
Сегодня занимался устройством проекта и возился с svn — решил поделиться некоторыми советами:
Автоматическая заливка кода на сервер из репозитория после коммита
Версионирование файлов настроек (Settings.php/xml/yml)
Храниение жирных и малоизменчивых сторонних библиотек в репозитории с быстрым чекаутом проекта
Читать дальше →

Супер-юзабильные формы

Reading time2 min
Views54K
super_form

Как-то на хабре разгорелся спор, как заставить пользователя вводить дату в правильном формате, было множество интересных решений, но заставлять пользователя совершенно не надо — пусть за пользователя основную работу делают машины :-).

На помощь приходит замечательный скрипт «Masked Input Plugin», который позволяет назначить для каждой формы маску, по которой данные будут заполнятся.

Возможно Вы не совсем поняли, но лучше один раз увидеть, чем сто раз услышать.
Читать дальше

Яндекс поиск на вашем сайте.

Reading time2 min
Views7.6K
Приведу пример класса, который можно использовать в качестве поисковика на вашем сайте.
Для работы класс использует сервис Яндекс.XML. В свободном режиме они разрешают использовать до 1000 запросов в день. Условия использования сервиса на xml.yandex.ru

Яндекс.XML — это сервис, позволяющий делать автоматические поисковые запросы к Яндексу и публиковать его ответы у себя на сайте в собственном дизайне. Поиск от Яндекса — это быстрый доступ к сотням миллионов документов и изображений.

С помощью Яндекс.XML вы можете предлагать своим пользователям:
  • поиск по вашему сайту (в той мере, в какой этот сайт проиндексирован Яндексом);
  • поиск по сети или ее части (регион, отрасль), результаты которого могут показываться на вашем сайте и в вашем дизайне, и сервисы на его основе — Яндекс.XML открывает большие возможности для исследователей поисковых систем и преподавателей;
  • поиск изображений, опубликованных в сети.

Читать дальше →

Мопед не мой, я просто разместил объяву

Reading time6 min
Views13K
Часто клиенту важен результат: продажи. Методы решения задачи: технологии, реклама, стиль, отбор и влияние на целевую аудиторию, поддержка и продвижение интернет-ресурса являются средством и не интересуют заказчика.

Или он просто не верит в эффективность затеи и жалеет ресурсов.

Тогда студии поступает предложение типа: «сделайте все сами как надо, а с продажи получите процент». Соглашаться или нет? Каждая студия в каждом случае решит самостоятельно.

Эта статья про цели, риски, способы оформления: агентский договор, договор комиссии, договор поручения и договор возмездного оказания услуг.

Читать дальше →

nginx как reverse proxy

Reading time1 min
Views41K
Несколько читателей блога webo.in просили меня выложить конфигурацию связки nginx + Apache, на которой работает сервер. Хотя это и не относится напрямую к теме клиентской оптимизации. Однако, большинству специалистов, занимающихся клиентской оптимизацией, будет интересно узнать о настройке нескольких хостов для выдачи статики и пара других трюков, связанных с балансировкой запросов.

Также я подробно комментирую все настройки конкретно Apache, которые так или иначе относятся к самой оптимизации времени загрузки страниц.

читать дальше на webo.in →

ТЗ для web-разработчика

Reading time4 min
Views21K

Написание хорошего ТЗ для разработки сайта еще та проблема, и я поделюсь своим опытом по созданию «человеко-понятного» описания для заказчика для разработчика.
Читать дальше →

38 статей о создании закругленных углов на сайтах

Reading time4 min
Views12K
Моя статья на Временно.нет
38 статей о создании закругленных углов на сайтах
Часто сталкиваешься с необходимостью создания блоков с круглыми краями. Задавшись вопросом как вообще можно решить поставленную задачу, сделал подборку интересных статей и уроков на данную тему.

Здесь представлен обзор 38 статей, разбитых на 4 категории по способам реализации.
Читать дальше →

Успешный проект – проект, ориентированный на пользователя

Reading time12 min
Views2.7K
Ориентируя проект на цели пользователя, можно создать новые, удобные и востребованные сервисы. Более того, можно создавать социальные коммуникации вокруг товаров, и это успешно монетизируется! Вот только… Что поможет учесть цели ваших пользователей? Маркетинг? К сожалению, «лобовой» перенос в интернет практики обычного маркетинга не даёт результата.

Текст доклада Павла Коноплицкого на конференции SocialExperience 2008

Разные пользователи — разные потребности

порочное убеждение в том, что ресурс должен создаваться для всех

Успех лидеров рынка и недостаток информации о пользователях, попытки использовать в вебе оффлайновый опыт создания нового продукта или услуги часто превращается в порочное убеждение, что для успешности проекта он должен удовлетворять интересам максимального количества человек.
Читать дальше →

Установка и настройка SVN (сервер+клиент)

Reading time6 min
Views316K
По просьбам трудящихся, а так же учитывая, что есть статья по установке SVN (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.
Читать дальше →

Резиновая верстка — линейная зависимость горизонтального положения DIV-ов

Reading time2 min
Views12K
Задача: менять горизонтальное положение блочных элементов по линейной зависимости при изменении размера окна браузера.
Решение: термин «пропорциональность» подразумевает линейную зависимость двух параметров. Вспоминаем школьный курс геометрии: линейная зависимость — это прямая, её уравнение выглядит следующим образом: Y=aX+b. Для построения уравнения прямой необходимо и достаточно знать координаты двух точек, принадлежащих этой прямой. Если принять за Y горизонтальное положение блока, а за X — ширину окна, то задача сводится к определению параметров a и b.
Читать дальше →

Вредная верстка

Reading time9 min
Views75K
Как определить, что сайт сверстан качественно?
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.

Из этой статьи вы узнаете:


  • О плохих приемах современной верстки;
  • О том, как даже не будучи профессионалом, за 5 минут определить плохо ли сверстан сайт или нет.


Читать дальше →

Работаем с ExtJS на языке РНР — библиотека PHP-Ext

Reading time4 min
Views4.2K

Я вряд ли ошибусь, если предположу, что язык РНР достаточно популярен, если не самый популярный в веб-разработке. Мы не будем анализировать причины этого (а тем более, следствия), а сконцентрируемся на одном небольшом аспекте, а именно — как на РНР разрабатывать сложные AJAX веб-приложения. И не просто так разрабатывать, а использовать в своей работе библиотеку ExtJS, которая позволяет создавать интерфейсы для этих веб-приложений. Конечно, все это можно разнести и серверная сторона, на РНР или на любом другом языке, совершенно ничего не будет знать о клиентской части и AJAX-библиотеке, просто оперируя JSON данными и обычным HTML. Но можно сделать и по-другому — этот подход, аналогичен популярной сегодня технологии Google Web Toolkit. Мы ничего не разделяем, а просто пишем приложение, используя одну среду, один язык и все возможности (и языка и среды), а уже сервер самостоятельно генерирует код для клиента, полностью автоматически. Таким образом можно совсем (ну или почти) не знать и не разбираться в верстке, JavaScript и ExtJS, но писать приложения, которые будут использовать этот фреймворк.

Для языка Java подобные решения существуют, а недавно такой проект, EXT GWT, даже перешел под крыло самой компании-разработчика ExtJS, превратившись в вполне серьезное профессиональное решение. Ну а как в других языках? Java, конечно, хорошо и даже отлично, но душа и тело хотят разнообразия, или просто не хотят переучиваться. Для таких случаев есть свои решения. И одно из них, для РНР, так и называется — PHP-Ext.
Читать дальше →

Цифры, числа и числительные

Reading time9 min
Views40K
По следам хабралинча имени Рюмкина коснёмся темы правильного типографического оформления чисел. В голову пришли следующие темы, если что-то вдруг забыто — пишите в комментариях, добавлю в статью.
  • Минускульные и маюскульные цифры
  • Целые числа и десятичные дроби
  • Простые дроби
  • Буквенные сокращения (тысяча, миллион, миллиард)
  • Диапазоны
  • Порядковые числительные и числительные в составе сложных слов
Ещё в комментариях к хабралинчу возникло интересное обсуждение согласования и управления при употреблении порядковых числительных, но это, как мне кажется, скорее отдельная тема для блога Пишу правильно.

Читать дальше →

Information

Rating
Does not participate
Location
Беларусь
Date of birth
Registered
Activity