Для каждого пользователя персонального компьютера рано или поздно наступает такой момент, когда возможностей имеющейся в его распоряжении техники становится недостаточно. Накопитель на магнитном диске переполнен, для последней версии программы вёрстки VENTURA PUBLISHER не хватает основной оперативной памяти, а графический редактор DESIGNER или транслятор Microsoft Quick C на вашей машине работают слишком медленно. Да и дискет не хватает для архива, который что-то слишком увеличился в размерах за последнее время.
Данное руководство описывает язык программирования Си, определенный 31 октября 1989 г. в соответствии с проектом, утвержденным в ANSI в качестве Американского национального стандарта для информационных систем: Язык программирования Си, X3.159-1989 ("American National Standard for Information Systems - Programming Language C, X3.159-1989"). Это описание - лишь один из вариантов предлагаемого стандарта, а не сам стандарт, однако мы специально заботились о том, чтобы сделать его надежным руководством по языку.
Настоящий документ в основном следует общей схеме описания, принятой в стандарте (публикация которого в свою очередь основывалась на первом издании этой книги), однако в организационном плане есть различия. Если не считать отклонений в названиях нескольких продуктов и отсутствия формальных определений лексем и препроцессора, грамматика языка здесь и грамматика в стандарте эквивалентны.
Довольно часто задается вопрос - "как кабеля подвешиваются между домами"? Ответ прост - любую работу делают люди. И в строительстве "воздушек" (подвесных кабельных линий) то же нет никаких особых сложностях, все будет понятно из примеров.
Поэтому материал, изложенный ниже, является скорее списком практических работ, а не законченным руководством. Тем не менее, некоторые попытки обобщения опыта прокладок все же сделаны - вам судить о успехе этого начинания.
Нужно сказать заранее, что не все способы одобрит инспектор по технике безопасности, и прочие официальные органы. Однако, похожим способом в России уже несколько десятилетий монтируются сети кабельного телевидения, радиофикации, и Ethernet не будет исключением. Слишком далеки правила от реальности.
Однако, это не значит, что нормы не надо знать, совсем наоборот. Поэтому вопросам согласования целиком посвящена одна из следующих глав. Кратко - прокладка подвесных кабельных линий - это строительство. На него требуется сначала получить согласование места (скажем, в районной администрации, управе, ДЕЗе, РЕМПе). Затем заказать проект. Потом можно строить (формально должна выполнять лицензированная организация). Если сеть коммерческого назначения - то предстоит сдача с участием УГНСИ (по приказу № 113).
CVS - это система контроля версий. Используя ее, вы можете вести историю ваших файлов с исходными текстами.
Например, иногда при определенном изменении в коде могут появиться ошибки, которые вы не сможете обнаружить в течение длительного времени. С помощью CVS вы легко можете обратиться к старым версиям, чтобы точно выяснить, что именно привело к ошибке. Иногда это сильно помогает.
Конечно, вы можете хранить каждую версию каждого файла, которые вы создаете. Это будет стоить вам невероятного объема дискового пространства. CVS хранит все версии файла в одном файле таким образом, что запоминаются лишь изменения между версиями.
CVS также поможет, если вы являетесь членом группы разработчиков одного проекта. Очень легко попортить чужие изменения, если только вы не крайне аккуратны. Некоторые редакторы, такие как GNU Emacs, стараются проследить, чтобы два человека не изменяли одновременно один и тот же файл. К сожалению, если кто-то использует другой редактор, эта предосторожность не сработает. CVS решает эту проблему, изолируя разработчиков друг от друга. Каждый работает в своем собственном каталоге, а затем CVS объединяет законченные работы.
В октябре 1981 года Японское министерство международной торговли и промышленности объявило о создании исследовательской организации — Института по разработке методов создания компьютеров нового поколения (Institute for New Generation Computer Technology Research Center). Целью данного проекта было создание систем обработки информации, базирующихся на знаниях. Предполагалось, что эти системы будут обеспечивать простоту управления за счет возможности общения с пользователями при помощи естественного языка. Эти системы должны были самообучаться, использовать накапливаемые в памяти знания для решения различного рода задач, предоставлять пользователям экспертные консультации, причем от пользователя не требовалось быть специалистом в информатике. Предполагалось, что человек сможет использовать ЭВМ пятого поколения так же легко, как любые бытовые электроприборы типа телевизора, магнитофона и пылесоса. Вскоре вслед за японским стартовали американский и европейский проекты.
Появление таких систем могло бы изменить технологии за счет использования баз знаний и экспертных систем. Основная суть качественного перехода к пятому поколению ЭВМ заключалась в переходе от обработки данных к обработке знаний. Японцы надеялись, что им удастся не подстраивать мышление человека под принципы функционирования компьютеров, а приблизить работу компьютера к тому, как мыслит человек, отойдя при этом от фон неймановской архитектуры компьютеров. В 1991 году предполагалось создать первый прототип компьютеров пятого поколения.
Основная идея, лежавшая в разработке технологии Enterprise JavaBeans -- создать такую инфраструктуру для компонент, чтобы они могли бы легко ``вставляться'' (``plug in'') и удаляться из серверов, тем самым увеличивая или снижая функциональность сервера. Технология Enterprise JavaBeans похожа на технологию JavaBeans в том смысле, что она использует ту же самую идею (а именно, создание новой компоненты из уже существующих, готовых и настраиваемых компонент, аналогиично RAD-системам), но во всем остальном Enterprise JavaBeans -- совершенно иная технология.
Стремительное разрастание Всемирной паутины и связанное с этим увеличение объема трафика продолжают беспокоить специалистов. Web-серверы стали не только хранилищем текстовой и графической информации, но и местом гигантских залежей видео- и аудиоматериалов, а также средством проведения масштабных коммерческих операций. На первый план выходит задача обслуживания запросов за гарантированное время, что неизбежно требует усовершенствованных технических, алгоритмических и программных средств построения распределенных Web-серверов.
Согласно данным компании Nortel Networks, число пользователей систем электронной коммерции возрастет с 142 млн. в 1999 году до 500 млн. в 2003-м, а суммарный финансовый оборот составит в 2003 году свыше 1 трлн. долл. При таком росте Сети главной заботой Web-разработчиков становится необходимость вовремя обслужить запрос клиента. Поиск решения приводит к идее распределенного Web-сервера.
Устройства записи воспроизведения сообщений на одном кристалле
Серия ISD1400 представляет устройства, рассчитанные на частоты сэмплирования 6.4 КГц (20 сек.) и 8 КГц (16 секунд), позволяя пользователю выбирать между качеством звука и длительностью записи. Сэмплированный звук записывается в энергонезависимую память без оцифровки и сжатия, обычно использующихся в такого рода устройствах. Прямая аналоговая запись обеспечивает очень правильную, натуральную звуковую репродукцию голоса, музыки, тонов, и звуковых эффектов, недостижимую с помощью большинства цифровых решений.
История этого курса началась в 1995-м году, когда мной был подготовлен курс «Основы современных баз данных» для Центра Информационных Технологий (ЦИТ). Материалы этого курса были опубликованы в библиотеке CITForum.ru в 1996 г. и затем в течение ряда использовались мной для чтения лекций как в ЦИТ, так и на факультете ВМиК МГУ. Надеюсь, что они пригодились и многим другим читателям.
Однако со временем курс стал меняться. Если в середине 90-х гг. мне казались наиболее важными программистские аспекты организации СУБД, то потом постепенно на передний план стали выходить модельные и языковые аспекты баз данных. Материалы старого курса стали мне казаться несколько поверхностными и охватывающими слишком большое число тем. Захотелось большей строгости и большей глубины погружения в наиболее важные темы.
Кроме того, в конце 90-х гг. появилась технология объектно-реляционных баз данных, затверженная в стандарте SQL:1999. С появлением этого стандарта часть старого курса, посвященная SQL, совершено устарела. Я же все в большей степени начал склоняться к тому, что в стандарте SQL, по сути, определяется законченная модель данных, похожая на реляционную модель, но во многом от нее отличная.
Общие сведения о способах проецирования. Проецирование точки, прямой. Прямые частного положения. Взаимное положение точки и прямой. Взаимное положение двух прямых. Проецирование плоских углов. Плоскость. Точка и прямая в плоскости. Взаимное положение плоскостей. Многогранники. Сечение многогранников проецирующей плоскостью. Пирамида с вырезом. Тела вращения. Сечение тел вращения проецирующей плоскостью. Тела вращения с вырезом.
Условные графические обозначения дискретных электрорадиоэлементов на электрических схемах необходимо выполнять в соответствии с ЕСКД по ГОСТ 2.75l-73, ГОСТ 2.702-75 и ГОСТ 2.708-81, а цифровых и аналоговых интегральных схем по ГОСТ 2.743-91 и ГОСТ 2.759-82. Ознакомиться с правилами выполнения условных графических обозначений (УГО) электрорадиоэлементов
Программирование на языке Пролог для искусственного интеллекта
В средние века знание латинского и греческого языков являлось существенной частью образования любого ученого. Ученый, владеющий только одним языком, неизбежно чувствовал себя неполноценным, поскольку он был лишен той полноты восприятия, которая возникает благодаря возможности посмотреть на мир сразу с двух точек зрения. Таким же неполноценным ощущает себя сегодняшний исследователь в области искусственного интеллекта, если он не обладает основательным знакомством как с Лиспом, так и с Прологом - с этими двумя основополагающими языками искусственного интеллекта, без знания которых невозможен более широкий взгляд на предмет исследования.
Сам я приверженец Лиспа, так как воспитывался в Массачусетском технологическом институте, где этот язык был изобретен. Тем не менее, я никогда не забуду того волнения, которое я испытал, увидев в действии свою первую программу, написанную в прологовском стиле. Эта программа была частью знаменитой системы Shrdlu Терри Винограда. Решатель задач, встроенный в систему, работал в "мире кубиков" и заставлял руку робота (точнее, ее модель) перемещать кубики на экране дисплея, решая при этом хитроумные задачи, поставленные оператором.
Решатель задач Винограда был написан на Микропленнере, языке, который, как мы теперь понимаем, был своего рода Прологом в миниатюре. Любой прологоподобный язык заставляет программиста мыслить в терминах целей, поэтому, несмотря на все недостатки Микропленнера, достоинством этой программы было то, что в ее структуре содержались многочисленные явные указания на те или иные цели. Процедуры-цели "схватить", "освободить", "избавиться", "переместить", "отпустить" и т.п. делали программу простой и компактной, а поведение ее казалось поразительно разумным.
Решатель задач Винограда навсегда изменил мое программистское мышление. Я даже переписал его на Лиспе и привел в своем учебнике по Лиспу в качестве примера - настолько эта программа всегда поражала меня мощью заложенной в ней философии "целевого" программирования, да и само программирование в терминах целей всегда доставляло мне удовольствие.
Булевы функции названы в честь английского математика ХIХ века Дж. Буля, который впервые применил алгебраические методы для решения логических задач. Они образуют самый простой нетривиальный класс дискретных функций - их аргументы и значения могут принимать всего два значения. С другой стороны, этот класс достаточно богат и его функции имеют много интересных свойств. Булевы функции находят применение в логике, электротехнике, многих разделах информатики.
ADSM - это сетевая система резервного копирования, продаваемая фирмой IBM и используемая многими организациями. Существует большой набор клиентских программ ADSM для различных систем (UNIX-системы, Windows, Novell, Mac, Windows NT). К сожалению, в настоящее время специальной Linux-версии не существует.
Вам придется использовать клиентскую программу для SCO и установить iBCS2-эмулятор для запуска ADSM. В этом документе описывается ADSM v2r1.
SQL отличается от большинства наиболее популярных языков программирования тем, что в нем операции производятся одновременно с данными всех строк таблицы, в то время как процедурные языки обрабатывают данные построчно. Благодаря использованию курсоров в SQL становится возможным выводить, обновлять или же удалять выбранную строку в один прием, упрощая совместное использование SQL с другими языками программирования.
По существу, курсор является указателем на определенную строку таблицы. С его помощью можно вывести, обновить или удалить строку, на которую он ссылается.