Successfully reported this slideshow.
Использование scalaдля backend задач.<br />Эдуард Клементьев<br />eklementiev@gmail.com<br />GGA Software Services<br />
Проект: iamscientist.com<br />Научная социальная сеть<br />Цели:  создание научного сообщества онлайн, быстрый поиск экспе...
Где используется scala.<br />Импортеры raw данных.<br />Обработка: валидация, кластеризация профайлов (работа с векторами)...
Почему scala?<br />Scalavs Ruby<br />Scalavs Java<br />
Почему не ruby?<br />Производительность<br />Отсутствие статической проверки типов<br />Отсутствие нормальной поддержки па...
Почему не java?<br />Громоздкий код<br />Отсутствиемножества фич, которые делают разработку приятней и код более читаемым ...
Scala<br />Выполняется также быстро как и java(jvm)<br />Код такой же компактный как и на ruby<br />Статическая проверка т...
Архитектура.<br />    S3<br />Mongodb<br />    S3<br />Web applications<br />and services<br />Importer<br />Raw data<br /...
Приложение<br />Интерфейс командной строки<br />Deployment: capistrano<br />Задачи раздаются с помощьюэкторов.<br />Для не...
Concurrency<br />Actors from scala standard library<br />Akkaactors<br />
Concurrency<br />Amazon ec2 nodes<br />Master<br />Do some job<br />Scala daemons<br />s3<br />EC2<br />
Сборка проекта<br />Sbt: simple build tool<br />Convention over configuration<br />Scala DSL для конфигурования<br />Загру...
Teстирование<br />Scala specs (порт rspecдля scala)<br />Internal DSL для написания тестов.<br />
Работа с jsonи mongodb.<br />Json: org.json (java)<br />Mongodb (bson): java driver<br />Обертки на скала для преобразован...
Спасибо за внимание.Вопросы?<br />
Upcoming SlideShare
Loading in …5
×

Эдуард Клементьев «Использование Scala для backend задач»

2,113 views

Published on

Published in: Technology
  • Be the first to comment

Эдуард Клементьев «Использование Scala для backend задач»

  1. 1. Использование scalaдля backend задач.<br />Эдуард Клементьев<br />eklementiev@gmail.com<br />GGA Software Services<br />
  2. 2. Проект: iamscientist.com<br />Научная социальная сеть<br />Цели: создание научного сообщества онлайн, быстрый поиск экспертов<br />Задачи: агрегация и кластеризация контента о научных публикациях<br />
  3. 3. Где используется scala.<br />Импортеры raw данных.<br />Обработка: валидация, кластеризация профайлов (работа с векторами), определение уникальных статей и слияние, построение полнотекстовых индексов.<br />Импортеры в базы данных. Mongodb, Solr.<br />
  4. 4. Почему scala?<br />Scalavs Ruby<br />Scalavs Java<br />
  5. 5. Почему не ruby?<br />Производительность<br />Отсутствие статической проверки типов<br />Отсутствие нормальной поддержки параллельного программирования<br />
  6. 6. Почему не java?<br />Громоздкий код<br />Отсутствиемножества фич, которые делают разработку приятней и код более читаемым (closures, mixins,implicit conversions, …)<br />
  7. 7. Scala<br />Выполняется также быстро как и java(jvm)<br />Код такой же компактный как и на ruby<br />Статическая проверка типов<br />Программирование в функциональном стиле<br />Параллельное программирование<br />
  8. 8. Архитектура.<br /> S3<br />Mongodb<br /> S3<br />Web applications<br />and services<br />Importer<br />Raw data<br />Workers on ec2 cloud<br />
  9. 9. Приложение<br />Интерфейс командной строки<br />Deployment: capistrano<br />Задачи раздаются с помощьюэкторов.<br />Для некоторых задач используется hadoop.<br />
  10. 10. Concurrency<br />Actors from scala standard library<br />Akkaactors<br />
  11. 11. Concurrency<br />Amazon ec2 nodes<br />Master<br />Do some job<br />Scala daemons<br />s3<br />EC2<br />
  12. 12. Сборка проекта<br />Sbt: simple build tool<br />Convention over configuration<br />Scala DSL для конфигурования<br />Загрузка зависимостей из maven репозиториев <br />
  13. 13. Teстирование<br />Scala specs (порт rspecдля scala)<br />Internal DSL для написания тестов.<br />
  14. 14. Работа с jsonи mongodb.<br />Json: org.json (java)<br />Mongodb (bson): java driver<br />Обертки на скала для преобразования в нативные коллекции<br />
  15. 15. Спасибо за внимание.Вопросы?<br />

×