Как стать автором
Обновить
2
0
Илья @silar

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

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

Страны, регионы, города

Время на прочтение1 мин
Количество просмотров119K
Карта мира
Хочу поделиться базой стран, регионов и городов на русском языке. Возможно, кому-то пригодиться в своих проектах. В базе 106 стран, 922 региона и 10969 городов!

Если кто не понял о чем речь, то вспомните, например, как на ВКонтакте указывается город: выбирается страна -> подгружается список регионов -> выбирается регион -> подгружается список городов

Читать дальше →
Всего голосов 124: ↑122 и ↓2+120
Комментарии128

Profiling PHP Applications With xdebug

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

Tracing PHP Applications with xdebug

Время на прочтение8 мин
Количество просмотров22K
Добро пожаловать во вторую серию нашего повествования про xdebug. Установка xdebug и его базовые возможности были рассмотрены в первой серии. В данной статье мы рассмотрим трассировку программы.
Предыдущая серия цикла Introducing xdebug
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии16

Высокопроизводительные AJAX-приложения

Время на прочтение1 мин
Количество просмотров712
Примечание: ниже перевод презентации «High Performance Ajax Applications», подготовленной ведущим специалистом из Yahoo (а теперь уже из Apple) Julien Lecomte. В ней автор освещает некоторые аспекты оптимизации как JavaScript-приложений, так и веб-сайтов вообще. В целом, советов много, и почти все, действительно, по делу. Однако, встречается и откровенная реклама Yahoo :) Мои комментарии далее курсивом.

Часть 1. Разработка для высокой производительности



Планируем и проектируем для высокой производительности



  • Ориентируемся на производительность с самого первого дня
  • Тесно работаем с дизайнерами и менеджерами продукта
  • Понимаем рациональность дизайна
  • Объясняем компромиссы между дизайном и производительностью
  • Предлагаем альтернативы и показываем, что еще возможно (на уровне прототипа)
  • Пробуем силы в реализации нетривиального дизайна (нельзя сразу говорит «нет»)
  • Помогаем упростить дизайн и взаимодействие с пользователем (добиваемся компромисса)


читать дальше на webo.in →
Всего голосов 77: ↑73 и ↓4+69
Комментарии28

Устанавливаем и настраиваем LAMP и Trac+SVN на Ubuntu

Время на прочтение4 мин
Количество просмотров16K
Прочитав эту статью, я осознал, что Trac+SVN очень помогут в работе и решил настроить эту связку у себя на машине.

С недавних пор я использую Убунту линукс, потому установка и настройка проходили с учетом особенностей данной системы. LAMP у меня уже был установлен ранее, так же как и inadyn. В итоге я получил достаточно гибкую и удобную систему управления своими проэктами, к которой есть доступ по сети. Интересно, как сделать?
Делюсь опытом
Всего голосов 25: ↑25 и ↓0+25
Комментарии34

Introducing xdebug

Время на прочтение9 мин
Количество просмотров46K
Эта статья первая из серии статей, описывающих xdebug, свободной библиотеки для разработчиков PHP. xdebug – это расширение для PHP, написанное Derick Rethans, одним из разработчиков языка PHP. В данной статье описывается как установить xdebug и рассказывается о его базовых возможностях. В последующих частях мы детальнее взглянем на главные возможности xdebug, а именно трассировку, профайлинг, отладку кода.
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии60

Кое-что о проблемах с кодировками в убунту.

Время на прочтение2 мин
Количество просмотров17K
Я не ставил себе цель решить все проблемы, но хотел написать решения, о которых не писалось на хабре.
В основном коснусь кодировок в icq.
Читать дальше →
Всего голосов 29: ↑21 и ↓8+13
Комментарии61

Борьба с DDOS и DOS на уровне nginx

Время на прочтение1 мин
Количество просмотров8.2K
FreeBSD, сетевая Intel fxp, порт 100Мбит, polling, http accept-filter
в sysctl:

sysctl kern.maxfiles=90000
sysctl kern.maxfilesperproc=80000
sysctl net.inet.tcp.blackhole=2
sysctl net.inet.udp.blackhole=1
sysctl kern.polling.burst_max=1000
sysctl kern.polling.each_burst=50
sysctl kern.ipc.somaxconn=32768
sysctl net.inet.tcp.msl=3000
sysctl net.inet.tcp.maxtcptw=40960
sysctl net.inet.tcp.nolocaltimewait=1
sysctl net.inet.ip.portrange.first=1024
sysctl net.inet.ip.portrange.last=65535
sysctl net.inet.ip.portrange.randomized=0

Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии42

Ускорение запуска программ с помощью Preload

Время на прочтение2 мин
Количество просмотров24K
Preload — демон, работающий в фоне, который собирает информацию о наиболее часто используемых программах, кеширует их и используемые ими библиотеки, что приводит к повышению скорости загрузки программ. Используя Preload вы можете с пользой потратить гигабайты неиспользуемой оперативной памяти (конечно если они у вас есть).
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии56

Разгоняем CSS-селекторы: стоит ли?

Время на прочтение1 мин
Количество просмотров2.9K
Виталию Харисову посвящается

После перевода заметки «Оптимизируем CSS-производительность» и справедливых замечаний Виталия vithar, я решил поставить серию экспериментов по скорости работы CSS-селекторов внутреннего движка браузеров. Результаты получились весьма забавными, а местами, наверное, даже интересными.

Методика. Размер файлов



Естественно, что скорость работы одиночного CSS-правила весьма высока, и даже десятки и сотни их не должны заметно замедлить работу браузеров. Поэтому нужно ставить эксперимент по работе с несколькими тысячами правил, иначе точность результатов будет весьма невысока. Использовать JavaScript для генерации HTML/CSS-кода не представляется разумным, ибо тогда придется учитывать еще и скорость работы JS-движка в браузерах, в итоге, эксперимент будет недостаточно чистым.

В конце концов, было решено сгенерить статичные файлы (порядка 300Кб), которые будут содержать достаточное число различных CSS-селекторов. Это самое «достаточное» число подбиралось по нескольким параметрам, в том числе: размер файла (гонять несколько Мб через браузер и интернет совсем не хотелось) и скорость работы HTML/CSS-кода в браузерах (она должна быть достаточно низкой, чтобы файлы в несколько сотен Кб уже заметно тормозили при открытии).

читать дальше на webo.in →
Всего голосов 42: ↑38 и ↓4+34
Комментарии32

Скорость загрузки JavaScript-библиотек

Время на прочтение1 мин
Количество просмотров1.1K
Примечание: ниже перевод заметки John Resig (автора jQuery) «JavaScript Library Loading Speed», в которой он рассматривает, как сжатие, обфускация и архивирование влияет на производительность наиболее распространенных на данный момент JavaScript-библиотек. Мои комментарии даны курсивом.

Опубликована: 5 февраля 2008

Введение



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

читать дальше на webo.in →
Всего голосов 17: ↑12 и ↓5+7
Комментарии21

Прибивать ли футеры к низу?

Время на прочтение2 мин
Количество просмотров5.2K
Недавно на работе разразился спор. Довольно нешуточный. Мы сейчас занимаемся одним очень крупным социальным проектом, над которым работает два дизайнера, одним из которых являюсь я. Но вопрос был не совсем по дизайну, а о html вёрстке. Спорили о том, надо ли и можно ли прибивать нижний колонтитул (footer) к низу страницы, не зависимо от количества информации, или же позволять ему плавать? На подавляющем большинстве страниц футер плавает, и если информации на странице мало, он поднимается вверх.
Читать дальше →
Всего голосов 52: ↑39 и ↓13+26
Комментарии142

BSD vs Linux. Действующие лица.

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

Встречаем игроков

Здесь я дам небольшой обзор систем, о которых пойдет речь. Заметьте, что представленные истории не претендуют на всестороннее и авторитетное мнение, и не было предпринято ни одной попытки сделать их таковыми.
Прошу!
Всего голосов 77: ↑77 и ↓0+77
Комментарии79

Бесшовная интеграция — всё наоборот

Время на прочтение1 мин
Количество просмотров3.7K
На базе Ubuntu Linux создан дистрибутив andLinux, отличающийся тем, что предназначен исключительно для использования внутри Windows, причем не просто запуска Linux в обособленном окне, а полной интеграцией Linux приложений в среду Windows.

Например, пиктограммы с Linux приложениями помещаются в меню на панели управления Windows, запущенные программы видны на панели задач, осуществляется привязка определенных типов файлов к Linux приложениям в Explorer, каждое Linux приложение открывается в отдельном окне.

andLinux основывается на двух китах: CoLinux (выполнение Linux ядра как Windows процесса) и Xming (X-сервер для Windows). Доступны две редакции дистрибутива, на базе XFCE и KDE.

Источник: opennet.ru
Всего голосов 52: ↑46 и ↓6+40
Комментарии174

Generating PDF files with PHP and FPDF

Время на прочтение5 мин
Количество просмотров111K
Большинство web-сервисов экспортируют данные в разных форматах для дальнейшего использования. Данная статья о том, как экспортировать данные в pdf-формате.
Хотя многие знают как это делать, я опишу кратко для тех кто не знает.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии48

Case Study: Анализ стартапа CodeIDE.com

Время на прочтение12 мин
Количество просмотров1.4K
Сегодня происходит бум социальных сетей — и на Западе, и у нас первопроходцы разогрели рынок и вполне естественно, что многие стартапщики решили заработать на этой теме. Однако в большинстве случаев дело не идет дальше копирования «Одноклассников» или «Facebook», «только еще с кучей дополнительных фишек», которые, на взгляд их основателей, и должны переманить пользователей с уже раскрученных ресурсов. Тем не менее тема социальных сетей все еще перспективна — нужно просто обратить внимание на нишевые соцсети. Именно они имеют максимальный потенциал, и именно нишевые сети, как показывает практика, наиболее востребованы сейчас покупателями. О такой соцсети и пойдет речь в данной статье, оригинал которой размещен на моем сайте IdeaBlog.ru.

Анализируемый в этой статье стартап CodeIDE.com интересен мне по нескольким причинам. Во-первых, это «наш» стартап (точнее, украинский, но я не разделяю украинцев и россиян). Во-вторых, его основатели нацелены не на русскоязычный, а на глобальный рынок (что является редкостью для стартапов из бывшего СССР). В третьих, интересен путь, которым идут основатели стартапа, развивая свой сервис. И в-четвертых, этот стартап ориентирован на очень перспективный, по моему мнению, рынок. Кроме того, мне интересно оценить перспективу развития стартапа, когда он еще не выложил в сеть всего своего функционала, но при этом я знаю от его основателей как он будет выглядеть в ближайшем будущем. Статья большая, поэтому те, кто не любит читать длинные посты, могут не открывать его.
Читать дальше →
Всего голосов 50: ↑36 и ↓14+22
Комментарии47

Основы масштабирования

Время на прочтение10 мин
Количество просмотров63K
Прочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.

Основы масштабирования



Масштабируемость — способность устройства увеличивать свои
возможности
путем наращивания числа функциональных блоков,
выполняющих одни и
те же задачи.
Глоссарий.ru

Обычно о масштабировании начинают думать тогда, когда один
сервер не справляется с возложенной на него работой. С чем именно он не
справляется? Работа любого web-сервера по большому счету сводится к основному
занятию компьютеров — обработке данных. Ответ на HTTP (или любой другой) запрос
подразумевает проведение некоторых операций над некими данными. Соответственно,
у нас есть две основные сущности — это данные (характеризуемые своим объемом) и
вычисления (характеризуемые сложностью). Сервер может не справляться со своей
работой по причине большого объема данных (они могут физически не помещаться на
сервере), либо по причине большой вычислительной нагрузки. Речь здесь идет,
конечно, о суммарной нагрузке — сложность обработки одного запроса может быть
невелика, но большое их количество может «завалить» сервер.

Читать дальше →
Всего голосов 68: ↑67 и ↓1+66
Комментарии49

И снова о speed performance вашего сайта

Время на прочтение3 мин
Количество просмотров1.9K
Уф… наконец-то я решился написать свой первый пост.

В этом посте я хочу рассказать вам о некоторых простых, и в тоже время эффективных способах ускорения загрузки вашего сайта.
Все методы основаны на LAMP + nginx + drupal, но я уверен что всё это верно и для остального тоже.
Разговор пойдёт о первой загрузке сайта, то есть когда у клиента нет ещё кеша в браузере.
Читать дальше →
Всего голосов 54: ↑47 и ↓7+40
Комментарии76

На чём работает digg

Время на прочтение2 мин
Количество просмотров1.6K
Мы уже рассказывали, на чём работает MySpace и как устроены дата-центры Google, а теперь посмотрим на более мелкие проекты, такие как digg. Здесь нет ничего особо уникального и сделанного «по спецзаказу», как в первых двух случаях, но всё равно интересно.

В момент запуска проект размещался на единственном Linux-сервере с Apache 1.3 и PHP 4.x. Для управления базами данных использовались MySQL 4.0, таблицы MyISAM и встроенный поиск MySQL. Разработчики специально старались использовать как можно больше продуктов open source, чтобы гарантировать быстрое развитие проекта без финансовых затруднений. Кроме вышеперечисленных, нашли применение свободные пакеты ImageMagick, Ispell, prototype/scriptaculous и другие. Вскоре к одному серверу добавился другой и начался бурный рост проекта.
Читать дальше →
Всего голосов 64: ↑63 и ↓1+62
Комментарии21

Показатель обратной загрузки файла для форм (Upload Progress Meter)

Время на прочтение2 мин
Количество просмотров4.7K
Вы когда-то видели этот лоадер:
rapidshare loader
Или вот этот:
drop.io loader

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

как такое сделать написано далее
Всего голосов 40: ↑29 и ↓11+18
Комментарии83

Информация

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