MCP

понедельник, 1 февраля 2010 г.

Upgrade Windows

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

Чтобы этого не произошло, перед апгрейдом вытащите все лишние винчестеры из компьютера. В противном случае, система может запутаться и начать апгрейдить систему на другом диске (даже если там ничего нет). Когда после длительного шуршания у неё это не получится, она выплакается вам в жилетку и пойдёт восстанавливать старую. И тут может быть сюрприз, восстанавливать старую она будет тоже на другом диске.

Как результат, вы получите полностью поломанную старую систему, и не получите новую.

Также, в случае проблем, рекомендуется вытащить всё лишнее оборудование из компьютера, чтобы не было проблем с драйверами, но в принципе, тут уже Upgrade Advisor заранее скажет о возможных проблемах.

PS: Да, и при апгрейде летят некоторые настройки приложений и ломаются драйвера, так что для критичных приложений следует озаботиться бекапом.

Hyper-V для дома и тестов

Решил потестировать Hyper-V локально, чтобы сделать выводы о целесообразности его установки на сервер. Выглядит всё неплохо, но столкнулся с большим количеством "странностей", так что пришлось отказаться. Ещё раз уточняю, я тестировал это локально, для могучих серверов большинство проблем, думаю будут не актуальны. Итак, по пунктам:

  • Hyper-V сильно интегрируется в систему, т.е. постоянно занимается своими внутренними делами и по крайней мере замедляет запуск/завершение работы.
  • При наличии Hyper-V систему никаким образом невозможно загнать в сон (Suspend, Stand By, Hibernate). Идея понятна, заснёшь, а проснёшься уже с другим конфигом и все виртуалки улетят к чертям собачьим. Подобная ситуация была и с маршрутизацией, но её можно было вначале остановить, а потом уснуть. Тут же ничего не помогает. Только удаление.
  • При запуске гостевой системы постоянно ругается всякими чудесными словами, то не может получить доступ к файлу, то у него доступно всего 0Mb оперативки, то ещё какие-то чудеса. Лечится постоянными попытками запустить, в конце концов ему всё удаётся.
  • Виртуальная машина не очень предназначена для работы в консоли, т.е. графика очень ограничена и не шустра. Возможно мне просто показалось.
  • Не очень любит наличие других программ для работы с виртуалками в системе. Ломает их, хотя при установке не нервничает по их поводу.
Ещё раз повторюсь, для специально выделенного сервера это всё некритично, но если соберётесь тестировать локально, имейте ввиду возможное наличие проблем и ухудшение работы остальной системы.

суббота, 30 января 2010 г.

Windows 7 Language Pack/MUI

Решил тут поставить русский MUI для системы, посмотреть что изменится (есть подозрения, что будет получше с поиском по-русски, возможно в мелочах тоже по-приятнее). И обнаружил, что в принципе, скачать это можно и бесплатно, но ISO занимает 2 с лишним гигабайта и включает в себя все языки. Может быть, я всего-лишь плохо искал, но когда качаешь ISO, не очень понятно, что получишь в конце. В конце же я получил много ненужного.

Реально при этом русский Language Pack занимает всего 70Mb (!!!). Так что я решил, что в принципе, не повредит выложить его отдельно, чтобы не выкачивать всё. Заодно решил и английский добавить для тех, у кого русская система.

Выложить решил на SkyDrive, ибо там всё хорошо со скоростью и доступностью, правда максимальный размер 50Mb, так что пришлось бить на две части.

Итак, по-пунктам:
  1. Данный MUI или Language Pack (я запутался как их называть) подходит для любой Windows 7 и любого Windows Server 2008 R2 (и это меня радует)
  2. Перед скачиванием найдите и прочитайте лицензию, убедитесь что вы ничего не нарушаете и что вам никто ничего не должен
  3.  После скачивания распакуйте всё в какую-нибудь папку, чтобы в конце получилось что-то типа langPackFolder/ru-ru/lp.cab (или en-us, смотря что вам надо)
  4. Далее заходите в Панель Управления, Региональные настройки, выбираете Добавить/удалить языки и там выбираете вашу папку langPack 
Ну и самое важное, ссылки:
Русский:  часть 1, часть 2
English: part 1, part 2

Update: Меня тут поправили, что для Windows 7 Ultimate — language pack можно скачать через апдейты, а для других, как я понимаю и не получится. Так что мой пост больше относится к серверным версиям и случаю, когда с интернетом всё плохо, так что 70Mb проще скачать заранее из другого места.

вторник, 26 января 2010 г.

Градусник. Последние изменения

С момента последнего поста про градусник прошло достаточно много времени, но напишу я только о недавних, заметных изменениях. Конечно, если вы не заходили на сайт с того момента, то вы увидите как всё сильно изменилось, но в последние пару месяцев стало ещё лучше .

Итак, кроме исправления старых багов (на сайте и в программе) и добавления новых, изменения внутренней архитектуры на более удобную и функциональную, из заметных изменений можно выделить следующие (без какого либо порядка: алфавитного, временного или по-важности):

1. Изменение домена на .com
Теперь сайт переехал на новый домен yartemp.com, со старого .co.cc, так что теперь всё гораздо солиднее, ну и удобнее мне для управления.  Будем надеяться, что этот домен Яндекс всё-таки осилит и сможет заиндексировать. Всё-таки у него алгоритмы на порядок хуже, если сравнивать с гуглом и бингом. Гугл, так вообще копается в сайте, как у меня дома

2. Появился более или менее нормальный F.A.Q.
Теперь хотя бы пользователи смогут прочитать о том как всё работает и какие проблемы бывают.

3. Теперь на графике показываются день и ночь
Т.е. восход и закат, если говорить научно. Выглядит это примерно так:

Более тёмным фоном показывается ночь, светлым, соответственно день. Будет интересно понаблюдать весной и летом, как меняется температура с восходом солнца.

4. Картинки с графиками теперь сжимаются более эффективно
В код добавлен алгоритм, который сжимает картинки раза в 2 относительно стандартных средств .NET, это всё делается в фоне и незаметно для пользователей, в результате страница обновляется ещё быстрее, и трафика потребляется ещё меньше.

Также ещё есть небольшие изменения и новые фичи, о них рассказано в F.A.Q., в программе yarTemp исправлены некоторые ошибки, теперь она чуть лучше работает на x64 системах, но о наиболее интересных улучшениях я решил написать тут, чтобы знали, что работа идёт, сайт совершенствуется. За последний месяц количество посетителей увеличилось где-то в 3 раза, и это без активной рекламы с моей стороны, что не может не радовать. Всё-таки приятно, когда люди получают свежую и актуальную информацию. Посмотрим, что будет дальше.

понедельник, 18 января 2010 г.

DefaultHttpHandler + PNG + FireFox

Я писал про использование DefaultHttpHandler для отдачи файлов, принципиально ничего не изменилось, я по-прежнему считаю это неплохим способом, но недавно была обнаружена небольшая проблема с этим способом.

Проблема заключается в том, что в .NET 3.5 SP1 (специально уточняю версию, ибо подобный код имеет тенденцию изменяться) данный метод не знает тип MIME для png-файлов и вместо image/png отдаёт application/octet-stream.

Что самое интересное, в большинстве случаев тут ничего страшного нет. Практически все браузеры определят содержимое по контексту и содержимому файла. Но есть одно досадное исключение , и исключение это зовут FireFox. Если попробовать скачать файл в лоб, то он не посмотрит на то, что это картинка и предложит сохранить его.

Так что не забудьте добавить дополнительный код для png-файлов, выставляющий правильный Content-Type. Хотя у меня такое предположение, что в 4-ом фреймворке всё-таки научится данный метод отдавать правильный тип для png-файлов, а также, возможно и других, чуть менее распространённых.

пятница, 8 января 2010 г.

Бекап системы через виртуалку

Есть люди, которые переставляют операционку раз в месяц. Я к ним не отношусь, и предыдущая система у меня жила около 6 лет (может даже больше, хвосты идут с 2001-ого года). И апгрейдить я её решил из-за того, что уже пора.  Надо двигаться дальше и разбираться в новых технологиях.

При этом, терять все настройки, накопленные за такое время очень не хотелось: хоть и много хлама в старой системе, всё-таки есть полезные и настроенные программы, о которых вспоминаешь в самый ответственный момент, и устанавливать их заново, иногда просто не бывает времени. Надо взять и использовать.

Собственно встал вопрос, что с этим делать. Апгрейд системы у меня не получался, да и после апгрейда обычно получаются глюки, да и сохраняется ненужный хлам, от которого действительно нужно избавиться. Поэтому я решил сделать финт ушами и завернуть старую систему в виртуальную машину, которую потом поднять на новой системе и использовать, пока не будет всё окончательно настроено и установлено (а потом использовать в ситуациях, когда нужно работать со старой, настроенной программой, у которой проблемы в новой системе). 

Собственно, о том, как всё это сделать, я и расскажу, возможно это вам пригодится. Заодно, это будет полезно на работе, если вы хотите переделать сервер в виртуальную машину, чтобы потом его было легко перемещать между физическими компьютерами и избавиться от проблем с железом (умер физический сервер, поднимаем виртуалку на другом, а этот не торопясь восстанавливаем без давления коллег достающих фразой "ничего не работает"). Кстати, на работе для виртуалок рекомендую использовать Microsoft Hyper-V Server, он бесплатный, т.е. не надо дополнительно платить за лицензию на хостовую систему. Т.е. всё просто замечательно в этом плане.

Для дома же, думаю проще использовать VirtualPC или VirtualBOX. Они тоже бесплатные, и неплохо работают. VirtualBOX более навороченный и поддерживает виртуальные жёсткие диски больше 127Gb. В тоже время, в Windows 7, VirtualPC уже встроен (для работы XP Mode), так что он как бы "роднее", поэтому выбор за вами. В любом случае, попробовать можно оба варианта и остановиться на более подходящем.

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

0. Оцениваем размер свободного места для бекапа. Лучше, чтобы было места в количестве размера диска C: Если же нет такого объёма, но вам хочется это сделать, то прочитайте до конца и подумайте, сколько вам нужно освободить.

1. Берём программу Disk2vhd от Марка Руссиновича и делаем образ диска C: (остальные диски можно будет потом подключить как сетевые, но если у вас достаточно места, и хотите надёжный бекап, можно сделать образ всего).

Делать образ можно хоть на тот же самый диск, но естественно, для производительности нужно на другой. Программа сразу говорит необходимый объём места с учётом только занятого места. Т.е. если у вас диск C имеет объём 500Gb, но при этом занято только 20Gb, то только 20Gb и потребуется. 

2. После изготовления образа, создаём в VirtualPC или VirtualBOX виртуальную машину, подцепляем к ней диск (если диск больше чем 127Gb, то используйте VirtualPC аккуратно, он плохо поддерживает большие диски), и смотрим на клон вашей системы только в отдельном окне. Зрелище потрясающее.

2а. Если система не поднялась с первого раза, то могут быть следующие проблемы:

  • Проблема с файловой системой, которая почему-то некорректно создалась. Придётся лечить всякими утилитами для восстановления разделов (например TestDisk). Для удобства, можете поднять отдельную систему на виртуалке, подцепить к ней этот проблемный образ и его чинить.
  • Проблемы с загрузкой, когда система не может загрузиться. Тут неплохо помогает загрузочный диск (вам достаточно иметь ISO с ним) от Vista или Windows 7. Запускаете Startup Repair и он может подлечить некоторые проблемы
  • Проблема с загрузкой виртуальной системы (синий экран, перезагрузки). Тут уже всё хуже, пробуем грузиться в Safe Mode, или делаем жёсткий Repair с установочного диска. (когда создаёте образ, можете поиграться еще с галочкой Fix HAL).

И помните, что на данном этапе, если вы что-то совсем разломаете, вы всегда можете начать всё сначала, и попробовать снова.

3. Когда виртуальная система заработала, можно удалить явно ненужные программы и файлы (для экономии места), сделать дефрагментацию, взять программу SDelete, запустить её с ключом -z (забить нулями свободное место). После этого на физической системе взять VirtualPC и сжать образ для экономии места. Но, можете этого и не делать, или сделать потом, когда будет новая система.

Вот и всё. Теперь у вас есть виртуалка со старой системой, которая будет работать на любом компьютере. Т.е. мы отвязались от железа и можем приступать к установке новой. После установки, поднимаем виртуалку и не торопясь переносим настройки из старой системы, в новую.

Несколько слов, про установку Windows 7 или Vista:

  • Чтобы полностью избавиться от старой системы без форматирования жёсткого диска при загрузке в Setup нажимаем Shift-F10, открывается консоль, там переименовываем или удаляем следующие папки: Documents And Settings (в XP), Users (в Vista), Program Files, Windows. Всё, у нас больше нет старой системы. Т.е. установка не будет лавировать между ними записывая новые данные, а просто установится чистой и блестящей. При этом, если что-то пойдёт не так, переименовываем папки обратно и возвращаем всё как было.
  • Если Windows откажется ставится на данный жёсткий диск, про причине его "неправильности", с помощью сторонних утилит выделяем вначале диска 100Mb, для личных нужд Windows. Эти 100Mb при загрузке система автоматически возьмёт себе и создаст там маленький образ для восстановления системы
  • Если не хочется ставить систему с диска, можно поставить с флешки. Для этого достаточно взять бесплатную программу Windows 7 USB/DVD Tool и она сама всё сделает (как вариант, можно попробовать UNetbootin — она больше для автоматического создания Linux-образов, но думаю и для этого подойдет)
  • После установки, можно для большинства программ перенести настройки с помощью копирования старых из Documents And Settings в новые Users (только следите за путями, если они абсолютные)

Ну вот и всё. У вас есть новая система и рабочая старая. При этом, если с новой что-то случится, вы можете с чистой совестью всё установить заново, при этом у вас всегда будет готовая и настроенная старая. Свежую же систему апгрейдить ещё проще. У Microsoft'а появились неплохие утилиты для бекапа настроек и миграции, так что можно всё сделать ещё проще. С другой стороны, при оборачивании старой системы в виртуалку, мы всегда оставляем пути отхода, на случай, если что-то пойдёт не так и мы всё сломаем. Так что, это хоть и немного дольше, и требует много места, зато обеспечивает сохранность данных.

вторник, 8 декабря 2009 г.

70-536

Несмотря на то, что данный экзамен я сдал ещё в пятницу, всё не доходили руки написать впечатления от него. Ибо писать собственно-то и нечего.

Экзамен весьма простой, как-то даже странно сравнивать его с 70-562, ибо многие вопросы можно отвечать не задумываясь, для других, достаточно вдумчиво почитать вопрос, чтобы отсечь неверные ответы. Хотя, конечно, бывают и сложные вопросы, у меня возникли проблемы где-то с пятью вопросами, сколько реально ошибок сделал — неизвестно, но не очень много. Ибо итоговый результат: 953 балла из 1000.

Тем, кто собрался что-то сдавать, рекомендую начать с него, чтобы оценить свои силы. Материалов для подготовки по всему интернету лежит достаточно, при этом, достаточно только базовых знаний. Например, у меня попался всего один вопрос с generic'ами, пара вопросов на стандартные типы, всё остальное в принципе, напрямую к .NET 2.0 не относится (а 3.5 и не пахнет).

В принципе, особое внимание рекомендую уделить (т.к. практически никто этим не занимается): Code Access Security, System Security, Installers, Services. Ну, можно немножко еще глянуть на глобализацию и локализацию . Ну и немножко вспомнить стандартные типы, потоки, и дебаггинг. Хотя там в общем-то можно и догадаться.

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