Ich habe an der ** Scala Fukuoka 2019 ** teilgenommen, die am 19. Januar 2019 bei LINE Fukuoka stattfand!
2019/01/19 (Sa) 11: 00- LINE Fukuoka https://scala-fukuoka.org
Gakuzo-san (Tech to Value) @gakuzzzz
Eine Zusammenfassung der Sprachmerkmale und der Umgebung von Scala sowie der Ausrichtung von Scala.
Statisch typisierte Sprache.
Für kritische Anwendungen sind statisch typisierte Sprachen besser geeignet.
Dynamisch typisierte Sprache ist eine Idee, um einen Zustand zu vermeiden, in dem das Ganze nicht funktioniert, selbst wenn in einem Teil ein Problem vorliegt.
Die Ausdruckskraft des Typs ist höher als bei Java.
Auch für domänengesteuertes Design (DDD) geeignet.
Meta-Programmierung (Reflektion, Makros usw.) ist so einfach wie Java.
Scala-Makros sind noch experimentelle Funktionen und werden sich wahrscheinlich in Zukunft ändern.
Das Paradigma ist objektorientierte und funktionale Integration.
Subtyping ist Nominal Subtyping.
Außerdem ist Go strukturelle Untertypisierung und Ruby Ententypisierung.
Geeignet für Produkte, die ständigen Änderungen unterliegen. Wenn es unverändert bleibt, kann es zu viel sein.
JavaScript ist die überwältigende Anzahl von Repositorys auf GitHub. Es gibt auch viel Java. Es gibt noch wenige Scala und Go.
Für Scala gibt es Spark und Akka.
In vielen Fällen wird Scala für die Verwendung von Akka ausgewählt.
Der Vorteil von Scala ist, dass Sie die Java-Bibliothek so wie sie ist verwenden können.
Viele Bibliotheken für Java sind jedoch so konzipiert, dass sie veränderbar sind, und es kann etwas schwierig sein, sie von Scala aus zu verwenden, das auf unveränderlich basiert.
Es gibt nur wenige Scala-Ingenieure.
Es wird gesagt, dass die Lernkosten von Scala hoch sind, aber in Wirklichkeit sind sie nicht auf Sprachmerkmale zurückzuführen, sondern können auf andere Faktoren zurückzuführen sein.
Erstens ist es sehr schwierig, objektorientiert richtig zu programmieren.
Hinweis: Viele Ingenieure geben das auf und wechseln zur funktionalen Programmierung.
Herr Fujii (Chat-Arbeit) @yoshiyoshifujii
Eine Erläuterung der Punkte einer sauberen Architektur und eine Einführung in Implementierungsbeispiele in Scala.
https://speakerdeck.com/yoshiyoshifujii/shi-jian-clean-architecture
Richtlinie: Produktwert und Zweck.
Details: Mittel zur Produktrealisierung. Frameworks und Middleware.
Der Zweck ist es, die Zeit zwischen den Herzen zu trennen.
Ich möchte mich auf "Politik" konzentrieren.
Ich bin süchtig nach DDD.
Ich möchte, dass die "Richtlinie" nicht von den "Details" abhängt.
Um "Details" zu berücksichtigen, implementieren Sie "Richtlinie".
Diese stehen in Konflikt, daher ist das Gleichgewicht wichtig.
Siehe Folie.
Nulab
Gabel
297 Community-Sponsoren über 10 Millionen Yen
Kennen Sie Ihre Ideale und kennen Sie die Lücke zur Realität.
Das durchschnittliche Jahreseinkommen der Scala-Ingenieure ist am höchsten. Es gibt jedoch keinen großen Einkommensunterschied zwischen den Sprachen.
Wenn Sie mehr Geld verdienen möchten, ist es schneller, einem profitablen Unternehmen beizutreten, als Ihre Fähigkeiten zu differenzieren.
Drehen Sie die Schleife zum Ausgeben und Empfangen von Feedback.
Es ist wichtig zu verbalisieren.
Erfahren Sie, wie man verhandelt.
Marktbewertung> Interne Bewertung ・ ・ ・ Es wird keine legitime Entschädigung erhalten.
Markteinschätzung <Inhouse-Bewertung ・ ・ ・ Nicht zerkleinerbar
Marktevaluierung = Inhouse-Evaluierung ・ ・ ・ Ideal.
Indem Sie innen und außen ansprechen und die Bewertungen ausbalancieren, können Sie frei arbeiten.
Jun Kato (Chat-Arbeit) @ j5ik2o
Einführung in die Domänenmodellierungsmethode mit Schwerpunkt auf Domänenereignissen und das Implementierungsbeispiel von Scala.
https://speakerdeck.com/j5ik2o/scalakodototomonikao-erudomeinmoderingu
Mensch: Schauspieler außerhalb des Systems
Dinge ... Domain-Modell
Dinge ... Domain-Ereignis
Da Dinge die Beziehung zwischen Menschen und Dingen darstellen, werden wir uns auf Dinge konzentrieren und Dinge organisieren.
Event Storming
Anwendungsfall-> Domänenereignis-> Befehl (Operation) -> Akteur- und Domänenmodell
Das Domänenmodell (aggregierte Route) enthält einen Verlauf (eine Liste) von Domänenereignissen.
Das Domänenmodell ist ein Merkmal, sodass das Modell nicht von den Implementierungsmitteln abhängt (Event Soucing).
Geschäftsmethoden generieren ein neues Domänenereignis, fügen es am Ende der Ereignisspalte hinzu und geben es zurück.
Wenn mehrere Geschäftsmethoden als Satz aufgerufen werden müssen, gibt es eine Möglichkeit, sie als Domänendienst zu implementieren.
Halten Sie Geschäftsmethoden von außen unsichtbar.
Behalten Sie im Ereignis-Repository die Ereignisspalte bei (INSERT).
Es muss verhindert werden, dass die Reihenfolge der Ereignisspalten nicht in der richtigen Reihenfolge ist (Sperren usw.), wenn versucht wird, von mehreren Threads / mehreren Prozessen gleichzeitig fortzufahren.
Bei Akka Cluster gibt es immer einen Akteur mit einer Instanz der aggregierten Route, sodass kein Konflikt besteht.
Mr. Shimada (Every) @smdmts
Erklärung der Databricks / Spark-Praxis und Datenvisualisierung. (Ich habe nicht viel Vorkenntnisse in der Datenanalyse, daher kann ich nicht mithalten ...)
https://speakerdeck.com/smdmts/databricks-and-spark-with-etl-and-visualization
Databricks
ETL
Herr Hosoya (Cyber Agent) @bake_nezumi
https://www.slideshare.net/bakenezumi/sierscala-web
Die Geschichte der Einführung von Scala mit SIer.
Play Framework kann sowohl Scala als auch Java verwenden.
Java-Assets können wiederverwendet werden.
Sprachfunktionen wie Pattern Matching und unveränderliche Programmierung.
Hinweis: Die Verwendung von Java O / R Mapper von Scala scheint schmerzhaft zu sein.
Doma Wrapper für Scala https://github.com/bakenezumi/domala
Mizushima-san (Dwango) @kmizu
http://kmizu.github.io/scalafukuoka2019/#/
Sie beherrschen bereits eine oder mehrere Programmiersprachen und lernen eine neue Programmiersprache.
Hindernisse für das Erlernen anderer Sprachen.
Es gibt eine Meinung, dass Sie andere Sprachen verstehen können, wenn Sie eine Sprache verstehen.
Es ist schwierig, ein unbekanntes Paradigma zu lernen.
Es ist wichtig, die Struktur zu verstehen, die vielen Sprachen gemeinsam ist.
Es ist gut, es in die obige Syntax, das Typsystem und die Semantik zu unterteilen.
Was für ein Programm soll ich schreiben, um zu lernen? → Ein Parser-Kombinator ist geeignet.
Da Sie verschiedene Funktionen der Sprache verwenden, können Sie die Hauptpunkte der Sprache verstehen.
Haben Sie Ihre eigene "Hallo Welt".
LT
Emotional Scala
@ HonMarkHunt (Bizreach)
# Emosca
Daigoro-san (Rakuten)
Quick introduction to scalafix
Herr Taniguchi (Hatena) @tanishiking
https://speakerdeck.com/tanishiking/quick-introduction-to-scalafix
Apache Kafka
Pilz (freiberuflich) @ aa7th
https://speakerdeck.com/sammy7th/apachekafkanituitetiyotutomian-qiang-simasita
Kishida-san (LINE) @kis
http://d.hatena.ne.jp/nowokay/20190120#1548011826
sbt Assembly
.native-image -jar ****. Jar
von GraalVM.Warum willst du einheimisch sein?
Startet schneller. (Scala Native ist jedoch etwas schneller)
Alle Java-Bibliotheken können verwendet werden. (Scala Native kann nur die bereitgestellten Bibliotheken verwenden.)
Es gibt Fallstricke wie ein nativ kompiliertes schwanzoptimiertes Programm, aber einen Fehler zur Laufzeit.
Wir sind in Fukuoka an die Front gekommen und haben in der Nacht von Hakata mit vier Ingenieuren begonnen, die gut miteinander auskommen.
Der Motsu-Yaki-Laden hier ist bereits exquisit und ich dachte, ich würde gerne wieder dorthin gehen, wenn ich nach Hakata komme.
Zugehöriges Ranking: strong> Motsunabe | Yakuin Station , Watanabe-dori Station , Nishitetsu Hirao Station p>
Ich möchte nächstes Jahr wieder kommen! !!
Recommended Posts
abschließend