SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
Clojurescript
up and running
Timo Sulg, @timgluz
@Helsinki/JS, 27th November, 2013
What? And why?
Was? und warum?
source:
CoffeScript wiki has ~200 langs
JS as assembler for web
JavaScript is an assembly language. The JavaScript + HTML
generate is like a .NET assembly. The browser can execute it, but no
human should really care what’s there. - Erik Meijer, author of Rx
and Linq
source: Scott Hansemal's blog
Photoproof
Clojure's brith
Clojure?
1. Functional
2. Dynamically typed
3. Lisp
Clojure/Script?
Subset of Clojure
No concurrency primitives
Influences from Host
Inner parts

source: Stuart Sierra's "Clojure - getting up and running;"
Best parts
1.
2.
3.
4.
5.

Generic data primitives
Highly composable
Expressinevess
Extensible
core.async
Little peak into syntax
quick steptrough
source: Kanaka's cheatsheet
Getting started
; it j cnoe
; no s osl
(lgj/osl "el wrd";
.o scnoe Hlo ol!)
; it BosrRP
; no rwe EL
(rnl "el wrd)
pitn Hlo ol"
Code modularity
(scj.ol.el
n lswrdhlo
(rqie'sassn:ssn)
:eur [tr.u a u]
(ue'paeserh:ny[a,ngt :serh)
:s [lnt.at ol dy ih] a at])
Primitive collections
; ary
; ras
(e a(ra)
df
ary)
(e a(ra 123)
df
ary
)
(gta1 ; 2
ae
) ;
; ojc
; bet
(e o(soj)
df
j-b)
(e o(soj"o"1"a"2)
df
j-b fo
br )
Generic datastructures
; ls
; it
(e a(it123)
df
ls
)
(e b'123)
df
(
)
; vco
; etr
(e c(etr123)
df
vco
)
(e d[ 234)
df
1
]
; st
; es
(e f(e 1123)
df
st
)
(e g#123)
df
{,,}
; hs-as
; ahmp
(e h(ahmp:o 1:a 2:a 3)
df
hs-a fo
br
bz )
(e i{fo1 :a 2 :a 3)
df
:o , br , br }
Equality
(e a[rd "le "re")
df
"e" bu" gen]
(e b[rd "le "re")
df
"e" bu" gen]
( ab ; = tu
=
) ; > re
Conditionals
(f(o?(on bgnmes)
i ps cut u-ubr)
(rnl "o rayfrrlae)
pitn Nt ed o ees"
(rnl "eppsig)
pitn Ke uhn")
(hn( 0x1)
we >
2
(t "ai tevle)
sr vld i au")
(od
cn
( n0 "eaie
<
) ngtv"
( n0 "oiie
>
) pstv"
:le"eo)
es zr")
Functions
#d-m %)
(ost 1
(o tebn'lc'#d-m %)
.n h-t cik (ost 1)
(e fn(n[ (rnl "o o fn")
df u f ] pitn Lt f u.))
(enfn[
df u ]
(rnl "o o fn")
pitn Lt f u.)
(e fn
df u
"eei eapeo mlil aiy
hr s xml f utpe rt"
(]nl
[ i)
(_ 1
[] )
(__ 2
[ ] )
(___ 3)
[
] )
Destructuring
; cnawy dsrcuei bnigepeso
; a las etutr n idn xrsin
; icuig lt fnto agmns los ec
; nldn, e, ucin ruet, op, t.
(e m{frt"o"
df
:is Bb
:ide""
mdl J
:at"mt")
ls Sih}
(e [:es[is mdl ls] m
lt {ky frt ide at} ]
..
.)
(e clr[5 251005)
df oo 25 5 0 .]
(e [rg_a clr
lt [
] oo]
..
.)
Variable arguments
; alagmnsbyn towl b pae i a
; l ruet eod w il e lcd n
; sqec budt rs
; eune on o et
(enfo[ b&rs]
df o a
et
..
.)
Named parameters &
defaults
(enfo[ {ky [a bz} ..
df o & :es br a]] .)
(o :a 1:a 2
fo br
bz )
(enfo[ {ky [a bz
df o & :es br a]
:r{a "eal1,
o br dfut"
bz"eal2}]..
a dfut"} .)
Iterators
(oe [tm[,,]
dsq ie 123]
(rnl ie)
pitn tm)
(oie [ 5 (rnl "B")
dtms i ] pitn AC)
(op[ 0
lo i ]
(rnl i
pitn )
(eu (n i)
rcr ic ))
;frmprdc;itr
;o;a;euefle
More
Joel Martin, @bus_kanaka, has done great job.
Source:
http://kanaka.github.io/clojurescript/web/synonym.html
Demos
Setting up
Interop with JS
Dommy in Action
Core.Async
Setting up
and getting running
Setting up environment
Download the lein script (or on Windows lein.bat)
Place it on your $PATH where your shell can find it (eg.
~/bin)
Set it to be executable (chmod a+x ~/bin/lein)
Check the version: $> lein version
more info: http://leiningen.org/
Starting with new project
$> lein help new
$> lein new ex1_intro
Result
Change into this
Set up project's file
(epoete1ito"..-NPHT
dfrjc x_nr 010SASO"
:ecito "u iiilpoet"
dsrpin Or nta rjc.
:r "tp/eapecmFXE
ul ht:/xml.o/IM"
:ies {nm "cis Pbi Lcne
lcne :ae Elpe ulc ies"
:r "tp/wwelpeoglglelv0hm"
ul ht:/w.cis.r/ea/p-1.tl}
:eednis[;ht:/w.esoeecmjv/r.ljr:ljr/..
dpnece
;tp/wwvriny.o/aaogcouecoue151
[r.ljr/ljr ".."
ogcouecoue 151]
;ht:/w.esoeecmjv/r.ljr:ljrsrp/.-00
;tp/wwvriny.o/aaogcouecouecit0023
[r.ljr/ljrsrp ".-00]
ogcouecouecit 0023"
[enlgtnel".."]
li-ih-rp 007]

:lgn [li-lsul "..-NPHT]; mkscouecitn ese
puis [encjbid 101SASO" ; ae ljrsrpig air
[ensmltn".."]
li-ipeo 120]
:elotos{nelmdlwr [ihtbenelhnlrlgtal-p]
rp-pin :rp-ideae lgtal.rp.ade/ihtbeos}
; cmrhnieeape hts/gtu.o/mzseli-lsul/lbmse/ape
; opeesv xml: tp:/ihbcmeeek/encjbidbo/atrsml
:lsul {
cjbid
:uls[
bid {
;Tept t tetplvlCouecitsuc drcoy
h ah o h o-ee ljrSrp ore ietr:
:orepts[sccj"
suc-ah "r/ls]
:oplr{
cmie
:uptt "eore/ulcj/oej"
otu-o rsucspbi/scr.s
:piiain :htsae;:oe :ipe :dacd
otmztos wiepc
nn, sml, avne
:annstu
wrig re
:rtypittu}])
pet-rn re}}
ex1_intro/core.cljs
(se1itocr
n x-nr.oe
; uewe yuwn t rp it ti pg
; s hn o at o el no hs ae
(rqie[ljr.rwe.el:srp])
:eur couebosrrp a el)
(en^epr mi [
df :xot an ]
;sryaotta
;or bu ht
(wiej/ouet
.rt sdcmn
"h sye""oo:e;">Hlo HlJ!/1"
<1 tl=clrrd" el, e/S<h>)
;ti pr i rqie frcnetn it brp
;hs at s eurd o oncig no -el
(elcnet"tp/lclot90/el)
rp/onc ht:/oahs:00rp")
index.html
<!<1i ="ra"Frtdm<h>
h d
ae1>is eo/1
<citsc"j/oej"<srp>
srp r=/scr.s>/cit
<cittp=tx/xml"
srp ye"eteape>
e1itocr.an) /cligorfrtap
x_nr.oemi(; /aln u is p;
<srp>
/cit
->
-
Run it
$> lein deps ;; only when you changed deps
$> lein cljsbuild clean ;;
$> lein cljsbuild once ;; or use auto
$> lein simpleton 3000 file :from resources/public
$> goto http://127.0.0.1:3000/index
REPLing with Rhino
$> lein trampoline cljsbuild repl-rhino
$> (dotimes [i 5] (println i))
$> :cljs/quit
Interop with JS
Leap.JS
Dommy
a app for FirefoxOS
Run it
$> lein repl
$> (require '[foxyeye.handler] :reload-all)
$> goto: 127.0.0.1:8080
...
$> (foxyeye.handler/stop-server)
Mainpage
State of project
dependencies
Search
Dommy
(en^epr ii [
df :xot nt ]
(lgj/osl "erhapi iiilzd)
.o scnoe Sac p s ntaie"
(om/itn (e1:sac-t):lc o-erh
dmylse! sl #erhbn cik nsac)
(oe [tm(e :fct-agaeie)
dsq ie sl .aeslnug-tm]
(om/itn ie :lc tgl-aesie))
dmylse! tm cik ogefct-tm)
Templating with Hiccups
(eur 'fxeevessac :ssac-iw)
rqie [oyy.iw.erh a erhve]
..
.
(enrne [ cnet
df edr & otn]
(tl
hm5
(nld-s "csmdr.s"
icuecs /s/oencs
"csmdr-epniecs
/s/oenrsosv.s"
"csapcs)
/s/p.s"
[bd.erucs
:oymtois
[scinapiain{cas"rdcnee"
:eto#plcto :ls gi etrd
:tl "a-it:30x bcgon:wie"
sye mxwdh 8p; akrud ht;}
cnet])
otn])
(edr(erhve sac-tm)
rne sac-iw erhies)

Source: foxyeye.search.cljs
Little Dommy in Action
; gtalslce lnugs
; e l eetd agae
(engtslce-ag [ slcos
df e-eetdlns & eetr]
(pl sr
apy t
(neps 
itroe ,
(o [eetd(e slcos]
fr slce sl eetr)
(om/trslce :aalnug)))
dmyat eetd dt-agae))

Source: foxyeye.search.cljs
Core.async
the last demo
Links
https://github.com/timgluz/heljs
https://github.com/clojure/clojurescript
http://clojure.org/cheatsheet
https://himera.herokuapp.com/synonym.html
https://github.com/magomimmo/modern-cljs
http://kanaka.github.io/clojurescript/web/synonym.html
http://lukevanderhart.com/2011/09/30/using-javascriptand-clojurescript.html
THE END
@timgluz

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to puppet - Hands on Session at HPI Potsdam
Introduction to puppet - Hands on Session at HPI PotsdamIntroduction to puppet - Hands on Session at HPI Potsdam
Introduction to puppet - Hands on Session at HPI PotsdamChristoph Oelmüller
 
Using the Power to Prove
Using the Power to ProveUsing the Power to Prove
Using the Power to ProveKazuho Oku
 
Php radomize
Php radomizePhp radomize
Php radomizedo_aki
 
The event-driven nature of javascript – IPC2012
The event-driven nature of javascript – IPC2012The event-driven nature of javascript – IPC2012
The event-driven nature of javascript – IPC2012Martin Schuhfuß
 
Unix Programming with Perl
Unix Programming with PerlUnix Programming with Perl
Unix Programming with PerlKazuho Oku
 
Paver: the build tool you missed
Paver: the build tool you missedPaver: the build tool you missed
Paver: the build tool you missedalmadcz
 
Confraria SECURITY & IT - Lisbon Set 29, 2011
Confraria SECURITY & IT - Lisbon Set 29, 2011Confraria SECURITY & IT - Lisbon Set 29, 2011
Confraria SECURITY & IT - Lisbon Set 29, 2011ricardomcm
 
PSR-7 and PSR-15, why can't you ignore them
PSR-7 and PSR-15, why can't you ignore themPSR-7 and PSR-15, why can't you ignore them
PSR-7 and PSR-15, why can't you ignore themSérgio Rafael Siqueira
 
Créer une base NoSQL en 1 heure
Créer une base NoSQL en 1 heureCréer une base NoSQL en 1 heure
Créer une base NoSQL en 1 heureAmaury Bouchard
 
PHPerのためのPerl入門@ Kansai.pm#12
PHPerのためのPerl入門@ Kansai.pm#12PHPerのためのPerl入門@ Kansai.pm#12
PHPerのためのPerl入門@ Kansai.pm#12Kazuki KOMORI
 
Spring scala - Sneaking Scala into your corporation
Spring scala  - Sneaking Scala into your corporationSpring scala  - Sneaking Scala into your corporation
Spring scala - Sneaking Scala into your corporationHenryk Konsek
 

Was ist angesagt? (20)

Introduction to puppet - Hands on Session at HPI Potsdam
Introduction to puppet - Hands on Session at HPI PotsdamIntroduction to puppet - Hands on Session at HPI Potsdam
Introduction to puppet - Hands on Session at HPI Potsdam
 
iSoligorsk #3 2013
iSoligorsk #3 2013iSoligorsk #3 2013
iSoligorsk #3 2013
 
Using the Power to Prove
Using the Power to ProveUsing the Power to Prove
Using the Power to Prove
 
Expression Language 3.0
Expression Language 3.0Expression Language 3.0
Expression Language 3.0
 
Php radomize
Php radomizePhp radomize
Php radomize
 
The event-driven nature of javascript – IPC2012
The event-driven nature of javascript – IPC2012The event-driven nature of javascript – IPC2012
The event-driven nature of javascript – IPC2012
 
Troubleshooting Puppet
Troubleshooting PuppetTroubleshooting Puppet
Troubleshooting Puppet
 
root-ksk-2010
root-ksk-2010root-ksk-2010
root-ksk-2010
 
Unix Programming with Perl
Unix Programming with PerlUnix Programming with Perl
Unix Programming with Perl
 
gitfs
gitfsgitfs
gitfs
 
Actor model
Actor modelActor model
Actor model
 
Txjs
TxjsTxjs
Txjs
 
Gevent rabbit rpc
Gevent rabbit rpcGevent rabbit rpc
Gevent rabbit rpc
 
Paver: the build tool you missed
Paver: the build tool you missedPaver: the build tool you missed
Paver: the build tool you missed
 
Confraria SECURITY & IT - Lisbon Set 29, 2011
Confraria SECURITY & IT - Lisbon Set 29, 2011Confraria SECURITY & IT - Lisbon Set 29, 2011
Confraria SECURITY & IT - Lisbon Set 29, 2011
 
PSR-7 and PSR-15, why can't you ignore them
PSR-7 and PSR-15, why can't you ignore themPSR-7 and PSR-15, why can't you ignore them
PSR-7 and PSR-15, why can't you ignore them
 
Créer une base NoSQL en 1 heure
Créer une base NoSQL en 1 heureCréer une base NoSQL en 1 heure
Créer une base NoSQL en 1 heure
 
Send mail-oracle11g-det
Send mail-oracle11g-detSend mail-oracle11g-det
Send mail-oracle11g-det
 
PHPerのためのPerl入門@ Kansai.pm#12
PHPerのためのPerl入門@ Kansai.pm#12PHPerのためのPerl入門@ Kansai.pm#12
PHPerのためのPerl入門@ Kansai.pm#12
 
Spring scala - Sneaking Scala into your corporation
Spring scala  - Sneaking Scala into your corporationSpring scala  - Sneaking Scala into your corporation
Spring scala - Sneaking Scala into your corporation
 

Ähnlich wie Clojurescript up and running

SecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play FrameworkSecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play Frameworkjaliss
 
An Introduction to CSS Preprocessors
An Introduction to CSS PreprocessorsAn Introduction to CSS Preprocessors
An Introduction to CSS PreprocessorsMiloš Sutanovac
 
Java 8 - project lambda
Java 8 - project lambdaJava 8 - project lambda
Java 8 - project lambdaIvar Østhus
 
Beginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at GoogleBeginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at GoogleAri Lerner
 
Building modern web apps with html5, javascript, and java
Building modern web apps with html5, javascript, and javaBuilding modern web apps with html5, javascript, and java
Building modern web apps with html5, javascript, and javaAlexander Gyoshev
 
Lambdas myths-and-mistakes
Lambdas myths-and-mistakesLambdas myths-and-mistakes
Lambdas myths-and-mistakesRichardWarburton
 
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)jaxLondonConference
 
JavaScript Design Patterns
JavaScript Design PatternsJavaScript Design Patterns
JavaScript Design PatternsDerek Brown
 
nescala 2013
nescala 2013nescala 2013
nescala 2013Hung Lin
 
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaTony Fabeen
 
2013-02-21 - .NET UG Rhein-Neckar: JavaScript Best Practices
2013-02-21 - .NET UG Rhein-Neckar: JavaScript Best Practices2013-02-21 - .NET UG Rhein-Neckar: JavaScript Best Practices
2013-02-21 - .NET UG Rhein-Neckar: JavaScript Best PracticesJohannes Hoppe
 
The Power of CSS
The Power of CSSThe Power of CSS
The Power of CSSAniket Pant
 
NodeJS The edge of Reason - Lille fp#6
NodeJS The edge of Reason - Lille fp#6NodeJS The edge of Reason - Lille fp#6
NodeJS The edge of Reason - Lille fp#6Thomas Haessle
 
Drupal 8 in action, the route to the method
Drupal 8 in action, the route to the methodDrupal 8 in action, the route to the method
Drupal 8 in action, the route to the methodjuanolalla
 
Theme Development and Customization
Theme Development and CustomizationTheme Development and Customization
Theme Development and CustomizationAniket Pant
 
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違いLinuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違いRetrieva inc.
 

Ähnlich wie Clojurescript up and running (20)

SecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play FrameworkSecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play Framework
 
JavaFX, because you're worth it
JavaFX, because you're worth itJavaFX, because you're worth it
JavaFX, because you're worth it
 
An Introduction to CSS Preprocessors
An Introduction to CSS PreprocessorsAn Introduction to CSS Preprocessors
An Introduction to CSS Preprocessors
 
Java 8 - project lambda
Java 8 - project lambdaJava 8 - project lambda
Java 8 - project lambda
 
Beginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at GoogleBeginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at Google
 
Building modern web apps with html5, javascript, and java
Building modern web apps with html5, javascript, and javaBuilding modern web apps with html5, javascript, and java
Building modern web apps with html5, javascript, and java
 
Lambdas myths-and-mistakes
Lambdas myths-and-mistakesLambdas myths-and-mistakes
Lambdas myths-and-mistakes
 
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
 
JavaScript Design Patterns
JavaScript Design PatternsJavaScript Design Patterns
JavaScript Design Patterns
 
nescala 2013
nescala 2013nescala 2013
nescala 2013
 
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with Lua
 
2013-02-21 - .NET UG Rhein-Neckar: JavaScript Best Practices
2013-02-21 - .NET UG Rhein-Neckar: JavaScript Best Practices2013-02-21 - .NET UG Rhein-Neckar: JavaScript Best Practices
2013-02-21 - .NET UG Rhein-Neckar: JavaScript Best Practices
 
OOP in Rust
OOP in RustOOP in Rust
OOP in Rust
 
Starting out with Ember.js
Starting out with Ember.jsStarting out with Ember.js
Starting out with Ember.js
 
The Power of CSS
The Power of CSSThe Power of CSS
The Power of CSS
 
NodeJS The edge of Reason - Lille fp#6
NodeJS The edge of Reason - Lille fp#6NodeJS The edge of Reason - Lille fp#6
NodeJS The edge of Reason - Lille fp#6
 
Drupal 8 in action, the route to the method
Drupal 8 in action, the route to the methodDrupal 8 in action, the route to the method
Drupal 8 in action, the route to the method
 
Theme Development and Customization
Theme Development and CustomizationTheme Development and Customization
Theme Development and Customization
 
Introduction to JavaFX 2
Introduction to JavaFX 2Introduction to JavaFX 2
Introduction to JavaFX 2
 
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違いLinuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
 

Kürzlich hochgeladen

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Kürzlich hochgeladen (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Clojurescript up and running