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
龍一 田中
784 views
Web技術勉強会23回目
Web技術勉強会23回目
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 21
2
/ 21
3
/ 21
4
/ 21
5
/ 21
6
/ 21
7
/ 21
8
/ 21
9
/ 21
10
/ 21
11
/ 21
12
/ 21
13
/ 21
14
/ 21
15
/ 21
16
/ 21
17
/ 21
18
/ 21
19
/ 21
20
/ 21
21
/ 21
More Related Content
PDF
omoon.org の裏側 〜FuelPHP の task 活用例〜
by
Sotaro Omura
PDF
はじめての FuelPHP
by
Sho A
PDF
10分で作る Node.js Auto Scale 環境 with CloudFormation
by
Kazuyuki Honda
PDF
FuelPHPで3種のprofilerを使ってみた
by
Katsuhiro Miura
PDF
15分でCakePHPを始める方法(Nseg 2013-11-09 )
by
hiro345
PDF
Fuel php osc tokyo2012
by
Fumito Mizuno
KEY
FuelPHPをさわってみて
by
Sotaro Omura
PDF
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
by
kenjis
omoon.org の裏側 〜FuelPHP の task 活用例〜
by
Sotaro Omura
はじめての FuelPHP
by
Sho A
10分で作る Node.js Auto Scale 環境 with CloudFormation
by
Kazuyuki Honda
FuelPHPで3種のprofilerを使ってみた
by
Katsuhiro Miura
15分でCakePHPを始める方法(Nseg 2013-11-09 )
by
hiro345
Fuel php osc tokyo2012
by
Fumito Mizuno
FuelPHPをさわってみて
by
Sotaro Omura
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
by
kenjis
What's hot
PDF
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
by
kenjis
PDF
10分でわかるFuelPHP @ 2011/12
by
kenjis
PDF
C#次世代非同期処理概観 - Task vs Reactive Extensions
by
Yoshifumi Kawai
PPTX
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
by
Satoshi Ohkubo
PDF
Lisp Tutorial for Pythonista : Day 4
by
Ransui Iso
PPTX
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
by
Mika Kane
PDF
Go言語で作る webアプリ@gocon 2013 spring
by
Takuya Ueda
PDF
FuelPHP Osu Nagoya vol.1
by
Fumito Mizuno
PDF
メタメタプログラミングRuby
by
emasaka
PPT
Scala on Hadoop
by
Shinji Tanaka
PDF
PaaSの作り方 Sqaleの場合
by
hiboma
PDF
Webサーバ勉強会03
by
oranie Narut
PDF
Zabbix API
by
Shuhei Hayashibara
PDF
Mod mrubyについて
by
Ryosuke MATSUMOTO
PDF
今日から使い始めるChef
by
Masahiro NAKAYAMA
PPT
CPANの依存モジュールをもう少し正しく検出したい
by
charsbar
PDF
MySQL Casual Talks in Fukuoka vol.2
by
学 松崎
PDF
Everyday Life with clojure.spec
by
Kent Ohashi
PDF
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
by
Tsuyoshi Yamada
PPTX
CMSとPerlで遊ぼう
by
Daiki Ichinose
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
by
kenjis
10分でわかるFuelPHP @ 2011/12
by
kenjis
C#次世代非同期処理概観 - Task vs Reactive Extensions
by
Yoshifumi Kawai
OrePAN と cpanm を使ったCPAN モジュールの部分ミラーの運用管理 :Yokohama.pm #8
by
Satoshi Ohkubo
Lisp Tutorial for Pythonista : Day 4
by
Ransui Iso
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
by
Mika Kane
Go言語で作る webアプリ@gocon 2013 spring
by
Takuya Ueda
FuelPHP Osu Nagoya vol.1
by
Fumito Mizuno
メタメタプログラミングRuby
by
emasaka
Scala on Hadoop
by
Shinji Tanaka
PaaSの作り方 Sqaleの場合
by
hiboma
Webサーバ勉強会03
by
oranie Narut
Zabbix API
by
Shuhei Hayashibara
Mod mrubyについて
by
Ryosuke MATSUMOTO
今日から使い始めるChef
by
Masahiro NAKAYAMA
CPANの依存モジュールをもう少し正しく検出したい
by
charsbar
MySQL Casual Talks in Fukuoka vol.2
by
学 松崎
Everyday Life with clojure.spec
by
Kent Ohashi
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
by
Tsuyoshi Yamada
CMSとPerlで遊ぼう
by
Daiki Ichinose
Viewers also liked
PDF
Web技術勉強会 第31回
by
龍一 田中
PDF
Web技術勉強会 第38回
by
龍一 田中
PPT
Web技術勉強会第1回目
by
龍一 田中
PDF
Web技術勉強会 20120609
by
龍一 田中
PDF
Web技術勉強会 第37回
by
龍一 田中
PDF
Web技術勉強会 20111112
by
龍一 田中
PPT
Popcillo
by
ferebunda
PPT
Popcillo
by
ferebunda
PPT
Web技術勉強会2回目(Slide Share用)
by
龍一 田中
PDF
Web技術勉強会 第30回
by
龍一 田中
PDF
Web技術勉強会 20130525 - Google Cloud Messaging入門
by
龍一 田中
PPT
Ppt0000000
by
guest3c6683
PDF
Web技術勉強会 20110611
by
龍一 田中
PDF
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
by
龍一 田中
PDF
Web技術勉強会 20120728
by
龍一 田中
PDF
Web技術勉強会5回目(Slide Share用)
by
龍一 田中
PPT
Intro Ch 01 A
by
profesorgarfias
PDF
Web技術勉強会11回目
by
龍一 田中
PDF
Web技術勉強会 第18回
by
龍一 田中
Web技術勉強会 第31回
by
龍一 田中
Web技術勉強会 第38回
by
龍一 田中
Web技術勉強会第1回目
by
龍一 田中
Web技術勉強会 20120609
by
龍一 田中
Web技術勉強会 第37回
by
龍一 田中
Web技術勉強会 20111112
by
龍一 田中
Popcillo
by
ferebunda
Popcillo
by
ferebunda
Web技術勉強会2回目(Slide Share用)
by
龍一 田中
Web技術勉強会 第30回
by
龍一 田中
Web技術勉強会 20130525 - Google Cloud Messaging入門
by
龍一 田中
Ppt0000000
by
guest3c6683
Web技術勉強会 20110611
by
龍一 田中
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
by
龍一 田中
Web技術勉強会 20120728
by
龍一 田中
Web技術勉強会5回目(Slide Share用)
by
龍一 田中
Intro Ch 01 A
by
profesorgarfias
Web技術勉強会11回目
by
龍一 田中
Web技術勉強会 第18回
by
龍一 田中
Similar to Web技術勉強会23回目
PDF
Ruby on Rails Tutorial
by
Ken Iiboshi
PDF
Sinatraでwebアプリケーション開発を学ぶ
by
Hiroshi Oyamada
PPTX
シラサギハンズオン 1015 1016
by
Yu Ito
PDF
AWS小ネタ集
by
Takehito Tanabe
PDF
「Webサービスのつくり方」 のつくり方
by
Yusuke Wada
PDF
実践スクレイピング
by
だいすけ ふるかわ
PPTX
Tech fun rails_workshop
by
OMEGA (@equal_001)
PDF
Rubyで始めるWebスクレイピング
by
Takuro Sasaki
PDF
Rails初心者レッスン lesson1 3rd edition
by
Goh Matsumoto
KEY
Rails基礎講座 part.2
by
Jun Yokoyama
PDF
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
by
emasaka
PDF
Rails3.1rc4を試してみた
by
Takahiro Hidaka
KEY
Mojoliciousをウェブ制作現場で使ってみてる
by
jamadam
PDF
エコなWebサーバー
by
emasaka
PPTX
UnicastWS vol.2
by
Unicast Inc.
ODP
20090704rubyist九州
by
koki_h
PDF
RESTとRailsスタイル
by
Toru Kawamura
KEY
Ojag20120811
by
Shusaku Fukumine
PPTX
130329 perl casual_ruik
by
Rui Kimura
KEY
沖縄Web+db勉強会 20121026
by
Shusaku Fukumine
Ruby on Rails Tutorial
by
Ken Iiboshi
Sinatraでwebアプリケーション開発を学ぶ
by
Hiroshi Oyamada
シラサギハンズオン 1015 1016
by
Yu Ito
AWS小ネタ集
by
Takehito Tanabe
「Webサービスのつくり方」 のつくり方
by
Yusuke Wada
実践スクレイピング
by
だいすけ ふるかわ
Tech fun rails_workshop
by
OMEGA (@equal_001)
Rubyで始めるWebスクレイピング
by
Takuro Sasaki
Rails初心者レッスン lesson1 3rd edition
by
Goh Matsumoto
Rails基礎講座 part.2
by
Jun Yokoyama
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
by
emasaka
Rails3.1rc4を試してみた
by
Takahiro Hidaka
Mojoliciousをウェブ制作現場で使ってみてる
by
jamadam
エコなWebサーバー
by
emasaka
UnicastWS vol.2
by
Unicast Inc.
20090704rubyist九州
by
koki_h
RESTとRailsスタイル
by
Toru Kawamura
Ojag20120811
by
Shusaku Fukumine
130329 perl casual_ruik
by
Rui Kimura
沖縄Web+db勉強会 20121026
by
Shusaku Fukumine
More from 龍一 田中
PDF
WebSocketでリアルタイム処理をする
by
龍一 田中
PDF
Web技術勉強会 20100925
by
龍一 田中
PDF
Web技術勉強会 第25回
by
龍一 田中
PDF
Web技術勉強会 第33回
by
龍一 田中
PDF
Web技術勉強会 第26回
by
龍一 田中
PDF
Web技術勉強会 第19回
by
龍一 田中
PDF
Web技術勉強会 20100424
by
龍一 田中
PDF
Web技術勉強会 20110723
by
龍一 田中
PDF
Web技術勉強会 20110528
by
龍一 田中
PDF
Web技術勉強会 第28回
by
龍一 田中
PDF
Web技術勉強会 20110514
by
龍一 田中
PDF
Web技術勉強会 第29回
by
龍一 田中
PDF
Web技術勉強会9回目(Slideshare用)
by
龍一 田中
PDF
Web技術勉強会12回目
by
龍一 田中
PDF
Web技術勉強会 第34回
by
龍一 田中
PDF
Web技術勉強会6回目
by
龍一 田中
PDF
Web技術勉強会9回目2(Slideshare用)
by
龍一 田中
PDF
Web技術勉強会10回目(Slideshare用)
by
龍一 田中
WebSocketでリアルタイム処理をする
by
龍一 田中
Web技術勉強会 20100925
by
龍一 田中
Web技術勉強会 第25回
by
龍一 田中
Web技術勉強会 第33回
by
龍一 田中
Web技術勉強会 第26回
by
龍一 田中
Web技術勉強会 第19回
by
龍一 田中
Web技術勉強会 20100424
by
龍一 田中
Web技術勉強会 20110723
by
龍一 田中
Web技術勉強会 20110528
by
龍一 田中
Web技術勉強会 第28回
by
龍一 田中
Web技術勉強会 20110514
by
龍一 田中
Web技術勉強会 第29回
by
龍一 田中
Web技術勉強会9回目(Slideshare用)
by
龍一 田中
Web技術勉強会12回目
by
龍一 田中
Web技術勉強会 第34回
by
龍一 田中
Web技術勉強会6回目
by
龍一 田中
Web技術勉強会9回目2(Slideshare用)
by
龍一 田中
Web技術勉強会10回目(Slideshare用)
by
龍一 田中
Web技術勉強会23回目
1.
One operation web
clip support tool “Tcliper”. WEB技術勉強会 第23回 技術勉強会 回 RYUICHI TANAKA.
2.
アジェンダ 背景 現状の問題と解決策 Proxyの方法 要件定義 技術要件 Greasemonkey Perl Ruby on Rails 今後の課題
3.
背景 日々の情報収集はLDR+LDClip 自宅、イーモバでは快適環境 LDRで収集→必要な情報はクリップ
会社ッ 問題は…会社ッ! クリップが規制された! うちでやろう、冗談じゃない。 Web屋は常にアンテナを張っておくことが重要
4.
解決方法 ×ブラウザのブックマーク 論外。使い物にならない。 △規制されてないSBMを使う
すでにあるBMを棚卸して統合するのはちょっ と面倒 ○Proxyを使う 自宅のサーバをProxy代わりにする
5.
Proxyの方法 Proxyといっても…
Livedoor 会社PC 自宅経由でPOSTする だけなんですけどね… 自宅サーバ
6.
要件定義 最低限必要なことして…
ワンアクションでクリップ クリップデータは自宅 クリップデータは自宅に溜め込む 自宅に ワンアクションでSMBに登録 ワンアクションで に とにかく簡単に 情報をクリップする ばれずに
7.
技術要件
会社PC 自宅サーバ Livedoor Greasemonkey Perl Ruby on Rails ・クライアントはFirefox限定でGreasemonkey使用 ・グリモンがWebサイトから情報を抽出し自宅サーバにPOST POSTされるプログラムにはPerlを使用(ただし将来はRoRに統合) ・溜め込んだ情報を一覧表示、登録、編集できるページを作成 Ruby on Railsで作成。
8.
Greasemonkey UserScript定義 // @author summer-lights
author:作者 // @name tcliper name:アプリ名 // @namespace http://summer-lights.dyndns.ws/tcliper/ namespace:ユニークな値を記述 // @include * include:実行場所 // @description tcliper description:アプリの説明 // @version 1.0.0 version:バージョン UserScript Tips (function(){ 名前の重複を防ぐため無名関数でラップ })(); unsafeWindowオブジェクト 対象ページのwindowオブジェクト GM_xmlhttpRequest({ method: “post”, headers: { “Content-Type”:”application/x-www-form-urlencoded” POSTの例 }, data: xxx, onload: function(){ … } });
9.
Greasemonkey グリモンを有効にしておく
Qボタンを押すと ワンアクションで クリップ完了 ・キーボードイベントをセットしておき、発動するとクリップする ・キーはUserScript上で変更可能(お好きなキーをどうぞ) ・TITLE、URL、選択文字列をPOST送信する
10.
Perl クリップデータを受信 use Common::DB; use Common::ApiAuth;
APIキー認証(自作モジュール) … my $auth = Common::ApiAuth->new({ “apikey” => $apikey, “referer” => $referer }); my $db = Tcliper::DB->new(); クリップデータを登録 $sql = “INSERT INTO tclipers …”; @bind = ($title, $url, $comment, $date); $db->register($sql, @bind); ※将来的にPerlからRuby on Railsに統合予定?
11.
tcliper@Ruby on Rails クリップデータを表示、SBMに登録
Paginate タイトル サムネイル コメント
12.
Railsをサブディレクトリ構成で公開する Railsはアプリケーションサーバが必要になるため、Apache単独 動作するPHPやPerlと同じようにはいかない
Apacheの場合 mongrelの場合 test.pl test/index.rhtml test.php test_controller /usr/local/apache2/htdocs /home/rails http://localhost/test.php http://localhost/index.rhtml でアクセスできる のようにしてもアクセスできない Railsでは、通常「http://localhost:3000/」のような形でアクセスする。 サブドメイン方式「http://rails.localhost:3000/」にするのは比較的容易。 ただし、サブディレクトリ方式「http://localhost:3000/rails」にする のは工夫が必要。
13.
Railsをサブディレクトリ構成で公開する tcliperの構成
RailsだけどApacheで公開しているのと同じディレクトリ構成にする /usr/local/apache2/htdocs tmap/ diarysys4/ tcliperプロジェクト searchsys/ ② Apacheで公開している プロジェクト ① /usr/local/apache2/htdocs/tcliper Apacheのドキュメントルート以下にRailsプロジェクトディレクトリを配置 ①Apache(Port80)経由でアクセス可能(200)。 ②Apache(Port80)経由ではForbidden(403)。mongrel(Port3000)経由でアクセス可能
14.
Railsをサブディレクトリ構成で公開する
①mongrel経由では http://localhost:3000/ になる tcliperプロジェクト ②だが理想は、 ① http://localhost:3000/tcliper でアクセスすること ③なおかつ、複数のRails ② /usr/local/apache2/htdocs/tcliper アプリを動作させる必要がある (すでにサーバで別のRailsアプリ chocolab/ Choco.Labプロジェクト が動作中) (Ruby on Rails) ③ 結論から言うと… (1)mod_proxyの導入 の (2)routes.rbの設定 の (3)mongrel_cluster.ymlの設定 の (mongrel単体の場合、mongrelの起動オプションの設定と同義 単体の 単体 場合、 の起動オプションの設定と同義) オプションの設定 でいける。
15.
mod_proxy mod_proxyの設定をhttpd.confに記述
<IfModule mod_proxy.c> ProxyRequests Off ProxyPass /tcliper/ http://192.168.0.103:3001/tcliper/ ProxyPassReverse /tcliper/ http://192.168.0.103:3001/tcliper/ # 他のRailsアプリも同様の記述をここにする </IfModule> http://mydomain.jp/tcliper(Port80)にアクセスすると、 http://192.168.0.103:3001/tcliperにリバースしてくれる。 ただし、当然ながらRailsアプリの実体は http://192.168.0.103:3001/ にいるので、このままではアクセスできない。 ※mod_proxy_balancerやPassenger、mod_railsなどで同様の設定が可能。このあたりの説明は以前の勉強会資料 にて記述してあるので割愛。また、インストール方法についても省略。
16.
routes.rb config/route.rbの設定を変更する map.connect ‘’,
:controller => ‘tcliper’, :action => ‘index’ Railsアプリのアクセス方法は通常、以下のようになる。(※) http://mydomain.jp/tcliper/index http://IPアドレス:ポート番号/コントローラ名/アクション名 上部で示した設定にすると、コントローラ名、アクション名を省略することができる http://mydomain.jp/ リバースプロキシ状態では以下のようになる。 http://mydomain.jp/tcliper/ コントローラ名。アクション名を省略しないと、 http://mydomain.jp/tcliper/tcliper/index 一見、これで終わりなようだが、まだ終わらない。Railsのアプリ自体は動作するが、静的ファイ ル(public/)へのルーティングができていない。つまり、画像、JavaScript、CSSが読み込まれない。 ※action名が「index」の場合、URLの指定、routes.rbの:actionの指定を省略できるが、あえてわかりやすいように するためにindexを記述している。
17.
mongrel_cluster.yml mongrel_cluster.ymlの最後に以下の記述を追加
prefix: /tcliper これにより、Rails内部のルートパスも書き換わるため、 publicディレクトリにも正常にアクセスが可能になる。 ※mongrel_clusterの導入についても以前の勉強会の資料を参照のこと
18.
Rails開発は… これまでPHP、Perlによる開発をしてきた立場からすると…
開発は確かに楽 (コード量が少なくて済むのは確か) (ローカル開発環境万歳) ( (当然、習得のコストはかかるよ) ) (でも、フレームワークはやっぱ楽ですね) (CakePHPとかまんまRailsじゃん…と今ならそう思う) (Catalystはよーわからん) でも… デプロイ超めんどい ローカル開発環境とパスが違うので、書き換えする必要あり。 サブドメインでやる予定ありません。だからめんどい。
19.
Rails開発Tips 少しでもデプロイを楽にしたい
⇒パスを自動的に書き換える設定を1か所に集約させる ①config/tcliper.yml(独自作成設定ファイル) # System mode modeがproductionならサーバ、 # [production] or [development] mode: production developmentならローカル。 ②-1application_helper.rb(ここに記述していいのかどうか微妙だが) (中略) private def env_config(mode = “production”) 静的ファイルパスを static_root = “/tcliper/public” env = { modeによって変更する。 “production” => { 処理はapplication_helperに記述。 “path_to_js” => static_root + “javascripts”, … }, “development” => { “path_to_js” => “javascripts”, … } } return env[mode] end
20.
Rails開発Tips ②-2 application_helper.rb(続き)
def common_config config = YAML.load_file(“config/tcliper.yml”) インスタンス変数にパスを my_config = env_config(config[“mode”]) 格納してViewで使う @path_to_js = my_config[“path_to_js”] (中略) end ②-3 tcliper_controller.rb Class TcliperController < ApplicationController Include ApplicationHelper application_helperを呼び出して Include TcliperHelper パスの設定を実行する def index common_config (中略) end end ②-4 view/layouts/base.rhtml <html> <haad> HTML上で読み込む <%= javascript_include_tag @path_to_js + ‘common.js’ %> (中略) </html> ※実は、上記だけではすべて書き換わらない。rhtml、CSS上で直接画像を読み込むときのパスはいちいち書き換える 必要あり。要するにめんどくさい。だが、それ以上にローカル開発環境の恩恵は大きいのが実情。
21.
今後の課題 まだ、ため込んだクリップデータを表示しただけ。目的は達成できていない。 今後は、一発クリップ機能を実装予定。 LDCからタグ一覧を引っ張ってくる
ブックマークレットは使わない 画面遷移により、一発でクリップはできないため 認証連携が必要 一発クリップにはLDの認証を越える必要がある 案としては、Mechnize+ScraperかクロスサイトAjaxかLivedoor Auth連携のどれかでブラウザ に認証Cookieを保存する タイムアウト処理は…問題が起きたら考える Firefoxアドオン移植 そのうち Perl→RoR移植 すぐできそう スーパー一発クリップ機能 一覧表示をすっ飛ばして直接LDCにクリップ。わりとすぐできそう。ただし、タグ付と かできない気がする。
Download