Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Golo, petit mais costaud (Tours JUG)
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Philippe CHARRIERE
January 16, 2015
Programming
83
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Golo, petit mais costaud (Tours JUG)
Philippe CHARRIERE
January 16, 2015
More Decks by Philippe CHARRIERE
See All by Philippe CHARRIERE
The Plan v3 pour BDX.io
k33g
1
210
Le Plan
k33g
0
220
Prog Fonctionnelle 🐑
k33g
1
400
Apéro fonctionnel
k33g
0
130
Scala Facile
k33g
0
300
Golo, the Tiny Language that gives super powers
k33g
0
140
Golo, the Tiny Language that gives super powers
k33g
0
290
Apéro Fonctionnel
k33g
0
280
Programmation fonctionnelle 🐑 en JS
k33g
2
300
Other Decks in Programming
See All in Programming
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
350
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
170
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.8k
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
500
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
280
えっ!!コードを読まずに開発を!?
hananouchi
0
230
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
530
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
140
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.6k
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
440
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
140
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
130
Featured
See All Featured
Claude Code のすすめ
schroneko
67
230k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Site-Speed That Sticks
csswizardry
13
1.3k
Amusing Abliteration
ianozsvald
1
240
Designing Powerful Visuals for Engaging Learning
tmiket
1
460
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Navigating Weather and Climate Data
rabernat
0
400
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
260
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Paper Plane (Part 1)
katiecoart
PRO
1
9.8k
Transcript
#gololang #toursjug Golo PETIT MAIS COSTAUD
#gololang #toursjug Merci + Vous
#gololang #toursjug Responsable Marketing (Golo Dancer & Committer) @Typeunsafe Philippe
Charrière | @k33g_org
#gololang #toursjug Responsable Marketing (Golo Dancer & Committer) @Typeunsafe Directeur
Technique - Philippe Charrière | @k33g_org Lyon
#gololang #toursjug Golo, quoi, qui, pourquoi, … (au fait, c’est
un langage) Golo in action, particularités, Java (du code, du code, du code) Hacking Golo (le langage dont vous êtes le héros) … Nous parlerons de …
#gololang #toursjug Golo? Quoi, Qui, Pourquoi, …
#gololang #toursjug 1 langage dynamique pour la JVM à base
d’Invokedynamic facile à utiliser facile à modifier Golo? Golo, quoi, qui, pourquoi, …
#gololang #toursjug Golo? Golo, quoi, qui, pourquoi, … module hello
function hello = |who| { println("Hello " + who) } function main = |args| { let salut = |qui| -> println("Salut " + qui) salut("John") hello("Bob") }
#gololang #toursjug Créé par @jponge (aka “le doc”) Boss de
TypeUnsafe Golo? Golo, quoi, qui, pourquoi, …
#gololang #toursjug Dynamid Middlewares Dynamiques Expertise Invokedynamic Golo? Golo, quoi,
qui, pourquoi, …
#gololang #toursjug Middlewares Dynamiques? Golo? Golo, quoi, qui, pourquoi, …
#gololang #toursjug Léger 530 kb Golo <3 Java Golo est
rapide dans un contexte dynamique #notroll Golo? … à savoir Golo, quoi, qui, pourquoi, …
#gololang #toursjug Benchs ceci n’est pas un #troll Golo? Golo,
quoi, qui, pourquoi, …
#gololang #toursjug Golo, quoi, qui, pourquoi, … GoloBox
#gololang #toursjug Golo, quoi, qui, pourquoi, … Temps de démarrage
- plateforme : RPI B+ / Java 8 Un programme simple: afficher “Hello”
#gololang #toursjug Golo, quoi, qui, pourquoi, … Approche de PI
- plateforme : RPI B+ / Java 8 Durée totale du traitement (lancement + calcul) et temps de calcul (compris dans la durée de traitement)
#gololang #toursjug Golo, quoi, qui, pourquoi, … Java + dynamique
+ délais courts + mémoire (IOT) -> Golo Conclusion
#gololang #toursjug pour le fun pour apprendre (pas que Golo)
pour expérimenter & prototyper pour “partager” & participer pour de l’embarqué pour avoir son propre langage … Pourquoi faire du Golo? Golo, quoi, qui, pourquoi, …
#gololang #toursjug Un langage développé sur le temps libre, la
bonne volonté et la passion … et en peu de temps Golo? … à savoir Golo, quoi, qui, pourquoi, …
#gololang #toursjug Golo in action Particularités, Java
#gololang #toursjug Générer un projet Golo Simple: golo new hello
Maven: golo new hellomvn --type maven Gradle: golo new hellogrd --type gradle Préambule Particularités, Java
#gololang #toursjug Démos bouts de code Particularités, Java
#gololang #toursjug Perfs web
#gololang #toursjug à prendre avec des pincettes Applications
#gololang #toursjug Applications 1 mac avec le “serveur d’app°” 1
pc avec MongoDb
#gololang #toursjug Applications class BasicSimulation extends Simulation { val
httpConf = http .baseURL("http://localhost:9000") val scn = scenario("Add Humans").repeat(10) { exec( http("add human") .post("/humans") .body(StringBody("{\"_id\":\"@john_doe\",\"firstName\":\"John\",\"lastName\":\"Doe\"}")) .asJSON .check(status.is(201)) ) .exec( http("add human") .post("/humans") .body(StringBody("{\"_id\":\"@jane_doe\",\"firstName\":\"Jane\",\"lastName\":\"Doe\"}")) .asJSON .check(status.is(201)) ) .exec( http("add human") .post("/humans") .body(StringBody("{\"_id\":\"@bob_morane\",\"firstName\":\"Bob\",\"lastName\":\"Morane\"}")) .asJSON .check(status.is(201)) ) } setUp(scn .inject(rampUsers(1000) over (60)).protocols(httpConf)) }
#gololang #toursjug Applications Play 2 (Java) Kiss (Golo)
#gololang #toursjug Applications class BasicSimulationGetAll extends Simulation { val httpConf
= http .baseURL("http://localhost:9000") val scn = scenario("Get All Humans").repeat(100) { exec( http("get humans") .get("/humans") .check(status.is(200)) ) } setUp(scn .inject(rampUsers(5000) over (300)).protocols(httpConf)) }
#gololang #toursjug Applications Play 2 (Java) Kiss (Golo)
#gololang #toursjug Applications Play 2 (Java) Kiss (Golo)
#gololang #toursjug Golo in action Particularités, Java, DSL, IOT
#gololang #toursjug Démos bouts de code Particularités, Java
#gololang #toursjug Il y a aussi … tout ce dont
je n’ai pas eu le temps de parler http://golo-lang.org/documentation/next/ Particularités, Java
#gololang #toursjug Hacking Golo Facile!
#gololang #toursjug “Augmenter” Golo en Java … et en Golo
Hacking Golo
#gololang #toursjug Univers Golo Vers l’infini & au-delà
#gololang #toursjug Communauté Univers Golo
#gololang #toursjug @NinjaSquad @SerliFr @HGomez Et tous les autres: testeurs,
conférences, JUG, … https://github.com/golo-lang/golo-lang#contributing Mention spéciale Univers Golo
#gololang #toursjug The End Merci à vous, Questions?, …
#gololang #toursjug Golo: http://golo-lang.org/ https://github.com/golo-lang/golo-lang @golo_lang Dynamid: http://dynamid.citi-lab.fr/ Citi-Lab: http://www.citi-lab.fr/
Liens
#gololang #toursjug Boss: @jponge Marketing: @k33g_org |
[email protected]
Contacts