Горячие клавиши Visual Studio .NET

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

  • Ctrl + - — перемещение, навигация курсора
  • Ctrl + Shift + — в обратном порядке
  • Ctrl + ] — перемещение от начала к концу операторных скобок { }
  • Ctrl + K, Ctrl + K — создать закладку в коде
  • Ctrl + K, Ctrl + N — к следующей закладке
  • Ctrl + K, Ctrl + P — к предыдущей
  • Ctrl + K, Ctrl + L — удалить все закладки
  • Ctrl + G — перейти к строке с номером (подсветку номеров строк можно включить в Tools -> Options -> Text Editor -> Select your editor(or All Languages) -> Display -> Line Numbers)
  • Ctrl + M, Ctrl + M — скрыть и раскрыть код внутри текущего блока
  • Ctrl + M, Ctrl + O — скрыть код для всего файла
  • Ctrl + M, Ctrl + L — раскрыть код для всего файла
  • Ctrl + M, Ctrl + P — не показывать логическую структуру файла (Ctrl+M, Ctrl+O вернуть обратно)
  • Ctrl + Space — вызвать помощник кода (intellisense)
  • Ctrl + Alt + X — показать Toolbox
  • Ctrl + DownArrow или UpArrow — удобное перемещение по коду
  • Ctrl + K + C и Ctrl + K + U — закомментировать и раскомментировать код
  • Ctrl + Shift + Space — показать синтаксис метода

Другие фичи и полезности можно узнать на Visual Studio Hacks и здесь. О подмеченных Вами и остальных клавишах прошу сообщать…

Posted in .NET. 2 Comments »

Выбор аппаратной платформы…

Один доцент постоянно талдычит нас одним и тем же: «Вы-аналитки. Вы должны ориентироваться в современных машинных архитектурах. Вам надо научиться выбирать аппаратную платформу, потому что скорость обработки данных и выполнения прикладных программ является ключевым фактором для бизнеса. Поэтому темой сегодняшней лекции будет микрокоманда выборки операндов из памяти в процессорах третьего поколения». Я думаю Вы поняли, насколько глубоко мы изучим современные аппаратные платформы=).

Я задумался(что уже само по себе здорово): «На основе каких критереев, каких подходов стоит выбирать аппаратную платформу? По каким принципам, корпорации выбирают или должны выбирать аппаратную составляющую своей IT-инфраструктуры?» Конкретных ответов на все вопросы я не нашел, а нашел статью «Оптимизация процесса выбора аппаратной платформы для критических бизнес-приложений» и решил познакомить Вас с самым интересным. И так как ссылка на Elashkin Research при использовании материалов сайта обязательна, с удовольствием ставлю ее — www.elashkin.com:

Обязательной операцией при любом внедрении или изменении существующей информационной системы является оценка необходимого быстродействия системы и планирование необходимых вычислительных ресурсов для ее реализации. В настоящее время не существует точного решения этой задачи в общем виде, и если, несмотря на ее сложность и стоимость, такой алгоритм будет предложен каким-либо производителем, то даже небольшие изменения в аппаратной части, версии программного обеспечения, конфигурации системы или количестве или стандартном поведении пользователей приведут к появлению значительных ошибок. Тем не менее существует достаточное количество способов оценить необходимую для достижения требуемой производительности конфигурацию программного и аппаратного обеспечения. Все эти способы могут применяться в процессе выбора, но потребитель должен понимать их области применения и ограничения. Большинство существующих методов оценки производительности основывается на том или ином типе тестирования. Можно выделить два основных типа тестирования: компонентное и интегральное. При компонентном тестировании проводится тестирование отдельных компонентов решения, начиная от производительности процессоров или подсистем хранения информации до тестирования производительности сервера в целом, но без полезной нагрузки в виде того или иного бизнес-приложения. Интегральный подход характеризуется оценкой производительности решения в целом, как его программной, так и аппаратной частей. При этом может использоваться как бизнес-приложение, которое будет использовано в конечном решении, так и некоторые модельные приложения, эмулирующие некоторые стандартные бизнес-процессы и нагрузки. В основе классификации тестов компании Elashkin Research лежит сравнение аппаратного и программного обеспечения, использованного в тестах и планирующегося к установке у заказчика. В соответствии с этой классификацией можно выделить следующие типы тестов:

Таблица

Остановимся подробнее на каждой группе тестов. Существует огромное число универсальных тестов (SPECint2000 для операций, ориентированных на целочисленные вычисления, SPECfp2000 для операций с плавающей точкой и т. п.), но наиболее известными из них являются тесты TPC (Transaction Processing Performance Council – Совета по обработке транзакций). TPC является независимой некоммерческой организацией, создан- ной для исследования обработки транзакций и производительности систем управления базами данных (СУБД) и распространения объективной и воспроизводимой информации о производительности в тестах TPC для компь- ютерной индустрии. Наиболее используемые в индустрии тесты этой организации: TPC-C (тесты по обработке транзакций) и TPC-H (запросы к хранилищам данных). Сама процедура проведения тестов включает четкую стан- дартизацию и обязательное проведение аудита независимой сертифицированной компанией. С другой стороны, сами тесты являются исключительно упрощенными и значительно отличаются от реальных систем. С нашей точки зрения, эти тесты дают исключительно важную информацию для сравнения различных аппаратных и программных решений, позволяют сравнивать их между собой, но не применимы для выбора конкретной системы для решения задачи заказчика. Специализированные тесты гораздо более соответствуют действительности. В этих тестах используется программное обеспечение, которое может применяться в проекте. Наиболее известны тесты SAP benchmark. При тестировании по методике SAP происходит тестирование работы всех систем и подсистем: процессоров, вводавывода, сетевого трафика, обработки ошибок и других. Каждый SAP Standard Application Benchmark состоит из набора исполняемых сценариев, симулирующих типичные транзакции и бизнес-процессы, соответствующие обычным сценариям работы с системой. SAP предлагает набор тестовых данных для проведения испытаний. Для того чтобы тесты производительности SAP соответствовали реальным условиям эксплуатации и могли использоваться для сайзинга, в них симулируется поведение клиента, заполняющего стандартные формы. Каждому такому симулированному клиенту задается время задержки в 10 секунд перед выполнением очередного шага в диалогах, что соответствует среднему реальному времени размышления живых опытных операторов. Во время выполнения тестов число одновременно работающих симулированных клиентов непрерывно возрастает до тех пор, пока время отклика системы в диалоговом режиме не превысит установленные спецификацией на тесты 2 секунды. Такая нагрузка намного больше соответствует реальным системам, чем нагрузка в тестах TPC, т. к. учитывает тот факт, что приемлемое время отклика системы более важно для работы, чем общее число проведенных транзакций. Это сравнительно небольшое изменение оказывает решающее влияние на настройки системы и на нагрузку всех ее компонентов, делая ее максимально близкой к реальной работе пользователей. В результате чего специализированные тесты, и особенно SAP benchmark, лучше подходят для оценки производительности серверных платформ. В связи с направленностью тестов на понимание их результатов людьми, принимающими решения и не обязан- ными разбираться в технических деталях и терминах, результатом теста является число полностью обработан- ных бизнес-операций. Такими операциями могут быть: число введенных заказов, число произведенных товаров, число заказов на сборку и т. п. В целом такие тесты гораздо более приближены к реальной жизни, но также обладают рядом недостатков. В первую очередь это небольшое количество приложений, для которых разработаны такие тесты. Кроме SAP benchmark, можно отметить Oracle Applications Standard Benchmark, тесты PeopleSoft, Siebel и ряд других приложений. Если планируется использовать другие приложения или нестандартные аппаратные и программные приложения, то эти тесты также мало информативны. Кроме того, конфигурация аппаратных средств, как и в случае тестов TPC, ориентирована на достижение максимальной производительности и отличается от тех конфигураций, которые будут использованы в реальном проекте.

В яблочко

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

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

Слово авторам:

«Производительность систем — один из ключевых аспектов функционирования информационной инфраструктуры. Однако это одна из наиболее сложных и комплексных проблем. Многие сложные моменты лежат в области тонкого взаимодействия программных и аппаратных компонентов систем и для их понимания недостаточно опыта работы только с программным или аппаратным слоем. К сожалению, число специалистов, понимающих глубинные процессы в таких системах невелико, притом, что только за счет глубинной оптимизации можно достичь роста производительность в десятки, сотни и даже тысячи процентов. Влияние грамотного выбора платформы и ее оптимизации на экономические параметры функционирования систем и возврат инвестиций трудно переоценить, но сложившаяся в индустрии практика выбора программно-аппаратных платформ и их настройки весьма далека от совершенства. Это тем более удивительно, что в открытом доступе находится огромное количество фактической информации о производительности различных систем и результатов тестов, но для того чтобы ее можно было использовать необходимо понимать условия и принципы тестирования, сущность процессов, происходящих в таких системах, и ограничения и достоинства каждого метода…» Михаил Елашкин, директор компании Elashkin Research

«Особенностью современного подхода к ИТ со стороны бизнеса является то, что ИТ инфрастуктура более не является вспомогательной, затратной. Сегодня она есть часть самого бизнеса. Мы видим, как заказчики перестают относиться к нашим услугам с позиции «сервер с тем или иным количеством процессоров, объёмом оперативной памяти, дисков и т.д». Они ставят нам теперь совсем иные задачи. «Мне нужно обрабатывать 25000 документов в час». «Мне нужно, что бы мы могли запустить 30 обработчиков одновременно». «Мне нужно поддерживать в оперативном режиме 28 отделений» — вот типичные требования современного бизнеса. Как мы можем сказать, что данное оборудование удовлетворяет требованиям заказчика? Разумеется, не из результатов отраслевых тестов. Наиболее точную оценку мы можем получить из результатов проведения нагрузочных испытаний. Это работа для настоящих профессионалов, глубоко разбирающихся в прикладных и системных программных средствах, тонко чувствующих аппаратную часть. В нашей компании существует специализированная экспертная группа, занимающаяся тестированием прикладных программных средств. Только на основании её экспертных оценок мы можем гарантировать заказчику, что предлагаемое решение справится с возложенной на неё задачей…» Вячеслав Елагин, компания Ай-Теко, директор Центра компетенции.

PS: я конечно не знаю как это переводится с французкого, но очень смешно

ICQ-анкеты или что девушки пишут о себе…=)

Где-то читал я, что среднестатистический российский блоггер это 21-летняя девушка, учащаяся ВУЗа, то есть количество постов и блогов с содержанием типа: “Ой, накрасилася я…”, “Я, я, я и он. Он где-то рядом. Может ты. Принц, о где ты голубоглазенький?…” или “Девчонки, не берите Эйвон, такое г. - я себе полачила, а он слез…” превалирует над остальными=). Вообщем, конечно девушки и компьютеры вещи совместимые, но есть такие исключения=). Это я к тому, что девушки очень старательны, прилежны и усидчивы, особенно, в том что касается анкеток в Нете или других поводов написать о себе. В ICQ есть такая фишка: можно заполнить раздел О себе, написав там чем увлекаешься или что-нибудь еще. Конечно, не все заполняют этот раздел, но некоторые девушки просто жжарятт=)(with my comments):

Жаль, что сказок в жизни не бывает…

мне тоже…

ВРЕДИНА!!!!!!!!!!!!!!!!!!!!!!!!!!!и этим все сказано

               ???????????????????

Никто не достоин твоих слез! А тот, кто достоин, никогда не заставит тебя плакать. /Ремарк/

такие все умные

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

я оригинален и исключителен

Собачник- это ведь не просто слово…
Собачник- это состояние души!
Собачник понимает каждый вздох и шорох,
Взгляд, взмах хвоста, движенье головы…
Собачник, если заболеет, знает,
Что не нужны ему врачи…
Есть лекарь дома - он залижет,
Собой согреет раны,
Что ноют по ночам в груди…

жаль девушку

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

обалдеть

День - это маленькая жизнь, и надо прожить ее так, будто ты должен умереть сейчас, а тебе неожиданно подарили еще сутки.

обалдеть снова

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

и где они только находят такие афоризмы

ну и классика напоследок:

Одним словом- я лялечка=))

PS: кто хочет найти новые афоризмы, узнать как тяжело живется нашим девчонкам советую искать расширенным поиском в вашем icq-клиенте…

50 ресурсов для блоггера…

Привожу список килоинтересных, мегаполезных, гигапопулярных, тераценнных и откровенно стыренных ссылок на различные иноязычные ресурсы, которые пригодятся любому изучающему блогологию (блоггику, блоггинг - что только не придумают рублоггеры=)) и пытающемся сделать свой постосборник как можно интересней(dumau chto angliiskii vam ne pomexa):

Блоги/Статьи

  1. Introduction to Blogging
  2. Problogger - A blog that helps bloggers to add income streams to their blogs.
  3. Copyblogger - Copywriting tips for your blog.
  4. 21 Surefire Tips for a Successful Blog Launch
  5. Scobleizer - Robert Scoble’s blog, one of the authors of Naked Conversations.
  6. 5 Quick and Easy Ways To Stop Blog Spam Before It Hits Your Blog - Shoe Money breaks down how to fight spam before it hits.
  7. 10 Techniques to Get More Comments on Your Blog
  8. Writing for the Web - Detailed 6 page pdf that covers writing for the web.
  9. 10 Sure-Fire Headline Formulas That Work - So, you’re seeing too many of those “how to” and list headlines, and want to try a few different angles? Let’s move beyond those common headline formulas you see over and over, and add some new blood to your attention-grabbing arsenal.
  10. 7 More Sure-Fire Headline Templates That Work
  11. Tips to Better Blogging
  12. Structured Blogging - Structured Blogging is all about giving bloggers the tools to create and syndicate structured information, such as reviews and events.
  13. Blogging Pro - News, plugins and themes for blogging applications.

Блог-платформы

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

  1. WordPress
  2. Blogger
  3. Movable Type
  4. TypePad
  5. Vox
  6. LiveJournal
  7. Text Pattern
  8. Boast Machine
  9. Blog.com
  10. B2evolution
  11. pMachine

Дизайн/Шаблоны для блогов(шкурки)

  1. Weblog Usability - Top 10 blog design mistakes.
  2. Blog Tutorial - Tips for blog templates & blog design in Photoshop.
  3. Blog Interface Design 2.0
  4. WordPress Theme Browser - Free WordPress themes for your blog.
  5. Comprehensive list of 980+ Free WordPress 1.5 and 2.0 Themes / Templates available for download
  6. Blog Layout Styles - List of free blog designs for Blogger, TypePad, WordPress, and MySpce.
  7. Blog Credibility and Blog Design - How the design of a blog affects credibility.

Оптимизация/Раскрутка

  1. 21 Tactics to Increase Blog Traffic
  2. WordPress and SEO - Step by step guide to optimizing your WordPress blog for search engines.
  3. How To Build Traffic To Your Blog
  4. Building blog traffic for newbies
  5. How To: Boost Your Blog Traffic - Many first time bloggers automatically assume that once their blog is setup and they put a few posts on it, they will get some hits and regular readers. This is quite untrue. You won’t get any traffic if no one knows about your website.
  6. Search Engine Optimization For Blogs
  7. Blog Directory - Directory filled with blogs, a great way to improve your link popularity.
  8. Ping-o-Matic - Free service that pings blog search engines.

Корпоративный блоггинг

  1. Corporate Blogging Overview - Wikipedia entry on corporate blogging.
  2. Internal Corporate Blogging
  3. Corporate Blogging - Facts, news, interviews and discussion on corporate and business blogging.
  4. Corporate Blogging: Is it really worth the hype? - Detailed 72 page PDF file that covers everything on corporate blogging.
  5. Seven rules for corporate blogging
  6. Six Tips for Corporate Bloggers - Business Week breaks down 6 things that corporate blogs must do to be successful.

PS: давно хотелось увидеть свой блог в браузере Mac’a - Safari и оказалось, что http://browsershots.org/ делают скриншоты Ваших сайтов. Просто кул какой-то=)

…купаться утренней зарей в кристалльных водах Хуанхэ…