Presentation is loading. Please wait.

Presentation is loading. Please wait.

MySQL/Ruby, ERB, mod_rubyを使ったCGIの実例

Similar presentations


Presentation on theme: "MySQL/Ruby, ERB, mod_rubyを使ったCGIの実例"— Presentation transcript:

1 MySQL/Ruby, ERB, mod_rubyを使ったCGIの実例
出席者にとっては親しみのない技術的な内容を発表しなければならない、ということがよくあります。そうしたプレゼンテーションの内容は、複雑で難しいものです。技術情報を効果的に発表するには、Dale Carnegie Training® のガイドラインを活用してください。 発表時間を考慮して、内容を組み立てます。トピックは多すぎないようにまとめます。プレゼンテーションを分類します。論理的な展開にします。言いたいポイントは終始一貫させます。最後は、まとめとキーポイントのおさらいで終わらせます。 常に出席者を念頭におきます。たとえば、データが明確で情報が適切であるか。内容の深さを一定にし、使う用語を出席者の知っているものにします。ビジュアルを使ってキーポイントを表します。出席者が注意深く聞くようにし向け、興味をひきつけます。 Kazuhiro Yoshida 2019/4/10 KANSAI OPEN SOURCE+FREEWARE 2003

2 Ruby活用事例 実務で使えるツールをRubyで作成 Webブラウザや携帯電話からアクセス 2019/4/10
オープニングでは、トピックと出席者との関連を構築します。プレゼンテーションの概要を述べ、出席者にとっての意義を示します。使うことばや実例・図を選ぶときには、彼らの興味や経験を考慮します。トピックの重要性に焦点をあて、彼らの注意をこちらに向けます。 2019/4/10

3 わははネットの携帯サイト 妊婦さんから小学校入学前までのお子さんを持つ親を対象に 地域別のイベント情報・子育て情報を配信
メールでURLを返して携帯端末で開いてもらう 2019/4/10

4 (株)岩佐佛喜堂のツール 勤務表(出欠表) 在庫・販売管理 配達予定表 2019/4/10

5 使用するライブラリ MySQL/Ruby ERB mod_ruby 2019/4/10
複数のポイントがある場合は、複数のスライドを使います。出席者が新しいアイデアを理解するのか、プロセスを学ぶのか、すでに知っている内容をより深く理解するのか、を決めます。各々のポイントに、十分な説明をつけます。場合によっては、印刷物、フロッピー ディスクや電子メール、インターネットなどで技術的データを渡します。ポイントを掘り下げ、出席者と意見交換します。 2019/4/10

6 MySQL/Ruby by とみたさん Ruby/MySQL (Ruby/DBI) デフォルトcharsetをShift JISに
2019/4/10

7 ERB eRuby 前田さん ↓使いやすさ ERB 咳さん ↓速度 erbscan moonwolfさん 2019/4/10

8 mod_ruby 仕組み apache/ruby-run.rb 結果として速度とメモリに影響 グローバル変数の奇妙な振る舞い [実例]
2019/4/10

9 Apache.chdir_file(filename) load(filename, true)
apache/ruby-run.rb: Apache.chdir_file(filename) load(filename, true) 2019/4/10

10 app1.rbx: $gv = 0 def inc_gv $gv += 1 end 5.times{inc_gv} … print $gv
2019/4/10

11 app2.rbx: require './lib2.rb' 5.times{inc_gv} … print gv lib2.rb:
def inc_gv $gv += 1 end def gv $gv 2019/4/10

12 app3.rbx: require './lib3.rb' foo = Foo.new 5.times{foo.inc_iv} …
print foo.iv lib3.rb: class Foo def initialize @iv = 0 end def inc_iv @iv += 1 attr :iv 2019/4/10

13 半角カナ 上手に付き合えば問題ない どこで化ける? → nkfライブラリとの相性 [実例] 2019/4/10

14 include ERB::DefMethod dir = File.dirname( __FILE__ )
require 'erb' class Foo include ERB::Util include ERB::DefMethod dir = File.dirname( __FILE__ ) def_erb_method( :output, File.join(dir, 'foo.erb') ) end 2019/4/10

15 # 'charset' => 'shift_jis', 'Cache-Control' => 'no-cache', }
require 'cgi' cgi = CGI.new header = { 'type' => 'text/html', # 'charset' => 'shift_jis', 'Cache-Control' => 'no-cache', } foo = Foo.new cgi.out( header ){ foo.output 2019/4/10

16 def out(options = "text/html") … case options["charset"]
cgi.rb: def out(options = "text/html") case options["charset"] when /shift_jis/ni content = NKF::nkf('-s', content) 2019/4/10

17 絵文字 単純な置換で済む 各キャリアに対応 → HTTP_USER_AGENT cgi.user_agent
httpd.conf: RewriteConf %{HTTP_USER_AGENT} (J-PHONE|UP\.Browser) 2019/4/10

18 まとめ Rubyで実務アプリを作れる Rubyで携帯サイトを作れる
Ruby以前に文字コード, MySQL, apacheについて調べることが大切 効率は後から考えればよい まとめを述べる、その他の選択肢を提示する、なんらかの方針を薦める、プランを提案する、目標を設定する、など、一番適した内容でプレゼンテーションを終わらせましょう。焦点を終始一貫させれば、目的を達成しやすいものです。 2019/4/10


Download ppt "MySQL/Ruby, ERB, mod_rubyを使ったCGIの実例"

Similar presentations


Ads by Google