Player is loading...

Embed

Copy embed code

Transcriptions

Note: this content has been automatically generated.
00:00:00
so have where thank you for chi i mean this is the last session for today so thank you for some live in
00:00:07
uh hopefully it'll take a lot of time so
00:00:12
d. s. colour if they know what's go away if
00:00:18
yes so for those who don't now it's collapses the parts cast
00:00:22
about scallop programming language and its community it's all about you people
00:00:27
and i'm the host only so i hope to sure is something to laugh with you today
00:00:34
so let's get started
00:00:36
um as i said i'm all we and i work
00:00:39
is the solutions architect at forty seven degrees consultant company
00:00:44
uh we're focused on functional programming use in its colour language and costly and and all related
00:00:50
technologies and would help our clients and one of
00:00:54
the areas that we've focused on his web services
00:00:58
and would build a beautiful framework for you called new in
00:01:03
order to help you to build your mike or services painlessly
00:01:07
still when i was preparing this presentation initially i
00:01:11
thought i would give you an introduction to service
00:01:15
oriented architecture to micro services to a. p. s. two rest to h. t. t. p. or so realisation
00:01:20
formats but there are less that you don't have to know that in order to use our library it's
00:01:27
all simple you don't have to know anything actually it is fashionable but you don't have to know that
00:01:34
okay yeah i had a proverb of headache like you want to change fill you want
00:01:39
to remove filled you want to add that and then you have binary incompatibility and then
00:01:45
all this generated code adam just gave a talk about
00:01:50
can currency and he was talking about things like manet x.
00:01:53
um aqua or style and that's what i wanna use right
00:01:59
but what i have now is that the generated code for
00:02:02
my product will have or has future the future to worry about
00:02:08
nothing else and o. f. u. allows you to abstract alright so i want to go ahead and show
00:02:16
how it is that so in order to define your first
00:02:20
micro service only need to do is to use this to annotations
00:02:24
message this is the uh tax case class which eventually will be syria lies
00:02:29
in the sterile i sent one network and this will be your rig faster response
00:02:35
and the service annotation would you put on the trade on your algebra and that's how you expose
00:02:40
in operation and it will be publicly available when
00:02:44
network that's simple that's it no more um protocol
00:02:50
specific definition no more thinking only got i need to put the egg is it used is it not
00:02:57
nothing like that so and i encourage you to use this cuter eighteen plate
00:03:03
to start to build a new mac or service on the local machine right now
00:03:08
because that's that's that's a pretty simple to come on ah to
00:03:14
comment is between you and the server but you need to publish um
00:03:21
part of the server so that the generated code would be available on a client as well
00:03:25
and then you run the server so i. e. it didn't started it that here
00:03:32
you go so and the second come on for the client uh which will be
00:03:37
use in the it published artifact inside so this example is just a
00:03:43
simple ping pong game were condescending bean and a fairer response was pong
00:03:51
very simple i i don't super easy for that um let's take a look at how we build my per service it's
00:03:59
what you're dealing micro service which you really want to do is fox on
00:04:03
the basis logic on the core the thing that makes your project is unique
00:04:09
but instead you have to deal with transportation where you have to look at the product balls are p.
00:04:15
c. h. t. t. p. message proper is something else if you have to look at the c. realisation
00:04:20
jason have are proud about threes maybe something that you build in house
00:04:25
uh the four forty seven degrees that worked at expedia and uh we had our own
00:04:30
sorrows haitian format cause call tassel or it's open source you can take a look but um
00:04:36
you don't have to basically when you add a comment there and
00:04:41
you had a white space it will a result in the new version
00:04:50
not so funny also you need to look at the ways to profile a system
00:04:56
logan metrics instrumented really know what's inside system when you spend time an integration was it
00:05:02
all this frameworks which support each to be or whatever you
00:05:05
choose right and the problem is uh you need to decide
00:05:12
what to use at the beginning at the early stage of the project
00:05:18
and then the cost of the change will increase after well
00:05:23
because he deeply into your original choice and then say you were
00:05:30
building here in new shiny e. p. i. like what do you do
00:05:33
research right you google it and you can find that uh it's widely discussed over internet
00:05:41
and you start to think okay the first thing is the uh message sites
00:05:47
i want to send as last abides over network as possible right
00:05:53
then how fast is this or lesser l. s. and things
00:05:56
like that but then the requirements that you have initially might change
00:06:03
this this might go another direction where you might need some distant something and now
00:06:10
here you go you know that uh however would be more compact but it's too late
00:06:17
it's really too late so we we're trying to solve this problem but before
00:06:22
i show you how to solve this i want to put one on few things
00:06:26
so if you take a look at the interface definition language
00:06:30
although they are very different from each other if they have um
00:06:36
things in common the first thing is a message
00:06:46
another one it's colour types ah each that
00:06:52
i. d. l. supports colour types that optional well use call products or enumeration it's
00:06:59
nested types as well collections and it's interesting in prague about there is no
00:07:05
actual connection but uh a collection but um there is a key where it okay
00:07:12
repeated which means that there will be a repeated records which eventually you can combine and
00:07:19
create a list of it or whatever you use in your language is not just realised
00:07:23
alright and the service is the least of operations which are will be exposed for a server
00:07:33
so it's not specific to product or however it's also true false relieved
00:07:38
for albany p. i. g.'s on a. p. i. jason schema for all of them
00:07:47
but still there there is a difference let's let's take a look at how how we actually even called the product off
00:07:54
so each probable field has the tide imitation and
00:07:58
uh i'm still tax bill tech is a number and
00:08:05
if you take a look at this example it a field
00:08:08
he has a type integer and number one then um field name
00:08:16
type of screen 'cause attack too and they has to be unique
00:08:23
so this tax are compact way to refer to specific field
00:08:29
without having to ah spelling out the full name of it
00:08:35
so in j. someone for example if you call the
00:08:37
field a and then rename it somehow then instead of a
00:08:43
one byte it will take as many but says that as as long um it is the length of your new name
00:08:50
so we'll send out more information were network whereas it just the name
00:08:56
don't have to be seen so how included information looks like the first bite
00:09:01
a zero eight is for a tag and type combine
00:09:06
then uh it's followed by the well you so ninety six
00:09:10
a zero nine is a one hundred
00:09:13
fifty in a um variable sized integer notation
00:09:19
i'm cindy in high to marketing which martin can you guess
00:09:25
then uh twelve is the same thing for the screen and the it's attack
00:09:30
a full by the size of the screen martin six letters
00:09:35
and a number six and then in court it so overall
00:09:40
uh it to us eleven bytes to in called us
00:09:45
so let's take a look at ever immediately you can see no tax and in fact
00:09:51
this format does not use um does not
00:09:55
in cold type information were tacked information and
00:10:02
it has a downside both reader and writer has has to have the same
00:10:09
a schema otherwise they will not be able to read the message
00:10:15
it just impossible because you don't have enough information you don't you don't
00:10:18
know type eternal tech you don't know named you don't know nothing that
00:10:23
on the other side it to cost ten bytes
00:10:26
this is a simple example i want to point that it's only
00:10:30
two fields in the very short message but it's already ten percent difference
00:10:36
it can be more or less dependent get data that uh if
00:10:40
you count that you have like a million freak that's per second
00:10:44
then you can understand that this is tremendous difference and that's why it's very important to peak
00:10:50
um the correct date as the realisation so
00:10:56
of course i did not cover everything but i i just want it to you to have some intuition why it's important
00:11:03
and the trees a great article about our
00:11:06
particle comparison reason by um martin clever i believe
00:11:11
uh so i encourage you to uh check it out inside meal we used to libraries p. b. they're cracked and
00:11:18
other for acts which allows us to a zero ice
00:11:23
directly from case classes from its colour classes two bytes read
00:11:29
so we don't have to uh use protocol different dot product files or in a very d. l. files
00:11:35
it does exactly what the excessive the exercise that we need a manually
00:11:41
it does it automatically but i'm i'm also right in another part custom russian about colour again
00:11:48
yes yeah i i i love it or whatever and uh one of my
00:11:54
house um started to write this library called you go if you go visit marshall
00:12:01
uh from soviet union and it's because it's modular joke yeah so if you get frustrated a little
00:12:10
bit that could be direct was um it is uh it depends on um google part about library
00:12:18
oh which means that it's our allies it everything into back
00:12:21
screen but what he wanted is to use aqua h. t. b.
00:12:26
which does not depend on black screen so he would need to um transform that
00:12:33
whatever do market map and and he didn't want that so he started this new project um and he's uh
00:12:40
big fan of as you did and that's the libraries
00:12:44
so it just zero i've ever seen in every bite
00:12:47
in you can then i'm not transform that for whatever
00:12:51
you want very flexible but it's like early stages but still
00:12:56
uh he uses a mac for their ration instead of like generic program in which
00:13:00
is used in others and if what i said does not make any sense for you
00:13:07
uh there is a talk given by not dost summit's set some it
00:13:11
uh last year and new york it's colour this he's the creator of um
00:13:17
stella p. b. he was talking exactly about this problem how to a
00:13:22
write the library which will um zero less colour classes in to by train
00:13:31
and how he covers
00:13:34
a run time reflection which is slow and painful
00:13:39
um generic program in shape less than um mark for for notations and uh
00:13:51
another example is zero it's kind of abandoned but it's a good uh example
00:13:55
of using scott a library to um just are all i censor ice rate
00:14:02
so let's go further now when we're
00:14:06
almost experts have we know that memory matters
00:14:12
now we want to take a look at performance so if
00:14:15
what is seven we asked our self hundred times what to use
00:14:21
r. p. c. work h. t. t. p. h. t. p. or r. p. c. to be or not to be and now we build
00:14:29
you probably asked the same question yourself would build a project called matter far
00:14:34
which is available under forty seven degrees get hop ah which is benchmark out
00:14:42
compare is h. t. t. p. and want versus r. p.
00:14:45
c. product and the wind and the r. p. c. average point
00:14:51
yep jerky seeking use whatever sir relation for remote you give
00:14:54
it but your business is just to provide a marshal or
00:15:00
if so here we can see it's on my local machine
00:15:06
that are p. c. was fraud is much more uh off faster what is much faster than others
00:15:13
then even have or every still twice as fast as a h. t. p. rest and point it at
00:15:19
this age to be uses h. t. t. p. four s. um others use new of course i know
00:15:28
but i i want to point that it does not mean
00:15:32
that each to be russ should be deprecated dress to use cases
00:15:37
dredged knowledge is which make it up ah better for usage like cash
00:15:44
a lot of others so this is example on no i'm
00:15:48
right and the same thing on the google clout maybe it's workfare
00:15:55
or p. c.
00:15:57
is almost the same still different it's a it's a fairly simple project
00:16:03
probably everyone at least once um had read in it it's like three eight
00:16:10
percent create get person get in for for person at least of the person
00:16:16
compose all of them were fashion for we lack control to we should check
00:16:24
composition
00:16:27
so
00:16:29
that's how painful were how long the investigation usually takes
00:16:38
and then he realised okay now i'm absolutely sure i'm using
00:16:43
r. p. c. was for bob but then something change and your electronic mail
00:16:49
impossible i i already stocked was brought above see
00:16:53
this service annotation has one parameter for above and talk
00:16:59
i'm sending love letters seem proud about yeah so and this is a trick this is a trick
00:17:09
okay how you change that for two of or with me or simple i'm actually i'm impressed
00:17:17
i haven't seen that before it's so easy i i just change one one ah parameter and patient here you go
00:17:25
i can take advantage of uh
00:17:30
smaller side this messages right
00:17:35
again sending love letters or
00:17:41
what about the rest rest was me relax was near take a break with new huh i thought
00:17:47
we we should we should say uh something about lever or like have a fantastic the right in
00:17:55
more scholar well not writing are pretty stuff not take a
00:18:00
we're about this so say you have something which you already exposed where r. p. c.
00:18:07
using our right and you want to you extolled the same thing with age to be
00:18:13
it's often times it happens when you might rate something when you have different clients one of them once each to
00:18:20
be another one or p. c. for legacy problem or for
00:18:23
whatever other things and uh we have another annotation for that
00:18:30
h. t. t. p. so now it is available wherein ah each to be
00:18:36
only need to do here i want to point at the threat lines or something
00:18:40
ah for me you generated by him you were part of new a library
00:18:45
so here ah it would generate a route and the client for you
00:18:51
so you can use it and to provide a host and port
00:18:57
and writing this is logical that i'm only
00:19:01
and that's all you need to do a sticky stuff that's fascinating isn't it
00:19:09
so i went to a meeting over you off white new stuff so i'm communication where is the
00:19:18
it's all we support your p. c. and press the p. i. ah on
00:19:22
some realisation jason avarice and protocol buffers and it can be easily stand metrics
00:19:29
it is important to know what's going on with your system right and it's really easy to integrate with
00:19:35
for me this and drop is or which are the most important things are here from metrics i think
00:19:42
then security string bean yesterday mean we want to use efforts
00:19:48
to wreck the first real rate or in an one x. observable
00:19:54
and schema definition if you for some reason need
00:19:59
broader or yeah but you deal fall so far we didn't look at called much but i want us
00:20:05
to know how to actually implement the service so let's take a look uh it's a simple example this
00:20:12
which takes two integers and some them and return it
00:20:15
right so are predictably you need to write a business logic
00:20:23
some them and for often side there's nothing fancy in here uh
00:20:29
you need to provide implicit evidence that will be used um later on
00:20:34
ah mass service double answer is is generated by mew
00:20:39
and uh it provide a service definition of what methods will you have ah what
00:20:46
types of parameter it takes and what it returns request response and they met me
00:20:52
at service just add that to a prop that
00:20:54
so that would be a available for um request registering
00:21:01
they're an um you build a server from this come thick and drop it inside your c. server dots
00:21:08
or or which provides a graceful shut down for a server so this this is all you need to write
00:21:16
your server
00:21:19
so the blue one is something your business logic or your configuration that you have to provide
00:21:26
they're red wine yes uh something generated by mew the rest is more
00:21:30
or less overlap weight but in comparison with other solutions it's much less
00:21:37
yeah
00:21:39
but
00:21:43
oh
00:21:46
so now we have a server it we would go on the sport if we want to build
00:21:52
a card as well and of course we need if brought to provide a channel on the same port
00:22:01
seem host the and again generated coat client which you
00:22:08
pass the word connection information and you a receiver resource
00:22:14
of your service and resources the class
00:22:17
from cats library is it um manages resources
00:22:23
so that they would allocate they would be leisurely allocated and
00:22:29
it will get rid of it once it's no longer news
00:22:34
and this is your business logic just say i used this service and call 'em method right
00:22:41
it just happens to be that it's the only method but it could be something different right that's it
00:22:50
server and client to testing can you imagine
00:22:55
now someone can actually imagine a interrupt feast on without testing but we're not like that um
00:23:03
yes so the reason added with service channel emu or p. c. testing package
00:23:11
which was which gives you a a
00:23:13
manner run an instance of circuits of server
00:23:18
so that he could test the uh communication with
00:23:22
clients without having um any type of side effects
00:23:28
here we're past the function on to check the result the blue
00:23:33
one but it can be anything you can be obstructed but the
00:23:36
point is that it's in memory and very convenient yeah it's all
00:23:41
possible because we used headless final notation which abstracts you from aspect
00:23:47
and you focus on your business logic and can check everything was out i'm messing with network
00:23:54
so we will never see you were a test failing because of network issues or anything
00:24:00
and if you're not familiar with checklist final and test and was tech was final i
00:24:06
grabbed a few links i really like to talk a lookup uh he gave it that
00:24:12
lamb the world something to keep and she's talking exactly about this
00:24:17
how tech let's find house to stuff of then i need
00:24:22
to promote my meet up sorry come running meet up it's
00:24:26
all in battle the ah percent on you say so come
00:24:30
over if you're from there and that john because gave this
00:24:34
ah left called in session free factoring despotism x. re factoring from
00:24:39
the imperative style two functional programming to um checklist final step by step
00:24:46
it's interesting and that's all based on this paper of a lack a kiss alive
00:24:53
segments final working introduced the ah approach
00:24:58
it's ah trained in so if you're at in school you probably want to know about that and
00:25:04
please google there are a lot of articles logs talks are ah about that so it's easy to find
00:25:13
anyway so say you're working with other teams which use other languages
00:25:20
i don't know why they would do that but he's
00:25:23
everything style yeah so ah and you know you were given
00:25:30
the product definition in you want to do to do um it's colour classes
00:25:35
from it so there is a way um mood has it as the keep fighting
00:25:41
which allows you to generate exactly the same type of
00:25:44
definitions that was so before with annotations and number thing
00:25:48
i'm from ever prouder or they're all the way around is you were haven't someone
00:25:54
was right in in a remote got javascript you're given them up for the file
00:26:01
isn't this plugin as to commence off and it's all
00:26:05
possible because we have another project called skew morph and uh
00:26:13
in the beginning i was talking about communities that
00:26:16
uh all this schemas all this uh id else half
00:26:22
like messages option type level of and it's canonical schema definition
00:26:28
and comment from this chemical schema definition we can um generate other definitions
00:26:35
and it's based on the re carson schemes
00:26:40
so it's very have strict you don't have to mess with servers if you want to add you were um
00:26:47
i. d. l. you can go ahead and just say this
00:26:51
type maps just this type in canonical schema definition it's q. more
00:26:58
again if it doesn't make a lot of sense to you what it's for carson scheme uh
00:27:02
please check out the first episode of colour
00:27:05
up with fomenting causes he's basically obsessed with um
00:27:10
recursion schemes if the maintainer of colours the scheme uh and uh gave
00:27:16
a bunch of talks about that and uh in show notes you'll find
00:27:21
a lot of useful links does that also a checkout frosty it's
00:27:27
it is used inside skew more for recursion schemes for them uh i want to drop up with us
00:27:37
uh answering the question why why we wanted to build that
00:27:42
right we wanted to build something that will allow you read that
00:27:47
ah a. p. i. development just like that you have your l. server and
00:27:52
you want to explore that just is that each to be here you go
00:27:57
very easy then we wanted it to be flexible a
00:28:00
whole will want to adapt to changes that we have
00:28:05
you know a business logic rate then modular the men each youth features
00:28:14
new breezes huge we don't want to create a mass dependencies how you build um
00:28:22
so everything is modular you just add the modules that you want to use one x. m. f. s. two
00:28:31
natty okay h. to be something else in it's very excitable again because it's
00:28:38
module or opt losses you know so you can add your are all on
00:28:46
dereliction format just need to provide a way out of surrealistic sir
00:28:50
lies and then the rest will be down for you were new transport
00:28:56
we have an hour road map me you cough grand view cassandra projects
00:29:01
zero zoom i hope soon you'll be able to use that to was other type of transfer
00:29:08
and just abilities fashionable very right everything is test double
00:29:13
reliable so um it's easy to test that's what we want it
00:29:18
and it's open source you know um we use a lot of these
00:29:22
in this project like macros or cyclists final super fancy a recursion schemes if you
00:29:29
want to work on them just we're always work and contribute or better we're hiring
00:29:36
so you can be pate working and session making projects huh
00:29:43
let's talk afterwards
00:29:47
yeah and thank you please um check out the new website are kind of start io slash
00:29:54
new also world a bunch of block post about it on for seven degrees dot com slash lock
00:30:03
follow me into doing it only underscore e. q. d. and uh as i
00:30:09
said around mice call a host co us a dutch rule also mine meet up
00:30:16
everything for it thank you for relief in in
00:30:29
uh_huh
00:30:30
oh
00:30:35
uh_huh oh okay so a few questions all the mccormick a mix of uh of the slow rousseau first of all
00:30:42
um there's a lot of what crawled positions the
00:30:45
one to ask these these auditions for supports all
00:30:50
type approach rose because costumes and announces curtains
00:30:54
so it easy control of that also um
00:30:59
those a reflection on interfaces going all eh in these micro solutions if i understand correctly
00:31:05
so all the deals or or plans on the how to's
00:31:11
but how how oh oh how's how's that going to walk in
00:31:16
spite of scott's re coming so really possible migration clones or vision
00:31:23
so um the first question is um
00:31:28
how our my current annotations work whispering tries classes right
00:31:34
yeah so the question is simply to show all type of a case
00:31:41
called which has a generic won't work so for now it won't work
00:31:45
but we're it's basically also because um idea else had
00:31:51
their uh limitations right now so it's hard to uh
00:31:56
explain uh described it defined that in ideal but we're working
00:32:01
on that and uh hopefully it will come up with some
00:32:05
link or whatever you call it as some kind of encoding or add options
00:32:11
not options firms colour but options in a a ah the ideal
00:32:16
prada have them so this is the first question and the second
00:32:20
uh that was both reflection all interfaces gotten like rules and also to help you find somewhat
00:32:25
reduce costs really because it looks like it does it does this thing so that the missing absolutely
00:32:33
but uh there is time to go and sold them for off last the yeah i know yeah
00:32:49
yeah they're course if it goes but talked increasingly
00:32:54
um clones and serve also using wood so close
00:32:58
um politically allowance lose to push out to clones uh is
00:33:03
that a christian lose that uh owes you muscle you could
00:33:06
couldn't use will uh it's not addressed but it can be it can be put can be what
00:33:18
uh_huh it on your p. c. also supports streaming up your supporters and
00:33:26
the streets ross calls you want to do web sort yeah so which
00:33:33
the formal foliage speed to what the so called to do political change
00:33:37
but if you want to ensure to see your client is able to stream to do so ruth use
00:33:43
those tinted most that you you're using your job is i want that that my
00:33:49
question is when you use your p. c. which screen can use can you can choose
00:33:56
oh yeah okay you can choose stuff but also it has some limitations if you use our p. c. with
00:34:02
see ever which does not have the notion of a a
00:34:06
stream in in the language then it it just not possible
00:34:11
yeah so it has limitations still but for proper and a jerk deceit works fine and you can choose
00:34:18
and then you choose to put them all yeah exactly that would
00:34:23
uh_huh
00:34:25
huh huh huh
00:34:39
alright stay hit the gas

Share this talk: 


Conference Program

Welcome!
June 11, 2019 · 5:03 p.m.
1574 views
A Tour of Scala 3
Martin Odersky, Professor EPFL, Co-founder Lightbend
June 11, 2019 · 5:15 p.m.
8330 views
A story of unification: from Apache Spark to MLflow
Reynold Xin, Databricks
June 12, 2019 · 9:15 a.m.
1267 views
In Types We Trust
Bill Venners, Artima, Inc
June 12, 2019 · 10:15 a.m.
1569 views
Creating Native iOS and Android Apps in Scala without tears
Zahari Dichev, Bullet.io
June 12, 2019 · 10:16 a.m.
2230 views
Techniques for Teaching Scala
Noel Welsh, Inner Product and Underscore
June 12, 2019 · 10:17 a.m.
1292 views
Future-proofing Scala: the TASTY intermediate representation
Guillaume Martres, student at EPFL
June 12, 2019 · 10:18 a.m.
1152 views
Metals: rich code editing for Scala in VS Code, Vim, Emacs and beyond
Ólafur Páll Geirsson, Scala Center
June 12, 2019 · 11:15 a.m.
4695 views
Akka Streams to the Extreme
Heiko Seeberger, independent consultant
June 12, 2019 · 11:16 a.m.
1551 views
Scala First: Lessons from 3 student generations
Bjorn Regnell, Lund Univ., Sweden.
June 12, 2019 · 11:17 a.m.
577 views
Cellular Automata: How to become an artist with a few lines
Maciej Gorywoda, Wire, Berlin
June 12, 2019 · 11:18 a.m.
386 views
Why Netflix ❤'s Scala for Machine Learning
Jeremy Smith & Aish, Netflix
June 12, 2019 · 12:15 p.m.
5016 views
Massively Parallel Distributed Scala Compilation... And You!
Stu Hood, Twitter
June 12, 2019 · 12:16 p.m.
958 views
Polymorphism in Scala
Petra Bierleutgeb
June 12, 2019 · 12:17 p.m.
1112 views
sbt core concepts
Eugene Yokota, Scala Team at Lightbend
June 12, 2019 · 12:18 p.m.
1651 views
Double your performance: Scala's missing optimizing compiler
Li Haoyi, author Ammonite, Mill, FastParse, uPickle, and many more.
June 12, 2019 · 2:30 p.m.
833 views
Making Our Future Better
Viktor Klang, Lightbend
June 12, 2019 · 2:31 p.m.
1682 views
Testing in the postapocalyptic future
Daniel Westheide, INNOQ
June 12, 2019 · 2:32 p.m.
498 views
Context Buddy: the tool that knows your code better than you
Krzysztof Romanowski, sphere.it conference
June 12, 2019 · 2:33 p.m.
393 views
The Shape(less) of Type Class Derivation in Scala 3
Miles Sabin, Underscore Consulting
June 12, 2019 · 3:30 p.m.
2321 views
Refactor all the things!
Daniela Sfregola, organizer of the London Scala User Group meetup
June 12, 2019 · 3:31 p.m.
513 views
Integrating Developer Experiences - Build Server Protocol
Justin Kaeser, IntelliJ Scala
June 12, 2019 · 3:32 p.m.
551 views
Managing an Akka Cluster on Kubernetes
Markus Jura, MOIA
June 12, 2019 · 3:33 p.m.
735 views
Serverless Scala - Functions as SuperDuperMicroServices
Josh Suereth, Donna Malayeri & James Ward, Author of Scala In Depth; Google ; Google
June 12, 2019 · 4:45 p.m.
935 views
How are we going to migrate to Scala 3.0, aka Dotty?
Lukas Rytz, Lightbend
June 12, 2019 · 4:46 p.m.
709 views
Concurrent programming in 2019: Akka, Monix or ZIO?
Adam Warski, co-founders of SoftwareMill
June 12, 2019 · 4:47 p.m.
1973 views
ScalaJS and Typescript: an unlikely romance
Jeremy Hughes, Lightbend
June 12, 2019 · 4:48 p.m.
1376 views
Pure Functional Database Programming‚ without JDBC
Rob Norris
June 12, 2019 · 5:45 p.m.
6365 views
Why you need to be reviewing open source code
Gris Cuevas Zambrano & Holden Karau, Google Cloud;
June 12, 2019 · 5:46 p.m.
483 views
Develop seamless web services with Mu
Oli Makhasoeva, 47 Degrees
June 12, 2019 · 5:47 p.m.
785 views
Implementing the Scala 2.13 collections
Stefan Zeiger, Lightbend
June 12, 2019 · 5:48 p.m.
810 views
Introduction to day 2
June 13, 2019 · 9:10 a.m.
250 views
Sustaining open source digital infrastructure
Bogdan Vasilescu, Assistant Professor at Carnegie Mellon University's School of Computer Science, USA
June 13, 2019 · 9:16 a.m.
373 views
Building a Better Scala Community
Kelley Robinson, Developer Evangelist at Twilio
June 13, 2019 · 10:15 a.m.
245 views
Run Scala Faster with GraalVM on any Platform
Vojin Jovanovic, Oracle
June 13, 2019 · 10:16 a.m.
1337 views
ScalaClean - full program static analysis at scale
Rory Graves
June 13, 2019 · 10:17 a.m.
463 views
Flare & Lantern: Accelerators for Spark and Deep Learning
Tiark Rompf, Assistant Professor at Purdue University
June 13, 2019 · 10:18 a.m.
380 views
Metaprogramming in Dotty
Nicolas Stucki, Ph.D. student at LAMP
June 13, 2019 · 11:15 a.m.
1250 views
Fast, Simple Concurrency with Scala Native
Richard Whaling, data engineer based in Chicago
June 13, 2019 · 11:16 a.m.
623 views
Pick your number type with Spire
Denis Rosset, postdoctoral researcher at Perimeter Institute
June 13, 2019 · 11:17 a.m.
244 views
Scala.js and WebAssembly, a tale of the dangers of the sea
Sébastien Doeraene, Executive director of the Scala Center
June 13, 2019 · 11:18 a.m.
661 views
Performance tuning Twitter services with Graal and ML
Chris Thalinger, Twitter
June 13, 2019 · 12:15 p.m.
2003 views
Supporting the Scala Ecosystem: Stories from the Line
Justin Pihony, Lightbend
June 13, 2019 · 12:16 p.m.
162 views
Compiling to preserve our privacy
Manohar Jonnalagedda and Jakob Odersky, Inpher
June 13, 2019 · 12:17 p.m.
301 views
Building Scala with Bazel
Natan Silnitsky, wix.com
June 13, 2019 · 12:18 p.m.
564 views
242 views
Asynchronous streams in direct style with and without macros
Philipp Haller, KTH Royal Institute of Technology in Stockholm
June 13, 2019 · 3:45 p.m.
303 views
Interactive Computing with Jupyter and Almond
Sören Brunk, USU Software AG
June 13, 2019 · 3:46 p.m.
680 views
Scala best practices I wish someone'd told me about
Nicolas Rinaudo, CTO of Besedo
June 13, 2019 · 3:47 p.m.
2679 views
High performance Privacy By Design using Matryoshka & Spark
Wiem Zine El Abidine and Olivier Girardot, Scala Backend Developer at MOIA / co-founder of Lateral Thoughts
June 13, 2019 · 3:48 p.m.
752 views
Immutable Sequential Maps – Keeping order while hashed
Odd Möller
June 13, 2019 · 4:45 p.m.
274 views
All the fancy things flexible dependency management can do
Alexandre Archambault, engineer at the Scala Center
June 13, 2019 · 4:46 p.m.
389 views
ScalaWebTest - integration testing made easy
Dani Rey, Unic AG
June 13, 2019 · 4:47 p.m.
466 views
Mellite: An Integrated Development Environment for Sound
Hanns Holger Rutz, Institute of Electronic Music and Acoustics (IEM), Graz
June 13, 2019 · 4:48 p.m.
213 views
Closing panel
Panel
June 13, 2019 · 5:54 p.m.
400 views