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
Lisp(Clojure)で サーバーからアプリま で全てをつくるはなし
Search
BOXP
May 09, 2019
Programming
370
2
Share
Lisp(Clojure)で サーバーからアプリま で全てをつくるはなし
VRC-LT #1用です
https://vrc-lt.github.io/
BOXP
May 09, 2019
More Decks by BOXP
See All by BOXP
Cluster Creator Kitに入門してみた
boxp
0
89
LookingGlassPortraitあそんでみた
boxp
0
69
肉体を捨てた話
boxp
0
83
A story about releasing a online pairing service for avatars living in virtual worlds
boxp
1
360
VketのブースにVRoid製うちのこを召喚してみた
boxp
0
220
Hito Hub 2.0
boxp
0
1.3k
バーチャルマーケット3に ポスターを貼ってみた件
boxp
0
1.6k
趣味でGOOGLE KUBERNETES ENGINEを試したら 財布が薄くなったはなし
boxp
0
1.4k
趣味でつくる アバター×アバター マッチングアプリをリリースした話
boxp
0
130
Other Decks in Programming
See All in Programming
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
450
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
190
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
510
🦞OpenClaw works with AWS
licux
1
370
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
370
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
490
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
150
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
140
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
210
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
150
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
460
GoogleCloudとterraform完全に理解した
terisuke
1
200
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
sira's awesome portfolio website redesign presentation
elsirapls
0
250
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
180
Git: the NoSQL Database
bkeepers
PRO
432
67k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
170
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
140
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
210
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
350
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Transcript
Lisp(Clojure)で サーバーからアプリま で全てをつくるはなし BOXP
自己紹介 •(一箱さんのからだを借りた)BOXP •VRoid Studioすきすき •Clojureすきすき
本題の前に
どっちを話そうか迷っていま したが… or
None
None
ここから本題
None
Hito Hubの 技術面について しゃべります
Hito Hubとは アバター×アバターのマッチングサービス 自動で相性のよいアバターをおすすめ してくれる スマートフォン向けWebアプリ(not VR )
Hito Hubを支える システムたち vr-match-front-end アバターについて表示 するアプリ vr-match-bff アプリの高速化や 静的ページを提供する 特殊なバックエンド
vr-match-api おすすめの アバターを探したり するバックエンド
図にするとこんな感じ vr-match-bff vr-match-api vr-match-front-end Cloud CDN Cloud SQL(MySQL)
図にするとこんな感じ vr-match-bff vr-match-api vr-match-front-end Cloud CDN Cloud SQL(MySQL)
今回の主役 Clojure
Clojure? ◦ 関数型言語と呼ばれるうちの一人 ◦ マルチプラットフォーム言語 ◦ サーバーサイド・フロントエンドどちらでも使える(JVM, JavaScript, .NET) ◦
実はUnityでも使える ◦ 簡潔にコードを書けて気持ちいい(※個人の見解です) ◦ Webフロントエンドアプリの比較では最もコード量の少ない言語として選ばれた (A RealWorld Comparison of Front-End Frameworks with Benchmarks - freeCodeCamp.org調べ) ◦ 個人プロジェクトでモチベーションを保つためには重要 ◦ コンセプトは "Simple made easy." 引用: エラトステネスの篩を使ってClojureで素数を求める https://gist.github.com/fumokmm/2729276
Hito Hubを 支えるClojure
Clojureのデータ構造による 画面作成 \Hello/ Render
Clojureによる アプリとバックエンドの連携 vr-match-api Share Share Fetch
ほかにも色々Clojure •アプリケーションに新しいコードを差し込んですぐに動作確認できる •動画でお見せできないのが残念 REPLを使ったインタラクティブな開発 •サーバーサイドレンダリングとか •CodeSplit & LazyLoadとか •prefetchとか •いわゆるPWAと呼ばれるような条件は問題なくクリアできる
フロントエンド/サーバーサイドでできないことはほとんどない
Thank you!
GitHubで ソースコード 公開中です HTTPS://GITHUB.COM/BOXP/VR-MATCH