Обновить
50
0
Илья Барышев@Prophet

Пользователь

Отправить сообщение

Оптимизация работы с MySQL

Время на прочтение3 мин
Охват и читатели79K
Ни для кого не секрет, что работа с базой данных занимает большую часть работы практически любого сайта. И именно работа с БД чаще всего является узким местом веб-приложений.
В этой статье хотелось бы дать практические советы использования MySQL.
Сразу оговорюсь:
  • данная статья написана про MySQL, хотя общие вещи скорее всего справедливы для любой СУБД.
  • все написанное в статье является моей личной точкой зрения, и не является истиной в последней инстанции.
  • советы не претендуют на новизну и являются результатом обобщения прочтенной литературы и личного опыта.
  • в рамках данной статьи я не буду касаться вопросов конфигурирования MySQL.

Проблемы при использовании MySQL можно разделить на следующие три группы(в порядке значимости):
  1. Неиспользование или неправильное использование индексов.
  2. Неправильная структура БД.
  3. Неправильные \ неоптимальные SQL запросы.

Остановимся на каждой из этих групп подробнее.
Читать дальше →

Работа с временными зонами в PHP

Время на прочтение8 мин
Охват и читатели89K
Как только проект перестает быть завязан на ограниченное количество потребителей и растет география его применения, встает вопрос о применении временных зон. Когда я работал в одной известной интернет компании внедрение в работу временных зон (как в интерфейс отображения статистики, так и в программу анализа) было достаточно серьезным шагом.

Далее перевод :-)
Читать дальше →

Шаг 2. Настройка интернета

Время на прочтение3 мин
Охват и читатели27K
В первом шаге я рассмотрел установку Ubuntu и детали, которые очень важны при этом.
Пойдем дальше и посмотрим на вещи, которые следует настраивать сразу после установки Ubuntu.

Настройка интернета


Несмотря на пакет network-manager, с настройкой интернета на Ubuntu могут возникнуть проблемы.
Если ваша сеть настраивается без статических IP, то, возможно, вам повезло и вся настройка пройдет в GUI.

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

JavaScript: жать или не жать?

Время на прочтение1 мин
Охват и читатели1.9K
После публикации статьи на тему архивирования JS/CSS-файлов для последующей выдачи клиенту, я задумался на тему, какой же метод минимизации (minify) следует использовать. В докладе на конференции ClientSide'2007 не удалось установить четкого критерия, чем и как лучше всего сжимать JavaScript-файлы. Данная заметка посвящена рассмотрению как раз этой проблемы.

Задача



В качестве цели исследования был закреплен анализ всех известных средств статической минимизации JavaScript-кода, после чего нужно было ответить на три основных вопроса:

  • Имеет ли смысл пользоваться каким-либо минимизатором JS-кода?
  • Есть ли среди них универсальное средство, показывающее лучшие результаты в подавляющем большинстве случаев?
  • Если такого средства нет, то каковы критерии использования набора инструментов?


Итак, с постановкой задачи разобрались. Теперь рассмотрим, собственно, сами инструменты и графики степени сжатия ими исходного кода.

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

Векторизация растровых логотипов

Время на прочтение1 мин
Охват и читатели45K
На самом деле, не только логотипов, но и других рисунков/фото и прочих растровых изображений. Возможно у многих возникала такая потребность, увеличить логотип изображения, либо вручную было необходимо обрисовывать в фотошопе векторными линиями, что бы добиться более лучшего результата, чем исходное (как правило маленькое) изображение.

В любом случае, для всех, кому было необходимо векторизовать изображение (отсканированное, сфотографированное).

VectorMagic — онлайн векторайзер. По качеству результата, превосходящий оффлайновые standalone приложения такие как Adobe Streamline и Corel.

Этот сайт был разработан двумя энтузиастами из Лаборатории Искусственного Интеллекта Стэндфордского Университета (James Diebel & Jacob Norda).

Они разработали воистину хороший стартап(?), который имеет отличное качество векторизации. В общем, судите сами.

UPD: так как такая тема оказывается уже была, я хотел бы узнать, существую ли программы, по качеству лучше чем Adobe Streamline и Corel, для оффлайновой векторизации изображений? А то я таких не находил.

Как запретить браузеру выделять текст

Время на прочтение4 мин
Охват и читатели182K
Если Вы веб-разработчик, то у вас наверняка возникала необходимость в том, чтобы запретить пользователю выделение текста. Оговоримся, что я не имею ввиду полный запрет с целью защиты текста, а запрет на выделение всевозможных подписей, надписей и т.п. где выделение мешает работе интерфейса и пользователю (чаще всего при drag&drop, или выделении текста при двойном клике). Это в первую очередь касается веб-приложений и ни в коем случае не касается информационных сайтов.
Читать дальше →

Habrapuzzle

Время на прочтение1 мин
Охват и читатели670
Пятничное. Сегодня последняя адекватная пятница в году и мы тут в 908 запускаем секретный финишдаун (пока я пишу еще даже русский не работает), ну всё равно можно потрогать уже:



С наступающим друзья!
Postscriptum: Можно попробовать загрузить свою картинку.

Как грамотно отправлять почту из скриптов (в частности — на PHP)

Время на прочтение5 мин
Охват и читатели41K
Первая часть текста взята из инструкции хостинг-провайдера Netangels. Вторая — авторская.

Отправка почты из скриптов на PHP — вещь, которая очень часто встречается в веб-приложениях. К сожалению, как показывает практика, большинство разработчиков используют эту функцию неправильно, допуская в своих скриптах одни и те же ошибки. В результате оказывается, что письмо получателю пришло в неверной кодировке, просто не дошло, или дошло, но отображается совсем не так, как этого хотел автор.

Для того, чтобы быть уверенным, что ваше сообщение отправляется действительно верно, необходимо иметь по меньшей мере базовые представления о формате почтового сообщения. Формат почтового сообщения описан в нескольких стандартизирующих документах, основными из которых являются RFC 822 (описывает формат передачи простого текста на английском языке) и RFC 2045 и далее (описывает расширения этого формата для передачи произвольных данных).
Читать дальше →

Миранда — пустой контакт-лист

Время на прочтение1 мин
Охват и читатели2.9K
Многие столкнулись с проблемой при очередном изменении на серверах ICQ — контакты, заведомо имеющие статус online, видны как оффлайновые, хотя сообщения проходят.

При помощи сообщества mirandaim_ru в жж я попытался разобраться…
Читать дальше →

Изучаем наличие layout

Время на прочтение1 мин
Охват и читатели6.3K
Примечание: ниже представлен официальный перевод статьи «On having Layout» на русский язык. Статья не является окончательной. Этот перевод отражает 9 версию от 23.10.2007.

UPD текст статьи полностью убран в связи с его неконтролируемыми изменениями с момента публикации. Перепечатка доступна здесь

Когда деревья были большими или о том, с чего все начинали

Время на прочтение4 мин
Охват и читатели2.1K
Мне часто задают вопрос о том, с чего начать молодому frontend-разработчику? Дабы облегчить свою участь и не перечислять каждый раз множество ресурсов сети, печатных и зданий и общих тезисов, я и написал этот материал.

В первую очередь следует знать, что кроссбраузерная верстка сродни магии. Объясняется это все банальной вещью, которую я озвучу так: ”Все мы ненавидим Internet Explorer!” Таким образом, 90% всей магии сводится к тому, чтобы заставить правильно сверстанный макет корректно отображаться в браузере Internet Explorer всех актуальных версий.

Чтобы научиться сему мастерству потребуется практика, много практики. И сев сейчас серьезно изучать аспекты верстки, вы и через полгода будете удивляться, сколько вы до сих пор не знаете.

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

Безопасный метод авторизации на PHP

Время на прочтение9 мин
Охват и читатели365K
Примечание: мини-статья написана для новичков

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

EXPLAIN — Самая мощная команда MySQL

Время на прочтение2 мин
Охват и читатели163K
Самая мощная команда в MySQL – это EXPLAIN. EXPLAIN может в точности рассказать вам, что происходит, когда вы выполняете запрос. Эта информация позволит вам обнаружить медленные запросы и сократить время, затрачиваемое на обработку запроса, что впоследствии может значительно ускорить работу вашего приложения.
Читать дальше →

XDebug — если при отладке вам надоели echo(), var_dump() и print_r(). Часть 2.

Время на прочтение2 мин
Охват и читатели16K
Первая часть

Официальный сайт по проекту — www.xdebug.org
Параметры настройки, в скобках указана версия (например, Xdebug 2) — www.xdebug.org/docs-settings.php
Документация — www.xdebug.org/docs.php

Установка XDebug2 под Windows

1. Скачиваем расширение под нужную вам версию PHP:
PHP 4.4.1+
PHP 5.1.2+
PHP 5.2.1+
Читать дальше →

XDebug — если при отладке вам надоели echo(), var_dump() и print_r(). Часть 1.

Время на прочтение2 мин
Охват и читатели4.7K
XDebug — мощное расширение для отладки php-скриптов, которое написал норвежец Дерик Ретанс (Derick Rethans, www.derickrethans.nl, project leader for the eZ components). Работает как под Windows, так и под Linux, поддерживает версии PHP 4.4.1+, PHP 5.1.2+, PHP 5.2.1+.

Данное расширение предоставляет следующую информацию:
— стэк вызовов функций
— распределение памяти (memory allocation)
— профайлинг
— и т.п.
XDebug, в первую очередь, — хороший и легкий в установке профайлер, помогающий разработчику найти «узкие места» в коде, определить какие части вашего кода работают медленно: запросы к БД, подключение файлов, парсинг чего-либо и т.д.
Читать дальше →

Кропотливая оптимизация PHP-приложений (рассматриваю PHP5, но большинство справедливо и для 4-й ветки)

Время на прочтение9 мин
Охват и читатели9K

Когда во сне снится «ой а если сервера не хватит...»


Для начала, Доброй Ночи. Пишу что-то полезное вроде впервые (если не считать разного рода полу-тестов в моём блоге). Человек я допытливый до жути, неожиданно в голову пришло, что могу помочь сэкономить кому-то много времени ;).


танцуем с бубном

Как выявить медленные SQL запросы?

Время на прочтение2 мин
Охват и читатели95K
Это случалось с каждым из нас при разработке веб-сайтов или приложений, использующих MySQL в качестве базы данных. Производительность внезапно сильно падала, и вы не имели понятия, почему это случилось. Этому могут быть причиной многие факторы (сильная загрузка CPU, нехватка дискового пространства, или слабая пропускная способность канала), но также это может быть и неоптимизированный запрос, выполняемый намного дольше, чем должен.

Как узнать, какие из запросов выполняются дольше всего?
В MySQL есть встроенный функционал для ведения логов медленных запросов.
Узнать, как включить этот функционал

Повторяющиеся кнопки в таблицах

Время на прочтение1 мин
Охват и читатели1.6K
В следствии отсутсвия контекстного меню в вебе, дизайнерам часто приходится придумывать другие способы дать пользователю возможность работать с каким-то конкретным элементом или группой выбранных элементов. Очень ярко эти извращения проявляются в таблицах:
Таблица в PHPMyAdmin
Читать дальше →

О «Забытом пароле» замолвите слово.

Время на прочтение1 мин
Охват и читатели699
Всегда возникает задача о том как пользователю напомнить о забытом им пароле. Вариантов масса, простой смены пароля роботом до сохранения контрольного вопроса. Так вот хотелось бы спросить у людей — а какой вам способ больше всего нравится?

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

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность