Вступление

21 век иногда называют веком информации — то есть именно владение информацией определяет успех. Это утверждение в полной мере относится к информационным технологиям. В наше время невозможно знать всё — и лучше принять это как аксиому, это сэкономит тебе массу времени и усилий. Поэтому успешен не тот, кто всё знает, а тот, кто умеет быстро находить требуемую информацию. В школе и в институте тебе, вероятно, привили убеждение, что для успешной работы необходим некий «багаж знаний», а точнее, воз и маленькая тележка, и что тебе для обретения этого «багажа» нужно потратить кучу времени, занимаясь только обучением. Конечно, если ты что-то знаешь, это здорово, и как правило, вспомнить что-то быстрее, чем искать информацию об этом. Но навык поиска информации существенно важнее, поскольку он позволит тебе находить ответы на любые вопросы, а не только на те, ответы на которые есть в прочитанных тобой учебниках. Вот, собственно, о чём пойдёт речь.

На хрена мне это нужно?

Для начала — небольшое лирическое отступление.

На своей первой работе, примерно 2 года назад, когда я только начинал работать программистом, я разрабатывал некую систему 3D визуализации научных данных. К тому моменту я прочитал пару книжек по OpenGL, и думал, что я немерено крут
:). В какой-то момент мне нужно было наложить текстуру на 3D модель (если не знаешь, что это такое, не заворачивайся, это не принципиально). И с удивлением выяснил, что синий компонент текстуры пропал (т.е. вместо белого цвета видно сине-зелёный). В безуспешных попытках решить эту проблему я потратил примерно день, после чего обратился к боссу (привет, AVP :-). Через 10 минут чтения MSDN он мне прислал по асе кусок текста с решением моей проблемы. Когда я спросил его, работал ли он раньше с трёхмерной графикой, выяснил, что нет. На мой вопрос, откуда он это знает, он ответил что-то вроде «А ручки-то вот они!», чем вызвал у меня горячее желание его послать
:), но я сдержался.

Теперь я знаю, что имел в виду AVP, говоря про ручки, и собираюсь поделиться этим с тобой. The information should be
free!

Позволю себе привести ещё один пример. Не далее как сегодня, мой друг — Java-программист, работающий в одной туристический компании — спросил у меня по асе, не знаю ли я способа работать из Java с 1C бухгалтерией версии 7.7. Я сказал «wait», и через 15 минут дал ему ответ. И когда он спросил, «О!… Откуда ты узнал?», я ответил что-то про ручки и инет. А когда я сопоставил этот случай с моей 2-годичной давности проблемой OpenGL, я понял, что был не прав, и начал писать этот документ, поскольку, судя по обилию вопросов в конференциях вида «А как мне сделать…», эта тема ещё нигде не поднималась.

Итак, приступим!

Ценное замечание: текст выделенный шрифтом courier, следует рассматривать как одну строку без кавычек.

1. Учи язык!
IMHO большинство документации в Инете всё-таки на английском. Если ты в нём ни бум-бум, все изложенные ниже советы всё равно тебе помогут, но будь готов к тому, что ответ на особенно редкий вопрос в Рунете ты не найдёшь.

2. Профессионально используй поисковики
Предположим, перед тобой стоит какая-то задача, кажущаяся неразрешимой. Если ты уже безуспешно потратил на её решение 10 минут, самое время остановиться и задуматься — а есть ли в мире (т.е. в Сети) люди, которые сталкивались с похожей проблемой? Скорее всего, ответ положительный, это значит самое время посмотреть на проблему под несколько другим углом, и слегка усовершенствовать метод проб и ошибок и процесс чтения документации
🙂 Для начала, спроси у поисковиков. Основные правила составления запроса:

  • Разделяй и властвуй (с) кто-то умный. Говоря проще — используй ту информацию, которая у тебя есть, для получения любой инфы об объекте твоего поиска. Например, ты ищешь информацию о том, как в винде программно перехватить комбинацию клавиш Ctrl+Alt+Del. Сначала спроси у поисковика что-то вроде
    «Ctrl+Alt+del» intercept windows. Первый же ответ google — вопрос на каком-то форуме, и там написано «You can do this with a system wide keyboard hook…». Ага, думаешь ты, знать бы теперь, кто такой этот небобовый system wide keyboard hook! Да никаких проблем, не стесняйся и спроси у google ещё раз:
    system wide keyboard hook. И на этот раз самый первый ответ — статья «How can I create a system wide keyboard hook under Win32?» с подробным описанием решения. Поздравляю, это именно то, что тебе нужно!
  • Если в ответ на твой запрос поисковик нашёл 4564324 варианта, попробуй его перефразировать, потому что иначе это какая-то полная фигня
    :). Старайся использовать редкие термины, специфичные для того, что ты ищешь. Например, OLE лучше, чем COM; хотя в текстах на эту тему, как правило, встречаются оба слова, COM ещё обозначает домен первого уровня (yahoo.com), исполняемые файлы MS DOS (command.com) и одно из пространств имён иерархии java классов (com.sun.javadoc.Doclet). Если ты не уверен, обозначает ли термин, который ты ищёшь, что-то ещё, просто просмотри несколько первых ссылок, принцип здесь простой, как грабли — если всё не о том, значит ты не попал
    🙂
  • Если результат никакой (найдено 0 страниц) или близко к тому, сначала убедись в отсутствии орфографических ошибок. Слов, написанных с ошибками, в Сети
    предостаточно, поэтому в ответ на запрос с ошибками какой-то результат ты всё равно получишь.
  • Если ты уверен, что запрос идеальный, а результат всё равно никакой, попробуй другой поисковик. Например, иногда лучше использовать google вместо яндекса, даже если ты ищешь что-то на русском языке — результат может быть в DOС или PDF файле, которые, насколько я знаю, яндекс не индексирует.
  •  Ну и наконец, если то, что нужно, не нашлось, делать нечего — попробуй расширить критерии поиска.

Честно признаюсь, мой любимый поисковик — google, из-за нескольких приятных фич. Вот некоторые из них.

  • Знак минус (-) Если ты ищешь информацию о стране Швейцарии для туристов, а вместо этого вылетает 564 676 ссылок про швейцарские часы и швейцарский сыр, набери в строке поиска
    швейцария -сыр -часы. Часы и сыр пойдут в сад аутоматычно
    🙂
  • Ключевое слово site: Более реальный пример — когда-то давно меня попросили составить базу данных e-mail адресов индийских компаний, занимающихся обеспечением качества ПО. Я пару минут подумал, после чего нашёл в сети список доменных имён первого уровня и с превеликим удивлением выяснил, что у Индии домен «IN». А уже после этого спросил у google что-то вроде
    «Software testing» «Quality assurance» Site:.in , и получил ответ, близкий к реальности — google нашёл только те ресурсы, которые находятся в доменной зоне «.in», т.е. в Индии, что помогло нам организовать небольшую массовую почтовую рассылку
    🙂 Согласись, что далеко не на каждой странице Русского интернета сверху написано большими буквами «Россия» или хотя бы «Люби Россию — твою мать»
    🙂
  • Ключевое слово inurl: Как правило, на хороших сайтах структура каталогов примерно соответствует логическому разбиению на подразделы, и это можно использовать. Например, запрос
    form inurl:swing inurl:java найдёт только те документы, в URL которых есть слова swing и java, а в тексте документа — слово
    form.
  • Кеширование документов. Если найденная ссылка не работает, как правило, можно нажать «cached» и посмотреть, как это было, когда работало. Например, однажды я таким образом нашёл номер сотового телефона одного перца, который он неосмотрительно оставил в фидошной конференции году так в 1996
    🙂
  • Возможность просматривать HTML версии документов типа .DOC, .PPT, .PDF. Удобно, если документ большой и с картинками, и скачивать его ломает.

3. Не забывай про официальную документацию
Например, ответы на некоторые вопросы ты намного быстрее найдёшь в MSDN. Если ты думаешь, что там только описания API функций, самое время изменить это убеждение. Например, злой босс подписал тебя ставить
Windows на нескольких десятках компов. Как обычно, сначала лучше подумать, а ещё лучше — использовать подручные технические средства типа MSDN. Первый же ответ MSDN на вопрос
Automate AND install AND windows содержит главу 5 из какой-то книги — Customizing and Automating Installations, что позволит тебе в процессе установки вместо тупого кликанья на Next оттянуться пивком. Кстати, подобные инструкции в официальном хелпе описаны настолько подробно, что даже американский сисадмин с IQ меньше комнатной температуры в состоянии сделать всё правильно, и как правило, с первого раза
🙂

4. Используй средства поиска, встроенные в Windows
Нет, я хочу рассказать не о поиске по Win+F — он совсем не рулит, скорее наоборот. Немногие знают, но вместе с Windows начиная с Win2K
Pro ставится Indexing Service, представляющий собой ядро поисковой машины среднего масштаба
🙂 Проблема, как обычно, в отсутствии явного упоминания об этом. Итак, начнём. Открывай Computer Management -> Services And Applications -> Indexing Service. Советую тебе удалить тот каталог, который там уже есть, и создать свой. Каталог — это база данных по индексированию документов, с целью последующего поиска по ним. При создании каталога тебя попросят указать папку, в которой будут храниться индексы — укажи какую-нибудь, которую ты точно не сотрёшь в борьбе за мегабайт. После чего, добавляй в этот каталог папки на жёстком диске, которые ты хочешь проиндексировать (например, у меня в C:\Documents около 300
Mб различной документации, в основном официальной). И запускай сервис! Если хочешь ускорить процесс индексации (по умолчанию он идёт очень неторопливо), кликай правой кнопкой мыши на «Indexing Service», выбирай All Tasks -> Tune Performance, в появившемся диалоге «Customize». Только не забудь предварительно остановить Indexing Service, иначе «Tune Performance» будет задизейблено. И настраивай!

Best Practice: Я обычно ставлю Indexing на максимум (Instant), когда я добавил что-то в индексируемую папку, после чего иду курить. Возвращаюсь — зашибись, всё проиндексировал (это видно по загрузке процессора), и сбрасываю обратно на минимум (Lazy). Чтобы задать этому поисковику вопрос — можно использовать документик C:\WINNT\Help\ciquery.htm. Один недостаток — работает только в IE, и после документа в URL нужно указать #machine=<computer
name>, catalog=<catalog name>, после чего всё становится хорошо. Я решил обе проблемы путём создания следующего ярлыка (строчка скопирована из поля Target в его свойствах):
"C:\Program Files\Internet Explorer\ IEXPLORE.EXE"
"C:\WINNT\Help\ciquery.htm# machine=soonts,catalog=std"

Если ты хочешь, чтобы индексировались не только HTML и TXT, но и документы Microsoft Office — просто поставь Office (не знаю, хватит ли версии меньше 2000, поэтому я не заморачиваюсь). Если нужна поддержка PDF (хотя после истории со Скляровым 10 раз подумаешь, а надо ли оно 🙂 — ищи в инете компонент «Adobe IFilter» и ставь. У меня версия 5.0, скачанная на халяву с adobe.com год назад, а теперь я поискал — и нету его на там, убрали
:(. В любом случае, я уверен, если оно надо, ты его найдёшь.

5. Работай головой, а не руками
Как и в случае с любой проблемой, если ты что-то делаешь, и у тебя ничего не получается вот уже 10 минут — вместо того, чтобы продолжать биться головой об стену, попробуй сделать что-нибудь другое.

Удачи!!!

Оставить мнение

Check Also

WWW: Carbon — сервис для создания идеальных скриншотов кода

В теории сделать скриншот кода, чтобы кому-то показать, — задача несложная. В реальности р…