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 pour l'Alpes JUG
Search
Philippe CHARRIERE
January 20, 2015
Programming
98
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Golo pour l'Alpes JUG
Philippe CHARRIERE
January 20, 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
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
130
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
280
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
150
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
500
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
120
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.6k
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.3k
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
270
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.8k
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
170
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
160
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
45k
Git: the NoSQL Database
bkeepers
PRO
432
67k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Between Models and Reality
mayunak
4
380
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Are puppies a ranking factor?
jonoalderson
1
3.7k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
560
Transcript
#gololang #alpesjug Le petit langage qui donne des super-pouvoirs
#gololang #alpesjug Merci + Vous
#gololang #alpesjug Responsable Marketing (Golo Dancer & Committer) @Typeunsafe Philippe
Charrière | @k33g_org
#gololang #alpesjug Responsable Marketing (Golo Dancer & Committer) @Typeunsafe Directeur
Technique - Philippe Charrière | @k33g_org Lyon
#gololang #alpesjug 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 #alpesjug We all <3 Groovy
#gololang #alpesjug Golo? Quoi, Qui, Pourquoi, …
#gololang #alpesjug 1 langage dynamique pour la JVM à base
d’Invokedynamic facile à utiliser facile à modifier Golo? Golo, quoi, qui, pourquoi, …
#gololang #alpesjug 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 #alpesjug Créé par @jponge (aka “le doc”) Boss de
TypeUnsafe Golo? Golo, quoi, qui, pourquoi, …
#gololang #alpesjug Dynamid Middlewares Dynamiques Expertise Invokedynamic Golo? Golo, quoi,
qui, pourquoi, …
#gololang #alpesjug Middlewares Dynamiques? Golo? Golo, quoi, qui, pourquoi, …
#gololang #alpesjug Léger 530 kb Golo <3 Java Golo est
rapide dans un contexte dynamique #notroll Golo? … à savoir Golo, quoi, qui, pourquoi, …
#gololang #alpesjug Benchs ceci n’est pas un #troll Golo? Golo,
quoi, qui, pourquoi, …
#gololang #alpesjug Golo, quoi, qui, pourquoi, … GoloBox
#gololang #alpesjug Golo, quoi, qui, pourquoi, … Temps de démarrage
- plateforme : RPI B+ / Java 8 Un programme simple: afficher “Hello”
#gololang #alpesjug 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 #alpesjug
#gololang #alpesjug Golo, quoi, qui, pourquoi, … Si vous avez
besoin de: Java + dynamique + délais courts + mémoire (IOT) -> Golo Conclusion
#gololang #alpesjug 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 #alpesjug 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 #alpesjug Golo in action Particularités, Java
#gololang #alpesjug 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 #alpesjug Démos bouts de code Particularités, Java
#gololang #alpesjug Perfs web
#gololang #alpesjug à prendre avec des pincettes Applications
#gololang #alpesjug Applications 1 mac avec le “serveur d’app°” 1
pc avec MongoDb
#gololang #alpesjug 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 #alpesjug Applications Play 2 (Java) Kiss (Golo)
#gololang #alpesjug 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 #alpesjug Applications Play 2 (Java) Kiss (Golo)
#gololang #alpesjug Applications Play 2 (Java) Kiss (Golo)
#gololang #alpesjug Golo in action Particularités, Java, DSL, IOT
#gololang #alpesjug Démos bouts de code Particularités, Java
#gololang #alpesjug 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 #alpesjug Hacking Golo Facile!
#gololang #alpesjug “Augmenter” Golo en Java … et en Golo
Hacking Golo
#gololang #alpesjug Univers Golo Vers l’infini & au-delà
#gololang #alpesjug Communauté Univers Golo
#gololang #alpesjug @NinjaSquad @HGomez Et tous les autres: testeurs, conférences,
JUG, … https://github.com/golo-lang/golo-lang#contributing Mention spéciale Univers Golo
#gololang #alpesjug Et après? c’est pas fini
#gololang #alpesjug ?
#gololang #alpesjug The End Merci à vous, Questions?, …
#gololang #alpesjug 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 #alpesjug Boss: @jponge Marketing: @k33g_org |
[email protected]
Contacts