15 Августа 2012

Истории ч1

Apache Phoenix

Есть у меня в подчинении Web-серверок Apache на удалённом сервере типа «Форточка 2008». Работает себе отлично, да вот понадобилось ему профилактику сделать, то есть остановить-поднастроить-запустить веб-сервис. Как это сделать? Проще простого!

Шаг 1. Найти заранее заготовленный батник останова службы — stop.bat, запустить его, поймать ошибку «Access denied», понять, что запускаю не под административным сеансом консоли.

Шаг 2. Запустить административный сеанс консоли, найти тот же батник, запустить, поймать непонятный «Failed to stop Apache service».

Шаг 3. Открыть Server Manager, раздел Services, попытаться остановить службу Apache вручную, поймать «Can’t stop service Apache. Service didn’t return any error. This could be internal Windows Server error or internal service error. Contact your system administrator».

Шаг 4. Связаться самому с собой, дальше продолжать чухать репу вместе.

Шаг 5. Выполнить вместо Stop Service команду Restart Service. Затем снова Stop Service. Вроде получилось, строчка Started рядом с Apache исчезла. Проверить в браузере — страницы продолжают грузиться. Вернуться в раздел служб, обнаружить запущенную службу.

Шаг 6. Офигеть вкрай с неубиваемости Apache.

Шаг 7. Открыть диспетчер процессов, грохнуть оба процесса httpd.exe, проверить в браузере. Йопт! Этот феникс снова восстал! Откуда?

Шаг 8. Вспомнить наконец, что когда только поставил веб-сервер, собрал на коленке утилитку «Apache Checker», которая с момента запуска сервера тихонько работает себе в свёрнутой консольке. Когда Apache перестаёт отвечать на HTTP-запросы (завис, вырубился, устал, сдох, устроил забастовку, не приемлет бессмысленности этого жестокого мира и т. д.), этот партизан оперативно, методично и никому ничего не говоря перезапускает веб-сервис до достижения эффекта удовлетворения конечного пользователя.



Либо умная, либо красивая

Свитер, борода… А вы представляете, насколько тяжела участь девушки-разработчика?

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

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

Сегодня купила платье. Завтра ещё раз попробую опровергнуть теорию «либо умная, либо красивая».




«Спасибо» на хлеб не намажешь

Юзвери благодарят айтишников? Благодарят, да. А вы видели, как именно?

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

— Фух, запустился! Спасибо, %name%, я на тебе 200 грн сэкономил!

Или вот ещё. Сношаюсь с ноутбуком, зову хозяйку, показываю: если что, нажимать то-то и то-то.

— Ясно?
— Ой, %name%, мне лучше тебе позвонить.




И глюки излечит, и порт исцелит

Работаю в больнице, часть отделений которой находится в этаком филиале. Компов мало, связи местной локалки с главным корпусом нет, поэтому приходится по малейшей проблеме ездить туда, так как по телефону скоординировать действия врачей не получается — настолько они далеки от мира IT.

Захожу в ревматологическое отделение — там всего три компа и ноут. У последнего, со слов продвинутой ординаторши, отвалились USB-порты: мышку не видит, флешку тоже. Спросил о тачпаде — сказала, умер два года назад.

Забрал в отдел, запускаем с коллегой. USB-порты действительно не работали. Не помню уже, как мы это исправили. И главное даже не то, что тачпад был просто выключен, а то, что эта же ординаторша, заявив о косячности Виндоус и дикой её тормознутости, попросила установить ей линукс.

Вот такие вот бывают забавные люди: не разобравшись в мануале к своему ноуту, лезут туда, где и матёрые дяди с бородой в свитерах иногда умом трогаются.

GNU/Linux решили не ставить, дабы избежать суицида бедной ординаторши ревматологического отделения.




Всё правильно сделали

Сетевой администратор всё правильно сделал: управляемые свитчи, пропускающие трафик только после успешного получения адреса по DHCP.

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

Электрики всё правильно сделали, подключив вместо сгоревшего кабеля на 10 кВ другой кабель от другой подстанции.

Но при работах на подстанции питание пропало на какие-то секунды. Автомат включения резерва переключился на другой ввод, но подсоединился ко второму вводу раньше, чем отключился от первого. Раньше фазы были в одинаковом порядке, так что ничего особенного не случалось. В этот раз они оказались в другом. Тем временем подключился обратно первый ввод. 380 вольт оказались закорочены. Оба 100-амперных автомата вводов выключились, и серверная (в том числе кондиционер) жила на источнике бесперебойного питания, о чём слала слёзные SMS администраторам. Но кто их читает среди ночи?

К утру заряд ИБП кончился, DHCP-серверы отключились. Затем истекло время аренды, и умные свитчи заблокировали все порты. Сеть была парализована полностью.





Сражённые срамной болезнью

В начале 2000-х в некоем провинциальном городке добралась всеобщая модемно-дайлапная интернетизация до местного католического прихода под управлением братьев-францисканцев. И хотя местное духовенство было компьютерной грамотности более-менее обучено, бесовская техника все же требовала какого-никакого ухода. Оный уход, включающий инсталляции-переинсталляции, чистку от хлама на винчестерах и пыли и прочую мелочёвку, по старой дружбе я и осуществлял.

Однажды, разбираясь с очередной жалобой (тормозит, виснет и т. д.), обнаружил и кое-как прибил вручную довольно редкий вирус, именуемый «Ромео и Джульетта», который купленным с лотка пиратским Каспером не ловился. Наличие такого вируса в мужском монастыре уже само по себе породило массу шуток. Но за первым заражением последовало второе, третье — и наконец-то обнаружился источник: письма от местного епископа. В общем, настоятель, мужик с юмором, отправил церковному начальству письмо с изложением проблемы, написав примерно следующее:

— Предохраняться надо, отче: Джульетта вас заразила, а вы заразили всю епархию!

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





Зебры без матросов

Звонок. Поднимаю трубку, округляю глаза. Взволнованным голосом:

— У нас принтер печатает животное!
— Какое ещё животное?
— Полосатое!

Тестовая страница принтера известной марки содержала рисунок зебры.

Вы же мои любимые юзвери, смешите и дальше меня — вашего бога и господина!





Кнопка «@#$»

Подрабатывал в одной конторе сисадмином. Естественно, помимо серваков и клиентских компов, на мне «висела» офисная АТС. Работаю, звонит девочка-секретарь:

— У нас мелодия в телефоне по громкой связи играет!
— Нажмите кнопку из трёх букв.
— Как вам не стыдно! Я буду жаловаться!






Растворимый дамоклов меч


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

Приютился комбайн в коридоре как раз напротив входов в уборные, сузив и без того небольшой проход с 1,4 метра до 0,6. Так как запитываться комбайну от 220 было неоткуда, прокинули удлинитель из соседнего кабинета. Некоторое время народ спотыкался об удлинитель. Потом силами IT-отдела в лице сисадмина (т. е. меня) было решено организовать розетку для комбайна.

За подвесным потолком как раз над местом дислокации монстра обнаружилась распределительная коробка, от которой запитывались кабинетные розетки. Свято веря в принцип цветовой дифференциации разводки проводов по схеме «бело-оранжевый — оранжевый — бело-зеленый - …», предположил, что электрики придерживаются такого же принципа при разводке силовых линий.

Ничтоже сумнящеся, я подключил желто-зеленый к желто-зеленому по схеме «земля», синий к синему по схеме «нуль» и коричневый к коричневому же по схеме «фаза». Воткнул вилку провода от комбайна в розетку.

Бахнуло так, что всё здание офиса обесточилось. Завоняло сгоревшей электроникой.

Первая мысль: «Придется покупать блок питания для комбайна за 26 тысяч наших русских за свои кровные». Стало совсем грустно.

Вторая мысль: «Хорошо хоть серверная, запитанная от „симметры“, не вырубилась». Настроение не изменилось ни на йоту, так как Дамоклов меч, нависший над моим и без того не толстым кошельком, испаряться не желал.

Как показало расследование, в распределительной коробке из ожидаемого оказалось только одно — однофазность. Но как электрики умудрились пустить одну и ту же фазу по «фазному» (коричневому) проводу и по «нулевому» (синему), я до сих пор не понял.

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

Замена керамического предохранителя оказалось делом более пустяковым.

После того как комбайн был собран и успешно завелся, дамоклов меч, сутки висевший над головой, растворился в нирване моей везучести.





Сделаю сам, дяде не дам


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

Кстати, а на что? Мак отпал в полуфинале: дорогой, а ломаный ставить, во-первых, неэтично, во-вторых, получится менять шило на мыло. Значит, линукс. Лёгких путей мы не ищем, поэтому выбрал один из дистрибутивов-конструкторов. Выполнил несложные инструкции (всё по-русски), подождал, перезагрузился — всё заработало. С первого раза! И драйвера искать не надо, даже принтер определился сам. Для сканера, правда, пришлось один файлик скопировать вручную да настроить права доступа.

Ну ладно, настройка — это один раз. Может, мне повезло; может, здесь всё настолько хреново работает, что линукс некоторые так не любят? А что, собственно, всё? Браузер — тот же и работает один в один. Почтовый клиент — тоже. Аська — тот же самый клиент, что я использовал и раньше. Офис… Да, офис другой. Правда, он тут, оказывается, не один, есть из чего выбрать. Ладно, привыкну, а если будет уж совсем невмоготу — всегда есть «не-эмулятор».

Офис менять так и не пришлось — открыл для себя TEX. Теперь из всего пакета использую только электронную таблицу, да и то по прямому предназначению — для расчётов. Ну, и текстовый процессор, если надо поработать с принесённым с работы документом. Нет, никаких проблем не заметил, хотя документы достаточно сложные — с рамками, таблицами, вставками всякими. Бывает, даже удаётся спасти документ, который тот офис счёл безнадёжно испорченным.

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

Но окончательно меня добили штатные планетарий (который опять-таки сам может скачивать изображения заинтересовавших меня объектов), система интерактивной геометрии и простая, но приятная система физического моделирования. Ну где ещё, к тому же за бесплатно?

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

Игры, конечно. Простой десктопный набор, но количество… Есть чем расслабиться на досуге.

Наконец, программирование с моделированием. Тут и говорить не о чем — всё включено, прошлое вспоминается как неприятный сон. Да, знаю, в GIMP плохо с CMYK, а из Blender не экспортируется анимация сами знаете куда. Вот когда встанет эта проблема, тогда и буду её решать. И уверен, найду какое-нибудь свободное решение.

Только теперь замечаю за собой одну вещь. Стал внимательнее относиться к лицензиям. Использую свободные аналоги, кое-что дописываю сам. Shareware-программа за 10–30 у. е., которая делает то, что я могу сделать, написав скрипт в несколько строчек, теперь кажется дикостью. Вот тут критики правы: свободные лицензии — это заразно.






Пазлы из разных коробок


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

Спасибо тебе, Asus, но игры в пазлы с плохо совпадающими элементами (самораспаковка выдавала ошибку) оставь своим инженерам.



Бубен в мыле


На нетбуке и сервере у меня Debian, а на десктоп я его ставить не стал — недостаточно хорошо stable поддерживает моё новомодное железо. Начитался в интернете о том, каким прекрасным будет его потомок с бубном на логотипе, и скачал свежую 12.04.

Настроил раскладку, установил Хром. Открыл страницу — и тут мне сплохело. Шрифты были не просто мыльными, они были совершенно размыты — читать можно было, только упёршись носом в монитор. Потом открыл файловый менеджер. Слева, в списке закладок, шрифт был и того хуже. А по центру — вроде ничего. Передвинул окно в центр экрана — всё отлично.

Потом начались пляски с бубном. Я менял конфиги, настраивал DE, перебрал бессчётное количество шрифтов, настроек рендеринга и сглаживания. После двухчасового мучения протёр монитор. Нет, дело не в нём — проблема на месте.

Уже подумывая снести всё и вернуться на суровый, но стабильный Salix, я потыкался по верхней панели. Там был менеджер проприетарных драйверов. К моему удивлению, драйвер на мою GTX570 уже был установлен. Тогда я решил его снести и ребутнуться. Вот она, красота! На открытом драйвере всё выглядело великолепно, и шрифты тут же встали на свои места.

Мораль: проверять всё от и до. А всем, кто ругает неудобный, нестабильный линукс, я дам один совет: не ассоциируйте с линуксом конкретный новомодный дистрибутив. Поставьте Debian или Slackware — уровень стабильности вас приятно удивит.



Корифеи-самодуры


«О да! Я программист!» Этим словом себя называют как вчерашние школьники и недоученные студенты, так и супер-пупер-профессионалы. Казалось бы, порог вхождения в профессию упал, освоить необходимые навыки может и первокурсник после пары книг, все методологии подробно описаны, масса небольших очень хорошо сделанных опенсорс-проектов. Посмотри поначалу, как делают другие, и сделай сам. Нет, это не наш путь. А задолбали вовсе не новички и не уровень кода, а как раз-таки профи, корифеи-самодуры.

Писать комментарии, конечно, не удел настоящего «мастера кода», а если писать, то обязательно с школьными, даже детскими, ошибками, называя всё английскими словами на русско-олбанский лад («респонс», «тестмащине»). Это было бы смешно и весело, если бы код не был зоопарком из недоделок и костылей.

Переделать общий репозиторий с полусотней проектов для удобства сборки на устаревшей системе? Так и надо. У меня работает.

Пользоваться стандартной библиотекой? Нет, мне не понравилась одна функция, и я решил всё переиначить.

Потратить уйму времени, написав банальщину, сотни раз сделанную десятки лет назад и отлаженную для всех случаев жизни? Конечно, ведь первая попавшаяся не подошла.

Это невежество смертельно задолбало. Горите в аду! Почему не потратить десять минут на чтение статьи и сделать один раз и хорошо? Не нужно никакого протекционизма, чтобы структура большого проекта стала понятной.




В пропасть и обратно


Как лучше всего избавиться от депрессии, жаления себя любимого и вообще плохого настроения айтишнику? Поиграть в Doom? Мимо. Надраться и поорать песни? Нет. Может быть, устроить истерику с битьём посуды и морды? Тоже нет!

Лучший способ:

1. Обновить версию Убунты на сервере.
2. Зафигачить GRUB на раздел вместо диска.
3. Выругаться, когда не захочет грузиться.
4. Сделать Live USB, войти в терминал, переустановить GRUB.
5. …
6. PROFIT!

В результате имеем свеженькую версию на сервере и хорошее настроение.



В поисках приключений на свою винду


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

Начал удалять «лишние» части. 15 минут — хлам вычищен, папка с Windows обрезана с 4 ГБ до 700 МБ, оставлены только неудалямые и исполняемые в текущий момент компоненты.

Тут я вспоминаю, что дистрибутив с «чистой» виндой лежит на работе. Дома остались только два диска с говносборками типа ZverCD — ставить их уж шибко не хочется. Из запущенных процессов — только Opera, Miranda и uTorrent, Проводник убит.

Итак, заходим на трекер, находим «оригинальную» XP, скачиваем torrent-файл. @#$%&! Торрент-качальщик вылетает с ошибкой. Жмём Win+R, запускаем другой из командной строки — ошибка.

Перезагружаемся. Грузимся с LiveCD на сборке «зверя». Ставим торрент, Winamp, Firefox, начинаем закачку образа.

Проходит полчаса. Интернет у провайдера вырубается на фиг. Звоним в техподдержку, получаем сообщение: «Перезагружаем сервера». Запускаем пасьянс.

Ждём полчаса — интернет появляется. Скачали. Ставим Nero, чтоб записать образ. Не ставится — жалуется на отсутствие необходимых dll-библиотек. Ставим библиотеки. Хрен вам: в Live-дистрибутиве «выпилены» драйвера на DVD-ROM. Расшариваем образ, ставим на второй компьютер CD-RW-дисковод, выкачиваем, пишем болванку. Готово.

Ребут. Ставим болванку с виндой, начинаем ставить винду. Винда восстанавливать себя не хочет. Полчаса плясок с бубном, правка boot.ini, восстановление загрузчика, inf-файлов — всё без толку. Ладно, поставим «на чистую».

Ещё час. Правим реестр, указываем на расположение старого профиля пользователя. Почта снова грузится, закладки в браузере старые — что нужно ещё для счастья? Софт переустановлю потом.

Начал в 16 часов, закончил в 23. Не повторяйте моих ошибок.



Хронический черноквадратит

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

Когда в офисе решили включить и посмотреть, что с ним, удивление было огромным: в верхней правой части экрана был чёрный квадрат подозрительно правильной формы. Мы нажали на кнопку «PiP» — и всё пропало… А монитор был дорогой.

Компания мы небольшая, честная и глупая, поэтому следующий «поломанный» моник заменили на халяву.




Сам такой!

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

Захотелось одному нетерпеливому нецензурно оскорбить одного из игроков. Игрок заменял слова хорошо подобранными символами, чтобы чат их не блокировал. Решив приструнить наглеца, пишу в чат короткую фразу: «Оскорбление бан». Да вот только чат понял меня по-своему, сложив последние четыре буквы, и выдал мне кляп за нецензурную лексику. И где тут справедливость?

Программисты, будьте осторожнее и внимательнее при создании фильтров!




Предпервомайские передряги

Я системный инженер в головной компании холдинга. Одна из наших фирм арендует цеха и помещения у научно-исследовательского института за городом. Основной штат — рабочие и несколько человек за компьютерами. Своих бухгалтеров у фирмы нет, по совместительству работают бухгалтеры соседней фирмы. В бухгалтерии — два компьютера нашей фирмы и один — этой соседней. Компьютеры входят в локальную сеть НИИ, имеют доступ через неё в Интернет. Директор фирмы сидит в другом корпусе, локальной сети у него нет. 1С работает на обычном компьютере с Windows 7 SP1 x64 на Intel i3-2100, 8 ГБ RAM и парой полутерабайтников в зеркале на ICHR.

Мой начальник ставит мне задачу: дать удалённый доступ к 1С директору, вынести наши компьютеры в отдельную сеть, при этом третий (не наш) должен иметь доступ к 1С.

Телефонисты НИИ связь SHDSL-модемами по телефону внутри НИИ делать отказались, поэтому я пришёл к следующему решению. Наши компьютеры повесить на отдельный коммутатор, поставить в «сервер» ещё две сетевые карты, поставить на нём Windows Server 2008 R2 SP1 с 1С и терминалами, поднять в ней Hyper-V, там в такой же ОС поднять Kerio Control, подключить свой интернет со статическим IP, поднять на шлюзе VPN средствами RRAS. Разграничить доступ между нашей сетью, сетью НИИ и нашим интернетом Kerio. Подключить второй Интернет директору и паре работников, что сидят рядом с ним, настроить им доступ по VPN в первую сеть.

Я сказал, мне надо по крайней мере два дня. Начальник согласился.

В среду 2 мая у меня начинается отпуск. Куплены билеты на поезд к родителям и обратно. Тянул начальник с директором фирмы, тянул, наконец поставил выполнение в субботу 28 апреля (рабочую) и понедельник 30 апреля. 1 мая — выходной. Как раз два дня до отпуска.

Нужное оборудование закупили. Приехали в субботу в 10. Директор фирмы ошарашивает:

— А мы в понедельник не работаем.
— Э-э-э?
— Окей, если надо, выйдем посидим.

Хорошо. Работаю. Не спеша, обстоятельно, по разработанному плану. Поставил в сервер две сетевые карты. Забэкапил саму 1С и базы. Cнёс Windows 7 с сервера 1С, поставил 2008-й, драйверы. Поднял сервер терминалов и лицензий, создал пользователей. Обновил ОС. Скопировал обратно 1С. Подключил первый модем. Обнаружил проблемы с линией, пообщался с поддержкой — проблема осталась, дорешивать надо потом. Отключил сервер и два компьютера фирмы от коммутатора НИИ, включил в приобретённый. Поднял роль Hyper-V, создал виртуальные сети, назначил серверу 1С (одна сетевая) адрес в отдельной сети.

Итого: бухгалтеры доступа к 1С уже не имеют, интернета через сеть НИИ уже не получают, со своим интернетом проблемы, да и шлюз ещё не создан. Единственный компьютер из сети НИИ, который должен иметь доступ к 1С, тоже доступа не имеет — разные несоединённые коммутаторы. В 2008 с поднятым Hyper-V картой что-то странное, разобраться ещё не успел: пингуется, но по RDP не зайти, как будто сервера вообще нет, при этом телнетом на 3389 — пожалуйста.

14:30. Приходит главбухша: «А вы знаете, что в 15:30 здание обесточивается до среды?»

В общем, едва успел вернуть всё, как было, разве что теперь 2008-й с терминалами, но принтеры настроить на сервере терминалов не успел — в прошлый раз в «семёрке» много времени потратил, были проблемы, а тут чуть ли не выгоняли — нам здание закрывать надо, нам не платят за то, что мы вас ждём. А принтеры нужны, чтобы накладные печатать.

За это ещё и получил от начальника:

— А почему ты бэкап «семёрки» с принтерами не сделал? Так бы вернул назад.
— Зачем? 1С забэкапил, а больше там ничего не было.
— А вот на такой случай.

А я бы спросил: «Почему ты так запланировал — между праздниками перед отпуском — и не уточнил, как НИИ работает?»

Решил: схожу в среду, сделаю принтеры (надеюсь), к родителям уеду на два дня позже. Завтра пойду сдавать билеты.

Никогда не планируйте дела на последний день!


< Как кот через речку перебирается. Наглядные уроки (чесно украдено).......... >

куплю, продам, оценю, выкуплю икону, оклад, образ в Москве