воскресенье, 20 марта 2011 г.

Хабрахабр

КупиКупон - скидки от 50% до 90%

Хабрахабр:


    Какое-то время назад мне пришлось сделать программку, которая скачивала в автоматическом режиме файлы с одного достаточно известного сайта. Проблема /на первый взгляд/ состояла в том, что там была капча. Однако одного взгляда на нее было достаточно, чтобы понять, решаемо и очень быстро :) По прошествии нескольких лет снова наткнулся на тот проект и решил вот выложить на хабр. Сразу оговорюсь, сайт называть не буду ибо капча там до сих пор такая и пусть такой и остается. Вобщем, кому интересно - прошу ...



Здесь пойдет речь немного не о том спортивном программировании, к которому многие привыкли. Недавно, на Codeforces был проведен экспериментальный раунд Unknown Language Round #1. На нем участникам было предложено решить несколько несложных задач (первая, вторая, а вот и все остальные). Особенность раунда — задачи можно решать только на одном языке программирования, который не известен участникам до начала раунда. Было анонсировано, что язык не является mainstream языком. Иначе говоря, участникам предлагалось за 2.5 часа соревнования на скорость разобраться в незнакомом языке и решить задачи на нем. Читать дальше →


?Объясни мне, что это за фигня!? Алиса, новый сотрудник, бросила пачку документов Джимми на клавиатуру, и нависла над ним, скрестив руки. Он нажал ?отмену? и взглянул на документы. Это было полное описание ERP-системы с грифом ?высокой важности? ? новая инициатива менеджеров, за которую они были щедро вознаграждены, требующая от программистов ?инвестировать? в собственный труд. ?Для первого проекта весьма амбициозно? ? сказал он. ?Может, стоит начать с задачи попроще, чтобы вначале узнать наш код?? Читать дальше →


На стремительно надвигающейся JavaOne в Москве мы снова рассказываем о Java Performance. Будем рады вас видеть! Краткий анонс того, что мы будем делать в этом году: оба дня на стенде ?JVM Performance & Monitoring? мы будем постоянно доступны для общения; 12 апреля, 17:30, про настройку GC в синем зале рассказывает Владимир, есть слайды с питерской сессии; 12 апреля, 18:30, оккупацию синего зала продолжают Алексей и Сергей с очередным Java Platform Performance BoF, есть старые слайды с питерской сессии; 13 апреля, 12:30, в кроваво-красном зале Алексей рассказывает про бенчмаркинг, гораздо подробнее, чем было в Питере; 13 апреля, 16:15, Сергей приходит в белоснежный зал рассказывать про Java Memory Model Feedforward Как обычно, понимая, что темы огромные и чем-то придётся пожертвовать, мы спрашиваем, хотите ли вы что-то специальное по докладам услышать, на чём-то заострить внимание, что-то просто разжевать. Пишите комментарии здесь, пишите письма обычной электропочтой, или кидайте вопросы на нашем стенде. Чем раньше мы услышим вопрос, тем более обстоятельно мы сможем на него ответить! Полная программа ? на сайте конференции. Пока ещё можно зарегистрироваться по смешной цене :)



Причем платить придется уже в этом месяце ? если раньше ресурс можно было читать совершенно бесплатно, неограниченное количество публикаций, то теперь за материалы придется платить. Впрочем, бесплатно можно будет просматривать 20 статей в месяц, если хочется больше ? придется таки платить. Стоит отметить, что те, кто подписан на бумажную версию издания, получают бесплатный доступ к сайту газеты. Кроме того, владельцы приложений для мобильных девайсов смогут читать бесплатно главные новости газеты. А вот за все остальное приходится платить. Читать дальше →


Недавно на Хабре появилась новость о том, что очередная голливудская комедия размещена на YouTube, причем смотреть ее можно бесплатно. Создатели того фильма сразу говорили, что их картина снимается для Интернета. В общем, начинание получило признание многих пользователей. К слову, сейчас еще один фильм готовится для размещения в Сети, только не на YouTube, а на торрентах. Да-да, это так, причем скачка этого фильма с торрентов будет абсолютно легальной. Разработчики маркетинговой стратегии надеются, что такой ход позволит фильму стать популярным, в результате чего пользователи, услышавшие о нем, отправятся в магазин за диском с дополнительными материалами к фильму. Читать дальше →


Доброго времени суток, хабражители! Хочу поведать вам одну занимательную историю из жизни ?железок?. Надеюсь хоть кому-то она окажется полезной. Вечером 3-го декабря 2010 года, включив свой ноутбук Sony VAIO VGN-AR21MR, вместо привычного стартового лого, показанного слева, я увидел пугающую картинку, показанную справа. Сердце ёкнуло: в мои планы не входила покупка нового ноутбука под Новый Год. Читать дальше →


Этой статьей я планирую начать целый цикл, который может быть со временем соберется в книгу. Информация про COBOL на русском представлена фактически статьей в Википедии и двумя советскими ГОСТами. Вы можете спросить меня зачем я начинаю ?раскапывать труп? и прочие аналогичные вопросы. Ответ прост ? а просто так. Потому что я люблю COBOL, потому что он вовсе не мертвый, потому что он интересный, потому что это часть важной истории и он продолжит оставаться частью будущего. Потому что COBOL ? это событие. И пусть его ругает Дейкстра и другие, это ничуть не умаляет его объемов и его влияния на ИТ в бизнес. Читать дальше →



В своей прошлой статье я рассказал, что есть довольно много библиотек для парсинга html, в этот раз я решил показать каким образом можно извлекать информацию из текста с помощью регулярных выражений, где невозможно ?зацепиться? за теги и воспользоваться упомянутыми библиотеками. Изначально всё начиналось с небольшого приложения, но постепенно я придумывал что-то новое и в итоге как мне кажется, получилось довольно интересно. Под катом я расскажу о ходе разработке, покажу примеры работы и варианты развития. Читать дальше →


Вольный перевод новости: wiki.php.net был скомпрометирован и атакующим удалось собрать данные от аккаунтов. Другие подразделы инфраструктуры php.net, по нашим данным, не пострадали. Наша главная забота сейчас ? целостность исходников. Мы провели всевозможные проверки на каждый коммит начиная с выпуска php версии 5.3.5, чтобы удостовериться, что украденные аккаунты не были использованы для внедрения вредоносных кодов ? все в порядке. Скомпрометированные машины были очищены, все пароли к аккаунтам в SVN сменены. Мы продолжаем расследование по факту атаки, которая являлась сочетанием использования уязвимости в движке софта Wiki-раздела и эксплойта к Линуксу для получения прав администратора. источник UPD: 20.03, 10:20 ? wiki.php.net и windows.php.net до сих пор не доступны (да-да, страничка для пользователей Windows вчера также была недоступна, но я это заметил еще до прочтения новости, а после не додумался связать). Это лишь мои наблюдения ? может, кто-то еще что-нибудь заметил?


Данная статья является переводом. Источник Управление зависимостями Когда вы пишете большое приложение, вам иногда бывает нужно определить порядок загрузки скриптов. Например, загружать func.js до app.js. Хотя традиционный подход упорядочивания тегов script может вас устроить во многих случаях, загрузчики скриптов могут дать вам дополнительные возможности в управлении загрузкой. Например, загрузка в зависимости от возможностей браузера, динамическая загрузка по условию. Наиболее популярные загрузчики ? это RequireJS (от James Burke) и LabJS (от Kyle Simpson). Каждый из них имеет свои плюсы и минусы. По моему опыту, RequireJS имеет больше возможностей и поддерживает структурированные модули, в то время как LabJS наиболее подходит, если вам нужно что-то легкое и не нужно много фич. Библиотеки: RequireJS ? я рекомендую эту библиотеку, если вы планируете делать ваш код модульным. Модули ограничивают влияние кода на глобальное пространство имен и позволяют более точно определять прямые зависимости. RequireJS также имеет инструмент для оптимизации, который позволяет вам комбинировать и группировать ваши скрипты в минимизированные копии, которые быстро загружаются. http://requirejs.org/ LabJS ? это лучшее решение, если вы хотите эффективно загружать скрипты в определенном порядке и вам нужно более легкое решение, чем RequireJS, либо вас не интересует модульный подход в управлении зависимостями. http://www.labjs.com (и еще гляньте YepNope JS ? отличный загрузчик, работающий по условиям, который работает на базе LabJS: http://www.yepnopejs.com). StealJS ? другой отличный инструмент управления зависимостями. StealJS ? это часть пакета JavaScriptMVC, но вы можете использовать его отдельно. Включает в себя конкатенацию, компрессию и чистку кода. http://jupiterjs.com/news/stealjs-script-manager JSL Script Loader ? другой достойный инструмент, который поддерживает ленивую загрузку, упорядоченную загрузку, предотвращает повторную загрузку и кэширует. Не так интенсивно протестирован как LabJS и Require ?  http://www.andresvidal.com/jsl Bootstrap ? имеет меньше возможностей, чем другие, но делает свою работу. Лучший вариант, если вы ищете минимальное решение без всяких наворотов. https://bitbucket.org/scott_koon/bootstrap Читать дальше →





При резервном копировании путём простого копирования файлов возникает вопрос: ?как убедиться в целостности данных?. Ведь если, например, копировать 50-гиговую базу lotus сервера, то в процессе копирования одной части может измениться другая и целостность будет нарушена. А в некоторых случаях (например с базами данных) может появиться необходимость остановки службы, но нет возможности остановить её на пару часов. Для подобных задач Windows имеет полезный инструмент. Впервые о подобной технологии я узнал работая с FreeBSD, затем узнал про LVM в Linux, а поискав такое же решение для Windows обнаружил, что оно тоже уже есть и называется называется Volume Shadow Copy. Эта технология позволяет сделать мгновенный слепок файловой системы, который статичен во времени, в то время как оригинальная файловая система продолжает работу в штатном режиме. Для бекапа баз данных таким образом можно останавливать БД (когда это возможно), создавать слепок, запускать БД снова, и после этого спокойно копировать файлы используя созданный слепок. Я приведу пример автоматического создания слепка для резервного копирования базы Lotus Domino (останова она не требует) и поясню как оно работает. Скрипт можно легко адаптировать под свои нужды. Читать дальше →


Регулярные выражения (РВ) это, по существу, крошечный язык программирования, встроенный в Python и доступный при помощи модуля re. Используя его, вы указывается правила для множества возможных строк, которые вы хотите проверить; это множество может содержать английские фразы, или адреса электронной почты, или TeX команды, или все что угодно. С помощью РВ вы можете задавать вопросы, такие как ?Соответствует ли эта строка шаблону??, или ?Совпадает ли шаблон где-нибудь с этой строкой??. Вы можете также использовать регулярные выражения, чтобы изменить строку или разбить ее на части различными способами. Читать дальше →


Отписаться от этой рассылки

Комментариев нет:

Отправить комментарий