Как работает веб: DNS. Имена и адреса.

Для дальнейшего понимания работы веба следует иметь представление о том, что такое IP-адреса, доменные имена, чем они друг от друга отличаются и как связаны. Наверное, проще всего будет объяснить это привычной по предыдущему материалу почтовой аналогией. Приступим→

Рубрика: Администрирование, Разработка | Метки: , | Комментарии (2)

Кое-что о программировании

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

Рубрика: Разработка | Метки: , , | 1 комментарий

И ещё кое-что об автотестировании

Пожалуй, настало время посмотреть на автотестирование более зрелым взглядом и переосмыслить некоторые моменты (а заодно возобновить блог).
Так получилось, что тема автотестирования очень уж тесно связана с темой принципов корпоративного программирования в целом, поэтому и статья будет затрагивать многие вопросы «программирования вообще». «Программирование вообще» я понимаю как процесс наибыстрейшего решения максимального количества задач предметной области с минимальным числом ошибок. Что ж, посмотрим, как автотесты способны нам в этом помочь→

Рубрика: Разработка | Метки: | Добавить комментарий

Кое-что об автотестировании

В сети существует огромное количество руководств и рекомендаций по использованию юнит-тестов разной степени умозрительности, но реальных случаев внедрения автотестирования с очевидной пользой я пока не наблюдал (что, должен сказать, меня весьма удручает). Во всех наблюдаемых мной случаях люди либо стремились достичь 90-100% покрытия кода тестами, затрачивая на это прорву времени и усилий (а потом ещё одну прорву на поддержку тестов в актуальном состоянии), либо писали тесты «для галочки», особо не заморачиваясь смыслом своих действий, либо находились в промежуточном состоянии между этими двумя крайностями. И лишь недавно мне удалось найти ряд случаев, когда автотесты экономят больше времени, чем требуется на их написание и поддержку→

Рубрика: Разработка | Метки: | Комментарии (6)

Всякая мелочь одним постом

Перешёл с обречённого Google Reader на self-hosted ttrss. Как только окончательно привыкну, буду доволен.

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

Курьезно, что в английском языке есть выражение «to take a French leave» (дословно — уйти по-французки), которое означает то же самое, что и наше «уйти по-английски» — покинуть кого-либо без уведомления. Которое на самом деле не наше, а французкое «filer á l’anglaise», проникшее в русский во времена повальной моды на французкий язык в петровские времена. Кроме как в русском и французком языках уходят «по-английски» еще, как минимум, в польском и итальянском, а «по-французки» — в испанском и, вероятно, португальском. Удивительно, сколь много язык иногда может сказать об истории.

Уже много лет меня мучит один вопрос — зачем нужны обои рабочего стола? Они же всегда закрыты окнами приложений (если компьютер, разумеется, не используется исключительно в качестве объекта интерьера). Обоину видно лишь несколько секунд после логина. Если бы она была видна в то время, как рабочая станция заблокирована, другое дело… Так нет же.

Сложно все-таки донести до человека противоположную точку зрения, если он ищет не истину, а подтверждение собственной правоты.

Пешеходный переход в Помпеях. (Фото Александра Черкасова)Интересно, случайно ли сходство по форме с современной зеброй? Если нет — почему нет промежуточных каких-то звеньев, например, в средневековых городах Европы?

Рубрика: Личное | Метки: | Комментарии (6)

Всякая мелочь одним постом

Заметка об отладке порталов в IIS отменяется в связи с утратой актуальности — оказывается, в Visual Studio 2012 всё работает «из коробки» — как с обычным IIS, так и с IIS Express.

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

Притча о вагонах и туалетах — ещё один пример программистского мышления. Поучительно.

Рубрика: Личное | Метки: | Добавить комментарий

Как работает веб: основы. Браузер и интернет

Браузером называется программа, с помощью которой люди пользуются вебом: просматривают веб-сайты или используют веб-приложения наподобие Google Mail, Twitter, вконтакте, facebook (не к ночи будь помянут) или Google Reader (светлая память…).
Чтобы отобразить пользователю сайт или веб-приложение, браузер, очевидно, должен каким-то образом получить из интернета то, что он собирается отобразить. Рассмотрим сей процесс чуть подробнее→

Рубрика: Администрирование, Разработка | Метки: | Комментарии (2)

Как работает веб: введение

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

Любая достаточно развитая технология неотличима от магии.

Артур Чарльз Кларк

«Вот здесь у меня студия, где я пишу код, а здесь — браузер, где вижу результат работы этого кода. А между ними происходит магия!»
Эта ситуация печальна, но вполне объяснима: вся информация о том, как работает веб, доступна, но не систематизирована и не составляет единой картины (Если кто-либо встречал ресурс, где сей предмет описан наглядно и доступно — прошу сообщить).
Всякий раз, когда мне требуется объяснить кому-то что-то подобное, я просто теряюсь — не знаю, с чего начать. Теперь, похоже, я определился: нужно создать ресурс, который описывает ту самую происходящую магию сначала простыми грубыми приближениями, а потом постепено уточняя и детализируя картину. Полагаю, формат серии заметок вполне подойдет.
Эта заметка, кроме вступительного слова, будет служить также своеобразным оглавлением серии, которое я намерен содержать в актуальном состоянии. Пожалуй, имеет смысл убрать его под кат→

Рубрика: Администрирование, Разработка | Метки: | 1 комментарий

Entity Framework, RAISEERROR, Microsoft и все-все-все

Столкнулся на днях с очаровательным багом в Entity Framework: при работе с некоторыми хранимыми процедурами EF не выбрасывает исключение при срабатывании внутри хранимки T-SQL инструкции RAISERROR. Microsoft не может вопроизвести проблему и поэтому отмахивается от неё, поэтому пришлось вооружиться отладчиком, напильником и такой-то матерью, резко выдохнуть и самостоятельно докопаться до истины→

Рубрика: Разработка | Метки: , , , | 1 комментарий

Настройка Microsoft Visual Studio для работы с IIS

Последний год я регулярно сталкиваюсь с зияющим пробелом в знаниях своих коллег в том месте, где должна находиться информация о способах хостинга веб-приложений asp.net и настройках этого самого хостинга. Устранять этот пробел всякий раз приходится индивидуально, всякий же раз вслух обещая себе написать заметку, на которую потом можно будет просто дать ссылку очередному страждущему. Кажется, время этой заметки пришло: сегодня я опишу интеграцию Visual Studio с IIS→

Рубрика: Разработка | Метки: , | Комментарии (4)