Naoya Ito naoya@naoya.dyndns.org http://naoya.dyndns.org/~naoya/mt/ Blog テクノロジーとWeb サービス Naoya Ito naoya@naoya.dyndns.org http://naoya.dyndns.org/~naoya/mt/

Slides:



Advertisements
Similar presentations
Wiki と Web サービス API. Wiki と Web サービス API ( 1 )  Web サービス API の流行 Blog が投稿用の Web サービス API を提供 Amazon 、 Google 、 Yahoo などが各種情報 取得のための Web サービス API を提供.
Advertisements

Integrated Personal Page C05823 森本万里子 C05829 西山礼恵 C05899 高木華子.
© Copyright the Seasar Foundation and the others all rights reserved. 1 S2Axis2 による Web2.0 らくらく実践 2006/05/14 Seasar Conference 2006 Spring 鈴木 貴典.
RSS,Atom の動向 理工学部 情報学科 3 年 片山友輝. 発表内容 ・ RSS,Atom おさらい ・なぜ Atom ができたか? ・ Atom の特徴 ・ Atom の動向 ・ Atom フィードの記述方法 ・ Atom 対応ツール ・参考文献・資料.
テクノロジードリブンな Web サイト構築 と そのパブリシティ向上のポイント Tatsuhiko Miyagawa Livedoor, Co.,Ltd. / Shibuya Perl Mongers
© 2005 株式会社はてな 本資料の一部または全部の無断複製・転載を禁じます prototype.js と Perl で Ajax 株式会社はてな 伊藤 直也
1 なんとなく Ajax ~新しくて古い XMLHttp 川合孝典 (Kansai.pm) 2005/5/22.
応用 Java(Java/XML) 第 10 回 2006 年 7 月 14 日 植田龍男. 後半の内容の予定 XPath (6/9) 、 XSLT (6/16) 名前空間 (Namespace) (6/16) XML 文書の妥当性の検証 (6/23) DTD, W3C XML Schema SOAP.
WebサービスII (第12回)‏ 2007年12月19日 植田龍男.
「図書管理」のための Webアプリケーション開発 -Apache/Tomcat/MySQL/Java on Windows XP-
Curlの特徴.
IIS 4.0で開発をするコツ Webアプリケーション構築.
ZKプラグインで、Grailsの Viewをリッチに楽しく
The Perl Conference Japan ’98 朝日奈アンテナによる コンテンツ情報の取得と利用
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
情報理工学部 情報システム工学科 3年 H 井奈波 和也
JPAを利用した RESTful Webサービスの開発
2006年11月15日 植田龍男 Webサービス II (第8回) 年11月15日 植田龍男.
WordPressの基礎.
SlothLib.Web.
REST型Webサービスによる 楽曲検索システムの開発
SharePoint Server において 構成ウィザードが失敗する場合の トラブルシューティング
分散コンピューティング環境上の Webリンク収集システムの実装
IE5でアプリケーション開発 東日本計算センター 小野 修司.
Iアプリプログラミング その1  鳥居秀徳.
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
Lightweight Language Weekend ls-lRシェル
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
JavaServlet&JSP入門 01K0018 中村太一.
Webアプリケーション.
Webサイト運営 09fi118 橋倉伶奈 09fi131 本間昂 09fi137 三上早紀.
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
卒研:データベースチーム 第4回 DOMを使った処理
平成19年11月8日 図書系職員のための アプリケーション開発講習会
WebサービスII (第8回) 2007年11月14日 植田龍男.
HTTPプロトコルとJSP (1) データベース論 第3回.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
Curlの仕組み.
FM-Tokyo Oct 30, 2004 やっと見えた! FileMaker Server Avancedの全貌
JavaBeans とJSP データベース論 第5回.
HTTPプロトコル J2EE I 第7回 /
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
データベース設計 第9回 Webインタフェースの作成(1)
RMI ソフトウェア特論 第6回 /
第8章 Web技術とセキュリティ   岡本 好未.
Webサービスを使った クライアント・プログラム
11.Webサイトとデータベース, Webサイト+ブログシステムの開設手順例
Webサービス II(第3回) 2007年10月10日.
図書館職員のための アプリケーション開発講習会
WebサービスII (第7回) 2007年11月7日 植田龍男.
Windows PowerShell Cmdlet
仕事: SystemVerilogを使いたい
Microsoft BizTalk Server & SAP PP モジュール 連携検証レポート概要
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
既存Javaプログラム向け 分散化支援システムの開発
2006年11月8日 植田龍男 Webサービス II (第7回) 年11月8日 植田龍男.
情報学類 2年 吉田 光男 ブラウザで使う RSS Reader の実装 情報学類 2年 吉田 光男
第13回 2007年7月20日 応用Java (Java/XML).
楽天広場が仕掛ける webサービスの世界 2003/6/13 楽天株式会社 田中良和.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
第2回 Webサーバ.
B2 須山哲 (susan) 所属:Stream
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
Microsoft Office Project Server 2007
サーバーレス キャンペーンインフラご提案 特徴 料金 初期費用 0円 月額 120,000円 初期費用 0円 月額 380,000円
GluonJ を用いたビジネスロジックからのデータベースアクセスの分離
Presentation transcript:

Naoya Ito naoya@naoya.dyndns.org http://naoya.dyndns.org/~naoya/mt/ Blog テクノロジーとWeb サービス Naoya Ito naoya@naoya.dyndns.org http://naoya.dyndns.org/~naoya/mt/ 2018/11/8 Shibuya.pm Tech Talk #4

アジェンダ Blog とは? Blog ツール Blog テクノロジ: RSS Blog テクノロジ: Weblogs.Com Ping PerlでRSS RssRolling Blog テクノロジ: Weblogs.Com Ping XML-RPC Ping Interface Perl による Ping クライアント Perl による Ping サーバ デモ: Ping Server + IRC Amazon Web サービス Perl で AWS Blog と AWS: mt.cgi 2018/11/8 Shibuya.pm Tech Talk #4

Blog とは? (1) Scripting News (by Dave Winer) “日記形式で日々追記していく形式のテキストを主体としたサイト” (山田BBS) Web + Log = Weblog → Blog ウェブログ、ブログ、ウェブロ etc.. Scripting News (by Dave Winer) http://www.scripting.com/ 2018/11/8 Shibuya.pm Tech Talk #4

Blog とは? (2) 2018/11/8 Shibuya.pm Tech Talk #4 NDO::Weblog http://naoya.dyndns.org/~naoya/mt/ torus solutions! http://www.torus.jp/diary/ The Food Section http://www.thefoodsection.com/ blog.bulknews.net http://blog.bulknews.net/mt/ ELECTRIC DOC. http://e-doc.no-ip.com/blog/default.aspx b2evolution http://b2evolution.net/ 2018/11/8 Shibuya.pm Tech Talk #4

Blogツール(1) iBlog Movable Type Radio BLOGGER Blog を作るためのツール http://www.lifli.com/Products/iBlog/main.htm Movable Type http://www.movabletype.org/ Radio http://radio.userland.com/ BLOGGER http://www.blogger.com/ Blog を作るためのツール 様々な Blog ツールがリリースされている サーバインストール型、クライアント型、ホスティング型などアーキテクチャも様々 2018/11/8 Shibuya.pm Tech Talk #4

「BlogはXMLだ!」 …これはちょっと大袈裟 サイトのコンテンツやデザインを管理する軽量なCMSを、XML 応用技術やウェブサービスなどでトッピング。 RSS WeblogUpdates Ping TrackBack XML-RPC API PingBack FOAF ATOM Light Weight CMS 「BlogはXMLだ!」 …これはちょっと大袈裟 2018/11/8 Shibuya.pm Tech Talk #4

Perl な Blog ツール blosxom Greymatter Movable Type … 私も使ってます。 etc. 2018/11/8 Shibuya.pm Tech Talk #4

Blog テクノロジ: RSS サイト概要をXMLで記述したメタデータ 記事タイトル、記事概要、記事URL等の情報をプログラムから効率的に扱うことができる Blogで積極的に利用されている Blogツールが自動生成 2018/11/8 Shibuya.pm Tech Talk #4

RSS アプリケーション SharpReader Bloglines RSSリーダー (Windows アプリ) http://www.sharpreader.net/ Bloglines RSSアグリゲータ (Web アプリ) http://www.bloglines.com/ 2018/11/8 Shibuya.pm Tech Talk #4

Perl で RSS XML::RSS POE::Component::RSS use XML::RSS; use LWP::Simple; my $string = LWP::Simple::get(‘http://naoya.dyndns.org/~naoya/mt/index.rdf’); my $rss = XML::RSS->new; $rss->parse($string); for my $item (@{$rss->{items}}) { print $item->{title}, “\n”; print $item->{link}, “\n”; } XMLのパースなどはモジュール任せ。XMLを全く意識しなくて良い。 2018/11/8 Shibuya.pm Tech Talk #4

RssRolling Blog サイトなどから RSS を集めて来て新着記事を表示する Perl アプリケーション。 RssRolling http://naoya.dyndns.org/~naoya/rssrolling/ 2018/11/8 Shibuya.pm Tech Talk #4

RssRolling の動作 Weblogs.Com BlogRolling blogs 主な使用モジュール 2018/11/8 XML::RSS HTML::RSSAutodiscovery LWP::UserAgent HTML::Template リンク集のRSS Weblogs.Com BlogRolling 出力  HTML  RSS 1.0  OPML 1.0  ATOM 巡回 記事のRSS blogs BlogRolling と連携、リンク集の RSS を元に Blog サイトを巡回する 2018/11/8 Shibuya.pm Tech Talk #4

Blog テクノロジ: Weblogs.Com Ping UserLand Software が運営 http://www.weblogs.com/ changes.xml Blog の更新情報を XML で配信するサイト 更新情報は Blog ツールが送信する更新通知(Ping)から構築 2018/11/8 Shibuya.pm Tech Talk #4

(XML-RPC or SOAP or REST) Weblogs.Com Ping XMLで情報公開 Ping (XML-RPC or SOAP or REST) name url 利用 Weblogs.Com Blog with a Blog Tool 各種メタブログサービス 2018/11/8 Shibuya.pm Tech Talk #4

XML-RPC Ping Interface XML-RPC … メッセージングにXMLを用いるRPC。SOAP のベースとなった仕様。 メソッド名 引数 返値(構造体) ret = weblogUpdates.ping(‘NDO::Weblog’, ‘http://naoya.dyndns.org/~naoya/mt/); Request Request (HTTP POST etc.) Response Response 2018/11/8 Shibuya.pm Tech Talk #4

Perl による Ping クライアント XMLRPC::Lite Frontier::Client use Frontier::Client; my $server = Frontier::Client->new( url => ‘http://www.example.com/ping/’ ); my $ret = $server->call(‘weblogUpdates.ping’, ‘NDO::Weblog’, ‘http://naoya.dyndns.org/~naoya/mt/’); メッセージングにXMLが使われていることは一切意識する必要がない。あたかもローカルのオブジェクトのメソッドを呼び出しているかのように。 2018/11/8 Shibuya.pm Tech Talk #4

Perl による Ping サーバ XMLRPC::Transport::HTTP::CGI (or Daemon) POE::Component::Server::XMLRPC use XMLRPC::Transport::HTTP; XMLRPC::Transport::HTTP::CGI->dispatch_to(‘weblogUpdates::ping’)->handle; package weblogUpdates; sub ping { my ($self, $name, $url) = @_; return {flerror => XMLRPC::Data->type(‘boolean’, 0), message => “Thanks for the ping”}; } DB 更新処理などの業務ロジック CGIプログラムとして動作 やはりXMLメッセージングは意識しなくて良い 2018/11/8 Shibuya.pm Tech Talk #4

デモ: Ping Server + IRC 仕様 Weblogs.Com Ping を受信する 受信した Weblog の RSS から最新記事のタイトルを取得する 取得した情報を IRC チャンネルに発言する XML-RPC サーバとして動作 RSS を取得しに行く HTTP クライアントとして動作 IRC bot として動作 様々なコンポーネントがメッセージをやり取り … Perl なら POE (Perl Object Environment) を使うと◎ 2018/11/8 Shibuya.pm Tech Talk #4

POE によるコンポーネント非同期プログラミング use POE qw ( Component::Server::XMLRPC Component::IRC …); … POE::Component::IRC->new(“irc”); POE::Component::Server::XMLRPC->new( alias => “xmlrpc” ); POE::Session->create ( inline_states => { _start => \&setup_service, _stop => \&shutdown_service, ‘webloUpdates.ping’ => \&ping_handler, … });: POE::Kernel->run; sub ping_handler { my $poe = sweet_args; my ($blog_name, $blog_url) = ($poe->args->[0], $poe->args->[1]); $poe->kernel->call ( irc => privmsg => ‘#test’=> sprintf(“Ping Received from %s (%s)”, $blog_name, $blog_url )); } POEコンポーネント イベント登録 イベントハンドラ 2018/11/8 Shibuya.pm Tech Talk #4

Amazon Web サービス 2003年7月に Amazon.co.jp も Web サービス対応。 日本の商品データベースにアクセス可能に。 SOAP or REST インタフェース Amazon.co.jp Web サービス http://www.amazon.co.jp/exec/obidos/subst/associates/join/webservices.html 2018/11/8 Shibuya.pm Tech Talk #4

Perl で AWS SOAP::Lite Net::Amazon 2018/11/8 Shibuya.pm Tech Talk #4 use Net::Amazon; my $ua = Net::Amazon->new( token => ‘トークン’, affiliate_id => ‘アソシエイトID’, locale => ‘jp’); my $response = $ua->search( asin => ‘4873110963’ ); if ( $response->is_success) { for my $property ( $response->property ) { print $property->ProductName, “\n”; } } else { warn $response->message; 2018/11/8 Shibuya.pm Tech Talk #4

Blog と AWS : mtaws.cgi Amazon アフィリエイトリンク作成支援ツール ASIN検索 リンクするためのHTMLコードを出力 Movable Type 風インタフェース Bookmarklet から利用可 http://naoya.dyndns.org/~naoya/mt/archives/000457.html 2018/11/8 Shibuya.pm Tech Talk #4

まとめ Blog のキーワードは “Lightweight” Lightweight な言語 Perl との相性◎ Lightweight なCMS Lightweight なウェブサービス Lightweight なXML Lightweight な言語 Perl との相性◎ CPAN を活用すると吉 2018/11/8 Shibuya.pm Tech Talk #4

おまけ: Blog な CPAN 生活 XML::RSS XML::RSS::Aggregate HTML::RSSAutodiscovery SOAP::Lite, XMLRPC::Lite Net::Blogger, Net::MovableType Net::Amazon Net::Google POE::Component::Server::XMLRPC, SOAP 2018/11/8 Shibuya.pm Tech Talk #4