← All posts tagged Scala

Для тех кому интересно одно из интересных применений Agent Oriented парадигмы, Prolog – ted.com . Я не совсем уверен кто это конкретно такой, но мой клиент работает с их отделом в MIT ^_^. Reverse Engineering of Brain. Хотя если честно, в основном пялимся в Excel.

simply.liftweb.net Нет ну я не понимаю, почему книги по фреймворку начинают с задницы. Сначала мы напишем чат, потом давайте научимся строить карту сайта и компоненты. А что бы научиться по назначению использовать Record и Mapper, нужно прочесть всю книгу. Ну почему нельзя начать книгу с Овервью Фреймворка, потом с Моделей, Контроллера, Вид, Сниппеты. А не наоборот… Зачем делать компоненты для Вида.

Кстати книжки от Manning и от Apress – дико сосут. Manning начал флудить меня SBT, причем зачем то еще завязал на нем проект, и импортнул sbt._ в Project.scala. Apress начал издалека, Вместо того, что бы рассказать с Модели, или общей архитектуры, первые три главы — тупо перепечатываешь несколько ORM классов, видов, и сниппеты, без всяких объяснений зачем, почему и как.

Я тут перепаиваю свой MVCS фреймворк ^_^, в начале это был Mate-clone, но сейчас я отказался от механизма оповещения Event'ами. Вместо этого Router'ы (сам FrontController) принимает любые данные. Далее каждый Handler делает паттерн матчинг:
// Стандартный пример
<Route type="{ Event.COMPETE }" />
// Более экзотический:
<Route images="{ Array }" title="{ String }" resource_uri="my.ruby.app/restful/path/resource" />
В последнем случае, обработается ValueObject у которого images типа Array title — String и resource_uri вобщем понятно.

В скала все выглядит как flow-like код:
Route images ArrayList title String resource_uri ...
На самом деле это конечно же выглядит как последовательный вызов функций:
Route.images( ArrayList ).title( String ).resource_uri( ... ) ^_^ Правда Scala версия еще нифига не тестированная ^_^, через пару недель освобожусь и допишу.

Кто знает, что означает вот эта феня:

/org/codehaus/mojo
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.201s
[INFO] Finished at: Sat Jan 08 22:46:08 EET 2011
[INFO] Final Memory: 3M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] No plugin found for prefix 'archetype' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/Nirth/.m2/repository), central (http://repo1.maven.org/maven2)] -> [Help 1]


Когда пытаешься создать HelloWorld проект в Scala LiftWeb?

Кстати, это мне так кажется, или названия проектов (и частей в проектах) в мире Ruby более эксентрична и в чем то красива, нежели в остальных? cucumber, homebrew(with formulas), factorygirl, redcloth ^_^. Я скучаю по этим названиям тут сидя из маштабирки =)

Мне только что, полоскали мозги вот этой забавной плюшкой: findbugs.sourceforge.net – Findbugs. Якобы "находит" баги то ли семантическим то ли лексическим аналоизом байткода. Я слушал в полуха, но надо будет попробовать, и перечитать внимательней skype логи.

Скажите мне гуру HTML5, почему не принято писать JavaScript приложения, которые бы общались с бэкэндом CRUD операциями, и вместо этого использовать Template/View based фреймворки? Я не спорю с правильность, мне просто интересны причины.

Одна из самых бестолковых по моему вещей в Java и ActionScript это internal ( default ) акксесс — модифаер.
В скале это более разумно:
private[somePackage] val someVal = null
private[someOtherPackage] val someOtherVal = null
private[this] val secrets = null

В ActionScript для этго создавались публичные неймспейсы a la mx_internal. тут можно просто задать – куда, и что шарить.