SDev.Pro - разработка на заказ

http://sdev.pro - это:

1) Разработка программного обеспечения

Мы используем платформы ASP.NET MVC, LAMP, Atmel, Android, iOS, DirectShow и базы данных MS SQL, Oracle, PostgreSQL, а также облака на MS Azure и Amazon AWS для реализации любых Ваших идей.

2)Внедрение программного обеспечения

Мы предлагаем настройку и доработку решений на базе систем электронного документооборота MS SharePoint Server, геоинформационных систем на GeoServer, систем отчетности на MS SQL Reporting Services, а также облачных решений на MS Office 365.

http://sdev.pro

Dec 28, 2007

www.directshow.ru - новый редирект на старый сервис

Создал редирект на странице http://www.directshow.ru/ на старый ресурс "DirectShow по-русски" http://directshow.wonderu.com/

Dec 25, 2007

101 признак того, что ваш проект горит синим огнем!

101 Signs Your Software Project is Doomed
1. Руководство приняло решение перейти с модели разработки "Водопад" на модель разработки "Экстремальный водопад"
2. Ваша компания начала нанимать консультантов, чтобы было кого во всем обвинять
3. Ваш сервер для Continuous Integration упал с ошибкой "Все, б$%, я больше не могу!"
4. Вы написали на языке ruby свой собственный фреймворк, который использует конфигурационные файлы в формате XML
5. Старший член вашей команды считает Мартина Фаулера самонадеянным сопляком
6. Ваша системы контроля версий - это набор папок "revision 1", " revision 2", : "revision 465" и т. д. на сетевом диске
7. Контроль качества проекта состоит из ответов на вопросы типа "почему эта х%$#я не работает?!".
8. Ваше ТЗ состоит из трех страниц, написанных за 2 часа перед обеденным перерывом.
9. Вы стали подыскивать новую работу, потому что не хотите поддерживать код, который сейчас пишете.
10. Ваш главный веб-разработчик уверен, что X в XHTML значит "eXtreme"
11. Первая фраза на любом совещании "Есть хорошие новости, есть плохие. С каких начнем?"
12. Ваше руководство приняло решение выстраивать процесс разработки по CMM-уровню 5 ("Optimizing")
13. Прогресс вашего проекта теперь измеряется числом исправленных багов, а не числом реализованных фич.
14. Термин "Continuous Integration" обозначает контроль того, что новые сотрудники прочитают Wiki-страницу проекта
15. Вы подружились с уборщицей
16. Ваш руководитель не знает, чем вы занимались вчера (и ему на самом деле не особо интересно, что именно вы будете делать завтра)
17. Every milestone ends in a dead sprint
18. У вашего лучшего разработчика из документов об образовании есть только справка о посещении двухмесячных курсов по подготовке системных администраторов в центре "Специалист" при МГТУ им. Н. Э. Баумана.
19. Вы незнакомы с сокращениями DRY, YAGNI, или KISS; но отлично понимаете, что значит WTF или FUBAR
20. Вашего руководителя можно заменить набором правил для автоматического перенаправления электронной почты
21. Ваш процесс разработки имеет сертификат ISO 9001/2000 (и всё)
22. Ваше руководство считает, что "Метрика" - это протеиновый напиток
23. В системе багтрекинга любой баг имеет приоритет "Critical"
24. :А любая новая фича - приоритет "Trivial"
25. Затраты на проект всегда магическим образом совпадают с бюджетом проекта
26. Разработчики используют слова "самодокументирующийся код", когда объясняют, почему в их исходниках нет комментариев.
27. Вашим любимым шаблоном проектирования является "Обьект-Который-Делает-Все" (God Object)
28. Вы все еще верите, что компиляция - это одна из форм тестирования
29. Разработчики используют Notepad в качестве IDE
30. Ваш начальник тратит 7 часов в неделю на сбор сведений о ходе выполнения проекта
31. У вас нет личного компьютера на работе (при этом вы не занимаетесь парным программированием)
32. Негласное правило: не устраивать совещания до 10 утра (потому что мы все сегодня были здесь до 2 ночи)
33. Ваша команда считает, что Object-Relational-Mapping - это скоропроходящее увлечение
34. Вы планируете плавно перейти с VB6 на VB.NET
35. Ваш начальник считает, что MS Project является лучшим в мире средством для управления проектами
36. Ваша жена видит вас только через веб-камеру
37. В ваших юнит-тестах нет ассертов.
38. FrontPage является вашим любимым редактором веб-странц
39. Вы до хрипоты спорите о том, нужно ли ставить "{" на новой строке, а обсуждения насчет использования шаблонов проектирования типа MVC проходят быстро и спокойно.
40. Девиз вашей компании "Делай больше, напрягайся меньше"
41. Фраза "у меня все работает" слышна чаще, чем раз в день
42. Последней конференцией, на которой была ваша команды .NET разработчиков, была Apple WWDC 2000
43. Ваш начальник настаивает на том, чтобы вы составляли детальные отчеты о проделанной работе, но никогда не использует их для принятия решений.
44. Отладка идет на боевом сервере
45. Ваш начальник не знает, как проверять электронную почту
46. Your manager thinks being SOX compliant means not working on baseball nights (непереводимо!)
47. Для придания новых жизненных сил проекту, компания нанимает Владимира Жириновского, чтобы тот выступил с пламенной речью перед разработчиками.
48. Последняя книга по программированию, которую вы читали - "Библия Visual InterDev 6"
49. Общий бюджет вашего проекта перепутали с недельным счетом за кофе.
50. Ваш начальник проводит обеденный перерыв в своей машине (плачет)
51. Ведущий веб-разработчик заявляет, что Аякс - это такой чистящий крем (http://www.bezocheredi.ru/catalog/49-3347.html)
52. Ваш начальник выделил вам 2 дня на написание заявки на покупку видеокарты
53. Отдел продаж снизил оцениваемую сумму выручки, так как там верят, что вы можете работать быстрее.
54. В списке требований к проекту есть пункт "Быть первыми в выдаче гугла"
55. Каждый день вы работаете до полуночи, а начальство уходит в 16:30
56. Руководитель любит говорить "Чего разработчики возмущаются? У них же почасовая оплата"
57. Продавцы "Крошки-картошки", работящие в ночную смену, начинают узнавать вас в лицо
58. Руководство не может понять, зачем кому-то нужен второй монитор
59. Разработчики используют систему контроля версий только как средство бэкапа исходников
60. Разработчики не занимаются тестированием. Вообще.
61. Разработчики отказываются использовать SVN, потому что считают, что мерджевание - это черная магия Вуду
62. Your white boards are mostly white (непереводимо!)
63. Клиент постоянно принимает график роста затрат за график роста прибыли
64. Кодовое имя проекта изменили на "Камикадзе"
65. С недавних пор вы испытываете чувство иррационального страха, если приходится отвечать "да" на вопрос "сделаешь?"
66. Your teammates don't refactor, they refuctor (непереводимо!)
67. В качестве поощрения за переработки начальство заказало в офис новую кофе-машину
68. Бюджет вашего проекта в бухгалтерском балансе перешел в статью "Накладные расходы"
69. Вы тайно аутсорсите часть проекта, чтобы читать ЖЖ на работе
70. Еще не выпущена альфа-версия проекта, но уже создана комиссия по контролю за внесением изменений.
71. Вы подумываете о том, чтобы сломать себе пальцы, чтобы вас отправили на больничный.
72. "Дедлайн" был переименован в "майлстоун" (как и предыдущий "дедлайн")
73. "Политика открытых дверей" у вашего менеджера проектов действует с 19:01 до 9:59
74. Начальство заявляет: "Да нафиг покупать, мы сами это напишем!"
75. По вечерам вы покупаете пиццу, шаурму и адреналин-раш в офис
76. Вашего начальника застукали во время спиритического сеанса (спрашивал советов по руководству)
77. Вы даете неправильные советы коллегам, чтобы лучше них выглядеть на отчетном совещании.
78. Code review начинается за неделю до выпуска продукта
79. Планы на тестирование определены как "Если будет время"
80. Клиент не хочет говорить о требованиях к проекту, не получив плана работ.
81. Начальство не видит юмора в комиксах про Дильберта (http://www.dilbert.com/)
82. You start noticing your boss's poker tells during planning poker (непереводимо!)
83. Вы начинаете задумываться о том, не является ли 12-ти часовая работа в Макдоналдсе более перспективной с точки зрения карьеры
84. Все проблемы с производительностью решаются покупкой более мощного железа
85. Проект решили выпускать в виде постоянной бета-версии
86. Эвакуатор увез вашу машину со стоянки перед офисом, потому что ее посчитали брошенной.
87. Во время совещаний, посвященных сбору требований, менеджер проекта водит карандашом по бумаге, рисуя сложные геометрические узоры
88. Вы занимаетесь парным программированием в одиночестве.
89. Ваш табель учёта рабочего времени напоминает лотерейный билет "Спортлото"
90. The web developer thinks being 508 means looking good in her Levi Red Tabs (непереводимо!)
91. Вы считаете, что пора лечиться от раздвоения личности, потому как вы являетесь одновременно Робин-гудом, Элвисом, and Эйнштейном
92. Роль профессионального консультанта выполняет Magic 8-ball (http://en.wikipedia.org/wiki/Magic_8-ball)
93. Вы отлично знаете, сколько должно быть ворнингов компилятора, чтобы возникла ошибка 'Out of Memory' в вашей IDE
94. В этом списке дважды упомянуто IDE, а вы не знаете, как это расшифровывается
95. Вы копипастили код с The Daily WTF (http://ru.worsethanfailure.com/Default.aspx)
96. Неработающие юнит-тесты удаляются, потому что они, очевидно, устарели.
97. На конференции вы ездите только чтобы разжиться халявными футболками и поесть бесплатной еды.
98. В отделе QA вас прозвали "Мистер Переполнение Буфера"
99. Вы используете MOSS 2007
100. 90% времени у вас все готово на 90%
101. "А, да, совсем забыл Ммм.., эээ.. тебе тоже нужно будет прийти в воскресенье с утра. Спасибо."

Не выдержал и скопировал себе в блог это творение, наверное, чтобы не потерять :)

http://www.codesqueeze.com/101-ways-to-know-your-software-project-is-doomed/ - оригинал

http://files.rsdn.ru/17473/1.txt - перевод

Dec 24, 2007

Сертификация Microsoft. Экзамен 70-528

Вот и второй экзамен Microsoft в моей копилке: MCTS 70-528 .NET 2.0 Web-client development. До этого сдавал 70-536 .NET 2.0 Application Development Foundation. Экзамен на удивление оказался легким, практически все, что там было, мы используем в повседневной жизни. Единственные засады: Web Parts и Themes - эти предметы оставались всегда вне моих интересов. Думаю, следующим экзаменом будет MCPD 70-547 Designing and Developing Web-based Applications Using the Microsoft .Net Framework

Dec 19, 2007

"Google Toolbar" или "Девелоперы не читают хелп"

Ну не правда, читаем :)

Заходим на страницу http://www.google.com/support/toolbar/bin/static.py?page=features.html&hl=ru&v=4 и видим, что поиск гугла работает неверно, вбиваем "мгу", а он заменяет на "oxford". Хотя... может у них какой-нибудь кривой Punto Switcher установлен ;)

Смотрим внимательно на картинку:)

Dec 17, 2007

Microsoft User Groups (Самара). Доклад о DirectShow

Недавно довелось стать докладчиком на самарских UG. Доклад лежит тут:

Dec 11, 2007

Порадовали выборы в госдуму

День добрый, товарищ электорат!

Интересная вещь обнаружилась: пришло на выборы рекордное количество народа. "Бюллетени бросались от имени комиссии," - скажите Вы. Я скажу: "Не знаю, не ходил, не видел."
Тут иная ситуация: всем госучреждениям в обязательном порядке ПРИКАЗАЛИ идти на выборы. Позже, председатели выборных комиссий (!!!) звонили начальству (!!!) этих служащих (чиновников, учителей, врачей и др.) и сообщали списки голосовавших. Также в этом были замечены образовательные учреждения (ВУЗы, колледжи), своих студентов тоже отправляли на выборы под страхом разборок. Списки непроголосовавших также должы были быть переданы на места учебы.
Объясните мне, как это понимать?

P.S. Сам не головал и Вам в будущем не советую, даже под угрозами.

Снова о платформе

Забыл выложить фотки с платформы-2008. Смотреть здесь:
Платформа 2008

Dec 3, 2007

Видео с Платформы

День добрый!

На прошлой неделе посетил Майкрософтовскую Платформу 2008. На открытии мероприятия показали песочный мультфильм. :) Из зала смотрелось просто великолепно!!! Видео и фото отчет о Платформе напишу чуть позже

Nov 6, 2007

GPhone + VS2008 + .NET 3.5


Похоже, что планы Google по захвату IT-мира претворяются в жизнь со скоростью света!!! Теперь мегакорпорация добралась и до софта сотовых телефонов и коммуникаторов. Гуглятники представили программную платформу Android, хотя многие товарищи утверждали, что будет симметричный ответ яблочникам - GPhone телефон с интегрированными Google-сервисами. В основу операционной системы Android положены ядро Linux и компоненты с открытым кодом, а доступ к платформе будет предоставляться телекоммуникационным компаниям и разработчикам устройств в соответствии с лицензией Apache. Предполагается, что первые мобильники с Android появятся на рынке во второй половине следующего года. (По информации "Компьюлента")
Microsoft тоже не осталась в стороне на этой неделе и проанонсировала выпуск Visual Studio 2008 и .NET Framework 3.5. Урра, товарищи!!! Наконец-то у нас будет путевый Intellisence в JavaScript :)

Nov 2, 2007

Создаем кнопку для Google Toolbar

Не спрашивайте: "Зачем это нужно?", ответ будет один: "Не знаю, может быть пропиарить свой ресурс? ;)".



Что такое Google Toolbar, можно прочитать на официальной странице http://toolbar.google.com/T4/intl/ru/index_pack.html.


Начнем девелопмент по-гугловски:
  1. Установите панель

  2. Зайдите на сайт http://directshow.wonderu.com/

  3. В поле для поиска нажмите правой кнопкой и выберите "Generate Custom Search..."


  4. После этого введите в поля описание сайта и нажмите "Add"


  5. У Вас появится новая кнопка на гугл-панели, нажав на которую, Вы сразу же попадаете на сайт http://directshow.wonderu.com/


  6. Также можете делать поиск по сайту нажатием одной кнопки. Для этого введите условие поиска в поле ввода панели и нажмите на созданную Вами кнопку:


  7. Теперь главный вопрос: "Как же раздать народу кнопку?". Идем в настройки панели, выбираем нашу кнопку и жмем "Edit", дальше нажимаем ссылку "Use the advanced editor...". Откроется страница текстового редактора. Копируем содержимое в файл, например, directshow_wonderu_button.xml. После этого выкладываете файл на Вашем хостинге (например, http://directshow.wonderu.com/directshow_wonderu_button.xml) или отсылаете друзьям.
  8. Теперь нужно сообщить миру о новой кнопке. Делаем на странице Вашего сайта ссылку на http://toolbar.google.com/buttons/add?url=http://directshow.wonderu.com/directshow_wonderu_button.xml. Получилось вот так Добавить кнопку сайта "DirectShow по-русски" в Google Panel.

У Вас своя предвыборная компания, у меня своя:)

Раскопал материал о своей прошлой предвыборной компании:

Спасибо Лизаветте за плакаты :)

Oct 26, 2007

Google - двигатель прогресса


Молодцы гуглятники, что не месяц, то новинка.
  1. 1. Google Translate http://translate.google.com/
    Подозреваю многие уже знакомы с данным сервисом перевода, поэтому рассказывать про него не буду, сами глянете если интересно. Я вот им пользуюсь для просмотра китайского сегмента сети, странички с иероглифами Гугл переводит на ура. Сравните: оригинал и перевод.
    Так вот, гугловцы начали переводить тексты на основе своей системы машинного перевода. Процитирую Компьюленту:
    "В Google подчеркивают, что в большинстве современных коммерческих систем машинного перевода используется подход на основе правил. В этом случае от лингвистов требуются большие усилия по созданию словарей и определению используемых правил грамматики. Система Google работает несколько иначе. Она анализирует большие объемы текста (миллиарды слов) на различных языках, а также оригиналы и переводы, сделанные профессиональными лингвистами. Затем посредством специальных методик формируется модель для перевода текста с одного языка на другой."
  2. OCRopus - Open Source система распознавания текста от Google
    Гугл хочет быть везде, и его планы по завоеванию мира впечатляют. Microsoft Research Center, смотря на поисковиков, нервно курит в сторонке.
    Конечно, скажите вы, мы имеем супер "распознавалку" Abbyy FineReader, но он стоит денег, а в ненышней войне с нелицензионным ПО, песплатность и открытость играет большую роль (в основном для домашних компьютеров).
    Новая OCR работает пока только под Ubuntu 7.10 (эт африканский Linux такой), но планируется его переносить и на другие платформы. Так что ждем выхода финальной версии Окропуса для Windows.

Oct 25, 2007

SVN 4 Free - хостинг кода проектов

Так случилось, что системы управления версиями вошли в мою программистскую жизнь (звучит как приговор ;) ) почти сразу. Естественно, когда мне купили компьютер, и дома я пытался ваять мега-графические-программулины (наподобие этой или этой). Конечно же я не пользовался никакими системами контроля версий. Но, придя в 2003 году в одну хорошую фирму, сразу же показали, что это такое. Началось знакомство с Rational Clear Case - монстра для больших проектов, затем уже с простеньким Seapine Surround SCM. Но все эти системы стоят как самолет. Поэтому Subversion (он же SVN) - наше все:) Бесплатная система с удобными клиентами. Причем данная система может быть интегрирована практически в любую современную среду разработки (в VS это AnkhSVN).

Отошел от темы...
Так вот для хостинга кода существуют десятки сервисов в Интернете, например, SourceForge. Но все эти системы предназначены для открытого кода.
Assembla - сервис для SVN хостинга. Малые проекты там могут хоститься бесплатно. Плюс, для больших проектов там есть Time Sheet на каждого девелопера и куча других вкусностей. Сервис предназначен для распределенных групп разработки, но подойдет и отдельным девелоперам, желающим поделать работу дома :)

ЗЫ. Для Windows используйте клиент-черепашку TortoiseSVN

Oct 24, 2007

Microsoft SkyDrive - бесплатный 1Гб онлайн диск

Лет 6 назад пытался найти нормальный онлайн диск, куда можно было бы заливать свои файлы и потом иметь к ним доступ с любого компьютера. Так вот, раньше предлагали либо урезаные бесплатные версии таких сервисов или они были очень уж тормозные. Потом я забил на это добро. Пару лет назад пытался использовать GDrive - это онлайн хранлище, основанное на почтовой службе GMail от Google.Суть была такая: в систему ставится виртуальный жесткий диск и отображается в "Моем компьютере". В принципе работало, но есть несколько "НО":
1. Если выполняется поиск файла на всем компьютере, то поиск лезет и в этот сетевой диск
2. Если в качестве хранилища выбираем свое мыло на GMail, то появляются сообщения в которых содержатся файлы, причем их много и аккаут превращается в свалку. Конечно, можно зарегать отдельное мыло для такого случая.

Microsoft запустил бета тестирование сервиса SkyDrive - тот же онлайн диск размером 1Гб, только с web-интерфейсом. Win-клиента, к сожалению, под него нет.
Причем Вы можете создавать как приватные и публичные (видят все) папки, так и с ограниченным доступом для отдельных пользователей Live.
Сам я буду активно пользоваться этим сервисом... ну и искать альтернативу с win-клиентом

Oct 23, 2007

Если бы меня выбрали мэром Самары

Я бы продолжил нашу любимую улицу Гагарина до проспекта Ленина. Благо там вообще нет домов на новом пути!!!


View Larger Map

Oct 18, 2007

Picasa - лучшая программа для просмотра фотографий

Хочу поделиться важной программулиной (думаю, многие уже используют ее) Picasa - для просмотра и редактирования Ваших фотографий. Всякие асидиси и стандартные просмоторщики рядом не стоят с Пикасой:

  1. Пикаса бесплатна
  2. Пикаса создает базу всех ваших фотографий. Ищет повторяющиеся фотографии
  3. Может редактировать фотографии
  4. Убирает "эффект красных глаз"
  5. Сразу можно фотки заливать на вэб-альбом или отсылать на мыло, причем Пикаса сама уменьшает размер фоток. Думаю, каждый сталкивался, что какая-нить блондинка или просто ламо засылает фотки в 3 Мб весом. Так будьте брюнетками и кулхацкерами :) отправляйте фотки предварительно их пожав.
  6. Программа очень быстро работает
  7. Может писать на диски презентацию из Ваших фоток
  8. И еще куча всего

Небольшое видео, правда на английском, о программе:

Вроде все!!! Качайте Google Pack с Picasa по ссылке в самом низу страницы наждайтесь :)

или
http://pack.google.com/intl/ru/installer_eula.html?ci_picasa=on&hl=ru&gl=ru

http://pack.google.com/ - Пакет, в котором можно выбрать следующие программы для скачивания:

  • Панель инструментов Google для IE
  • Spyware Doctor
  • Picasa
  • Skype
  • Norton Security Scan
  • Google Desktop
  • Браузер Firefox с панелью инструментов Google
  • StarOffice (содержит среду Java™)

Oct 2, 2007

Вызов скрипта после успешной проверки валидаторами

Возникает порой необходимость вызвать свой JavaScript по нажатию на кнопку страницы. Например, создаем проект ASP.NET Web Site в Visual Studio 2005, кладем на форму TextBox, Button и RequiredFieldValidator. У RequiredFieldValidator выставляем TextBox в свойстве ControlToValidate и «*» для Text.


Затем у Button прописываем OnClientClick как 'alert("Событие")'. После этого запускаем сайт. Нажимаем Button и получаем ожидаемый диалог «Событие», а после него срабатывание валидатора.
Иногда нужно вызвать свой скрипт уже после проверки валидаторами страницы. Для этого делаем следующее:

  1. Очищаем OnClientClick.
  2. Заводим переменную var oldClick = null; в JavaScript. Данная переменная будет хранить старый указатель на обработчик onClick кнопки Button1.
  3. Создаем функцию для валидации, вызова нашего кода и вызова старого обработчика:

    function goNext()
    {
    if (typeof(Page_ClientValidate) == 'function')
    if(Page_ClientValidate())
    {
    alert("‘Сообщение");
    if (oldClick)
    oldClick();
    }
    }
  4. Делаем функцию для «перехвата» старого обработчика:

    function formRealPostBack(buttonID)
    {
    var requestButton;
    requestButton = document.getElementById(buttonID);
    if (requestButton.onClick)
    {
    oldClick = requestButton.onClick;
    }
    else
    {
    if (requestButton.onclick)
    oldClick = requestButton.onclick;
    }
    requestButton.onClick = goNext;
    requestButton.onclick = goNext;
    }
  5. Вызываем «перехватчик»:
    <asp:Button ID="Button1" runat="server" Text="Button" /><script language="javascript" type="text/javascript"> formRealPostBack("<%= Button1.ClientID %>") </script>



В результате сначала будет произведена проверка TextBox, а затем выполнится наш код.




Sep 28, 2007

Японский IQ тест

Этот тест применяется при приёме на работу специалистов IT в Японии. В среднем людям даётся 15 минут времени…

Для НАЧАЛА щёлкните на синий КРУГ.

Правила:

  1. На плоту могут одновременно перемещаться максимум 2 человека.
  2. Папе не разрешается находиться с дочерьми без присутствия матери.
  3. Маме не разрешается находиться с сыновьями без присутствия отца.
  4. Заключённого нельзя оставлять одного ни с одним из членов семьи.
  5. Управлять плотом могут только полицейский и родители.

Чтобы ехать, нужно нажать красный рычаг.



Sep 26, 2007

Изменение содержимого HEAD в runtime

Часто при создании своих WebControl'ов необходимо, чтобы при их использовании загружались скрипты, прописанные в секции HEAD. Рассмотрим помещение ссылки на JavaScript-скрипты и добавление самого JavaScript в HEAD-элемент. Для этого создаем контрол Literal и добавляем его в Page.Header:

protected override void OnPreRender(EventArgs e)
{
Literal literal = new Literal();

string script = "<script type=\"text/javascript\" language=\"javascript\" src=\"{0}\"></script>\n";
literal.Text += "\n";
literal.Text += string.Format(script, @"/Key/includes/cookies.js");

string script2 = "<script type=\"text/vbscript\" language=\"vbscript\" src=\"{0}\"></script>\n";
literal.Text += string.Format(script2, @"/Key/includes/CertWorks.vbs");

Page.Header.Controls.Add(literal);
}