Pull to refresh
15
Karma
0
Rating
vuspenskiy @vuspenskiy

User

Scala Moscow User Group, встреча 14 марта 2014

TINKOFF corporate blog Scala *Functional Programming *
В прошлый раз мы провели ознакомительную встречу. Собралось около 25 человек, мы узнали кто в Москве занимается разработкой на Scala и какие есть интересные проекты. Главной темой выбрали курс по реактивному программированию на Coursera, который как раз тогда подходил к концу.

В этот раз мы соберёмся послушать и обсудить два доклада:
  1. Алексей Иванов приедет из Питера и расскажет доклад «Monadic Bakery with Spray and Scalaz»,
    про то почему Spray и ScalaZ — не страшные звери, а хорошие друзья;
  2. Владимир Успенский расскажет про теорию типов и тем, как она связана с обычной разработкой в докладе:
    «Теория типов, или как мы занимаемся математикой, программируя на Scala».

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


Узнать, как прийти на встречу
Total votes 20: ↑18 and ↓2 +16
Views 5.8K
Comments 13

Principles of Reactive Programming в Москве

TINKOFF corporate blog Scala *
Дорогие коллеги и энтузиасты разработки на Scala!

Скоро заканчивается курс по основам реактивного программирования на coursera.org. Все лекции опубликованы, и задания уже ждут последних сроков.

Курс оставил много впечатлений и вопросов, многие вещи ещё хочется обсудить. Давайте соберёмся, посмотрим вместе последние лекции о scalability, responsiveness и несколько других на выбор, а после обсудим, как лучше всего впустить реактивность в нашу жизнь.

Чай, кофе и печеньки, разумеется, будут.

Для начала количество участников будет довольно ограничено,
пишите мне на почту v.uspenskiy@tcsbank.ru, постараемся все уместиться.

Будем с нетерпением ждать вас в следующий четверг 26 декабря в 20:00, в нашем офисе на водном стадионе.
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 6K
Comments 3

Работа с реляционными базами данных в Scala

TINKOFF corporate blog Scala *Functional Programming *
Добрый день, сегодня хотелось бы рассказать, как наша команда работает с базами данных. У нас в компании в основном используется Oracle и в нашей команде много людей, кто умеет хорошо его готовить. Нам изначально хотелось получить полный доступ к его возможностям: иерархическим запросам, аналитическим функциям, передаче объектов и коллекций, как параметров запросов, и, может быть, если не будет другого способа — хинтам. Модель у нас не очень сложная, поэтому сознательно отказались от ORM.

В качестве основы взяли Apache DbUtils и сделали для него простую обёртку на Scala. Ниже я расскажу, как возможности Scala, особенно её последней версии 2.10, помогли упростить работу с базой данных.

А пытливых читателей, кто дочитает до конца, ждёт сюрприз.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Views 17K
Comments 23

Scala WAT: Коллекции

TINKOFF corporate blog Scala *
Tutorial
В прошлый раз мы разбирались с обработкой опциональных значений, выяснилось, что неправильно воспользовавшись элегантными средствами библиотеки Scala, можно продолжать стрелять себе по ногам.

В этот раз перейдём к коллекциям. Стандартная библиотека для коллекций в Scala настолько богата, что может предложить готовые методы даже для самых требовательных разработчиков. В каких случая применять какие методы обычно не описывается и всё познаётся на опыте. Обычно, в начале все узнают filter и map, на этом дело может ограничиться, ведь с определённой фантазией можно реализовать множество алгоритмов только на этих функциях. Однако, эти способы могут быть неоптимальны или рождать невозможные для предметной области результаты, которые, однако же, придётся обработать.

Ниже мы обсудим, какие функции стандартной библиотеки часто используются неправильно и что можно улучшить.
Читать дальше →
Total votes 44: ↑39 and ↓5 +34
Views 16K
Comments 5

Scala WAT: Обработка опциональных значений

TINKOFF corporate blog Scala *
В сети и на Хабре уже довольно много статей вводного уровня про то, как начать писать на Scala, и раскрывающих особенности функционального подхода.

Какое-то время назад мы полностью перевели на Scala один из основных для веба проектов. За это время я наблюдал эволюцию разработчиков, включая свою собственную, и у меня скопился объёмный список конструкций, которые тянет написать, если вы раньше писали на Java, и для которых правильное решение на Scala может не быть сходу очевидным. Данные рекомендации могут быть не очень понятны тем, кто до сих пор пишет на Java и не видел до этого код на Scala. Я не буду разъяснять работу стандартных функций и функциональных концепций, всё ищется по ключевым словам в сети.
Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Views 14K
Comments 23

Новый Интернет-банк Тинькофф Кредитные Системы

TINKOFF corporate blog
Привет всем! Тема создания финансовых приложений сейчас довольно актуальна, разные банки выпускают и обновляют свои веб-интерфейсы. Всем хочется дать клиентам простой и приятный способ работы со счетами.

Для нас создать новый Интернет-банк было одной из самых важных целей за прошедший год. У нас уже было несколько подобных решений в прошлом и нужно было сделать что-то сильно лучшее.

Мы изучали лучшие мировые продукты, смотрели что из этого подойдёт нашим клиентам, проектировали, разрабатывали, пытались пользоваться сами, если что-то не нравилось, делали заново. Было много дискуссий. И вот этим летом запустили свой новый Интернет-банк для клиентов.

Самое приятное, что с первой нашей попытки журнал Global Finance признал наш новый Интернет-банк лучшим в России за 2012 год, похоже, мы оказались на верном пути.

Ниже предлагается краткий обзор функционала и интерфейсов с большим количеством иллюстраций.

Читать дальше →
Total votes 28: ↑21 and ↓7 +14
Views 37K
Comments 61

Type classes в Scala

TINKOFF corporate blog Scala *
Recovery mode

В последнее время в сообществе Scala-разработчиков стали уделять всё большее внимание шаблону проектирования Type classes. Он помогает бороться с лишними зависимостями и в то же время делать код чище. Ниже на примерах я покажу, как его применять и какие у такого подхода есть преимущества.

Статься расчитана не только на программистов, пишущих на Scala, но и на Java — возможно, они получат для себя ответ, как, хотя бы в теории, выглядит решение для многих прикладных задач, в котором компоненты не связаны между собой и расширяемы уже после написания. Также это может быть интересно разработчикам и проектировщикам на любых других языках.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 22K
Comments 18

Scala Days 2012

TINKOFF corporate blog
Я очень люблю Scala, во многом благодаря моей любви, мы используем этот язык в своих проектах: писать на нём большое удовольствие. Уже пару лет я смотрел и подумывал поехать на Scala Days. В прошлом году они были в Калифорнии: прекрасное место, но достаточно далеко и поехать я не смог. В этом же году Scala Days проводили в Лондоне (17-18 апреля), это была отличная возможность, Лондон намного ближе к Москве чем Стенфорд, я выкоротал недолгий отпуск и поехал.



Ниже идёт обзор докладов, на которые я попал, и общие впечатления от мероприятия с фотографиями.
Читать полностью и смотреть много больших красивых фотографий
Total votes 12: ↑12 and ↓0 +12
Views 8.5K
Comments 5

Автоматическая проверка качества Java-кода (итерация 1)

TINKOFF corporate blog
Инспектор
Данный цикл статей я планирую, как историю в нескольких частях о том, как настраивается автоматическая проверка качества кода в нашем проекте. Процесс этот, вроде бы простой, оказался полным неочевидных деталей, так что появилось желание разъяснить подстерегаютщие трудности и их решения широкой аудитории, чтобы все могли сделать свой код чуть лучше, обойдя побольше грабель.

В итоге хочется добиться того, чтобы инспекции, проверка стилей, и вычисление метрик гонялись на сборочном сервере, тогда всем будет понятно в каком состоянии находится проект. Причём, в идеале, все те проверки, которые срабатывают на сервере должны срабатывать и в IDE, чтобы замечания к своему коду можно было устранять до того, как о них узнает вся команда. По мере совершенствования подходов, итерации будут дописываться и публиковаться.

В этой итерации, я буду настраивать проверку инспекций. Мы всей командой используем IntelliJ IDEA и TeamCity компании JetBrains, поэтому можно использовать те средства, которые они предоставляют. Для начала в IntelliJ IDEA будет настроен профиль инспекций, соответствие кода которому будет проверяться при каждой сборке при помощи TeamCity. Метод это штатный и описан в официальной базе знаний по TeamCity, но не всё получалось очень гладко…
Копаем!
Rating 0
Views 6.1K
Comments 2

Простая компиляция Scala-кода во время исполнения

TINKOFF corporate blog
Итак, приступим пожалуй. Я люблю Scala не только за то, что она позволяет писать в два раза меньше кода, чем на Java. Понятного и выразительного кода. Помимо этого на Scala можно делать вещи вообще недоступные разработчикам на Java: generic’и высшего порядка, узнавать типы generic’ов в runtime при помощи манифестов.

Одна из таких вещей, о которой пойдёт речь — это компиляция Scala-кода во время исполнения программы. Это может быть нужно, когда хочется выполнить приходящий из удалённого источника код или написать самомодифицируемую программу, аналог функции eval в JS.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 8.3K
Comments 7

Invitation to try Google App Engine

Lumber room
Гугл сегодня прислал:

Hello,

Thanks for signing up to try Google App Engine! Your account has been activated, so you can begin building applications!

To start creating applications with Google App Engine, simply follow this link (you may need to sign in with your xxx Google Account) and verify your account with a mobile phone number:

appengine.google.com


Уж не знаю чем напросился на приглашение, но погляжу. Интересно зачем они сделали авторизацию через мобильник. Наверняка базу мобильных номеров собирают :)

Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Views 223
Comments 10

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity