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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
PHPer、Cloudflare に引っ越す
suguruooki
2
220
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
0
180
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
200
「なんか〇〇ライブラリで脆弱性あるみたいなんだけど。。。」から始める脆弱性対応 / First Steps in Vulnerability Response
mackey0225
2
130
AI時代になぜ書くのか
mutsumix
0
420
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
210
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.1k
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
120
Agentic Elixir
whatyouhide
0
450
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
0
200
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
150
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
2
150
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
300
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
700
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Designing Experiences People Love
moore
143
24k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.4k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
530
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
300
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Site-Speed That Sticks
csswizardry
13
1.2k
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