Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Masayuki Uchida
27,198 views
CrystalでもRailsを使いたいですか?
東京Crystal勉強会 #3 での発表資料
Internet
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 35
2
/ 35
3
/ 35
4
/ 35
5
/ 35
6
/ 35
7
/ 35
8
/ 35
9
/ 35
10
/ 35
11
/ 35
12
/ 35
13
/ 35
14
/ 35
15
/ 35
16
/ 35
17
/ 35
18
/ 35
19
/ 35
20
/ 35
21
/ 35
22
/ 35
23
/ 35
24
/ 35
25
/ 35
26
/ 35
27
/ 35
28
/ 35
29
/ 35
30
/ 35
31
/ 35
32
/ 35
33
/ 35
34
/ 35
35
/ 35
More Related Content
PDF
第7回鹿児島Node.jsの会勉強会資料
by
Koichi Uchimura
PPTX
片手間JS on Rails
by
Ryunosuke SATO
PDF
Rails あるある
by
Ryunosuke SATO
PDF
How to relaunch "sapporojs.org" ~Introduction to middleman~
by
Ryunosuke SATO
PDF
岡山のRuby勉強会(OSC広島2013)
by
Makoto Henmi
PDF
Scala.js
by
ke-m kamekoopa
PDF
Ruby札幌2008年の活動に向けて
by
Koji SHIMADA
PPTX
Sails.jsのメリット・デメリット
by
Ito Kohta
第7回鹿児島Node.jsの会勉強会資料
by
Koichi Uchimura
片手間JS on Rails
by
Ryunosuke SATO
Rails あるある
by
Ryunosuke SATO
How to relaunch "sapporojs.org" ~Introduction to middleman~
by
Ryunosuke SATO
岡山のRuby勉強会(OSC広島2013)
by
Makoto Henmi
Scala.js
by
ke-m kamekoopa
Ruby札幌2008年の活動に向けて
by
Koji SHIMADA
Sails.jsのメリット・デメリット
by
Ito Kohta
What's hot
PDF
raect.jsを触ったお話
by
Ryuuichi Iha
PDF
Node.jsで始める Modern JavaScript Framework
by
kamiyam .
PDF
MVCフレームワーク Sails.jsについて機能紹介
by
kamiyam .
PDF
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
by
Ryunosuke SATO
PDF
Ruby紹介
by
Masahiro Tomita
PDF
はじめる Ember.js!! ~ Getting started with ember.js ~
by
Ryunosuke SATO
PDF
Ember コミュニティとわたし
by
Ryunosuke SATO
raect.jsを触ったお話
by
Ryuuichi Iha
Node.jsで始める Modern JavaScript Framework
by
kamiyam .
MVCフレームワーク Sails.jsについて機能紹介
by
kamiyam .
もっとはじめる Ember.js !! ~ Getting started with Ember.js more ~
by
Ryunosuke SATO
Ruby紹介
by
Masahiro Tomita
はじめる Ember.js!! ~ Getting started with ember.js ~
by
Ryunosuke SATO
Ember コミュニティとわたし
by
Ryunosuke SATO
Viewers also liked
PDF
速習 AWS Lambda
by
Masayuki Uchida
PDF
IoTを支える(かもしれない)技術
by
Masayuki Uchida
PDF
ReactとSeleniumの幸せな関係
by
Akira Kuratani
PDF
静的解析、はじまったな
by
Akira Kuratani
PPTX
ニフティにおけるAtlassian製品のユーザー管理手法
by
Takayuki Ishikawa
PDF
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
by
Akira Kuratani
PDF
Atlassian Summit US 2017 #augj
by
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
速習 AWS Lambda
by
Masayuki Uchida
IoTを支える(かもしれない)技術
by
Masayuki Uchida
ReactとSeleniumの幸せな関係
by
Akira Kuratani
静的解析、はじまったな
by
Akira Kuratani
ニフティにおけるAtlassian製品のユーザー管理手法
by
Takayuki Ishikawa
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
by
Akira Kuratani
Atlassian Summit US 2017 #augj
by
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
CrystalでもRailsを使いたいですか?
1.
CrystalでもRailsを 使いたいですか? Masayuki Uchida @etmnk 2016.
1. 22 東京 Crystal 勉強会 #3 in 恵比寿
2.
はい いいえ そんなことよりSinatraだ
3.
はい いいえ そんなことよりSinatraだ →
4.
Kemalはいいぞ
5.
お前 is 誰? twitter
: @etmnk github : @etmnk
6.
Agenda 1. Crystal Awesome 2.
WebFrameworksの大雑把な分類 3. Frostとは 4. Frostを試してみる 5. デモ 6. 取りあえず現時点で出来ること 7. Rackに関して 8. まとめ
7.
Crystal Web Frameworks https://github.com/veelenga/awesome-crystal
8.
分類 Sinatra系 moonshine kemal Rails系 Amethyst Frost
9.
分類 Sinatra系 moonshine kemal Rails系 Amethyst Frost いいぞ
10.
Frost • 現時点でもある程度動く • ver
0.2.0 • Crystal v0.10.2に対応
11.
Frostを動かしてみる $ git clone
https://github.com/ysbaddaden/frost.git $ crystal frost/src/cli.cr -- new frost_sample $ cd frost_sample $ crystal deps install
12.
Frostを動かしてみる $ git clone
https://github.com/ysbaddaden/frost.git $ crystal frost/src/cli.cr -- new frost_sample $ cd frost_sample $ crystal deps install
13.
Oh..
14.
その前に https://github.com/ysbaddaden/frost/pull/10
15.
パッチを当てる $ git fetch
origin pull/10/head:fix-project-generation $ git checkout fix-project-generation
16.
気を取り直して $ crystal frost/src/cli.cr
-- new frost_sample
17.
Generated create create Makefile create frost_sample.cr create
shard.yml create .gitignore create app create app/controllers create app/controllers/application_controller.cr create app/models create app/models/.keep create app/views create app/views/application_view.cr create app/views/layouts_view.cr create app/views/layouts create app/views/layouts/application.html.ecr create config create config/routes.cr create config/environment.cr create config/application.cr (中略)
18.
インストール続き $ cd frost_sample $
crystal deps install
19.
公式のサンプル参考 https://github.com/ysbaddaden/frost/tree/master/guides
20.
補足1 DB作成に関して $ createdb
frost_sample_development $ createdb frost_sample_test $ cp config/database.yml{.example,}
21.
補足1 DB作成に関して development: adapter: postgres database:
frost_sample_development username: postgres password: test: adapter: postgres database: frost_sample_test username: postgres password: config/database.yml
22.
補足1 DB作成に関して export DATABASE_URL=postgres://$USER@localhost/frost_sample_development
23.
補足2 $make run
24.
補足2 エラー(中略)
25.
補足2 手修正 instantiating 'with_output_buffer()' in
./app/views/layouts/application.html.ecr:5: instantiating 'name()' <title><%= name %></title>
26.
デモ
27.
現時点でできること • config/route.crの設定に関して • resources
:posts, only: %i(show index new create) • edit deleteは未対応
28.
現時点でできること • Modelの操作に関して(取り敢えずコード見たレベル) • 検索処理 •
#{ModelName}.find(id) • #{ModelName}.find_by({column1: hoge , culumn2: huga }) • #{ModelName}.all.pluck( column1 ) #未確認
29.
現時点でできること • Modelの操作に関して(取り敢えずコード見たレベル) • 追加 •
hoge = Hoge.new • hoge.column1 = aa • hoge.column2 = bb • hoge.save
30.
現時点でできること • Modelの操作に関して(取り敢えずコード見たレベ ル) • 削除処理
#全体的に未確認(更新も同様なので省略) • #{ModelName}.delete_all • hoge = Hoge.find(id) • hoge.delete # 未確認
31.
Rackに関して https://groups.google.com/forum/?fromgroups#!searchin/crystal-lang/rack/crystal-lang/xO2eo7pbDVw/ Mp7zVw0PHgAJ
32.
Rackに関して 自前ハンドラを作る場合 require "http/server" class HogeHandler
< HTTP::Handler def call(request) response = call_next(request) #次の階層に渡す # 処理 response end end
33.
Rackに関して handlers = [ Frost::Server::LogHandler.new, Frost::Server::HttpsEverywhereHandler.new(308), HTTP::DeflateHandler.new, Frost::Server::PublicFileHandler.new(File.join(Frost.root,
"public")) ] dispatcher = FrostSample::Dispatcher.new server = HTTP::Server.new(host, port, handlers) do ¦request¦ dispatcher.call(request) end ./#{appname}.cr
34.
まとめ • 少しでも変わった使い方したらエラー • バグを見つけたら俺が直す、ぐらいの勢いが必要 •
ただし全体的な枠組みは出来つつある • それでも • 普通にWebApp作りたい場合はどうする?
35.
Kemalはいいぞ
Download