狠狠撸

狠狠撸Share a Scribd company logo
Light Tableで
Clojure入門
ニャンパス 登尾(@tnoborio)
http://bit.ly/hello-clojure2
やること
前回まで: http://bit.ly/hello-clojure1
Light Tableの使い方のおさらい
Ring
ウェブアプリケーション
Light Tableの使い方
Workspace Commands
Workspaceの表示
● Control + SpaceでCommands
● Commandsを出して、“Toggle workspace tree”を選択
→Workspaceが左ペインに表示
Macで、Control+Spaceが動かない場合、システム環境設
定>Spotlight
“Spotlightメニューのキーボードショートカットチェッ
ク”を外す
Light TableでREPL
Commandsから”Instarepl: Open a clojure
instarepl”
● (+ 1 2 3)
● (println “Hello”)
標準出力は、
Commands→“Console: Toggle console”
Leiningen
$ lein -version
Leiningen 2.3.4
(入ってなければ)Leiningenのインストール
前回を参考に http://bit.ly/hello-clojure1
ウェブアプリケーション
テンプレートを使ったプロジェクト作成
lein new compojure webapp
Light Tableから
1. Viewメニュー→Workspaceを表示
2. Commands→”Add folder”で
Workspaceにwebappを追加
ディレクトリ構造
● project.clj
● src/webapp/handler.clj
● resouces/public/
● test/
起動
$ cd webapp
$ lein ring server
ブラウザが立ち上がり、“Hello World”と表示
されればOK
project.clj
(defproject webapp "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:dependencies [[org.clojure/clojure "1.5.1"]
[compojure "1.1.6"]]
:plugins [[lein-ring "0.8.10"]] ← LeiningenのRingプラグイン
:ring {:handler webapp.handler/app}
:profiles
{:dev {:dependencies [[javax.servlet/servlet-api "2.5"]
[ring-mock "0.1.5"]]}})
src/webapp/handler.clj
(ns webapp.handler
(:use compojure.core)
(:require [compojure.handler :as handler]
[compojure.route :as route]))
(defroutes app-routes
(GET "/" [] "Hello World. hogehoge") ← 書き換えて保存しブラウザから確認
(route/resources "/")
(route/not-found "Not Found"))
(def app
(handler/site app-routes))
例) HTMLページを追加
(defroutes app-routes
(GET "/" [] "Hello World. hogehoge")
(GET "/hoge.html" [] "<html><body>hoge</body></html>")
(route/resources "/")
(route/not-found "Not Found"))
例) 画像やcssファイルを置く
?resouces/publicディレクトリのファイルを置くとその
まま表示。
resouces/public/nyampass.jpg
→ http://localhost:3000/nyampass.jpg
handler.cljのここのおかげ
(route/resources "/")
例) GET、POSTの値
(defroutes app-routes
...
(GET "/params" {params :params} (str params))
…)
http://localhost:3000/params?a=hoge&b=1234
→ {:b "1234", :a "hoge"}
例) Redirect
マップとして返す
(GET "/redirect" []
{:status 302
:headers {"Location" "http://www.yahoo.com/"}
:body ""})

More Related Content

Recently uploaded (10)

20250327_IoTLT_vol121_______________.pdf
20250327_IoTLT_vol121_______________.pdf20250327_IoTLT_vol121_______________.pdf
20250327_IoTLT_vol121_______________.pdf
Ayachika Kitazaki
?
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
sugiuralab
?
ダイアグラム思考冲驰耻尘别尘颈.驳谤辞飞冲読书シェア会2025冲3冲26.辫辫迟虫
ダイアグラム思考冲驰耻尘别尘颈.驳谤辞飞冲読书シェア会2025冲3冲26.辫辫迟虫ダイアグラム思考冲驰耻尘别尘颈.驳谤辞飞冲読书シェア会2025冲3冲26.辫辫迟虫
ダイアグラム思考冲驰耻尘别尘颈.驳谤辞飞冲読书シェア会2025冲3冲26.辫辫迟虫
ssuserfcafd1
?
生成AIとビジネス戦略 正しく恐れ正しく活用するために 東海国立大学機構技術発表会 & 岐阜地域産学官連携交流会 2025 講演資料
生成AIとビジネス戦略 正しく恐れ正しく活用するために 東海国立大学機構技術発表会 & 岐阜地域産学官連携交流会 2025 講演資料生成AIとビジネス戦略 正しく恐れ正しく活用するために 東海国立大学機構技術発表会 & 岐阜地域産学官連携交流会 2025 講演資料
生成AIとビジネス戦略 正しく恐れ正しく活用するために 東海国立大学機構技術発表会 & 岐阜地域産学官連携交流会 2025 講演資料
suzukiyu1
?
闯补厂厂罢2025-顿5-1开発者手动の自动テスト导入によるバグ早期発见.辫诲蹿
闯补厂厂罢2025-顿5-1开発者手动の自动テスト导入によるバグ早期発见.辫诲蹿闯补厂厂罢2025-顿5-1开発者手动の自动テスト导入によるバグ早期発见.辫诲蹿
闯补厂厂罢2025-顿5-1开発者手动の自动テスト导入によるバグ早期発见.辫诲蹿
MaiKaneko4
?
鲍-22プログラミング?コンテスト提出资料「作品説明动画」制作のポイントをご绍介
鲍-22プログラミング?コンテスト提出资料「作品説明动画」制作のポイントをご绍介鲍-22プログラミング?コンテスト提出资料「作品説明动画」制作のポイントをご绍介
鲍-22プログラミング?コンテスト提出资料「作品説明动画」制作のポイントをご绍介
鲍-22プログラミング?コンテスト运営事务局
?
【STech I USA】2025.3.21 MWC 2025フィードバック ~通信が作る未来のトレンド~(2025.3.21)
【STech I USA】2025.3.21 MWC 2025フィードバック ~通信が作る未来のトレンド~(2025.3.21)【STech I USA】2025.3.21 MWC 2025フィードバック ~通信が作る未来のトレンド~(2025.3.21)
【STech I USA】2025.3.21 MWC 2025フィードバック ~通信が作る未来のトレンド~(2025.3.21)
Sojitz Tech-Innovation USA
?
学会発表资料(2025/3/3):尝尝惭を利用した厂狈厂の投稿内容のインタラクティブマップ表示
学会発表资料(2025/3/3):尝尝惭を利用した厂狈厂の投稿内容のインタラクティブマップ表示学会発表资料(2025/3/3):尝尝惭を利用した厂狈厂の投稿内容のインタラクティブマップ表示
学会発表资料(2025/3/3):尝尝惭を利用した厂狈厂の投稿内容のインタラクティブマップ表示
Toyo University
?
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
info819904
?
20250327_IoTLT_vol121_______________.pdf
20250327_IoTLT_vol121_______________.pdf20250327_IoTLT_vol121_______________.pdf
20250327_IoTLT_vol121_______________.pdf
Ayachika Kitazaki
?
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
sugiuralab
?
ダイアグラム思考冲驰耻尘别尘颈.驳谤辞飞冲読书シェア会2025冲3冲26.辫辫迟虫
ダイアグラム思考冲驰耻尘别尘颈.驳谤辞飞冲読书シェア会2025冲3冲26.辫辫迟虫ダイアグラム思考冲驰耻尘别尘颈.驳谤辞飞冲読书シェア会2025冲3冲26.辫辫迟虫
ダイアグラム思考冲驰耻尘别尘颈.驳谤辞飞冲読书シェア会2025冲3冲26.辫辫迟虫
ssuserfcafd1
?
生成AIとビジネス戦略 正しく恐れ正しく活用するために 東海国立大学機構技術発表会 & 岐阜地域産学官連携交流会 2025 講演資料
生成AIとビジネス戦略 正しく恐れ正しく活用するために 東海国立大学機構技術発表会 & 岐阜地域産学官連携交流会 2025 講演資料生成AIとビジネス戦略 正しく恐れ正しく活用するために 東海国立大学機構技術発表会 & 岐阜地域産学官連携交流会 2025 講演資料
生成AIとビジネス戦略 正しく恐れ正しく活用するために 東海国立大学機構技術発表会 & 岐阜地域産学官連携交流会 2025 講演資料
suzukiyu1
?
闯补厂厂罢2025-顿5-1开発者手动の自动テスト导入によるバグ早期発见.辫诲蹿
闯补厂厂罢2025-顿5-1开発者手动の自动テスト导入によるバグ早期発见.辫诲蹿闯补厂厂罢2025-顿5-1开発者手动の自动テスト导入によるバグ早期発见.辫诲蹿
闯补厂厂罢2025-顿5-1开発者手动の自动テスト导入によるバグ早期発见.辫诲蹿
MaiKaneko4
?
【STech I USA】2025.3.21 MWC 2025フィードバック ~通信が作る未来のトレンド~(2025.3.21)
【STech I USA】2025.3.21 MWC 2025フィードバック ~通信が作る未来のトレンド~(2025.3.21)【STech I USA】2025.3.21 MWC 2025フィードバック ~通信が作る未来のトレンド~(2025.3.21)
【STech I USA】2025.3.21 MWC 2025フィードバック ~通信が作る未来のトレンド~(2025.3.21)
Sojitz Tech-Innovation USA
?
学会発表资料(2025/3/3):尝尝惭を利用した厂狈厂の投稿内容のインタラクティブマップ表示
学会発表资料(2025/3/3):尝尝惭を利用した厂狈厂の投稿内容のインタラクティブマップ表示学会発表资料(2025/3/3):尝尝惭を利用した厂狈厂の投稿内容のインタラクティブマップ表示
学会発表资料(2025/3/3):尝尝惭を利用した厂狈厂の投稿内容のインタラクティブマップ表示
Toyo University
?
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
info819904
?

Featured (20)

Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
?
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
?
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
?
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
?
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
?
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
?
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
?
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
?
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
?
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
?
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
?
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
?
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
?
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
?
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
?
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
?
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
?
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
?
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
?
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
?
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
?
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
?
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
?
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
?
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
?
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
?
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
?
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
?
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
?
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
?
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
?
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
?
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
?
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
?
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
?

Light TableでClojure入門#2