Как стать автором
Поиск
Написать публикацию
Обновить
0
EGD @EGDread⁠-⁠only

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

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

Сборник хаков

Время на прочтение4 мин
Количество просмотров6.5K
В этом посте я постарался собрать все известные мне хаки для css. Многие могут усомниться в их надобности для нормальных современных браузеров, потому как большинство хаков всегда применялись только для IE, но этот пост скорее для любознательных :), в верстке хаки вообще лучше не использовать. Но так или иначе, раз они есть, грех о них не знать.

В отличие от многих хаков для той же Opera, которые также будут обработаны и Safari, я немного изменил код и Opera 9.2, Opera 9.5 и Safari 3 увидят каждый свой css.
Читать дальше →

MySQL Performance real life Tips and Tricks

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

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

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

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

css fix для различных браузеров

Время на прочтение2 мин
Количество просмотров12K
Представьте себе абстрактный разговор абстрактного заказчика с абстрактным верстальщиком.

— У тебя бага в менюшке, все наверх съехало, — говорит заказчик.
— Посмотрел во всех браузерах, нету! Ты в каком смотришь? — говорит верстальщик.
— В фаерфоксе.
— Нормально все там, — говорит верстальщик, просмотрев сайт во всех версиях фаерфокса.
— Осталось бага. Если это важно, то я с мака.

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

Идеальное комментирование 2

Время на прочтение6 мин
Количество просмотров1.4K
Так как прошлая заметка об идеальных комментариях вызвала довольно бурную дискуссию, моим всемогущим советом ума и тела было решено написать продолжение, не откладывая в долгий ящик.
Идеальное комментирование наносит ответный удар
На этот раз мы обсудим несколько дополнительных моментов, и способов размещения идеальной формы комментария и непосредственно процесса комментирования.
Читать дальше →

40 советов по оптимизации вашего PHP-кода

Время на прочтение4 мин
Количество просмотров57K
Всем доброго времени суток.

Перевод заметки "40 Tips for optimizing your php code". Автор — Reinhold Weber.

  1. Если метод может быть статическим, объявляйте его статическим.
  2. echo быстрее, чем print.
  3. Передавайте в echo несколько параметров, вместо того, чтобы использовать конкатенацию строк.
  4. Устанавливайте максимальное количество проходов ваших циклов for до цикла, а не во время его выполнения.
  5. Удаляйте свои переменные для освобождения памяти, тем более, если это большие массивы.
  6. Остерегайтесь магических методов, таких как __set, __get, __autoload.
  7. require_once дорого обходится.
  8. Указывайте полные пути в конструкциях include/require, меньше времени будет тратится на поиск файла.
  9. Если вам необходимо определить время, когда скрипт был запущен, используйте $_SERVER[’REQUEST_TIME’] вместо time().
  10. Старайтесь использовать strncasecmp, strpbrk и stripos вместо регулярных выражений.

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

Linux для веб-разработчика

Время на прочтение1 мин
Количество просмотров40K
Здравствуйте уважаемые хабрапользователи и линукс юзеры. Сломился я перед выбором ОС и решил поставить Linux, только в выборе дистрибутива я заступорился.

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

Пробовал использовать Ubuntu, но увидел сразу проблемы со шрифтами на сайтах, они коряво отображались и хотел бы узнать у профи, как можно исправить положение.

В общем вопрос прост: Какой на ваш взгляд лучший дистрибутив Линукс, подойдет типичному веб-программисту (Java, PHP, MySQL PostgreSQL, SFTP/SSH-ftp, SSL-FTP поддержкой).

Просто Windows откровенно достал своими лагами (даже на такой машине как Athlon X2 4800+, 2GB RAM). Хочется продуктивной работы, что бы ничто не отвлекало. Поэтому спрашиваю мнение у професионалов. Благо, на этом сайте, есть такие. :)

p.s. В данный момент использую Nu PHPed (там есть поддержка SSH доступа, работает стабильней, чем в Zend`е, инклуды можно щёлкать прямо в коде и открываются отдельными файлами, поиск декларации функций, классов и переменных, WinSCP как ftp-клиент, оч удобный, SQL Manager для работы с БД MySQL pgAdmin для работы с PostgreSQL).

Реабилитация XML/XSLT технологий

Время на прочтение7 мин
Количество просмотров11K
Здравствуй, Хабр. Некоторое время назад мы внедрили у себя в CMS наряду с уже имевшимся к тому моменту собственным шаблонизатором, еще и XSLT. Поскольку есть в XSLT большие и реальные преимущества и для разработчиков, и для хозяев студий, и даже для владельцев сайтов. Но реакция наших партнеров разделилась на противоположные мнения: одни давно ожидали этого и были рады появлению такой возможности, другие поставили под сомнение востребованность XSLT, приводя в качестве аргумента низкую производительность, которую якобы влечет за собой использование XSLT.
Понятно, что у всего нового всегда есть сторонники и противники, и рассудит их время. Поэтому не было особого смысла развязывать религиозную войну XSLT vs tpl или Smarty на тот момент. Но мы обнаружили, что оказывается, один из лидеров российского рынка CMS с завидным упорством все пишет и пишет о якобы несостоятельности XSLT как массовой технологии и готов рассматривать ее только в контексте специфичных задач. А это негативно влияет на умы некоторых непосвященных разработчиков об XSLT.

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

Доклад по Python

Время на прочтение1 мин
Количество просмотров14K
В докладе описаны основные возможности языка python.
Кратко, понятно, с примерами. Приведены некоторые сравнения с другими языками.
Этот доклад будет полезен начинающим программировать на python, а также тем, кто выбирает язык программирования для своей задачи.
Первая, вторая и третья части доклада.

Сессии — всегда ли они нужны?

Время на прочтение5 мин
Количество просмотров18K
Хочу еще раз поднять тему использования сессий для аутентификации пользователей. Надеюсь услышать критику приведенного в статье метода с высоты вашего опыта.

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

Profiling PHP Applications With xdebug

Время на прочтение8 мин
Количество просмотров42K
Добро пожаловать в третью статью о xdebug. Уже сейчас вы должны были попробовать xdebug, если нет, сделайте это сегодня ;-).
В первой статье рассказывалось о том, как установить и настроить xdebug, описывались некоторые простейшие возможности, такие как улучшение вывода функции var_dump() или вывод трассировки стека вызовов при получении сообщения об ошибке. Во второй части мы рассмотрели такую возможность xdebug как трассировку. Трассировка содержит все вызовы функций и методов в программе, время запуска, опционально размер памяти, передаваемые и возвращаемые параметры. Лог трассировки может помочь вам понять пути выполнения сложной программы. Вместо того чтобы вставлять отладочный код внутрь программы, вы включаете или выключаете трассировку в тем места где нужно, а потом используете утилиты подобные grep или собственно написанные приложения на PHP для анализа лог файла.
Читать дальше →

Собеседования на должность PHP разработчика

Время на прочтение3 мин
Количество просмотров71K

Довольно часто (постоянно) мне приходиться проводить собеседование людей желающих устроитсья в мой отдел на должность «junior PHP developer» и «PHP developer». И, с завидным постоянством, я и team-lead отдела задаем одни и те же вопросы…
Читать дальше →

Юзабилити на практике: «Введите дату»

Время на прочтение2 мин
Количество просмотров16K
Всем снова привет.
Сегодня буду рассказывать о моем любимом — о Юзабилити.

В русском языке есть этому модному слову замена — Удобство. Но когда речь идет об удобстве взаимодействия человека с компьютером, то мы сразу говорим юзабилити.

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

Сначала окунемся в историю.

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

Чёрточки: только ли тире, минус и дефис?

Время на прочтение4 мин
Количество просмотров183K
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

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

Смена оформления сайта в зависимости от времени суток.

Время на прочтение1 мин
Количество просмотров12K
Подобное конечно не новинка, и технически совершенно не сложно, но возможно кому то это покажется интересным и нужным.
Сразу отмечу, что меня побудил написать пост этот блог.

Многие видели в сети и писали скрипты, которые здороваются с посетителем по разному, в зависимости от времени суток («доброе утро», «добрый день», «привет тебе, человек с бессонницей»). Но можно пойти дальше, меняя оформление сайта, путём переключателя CSS.

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

Интерфейс, за который нужно убивать

Время на прочтение1 мин
Количество просмотров5.8K
Знаете, я всегда верю в то, что грамотный интерфейс — залог отличного приложения. Это доказано неоднократно. Но когда я вижу вот такое — меня бьет дрожь. Это — приложение, которое предназначено для работы с электронной отчетностью. То, что на дворе 2008 год, значения не имеет.

Крик души, простите.

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

BSD vs Linux. Вступление

Время на прочтение2 мин
Количество просмотров7.9K

О чём это я?

Мои компьютеры работают под управлением FreeBSD. У многих моих друзей на компьютерах стоит Linux, хотя бы один из его дистрибутивов. Несмотря на то, что мы согласны с тем, что системы *nix — это правильный выбор, в выборе конкретных дистрибутивов наши мнения расходятся.У меня сложилось впечатление, что BSD-сообщество, в целом, понимает Linux лучше, чем Linux-сообщество понимает BSD. У меня есть несколько предположений, почему так происходит, но это не суть важно. Я полагаю, многие линуксоиды отказались от BSD, потому что они не совсем понимают, что там к чему. Таким образом, как пользователь BSD, я попытаюсь объяснить, как работает BSD, в доступной форме.Хотя системы очень похожи во многих аспектах, существует множество различий. Если вы копнёте глубже, то узнаете, что они возникают из-за укоренившихся разногласий. Одни из них касаются методологии разработки, другие — установки и использования, третьи — того, что важно и кто важен, а четвёртые — какое мороженое вкуснее. Сравнение поверхностных различий не скажет вам ни о чём — только сравнение более глубокое объяснит и расставит всё по полочкам.

Чего здесь нет?

Здесь нет:
  • списка соответствия команд, вроде «netstat -rnfinet в BSD = netstat -rnAinet в Linux» и всё прочее.
  • Как сделать те или иные вещи при администрировании и работе BSD.
  • Почему следует использовать BSD вместо Linux.
  • Почему следует использовать Linux вместо BSD.
  • Почему следует использовать эту BSD, а не ту BSD.
  • Почему следует использовать этот Linux, а не тот Linux.
  • Почему BSD — это правильно, а Linux — неправильно.
  • Почему Linux — это правильно, а BSD — неправильно.
Лично я верю, что мой выбор ОС правильный. Но это я. Я не говорю вам, что вы должны верить в то же. Изучите факты, их предпосылки, и сделайте ваш выбор. Ведь именно для этого он вам и дан.

Некоторые соображения.

Есть много философских различий между миром Linux и миром BSD. И множество высказываний по этому поводу. Одно из моих любимых выглядит примерно так:

«BSD — это то, что получается, когда кучка Unix-хакеров пытается портировать Unix на PC. Linux — это то, что получается, когда кучка PC-хакеров пытается написать Unix-систему для PC.»

Мне нравится, как тонко замечено, не потому что это какая-то сакральная правда, а потому что это дает толчок к пониманию некоторых отличий. BSD-системы, в целом, более похожи на традиционный Unix, чем Linux. Во многом это связано с тем, что они являются прямыми потомками Berkeley Software Distibution, которая в свою очередь родилась из AT&T Unix. Торговая марка Unix принадлежит The Open Group, а код Unix является собственностью SCO, поэтому нельзя говорить, что BSD-системы — это Unix. Но, во многих отношениях, BSD-системы являются прямыми потомками традиционной Unix.Это прослеживается во многом: в дизайне системы, в дополнениях, в разбиении жесткого диска, в деталях команд, в отношении, предрассудках и реакциях разработчиков и в пользователях.BSD разрабатывают. Linux выращивают. Наверное, это единственное краткое описание, и возможно, наиболее корректное.

Этим небольшим вступением я начинаю перевод серии статей Мэтта Фуллера, которые в свое время вдохновили меня перейти на FreeBSD.

Анализируем загрузку веб-страницы

Время на прочтение1 мин
Количество просмотров2.1K
Ниже перевод статьи «Optimizing Page Load Time», в которой автор математически рассчитывает оптимальный размер файлов для эффективной передачи при веб-запросах, рассматривает некоторые прикладные вопросы оптимизации загрузки страницы с учетом особенностей браузеров, а также дает несколько развернутых и ценных советов. Мои комментарии далее курсивом.

Существует распространенное мнение, что быстро загружающая страница положительно влияет на впечатление пользователя (improve the user experience). В последние годы многие сайты начали использовать для этой цели технологию AJAX, чтобы уменьшить время ожидания (при загрузке данных). Вместо того, что запрашивать с сервера новую страницу полностью при каждом клике, браузер часто можно либо поменять вид самой страницы (отобразив или скрыв какие-либо блоки), либо подгрузить небольшую порцию HTML-, XML- или JavaScript-кода и внести изменения на существующую страницу. В любом случае, это значительно уменьшает время, проходящее между кликом пользователя и окончанием визуализации браузером нового содержания.

Что влияет на загрузку страницы?



Однако, для большинства сайтов, загрузка страницы затрагивает десятки внешних объектов, основное время загрузки тратится на различные HTTP-запросы картинок, JavaScript-файлов и файлов стилей. AJAX, возможно, поможет в данной ситуации, но ускорение или удаление этих HTTP-запросов может принести гораздо больше пользы, хотя на данный момент нет единого мнения (a common body of knowledge), как именно это следует делать.

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

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

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

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

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

Часть 2.0 Сделаем это по-быстрому – Habrahabr за пару часов

Время на прочтение5 мин
Количество просмотров1.2K
Лого хабрадвижка
Обе упомянутые в первой части тенденции лишь усугубились: индекс Доу-Джонса и NASDAQ ежедневно сдают свои позиции, а количество хабрастартапов на территории 1/6 части суши растет в геометрической прогрессии. Свидетельством прихода на этот рынок серьезных игроков служит хотя бы это предложение. Сначала я подумал, что это очередная попытка легализации средств уведенных из SG, но по имеющейся на сей час инсайдерской информации заказчик имеет отношение к медиахолдингу компании… нет, не буду называть имя компании, намекну лишь, что председателя совета директоров этого энергетического монстра часто можно встретить на аватарках хабрапользователей.

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

Практический JS: разгоняем все, что движется

Время на прочтение1 мин
Количество просмотров896
Примечание: ниже находится перевод статьи «Speed Up Your Javascript Load Time», в ней автор рассматривает некоторые наиболее эффективные техники и методы действия по уменьшению времени отработки JavaScript'а на клиенте. Большая часть из них общеизвестна, но в статье важно не просто их перечисление, а общий подход для решения задачи оптимизации времени загрузки. Далее мои комментарии курсивом.

JavaScript становится все популярнее и популярнее. Каждый уважающий себя вебсайт старается применить его хоть где-нибудь: будь то подгрузка динамических данных через AJAX, или же некоторые специальные (визуальные) эффекты. К несчастью, за все нужно платить: приходится использовать «тяжелые» JavaScript-библиотеки, которые добавляют к размеру вашей страницы десятки или даже сотни килобайтов кода.

Пользователи так ненавидят ждать: им подавай все и сразу. Давайте тогда рассмотрим несколько методов, которые помогут вам «причесать» ваш сайт. Здесь находятся все рабочие примеры, которые будут приведены далее.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность