Pull to refresh
152
0
Сергей Бобровский @Bobrovsky

User

Send message

Как тестировать не-публичные методы в .NET

Reading time 3 min
Views 31K
image Любишь покрывать код тестами? Тебе нравится приятное теплое чувство защищенности, которое возникает при прохождении тестов?

Молодец!

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

Хочешь чтобы внутри, за публичным интерфейсом, тоже все было покрыто тестами?

Пойдем, я расскажу, как это сделать
Total votes 27: ↑15 and ↓12 +3
Comments 27

Кто покупает библиотеки и компоненты?

Reading time 1 min
Views 13K
«Ага!», подумал я, когда прочитал у Paul Tyma про то, что строить бизнес на продаже средств разработки, может быть не самой лучшей идеей.

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

Читать дальше →
Total votes 36: ↑27 and ↓9 +18
Comments 30

Мобильные приложения: HTML5 против нативного кода

Reading time 6 min
Views 28K
В августе этого года Facebook выпустила новую версию своего приложения для iOS. Оно стало полностью нативным. Это событие привело к новому раунду дебатов по поводу преимуществ нативных приложений по сравнению с HTML5-приложениями. Я тоже хочу высказаться по этому поводу.

Общественное мнение в данном случае весьма поляризовано. Недавно я участвовал в одной дискуссии. Она началась с обеспокоенность одного человека тем, что его компании теперь придется разрабатывать клиент для Microsoft Surface в дополнение к Android и iPad. А закончилась дискуссия высказыванием другого: «А можно использовать HTML5 и разом получить клиента на все три платформы».

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

Похоже, что большинство людей, смотря на эту ситуацию, видит только черное и белое. Я склонен видеть оттенки серого.

Вопрос



Главный вопрос: насколько толстыми должны быть клиенты?

Читать дальше →
Total votes 45: ↑33 and ↓12 +21
Comments 65

Потрясающая, но невидимая глубина

Reading time 5 min
Views 172K


Вы только что зашли на страницу Google.

Просто, не так ли?

Что же на самом деле произошло?

Ну, если вы немного понимаете, как работают браузеры, то все не так просто. Вы только что задействовали HTTP, HTML, CSS, ECMAscript и прочее. В действительности, это такие невероятно сложные технологии, что от них у любого инженера голова пойдет кругом, стоит лишь попробовать поглубже вникнуть в них. И нет ни одной компании, которая могла бы справиться с ними в одиночку.

Давайте упростим.

Вы только что установили соединение с www.google.com.

Просто, не так ли?

Что же на самом деле произошло?
Читать дальше →
Total votes 309: ↑245 and ↓64 +181
Comments 307

Почему товары Apple разработаны в Калифорнии, но собраны в Китае

Reading time 5 min
Views 119K
Посмотрите на заднюю панель своего айфона, айпада или макбука. Вы увидите слова «Designed by Apple in California. Assembled in China.» Многие американцы, включая самого президента, задавались вопросом, почему Apple вынесла практически все свои производственные мощности за границу. В прошлом году на званом обеде с участием президента и управляющих важнейшими технологическими компаниями США, Обама прямо спросил Джобса, чего будет стоить вернуть рабочие места в Штаты. По словам Джобса, не существует никаких возможностей для этого.

Почему не существует? Почему айфоны, айпады и все прочие магические гаджеты компании Apple не могут быть произведены в США? И вообще, почему американские компании по производству бытовой электроники и компьютеров не могут собирать больше своих товаров в родной стране, создавая новые рабочие места и помогая экономике в борьбе с кризисом?
Читать дальше →
Total votes 226: ↑208 and ↓18 +190
Comments 435

Эволюция меню Пуск

Reading time 10 min
Views 6.6K

Примечание переводчика: вольный пересказ статьи (в негативном ключе) уже был представлен на Хабре alizar-ом, но мне кажется, что тема достойна того, чтобы перевести оригинал полностью, по возможности не добавляя своих эмоций.


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

Мы осознаем, что для некоторых людей любое изменение в Windows будет разрушительным, а потому хотим вести открытый диалог об этих изменениях. Для многих людей Windows является важной частью жизни, а значит практически любое изменение может породить истошные реакции вроде «как мне это отключить» или дебаты по поводу того, стало ли более или менее удобно.

Читать дальше →
Total votes 86: ↑61 and ↓25 +36
Comments 90

Девушки идут в компьютерщики… Снова!

Reading time 3 min
Views 6.1K
Marissa MayerКомпьютерами всегда занимались в основном мужчины, так?

А вот и нет.

В 1987 году 42% американских разработчиков ПО были женщинами. И 34% системных аналитиков тоже. Компьютерные науки начали привлекать женщин в середине 60-х, на заре компьютерной эпохи. В то время мужчины уже доминировали в других технических специальностях, но не в компьютерной среде. На протяжении почти двух десятилетий процентное соотношение женщин с дипломом в области компьютерных наук стабильно росло и достигло пика в 37% в 1984 году.

Читать дальше →
Total votes 87: ↑75 and ↓12 +63
Comments 213

Предвзятость выжившего

Reading time 5 min
Views 10K
Читаете ли вы бизнес-блоги, в которых автор раз за разом описывает свои неудачи?
Нет, потому что вы хотите перенять успешный опыт, а не узнать о полученном опыте от парня, который сам еще не преуспел.

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

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

Следы от пуль


Во время Второй Мировой войны британские бомбардировщики ежедневно отправлялись бомбить немцев. Большинство самолетов не возвращалось домой, а те, что возвращались, были покрыты следами от пуль немецких зенитных орудий и истребителей.

Желая увеличить вероятность возвращения экипажей домой, британские инженеры изучали расположение следов от пуль. Инженеры считали, что в тех местах, где больше всего попаданий, нужно дополнительно бронировать корпус самолета. Разумеется, была найдена закономерность: много следов располагалось на крыльях, хвосте и в районе хвостового пулемета. На кабине пилота и топливных баках следов было мало.

Логично заключить, что нужно добавить брони в тех местах, где больше всего следов. Но это неверно.
Читать дальше →
Total votes 257: ↑250 and ↓7 +243
Comments 168

Про успех и разницу между выращиванием и добычей

Reading time 6 min
Views 876
Пашем Давайте придумаем аналогию, а затем хорошенько над ней поиздеваемся: представьте, что вы только что приобрели земельный надел. Чем вы будете заниматься? Добычей ископаемых или фермерством?

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

Впрочем, вы можете заняться добычей ископаемых. Вам потребуется некоторое количество денег, чтобы заплатить за аренду оборудования и нанять людей, которые будут работать в шахте. А затем: бам, прибыль! Вы делаете деньги. Вы разрываете огромную дыру в земле и вытаскиваете оттуда весь металл, который там есть. Работа идет с максимальной скоростью: не о чем заботиться, нечего сохранять на будущее. Вы зарабатываете кучу денег, земля истощается, а вы идете дальше, оставляя за собой ни к чему не пригодный кратер.

Читать дальше →
Total votes 153: ↑146 and ↓7 +139
Comments 41

Для успеха всегда не хватает еще одной фичи

Reading time 2 min
Views 1.2K
Копаем Я консультирую начинающих предпринимателей малого ИТ-бизнеса и заметил, что у таких предпринимателей есть кое-что общее. Например, очень распространена вера в то, что от заслуженного коммерческого успеха их продукт отделяет лишь нехватка всего одной фичи. Они думают, что как только сделают эту фичу, так продажи сразу потекут рекой. Ну а если не потекут, так может это из-за той другой фичи, которой нет у них, но которая есть у конкурентов.
Читать дальше →
Total votes 46: ↑41 and ↓5 +36
Comments 28

Microsoft разрешила сотрудникам зарабатывать на приложениях для Windows Phone 7

Reading time 2 min
Views 1.2K

Уже несколько месяцев в США продаются смартфоны с Windows Phone 7. Цена на них составляет $100 при покупке в Microsoft Store. Но для успеха новой мобильной платформы на рынке требуется как можно больше приложений. Иначе Android и iPhone не победить.

Так как платформа новая, то разработчикам нужно ее изучить, прежде чем они смогут писать приложения для нее. Для того чтобы ускорить появление приложений для Windows Phone 7, Microsoft предприняла необычный шаг. Компания сделала послабления в корпоративных правилах и разрешила сотрудникам заниматься разработкой для WP7 в свободное от работы время. Автор будет получать стандартные 70% от продаж и приложение остается собственностью автора.

Читать дальше →
Total votes 66: ↑48 and ↓18 +30
Comments 34

Существует ли рынок приложений для Android?

Reading time 4 min
Views 5.4K

Если вы разрабатываете и продаете приложения для iPhone, то может быть задумываетесь над вопросом: «Стоит ли мне сделать Android-версию?»

Существует ли на самом деле рынок приложений для Android?

В общем, да, существует, но его размер может быть меньше, чем вы думаете.

Читать дальше →
Total votes 70: ↑55 and ↓15 +40
Comments 73

Hg Init: Часть 6. Архитектура репозиториев

Reading time 5 min
Views 30K
Это шестая, заключительная часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:



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

Часть 6. Архитектура репозиториев



Наш рецепт становится все лучше:

Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Comments 17

Hg Init: Часть 5. Процесс слияния

Reading time 4 min
Views 40K
Это пятая часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:


Иногда при слияниях возникают конфликты. Обычно их легко разрешить. В любом случае их надо разрешить, или у вас будет несколько «голов». А кому это нужно?

Часть 5. Процесс слияния




Обеспечение слаженной работы нескольких людей над одним и тем же кодом — это важная функция системы контроля версий.

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

Читать дальше →
Total votes 47: ↑45 and ↓2 +43
Comments 21

Hg Init: Часть 4. Исправляем ошибки

Reading time 4 min
Views 72K
Это четвертая часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:


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

Часть 4. Исправляем ошибки




Mercurial позволяет свободно экспериментировать. Представьте, что во время работы вы что-то не то сделали в редакторе, и случилось нечто ужасное:

Читать дальше →
Total votes 54: ↑52 and ↓2 +50
Comments 36

Hg Init: Часть 3. Привыкаем работать в команде

Reading time 7 min
Views 110K
Это третья часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Предыдущие части:


Одно из преимуществ использования Mercurial — возможность работать командой над одним кодом. Mercurial позволяет каждому работать независимо и помогает объединять сделанные изменения.

Часть 3. Привыкаем работать в команде




При командной работе с Mercurial общепринято настраивать центральный репозиторий в дополнение к личным репозиториям, расположенным на компьютерах членов команды. Центральный репозиторий можно рассматривать как своего рода блошиный рынок, то есть, как место где встречаются и обмениваются сделанным.

Читать дальше →
Total votes 67: ↑64 and ↓3 +61
Comments 46

Hg Init: Часть 2. Основы Mercurial

Reading time 7 min
Views 229K
Это вторая часть из серии Hg Init: Учебное пособие по Mercurial от Джоэля Спольски (Joel Spolsky). Возможно, вы захотите прочитать и первую часть «Переобучение для пользователей Subversion».

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

Часть 2. Основы Mercurial



Mercurial — это система контроля версий. Разработчики используют ее для администрирования исходного кода. У нее два основных назначения:
  1. Она хранит все предыдущие версии каждого файла
  2. Она может объединить разные версии вашего кода, то есть сотрудники могут независимо работать над кодом и затем объединять свои изменения


Читать дальше →
Total votes 72: ↑69 and ↓3 +66
Comments 66

Hg Init: Часть 1. Переобучение для пользователей Subversion

Reading time 9 min
Views 123K
Hg Init: Учебное пособие по Mercurial.


Mercurial — это современная распределенная система контроля версий с открытым кодом. Эта система — заманчивая замена для более ранних систем вроде Subversion. В этом простом учебном пособии в шести частях Джоэль Спольски (Joel Spolsky) рассказывает о ключевых принципах Mercurial.

Если вы использовали Subversion, то Mercurial будет непонятным. Эта часть рассказывает о главных отличиях при работе с Mercurial. Если вы никогда не использовали Subversion, то можете просто пропустить эту часть.

Часть 1. Переобучение для пользователей Subversion


В каком же я был смятении, когда программисты в моей компании решили сменить Subversion на Mercurial!

Для начала, я начал приводить всевозможные тупые причины, по которым нам не надо ничего менять. «Мы должны хранить репозиторий на центральном сервере, так безопаснее», — сказал я. Знаете что? Я был неправ. При работе с Mercurial у каждого разработчика на жестком диске хранится полная копия репозитория. Это, на самом деле, безопаснее. В любом случае, почти в каждой команде, использующей Mercurial, центральный репозиторий тоже существует. И вы можете делать резервное копирование этого репозитория со всей необходимой одержимостью. А еще можете устроить трехступенчатую защиту с Сайлонами, Штурмовиками и прелестными лабрадудлами или что там требует ваш IT-отдел.

Читать дальше →
Total votes 119: ↑116 and ↓3 +113
Comments 125

Как я собирал домашний медиацентр. Постмортем

Reading time 6 min
Views 21K
MonumentНедавно у моего строго боевого товарища, ноутбука Lenovo z61m сгорел монитор. Поразмыслив, я понял, что ремонтировать его будет долго и недешево и купил новый ноутбук. Старый ноутбук решил приспособить под домашний медиацентр, благо экран там не нужен, а все остальное вполне работало.

Итак, изначально у меня был ноутбук Lenovo z61m под управлением Windows 7 Ultimate, телевизор Phillips с электронно-лучевой трубкой и желание сделать удобно. Как позже оказалось, первые два компонента были не совсем подходящими, но об этом позже. Начал я с того, что стал выбирать программу, которая будет крутить контент, так как это не требовало вложений. Попробовал Microsoft Media Center (MMC) и XBMC.

MMC красиво показывал обложки для музыкальных файлов, эскизы для видеофайлов и играл любой контент ровно так же, как я привык в Microsoft Media Player и Media Player Classic — Home Cinema. Подкупало также то, что планировалось купить майкрософтовский же пульт дистанционного управления, а значит, скорее всего, проблем совместимости будет минимум.

XBMC понравился тем, что имеет большое количество шкурок (skins), причем дефолтная шкурка в черных тонах изначально нравилась больше, чем синий фон у MMC. Обилие настроек в XBMC, плагины, относительно часто обновление, и встроенный плагин для показа погоды тоже добавляли интереса к этой программе.

Читать дальше →
Total votes 30: ↑16 and ↓14 +2
Comments 20
1

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity