Это, конечно, здорово, но на дворе конец 2012-го, сейчас уже даже ddos по javascript фильтруют (nginx testcookie, например), есть ли смысл тратить ресурсы на устаревших клиентов?
Кто пустил вообще барыгу на инновационный форум? KupiVip — это суть та же торговля из контейнеров на барахолке, только в наши дни витрина представлена сайтом. В чем инновации этой компании?
Topre дорогущие, даже в сравнение с недешевыми механическими.
Да и звук я бы не назвал уж совсем не громким: www.youtube.com/watch?v=NCJO9ylYUug&feature=related
Примерно так же звучат у меня MX Brown с установленными под клавиши резиновыми бамперами. Но печатать на такой клавиатуре ночью, когда кто-то спит рядом или в соседней комнате, довольно эгоистично :)
А хрен бы его знал, если честно. Но как-то так повелось, что мембранные и ножничные клавиатуры имеют максимум 3KRO, в то время как для механических стандарт — 6KRO на USB и NKRO на PS/2.
Они все будут так или иначе громкими, если механические. Немного улучшить ситуацию помогут резиновые колечки (http://www.wasdkeyboards.com/index.php/cherry-mx-rubber-switch-dampeners.html), но в целом звук останется почти таким же.
Посмотрите варианты от Filco или тот же CM Storm QuickFire. Правда, в России найти их проблематично, только под заказ.
Зачем каждый раз при отдаче статического файла поднимать php-процесс, коннектиться к базе, выбирать запись по ключу и плеваться файлом через readfile? Разве не проще ли заранее сохранить файл в «нормальный» каталог и передать задачу выдачи файла тому, кто с этим справляется лучше — веб-серверу? К вам на сайт больше 100 человек в день давно заходили?
Начните себя менять. Займитесь спортом, например. Если толстый — бегайте, если дрищ — качайтесь. Всерьез, с фанатизмом. Либо купите Порше. Вариантов вообще масса.
Apache в принципе-то не виноват. Просто в вашем варианте картинки гоняются через php-скрипт, а это большая нагрузка. mod_rewrite апача я уже не помню за давностью, но уверен, что на нем тоже можно реализовать подобную схему проверки существования файла.
В этом случае файлы остаются там же, где и были, просто pic.jpg становится pic@2x.jpg (описанный в вашем посте вариант). По-прежнему проверяем на куку «retina», если есть — отдаем @2x изображения. Пути к картинкам править, опять же, нигде не надо.
1. Аналогично ставите куку перед загрузкой страницы: если ретина, кука retina = 1, если нет, то куки retina нет.
2. Пути к изображениям остаются неизменными, никаких префиксов /2x и т.д.
3. Кладете оптимизированные изображения в папку /2x/… и далее согласно текущей структуре файлов на сайте.
4. Конфиг nginx:
Суть в том, что сервер проверяет наличие куки «retina». Если она есть, перенаправляет файлы на префикс /2x. Далее смотрит: если файл есть в 2x — отдает ретина-версию, если нет — отдает файл по старому пути.
Да и звук я бы не назвал уж совсем не громким: www.youtube.com/watch?v=NCJO9ylYUug&feature=related
Примерно так же звучат у меня MX Brown с установленными под клавиши резиновыми бамперами. Но печатать на такой клавиатуре ночью, когда кто-то спит рядом или в соседней комнате, довольно эгоистично :)
Посмотрите варианты от Filco или тот же CM Storm QuickFire. Правда, в России найти их проблематично, только под заказ.
Чтобы тут не разводить треды, кинул вам в личку полный конфиг хоста, например.
В этом случае файлы остаются там же, где и были, просто pic.jpg становится pic@2x.jpg (описанный в вашем посте вариант). По-прежнему проверяем на куку «retina», если есть — отдаем @2x изображения. Пути к картинкам править, опять же, нигде не надо.
1. Аналогично ставите куку перед загрузкой страницы: если ретина, кука retina = 1, если нет, то куки retina нет.
2. Пути к изображениям остаются неизменными, никаких префиксов /2x и т.д.
3. Кладете оптимизированные изображения в папку /2x/… и далее согласно текущей структуре файлов на сайте.
4. Конфиг nginx:
Суть в том, что сервер проверяет наличие куки «retina». Если она есть, перенаправляет файлы на префикс /2x. Далее смотрит: если файл есть в 2x — отдает ретина-версию, если нет — отдает файл по старому пути.