Как стать автором
Обновить
2
0
Nickolay @Nickolay

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

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

Анимированое сравнение алгоритмов сортировки

Время на прочтение1 мин
Количество просмотров9.8K
На днях наткнулся на интересную страничку, позволяющую наглядно оценить различные алгоритмы сортировки на разных наборах данных.

(картинка Кликабельна)
Небольшое описание под катом...
Всего голосов 95: ↑90 и ↓5+85
Комментарии25

Раздельная скорость мышки и тачпада в Linux.

Время на прочтение2 мин
Количество просмотров5.6K
Здраствуйте, я являюсь щасливым пользователем ноутбука [попросили не рекламировать марку]. Вообще, чудесная машина, и одна из наиболее линуксо-совместимых. В Америке их продают с предустановленой убунтой, так что абсолютно никаких проблем с железом нет. Работает решительно всё.

Но возникла у меня малюсенкая неприятность. Основное время я пользуюсь мышкой, подключенной к usb, а тачпад использую только при отсутствии возможности присоединить грызуна. И будучи немножко геймерско-понтовой, моя мышка обладает разрешением 1600dpi. Иными словами: она сверхчуствительна.
Конечно, особой это проблемы не составляет, поскольку решается уменьшением чуствительности указателя мыши в настройках операционной системы. Но, вот после этого и начинаются неприятности, поскольку тачпадом с такими настройками пользоваться становится почти невозможно (приходится раз пять пробежать по нему пальцем, чтобы перетянуть курсор из одного угла экрана в другой.)
Собственно, передо мной возникла задача — разделить настройки чуствительности для внешней мыши и тачпада.

как?
Всего голосов 55: ↑52 и ↓3+49
Комментарии29

PHP mail под Windows

Время на прочтение3 мин
Количество просмотров81K
PHP mail картинка с конвертом

В этой статье я хочу рассказать об отправке почты из php скриптов под Windows.

Америку я, конечно, не открою, но надеюсь, что кому-то эта статья будет полезна или просто сэкономит время.

С точки зрения php программиста отправка почты выполняется с помощью стандартной функции mail(). И вот тут у многих начинающих разработчиков возникает проблема. Скрипт, прекрасно работающий на сервере хостера, выдает ошибки на локальном компьютере.

Обычно эти ошибки имеют примерно такое описание:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in E:\www\simplemail\mailer.php on line ......
Читать дальше →
Всего голосов 54: ↑45 и ↓9+36
Комментарии52

Emacs для web-разработчика

Время на прочтение3 мин
Количество просмотров12K
По традиции:
Это мой первый пост, — не судите строго.

Emacs. Про него много сказано. Про него очень много сказано и написано. Про него будет сказано и написано ещё больше.
Любой может настроить «эту ОС» под себя! Я тоже так думал.
Всё оказалось немного гораздо сложнее.
Смело бросился в бой.
Первое чувство — страх. После пришло удивление — «как великие крутышки и убер программера тут живут!?».
Множество часов Google'ния не дали должного результата, но дали возможность понять — за что же его так любят!
И так! Вот чего я добился:
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии14

Вредная верстка

Время на прочтение9 мин
Количество просмотров74K
Как определить, что сайт сверстан качественно?
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.

Из этой статьи вы узнаете:


  • О плохих приемах современной верстки;
  • О том, как даже не будучи профессионалом, за 5 минут определить плохо ли сверстан сайт или нет.


Читать дальше →
Всего голосов 203: ↑175 и ↓28+147
Комментарии339

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

Время на прочтение3 мин
Количество просмотров30K
Если вы регулярно гуляете по интернету (а ведь большинство читателей Хабра этим и занимается, не так ли?), то у вас не займет ного времени накопить большой список сайтов, которые хотелось бы посетить позднее. Дефолтный менеджер закладок в браузере Firefox вряд ли устраивает вас полностью. Для лучшей организации накопления коллекции закладок, синхронизации их с другими компьютераи или просто более легкого доступа к ним написана много расширений. Итак, давайте рассмотрим лучшие из них.

Foxmarks: расширение для людей с несколькими компьютерами

Вы используете несколько компьютеров или операционных систем на одном? Если так, то расширение Foxmarks поможет автоматически синхронизировать закладки между ними. Оно так же позволяет получать доступ к закладкам из интернета. Это очень полезное расширение, если вы используете публичные компьютеры для доступа в сеть, не имея возможности установить на них что-либо. Foxmarks синхронизирует ваши закладки, сохраняя их на удаленном сервере. С этим расширением вы забудете о бэкапе закладок при форматировании или смена компьютеров. Так же для любителей безопасности есть опция шифрования.
Читать дальше →
Всего голосов 45: ↑31 и ↓14+17
Комментарии74

Работаем с ExtJS на языке РНР — библиотека PHP-Ext

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

Я вряд ли ошибусь, если предположу, что язык РНР достаточно популярен, если не самый популярный в веб-разработке. Мы не будем анализировать причины этого (а тем более, следствия), а сконцентрируемся на одном небольшом аспекте, а именно — как на РНР разрабатывать сложные AJAX веб-приложения. И не просто так разрабатывать, а использовать в своей работе библиотеку ExtJS, которая позволяет создавать интерфейсы для этих веб-приложений. Конечно, все это можно разнести и серверная сторона, на РНР или на любом другом языке, совершенно ничего не будет знать о клиентской части и AJAX-библиотеке, просто оперируя JSON данными и обычным HTML. Но можно сделать и по-другому — этот подход, аналогичен популярной сегодня технологии Google Web Toolkit. Мы ничего не разделяем, а просто пишем приложение, используя одну среду, один язык и все возможности (и языка и среды), а уже сервер самостоятельно генерирует код для клиента, полностью автоматически. Таким образом можно совсем (ну или почти) не знать и не разбираться в верстке, JavaScript и ExtJS, но писать приложения, которые будут использовать этот фреймворк.

Для языка Java подобные решения существуют, а недавно такой проект, EXT GWT, даже перешел под крыло самой компании-разработчика ExtJS, превратившись в вполне серьезное профессиональное решение. Ну а как в других языках? Java, конечно, хорошо и даже отлично, но душа и тело хотят разнообразия, или просто не хотят переучиваться. Для таких случаев есть свои решения. И одно из них, для РНР, так и называется — PHP-Ext.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии31

Моя Убунта — II

Время на прочтение4 мин
Количество просмотров1.1K
Ну что ж, раз пошло такое дело — значит, пришло время поговорить и нам — о башмаках, кораблях, сургучных печатях, королях и капусте, а также легкой доработке напильником дистрибутива Ubuntu, дабы получить внешний вид, описанный в этом посте — по многочисленным просьбам телезрителей, рассказав о том, что и как я делал.


Сразу скажу, что любителям поорать в коментах прошу не читать — там много графики, объяснения для новичков, вам это все равно будет неинтересно. В любом случае, я вас предупредил ;-)
Итак, чуть меньше лирики — чуть больше дела. С чего начать? Начать нужно с инвентаря. Нужно-то нам совсем ничего! Сегодня нам потребуются:
  1. Компьютер с установленным Ubuntu 7.10/8.04. На самом-то деле, почти наверняка пойдет любой другой дистрибутив с GNOME в качестве менеджера окон рабочего стола (desktop environment manager) и ...
  2. Compiz — установленный и стабильно работающий. Это важно — без него всей этой красоты не получится
  3. Третьим, фактически же — последним пунктом программы — выступает фон рабочего стола. Открою страшный секрет… хотя нет, открою его потом :-) Так вот, как именно найти этот фон я рассказывать не буду, поскольку с негодованием отметаю все претензии в лицензионной нечистоплотности, оставляю это в качестве домашнего задания (искать по слову leopard wallpaper, размер — extra large, первая картинка). Я взял ее с домашнего компьютера (так как в рабочее время им никто не пользуется, я имею полное право любоваться на картинку на работе :-) )
Господа, хватит тупо и молча миносовать и срать в карму! Будьте добры объясниться — или хотя бы прочитать дисклеймер в конце поста — и спасибо хорошим людям, которые сперва читают, потом комментируют, и только потом плюсуют или минусуют

Собственно, настройка
Всего голосов 80: ↑67 и ↓13+54
Комментарии79

Как gzip-сжатие влияет на производительность сервера

Время на прочтение1 мин
Количество просмотров4.2K
Несколько статей и переводов по оптимизации (gzip для Apache, gzip для CSS- и JS-файлов, CSS-сжатие, JS-сжатие) уже затрагивали тему применения архивирования для уменьшения размера файлов, и, тем самым, увеличения скорости их передачи конечному пользователю. В данном исследовании я задался вопросом: а как динамическое gzip-сжатие влияет на быстродействие сервера? Рентабельно ли включать mod_gzip / mod_deflate для высоконагруженных проектов? И в каких случаях архивирование вообще лучше не использовать?

Отдельно хочется сказать спасибо одному из читателей Хабра, который в личной переписке (к сожалению, исходное письмо безвозвратно потерялось, поэтому буду признателен, если он о себе напомнит) настойчиво пытался прояснить этот вопрос, что послужило отличным стимулом для написания данной статьи.

читать дальше на webo.in →
Всего голосов 58: ↑55 и ↓3+52
Комментарии40

Страшные сказки про PHP5, рассказанные на ночь…

Время на прочтение3 мин
Количество просмотров2.7K
1) Какой бы ерундой вы не занимались с PHP, узкое место _всегда_ — БД. PHP — он как Буратино — тупОЙКАк… дрова. Lighttpd и Nginx позволяют разнести его по множеству физических серверов на раз без шума и пыли. Зарплата адекватного спеца по PHP в Москве — 30-45 тыс. рублей в месяц, стоимость аренды нормального сервера — от 3 тыс. рублей в месяц. А вы не знали ;)?

2) Какой бы ерундой вы не занимались — 30-60% производительности (возможно и больше) PHP-кода решит правильно выбранный и настроенный акселератор.

3) Серебряной пули нет. Не важно, какой концепт вы применяете — строгое ООП (в стиле Zend Framework), функции в стиле PHP4 (или ограниченное ООП) или вообще лапшу в стиле «PHP для чайников» — ни одна из этих парадигм не даст ощутимый прирост производительности, если конечно ваши программисты не выше как минимум на голову.
Читать дальше →
Всего голосов 182: ↑154 и ↓28+126
Комментарии287

Делаем свой webfile

Время на прочтение4 мин
Количество просмотров13K
Отчего-то всегда хотел сделать свой сервис для загрузки файлов. Всевозможные slil/zalil не устраивали своей скоростью. ifolder — обилием рекламы. Пользовался не очень популярным (от этого он ни чуть хуже не становился) сервисом up.spbland.ru. Но это как-то не правильно. И тут я решил написать свой сервис. Не буду вдаваться в подробности и рутину, только концепция.
Читать дальше →
Всего голосов 129: ↑127 и ↓2+125
Комментарии142

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

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

Перевод заметки "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 вместо регулярных выражений.

Читать дальше →
Всего голосов 79: ↑65 и ↓14+51
Комментарии201

Псевдо-Ajax

Время на прочтение2 мин
Количество просмотров1.3K
— Кросс-пост из моего блога
Веб 2.0 начал плотно входить в умы людей, которые хотят сделать себе сайт. Как частный случай — некоторые люди просто помешаны на технологии Ajax. Требуют использовать её банально везде. Естественно можно попробовать переубедить заказчика, но если это невозможно или не к месту, то можно воспользоваться уловкой, которую я назвал «Псевдо-Ajax».
Читать дальше →
Всего голосов 77: ↑57 и ↓20+37
Комментарии55

8 лучших бесплатных средств разработки с открытым кодом по версии InfoWorld

Время на прочтение3 мин
Количество просмотров4.7K
Тестовый Центр InfoWorld выбрал восемь лучших бесплатных инструментов с открытым кодом для разработчиков. Здесь есть средства создания насыщенных приложений (RA), AJAX-фреймворк, система управления бизнес-правилами, пакет контроля версий, объектная база данных, монитор для тестирования веб-сервисов… но пойдем по порядку:
  1. Объектная база данных: db40

    Появившись как Java-библиотека для баз данных, db4o была затем параллельно перенесена на платформу .NET. В множество полезных функций библиотеки db4o входят реализованные в 2005 году «родные запросы» (Native Queries) для построения запросов непосредственно методами Java или .NET.
     
  2. Управление версиями: Git

    Распределенная система управления версиями Git была изначально создана Линусом Торвальдсом, а теперь поддерживается Джунио Хамано (Junio Hamano). Git — это инструмент управления ревизиями во многих выдающихся open-source-проектах, включая ядро Linux, сервер X.org, ядро проекта One Laptop per Child (OLPC) и веб-фреймворк Ruby on Rails. Движок Git как минимум на порядок быстрее аналогичных систем для больших проектов и включает продвинутую поддержку для ветвления и слияния кода.
     
  3. Библиотека веб-клиента: HttpClient

    HttpClient — это Java-библиотека для передачи информации по HTTP-протоколу (родилась в 2001). Она позволяет выполнять http-запросы и легко обрабатывать полученные ответы. Множесто библиотек для работы с web-сервисами используют эту библиотеку в качестве транспортного слоя. Если вы Java-программист, и вам нужно послать http-запрос куда бы то ни было, то это библиотека для Вас. (aib — cпасибо за поправки)!
     


Далее: параллельное програмирование, управление бизнес-правилами, RIA...
Всего голосов 2: ↑2 и ↓0+2
Комментарии32

Информация

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