Всегда было интересно какой теоретический потолок по нагрузке у тех сайтов, что я разрабатываю. И вот, в прошлом месяце, в день несостоявшегося конца света у меня появилась отличная возможность проверить это.
Читать далее Чуть-чуть похвастаюсь
Рубрика: webdev
nginx и Content-Disposition
Та же фигня, которая в прошлом посте, но теперь средствами nginx
location ~* ^\/files\/([0-9]+)\/([0-9]+)\/(.*)\.(.*)$ { set $ext $4; root /path/to/docroot/; if ($args ~ "name=(.*)"){ set $filename $1.$ext; add_header Content-Disposition 'attachment; filename=$filename'; } }
mod rewrite и все-все-все
Решил поделиться с интернетом своими изысканиями
Задача: подменить имя файла при скачивании с сервера
На сайте имеется загрузчик файлов, который для удобства хранения переменовывает файлы в случайный набор букв и цифр, оставляя родным только расширение файла, типа вот так: 44srCfNgQPwWw60Wg3m5.doc
Так же в БД хранится заодно настоящее имя файла (которое можно изменять через админку). Файлы лежат в директории /files/2012/01/44srCfNgQPwWw60Wg3m5.doc
Просто и понятно.
Понятное дело, чтобы лишний раз не грузить сервер (без отдачи файла через php) мы будем отдавать файл напрямую (те тупо дадим ссылку на него), но в диалоге сохранения файла браузер выдаст сохранить как «44srCfNgQPwWw60Wg3m5.doc». Это некрасиво. Умные люди придумали такой заголовок: Content-Disposition: attachment; filename=»downloaded.pdf». Т.е. если бы мы отдавали файл через php, то мы бы просто обратились к нему через readfile и перед выплевыванием в браузер добавили бы в том числе такой заголовок и наш файл абракадабра имел бы человеческий вид.
А теперь я расскажу как это сделать средствами apache2 (уверен, нечто подобное можно сделать и для nginx, этим я озадачусь чуть позже, посколько nginx на тестовом сервере установлено не было на момент изыскания). Единственный минус данного способа в том, что мы должны еще передавать GET переменную name к скачиваемому файлу с нужным именем файла
Читать далее mod rewrite и все-все-все
И тут я вспомнил про netcat
sven: как только я нахожу кого–то кто готов написать под UMI? то после прочтения документации исполнитель испаряется. Точнее он входит в глубочайшую депрессию и говорит что писать под UMI это как ебаться в гамаке стоя на лыжах в водолазном костюме.
Еще никто не согласился :( пичалька
Написал madgrandmaster aladdin, 07.10.2012 в 19.19 | ответить
Sphinx
Какие-то совершенно невероятные алгоритмы поиска у сфинкса для англоязычных названий при отключенной морфологии и нормализации слов. Я в шоке.
Элитные программисты, vip, почасово, ночь, свой коворкинг центр, xp, оджайл, скрам, парное кодирование, кодревью, возможно с другом.
must not fap on macosx
Соб-но почти сутки назад я скачал себе офигительнейший редактор — Sublime text 2. И все бы хорошо, но не умеет этот редактор ходить по sftp/ftp (да-да-да, ломайте меня). Я не долго думая погуглил и нашел macfuse и его визуальную оболочку macfusion, которые умеют монтировать ftp сервер как обычную локальную папку. Все заработало, но с ощутимыми тормозами. Решил, что разберусь с этим позже лег спать. На «утро» macfuse начал тормозить всю файловую систему. Не знаю, как эй это удавалось, но тормозило все. Пришлось снести эту штуку и чесать репу дальше. Дальше обнаружилось, что у Sublime есть возможность установки плагинов. Скачал пару плагинов, но все они скачивали полностью содержимое фтп сервера на локальный комп и синхронизировали локальные файлы с сервером. Это не катит по одной простой причине — лишних 30 гигов на макбуке у меня не нашлось. Поэтому, варианты пришлось тоже отмести. И тут приходит осознание того, что я в мак ос, а это значит, что все должно решиться на самом деле как-то значительно проще! И точно. Нашел в Finder подключение к удаленному серверу, в два клика подключился, скормил это подключение Sublime и умилился тому, как все было на самом деле просто.
Мораль: с mac os нужно переставать быть компьютерным гиком и не решать свои задачи через изобретение велосипеда.
UPD: быстро обломался, потому что фтп в макос монтируется в режиме read only… нафига?
UPD2: nfs наше все
Верхняя Ропша!
Попытка реабилитироваться
Что-то давненько я не писал. Хотя, не так много и случилось за это время.
Запустили новую версию сайта Мой Район:
Получилось на мой вкус очень клево, и что самое главное, нагрузочное тестирование выборами получилось отменное! Сайт вполне выдерживает большую посещаемость и первое, во что упирается сайт — это в канал.
Доволен собой, иными словами : )