Pull to refresh
137
0
Дмитрий Беляев @CuamckuyKot

веб-разработчик

Send message

Вот он какой, Doctrine 2.0 (Приурочено к релизу Doctrine 2.0 Alpha 3)

Reading time3 min
Views2.1K
image
Поздравляю, коллеги! 3 дня назад увидела свет треться альфа-версия самого мощного на сегодняшний день ORM-фреймворка для PHP: Doctrine.

И эта новость по большему счету заслуживает внимания потому что в Doctrine 2.0 произошли очень существенные изменения в сравнении с предыдущими версиями. Сразу замечу, что вкусности эти потребуют от нас ни много ни мало — поддержку php 5.3.
Читать дальше →

Создаём страницы-«заглушки» для своих сайтов

Reading time7 min
Views109K
Страницы-«заглушки»Если вы купили домен, а сайт ещё не запустили, то решить, что делать с ним — это довольно непростая задачка. Оставить начальную страницу вашего регистратора или стандартную страницу хостинга? Оба варианта выглядят, по меньшей мере, непрофессионально. Особенно, если вы собираетесь попиарить свой новый проект, рассказать о нём. В то же время, вы не хотите тратить слишком много времени для создания временной страницы, т.к. вам нужно работать над самим проектом.

Лучший выход из ситуации — создать простую страницу-«заглушку», которая будет рассказывать посетителям, что здесь, в конечном счёте, появится. Хорошая страница-«заглушка» может быть двух вариантов: информационная страничка, которая просто расскажет, что здесь будет после запуска; или страница, которая предлагает посетителям подписаться на уведомления или оставить запрос на бета (или альфа) тестирование. Ниже вы увидите несколько отличных примеров обоих типов, следуя которым, вы сможете создать свою такую страницу-«заглушку». Разумеется, среди них вы не увидите обычных страниц «В разработке» (с надоевшим дизайном), которых целая куча в сети.
А теперь подробнее и с примерами...

Инструменты для визуализации логов профайлера xdebug

Reading time2 min
Views23K
Наверное многие php разработчики используют профайлер xdebug для поиска узких мест в приложениях. Но просто смотреть логи очень не удобно, поэтому были созданы инструменты для их визуализации. Об этих инструментах я и хочу коротко рассказать.

Webgrind

Webgrind это набор php скриптов, которые можно установить на локальный или удаленный веб сервер. Дальше все просто до неприличия — закачиваем файл лога и смотрим статистику.
image
Самый очевидный плюс Webgrind'а это кроссплатформенность и простота установки.
Показывает список функций которые вызывались, количество вызовов (Invocation Count), общеё время потраченное на вызов (Total Self Cost) и общее время потраченное на выполнение (Total Inclusive Cost).
Можно скрыть php функции. Можно перейти внутрь функции, чтобы увидеть развернутую статистику.
Читать дальше →

Регистрация в качестве Индивидуального предпринимателя для freelance'ера: Зачем и как?

Reading time3 min
Views17K
После моей статьи «Freelance: ожидания, реальность, признание» сразу несколько человек обратилось ко мне с вопросом о юридических проблемах в работе freelance'ра. Скажу сразу, я далеко не юрист, но в свое время оформлял себе ИП, именно для freelance'а, а потому имею опыт, и некоторые знания в этой сфере, и могу ими поделиться. Хотя конечно мои выводы могут быть ошибочны, и у юристов эта статья наверняка вызовет легкую улыбку (или приступ раздражения), скажу еще раз, я просто хочу поделиться опытом, и рассказать как я регистрировался в качестве предпринимателя, и что мне дала эта бумажка.
Читать дальше →

резервное копирование rsync-ом

Reading time4 min
Views145K
Если у тебя на компьютере не хранится дорогих тебе фотографий или
документов, эта заметка будет тебе не интересна. Если ты уже делаешь резервные копии и механизм работы с ними тебя полностью устраивает, эту заметку тоже лучше пропустить. Если ты считаешь, что хорошо разбираешься в linux, то вряд ли почерпнёшь в ней что-то новое. Для остальных — делюсь
своим опытом

Подводные камни при использовании кэширования в nginx

Reading time10 min
Views58K
В web-сервер и reverse-proxy nginx встроены очень мощные возможности по кэшированию HTTP-ответов. Однако в ряде случаев документации и примеров не хватает, в результате не все получается так легко и просто, как хотелось бы. Например, мои конфиги nginx-а местами написаны кровью. Этой статьей я попробую немного улучшить ситуацию.

В этой статье: а) подводные камни при полностраничном кэшировании; б) кэширование с ротацией; в) создание динамического «окна» в закэшированной странице.

Я буду предполагать, что вы используете связку nginx+fastcgi_php. Если вы применяете nginx+apache+mod_php, просто замените имена директив с fastcgi_cache* на proxy_cache*

Если выбирать, кэшировать ли страницу на стороне PHP или на стороне nginx, я выбираю nginx. Во-первых, это позволяет отдавать 5-10 тыс. запросов в секунду без каких-либо сложностей и без умных разговоров о «высокой нагрузке». Во-вторых, nginx самостоятельно следит за размером кэша и чистит его как при устаревании, так и при вытеснении нечасто используемых данных.

Кэширование всей страницы целиком


Если на вашем сайте главная страница хоть и генерируется динамически, но меняется достаточно редко, можно сильно снизить нагрузку на сервер, закэшировав ее в nginx. При высокой посещаемости даже кэширование на короткий срок (5 минут и меньше) уже дает огромный прирост в производительности, ведь кэш работает очень быстро. Даже закэшировав страницу всего на 30 секунд, вы все равно добьетесь значительной разгрузки сервера, сохранив при этом динамичность обновления данных (во многих случаях обновления раз в 30 секунд вполне достаточно).
Читать дальше →

Установка nginx + php-fpm + memcache + eaccelerator на FreeBSD

Reading time3 min
Views49K
Зачем всё это? — спросите вы. Да просто захотелось поделиться с общественностью некоторым опытом, полученным в процессе оптимизации vds под нужды одного общеизвестного блого-социального движка, который на обычном хостинге чувствует себя, мягко скажем, некомфортно.

Началось всё с того, что я ушёл от firstvds, где уже ничто не спасёт от тормозов. Ушел на ганди.нет, взял одну шару (1 share), которую дали на месяц бесплатно. Кстати, акция эта (This summer, your server is free!) вроде еще не закончилась. ;) И начал на этой шаре проводить зверские эксперименты с установкой разного ПО. Тестировал результаты с помощью siege.

В итоге конфигурация из сабжа оказалась самая быстрая. Опытом её установки и настройки я и хотел бы с вами поделиться.

Поехали!

А давайте подружимся с SSH

Reading time7 min
Views3.2K
Многие мои знакомые так или иначе используют протокол SSH (заходя на свои роутеры, веб хостинги и непосредственно на собственные компьютеры дома и в офисе), при этом не все об этом знают.



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

В этой заметке вы узнаете:
  • как прописать псевдонимы для соединений
  • как настроить авторизацию без пароля
  • как передавать файлы по SSH
  • как запускать графические приложения по SSH
  • а так же получите общие советы по опциям SSHD


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

Webmin — система на кончиках пальцев

Reading time2 min
Views130K
image

Как говорится на официальном сайте, Webmin — это web-интерфейс для системного администрирования Unix. Используя любой современный баузер, Вы можете настраивать аккаунты юзеров, сервер Apache, DNS, файловый сервер и многое другое.
Читать дальше →

Небольшой апгрейд постраничной навигации Drupal-a

Reading time5 min
Views7.2K
На мой взгляд, у стандартной постраничной навигации Друпала есть несколько недостатков.

Во-первых, ссылка на последнюю страницу стала бы более информативна и занимала бы меньше места, если её заменить на номер последней страницы [28].


Во-вторых, стоит нам перейти на вторую страницу и мы тут же видим две ссылки на первую страницу: [1] и [Первая]


Аналогичную картину мы видим с противоположной стороны навигационной линейки


Ниже привожу вариант своего решения этих недочетов (для Drupal 6.x)
Читать дальше →

Список полезных PHP классов и библиотек

Reading time4 min
Views65K

Email


  • Swift Mailer
    Swift Mailer легко интегрируется в любое PHP-приложение. Это гибкий и элегантный ООП-подход к отправке писем с множеством функций: отправка эл.почты, используя SMTP, SendMail, Postfix, поддержка серверов и др.
  • PHPMailer
    Лучший класс для работы с эл. почтой. Поддерживает сообщения в цифровой форме, S/MIME шифрование, текстовые и HTML-письма, изображения, поддерживает несколько Email’ов, SMTP-аутентификация.

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

1001-ый способ вертикального выравнивания

Reading time2 min
Views128K
О вертикальном выравнивании блока неизвестной высоты по центру или низу родителя сказано много. Есть способы, основанные на display:table-cell для хороших браузеров (без кавычек) и expression для IE, способы, основанные на относительном позиционировании (могут плохо работать при переполнении). В этой заметке будет описан способ, работающий на особенностях такого мощного отображения, как встроенный блок (display:inline-block).
Читать дальше →

Drupal 7: вести с фронта

Reading time3 min
Views4K
Наконец разработка Drupal 7 дошла до состояния, когда результат можно поставить и попробовать (до этого много раз я пытался установить текущий билд, но ошибки убивали надежду еще до окончания установки). Так что всем интересующимся рассказываю, что нового ждет нас в Drupal.

Прежде всего, немного о цикле разработки. В начале сентября был объявлен Code Freeze: остановился прием патчей, добавляющих или изменяющих функциональность и API Drupal. После этого до 15 октября принимались патчи строго ограниченной тематики (чтобы довести начатое до конца), а теперь в ход идут только багфиксы. До релиза еще несколько месяцев, проблем много, но есть надежда на то, что внедренные к этой версии фреймворки автоматического тестирования помогут быстрее их исправить. В этом году релиза не будет точно, да и бета вряд ли поспеет.

Основной состав изменений для Drupal — это подстройка под хотелки пользователей, интегрирование функциональности очень популярных «апишных» модулей в ядро системы и шлифовка самых отвратительных углов ее программных интерфейсов. Направление «полу-фреймворк, полу-cms» остается неизменным.

Итак, что увидят юзеры:
Читать дальше →

Несколько полезных и интересных модулей для Друпала

Reading time3 min
Views10K
logoИзучая Drupal, я нередко натыкаюсь на новые задачи, которые необходимо реализовать, и проблемы, которые нужно устранить.
Конечно, сайты Drupal.ru и Drupal.org — неоценимые помощники во всех вопросах и помогут разобраться практически в любой поставленной задаче, однако сегодня хотелось бы рассказать вам о некоторых модулях и их возможностях, чтобы вам не пришлось лихорадочно искать ответы на ваши вопросы, когда подобный функционал вам вдруг понадобится. Возможно, вы не узнаете для себя ничего нового из этого топика, но я все же попробую.

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

простейший редактор bb кодов

Reading time2 min
Views8.9K
Совсем недавно во время работы над очередным проектом мне понадобился простенький редактор bb кодов.
Немного подумав и поискав по гуглу, я написал свой, наверное проще уже некуда… Редактор требует для работы подключенной библиотеки Jquery.
Публикую его здесь, может кому нибудь пригодится.
Читать дальше →

Оптимизация Drupal

Reading time17 min
Views30K
Вступление
Drupal – довольная распространённая CMS и это отложило на неё свой отпечаток – базовая поставка Drupal является не готовым решением для определённого вида сайта, а фундаментом для его создания. Существуют “сборки” на базе Drupal специализированные под определённые виды сайтов, например: новостные сайты. Но подобные сборки в данный момент мало распространены и плохо поддерживаются. В связи с этим при создании Интернет сайта на основе стандартной поставки Drupal используется большое количество готовых дополнительные модулей и тем оформления для Drupal, либо разрабатываются новые модули и темы специально для создаваемого Интернет сайта. Последним этапом работ по созданию сайта является его оптимизация, которую условно можно разбить на 4 шага:
  • встроенная оптимизация Drupal;
  • оптимизация Drupal с помощью модулей;
  • оптимизация конфигурации и обслуживания Drupal;
  • оптимизация сервера.

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

Разгоняем Wordpress до скорости света

Reading time7 min
Views141K
image
Скорость и отказоустойчивость – одни из тех факторов, что неизменно влияют на популярность вашего ресурса, ведь даже с лучшим в мире контентом медленно работающий сайт будет раздражать читателей и рано или поздно вы их потеряете. В этой статье мы будем оптимизировать самый популярный блоговый движок — Wordpress, работающий на PHP. А заодно рассмотрим несколько общих моментов в оптимизации сайтов.
Читать дальше →

Список полезных инструментов для php разработчика

Reading time10 min
Views150K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity