вторник, 21 июля 2009 г.

Высшее образование: его необходимость

Скажу честно, как дипломированный специалист:
ЗАБЕЙТЕ на ВУЗ. Честно. Там вас не научат быть программистом. Лучше найдите хорошие книжки, возьмитесь за самообразование, зарабатывайте фрилансом и лишь потом, накопив опыт и найдя хорошую работу идите учиться на заочку.
Иначе.. просто убьёте бесполезно годы жизни, не приобретя ничего, кроме как знакомств, нервотрёпки и поиска работодателя по специальности, убогого ВУЗовского опыта и кучи бесполезной теории.

Проектирование ИС и ПО как такого

Рекомендую:
«Мифический человеко-месяц»,
«Совершенный код» Стив МкКонелл

воскресенье, 19 июля 2009 г.

Программируем для 1С:Предприятие

Учебник: http://www.mista.ru/tutor_1c/
+ необходим хелп и справочники (главный плюс: изучить теорию можно без нарушения лицензии, а просто изучив литературу).
Сертификат, пожалуй, получаем через intuit.ru

воскресенье, 28 июня 2009 г.

Учим основы ASP.NET 2.0

Ссылка: http://www.intuit.ru/department/se/aspdotnet/

Практическая реализация выражений высшей математики для программистов

NUMERICAL RECIPES, The Art of Scientific Computing, Third Edition. Cambridge Press.
Рекомендую эту книгу программистам которые хотят понять высшую математику или сложную математическую форму в виде программного кода. Или же когда необходимо преобразовать математический алгоритм на язык программирования.
Если что, файл называется «Cambridge.Press.Numerical.Recipes.3rd.Edition.Sep.2007.pdf» ;)

суббота, 27 июня 2009 г.

Создание Windows-приложений на основе Visual C#

Ссылка: http://www.intuit.ru/department/pl/visualcsharp/
Рассматривается создание Windows-приложений на основе Visual C# в среде Microsoft Visual Studio.NET. Более 100 готовых примеров, доступных для скачивания, различного уровня сложности - от блокнота и калькулятора до почтового клиента и финансовой программы позволят быстро научиться создавать собственные приложения.
Рассматриваются основы создания Windows-приложений в среде Visual Studio.NET на языке Visual C# - свойства проектов, окна Solution Explorer, Class View, Toolbox, XML -документирование кода. Проводится подробное сравнение особенностей синтаксиса делегатов и событий в Windows - формах и консольных приложениях. Изучение многочисленных элементов управления сопровождается применением их в приложениях различной сложности - блокноте, калькуляторе, программе просмотра изображений, почтовой программе Ballet, финансовой программе Education Center. Рассматриваются вопросы, связанные с реестром и файловой системой операционной системы Windows, XML - сериализацией. Описываются элементы языка SQL, модель объектов ADO.NET, практическое использование в Windows-приложениях баз данных Microsoft SQL Server и Microsoft Access. В курс входит описание применения библиотек кода - .NET и COM компонент, вызов функций WinAPI. Рассматривается работа с печатью и изображениями. Приводится применение асинхронной модели программирования в .NET Framework. Уделяется внимание вспомогательным средствам - созданию пакетов дистрибутивов, справки, переводу приложений, защите сборок. Вопросы безопасности рассматриваются в широком спектре - уровни доступа, администрирование, создание собственной технологии ролевой безопасности. Применяются дополнительные утилиты, входящие в состав Visual Studio .NET - tlbimp.exe, ildasm.exe, ilasm.exe, gacutil.exe, caspol.exe.

Цель
Получение знаний, необходимых для создания Windows приложений на основе C#. Подготовка к сдаче сертификационного экзамена на статус Microsoft Certified Professional.

Програниморование на C#. Стартап

Забыл сказать, что весь данный курс рассчитан на то, что Вы имеете программировать примитивные программы.
То есть отсутствуют фундаментальные знания, но есть базис.
Для получения базиса, я порекомендую Вам следующий курс: «Разработка Windows-приложений на основе Visual C#»  http://www.intuit.ru/department/pl/visualcsharp/


пятница, 26 июня 2009 г.

JavaScript и AJAX

Поняв кратко синтаксис JavaScript, перейдём к программированию на нём: http://www.intuit.ru/department/internet/jsbasics/
В данном курсе также есть краткий обзор AJAX-технологии.
Объясняя кратко: AJAX это технология асинхронной работы JavaScript и XML, которая обеспечивает динамическую работу веб-страницы без её полной перезагрузки.
Скажем, обновление части страницы при добавлении комментария, перелистывании фото-альбома и т.п.

Наиболее известные AJAX-библиотеки это Google Web Toolkit и jQuery.

Учим Javascript. Первый этап

В начале, раз уж скачали файл в предыдущем посте ( http://www.spravkaweb.ru/images/5/5e/Download_spravkaweb_ru_chm.zip), то им и воспользуемся, ччтобы узнать основы синтаксиса и основные приёмы программирования на Javascript.
Заодно упомяну неоспоримый плюс — синтаксис Javascript схож с синтаксисом C#.

Изучаем СSS

CSS это говоря по простому — документ, описывающий стиль оформления веб-страниц.
Раньше вместо CSS использовали скрытые (прозрачные) таблицы для размещения блоков на сайтах.
Два CHM-учебничка: http://www.spravkaweb.ru/images/5/5e/Download_spravkaweb_ru_chm.zip (здесь помимо CSS есть и другие материалы) и http://webber.ru/_files/books/webber-css.zip
Конечно, созданы эти учебники давно, но для первичного ознакомления с CSS и получения основных знаний и экономии времени — отличные материалы.

учим XML

для тех, кто понимает HTML XML будет интуитивно понятен. Самое главное запомните, что здесь теги Вы создаёте сами.
На всякий случай приведу самоучитель: http://www.intuit.ru/department/internet/xml/

Введение в СУБД MySQL

Кратко и ёмко с примерами, более полезно для того, чтобы вспомнить команды и синтаксис, но учить тоже можно.
Ссылка: http://www.intuit.ru/department/database/mysql/

Рефакторинг. Улучшение существующего кода

Собственно название полностью выражает содержание книги.
Примеры на Java.
Рекомендуется к чтению специалистам, которые умеют программировать и хотят УЛУЧШИТЬ свой код.

Framework design C#

Содержание статьи:
Введение
Что такое framework
С чего начинается framework
Что такое control
Монополия на создание объектов
Форма и логика представления
Форма как отдельный компонент
Framework как библиотека
Типизированный Combobox
Слои
Блокировка формы в Web-приложениях
О добродетели кодогенерации
Ложка дёгтя
Заключение

Ссылка: http://www.rsdn.ru/article/patterns/framework.xml


Рефакторинг с использованием шаблонов

Примеры в статье на языке Delphi, но статья по объёму небольшая и толково иллюстрирована: http://www.rsdn.ru/article/patterns/patterns.xml

Паттерны в C#

http://www.rsdn.ru/summary/864.xml
Кстати, сайт тоже не плох: http://www.rsdn.ru/

Паттерны в Java и C#

Небольшая статейка, описывающая паттерны в Java и C#.
Ссылка: http://forum.vingrad.ru/faq/s/b0ecf99f6b4688e4d1e37f1cc9da021a/topic-41784/view-all.html

четверг, 25 июня 2009 г.

Изучаем паттерны (шаблоны) проектирования

Паттерны (шаблоны) проектирования излагая идею кратко — абстрагированные приёмы ООП.
Позволяют сократить время разработки. Подробнее см. статью в Википедии.
Итак, приступаем к чтению книги Гамма, Хелма, Джонсона «Приёмы ООП. Паттерны проектирования».

iGoogle гаджеты в Google Desktop

Небольшой секрет: в поиске гаджетов Google Desktop введите адрес xml-файла iGoogle гаджета и добавьте его ;)

ООП Ивановой

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

среда, 24 июня 2009 г.

О литературе

Учебники на intuit.ru отличные самоучители, но в отличии от «академических» курсов лекций они не имеют большого теоретического базиса, который нужен при изучении программирования.
В начале по каждой дисциплине буду давать «тяжеловесную теорию», а затем «лёгкие» курсы для практического применения знаний.

Google поиск книг, фильмов и прочего

Никому ничего не пропагандирую, но есть хороший поисковый инструмент на базе Google: http://www.google.com/cse?cx=003849996876419856805:erhhdbygrma&ie=UTF-8&q=&sa=Search
С помощью него Вы можете поискать упоминаемую мной литературу.

Небольшой совет

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

Изучаем программирование. книга первая

Итак, первая книга, которая дала бы нам академические знания. Называется «Объектно-ориентированное программирование». автор Г. Иванов. В основе книги — курс лекций, читавшихся в МГТУ Баумана.
Конечно, здесь говорится о Delphi и C++, но для нашей цели — академических знаний в программировании отлично подходит.
Итак, усаживаемся поудобнее и начинаем читать.

Дисциплина первая: Академический взгляд на программирование на C#

Цели:
1. Научиться проектировать программный код, создавать алгоритмы и оптимизировать их.
2. Используя преимущества объектно-ориентированного программирования добиться ускорения разработки в будущем, дать стимул для оптимизации кода и его унификации.
3. Сделать код удобочитаемым, т.к. программист должен рассчитывать, что будет работать в команде разработчиков.
4. Научить базовым понятиям и приёмам программирования. Мир не стоит на месте — сегодня одни языки программирования, а завтра другие, но подходы схожи, и имея академические знания программирования на одном языке на другой перейти много проще.

среда, 6 мая 2009 г.

Оформление отчётной документация. Часть #1: отчёты по лабораторным работам

Введение

Этой статьёй я начну цикл публикаций о том, как готовить различную муторную и макулатурную работу, а именно как писать и оформлять различные отчёты, коих за период обучения скапливается множество, а переоформлять их из-за «неверного оформления» приходится многократно.

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

Итак, начну:


1 Структура отчёта и его содержимое

1.1 Титульный лист


В титульном лист обычно выдаётся преподавателем или кафедрой, но если данный шаблон отсутствует, то:

а) сверху необходимо написать полное Вашего ВУЗа, а на строчку ниже написать название принимающей кафедры;

в) в центре написать номер лабораторной работы, дисциплину, название лабораторной работы, например:

«Отчет

по лабораторной работе №*номер лабораторной работы*

дисциплины «*название дисциплины*»

*название лабораторной работы*»;


г) ниже заголовка с выравниванием по правому краю листа или же небольшой табличкой включить нижеследующие данные:

«Выполнил(-а, -и):

студент(ы) гр. *вставить номер группы*

Ф.И.О.

Принял(-а):

преподаватель/*научная степень* каф. *сокращенное название кафедры*

Ф.И.О.»;

д) внизу по центру титульного листа написать: *город ВУЗа* — *год сдачи отчёта*.

Всегда должен быть на отдельном листе.


1.2 Содержание

Данный лист является необязательным для отчёта по лабораторным работам, создаётся только по требованию преподавателя.

Всегда должен быть на отдельном листе.


1.3 Цель работы


Обычно цель работы копируется из методички.

Иногда, по требованию преподавателя, формулируется самостоятельно.


1.4 Задачи

Данный пункт является необязательным для отчёта по лабораторным работам, создаётся только по требованию преподавателя.

Обычно копируется из методички, но иногда, по требованию преподавателя, формулируется самостоятельно.


1.5 Теоретические сведения (введение)


Является рекомендованным. Обычно заполняется копированием соответствующего материала из лекций, методички, находится в Интернете.

Иногда здесь присутствует описание алгоритма, используемого в лабораторной работе.

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


1.6 Ход работы


Основная часть отчёта. Обязательная ;) . Может состоять из подразделов, описывающих различные методы или логические шаги при выполнении лабораторной работы.

Описывает ход выполнения работы по шагам, или же основные, ключевые элементы реализации программного кода разрабатываемого ПО.


1.7 Описание программного обеспечения (руководство программиста)


1.8 Структурная схема программы / Блок-схема


Раздел обязателен, если Вы реализовываете ПО.

Здесь описывается то, как реализован заданный алгоритм, показывается и объясняется структурная схема работы программы (алгоритма программы) или же его блок-схема.

Может разделяться на два раздела.

1.9 Руководство пользователя


Раздел обязателен, если Вы реализовываете ПО.

Данный раздел описывает реализацию интерфейса программы и объясняет, какие функции выполняют различные элементы интерфейса.

Это справочный раздел для пользователя.


1.10 Вывод / Заключение

Наиболее простой способ оформления данного раздела — скопировать и слегка переформулировать разделы «Цели» и/или «Задачи», например: "В данной лабораторной работе мы *«Цели» и/или «Задачи»*".

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


1.11 Список использованной литературы


Данный лист является необязательным для отчёта по лабораторным работам, создаётся только по требованию преподавателя по заданным ГОСТам или требованиям.

Всегда должен быть на отдельном листе.


1.12 Приложения

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

Всегда должен начинаться с новой страницы.


2 Оформление текста отчета

2.1 Изложение текста


Текст должен излагаться беспристрастно, от третьего лица.

Стиль изложения: научный.

Использовать только общепринятые сокращения.

Абзац должен начинаться с красной строки, желательны переносы, текст должен размещаться по ширине.

См. список рекомендованной литературы.


2.2 Оформление ссылок, подписей к таблицам, рисункам, блок-схемам, листингам и т.п.

Подписи к рисункам размещаются под изображением и оформляются с использованием сквозной нумерации «Рис./Рисунок *порядковый номер рисунка в отчёте или в разделе*» и подписи, излагающей содержание рисунка, например: «Рис. 1. Интерфейс работы программы» или же «Рис. 1.1. Интерфейс работы программы».

Подписи к таблицам оформляются таким образом: над таблицей пишется порядковый номер таблицы в отчёте и название таблицы (например: «Таблица 1. Статическое распределение возрастных характеристик при использовании сети Интернет»), если таблица продолжается на следующем листе, то её продолжают так: «Продолжение таблицы 1. Статическое распределение возрастных характеристик при использовании сети Интернет».

Подписи блок-схемам располагаются под блок-схемами, а к листингам - над ними.

Для ссылки на какой либо раздел, рисунок, таблицу и т.п. пишут слово «см.» и *тип ссылки и порядковый номер*, например: «см. рис. 1».


2.3 Блок-схемы

Блок-схемы оформляются в соответствии с ГОСТ 19.701-90 и разумом (ибо он устарел).


2.4 Списки


Списки оформляются либо русскими буквами, либо арабскими цифрами. Если в один список вложен другой, то один оформляется русскими буквами, а другой — арабскими цифрами.


2.5 Нумерация страниц

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


2.6 Нумерация разделов


Разделы и подразделы нумеровать обязательно. Не нумеруются разделы «Введение», «Содержание», «Вывод», «Заключение», «Список использованной литературы».

Раздел «Приложения» и его приложения нумеруются арабскими цифрами или русскими буквами (буква «ё» не используется). При этом каждый подраздел должен иметь своё название. Также, каждый раздел может иметь отдельный титульный лист.

Пример: «Приложение А (обязательное). Блок-схема работы алгоритма».


Заключение

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


Список рекомендуемой литературы

ЕСПД (ЕДИНАЯ СИСТЕМА ПРОГРАММНОЙ ДОКУМЕНТАЦИИ)

В первую очередь для инженерных отчётов предназначена данная система, из неё хочется выделить в первую очередь нижеприведённые госты:


а) ГОСТ 19.701-90 (ИСО 5807-85). СХЕМЫ АЛГОРИТМОВ, ПРОГРАММ, ДАННЫХ И СИСТЕМ

Морально устарел, но ещё не был заменён на другой ГОСТ и применим в адаптации, к современным ПО.

Думается, в дальнейшем, найти ИСО, которым был заменён ИСО 5807-85, лёгший в основу ГОСТ 19.701-90, и перевести его.


б) ГОСТ 2.106-96. Текстовые документы

Рассказывает о том, как оформлять текстовую часть документации.