Как вывести список файлов через FTP
Встала такая задача - вывести в список всех флеш роликов используемых в проекте. При этом известен только FTP заход. Конечно, можно просмотреть все страницы сайта, посмотреть где есть ссылки на swf и записать их адреса, но это займет много времени да к тому же можно что либо пропустить. Можно воспользоваться возможностями FAR Мanager, но он не выводит результат в текстовый файл, поэтому написал вот такую программку:
Как удалить все сообщения из почтового ящика?
Сегодня случилось удалять сообщения из POP3 почтового аккаунта в коем набралось больше шести тысяч писем спама. Конечно гораздо проще убить и заново создать ящик, но это слишком просто, гораздо интереснее написать небольшую программку, которая и убьет все сообщения, тем более что здесь нашел замечательную функцию на PHP. Вот ее код:
'; $num_mails = $fields[1]; for($i=1;$i<=$num_mails;$i++) { set_time_limit(30); fputs($fp,"DELE $i\r\n"); $line = fgets($fp, 1024); flush(); } } } fclose($fp); } }
здесь выложил работающий пример.
!! в JavaScript
Разглядывая чужие исходники постоянно натыкаюсь на использование конструкций вида !!(document.evaluate). Догадывался что это проверка переменной на существование, и вот теперь убедился с этом лично.
Если выполнить указанный код в мозилле покажет true если в Explorer - покажет false, что и требовалось доказать т.к. Explorer не поддерживатет XPath.
Конечно, гораздо логичнее было сделать проверку с использованием if, но поскольку в JavaScript размер кода является решающем фактором то разработчики намеренно идут на всякого рода ухищрения чтобы сократить запись иногда даже в угоду удобочитаемости.
JavaScript наследование
Разбирая исходники библиотеки mootolls обнаружил ссылку на блог некоего Дина Эдвардса (Dean Edwards). Дин предлагает свою версию эмуляции объектно-ориентированного программирования на JavaScript.
Основные особенности следующие: не нужно кажный раз для расширения класса писать MyClass.prototype; можно обращаться к методам базового класса из переопределенных методов (аналог super в Java); поддержка статических методов свойств; не используются глобальные функции для создания цепочек прототипов; не изменяется Object.prototype.
Вобщем довольно интересная штука, хотя на мой взгляд super в общем то не очень и нужен, хотя идея сама по себе, на мой взгляд, классная и реализация отличная.