#1
|
22.05.2006
От редакции
|
|
Аннотация: В последнее время все чаще слышны разговоры (в том числе и наши) о том, что рост производительности аппаратного обеспечения замедлился, а то и практически закончился. Действительно, в последнее время не видно столь существенного роста тактовых частот, к которому мы успели привыкнуть за прошедшие год...
Ключевые слова: Nemerle |
23.05.2006
Хорошие идеи: взгляд из Зазеркалья
|
Автор:
|
Никлаус Вирт
|
Перевод:
|
Сергей Кузнецов
|
Источники:
|
Good Ideas
|
|
through the Looking Glass by Niklaus Wirth
|
|
Computer
|
|
V. 39
|
|
No 1
|
|
January 2006
|
Материал предоставил:
|
CITForum.ru
|
|
Аннотация: Уважаемые читатели! Один из наиболее известных, авторитетных и заслуженных деятелей в области программирования профессор Никлаус Вирт опубликовал в январском номере журнал Computer очень интересную, по моему мнению, статью. Я не мог отказать себе в удовольствии пересказать ее, чтобы предложить получившийся текст вашему вниманию.
Ключевые слова: |
23.05.2006
Поиск работы в московском IT
|
|
Аннотация: Хочу предложить вам статью о прохождении собеседований в
популярных московских компаниях-производителях ПО. По моим
наблюдениям, там нет тех страхов, какими пугают молодых соискателей,
но есть много подводных камней, на которые можно нечаянно наступить. И
еще - не секрет, что спокойствие и уверенность это одни из самых
главных качеств на собеседовании. Зная, с чем предстоит встретиться во
время интервью, читатели RSDN смогут относиться к этому событию и
легче, и подготовленнее.
Ключевые слова: |
23.05.2006
Ещё один подход к сериализации на С++
|
|
Аннотация: “Вопросы сохранения данных из объектов, так или иначе, возникают у каждого разработчика”. Именно с этой фразы я начал первую статью посвещённую сериализации, и с этой фразы мне бы хотелось продолжить описание идеи использования карт для организации сериализации.
Если вы пишете на С++, то ваша программа скорее всего состоит из объектов классов, которые в своей совокупности образуют некую систему данных и кода, работающего с этими данныим. И практически всегда вы хотите в какой-то момент сохранить в том или ином виде эти данные – будь то результат многолетних вычислений программы или просто текущее состояние каких-то компонентов системы. А потом снова загрузить эти данные назад, в вашу программу, как будто бы и ничего не происходило. Или искажем отправить эти данные по сети, другой программе. И при этом, очень нехочетатся трартить много времени на программирование сохранения/загрузки, упаковку стрктур в каки-то изобретённые сегодня утром форматы, отладку всего этого, модификацию в связи с появлением в структурах данных новых полей, документирование, и прочую головную боль.
Подход, описаный ниже, я надеюсь, поможет многим сэкономить время и облегчить жизнь.
Ключевые слова: Serialization |
23.05.2006
Иерархические справочники с линейным временем доступа
|
|
Аннотация: Разработка иерархических справочников – достаточно часто встречающаяся задача в бизнес-приложениях. Существует достаточно много алгоритмов хранения дерева в реляционной модели. Но им свойственны те, или иные недостатки. Самый распространенный вариант, когда запись имеет ссылку на родительский ключ. Это один из наиболее неоптимальных алгоритмов, так как его сложно реализовать и он неоптимален по доступу. Единственный плюс, что некоторые БД поддерживают рекурсивные запросы, которые облегчают работу с такой схемой. Алгоритм Nested Set более оптимален, но обладает недостатком. Скорость вставки нелинейна, и затрагивает данные, которые не должны участвовать в транзакции. В то же время иерархические справочники можно сделать достаточно просто. Нужно просто воспользоваться классификатором.
Ключевые слова: dewey |
23.05.2006
Winlogon notification package
|
|
Аннотация: Рассматривается использование Winlogon notification package для обработки событий входа и выхода пользователей, включения и выключения операционной системы и некоторых других.
Ключевые слова: Winlogon notification package |
23.05.2006
Навигация по иерархиям и сетям в реляционных базах данных
|
|
Аннотация: В статье рассматриваются некоторые типичные задачи, связанные с иерархиями и сетями, а также способы навигации по этим структурам. Статья может оказаться полезной тем, кому приходится работать с иерархиями или сетями в реляционных базах данных, и кто столкнулся с необходимостью оптимизации выборок из этих структур.
Ключевые слова: |
23.05.2006
Nemerle
|
|
Аннотация: Производительность труда программиста в основном зависит от самого программиста. Однако даже самый опытный и знающий программист мало что может без подходящего инструмента. Эта статья открывает цикл статей об одном из таких инструментов, еще мало известном среди программистов, но очень многообещающем. Язык Nemerle, о котором пойдет речь в этих статьях, на первый взгляд очень похож на слегка улучшенный C#, но привносит многое из передовых исследовательских языков. Данная статья рассказывает об отличиях Nemerle от C# (как наиболее близкого языка)и является неформальным введением в язык.
Ключевые слова: nemerle |
23.05.2006
Метапрограммирование в Nemerle
|
|
Аннотация: Пример C++ показывает, что индустрии нужны системы метапрограммирования – даже достаточно причудливая система шаблонов широко используется для вычислений во время компиляции. Эта статья является исследованием возможного внедрения техники метапрограммирования в индустриальную среду в более чистой форме. Мы, таким образом, фокусируемся на том, чтобы сделать нашу систему легкой в использовании для программистов, как пишущих, так и использующих макросы.
Ключевые слова: nemerle |
24.05.2006
Синтаксический сахар или C++ vs. Nemerle :)
|
|
Аннотация: Данная статья явилось плодом размышлений автора над фразами то и дело произносимыми в отношении C++ «Зачем вводить в язык то, что реализуется библиотекой?» и «Язык должен включать только базовые вещи, а весь синтаксический сахар должен реализоваться в виде библиотек». Эта статья является сравнением того как эти фразы реализуются в языке Nemerle и чем эта реализация отличается от того что сделано в C++.
Ключевые слова: nemerle vs c++ |
23.08.2006
DataGridView. Новый контрол в составе Framework 2.0
|
|
Аннотация: Настоящая статья посвящена одному из самых мощных и сложных контролов входящих в состав второго Фреймворка, а именно контролу с именем DataGridView.
Ключевые слова: WinForms |
22.05.2006
[ANN]once — #1'2006
|
|
Аннотация: MPEG Audio Collection, Audio Tools Library, Frontah, Tagger, UniversalFront, Prof-UIS, Fox-Toolkit, wxWidgets, ZipArchive, TraceTool 6: The Swiss-Army knife of trace, Scintilla, Fast HTML syntax highlighting with the Rich Edit control
CCustomTabCtrl – MFC Tab Control, Cross-Platform GUI Programming with wxWidgets, Pocket PC Installer Using ActiveSync, HOWTO – Use Visual Studio 2005 for Qt Open Source Development, Subversion, TortoiseSVN.
Ключевые слова: MPEG Audio Collection, Audio Tools Library, Frontah, Tagger, UniversalFront, Prof-UIS, Fox-Toolkit, wxWidgets, ZipArchive, TraceTool 6: The Swiss-Army knife of trace, Scintilla, Fast HTML syntax highlighting with the Rich Edit control
CCustomTabCtrl – MFC Tab Control, Cross-Platform GUI Programming with wxWidgets, Pocket PC Installer Using ActiveSync, HOWTO – Use Visual Studio 2005 for Qt Open Source Development, Subversion, TortoiseSVN.
|
24.05.2006
Содержание CD к журналу
|
|
Аннотация: Содержание CD к журналу RSDN Magazine #1-2006
Ключевые слова: |
24.05.2006
Программное обеспечение от IBM
|
|
Аннотация: Дополнительный CD к RSDN Magazine #1-2006 с продуктами от IBM
Ключевые слова: |
#2
|
30.07.2006
От редакции
|
|
Аннотация: Микрософт нашел фатальный недостаток еще в одной отрасли индустрии. На этот раз - в инструментах для разработки игр. Надеюсь, вы поняли, какой? Правильно - их писали не они. Естественно, заметив это вопиющее безобразие, Microsoft решил его немедля исправить, и подошел к задаче с характерной для этой...
Ключевые слова: |
21.06.2006
Реализация активных объектов
|
|
Аннотация: В статье рассматривается такой способ организации параллелизма, который:
- не привязан к языку и платформе;
- хорошо масштабируется (от одного процесса до нескольких миллионов);
- требует минимальных ресурсов памяти;
- не требует системных ресурсов;
- обеспечивает простые механизмы взаимодействия параллельных процессов.
Ключевые слова: |
16.09.2006
Функциональное программирование для всех
|
|
Аннотация: Данная статья достаточно кратко и вполне доступно, используя примеры на Java (!), знакомит читателя с базовыми понятиями функционального программирования.
Ключевые слова: функциональное программирование, лямбда-исчисление, функции высшего порядка, карринг, ленивые вычисления, продолжение, сопоставление с образцом, замыкание |
06.06.2005
DataGridView. Новый контрол в составе Framework 2.0. Часть 2.
|
|
Аннотация: Вторая часть статьи про DataGridView.
Ключевые слова: DataGridView,WinForms |
23.06.2006
LPC
|
|
Аннотация: Данная статья является обзором недокументированного механизма LPC, в ней продемонстрированы основные моменты, необходимые для реализации простейших LPC-клиента и LPC-сервера. LPC как механизм передачи сообщений не всегда превосходит свои аналоги – именованные каналы, сокеты, синхронизированный доступ к разделяемой памяти, и т.д. И всё же, могут возникнуть ситуации, когда его использование выглядит достаточно привелекательным – идеальным примером явлется передача данных по инициативе драйвера пользовательскому приложению.
Ключевые слова: LPC |
30.07.2006
Анонимные методы в C# 2.0
|
|
Аннотация: Статья представляет новое свойство языка C# версии 2.0, называемое анонимными методами.
Ключевые слова: anonymous method, C#, delegate
|
07.10.2006
Простой путь к созданию многоязычных приложений
|
|
Аннотация: В данной статье рассматривается один из подходов к созданию многоязычных приложений при использовании отдельных языковых библиотек (resource-only/satellite dll). Описаны способы их создания и подключения к основному приложению. Кроме этого, предложена миниатюрная библиотека для выбора языка прямо из пользовательского интерфейса.
Ключевые слова: Lingobit |
26.09.2006
WinInet: как правильно скачать файл по протоколу HTTP
|
|
Аннотация: Статья призвана исправить небольшие упущения, допущенные в уже существующих на RSDN статьях, и облегчить начальное изучение WinInet и во многом дублирует уже существующие.
Ключевые слова: wininet |
09.12.2006
Макросы в Nemerle
|
|
Аннотация: В статье на базе практических примеров разбирается что такое макросы Nemerle, что они могут и как их создавать.
Ключевые слова: Nemerle |
13.06.2006
Почему ваш код – отстой
|
|
Аннотация: Если Вы программируете как большинство, и даже, вероятно, все программисты (скромненько включая автора этой статьи), то ваш код – отстой. Возможно, не целиком; возможно, не всегда, но наверняка какая-то его часть и в какой-то момент времени.
Ключевые слова: |
30.07.2006
Работа с СУБД в IBM WebSphere Community Edition
|
|
Аннотация: Статья рассказывает об использовании IBM WebSphere при создании систем, работающих с СУБД. Рассматриваются различные способы создания пулов соединений с СУБД и использование этих пулов.
Ключевые слова: WebSphere |
25.07.2006
Model-View-Controller в .Net
|
|
Аннотация: В наше время сложно найти разработчика, который не слышал бы о паттерне под названием Model-View-Controller или сокращенно MVC, что вообщем не удивительно, с задачей отделения данных от их представления сталкиваешься практически на каждом проекте. Однако, как ни странно, столь же сложно найти разработчика, который действительно четко себе представляет, что такое на самом деле паттерн MVC и как его можно реализовать в конкретной ситуации. Основная причина такой неоднозначности в том, что по историческим причинам данной аббревиатурой принято называть не один единственный паттерн, а целое семейство паттернов, призванное отделять представление от модели. Произошло это в силу разных обстоятельств. Отчасти из-за того что MVC не просто паттерн, а довольно объемное архитектурное решение, в котором каждый новый разработчик видел что-то свое и ставя во главу угла особенности своего проекта, реализовывал его по своему. Отчасти же из-за возраста данного паттерна, во времена его изобретения и сами приложения, и графические интерфейсы были существенно беднее чем в наше время, с тех пор они сильно эволюционировали и вместе с ними изменялся и сам паттерн. Данная статья посвящена также одному из паттернов входящих в это семейство, причинам его появления, особенностям применения, преимуществам и недостаткам, а так же описанию сопутствующих паттернов.
Ключевые слова: MVC |
24.07.2006
[ANN]once — #2'2006
|
|
Аннотация: SharpDevelop, Debugging Tools for Windows— версия 6.6.7.5, NSIS Form Designer, GridinSoft Notepad, Line Counter – Writing a SharpDevelop AddIn, Version Control for the Standalone Programmer - Part 1, SWFLIB – a free Flash authoring library, C++ XML Serialisation, with Compression, xhtml_gen, FreeImage, SmartWin++.
Ключевые слова: |
21.06.2006
Сохранение размеров и расположения формы при помощи Application Settings
|
|
Аннотация: Довольно часто от приложений Windows Forms требуется способность запоминать расположение и размер форм при закрытии и восстанавливать их при последующем открытии. Application Settings в .NET 2.0 позволяют реализовать это очень просто, но, к сожалению, получается при этом не совсем то, что нужно. Частое появление этого вопроса на внутренних и внешних форумах Microsoft и сподвигло меня написать эту заметку.
Ключевые слова: Application Settings |
02.09.2006
Содержание CD к журналу
|
|
Аннотация: Статьи и форумы rsdn.ru в chm формате.
Ключевые слова: |
#3
|
06.12.2006
От редакции
|
|
Аннотация: Осень в IT - традиционно время событий. Главным событием этой осени принято считать выход Microsoft Vista. Однако есть и другие, не менее значимые событияя, незаслуженно остающиеся в тени.
Ключевые слова: |
06.12.2006
Моделирование программно-аппаратных ''реактивных'' систем раскрашенными сетями Петри
|
|
Аннотация: В статье рассматривается ряд вопросов, связанных с моделированием программно-аппаратных архитектур систем реального времени, имеющих множество параллельно выполняемых однотипных процессов. В качестве инструмента моделирования раскрашенными сетями Петри (Coloured Petri Net) используется программа CPNTools.
Ключевые слова: Coloured Petri Net, Petri, Петри |
06.12.2006
Встраиваем net send
|
|
Аннотация: Часто возникает желание встроить в свою программу что-нибудь, к чему пользователи привыкли или, по крайней мере, не боятся. Так, может захотеться встроить рассылку уведомлений/сообщений по сети, использующую механизм "net send".
Ключевые слова: net send, NetMessageBufferSend |
06.12.2006
Начала работы с Erlang
|
|
Аннотация: В далеком 1985-м году группа разработчиков из компьтерных лабораторий компании Ericsson решила создать язык, который идеально бы подхо-дил для решения задач в телекоме. Шесть лет спустя, в 1991-м, миру был представлен такой язык – Erlang.
С 1992 года Erlang начал применяться в компании Ericsson для разработки телекомуникационного оборудования. Например, бoльшая часть функцио-нальности флагманского продукта компании, свитча AXD-301, реализована с использованием Erlang-а.
В 1998 году были опубликованы исходные коды языка и его библиотек. С тех пор Erlang стал не просто языком для телекоммуникационных прило-жений, а полноценным языком общего назначения. Ericsson до сих пор развивает Erlang, и его бесплатная версия собирается из тех же исходников, что и коммерческая.
Это – простая обучающая статья, посвященная началам работы с Erlang.
Ключевые слова: Erlang |
06.12.2006
Обработка ошибок в Erlang
|
|
Аннотация: Выполнение функции в Erlang может привести к одному из двух результатов – или функция вернет значение, или же она сгенерирует исключение.
Ключевые слова: Erlang |
06.12.2006
Borland: снова Turbo
|
|
Аннотация: Хотя прошло всего лишь чуть меньше года с тех пор, как была выпущена Borland Developer Studio 2006, фирма предложила новое решение для тех, кому Developer Studio слишком сильно бьёт по карману. Продукты серии Turbo, которые представлены пакетами Turbo Delphi for Win32, Turbo Delphi for .NET, Turbo C++ и Turbo C#, отличаются более умеренной ценой. Однако это, конечно же, отразилось и на функциональности. Именно об этом мы с вами и поговорим в этой статье – о возможностях продуктов серии Turbo и о том, что же выбрать – Borland Developer Studio 2006 или Turbo Delphi/C++/C#. А еще о том, стоит ли переходить с BDS 2006 на один из продуктов серии Turbo.
Ключевые слова: turbo |
06.12.2006
Развитие шаблонов дизайна сайтов. Верифицируемые шаблоны.
|
|
Аннотация: На данный момент существует много решений для создания сайтов с подгружаемыми шаблонами дизайна - как широко используемых (Smarty, Liquid Ruby template engine, Contemplate, Expose и пр.), так и созданных самостоятельно (например, портал Blogger.com использует собственный формат шаблонов дизайна). В данной статье рассматриваются те или иные недостатки существующих систем, а затем предлагается решение, основанное на новых возможностях платформы ASP.NET 2.0.
Ключевые слова: |
09.08.2006
Секреты разработки CSP для Windows
|
|
Аннотация: В предлагаемой статье рассматриваются недокументированные особенности встраивания криптографических функций в ОС Windows. Статья будет интересна многим, кто пытается реализовать поодержку нестандартных крипто-алгоритмов в Windows.
Ключевые слова: CSP |
06.12.2006
Управление ошибками на практике
|
|
Аннотация: В этой статье я расскажу о своем опыте внедрения формализованного процесса управления ошибками.
Основная задача статьи – показать важность организации такого процесса и дать начинающим руководителям разработки набор рекомендаций по его построению.
Ключевые слова: |
06.12.2006
Введение в ADO.Net 2.0 на примере использования OLE DB-провайдера для Firebird
|
|
Аннотация: В данном обзоре описан один из способов работы с базой данных Firebird в среде .Net Framework 2.0 при помощи управляемого Ole Db провайдера
Ключевые слова: ADO .Net, Firebird, Interbase, IBProvider |
06.12.2006
S.M.A.R.T. + Delphi
|
|
Аннотация: Большинство современных жестких дисков поддерживают технологию S.M.A.R.T. – Self-Monitoring, Analysis and Reporting Technology (Технология самодиагностики, анализа и отчёта), благодаря которой возможно предсказать появление сбоев в работе жесткого диска, и позволить пользователю своевременно сделать резервную копию диска или же полностью его заменить.
Существует множество программ, дающих возможность следить за состоянием винчестера посредством технологии S.M.A.R.T., однако большинство из них – платные.
В своей статье я постараюсь рассказать о том, как встроенными средствами операционной системы Windows и с помощью языка Object Pascal вы сможете написать программу подобного рода и потом использовать её абсолютно бесплатно.
Ключевые слова: SMART |
06.12.2006
Паттерн Посетитель
|
|
Аннотация: Очень часто в программах встречаются сложные структуры, представляющие собой дерево или граф, состоящий из разнотипных узлов. И, конечно же, при этом имеется необходимость обрабатывать этот граф. Самое очевидное решение - добавить в базовый класс виртуальный метод, который перекрыть в наследниках для выполнения нужного действия и осуществления дальнейшей навигации по дереву.
Однако у этого приема есть серьезный недостаток: в нем структура данных оказывается увязанной с обрабатывающими ее алгоритмами. Если нам понадобится алгоритм, отличный от реализованного, то придется добавлять еще один виртуальный метод. Еще хуже, если классы, составляющие дерево, содержатся в недоступном для модификации коде.
Одним из вариантов решения проблемы высокой связности в данном случае является паттерн Посетитель.
Ключевые слова: Visitor |
06.12.2006
PropertyGrid FAQ
|
|
Аннотация: В данном FAQ собраны ответы на некоторые вопросы, возникающие при первом применении PropertyGrid.
Ключевые слова: PropertyGrid |
06.12.2006
[ANN]once — #3'2006
|
|
Аннотация: DBdoc, Image Viewer Utility, WTL Helper, Sandcastle Help File Builder, WinMerge, Inno Setup, Subversion, TortoiseSVN, Complex Evolution, MDI TabControl, Customizing OpenFileDialog in .NET, CCalendarCtrl, Report Generator, ProfUIS, FreeImage, wxWidgets.
Ключевые слова: |
09.12.2006
Содержание CD к журналу
|
|
Аннотация: Статьи и форумы rsdn.ru в chm формате.
Ключевые слова: |
#4
|
03.03.2007
От редакции
|
|
Аннотация: Новый год – традиционно время великих распродаж. На большинстве магазинов вывешиваются загодя припасенные транспаранты «скидка», а толпы покупателей, пользуясь бестолковыми зимними каникулами, устремляются к прилавкам и сметают все подряд. Например, продающиеся за бесценок горные лыжи, невзирая на п...
Ключевые слова: |
03.03.2007
Современные процессы разработки программного обеспечения
|
|
Аннотация: Процессы и методологии разработки программного обеспечения, использующиеся в реальных проектах, весьма разнообразны. Данная статья рассказывает о наиболее распространенных процессах и методологиях.
Ключевые слова: XP,RUP,waterfall |
23.11.2006
Sandcastle
|
|
Аннотация: Sandcastle - проект, цель которого - предоставить разработчикам библиотек классов по всему миру средство простого создания точной и информативной документации общепринятого вида.
Ключевые слова: Sandcastle |
03.03.2007
Мягкое введение в Haskell
|
|
Аннотация: Задача данного материала – обеспечить «мягкое» введение в программирование на Haskell для имеющих опыт программирования, по крайней мере, на одном языке, желательно функциональном (даже если это «почти функциональный» язык, такой как ML или Scheme).
Ключевые слова: haskell |
05.05.2007
Тестирование программных средств
|
|
Аннотация: В статье рассмотрены теоретические и практические аспекты основных методов и критериев тестирования программного обеспечения
Ключевые слова: обеспечение качества программных средств, контроль качества прогаммных продуктов, тестирование программных средств |
03.03.2007
Ruby-новые грани
|
|
Аннотация: Данный материал рассчитан на более-менее опытных программистов, уже использующих другие языки про-граммирования, но желающих понять, что же такого особенного в языке Ruby, а тех, кому вольно или неволь-но приходится изучать Ruby — в качестве еще одного русскоязычного источника информации о Ruby. Несколь-кими словами данную статью можно охарактеризо-вать как «глубокое погружение в Ruby для тех, кто не прочитал Programming Ruby».
Ключевые слова: rubi |
03.03.2007
Функциональное программирование в Nemerle
|
|
Аннотация: Язык программирования Nemerle заинтересовал многих в первую очередь своей мощнейшей подсистемой мак-росов. Однако и без них Nemerle предоставляет ряд су-щественных улучшений по сравнению с традиционными, императивными языками программирования (такими как Java, C# и C++).
Nemerle, кроме традиционного императивного програм-мирования, поддерживает функциональное программи-рование. Это выражается в наличии конструкций, упро-щающих манипуляцию функциями, построение и анализ сложных структур данных и т.п.
К сожалению, если вы не использовали возможности, присущие функциональным языкам ранее, то вам будет трудно оценить, насколько Nemerle может оказаться вам полезным в реальной повседневной работе. Данная статья призвана в неформальной форме продемонс-трировать это.
Ключевые слова: nemerle |
12.01.2007
Багопедия: Эти забавные насекомые...
|
|
Аннотация: Привет <img border='0' width='15' height='15' src='../Forum/images/smile.gif' />!<br />
<br />
Читая о концепции программирования по контракту, наткнулся на довольно глупенькое упражнение с очевидным "мотыльком, застрявшим между контактами". Как оказалось погодя, у этого перепончатокрылого было даже имя особое — Heisenbug. Копнул немного глубже и (п)оказалось интересно...<br />
<hr />...
Ключевые слова: |
03.03.2007
Содержание CD к журналу
|
|
Аннотация: Статьи и форумы rsdn.ru в chm формате.
Ключевые слова: |