воскресенье, 28 октября 2012 г.

Находим все, точно и быстро

Уверен, каждый согласится, что умение пользоваться поисковыми системами – критически важный навык любого эффективного программиста. Поэтому почти не колеблясь записался на онлайновый курс от Гугл - Power Searching with Google. Хороший конспект курса сделан в статье Гугли как Шерлок. Конечно курс рассчитан, главным образом, на не IT специалистов, тем не менее интересные вещицы там были. В этой статье хочу поделиться возможностях поиска Гугл, о которых я не знал, и возможно не знаете и вы.

Оповещения

Если вас интересует какая-то тема, и вы хотите появление в Сети новой информации можно настроить оповещения (Google Alerts). Найти их можно если на главной странице выбрать меню Еще (More), затем Все Сервисы (Even More) и в списке продуктов найти Оповещения (Alerts)

clip_image002

Странно, что нет этой возможности прямо на странице результатов обычного поиска.

Ограничения по времени

Второй интересной фичей мне показалась, функция ограничения результатов поиска по времени их появления в индексе Гугл.

Включается она как раз на странице результатов – линка Показать настройки. После чего это пункт расширяется вариантами фильтрации по времени. Теперь если, например, выбрать За месяц можно отследить, например, какие новые статьи за последний месяц по запросу «Windows 8».

clip_image004

Поиск изображений по образцу

Еще одна функция, которая меня поразила – это поиск по образую. Найти ее можно если перейти в поиск по картинкам. Выглядит она как иконка фотокамеры.

clip_image006

По клику на ней, появится окошко в котором можно указать изображение-образец.

clip_image008

Ниже фрагмент скриншота Google, когда я искал по небольшой картинке, где был изображен Доктор Хаус. Гугл сам определил, что его зовут “Hugh Laurie” и подставил этот текст в поле поиска и нашел мне похожие изображения с этим актером.

clip_image010

Поиск слова (фразы) в тексте

Страницы, которые возвращает Google не обязательно содержат искомую фразу в тексте. Она может содержаться в адресе страницы, в заголовке, в мете описании, быть подписью картинги и пр. Если требуется чтобы искомая фраза действительно содержалась в тексте поиковый запрос надо добавить ключевое слово intext:

clip_image012

В таком случае поисковая система вернет только те страницы, где действительно в тексте содержится упоминание «StaticFileHandler».

Исключение из результатов поиска

Если требуется исключить какие-то страницы из результатов поиска, то используйте знак минус (-) и затем слово которое надо исключить.

Например, если поискать слово cookie то в результате поиска будут страницы описывающие куки браузеров и страницы с рецептами различных печенюшек. Так вот если мне нужны именно печенье, то страницы с HTTP cookies надо из результатов убрать:

cookie –HTTP

clip_image014

А если именно браузерные, то убираем рецепты

clip_image016

суббота, 20 октября 2012 г.

Чек-лист запуска сайта

Сейчас популярны всякие чек-листы. Да и это не удивительно - такие списки экономят время, минимизируют шанс, что-либо упустить. С таким списком проще делегировать работу. Важно только, чтобы чек-лист не покрывался пылью, а регулярно использовался, обновлялся при необходимости.

Небольшие пояснения. Непосредственно разработка, отладка, тестирование и прочее, обозначено емким пунктом «разработать сайт». Жирным выделены ключевые пункты.

  1. Разработать сайт
  2. Добавить Robots.txt
  3. Добавить Sitemap.xml
  4. Проверить и удалить отладочный код
  5. Подключить аналитику
    • Google Analytics
    • Google Webmaster Tools
    • Bing Webmaster Tools
  6. Поставить перенаправление с версии без «www.» на версию, начинающуюся с «www.»
  7. Опубликовать сайт
  8. Проверить работоспособность сайта
    • все страницы отображаются корректно;
    • переходы по ссылкам;
    • работу форм;
  9. Проверить что посещения, переходы (и др. события) отображается в аналитике
  10. Добавить сайт в поисковые системы:
    • Google
    • Bing
    • Baidu (http://www.baidu.com/search/url_submit.html)
    • Yandex
  11. Проверить сайт в выдаче поисковых систем (через 1 неделю после публикации)

суббота, 13 октября 2012 г.

IExpress – создание самораспаковывающихся архивов и инсталляторов

Недавно узнал, что в состав Windows (начиная с Windows XP) входит интересная утилита – IExpress. Располагается она в c:\windows\system32, и поэтому ее можно вызывать без указания полного пути. У нее два основных назначения – создание относительно простых инсталляторов и самораспаковывающихся архивов (файлы с расширением exe). Конечно, в архивации она не сравнится в удобстве использования с коммерческими продуктами типа WinRar, однако вполне может выручить, когда коммерческий архиватор не доступен (например, на сервере). Так же что не маловажно, утилита поддерживает работу из командной строки, что делает ее пригодной для использования в автоматизации (например, ее можно использовать как один из шагов в bat-файлах, при сборке проекта в Visual Studio и на билд-сервере). Еще и еще один плюс -- антивирусов нет аллергии на полученный исполняемый файл (в отличи, скажем, от исполняемого бутстраппера который формирует WiX Burn).

Далее приведу пример, как создать архив при помощи IEpress и посмотрим какие опции есть у утилиты. Также увидим как выглядит процесс распаковки такого архива.

Появится начальное окно мастера IExpress.

image

Как видно по скриншоту, он не локализован и даже на русской версии Windows имеет англоязычный интерфейс пользователя. Выберем Create new Self Extraction Directive file и нажмем «Далее». Вторя опция Open existing Self Extraction Directive file позволяет открыть текстовый файл в формате SED c заданными параметрами для утилиты (мы еще встретим создание этого файла далее).

На следующем экране выберем опцию Extract files only. Если бы мы создавали инсталлятор, то следует выбрать опцию Extract files and run an installation command. А если выбрать последнюю опцию – Create compressed files only – то будет создан cab файл.

image

Далее в Package title введем название архива, его увидит пользователь. Например, «ReadMe архив».

На экране Confirmation prompt можно еще раз спросить у пользователя точно ли он хочет распаковать наш архив. В целя изучения IExpres, выберем опцию Promt user with и введем в поле ниже «Распакуем архивчик?»

image

На экране License agreenment можно предварить распаковку показом лицензии пользователю. Так мы и сделаем и поэтому выберем опцию Display a licene и выберем текстовый файл произвольного содержания.

Важный экран Packaged files. Именно здесь перечисляются файлы, которые войдут в состав архива. Добавим сюда файлы архива.

image

На экране Show window определяется как пользователь будет видеть окно с прогрессом распаковки архива (инсталлятора). Оставим дефолтную опцию Default.

На следующем экране Finished message можно задать сообщение, которое получит пользователь после распаковки архива. Так мы и поступим. Выберем опцию Display message и в поле ниже введем «Поздравляем!».

image

Экран Package Name and Options позволяет задать имя архива (инсталлятора). Выберите так же параметр Store files using Long File Name inside Package, чтобы файлы длиннее 8 символов остались не измененными.

image

Экран Save Self Extraction Directive позволяет сохранить выбранные нами опции и введенные значения в текстовый файл, для повторного использования (помните вариант Open existing Self Extraction Directive file с первого скриншота?)

Больше вводить ничего не придется и просто жмем кнопу Далее. И получим вот такой исполняемый файл.

image

Теперь запустим полученный файл. Вначале пользователь видит наше приветствие. А заголовок окна – это имя пакета.

image

Затем пользователю показывается лицензия.

image

Далее окно для ввода местоположения для распаковки архива. Обратите внимание, что если сама утилита IExress не локализована, то полученный файл – локализован.

image

По окончанию пользователь видит наше последнее сообщения.

image

Как видим, получился весьма неплохой самораспаковывающийся архив.

Еще один интересный вариант применения IExress нашел в статье Deployment with IExpress: How to turn your MSI file into an EXE-- это создание инсталлятора с расширением exe для msi файла. Это не бутстраппер, а в некотором роде обертка, которая распаковывает msi файл и запускает его инсталляцию. По правде говоря, необходимости в такой обертке нет, но большинство пользователей комфортней себя чествуют, когда скачивают exe файл, а не непонятный msi. Там же приведен пример, как настроить автоматическое создание инсталлятора при сборке в студии.

Хочу так же отметить один важный нюанс. Если вы используете IExpress на 64 битной Windows, то полученный файл не исполняется на 32 битной версии

image

Для такого случая есть 32 битная версия IExpress, которая надо вызывать из каталога c:\windows\syswow64 (расшифровывается как Windows On Windows 64).

В завершение статьи могу порекомендовать раздел с Technet где описаны параметры командной строки для утилиты и немого более рассказывается про создание инсталлятора.

вторник, 2 октября 2012 г.

Генерация случайных паролей средствами Windows

Недавно с удивлением узнал, что в Windows есть встроенные средства по генерации случайных паролей. При вызове команды net user USER_NAME /random операционная система сгенерирует 8-ми символьный случайный пароль и назначит его учетной записи USER_NAME. Выглядит это вот так.

clip_image002

Эта команда работает в большинстве версий Windows (я проверял на WinXP и Win8). Для смены пароля учетной записи в Windows Vista и выше Командная строка должна быть запущена с правами администратора. Пароли получаются разной степени надежности, поэтому запустите эту команду несколько раз, пока не получите достаточно сильный пароль. Проверить качество пароля можно с помощью любого онлайнового валидатора паролей.

Предупреждение. Не выполняйте эту команду из Start->Run.., т.к. в этом случае система откроет окно Командной строки, сгенерирует новый пароль, назначит его указанной учетной записи и сразу же закроет окно Командной строки. Поэтому вы не сможете увидеть новый пароль, который будет назначен учетной записи.