-
Как считается TIOBE индекс?
Прочитал новость на слэшдоте о новых данных по TIOBE индексу языков программирования за Апрель 2010 года (оригинальную статью можно прочитать здесь): Position Apr 2010 Position Apr 2009 Delta in Position Programming Language Ratings Apr 2010 Delta Apr 2009 Status 1 2 C 18.058% +2.59% A 2 1 Java 18.051% -1.29% A 3 3 C++ 9.707%…
-
Стимуляторы
Приготовление стимуляторов мозговой активности программиста в офисных условиях (кроме эспрессо)… Поскольку не в каждом офисе есть эспрессо машины для приготовления хорошего кофе (а выпить какого-нибудь бодрящего напитка очень хочется), предлагаю три способа приготовления различных альтернативных напитков. Они подходят не только для программистов, но и вполне бодро могут употребляться другими офисными сотрудниками. Основной отличительной их чертой…
-
Учебное пособие по Scala. Вольный перевод.
В связи с малым количеством (на момент публикации этого поста) полноценных учебных материалов по языку программирования Scala на русском языке , постарался сделать простой перевод краткого пособия. Оригинальная статья лежит здесь http://www.scala-lang.org/docu/files/ScalaTutorial.pdf Корректура текста будет осуществляться после публикации, по ходу получения отзывов, комментариев и повторной вычитки. Возможно, через некоторое время выложу PDF-версию. Scala Tutorial. Авторы:…
-
Хранение семантических данных. Связка: Jena / Jenabean + Sparql
1. Jena В поисках средств для работы с семантическими данными (semantic web) на java можно наткнуться на следующие решения: Jena JRDF Sesame В данной статье я хочу рассмотреть работу только с Jena. Этот фреймворк достаточно богат по набору полезных фишек, например он позволяет работать с RDF, RDFS, OWL, осуществлять запросы через SPARQL, есть возможность читать…
-
GWT 2.0 + GXT (Ext GWT) + Maven
1. GWT (Google Web Toolkit, произноситься: /’gwit/). На момент написания поста текущая версия – 2.0.3. Загрузить можно с официальной страницы GWT – http://code.google.com/intl/ru/webtoolkit/download.html. Вкратце механизм работы GWT можно описать так. Исходный код пишется на Java, затем он транслируется в JavaScript, в результате получаются несколько версий программ для разных браузеров (Firefox, IE, Safari, Google Chrome, Opera…
-
деревья и реляционные базы данных. вложенные множества.
Для работы с древовидными (иерархическими) структурами в первую очередь следует постараться понять какие действия будут осуществляться часто, а какие эпизодически. Цель статьи не описать все возможные способы хранения таких данных, а в сжатом виде виде описать два часто встречающихся подхода и область их наилучшего применения. 1. Узел хранит информацию о родителе. Это классика. CREATE TREE_NODE…
-
Сортировка за O(N)-время
Случайно наткнулся на статью на java.dzone.com – Fast O(n) Integer Sorting Algorithm! Всегда считал что O(n*log(n) ) это очень хороший показатель. Например, стандартная реализация сортировки в Java 6 является слегка модифицированным вариантом merge sort, которая соответственно дает время n*log(n). Получить ультра ускорялку сортировки можно используя дополнительные хитрости: используя дополнительные знания о самих объектах которые мы сортируем…
-
шаблоны проектирования
GoF Шаблоны проектирования При работе с шаблонами мне интересен был в первую очередь практический аспект. Сейчас в 2010 году уже существует достаточно много информации и учебников по шаблонам проектирования как в интернете, так и в печатных изданиях. “Классикой жанра” считается книжка “банды четырех” (англ: “Gang Of Four” или просто GoF) – книга написанная Эрихом Гаммой…
-
UML. Диаграммы классов. Отношения
шпаргалка – мини-справочник по отношениям между классами: агрегация, наследование и т.д.
-
Нефункциональные требования к проектируемому ПО.
Scalability, Extensibility, Maintainablity , Availability, Manageability и Reliability