16 декабря 2009 г.

Бесплатный антивирус Microsoft

Компания Microsoft с радостью для нас объявила, что их бесплатный антивирус Microsoft Security Essentials доступен и для жителей России.

Многие осуждали Microsoft за этот шаг (выпуск бесплатного антивируса), но мне кажется это наоборот хорошо, так как не каждый пользователь может позволить себе покупку платного антивируса. Да или если взять обыкновенного пользователя, который по своей сути, включает компьютер 3 раза за неделю, чтобы посмотреть пару фильмов и слазить в интернет на пару сайтов и отправить пару писем. Этот человек, конечно же не будет гореть большим желание покупать антивирус, так как он и компьютером почти не пользуется, а тут поставит бесплатный антивирус, он и обновляется и компьютер защищен.

Скачать Microsoft Security Essentials можно по это ссылке http://www.microsoft.com/security_essentials/

PS. Доступен русский язык =)

15 декабря 2009 г.

Блокирование кнопки после нажатия

Честно говоря, никогда не думал, что пользователи такие паникеры. Дошло уже до того, что пользователи напрочь игнорируют надпись “Пожалуйста, подождите…” и анимацию около этой надписи. Вот и встал вопрос, как же сделать так, чтобы пользователи просто не тискали на эту кнопку как сумасшедшие. Выход был прост. Блокировать кнопку да и все. Как это сделать? Для решения этого вопроса я обратился к своей любимой CMS mojoPortal. И вот какой код нарыл. Метод прост, а его пользу и не передать.

public static void DisableButtonAfterClick(
        WebControl button,
        string disabledText,
        string postbackEventReference)
    {
        if (button == null) return;
        button.Attributes.Add("onclick", "this.value='"
            + disabledText
            + "';this.disabled = true;"
            + postbackEventReference);
    }

А вот как его использовать

DisableButtonAfterClick(
                Button1,
                "Пожалуйста, подождите...",
                Page.ClientScript.GetPostBackEventReference(this.Button1, string.Empty)
                );

21 ноября 2009 г.

mojoPortal: Экономим на хостинге

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

Тут опять нам на помощь приходит mojoPortal. А именно его DAL для работы с различными базами данных. Так получилось, что саму CMS систему можно поставить на самый минимальны хостинг, который даже не предоставляет базу данных и все потому, что мы можем использовать внутреннюю базу данных SQLite. База достаточно малая и работает так сказать без нашего ведома…нам ничего не нужно устанавливать или требовать у хостера… и при этом у нас CMS работает как и с любой другой базой данных. Неправда ли удобно?

Сказать честно, я не пытаюсь разрекламировать данную CMS и мне за это не платят=) просто я работаю с этой системой и делюсь своими впечатлениями с вами.

12 ноября 2009 г.

mojoPortal 2.3.2.9

11 Ноября Joe Audette выдал в свет людской новую версию mojoPortal. Итак, чем же новым обзавелась CMS система? Какие новые возможности нам даны?

Новостная рассылка

  1. Пользователи могут подписываться на получение писем с сайта не регистрируясь на нем.
  2. Модуль информационной подписки мы можем поместить на любую страницу и каждый сконфигурировать отдельно.
  3. Прогресс отправления писем.

Обновление редакторов

TinyMCE 3.2.7
FCKeditor 2.6.5
CKeditor 3.0.1

Улучшения SEO

Возможность задания каноничных url. Возможность конфигурирования каждой страницы отдельно.

Отельные улучшения

Добавлена новая категория прав доступа - “Users that can create root level pages”

Добавлена возможность отключения аутнтификации по-умолчанию если включена аутентификация по Windows Live или Open ID

Более подробная информация о новом релизе mojoPortal, можно прочитать из официального блога - http://www.mojoportal.com/mojoportal-2329-released.aspx

9 ноября 2009 г.

mojoPortal: Первые впечатления!

Как-то давно я начал поиски хорошей системы для создания сайтов (даже начал писать свою, кстати, очень ничего получается=)) ), но ничего хорошего я найти не мог. Хотелось, конечно, бесплатное решение с хорошей функциональностью, хорошим кодом, большой расширяемостью, поддержкой большого количества баз данных (или хотя бы возможность написания их поддержки). И самое интересное, что ничего найти не мог. Я перепробовал большое количество OpenSource CMS на ASP.NET, благо на codeplex.com их хватает. И одно меня терзает: “Почему я просто сразу не обратил внимание на проект, который шел самым первым в списке!” Глупо, согласитесь. Моя логика на тот момент была следующая: “CMS на первом месте, значит будет большая, неповоротливая, да и при этом ничего в ней не поймешь пока кипу документации не изучишь”. Я ошибся. И при этом очень сильно.

Все-таки пришел тот момент, когда я взял и установил это детище Joe Audette. Первым делом был маленький шок, так как установка прошла просто и гладко. Для того, чтобы разобраться в функциональности и работе с самой CMS понадобилось чуть меньше часа. Каждый модуль по своей сути является отдельным приложением внутри CMS.

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

Свойства системы:

  • Кросплатформенность
  • Работа с базами данных:  MS SQL Server, MySQL, PostgreSQL, Firebird Sql и SQLite
  • Возможность установки и управления множеством сайтов
  • Множество скинов, возможность установки разных скинов на страницы
  • Возможность выбора редактора контента FCKeditor, TinyMCE или XStandard HTML WYSIWYG
  • Блоги
  • Форумы
  • Галерея изображений
  • RSS
  • Календарь событий
  • Контактная форма
  • Ecommerce
  • Файловый менеджер
  • Общие файлы
  • Google maps
  • Легко настраиваемые пользовательские профили
  • Локализация. По-умолчанию включено 10 языков
  • Конфигурирование хранения паролей
  • Url-rewriting позволяет использовать дружественные адреса
  • Поиск по сайту
  • Протоколирование ошибок
  • Возможность аутентификации на сайте с использованием LDAP, Active Directory, Windows NTLM, OpenID или Windows Live ID
  • Персонализация и web-части
  • Статистика сайта

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

Так что, если Вам нужна бесплатная и хорошо расширяемая система, то лучше, чем mojoPortal не найти. Это моё личное ИМХО.

Официальный сайт проекта mojoPortal – http://mojoportal.com

6 ноября 2009 г.

История: Steve Jobs demos Apple Macintosh, 1984

Копаясь в огромной куче видео-роликов на YouTube.com я нашел достаточно интересную запись, которая показывает как же в свое время компания Apple удивила ми своим новым компьютером - Macintosh. Советую всем посмотреть даже тем, кто не знает английский, море оваций от происходящего на экране Mac-а действия, не нуждается в переводе.

13 сентября 2009 г.

День программиста

Ура! Ура! И еще раз ура! Сегодня мы отмечаем свой профессиональный праздник – “День программиста”. Посему хочу пожелать всем программистам. Ясной головы и свежих мыслей, чистого кода и поменьше ошибок.

Давайте отметим наш день, как действительно культурные люди. А вот и несколько поздравлений:

http://beta.voicecards.ru/item/pozdravleniya_s_prazdnikom/den_programmista/holiday/id/306/1108.html

http://beta.voicecards.ru/item/pozdravleniya_s_prazdnikom/den_programmista/holiday/id/306/1102.html

http://beta.voicecards.ru/item/pozdravleniya_s_prazdnikom/den_programmista/holiday/id/306/1100.html

http://beta.voicecards.ru/item/pozdravleniya_s_prazdnikom/den_programmista/holiday/id/306/1099.html

11 сентября 2009 г.

LINQ IQueryable Toolkit

У каждого разработчика есть что-то любимое и дорогое для его программистской душеньки. Некая разработка, технология или просто программа. Для меня такой вещью стал LINQ. Наверное это была любовь с первого взгляда :) До сих пор не могу представить как жил до этого без лямбда-выражений. Но, есть одно НО. И при этом огромное такое. Это немного ограниченное использование LINQ. А именно в данный момент у нас есть возможность использовать lINQ только с базами данных MS SQL Server. Что несомненно не очень приятно, так как лично мне пришлось в данный момент иметь дело с базой данных MS Access 2003. А применить любимый подход я не мог.

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

Первое что я нашел – это был проект ALINQ (http://alinq.org) , который я так и не опробовал, так как при компиляции кода мне просто и понятно было сказано, чтобы я купил сей продукт. А так как деньги не бывают лишними и их просто не было да и к тому же я даже не испробовал в работе данную библиотеку, то покупать я точно ничего не хотел.

Далее а форуме http://gotdotnet.ru мне подсказали один интересный и бесплатный проект, а именно LINQ IQueryable Toolkit (http://iqtoolkit.codeplex.com). И вот спустя пару часов разобравшись в коде и написав ручками datacontext я получаю выборку данных из Northwind.mdb красивейшим выражением:

db.Customers.Select(c => c).ToList();

Буквально пару дней назад этот проект обновился до версии 0.16 на данный момент поддерживаются базы данных:

  • MS SQL Server
  • Access
  • MySQL
  • SqlLite

Более подробную информацию о данном проекте можно узнать по адресу: http://blogs.msdn.com/mattwar/pages/linq-links.aspx

3 сентября 2009 г.

Вот и Release

Вот и наступил релиз первой 0.1 версии Future CMF. Казалось бы не так много и делал, а тут сразу и релиз. Но тут ничего не поделаешь, так как я сразу определил сколько и какие модули будут находиться в первой версии и все они уже написаны. Как-нибудь позже я более подробно опишу каждый модуль, но пока просто их перечислю.

Модули Future CMF:
1. HTML-тексты

2. Новости

3. Портфолио

4. Контактная форма

5. Изображения

1 сентября 2009 г.

Future CMF – Модуль “Новости”

1 сентября – День знаний. Для кого-то это праздник, для кого-то нет. А у меня сегодня очень хорошее настроение, ведь наша CMF система сегодня получила еще один модуль. Модуль “Новости”. Работа над ним заняла у меня несколько дней, но я не думаю, что это время было потрачено зря. Вроде ничего такого нового и не сделал все стандартно, но все-равно приятно. Ведь каждый модуль – это не просто модуль. Это расширение функциональности системы, а это всегда приятно.

25 августа 2009 г.

Future CMF

Как-то не долго я думал над рабочим названием данной системы. Future – будущность, будущее (совокупность события ожидаемых в ближайшее время). А так как, я и ожидаю в будущем недалеком увидеть CMF систему, то так её и назвал.

Как мне кажется рабочее название играет большую роль. Да и не рабочее тоже. Не называть же будущий продукт BAD CMF или BUG CMF. Точно никому не захочется с ней работать и тем более, чтоб на ней еще и сайт работал. Хотя если и название будет хорошее, а реализация никакой, то название точно не спасет от неминуемого краха.

24 августа 2009 г.

Разработка CMS

Честно говоря. Сегодня был очень раздосадован, разозлен и еще даже не знаю как сказать. И все дело в своем же сайте. Он был как развалина. Команда развалилась, нас осталось только двое, а какие сразу были радужные мечты, но реальность жестока… Ну да ладно… Я так понял, что пока что надеяться нету на кого, по этой причине с сегодняшнего дня начинаю разработку своего маленького, но инструмента разработки. Нет, это не CMS с ней не сможет работать просто администратор без помощи программиста, но пока что на разработку CMS просто нету сил. Мне не очень нравится, когда мне говорят фразы: “Вы хоть свой сайт доделай-те, а то ничего не умеете, а лезете”. Я не буду это оспаривать. Чего кидать слова на ветер, вернуть авторитет можно только делом.

Итак, разработку инструмента для создания сайтов на платформе ASP.NET я считаю открытой.

12 августа 2009 г.

Жизнь фрилансера

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

11 августа 2009 г.

CMS на ASP.NET

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

DotNetNuke большая CMS много наворотов и толку от этого никакого. Вот если подумать! Нужно человеку сайт создать только сайт визитка с парой страниц инфы, а тут ты будешь ставить 10-15 метров исходников и создавать страницы. Да и еще потом объясни этому человеку, как работать с этой системой и что лезть куда-то туда не нужно… Так что однозначно не подходит.

N2CMS по заверению разработчиков маленькая и легкая… но одни исходники скомпилированные библиотеки и тому подобное заняло у меня 140 метров. Вот это легкая! Куча сторонних библиотек, годы уйдут, чтобы разобраться.

Oxite написанная на ASP.NET MVC. Прикольный проектик, но жаль сырой как не сваренное яйцо. Думал, что можно доработать, но проще что-то новое написать.

MyWebPagesStarterKit вот эта штука мне реально понравилась. Может это любовь? Может и так! Да, вот, загвоздочка одна не маловажная custom design создать так и не получается… чтоб его навоять нужно переписать всю CMS. А ведь она такая хорошенькая.

И что у нас остается? Какой вывод? Да никакого. Просто говоря… у нас есть достаточное количество Open Source CMS написанных на ASP.NET, но при этом ни ОДНОЙ толковой. Вывод? Нужно начинать продумывать и писать CMS на ASP.NET MVC самому.

Или кто-то предложит, что-то по-лучше?????

27 июля 2009 г.

Любовь и попугаи

Странный заголовок. Не правда ли? И что тут про IT? Ничего! Совершенно ничего. Просто писать больше некуда, а так хочется выйти и закричать. Давно у меня не было такого состояния. Давно я не знал, что делать и как поступить? Да и что вообще в будущем? Блин! Одни вопросы. А где ответы? Там? С ней? Дурдом! И не могу же я сейчас грустить или просто быть не в форме. 30 срок сдачи проекта. Сайт почти готов, осталось настроить уже написанные компоненты, создать некоторые страницы и настроить переходы. Но! Как мне не хочется этим заниматься. Любимое дело? И тут такое отношение? И при чем тут попугаи? У неё дома попугаи, в клетке. Я их ненавижу, но без их чириканья, её смеха, улыбки, нежного прикосновения я, наверное, свихнусь.

Месяц? Или вся жизнь? Вопрос мучительный и ответ на него я получу не скоро, а жить нужно. Ложусь спать. Категории у этого поста нету. Безкатегорийный он=)

9 июля 2009 г.

Бывает же такое!

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

Но самое интересное было в том, что поговорив с этим человеком, мне была рассказана история разработки данной системы. Как оказалось её уже разрабатывал один программист, сделал, но не захотел отдавать, так как считал, что заказчик не имеет права на эту разработку. Вот и получается заплатил заказчик деньги и не получил свою систему. Можно сказать, просто спонсировал разработку. Глупо? Для заказчика, да! А для разработчика? Может так нынче и живут во времена кризиса наши программисты?

28 июня 2009 г.

Начинаем бороздить просторы Инета и UNIX или Windows хостинг?

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

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

Второе. Что-то не очень любят у нас ASP.NET. Говорят: “хостинг дорогой” =) Смех да и только. Вот стоимость в месяц UNIX и Win 2008 на одном из крупнейших хостеров России (название не привожу, так как это уже реклама).

  • Стоимость в рублях: 150
  • Место на диске: 600 метров
  • Доменов на одной площадке: 10
  • и т.д.

Почему я привел только одну таблицу? Все правильно! ЦЕНЫ ПОЛНОСТЬЮ ОДИНАКОВЫЕ!

Но при этом на Windows хостинге мы получаем кучу преимуществ от использования платформы ASP.NET, которая быстро развивается и каждый раз пополняется новыми технологиями.

20 июня 2009 г.

Добро пожаловать в BizSpark!

Ура! Ура! И еще раз Ура! С сегодняшнего дня команда Web Team Developers официально зарегистрирована как Startup в программе BizSpark.

Наша команда получила возможность использовать все бонусы программы, а это очень необходимо для дальнейшей работы. Мы, наконец, сможем работать с полной версией Visual Studio 2008, SQL Server 2008, Office 2007 и другими не менее важными для работы продуктами.

Мы надеемся, что наша разработка найдет своих пользователей и будем вкладывать в работу все свои силы. :)

19 июня 2009 г.

Радость???

Что-то совсем я разленился, даже не написал о одном из самых радостных, за последнее время, моментов в жизни – сайт Web Team Developers уже в сети и нормально функционирует. Это действительно, очень радостный момент в жизни. Мы будем делать все чтобы сайт процветал и у нас были заказы, мы просто люди, которые хотят заниматься любимым делом и получать за это деньги.

Очень хотелось бы зарегистрироваться в партнерской программе Microsoft, но в данный момент это невозможно… А жаль, но наступит время, когда мы получим статус Золотого партнера… Я уверен в этом. А сейчас мы просто развиваемся, вот SEO-шник нужен и дизайнер хороший… а где их взять, когда пока и денег нету??? Но найдем и все у нас будет хорошо.

14 июня 2009 г.

Система контроля версий.

Два дня. Два полных дня мне потребовалось, чтобы найти хоть какую нормальную систему контроля версий для Visual Studio 2008. Не спорю, если есть деньги, то выбор сделать гораздо просто VSS 2005 или VisualSVN. Но если денег нету?

Вот тут мне в помощь и пришел этот плагин к студии под названием AnkhSVN. Скачать данный плагин можно с официального сайта: http://ankhsvn.open.collab.net/.

AnkhSVN использует одну из самых распространенных систем контроля версий – Subversion, которая стоит заметить, тоже является бесплатной, но при этом имеет огромные возможности. Для хранения репозитория с проектом понадобится сервер с установленным Apache. Без проблем можно работать через интернет, что я и делаю. Если ваши разработчики находятся в разных концах света и работают через интернет, то вам стоит обратить внимание на это дополнение.

Хотя как, в принципе, и в любой программе тут также не обошлось без багов. Часто бывает, что для нормальной работы плагина приходиться перегружать студию. Но это и есть расплата за бесплатность. А в целом на работу нареканий нету. Так что если вам нужна бесплатная система контроля версий для visual studio, то обратите свое внимание на это дополнение.

8 июня 2009 г.

PageGlimpse.com и HttpHandler

Итак, что же такое PageGlimpse? PageGlimpse.com – это бесплатный сервис, который предоставляет услуги по созданию скриншотов к сайтам. В действительности сервис очень может пригодиться если у вас есть свой сайт, на котором есть много ссылок на другие ресурсы и вам хочется кроме названия ресурса показать пользователю еще и уменьшенное изображение страницы. Сервис является бесплатным и для его использования нужно просто пройти бесплатную регистрацию по окончании, которой вам выдадут свой персональный ключ на использование данного сервиса.

Вся информация по использованию сервиса расположена на одной странице: http://www.pageglimpse.com/features/api

Для того, чтобы продемонстрировать возможности сервиса пройдите регистрацию и получите свой уникальный ключ. После введите в браузере следующий адрес: http://images.pageglimpse.com/v1/thumbnails?url=http://www.itcommunity.ru/&size=large&devkey=123456789

Нас здесь интересуют следующие значения:

url – адрес страницы, изображение, которой мы хотим получить.

size – размер изображения:

small    150x108    ~ 4kb
medium    280x202    ~ 11kb
large    430x310    ~ 25kb

devkey – ключ, который вы получили после регистрации.

Если все было указано правильно, то вы получите изображение сайта сделанное сервисом PageGlimpse.com.

Как же теперь использовать полученную нами информацию? Я покажу использование данного сервиса на ASP.NET сайте, и для этого напишу и зарегистрирую новый HttpHandler.

В только, что созданный сайт на ASP.NET добавьте новый модуль – PageGlimpseHandler.

public class PageGlimpseHandler:IHttpHandler
{
    public bool IsReusable
    {
        get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {
        if (context.Request.Params["site"] != null)
        {
            string uri = "
http://images.pageglimpse.com/v1/thumbnails?url=";
            string size = "&size=large";
            string devkey = "&devkey=hjk34h342j3h4kj23n42j3h4";
            uri += context.Request.Params["site"] + size + devkey;

            System.Net.WebRequest request = System.Net.WebRequest.Create(uri);
            System.Net.WebResponse response = request.GetResponse();
            BinaryReader reader = new BinaryReader(response.GetResponseStream());
            byte[] buffer = reader.ReadBytes((int)response.ContentLength);

            if (buffer != null)
            {
                context.Response.ContentType = "image/jpeg";
                context.Response.BinaryWrite(buffer);
                context.Response.End();
            }
            context.Response.StatusCode = 404;
        }
    }
}

Созданный нами класс является наследником IHttpHandler и реализует его метод: ProcessRequest, который обрабатывает HTTP запрос и свойство IsReusable.

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

Теперь нам осталось только зарегистрировать наш PageGlimpseHandler в web.config. Для этого найдите раздел httpHandlers и добавьте в него следующую строку

<add verb="GET" path="pageglimpse.aspx" type="PageGlimpseHandler"/>

Вот собственно и все.. Откройте страницу Default.aspx и добавьте на неё вызов изображения какого-либо сайта.

<img src="pageglimpse.aspx?site=http://www.google.com/" />
<img src="pageglimpse.aspx?site=
http://www.microsoft.com/" />

image

Конечно же в реальном приложении все настройки сервиса не должны храниться в коде их лучше перенести в web.config и забирать когда нужно оттуда.

7 июня 2009 г.

Microsoft запускает новый поисковый сервис Bing

Корпорация Microsoft объявляет о запуске поискового сервиса Bing, призванного изменить традиционное представление пользователей о системе поиска информации в Интернете. Новый поисковик сейчас развертывается на сайте www.Bing.com, он станет доступен пользователям по всему миру уже 3 июня. В России и других европейских странах будет запущена бета-версия Bing.
читать далее...

6 июня 2009 г.

Программа "Кредитование"

Еще одна программа сделанная на базе Access и Delphi 7.

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

5 июня 2009 г.

Web Team Developers

Сегодня ночью я зарегистрировал домен http://wtdevelopers.ru
Сайт будет преимущественно рассказывать о услугах, которые будет оказывать команда разработчиков WebTeam. В данный момент нашим главням проектом и является свой собственный сайт, который хостится на платформе ASP.NET, под управлением Windows Server 2008

3 июня 2009 г.

Рюкзак от MSDN

Интересное письмо я вчера получил. Честно говоря был им немного ошарашен и приятно удивлен. Дело в то, что я как и, наверное, почти каждый разработчик работающий с платформами от Microsoft, являюсь подписчиком бюллетеня MSDN. Пару недель назад команда MSDN-Online проводила опрос по поводу улучшения бюллетеня и собственно раздавала подарки тем, кто более полно ответит на интересующие их вопросы. Мне это было интересно, так что я добросовестно ответил на все вопросы и вот вчера прибыл результат - мне должны прислать рюкзак. Честно говоря, очень приятно. Буду теперь ждать, когда же он прибудет в мой многострадальный город.

Собственно как рюкзак приедет, я напишу об этом...

Microsoft получила сертификаты ФСТЭК на три новых продукта

ООО «Майкрософт Рус» объявляет о сертификации Федеральной службой по техническому и экспортному контролю (ФСТЭК) трех продуктов – сервера для организации документооборота SharePoint Server 2007, сервера для управления бизнес-процессами BizTalk Server 2006 R2 и сервера управления почтовыми сообщениями Exchange Server 2007.
читать далее...

2 июня 2009 г.

Программа "Салон-красоты"

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

Программа написана с использованием: delphi 7 Enterprise, ADO, Access 2003

29 мая 2009 г.

Возвращение значения из метода

Сейчас пишу одну забавную программу на Delphi по выбору дискового массивы. Столкнулся с одной интересной проблемой. У меня стоит операционная система Windows Seven build 7057 на ноутбуке и Windows Vista Business на компьютере. Проверка работоспособности программы на этих двух системах была проверена и все работало замечательно. Отправил программу заказчику. И вот тут начались приколы. Дело в том самый главный wizard у него не завершался, т.е. попросту говоря, то для чего была предназначена программа - не работало! Как оказалось у него стоит XP, попробовал работу программы на виртуальной машине с установленной серверной системой Windows Server 2003 и о чудо, wizard так же не завершился.
Начался разбор программы под управлением виртуальной машины. Ошибка как оказалась была достаточно интересной. Мой последний метод не возвращал значения. Т.е. метод работал и возвращал, что придется, как оказалось XP возвращала false, когда Vista и 7 возвращали true. Вот и была найдена ошибка и интересно было бы узнать, почему значения по-умолчанию в последних двух системах были изменены? Может кто знает?

6 мая 2009 г.

Microsoft выпускает версию Release Candidate новой операционной системы Windows 7

Microsoft объявляет о выпуске версии Release Candidate новой операционной системы Windows 7. С сегодняшнего дня она доступна для загрузки подписчикам MSDN и TechNet. Широкая аудитория пользователей сможет опробовать Windows 7 начиная с 5 мая, загрузив дистрибутив на сайте www.microsoft.com/windows7

далее...

23 апреля 2009 г.

Portable программы

Уже примерно год, как я использую активно использую portable программы. При этом не совсем по назначению. Данного плана программы предназначены для запуска с любых съемных носителей, будь то flash накопитель или обычный диск, они не требуют установки и не засоряют реестр ненужным хламом. Неправда ли удобно?

Так вот многие версии программ, которые я использую на компьютере и ноутбуке, как раз и являются portable. Так уж повелось, что очень не хочется порой после переустановки ОС вновь ставить кучу программ, настраивать их. А тут все уже готово.

Поэтому мне стало интересно, а много ли есть portable версий популярных программ. И собственно, кто их делает. Долго искать не пришлось. Достаточно зайти в google и в качестве запроса указать одно слово portable. Сайтов будет найдено уйма и что самое интересное на многие ресурсы представляют собой просто склады этих самых программ. Чего тут только нет, программы на любой вкус и при этом порой весят намного меньше своих инсталлируемых собратьев.

Как же устроены portable программы? Я попытаюсь ответить на этот вопрос изучив некоторые версии программ используемых у меня и некоторых, которые я скачал специально для этих целей. И так начнем.
Первым нашим пациентом будет программа для просмотра графических файлов IrfanView. Данную программу можно скачать с http://www.irfanview.com совершенно бесплатно.

За то, что эта программа может работать без установки спасибо собственно её автору - Irfan Skiljan. Как видно данный товарищ не заморачивался о чем-то и просто написал программу, которая хорошо работает. Так что если вам нужно, то просто установите эту программу себе на диск, только ни на системный и пользуйтесь даже после переустановки ОС.

Следующей рассмотренной мною программой будет бесплатный редактор аудио-файлов Audacity.

Portable версия данной программы была скачана с ресурса portableapps.com.
Содержимое архива с программой можно увидеть ниже.

Как видно, для запуска приложения существует файл AudacityPortable.exe, который является ни чем иным как своего рода эмулятором. Дело в том, что такого рода portable программы запускаются в эмулирующей среде, в которой эмулятор показывает программе, что она была установлена, все изменения в реестре сделаны и что можно работать и ни о чем не думать. А теперь подробнее о том, что же находится в каждой папке.
App - данная директория собственно содержит само приложение.
Data - настройки приложения
Other - насколько я понял эта папка никак не действует на работу самого приложения. В ней содержатся исходные коды самого приложения.

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

22 апреля 2009 г.

Изменение ТЗ во время разработки приложения

Я думаю многие разработчики сталкивались с такой бедой как изменение технического задания при разработке сайта или программы во время разработки приложения. Такое есть и, наверное, будет всегда. Да это плохо и часто губительно, но ничего не поделаешь. Так повелось, что заказчики никогда толком и не могут определить, что же они хотят? "Вот эту фишаЧку, или вот эту!" И что делать нам разработчикам? Хочешь заработать свою копейку делай, переделывай, строй, разрабатывай. Да, за лишнюю работу цена увеличивается, но часто бывает, что и не рад увеличению этой самой платы так как работы бывает много.

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

9 апреля 2009 г.

Microsoft опубликовала документацию о своих новых продуктах.

За последнее время компания Microsoft выпустила в достаточное количество новых продуктов. И вот теперь появилась документация, наконец-то, на "великом и могучем" о том, что же нам обычным пользователям и разработчикам она привнесла нового и неизведанного ранее.

Internet Explorer 8. Никогда не думал, что я так буду восхищен этим браузером, но стоит заметить, что это так. Наверное, это потому, что IE8 привнес все-таки что-то новое в мир браузеров и это радует. О чем я говорю? Можно прочитать вот в этом руководстве.
Так же все таки не помешает прочитать и про совместимость IE8 с сайтами не поддерживающими web-стандарты. Этот документ доступен здесь.

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

Silverlight 3 beta. Для меня документация и сам выход новой версии Silverlight был приятной неожиданностью. Очень уж запала в душу эта технология. Для меня как разработчика web-приложений, Silverlight дает такие возможности, какие все-таки не могла дать ныне НИ ОДНА технология, а это много значит. Скачать - "Новые возможности Silverlight 3"

1 апреля 2009 г.

.NET Framework копия Java?

Мне часто приходится слышать достаточно неприятную, лично для меня, вещь, что .NET Framework это всего-лишь копия Java и не более. Т.е. есть граждане, которые утверждают, что Microsoft просто содрала все у Sun Microsystems и ничего нового собственно не придумала. Простите, но я не совсем согласен с этим. Все-таки как не крути, но .NET Framework это нечто большее, чем платформа.

Если заглянуть немного внутрь двух платформ, то действительно мы видим простую идею: "Работать везде". Т.е. приложения написанные на Java работают везде, где установлена виртуальная машина Java. Приложения же .NET Framework, работают там, где установлен .NET Framework. При этом списки всех систем на которые можно поставить .NET и Java достаточно большие.

Но неужели за кроссплатформенность .NET Framework можно назвать клоном Java. А как на счет всего остального? Как на счет всех технологий присущих .NET? Вспомним ASP.NET, ADO.NET, WinForms, LINQ, Silverlight (который уже получил 3-ю версию), .NET Services, ADO.NET Data Services, Entity Framework. И это далеко не весь список. И с каждым разом он увеличивается, что-то развивается и улучшается. А если посмотреть, что анонсирует Microsoft в .NET Framework 4.0 и C# 4.0, то назвать это клоном Java просто кощунственно.

Так же часто слышится, что Silverlight это просто копия Flash и ничего более. Тогда ответьте на вопрос те, кто так считает. "Можно ли во Flash смотреть фильмы в HDTV?" Я думаю ответ будет один.

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

20 марта 2009 г.

Microsoft выпустила новую версию браузера Internet Explorer 8

И вот, наконец, компания Microsoft и выпустила новую версию браузера Internet Explorer 8. Браузер доступен на множестве языков, в том числе и русском. Скачать браузер можно по ссылке приведенной ниже
http://www.microsoft.com/rus/windows/internet-explorer/
Для новой версии браузера доступно огромное количество сторонних компонентов, которые можно скачать с http://ieaddons.com/ru/
По заверения разработчиков Internet Explorer 8 является:
1. Наиболее совместимым со всеми стандартами web.
2. Совместимым со старым кодом — IE8 имеет режим compatibility view, позволяющий на время переключить браузер в режим совместимости с IE7 и более ранними версиями.
3. Специально для веб-разработчиков создан IEAK8, позволяющий собрать собственный IE8, адаптированный под нужды конкретных пользователей и содержащий собственные компоненты

12 марта 2009 г.

Mail.Ru и Microsoft выпустили специальную версию браузера Internet Explorer 8

Mail.Ru и компания Microsoft разработали специальную версию браузера Internet Explorer 8. Она включает в себя ряд функциональных дополнений, позволяющих работать в Интернете еще удобнее с помощью сервисов Mail.Ru. В настоящее время IE8 находится в статусе Release Candidate 1 и пока еще не начал официально распространяться. Загрузить версию IE8 с пакетом дополнений от Mail.Ru сейчас можно только на страницах этого портала - стратегического партнера Microsoft по продвижению браузера в России.
вся статья...

Честно говоря IE пользуюст только при разработке сайтов, так как хорошая работа данного браузера с Microsoft Visual Studio не вызывает опасений. Да и тестировать сайт приходится далеко не в одном браузере. Но данная статья меня все-таки немного обрадовала. Microsoft предоставила разработчикам IEAK8. И теперь любой желающий может собрать свой собственный IE. Но вот вопрос, почему другие производители браузеров не делают того же? Столько информации о своем браузере, как Microsoft не выаживал никто. Взять хотя бы доклады на сайте TechDays.

В общем ждем, выхода полной версии и попробуем, что-нить написать под новый IE.

1 марта 2009 г.

Кризис и IT

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

И так, как же подействовал кризис на IT, а именно на разработку программного обеспечения. Не будем говорить о том, что огромное количество специалистов в разных областях остались без высокооплачиваемой работы. А ведь это действительно так! Вот мне интересно, что делать теперь этим самым специалистам? Ведь никто не говорит, что их уволили потому что они были плохими! Нет! Порой просто увольняли людей за которых в без кризисную пору просто могли драться и предлагать сумасшедшие деньги. Так, что же происходит сейчас?

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

В интернете не раз звучали опасения всевозможных аналитиков, экспертов в области IT, что кризис даст толчок для роста киберпреступности. И я с этим согласен. Если человек не может найти работу и следовательно деньги для того, чтобы прокормить свою семью то, что ему остается? Только воровать! Но воровать ведь тоже нужно уметь! А что делать, если ты, например, специалист по безопасности web-приложений. Если ты знаешь каждую брешь в защите! Или можешь найти её? То, что остается, кроме как не воспользоваться этим и не заработать денег. Почему не написать на заказ новый вирус, который заразит миллионы компьютеров, если за это хорошо заплатят? Почему это не сделать?

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

26 февраля 2009 г.

Таблица шансов

Данное приложение предназначено для изучения "Таблицы шансов" для игры в покер.

В программе есть два режима работы: тестирование и обучение.

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

Программа разрабатывалась как WindowsForms приложение под .NET Framework 2.0
Применялись следующие технологии и инструменты разработки: C#, XPath, Microsoft Visual Studio 2008 Express.

21 февраля 2009 г.

Нужна ли спецификация для проекта?

Когда-то все свои программы я писал даже не думая о том, чтобы составить хотя бы перечень из функциональностей доступных в программе. Программы писались и даже работали =) да вот только бывало, что работа над одной программой занимала огромное количество времени. И это происходило не из-за того, что программы были огромными и многофункциональными. Нет, скорее наоборот! Они были маленькие и их функциональность была смехотворна. Тогда почему же их разработка занимала много времени? Все просто! У меня небыло и малейшего плана разработки, я не задумывался о взаимодействиях одной части программы со второй.

Это было просто ужасно, так как простейшие часики с настройками, будильником, напоминалками и календарем занял полторы тысячи строк. Подумайте 1500 строк на часы, которые ничего из себя не представляли. Но не только это было причиной таких больших сроков разработки. Порой программа выходила только через несколько версий, т.е. я начинал писать с версии 1.0, а свет увидела только 1.4 =(( И все потому, что напортачив в коде, я не разбираясь начинал писать новую версию, уже более продуманную.

И все-таки, как можно было исправить это плачевное положение? Я думаю каждый программист, который сталкивался с такими проблемами уже знает ответ на этот вопрос. А может кто-то уже и использует, то про что многие знают но мало кто использует, так как считают не нужным. А зря.

Итак, мой разговор пойдет, об одной из частей разработки программного обеспечения - написании спецификации.

Часто мы не любим писать спецификации только по тому, что это достаточно нудное занятие и сразу же переходим к программированию. И в этом основная ошибка, так как написание спецификации один из основных этапов разработки. Ведь невозможно же перейти к тестированнию написанного кода еще не написав его или продавать проект, который еще не создан! Так почему мы так поступаем с написанием спецификации? Мы начинаем писать проект, когда у нас нету информации о том, что писать. Как это возможно?

Так, какую информацию можно изложить в спецификации? Наверное, самое главное это указать, полностью всю функциональность разрабатываемого приложения и определить как должен с каждой из них работать пользователь! Это очень важно, так как на этом шаге мы становимся на место пользователя и пытаемся разобраться как и что будет работать. Часто бывает, что разработчики создав приложение даже не думали как с ним будет работать пользователь. И для того, чтобы пользователю воспользоваться какой либо функциональность приложения ему приходится совершить чудеса эрудиции и свои превосходные знания компьютера. НО!

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

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

Допустим, мы написали о писали всю функциональность приложения и написали как со всем этим будет работать пользователь. Можно ли расширить и добавить в нашу спецификацию какую-нибудь информацию, которая может помочь при программировании? Конечно можем. Этот шаг мало кто делает (я сам так сделал только один раз =)) ) но польза от следующего действия огромна и позволяет сократить время программирования в 2 и более раз. Что это за шаг? Шаг разработки внутренней структуры самого приложения. Т.е. для каждой описанной нами ранее функциональности мы описываем из чего она будет состоять программно. Т.е. классы и для чего они нужны, взаимодействия между классами. После этого действия у нас все приложение будет уже описано, нам только останется создать все эти классы, а именно создать реализацию каждого конкретного класса, их методы.

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

15 февраля 2009 г.

Разработка службы Windows на Microsoft Visual Studio 2008 Express

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

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

Но как же быть, если мы пишем сайт с помощью Microsoft Visual Studio 2008 Express в которой нету проекта для создания службы. Покупать другую версию? Не всегда есть на это деньги, да и если нужно написать всего-то одну службу и все, то это не самый лучший выход. Самым лучшим выходом из этого положения будет создать шаблон приложения Windows сервиса и просто всегда им пользоваться. При этом нам не понадобиться ни новой IDE ни установки каких-то дополнений.

Дело в том, что все, что мы пишем под .NET Framework на любом языке содержится в самой среде. Т.е. для написания ЛЮБОГО приложения не понадобиться абсолютно ничего, кроме рук, головы и соответствующих знаний.

И так, для создания нашего шаблона, запустим Visual C# 2008 Express и создадим новый пустой проект.
File-New Project...->Empty Project

Теперь необходимо добавить нужные файлы и сборки.
Первым делом добавьте в созданный нами проект файл, который будет содержать полную информацию о сборке – Assembly Information File. Назовем его AssemblyInfo.cs. Сразу после добавления его в проект, его можно просто закрыть, так как ничего изменять в этом файле мы не будем.
Далее нужно добавить файл, содержащий весь код нашей службы. Для этого добавьте в проект простой класс с именем WindowsService.cs и отредактируйте его как показано в листинге 1.
Листинг 1.
using System;
using System.Collections.Generic;
using System.Text;

namespace WindowsService
{
public class WindowsService : System.ServiceProcess.ServiceBase
{
public WindowsService()
{
InitializeComponent();
}

private void InitializeComponent()
{

}
}
}

Не забудьте добавить в Reference сборку System.ServiceProcess.
Для этого щелкните правой кнопкой мышки по папке Reference и выберите пункт Add Reference.… На вкладке .NET найдите сборку System.ServiceProcess, выделите её и нажмите кнопку OK.
Теперь нам осталось добавить класс для регистрации службы. Для этого также добавим класс с именем ProjectInstaller.cs. Исходный код данного класса приведен в листинге 2.
Листинг 2.
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;

namespace WindowsService
{
[RunInstallerAttribute(true)]
public class ProjectInstaller : System.Configuration.Install.Installer
{
public ProjectInstaller()
: base()
{
InitializeComponent();
}

private void InitializeComponent()
{

}
}
}

Не забудьте добавить ссылку в раздел Reference на сборку System.Configuration.Install.
Теперь нам осталось только экспортировать проект как шаблон. Для этого выберите File-Export Template…
Перед нами появляется первое окно мастера экспорта, в котором нам предлагается выбрать одно значение из двух:
1.Project template – шаблон проекта, который нам и нужен
2.Item template – шаблон одного файла. Т.е. это один из тех шаблонов, которые мы видим, выбирая пункт Add New Item, когда работаем с текущим проектом.

Жмем Next и видим новое окно мастера, в котором нам предлагается выбрать:
Template Icon: иконку шаблона (она будет ассоциироваться с этим шаблоном при создании нового проекта). Я оставил по умолчанию.
Template name: Имя шаблона. Желательно указать все же имя, по которому можно понять, шаблон какого проекта мы создаем. В данном случае я указал WindowsService.
Template description: Описание шаблона. Я ничего не указывал.
Output location: Папка, в которой будет храниться шаблон. Это значение изменить нельзя, так что после создания шаблона лучше скопируйте данный шаблон в папку, которая точно останется целой даже после переустановке операционной системы, так как каждый раз создавать один и тот же шаблон, все же не так и весело.
Жмем кнопку Finish и все. Наш шаблон готов. Теперь вы можете писать службы Windows и не задумываться о том, что вам нужно покупать новую версию любимой программы.

13 февраля 2009 г.

Любимые программы

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

1. Microsoft Visual Studio 2008 Express. Моя основная среда разработки. Легкая, бесплатная и удобная.
2. Microsoft SQL Server 2008 Express.
3. Foobar 2000. По моему, самый лучший аудио плеер. Имеет множество сторонних компонентов, полностью настраивается под себя, качества звучания просто отменное.
4. Opera AC. Отличная сборка одного из популярнейших браузеров.
5. Bred 3. Самый замечательный редактор, который очень хорошо заменяет стандартный блокнот Windows.

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

9 февраля 2009 г.

ASP.NET: Хранение изображений в файловой системе.

При написании приложений ASP.NET у каждого программиста или команды программистов возникает вопрос: "Где хранить изображения? В базе данных или при помощи файловой системы?"

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

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

У каждого, кто пытается сохранять изображения в файловой системе, возникает один вопрос: "Как добиться оригинальности имен файлов?"

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

Первый: В каталоге Users создается подкаталог Avatars в который и закачиваются аватары по именам пользователей.
Пример:
/Users/Avatars/Admin.jpg
/Users/Avatars/mr_lolik.jpg
/Users/Avatars/vasja.jpg


Второй: Этот способ ни на много отличается от первого, всего-лишь в папке у каждого пользователя создается файл Avatar.jpg в котором хранится его аватар.
Пример:
/Users/Admin/Avatar.jpg
/Users/mr_lolik/Avatar.jpg
/Users/vasja/Avatar.jpg


Как же поступать с файлами, которые закачивает пользователь, например, для размещения в статьях или новостях? Тут можно размещать файлы в папке пользователя с именем состоящим из времени, когда он был закачен, например так 20081209.jpg. Здесь как видно было указано, что файл закачен 9 декабря 2008 года.

Но, что делать, если пользователь в этот день надумает закачать несколько файлов? Тут можно поступить опять двумя способами, либо добавлять префиксы с номером файла, например 20081209_1.jpg, 20081209_2.jpg, 20081209_3.jpg ... 20081209_n.jpg. Этот способ мне не нравится тем, что при закачке большого количества файлов, проверок на существование файла будет очень много, а именно ровно столько, сколько файлов было сегодня залито, что согласитесь не очень удобно.

Самым на мой взгляд удобный способ это сохранение файла по следующему шаблону: [Год][Месяц][День][Час][Минута][Секунда][Миллисекунда].[расширение файла], то есть файл может выглядеть как 200812092345012.gif

8 февраля 2009 г.

Microsoft объявляет о выходе первого пакета обновлений (SP1) для русской версии Visual Studio 2008

28 октября 2008 года компания Microsoft объявила о выходе русскоязычных версий всех редакций Visual Studio 2008, Библиотеки MSDN и сервера Team Foundation Server 2008. Сегодня мы рады сообщить вам о выпуске первого пакета обновлений (SP1) для всех редакций, в который вошли все изменения и дополнения, ранее доступные только в английской версии. Начиная с этого момента, все последующие выпуски Visual Studio будут выходить с минимальным запозданием по отношению к английской версии.
Больше информации...
Честно говоря, раньше относился немного с сарказмом к русским версиям различных сред разработки. Нет дело не в том, что я так уж хорошо знаю английский, нет скорее наоборот. Просто переводы всегда делали не профессионалы и порой даже не сама компания разработчик ПО, по этой причине после установки русификатора все начинало ужасно глючить и вылетать. По этой причине никогда не использовал переведенные версии сред разработки. Но сейчас смотря на то, что переводы Visual Studio делает сама Microsoft становится интересно. Может стоит скачать и посмотреть, что за зверь такой русская студия.
Русский MSDN я уже активно использую и очень доволен, так как уже не приходится достаточно долго сидеть и переводить, что же написано.

7 февраля 2009 г.

Новые сообщения в блоге

Что-то давно я не заходил в свой блог. Создавая его я думал, что начну писать в нем свои мысли об IT индустрии, да и просто обо всем, но что-то не получилось. То ли из меня плохой блогер, то ли у меня просто нету подходящих мыслей? А может это просто лень? Наверное так. Ведь мыслей много, даже слишком много, так что постараюсь писать почаще. Хотя бы просто для себя, так как читателей у этого блога похоже нету =).