Материалы для выпускников ДГТУ по специальности 22.04.00

В этом разделе я буду размещать учебные материалы по программированию, не имеющие никакого отношения к учёбе в ДГТУ (Ростов-на-Дону) на программиста по специальности 22.04.00.

Не секрет, что наших выпускников по специальности "программирование" (в том числе и меня) нельзя назвать программистами в полном смысле слова (особенно ярко это проявляется при поиске работы). Образно говоря, ВУЗ даёт студенту лишь фундамент, а стены и крышу нужно возводить самому. Выпускник по специальности "программирование" - это ещё не программист, и с этим ничего нельзя поделать, и никакой вины вчерашнего студента тут нет. Просто мир несовершенен... (Не вполне совершенная учебная программа, не самые лучшие преподаватели, дороговизна учебников и Интернета, недостаточное финансирование ВУЗа).

Впрочем, с другой стороны, выпускник ДГТУ по специальности "программирование", на мой личный взгляд, всё же стоит несоизмеримо выше, чем программист-самоучка такого же уровня развития, потому что, что ни говори, а ВУЗ есть ВУЗ, тем более, если он приличный (такой, как, например, наш ДГТУ). И пусть они (программисты-самоучки) не кичатся своми мелкомягкими сертификатами.

Пожалуй, окончив ВУЗ, нужно ещё несколько лет самостоятельно доучиваться до приемлемого уровня, если есть желание стать настоящим программистом.

Так что в этом разделе, обособленном от всего прочего материала на сайте, я и буду собирать все такие учебные материалы, которые обладают двумя ключевыми свойствами:

1). Эти материалы не изучались студентами специальности 22.04.00 (отсутствовали в учебном плане) за время учёбы в институте (или же просто вскользь упоминались).

2). Эти материалы дополняют всё то, что изучалось студентами на этой специальности в институте за годы учёбы.

3). Как правило (хотя не всегда), эти материалы представляют из себя некие новые веяния в области программирования.

Это разделение материалов на моём сайте, конечно, зачастую довольно условно.


Для начала предлагаю:

1. Почитать сборник статей   "Что такое .Net?" (500 КБ). Формат - HTM (RUS).

Кстати, в локальной сети нашей кафедры есть DVD-версия дистрибутива MS Visual Studio.NET + MSDN April 2003, который обычно идёт на восьми простых CD-дисках. Дистрибутив лежит в папке "VS2003" и занимает 4,2 ГБ. Серийный номер не требуется. Кому нужно, может подойти к лаборанту со своим  винтом и скопировать этот дистрибутив себе, а потом - записать его на DVD-диск уже со своего винта. Я так сделал и проинсталлировал - всё прекрасно работает. Одна тонкость: этот дистрибутив нельзя напрямую записать на DVD-диск, т.к. он имеет папки с уровнем вложенности более восьми, что не поддерживается обычным стандартом ISO 9660 (на запись CD-ROM'ов) (Может быть, попробовать файловую систему UDF для CD-ROM'ов?). Если попытаться вот так в лоб записать дистрибутив с винта на DVD-диск (в стандарте по умолчанию ISO 9660), то папки глубиной более 8 уровней обрежутся, и потом ничего с этого записанного DVD-диска нельзя будет проинсталлировать, программа-инсталлятор во время инсталляции потребует "Вставьте в привод дистрибутивный DVD-диск MS Visual Studio.NET". Поэтому придётся сначала этот дистрибутив заархивировать (без сжатия - для быстроты распаковки) (лучше разбить на 2 архивных тома по примерно 2,2 ГБ, чтобы потом можно было, при желании, скопировать заархивированный дистрибутив на том FAT-32, которая не поддерживает файлы больше 4 ГБ, в отличие от NTFS. Это просто на всякий случай, т.к. делать это никогда не придётся (т.е. никогда не потребуется копировать заархивированный дистрибутив на жёсткий диск), а уже потом записывать получившийся архив на DVD-диск. Чтобы проинсталлировать дистрибутив, его придётся потом всякий раз распаковывать на жёсткий диск прямо с записанного DVD-диска (распаковка из архива на винт заняла у меня сорок минут). Если кто знает, как обойти эти ISO-ограничения при записи DVD-диска, напишите, пожалуйста, мне, буду очень признателен. Жаль,что установка галочек в соответствующих чекбоксах в разделе Nero "Отклонение от ограничений ISO" не помогает).

Программные требования для инсталляции MS Visual Studio.NET + MSDN April 2003:

1. MS Windows 2000 Service Pack 3 или выше.

2. MS Internet Explorer v6.0 Service Pack 1 (просто MS Internet Explorer v6.0 не пойдёт).

W2kSP3 есть в локальной сети кафедры, а MS IE6 SP1 желательно иметь русский, о чём программа инсталляции скажет. Но, на худой конец, этот DVD-дистрибутив имеет в своём составе англоязычную версию MS IE6 SP1, a если у кого стоит WinXP Service Pack 1 Rus, то он уже имеет MS IE6 SP1 Rus в своём составе. MS IE6 SP1 можно скачать из Интернета. Только тут тоже есть одна тонкость. Официальный сценарий инсталляции MS IE6 SP1 выглядит так: сначала с майкрософтовского сайта скачивается программа-инсталлятор  ie6setup.exe  (482 КБ), а затем она запускается на вашем компе, анализирует конфигурацию, сама скачивает с майкрософтовского сайта все необходимые компоненты и инсталлирует их. Если мы хотим скачать обычный нормальный дистрибутив, чтобы потом самим его проинсталлировать, то нужно пойти обходным неявным путём (о котором я узнал из Интернета), т.к. Майкрософт такой явной возможности и не предлагает! Делается вот что: так же сначала с майкрософтовского сайта скачивается программа-инсталлятор  ie6setup.exe  (482 КБ), а затем она запускается на вашем компе, но только со специальным ключом в командной строке: "   ie6setup.exe /c:"ie6wzd.exe /d /s:""#E"""   ". Появляется окно с предложением выбрать и скачать инсталляционные компоненты. Выбираем все и запускаем. Программа после этого скачивает с каких-то ей одной известных сайтов файлы на винт. Полный комплект занял у меня 45,7 МБ. Впрочем, когда я всё это проинсталлировал, то убедился, что это действительно MS IE6 SP1 Rus и его номер версии до последней цифры совпадает с номером версии MS IE6 SP1 Eng, прилагаемом с этим дистрибутивом  MS Visual Studio.NET + MSDN April 2003.

2. Неплохой обзор программных инструментов для низкоуровнего сетевого программирования под Windows выполнен в моей дипломной работе. Рассматриваются программные инструменты для управления полями сетевых IP-пакетов.

3. Если кого-то интересует операционная система QNX - то Вам сюда. Хорошая новость: полноценный дистрибутив QNX от компании-производителя - это больше не проблема! На сайте российского дистрибьютера QNX (фирма SWD) написано: "...Лицензионная политика QNX сулит разработчикам немалые выгоды. Основное преимущество здесь состоит в том, что QNX Realtime Platform объявлена бесплатной для некоммерческого использования...". (Кстати, о существовании QNX мы, студенты-программисты узнали в своё время из курса "Операционные системы реального времени" - ОСРВ).

Образ фирменного CD-диска можно скачать с сайта QNX. Называется он "Free 30-day QNX Momentics Development Suite v6.3 commercial product evaluation" (462 МБ). Этот диск включает в себя саму ОСРВ QNX Neutrino RTOS v 6.3 и среду разработки Momentics Development Suite, а также прочие программы. Фраза "Free 30-day evaluation" в названии диска присутствует потому, что кроме бесплатной для некоммерческого использования ОСРВ QNX v6.3, на диске ещё есть и платные коммерческие программы, которые можно оценить в течение 30 дней после ЗАГРУЗКИ (да-да, именно после загрузки, а не после инсталляции) диска из Интернета.

Процедура скачивания выглядит так: Вы регистрируетесь на сайте QNX, указываете свой e-mail, и на него посылается ссылка авторизации аккаунта на myQNX, которую нужно нажать, чтобы войти в конечном итоге в зону загрузки. В момент окончания загрузки образа диска из Интернета (докачка, к сожалению, не поддерживается, скачать придётся за один раз) сайт QNX генерирует оценочный лицензионный ключ (Evaluation License Key) и дату истечения его годности (отстоящую на 33 дня вперёд от момента скачивания), и всё это высылается на Ваш e-mail.

Во время инсталляции этого дистрибутива следует выставить системные часы компьютера на какой-нибудь (первый) день лицензионного срока (если Вы не сразу после загрузки инсталлируете, а спустя 30 дней или больше),  т.к. иначе проинсталлировать не удастся, поскольку конкретные даты 30-дневного срока закодированы в License Key.

Неприятно то, что без этого ключа вообще ничего нельзя проинсталлировать с этого диска, даже и саму бесплатную для некоммерческого использования ОСРВ QNX v6.3. Вот почему я не привожу здесь прямую ссылку на скачиваемый образ (хотя она у меня есть - получил её при помощи шпионской функции последнего ReGet'а, т.к. напрямую её узнать невозможно) - напрямую скачивать образ нельзя, потому что Вы тогда не получите "свежий" ключ. Если Вы не скачивали этот образ диска, а где-то раздобыли, то тогда есть смысл поискать в Интернете "свежий" License Key, потому что каждому конкретному License Key соответствует свой определённый 30-дневный период эксплуатации.

Подробности инсталляции - см. статью "Установка QNX 6.x".

Кряк ко всему этому пакету мне обнаружить не удалось, хотя 4-ый QNX уже вроде бы взломали, а в Интернете предлагают купить QNX v6.21 с кряком, уж не знаю, насколько это верно. Нашёл лишь просроченный лицензионный ключ, который всё же даёт возможность проинсталлировать всё это, он доступен по ссылке на этой странице. Придётся только выставить системные часы назад на какой-нибудь (первый) день в указанный там 30-дневный оценочный период. И вообще на форумах говорят, что установка системных часов в соответствующий 30-дневный период снова делает систему полнофункциональной (после истечения этого периода).

Поскольку 30-дневное оценивание идёт для коммерческих программ на этом диске, то когда эти 30 дней пройдут, коммерческие программы перестанут работать (бесплатные продолжат работать), но это и не важно, т.к. сама ОСРВ QNX v6.3 бесплатна, а к ней есть море бесплатных программ в Интернете (хотя бы на сайте ftp://ftp.qnx.com), не в последнюю очередь и потому, что она создавалась под сильным влиянием Linux и во многом его напоминает.

Минимальные требования к инсталляции:

Windows XP (SP1), 2000 (SP4) or NT (SP6a).

700 Mhz Pentium III, 256 MB RAM, 1.5 GB Disk Space, 1024x768 Monitor.

Все остальные подробности - на сайте www.qnx.com, www.qnx.boom.ru, на форумах www.qnx.org.ru, www.openqnx.com.

Если у Вас нет возможности скачать этот образ диска, а познакомиться с ОСРВ QNX всё же хочется, то можете скачать демо-версию - ОСРВ QNX v4.0 на одной (!) дискете плюс аналогичные программы.

4. Скорее всего, каждый студент-программист хотя бы раз слышал о существовании формата TEX, который был создан Д. Кнутом при написании его книги "Искусство программирования" (она частично выложена на http://www.lib.ru/CTOTOR/KNUT/ в формате *.tex). Из-за того, что найти программы для работы с TEX тогда было проблематично, мало кто знал, что такое TEX и зачем он нужен и нужен ли вообще. Оказывается, TEX - это действительно нужная и полезная вещь. TEX - это язык разметки, на котором пишутся всевозможные формулы - математические, физические, химические и т.п. Файлы с расширением *.tex можно просматривать в обычном броузере при помощи броузерного TEX-плагина (1,67 МБ) от IBM. Кроме TEX'а, есть еще и другие такие аналогичные языки, например MML - Mathematical Markup Language, формулы на котором пишутся при помощи тегов, здорово напоминающих HTML-теги. При этом TEX- и MML-выражения можно внедрять в обычный HTM-файл, делать их гиперссылками и управлять ими через JavaScript, т.е. делать в ними всё, что можно делать с обычным HTM-контентом (естественно, при проинсталлированном броузерном TEX-плагине). Эти форматы (TEX и MML) удобно использовать при изготовлении электронных книг в HTM-формате, которые содержат большое количество формул. Раньше для оформления формул имелся лишь один-единственный инструмент - Редактор формул для MS Word'а, в котором можно было набирать формулы и при сохранении вордовского файла в HTM-формат эти формулы превращались в GIF-картинки. Первое знакомство с TEX и MML можно начать отсюда. Кстати, в локальной сети нашей кафедры есть кое-какие программы для работы с TEX.

5. Сборник статей о XML (173 КБ). Формат - HTM (RUS). (Скачен с www.webclub.ru).

6. Учебник по UML в формате DJVU (RUS) можно скачать с этой страницы (в самом низу).

7. Когда я учился в ДГТУ на программиста, у нас была в 7 семестре такая дисциплина "Параллельное программирование" (я еще сделаю страничку по ней в разделе "7 семестр"). Преподаёт её Толпинская Н.Б. Преподаёт, к сожалению, совершенно бестолково. Я думаю, что просто это слишком тяжёлый груз для Натальи Борисовны, ведь это далеко не самая простая дисциплина, а главное - по ней ОЧЕНЬ мало бумажной литеруры. Из-за всего этого эта дисциплина в ДГТУ пролетает мимо ушей совершенно без толку, что учился, что не учился, производя к тому же впечатление не нужной в жизни экзотики. А жаль, ведь это довольно перпективное направление программирования, у которой ОЧЕНЬ большое будущее.

Так что же такое параллельное программирование и зачем оно нужно? И нужно ли вообще?

Параллельное программирование - это в общем смысле основной программный способ создания сверхмощных вычислительных суперкомпьютеров со всеми вытекающими последствиями. В России есть определённые наработки в этой области. Прочтите этот отрывок из книги М.Калашникова "Оседлай молнию" (прочесть эту книгу в электронном виде можно на одном из моих дочерних сайтов, очень рекомендую):

"...Вот, к примеру, Вадим Татур — ученый и предприниматель, который сумел заработать деньги, торгуя оригинальными ветеринарными лекарствами. А на что он тратит заработанное? На программу «МиниТера» — на развитие оригинальных суперкомпьютеров типа «СКИФ», способных делать триллионы операций в секунду. (Их называют терафлопными — отсюда и название «МиниТера».) Татуру вместе с Институтом программных средств в Переславле-Залесском уже удалось построить первые образцы чудо-компьютеров, и их производство стало программой Союзного государства РФ и Белоруссии.

Русским умникам удалось натянуть нос янки, потому что наша техника работает на обычных пентиумовских процессорах. Все дело в том, что они складываются в специальное поле оригинальной архитектуры, а оригинальные программы позволяют разбивать решаемые задачи на параллельные потоки. Если использовать даже устаревшие процессоры, которые делают в Белоруссии с советских времен, то получаются суперкомпьютеры не хуже американских. Если же брать процессоры поновее... Впрочем, это нежелательно — у американских «камней» есть хитрые закладки. И потому наши заказали партию процессоров по своему проекту в Европе.

В итоге русские «СКИФы» должны вывести нас на самое острие атаки. Терафлопные машины этого типа могут невиданно усилить возможности русской боевой авиации (бортовая ЭВМ МиГ-29 работает с быстодействием всего 200 миллионов операций в секунду — а тут будут сотни миллиардов минимум). Резко «поумнеют» наши боеголовки и системы противовоздушной обороны, А уж в гражданском-то секторе какое поле деятельности открывается! «СКИФы» позволяют проводить виртуальные испытания буквально всего — от атомных бомб до новых самолетов. Они же могут дать телевидение высокой четкости. Поисковые машины этого типа дадут русским пользователям Интернета огромное преимущество: ведь они могут вести поиск в Сети не просто по ключевым словам, а по смыслу. А это еще и возможность промышленной, научно-технической разведки в наших интересах. Мини-терафлопы имеют совершенно сказочные возможности для шифровки посланий и взламывания чужих кодов.

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

О группе Вадима Татура можно почитать на www.minitera.ru. Я его сайт целиком скачал и выложил здесь (скачать: часть1 (1,92 МБ)  часть2 (0,123 МБ)). Также я выложил здесь учебник по параллельным компьютерам (скачать (332 КБ)), скаченный с ВЦ РАН. А вообще основная информация о параллельном программировании на русском языке доступна на сервере www.parallel.ru. Я взял оттуда ссылки на пару online-учебников по параллельному программированию, которые я целиком скачал и выложил здесь:

а). Designing and Building Parallel Programs (Ian Foster)
    (скачать: часть1 (1,92 МБ)  часть2 (0,561 МБ)). Формат - HTM (ENG).

б). PVM: Parallel Virtual Machine A Users' Guide and Tutorial for Networked Parallel Computing
    (Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek, Vaidy Sunderam).
    (скачать (236 КБ)). Формат - HTM (ENG).

8. Язык програмирования Java мы в ДГТУ не изучали. Об этом языке есть разные мнения, одни говорят, что это язык будущего, другие - что он напоминает обрезанный Си. В любом случае, для изучения этого языка сначала нужно раздобыть его компилятор.

Вот с этим дело обстоит не столь уж безоблачно. Какие компиляторы языка Java продаются в Ростове-на-Дону? Продаются такие: Borland Java Builder, MS Visual J++, всякие эти консольные jdk, вот появился недавно какой-то IBM VisualAGE. Но MS Visual J++ мне все знакомые программисты дружно советуют не использовать, потому что у него проблемы с совместимостью, Borland Java Builder - это для любителей билдеров, консольные компиляторы меня, мягко говоря, не вдохновляют. IBM VisualAGE я не смотрел, ничего не могу сказать. Вот и получается какая-то странная ситуация, что программировать на языке Java как-то толком-то и не на чем! Как же решить эту проблему?

Есть один хороший вариант решения этой проблемы. Правда, он мало для кого подходит из-за своей дороговизны. На сайте создателя языка Java - корпорации Sun Microsystems - можно скачать дистрибутив их фирменного компилятора для языка Java. Конечно, этот вариант - не для тех, у кого модемный доступ в Интернет, да ещё и за свой счёт.

Корпорация Sun Microsystems предлагает по меньшей мере две визуальные среды разработки (IDE) (компиляторы) для языка програмирования Java. Эти компиляторы:

1. Sun™ Java Studio Standard 5 update 1 - одна из самых мощных сред разработки (коммерческая программа - серийный номер к ней легко добывается на www.crack.ru).

2. NetBeans v3.5 Rus - более простая среда разработки (бесплатная).

Оба этих компилятора нуждаются в предварительно проинсталлированном J2SE SDK v1.4.2.06 (т.е. Software Development Kit - скачивается тоже с их сайта).

Рассмотрим подробнее, что качать, откуда, и что сколько весит. Я буду рассматривать дистрибутивы только под Windows. Но вообще у них на сайте есть дистрибутивы под почти любую другую ОС. Чтобы скачать инсталляционные пакеты, нужно зарегистрироваться, и получить по электронной почте подтверждение, а потом скачивать их по своему паролю. Но Вам это делать не обязательно, потому что ниже я выложил прямые ссылки на весь нужный софт (с сайта Sun Microsystems).

Итак, скачиваем пакеты:


Сначала качаем SDK, без которого не будет работать всё остальное:

Java(TM) 2 SDK, Standard Edition 1.4.2_06 Click below to download
  Windows Platform
        Windows Offline Installation, Multi-language (j2sdk-1_4_2_06-windows-i586-p.exe, 51.59 MB) Download Now!

Дополнительно (но не обязательно) можно скачать документацию по этому SDK:

Java(TM) 2 SDK, Standard Edition Documentation 1.4.2 Click below to download
  Platform
        J2SE 1.4.2 Documentation (j2sdk-1_4_2-doc.zip, 32.80 MB) Download Now!

Теперь качаем наш будущий основной рабочий инструмент для языка Java:

Sun Java[tm] Studio Standard 5 update 1 Click below to download
  Windows Platform
  Required (This file must be downloaded for the product to work.)
  Sun Java Studio Standard 5 update 1 (Windows), English (s1s5u1se-win-en.exe, 183.37 MB) Download Now!
  Optional (Download the following file to add more functionality or learn more about this product.)
  Getting Started Guide, Sun Java Studio Standard 5 update 1, English (getstartedse5.pdf, 766.99 KB) Download Now!

The full documentation set for Sun ONE Studio 5, Standard Edition is also found on the Developer Resources Documentation portal: http://forte.sun.com/ffj/documentation/index.html

Серийный номер к этой программе добывается без проблем на www.crack.ru.


Теперь можно скачать визуальную среду разработки NetBeans v3.5 (с русским интерфейсом). Это бесплатный open-source компилятор для языка Java. Он, конечно, уступает по своим возможностям предыдущей программе (Sun ONE Studio 5, Standard Edition Update 1), которая, кстати, сделана на базе NetBeans и, следовательно, включает в себя все возможности NetBeans плюс коммерческие навороты. Так что скачивать нижеследующий NetBeans v3.5 в принципе бессмысленно, если Вы уже скачали Sun ONE Studio 5, Standard Edition Update 1.

NetBeans v3.5 and up
Builds of the IDE
Release Build/Date Notes Builds Sources Extra Binaries
Release 3.5 200306022350
02-Jun 2003
README
What's New
Credits
Знакомство
Что нового
Благодарности
tar.bz2 (23.3 M)
win32.exe (29.1 M)
platform-tar.bz2 (4.1 M)
ML-RU-tar.bz2 (23.4 M)
ML-RU-win32.exe (30 M)
tar.bz2 (28.2 M)
nbm-tar.bz2 (51.2 M)
javadoc-tar.bz2 (12.5 M)
ML-RU-nbms.tar.bz2 (42.2 M)
Included in source package.
Release 3.5.1 200307302351
30-Jul-2003
Install Guide
README
What's New
Credits
Installers
win32.exe (29.1 M)
ML-ZH-win32.exe (34 M)
ML-JA-win32.exe (34 M)
Archive Distributions
tar.bz2 (23.2 M)
platform-tar.bz2 (4.1 M)
ML-ZH-tar.bz2 (27.1 M)
ML-JA-tar.bz2 (27.1 M)
  tar.bz2 (28.2 M)
  nbm-tar.bz2 (53.9 M)
  javadoc-tar.bz2 (12.5 M)
Included in source package.

9. Существенно переработан и значительно расширен раздел о графическом формате DjVu - революционном графическом формате для хранения отсканированных книг.

10. Считается, что начинать изучение COM следует с книги "Основы COM (Дейл Роджерсон)". Эта книга есть повсеместно в Рунете, правда в формате PDF. Не очень-то я люблю этот формат, неудобный он какой-то для чтения. Поэтому я взял эту книгу и переконвертировал её в формат MS Word (*.doc) (программой Solid Converter PDF v2.0). Получилось очень хорошая копия с Pdf, полностью читабельная. Конечно, неплохо бы пойти дальше и сделать вообще htm-версию книги. Но это долгая песня. А пока выкладываю здесь книгу хотя бы в doc-формате.

Скачать книгу "Основы COM. Дейл Роджерсон" (796 КБ). Формат - DOC (RUS).

(Книга запакована в формат 7zip (да, так гораздо компактнее получилось). Открывать - архиватором WinRar версии не ниже 3.40, или 7Zip'ом, или PowerArchiver'ом).

В будущем этот раздел будет значительно расширен...

(Я знаю, что такого рода обещания часто вывешиваются на многочисленных Интернет-сайтах. Постараюсь однако же выполнить их и при этом не дублировать общеизвестные сайты с документацией).

Продолжение следует ...

Сайт создан в системе uCoz