Archive

Posts Tagged ‘Программирование’

Работаем с Mono. Часть 1: Основные принципы Mono, инструменты, создание простейшего приложения

Ноябрь 26th, 2010

Источник

Mono — программная платформа, позволяющая разработчикам достаточно просто создавать развитые кроссплатформенные приложения. Технология Mono разрабатывается в виде open source реализации технологии .NET Framework от Microsoft и поддерживает стандарты ECMA-334 (стандарт языка C#) и ECMA-335 (стандарт среды исполнения (Common Language Runtime, CLI). Открытость указанных стандартов позволяет уменьшить проблемы создания кроссплатформенных приложений.

В базовом варианте Mono состоит из нескольких компонентов:

  • Компилятор языка C# — компилятор с полной поддержкой версий 1.0 и 2.0 языка C#. Кроме того в последних версиях поддерживаются практически все возможности версии C# 3.0, а начиная с версии Mono 2.6 включена поддержка возможностей версии C# 4.0 (пока только как опция, полноценная поддержка заявлена в версии 2.8).
  • Среда исполнения Mono — состоит из среды исполнения (CLI) непосредственно, компилятора среды исполнения (Just-In-Time, JIT), генератора машинного кода (Ahead-Of-Time, AOT), загрузчика сборок, сборщика мусора, подсистемы управления многопоточностью и компонентов поддержки взаимодействия между сборками и COM (или аналогами в Linux, например XCOM).
  • Базовая библиотека классов — набор стандартных классов, совместимых с классами Microsoft .NET Framework.
  • Библиотека классов Mono — набор классов, поддерживающих дополнительные функции для разработки Linux-приложений. Например, классы для поддержки Zip, OpenGL, Cairo, Gtk+.

Read more...

, , , , , , , , ,

5 вещей, которых вы не знали о многопоточности

Ноябрь 14th, 2010

Источник

Хоть от многопоточности и библиотек, которые её поддерживают, отказываются немногие Java-программисты, но тех, кто нашёл время изучить вопрос в глубину ещё меньше. Вместо этого мы узнаём о потоках только столько, сколько нам требуется для конкретной задачи, добавляя новые приёмы в свой инструментарий лишь тогда, когда это необходимо. Так можно создавать и запускать достойные приложения, но можно делать и лучше. Понимание особенностей компилятора и виртуальной машины Java поможет вам писать более эффективный, производительный код.

В этом выпуске серии «5 вещей …», я представлю некоторые из тонких аспектов многопоточного программирования, в том числе synchronized-методы, volatile переменные и атомарные классы. Речь пойдет в особенности о том, как некоторые из этих конструкций взаимодействуют с JVM и Java-компилятором, и как различные взаимодействия могут повлиять на производительность приложений.

Read more...

, , , , , , , , ,

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

Ноябрь 13th, 2010

Источник

Разработчики могут использовать платформу YouTube, чтобы реализовать запись, загрузку, отправку и воспроизведение видео в своих мобильных приложениях. Это упростит работу и улучшит качество их конечных продуктов. В этой статье освещаются некоторые технологии, которые можно использовать в приложениях.

Read more...

, , , , , , ,

The Spring framework: Основы

Ноябрь 3rd, 2010

Источник

Spring это легковесный opensource J2EE Framework, разработка которого началась в феврале 2003 года. Основой послужил программный код, опубликованный в книге Expert One-on-One Design and Development (2002 год). Причем основные идеи возникли еще в 2000 году и являлись отражением опыта успешной разработки нескольких коммерческих проектов.
Сейчас Spring это достаточно популярный opensource проект, охватывающий многие аспекты как J2EE, так и Java разработок.
Целью данной статьи является описание архитектуры и основных возможностей Spring.

Read more...

, , , , ,

Оптимизация Java программ

Октябрь 27th, 2010

Источник

"Необдуманная оптимизация является первопричиной всех бед"
Дональд Кнут

С развитием технической базы и постоянным увеличением мощностей современных компьютеров забота о качественном программировании с точки зрения оптимизации по скорости выполнения кода потихоньку стала все меньше и меньше беспокоить умы программистов. Теперь внимание приковано к таким технологиям как распределенное программирование и компонентный дизайн. Зачем заботиться о скорости выполнения твоей программы, когда можно оформить часть кода в виде отдельного компонента и положить на какой-нибудь быстрый сервер, который в течение нескольких секунд справиться с проблемой, ставившей в тупик твой слабый по мощности компьютер. Затем можно просто обратиться из клиентской программы за результатами вычислений – и это не единственный сценарий, где современные технологии приходят на помощь при сложных и трудоемких вычислениях.

Read more...

, , ,