Часто при разработке CMS требуется вывести таблицу с какими-то элементами, которые можно выбирать и редактировать (например, список страниц сайта или список вопросов в FAQ). Казалось бы, что проще: достаточно использовать всего три тега — table, tr, td и все. Однако если список будет длинный, да еще названия элементов могут быть длинными и растягиваться на несколько строчек, то пользоваться такой таблицей будет не очень удобно. Можно дать несколько советов, как сделать такую таблицу более удобной. Читать далее…
- Перово, Москва, Россия
- me@4xpro.ru
- x4_pro
- XXXXPro
Новости сайта в Telegram
t.me/4x_proКомпьютерное
Отслеживаем медленные запросы или Почему тормозит Web-сервер
Бывают ситуации, когда Web-сервер тормозит, медленно выдает страницы, а что именно является причиной, непонятно. Первое что приходит в голову — поставить в скриптах контрольные точки, в которых фиксировать время выполнения скриптов. Это может быть достаточно трудной задачей, а при большой нагрузке и вовсе привести к зависанию. Поэтому сначала лучше попробовать встроенные средства Apache и MySQL: mod_status и лог медленных запросов.
Рекурсивный chmod только для каталогов
Часто сталкивался с ситуацией, когда для каталогов нужно выставить права 755, а для файлов — 644. Обычно решал так:
$ chmod -R 644 ./
а далее проставлял 755 вручную для каталогов, но это неудобно, особенно при глубокой вложенности. Сегодня нашел другое решение: можно формировать список файлов с помощью find, а затем вызывать chmod с помощью xargs. Т.е. получаем:
$ chmod -R 755 ./
$ find ./ -type f -print | xargs chmod 644
Если требуется наоборот, выполнить команду только для каталогов, то после -type нужно указать d вместо f. Важно так же помнить про права доступа (т.е. если сначала поставить всем 644, а потом пытаться повысить каталогам до 755, могут начаться ошибки доступа).
Свой сайт: с чего начать?
Многие люди, впервые задумавшиеся о создании своего сайта, не знают, с чего начать и поэтому начинают работу с самого очевидного: либо с дизайна, либо с доменного имени. Но это не самый удачный подход. Хотя бы потому, что без представления о том, что на сайте должно быть, сколько (хотя бы приблизительно) будет страниц, как между ними будет организована навигация пользователей, трудно продумать одну из основных составляющих дизайна — меню сайта.
Поэтому я решил предолжить небольшой план, которого придерживаюсь сам при работе над сайтами: Читать далее…
Боковые вкладки в Chrome
UPD: увы, тема уже неактуальна. Пару лет назад боковые вкладки в Chrome убрали окончательно и бесповоротно.
Не раз замечал, что когда в броузере открыто более десятка вкладок, у меня резко падает производительность труда. И дело не в компьютере (его возможностей вполне хватает), а в том, что я начинаю в этих вкладках путаться, больше времени уходит на поиск нужной вкладки и нужно точнее целиться мышкой для переключения (приучить себя к Ctrl+Tab в броузере так и не получилось).
Но недавно узнал, что в последних версиях Chrome есть экспериментальная функция: показ вкладок сбоку, а не сверху. Попробовал... Читать далее…
Загрузка JavaScript-библиотек с Google Loader
Наверное, каждый, кто делал несколько сайтов с помощью jQuery или каких-то других больших JavaScript-библиотек, задумывался, насколько удобнее было бы брать одну и ту же копию библиотеки для всех сайтов и сколько траффика можно было бы сэкономить.
К этой же мысли пришли и в Google, создав Google Loader API. Работает он следующим образом: на сайт подгружается небольшой JavaScript, который может загружать jQuery, jQuery UI, Google Maps, SFWObject, Prototype и еще несколько известных библиотек прямо с серверов Google.
Это дает целый ряд преимуществ: Читать далее…
Pixlr -- редактируем фото онлайн
Каждый, кто делал сайт с возможностью загрузки фото или хотя бы аватаров, наверное, задумывался о том, что хорошо бы сделать возможность пользователю отмасштабировать или обрезать фото прямо онлайн. Недавно я нашел весьма интересное решение: онлайн-редактор Pixlr, сделанный на Flash. По возможностям он мало уступает ранним версиям Photoshop (есть все те же основные инструменты, поддержка слоев, фильтров, которые были в Photoshop 7). Кроме того, имеется и более простая версия Pixlr Express, которая позволяет применить набор эффектов (изменение размера, обрезка, коррекция красных глаз, изменение баланса белого и т.п.) к изображению. Открывать в редакторе можно изображения как с URL, так и со своего компьютера в форматах JPG, TIFF, PSD, PNG и других.
Самый простой способ подключить редактор к своему сайту — открывать его в IFRAME. Но в этом случае пользователю придется сохранять отредактированный файл на свой компьютер, а потом грузить его на сайт. Неудобно. Поэтому лучше использовать Pixlr API для открытия и сохранения файлов прямо на сайт. API очень прост в освоении:
Блок высотой на всю страницу и фиксированный "подвал" снизу
Давно хотел разобраться, как верстать сайт с блоком, который будет растягиваться по высоте на всю страницу, и наконец-то это сделал. Как выяснилось, все просто: нужно и тегу body, и тегу html указать в стиле высоту 100%, а после этого задать для нужного блока height: 100%, или min-height: 100%, если требуется растягивать блок по вертикали при большом объеме контента.
Но мне требвалось не только сделать такой блок, но и разместить внизу "подвал" так, чтобы он был всегда снизу и имел фиксированную высоту в пикселях. Причем была возможна ситуация, когда в основном блоек контента окажется больше, чем на одну страницу, и в этом случае "подвал" должен оказаться после его окончания (т.е. вариант со стилем position: absolute; bottom: 0 для подвала не подходил).
В итоге я сделал у "подвала" отрицательное поле сверху равным высоте блока, а в основной блок вложил еще один с положительным отступом снизу (тоже равным высоте), чтобы "подвал" не накладывался на контент. В итоге получился примерно такой код: Читать далее…
Осваиваем Google Maps API
Сегодня начал осваивать API Google Maps. Потребовалось сделать карту Москвы с метками, при щелчках по которым будет происходить переход на страницы, описывающие находящиеся там объекты. Как выяснилось, все предельно просто. Но расскажу по порядку.
Читать далее…PHP: почта через SMTP с аутентификацией или msmtp
Давно хотел узнать, как отправлять почту через сторонний сервер с помощью стандартной функции mail, так как считаю неправльным использовать всякие классы-надстройки, а держать SMTP-сервер только для этих целей зачастую нежелательно. И вроде бы нашел решение для Linux и FreeBSD: программа msmtp.