Прошло около года после выхода Windows Vista и у многих до сих пор возникает недоумение - что же это:
-Шутка
-Неудачная разработка
-Революционная ОС
Для начала посмотрим на даты выхода основных не серверных ОС:
Windows NT 3.5 1994
Windows NT 4.0 1996
Windows 2000 2000
Windows XP 2001
Windows Vista 2007
После выхода Vista многие были озадачены - что же такое делала МС
так долго, a получился продукт к которому выдвигаетя масса претензий.
Тут и скорость работы, плохая совместимость со старыми приложениями,
неудобство интерфейса.
Если вспомнить статью Джоэла Сполски "Как Microsoft проиграла битву за API ",
то начнет прояснятся, что МС преследует цель положить в основу своих ОС
новый API.
Теперь посмотрим на то, как выходили новые версии .Net Framework и
какие технологии при этом анонсировались:
1.0 2002 CLR, BCL
2.0 2005
3.0 2006 WPF, WCF, WF, Card Space
3.5 2007 LINQ, ADO.NET, Entity Framework,
К сожалению не удалось найти подробности про первые две версии фреймворка,
а в качестве основного источника использован рисунок с wikipedia.
Предположительно Vista была построена с использованием технологий .Net,
а win32 программамы являются не native и совместимость достигается посредством
специального слоя в ОС. Как было сделано в Mac OS X, где за совместимость со старыми
программами написанными на старом процедурном API Carbon достигалась через специальный слой.
Теперь Microsoft меняет свой устаревший процедурный API win32 на новый. Еще до выхода
Vista начали выходить .Net фреймворки, в которые постепенно(скорее по мере готовности)
вводились новые части будущего API.
Думается, что Win16/32 API в начале 90-х уже устарел - стало ясным, что будущее
за объектно-ориентированной разработкой. Поэтому в 1992 году МС представила
обертку над win16/32 - MFC.
Итак, вместо Win32/MFC теперь перед нами масса абриватур, среди которых:
WCF (Windows Communication Foundation)
WPF (Windows Presentation Foundation)
WF (Workflow Foundation).
Сложно сказать упрощает ли это жизнь разработчиков, стало ли удобнее создавать
приложения. На первый взгляд кажется, что легко запутаться и запомнить даже названия
всех технологий, которые несет с собой .Net framework.
Так же тяжело сказать, что является стоящей технологией, а в чем больше маркетинга.
Может быть MS решила, как Sun Microsystems c Java EE создать стандарты, а потом зарабатывать
на консалтинге? Ибо при таком уровне сложности, без помощи корпорации MS тяжело будет
создавать программные продукты?
В отличии от Java .Net может работать на только на операционных системах MS Windows,
но позволяет использовать для разработки много языков. Но уже в Java 6 Sun обявила о поддержке
скриптовых языков, первым стал JavaScript. То есть теперь можно разрабатывать приложения на платформе Jave на JavaScript. В Java встроен JavaScript движок Rhino и java.script API, который в перспективе может работать с любым скриптовым языком. Связано это, вероятно, с тем, что в последнее время стали очень популярны скриптовые языки, особенно при создании web-приложений.
Таким образом Sun начала движение в сторону многоязыковости платформы Java.
суббота, 17 января 2009 г.
суббота, 15 ноября 2008 г.
Кодировка UTF8 в PostgreSQL 8.3
После обновления Debian в нем одновилась и СУБД PostgreSQL до версии 8.3.
Тут начались чудеса с созданием БД. Наотрез отказывается создавать БД с кодировкой UTF8.
Аргументирует следующим:
Тут начались чудеса с созданием БД. Наотрез отказывается создавать БД с кодировкой UTF8.
Аргументирует следующим:
createdb: database creation failed: ERROR: encoding UTF8 does not match server's locale en_US
DETAIL: The server's LC_CTYPE setting requires encoding LATIN1
После непродолжительных исследований было выяснено, при установке пакета в Debian происходит
генерация схемы для сервера БД. При этом учитывается текущая локаль системы, у меня была en_US.
Сначала приводим текущую локаль системы в порядок, редактируем
файл /etc/locale.gen, где раскомментируются нужны локали,
затем перегенерация командой locale-gen.
В файле /etc/default/locale прописываем нужную локаль, например:
LANG=ru_RU.UTF-8
Затем, удаляем схему, которая была создана при инсталляции в /var/lib/postgresql/8.3/main/,
предварительно остановив сервер. Затем создаем новую схему нормальной локалью:
sudo postgres /usr/lib/postgresql/8.3/bin/initdb -D /var/lib/postgresql/8.3/main/
--locale='ru_RU.UTF-8' --lc-collate='ru_RU.UTF-8' --lc-ctype='ru_RU.UTF-8'
--lc-time='ru_RU.UTF-8'
После чего нормально создаются БД с UTF8.
среда, 12 ноября 2008 г.
Pre-alpha Haiku OS
В предверии выхода альфа-версии выпущена предварительная версия системы.
Взяв версию 28596 я там обнаружил немного прединсталлированного ПО,
в том числе проигрыватель VLC, Firefox и другое.

После установки OSS отсюда, наконец-то заработал нормально звук в VLC!
Хотя, согласно трекеру баг на эту тему еще не закрыт.
Видео и аудио можно смотреть, слушать из сети, хотя у VLC нет в меню соответсвующей возможности открытия потока, можно из терминала
сделать следующее:
/boot/apps/vlc/vlc http://some.com/file.avi
С USB-паматью работает нормально, это тоже радует.
Стабильность системы нормальная, вылетела в дебаггер один раз за несколько дней.
Систему можно легко обновить текущей сборкой, для этого нужно:
1) Скачать raw-образ, распаковать
2) смонтировать его в какую-либо точку в терминале:
mount haiku.image /tmp/a
3) Скопировать файлы из папки beos
4) после перегрузки имеем новую сборку
Итого: уже можно жить в системе.
Взяв версию 28596 я там обнаружил немного прединсталлированного ПО,
в том числе проигрыватель VLC, Firefox и другое.
После установки OSS отсюда, наконец-то заработал нормально звук в VLC!
Хотя, согласно трекеру баг на эту тему еще не закрыт.
Видео и аудио можно смотреть, слушать из сети, хотя у VLC нет в меню соответсвующей возможности открытия потока, можно из терминала
сделать следующее:
/boot/apps/vlc/vlc http://some.com/file.avi
С USB-паматью работает нормально, это тоже радует.
Стабильность системы нормальная, вылетела в дебаггер один раз за несколько дней.
Систему можно легко обновить текущей сборкой, для этого нужно:
1) Скачать raw-образ, распаковать
2) смонтировать его в какую-либо точку в терминале:
mount haiku.image /tmp/a
3) Скопировать файлы из папки beos
4) после перегрузки имеем новую сборку
Итого: уже можно жить в системе.
понедельник, 13 октября 2008 г.
Что такое Framework?
Часто, когда говорят о разнице между каркасом(famework) и библиотекой,
то указывают главное различее: при использовании библиотеки вы вызываете
код библиотеки на исполнение, а в случае с каркасом код каракаса вызывает
ваш собственный код. Но интересно: конкректно, на какие уровни жизненного цикла
программной системы накладывает ограничение каркас?
При составлении требований и анализе системы - ясно дело не идет речи о каркасе,
котроый будет использоваться.
А вот при выборе архитектуры системы как раз и есть зависимость от того, какой каркас
мы выбирем, ведь каркас реализует какую-либо архитектуру.
Далее при проектировании нужно учитывать специфику выбранного каркаса, например при проектировании
классов нужно позаботиться, чтоб классы имели требуемые свойства и методы с соответсвующими
сигнатурами.
При кодировании работа идует с готовой иерархией классов и для программиста накладывает
ограничения не каркас, а то как построенны классы при проектировании.
Итак, каркас затрагивает два этапа: архитектурное проектирование и основное проектирование. См. рис.1.
Согласно статьям на wikipedia.org, в которых делается ссылка на труд "Meta Patterns—A Means For Capturing the
Essentials of Reusable Object-Oriented Design" Вольфганда Прии, приложение созданное при использовании
каркаса состоит из холодных точек, которые описывают общую архитектуру программной системы и являются неизменными
в каждом экземпляре каркаса приложений. И горячих точек, представляющие собой код добавленный программистом,
который реализует нужную функциональность согласно конкретному проекту.
Пытаемся изобразить это графически, голубые шарики - это объекты самого каркаса,
а красные разработанные в рамках конкретного проекта. См. рис 2.
На рисунке, показан каркас, реализующий архитектуру MVC.
Например, "Вид" у нас реализован в помощью каких-либо визуальных объектов,
которые организуют GUI, контроллер - несколько объектов, которые живут в сервере приложений,
а модель - это реляционная база данных с хранимыми процедурами.
то указывают главное различее: при использовании библиотеки вы вызываете
код библиотеки на исполнение, а в случае с каркасом код каракаса вызывает
ваш собственный код. Но интересно: конкректно, на какие уровни жизненного цикла
программной системы накладывает ограничение каркас?
При составлении требований и анализе системы - ясно дело не идет речи о каркасе,
котроый будет использоваться.
А вот при выборе архитектуры системы как раз и есть зависимость от того, какой каркас
мы выбирем, ведь каркас реализует какую-либо архитектуру.
Далее при проектировании нужно учитывать специфику выбранного каркаса, например при проектировании
классов нужно позаботиться, чтоб классы имели требуемые свойства и методы с соответсвующими
сигнатурами.
При кодировании работа идует с готовой иерархией классов и для программиста накладывает
ограничения не каркас, а то как построенны классы при проектировании.
Итак, каркас затрагивает два этапа: архитектурное проектирование и основное проектирование. См. рис.1.
Согласно статьям на wikipedia.org, в которых делается ссылка на труд "Meta Patterns—A Means For Capturing the
Essentials of Reusable Object-Oriented Design" Вольфганда Прии, приложение созданное при использовании
каркаса состоит из холодных точек, которые описывают общую архитектуру программной системы и являются неизменными
в каждом экземпляре каркаса приложений. И горячих точек, представляющие собой код добавленный программистом,
который реализует нужную функциональность согласно конкретному проекту.
Пытаемся изобразить это графически, голубые шарики - это объекты самого каркаса,
а красные разработанные в рамках конкретного проекта. См. рис 2.
На рисунке, показан каркас, реализующий архитектуру MVC.
Например, "Вид" у нас реализован в помощью каких-либо визуальных объектов,
которые организуют GUI, контроллер - несколько объектов, которые живут в сервере приложений,
а модель - это реляционная база данных с хранимыми процедурами.
воскресенье, 31 августа 2008 г.
Установка Haiku OS
В почтовой рассылке проекта Haiku OS началось обсуждение альфа-версии первого релиза R1, поэтому захотелось попробовать какова система на сегодняшний день(r27227).
Для пробы проект Haiku предлагает ежедневные сборки, которые можно тестировать в виртуальной машине или установить на диск. Хотелось проверить именно на реальном железе.
В моем распоряжении находился компьютер с Debian GNU/Linux. Ознакомившись с документацией:
1) How To Get Haiku Booted
2) Building Haiku on Ubuntu Linux, Step by Step
Пришел к выводу, что самое правильное собрать Haiku из исходников прямо под Linux.
Дойдя до этапа компиляции из двух вариантов: сборки с GCC 2.95 или GCC 4.x,
выбрал четвертую версию, думая, что это более прогрессивно. Замечания о том, что это ломает бинарную совместимость с BeOS R5, проигнорировал.

На заключительном этапе, каогда уже все собрано и файлы скопированы на раздел произошел сбой команды makebootable, в результате загрузка с раздела Haiku не получалась. Тогда загрузившись с BeOS LiveCD, раздел был сделан загружаемым. После чего удалось загрузить Haiku.
Система грузится довольно быстро, но чуть медленнее, чем BeOS R5. Сеть заработала, драйвер для сетвой был в комплекте с ОС. Видео настраивается нормально. Звука нет.
Не пошел firefox, ругался на libstdc++.r4.so, которой нет в системе. Стало ясно, что Firefox собирается для BeOS R5, с которой нет совместимости в моей сборке.
Просто взял готовый образ и установить его:
Звук удалось сделать установив OSS, до этого была неудачная попытка скопировать драйвера с диска с BeOS.
В итоге можно ходить по интернету и слушать музыку. В настройках мультимедия стоит режим реального времени для медиа-сервера, но когда система загружается чем-то другим, звук заикается. С видео проблемы, штатный MediaPlayer не играет нормально видео. А VLC, хоть и показыает видео без проблем, но вместо звука какие-то всхрипывания.
Вцелом система шустрая, Firefox, однако, работает помедленне, чем под Linux.
Стабильность нормальная, за несколько часов работы подвисаний или ухода в отладчик не замечено. Программы для BeOS R5 запускаются. Если решатся проблемы с VLC, то можно подумать о использвании ежедневно.
Для пробы проект Haiku предлагает ежедневные сборки, которые можно тестировать в виртуальной машине или установить на диск. Хотелось проверить именно на реальном железе.
В моем распоряжении находился компьютер с Debian GNU/Linux. Ознакомившись с документацией:
1) How To Get Haiku Booted
2) Building Haiku on Ubuntu Linux, Step by Step
Пришел к выводу, что самое правильное собрать Haiku из исходников прямо под Linux.
Дойдя до этапа компиляции из двух вариантов: сборки с GCC 2.95 или GCC 4.x,
выбрал четвертую версию, думая, что это более прогрессивно. Замечания о том, что это ломает бинарную совместимость с BeOS R5, проигнорировал.

На заключительном этапе, каогда уже все собрано и файлы скопированы на раздел произошел сбой команды makebootable, в результате загрузка с раздела Haiku не получалась. Тогда загрузившись с BeOS LiveCD, раздел был сделан загружаемым. После чего удалось загрузить Haiku.
Система грузится довольно быстро, но чуть медленнее, чем BeOS R5. Сеть заработала, драйвер для сетвой был в комплекте с ОС. Видео настраивается нормально. Звука нет.
Не пошел firefox, ругался на libstdc++.r4.so, которой нет в системе. Стало ясно, что Firefox собирается для BeOS R5, с которой нет совместимости в моей сборке.
Просто взял готовый образ и установить его:
dd if=/path/to/image of=/dev/hdaXМанипуляции с BeOS LiveCD и makebootable пришлось проделать еще раз, зато заработал Firefox.
Звук удалось сделать установив OSS, до этого была неудачная попытка скопировать драйвера с диска с BeOS.
В итоге можно ходить по интернету и слушать музыку. В настройках мультимедия стоит режим реального времени для медиа-сервера, но когда система загружается чем-то другим, звук заикается. С видео проблемы, штатный MediaPlayer не играет нормально видео. А VLC, хоть и показыает видео без проблем, но вместо звука какие-то всхрипывания.
Вцелом система шустрая, Firefox, однако, работает помедленне, чем под Linux.
Стабильность нормальная, за несколько часов работы подвисаний или ухода в отладчик не замечено. Программы для BeOS R5 запускаются. Если решатся проблемы с VLC, то можно подумать о использвании ежедневно.
Подписаться на:
Сообщения (Atom)