среда, 12 ноября 2014 г.

Отображение контента и Chrome

Иногда нужно не отображать контент в браузере, а скачать его на компьютер. Например, Chrome-подобные браузеры не скачивают музыку (mp3 и т.п.), а проигрывают во встроенном плагине. Конечно, можно нажать Ctrl+S и сохранить файл, но для пользователя удобней, когда есть сразу ссылка на скачивание.
Добиться этого можно, указав в теге a атрибут download - в таком случае браузер не перейдет по ссылке, а просто скачает ее содержимое. Например:
<a href="song.mp3">Прослушать в браузере</a>
<a href="song.mp3" download>Скачать песню</a>

среда, 1 января 2014 г.

RSA,Perl и Windows

Понадобилось мне написать некоторое серверное приложение, которое бы использовало криптографический алгоритм RSA. Первым делом я начал искать что-либо для PHP (так как этот язык программирования я знаю достаточно хорошо), но нормальных либ к нему не нашлось. Тогда решил посмотреть в сторону Perl, который знаю похуже. Как и ожидалось, на CPAN сразу же нашелся модуль CRYPT::RSA. Возрадовавшись, я приступил к его установке. Но ppm install ничего не нашел. Заподозрив неладное, попробовал установить его напрямую через cpan, и столкнулся с ошибками. В общем, после нескольких попыток оказалось, что данный модуль зависит от некоего Math::Pari, который ну никак не хочет компилироваться под Windows и мою версию Perl. Собственно, как оказалось http://code.activestate.com/ppm/Crypt-RSA/ есть таблица, в которой все указано.
Как видно, перспективы довольно таки безрадостные, или ставить линукс и 5.16 Perl, или оставаться на винде даунгрейдится до 5.8. Ни то ни другое меня не обрадовало,я продолжил поиск, и наткнулся на модуль Alt::Crypt::RSA::BigInt , который является альтернативой вышеупомянутому. Только здесь злосчастный Math::Pari заменен на Math::BigInt , который под виндой идет довольно таки неплохо.

Может кому-то пригодится. Хотя он существенно медленней, (а для ускорения нужна библиотека GMP, которая под винду вряд ли скомпилится), но все же, жить можно. Может кому-нибудь пригодится.