SlideShare a Scribd company logo
1 of 15
Download to read offline
Web技術勉強会第12回
~自作ブログ「DIARYSYS4」開発報告2~

         Ryuichi TANAKA
  Study:http://devel.de.c.dendai.ac.jp/study/
 Blog:http://blog.livedoor.jp/mapserver2007/
前回に引き続き開発結果報告

• 前回までの進捗率

             40%
• 開発開始から約4週間
 – 進度は予定通り。だが、大半が管理機能の実装なので
   実際のところ画面ではほとんど進んでいるように見え
   ない^^;
実装した機能

• トップ画面
 – Widget(TMAP、LivedoorClip、Yahoo!トピックス)(100%)
• 管理画面
 – エントリ管理(10%)
    • DBから引っ張ってくるだけ
 – Widget管理(95%)
    • Widgetの表示設定関係。ほぼ完成
 – 新規エントリ(75%)
    • QuickTagsPlusのamazon拡張、リアルタイムプレビューは完成。タグ管
      理機能は途中(30%)
• 認証
 – Livedoor Authを利用した認証(100%)
今回の内容

• 今回も実装の報告+α
 – 機能実装は、単発で組めるので負担になりにくいので。
• 今回実装した機能
 – ファイルアーカイブ機能
  •   画面遷移なしファイルアップローダ
  •   jQuery.tablesorter
  •   jQuery.carousel
  •   Imagerライブラリ
  •   QuickTagsPlus拡張
ファイルアーカイブ機能

• 保存してあるファイルを一括して閲覧、編集
 – どこにでもありそう。だけど、これまで実装していなかっ
   たので、今回実装してみる。
 – これまでは、恥ずかしながら、WinSCPでファイルをアッ
   プロードしていた…。
 – だけど、実装するからには、例によって新しい要素を入
   れたい。
Ajaxっぽいアップロード

• Ajaxっぽいアップロードがしたい
 – ライブラリを探すも、なかなか眼鏡にかなうものがない
 – よさそうなものはあったが、カスタマイズがしにくい、
   ソースの記述方法がDIARYSYSとあまりに違うので組
   み込みにくい、などの理由から却下。
• 「Ajaxっぽい」のならOK…ということは
 – 別に非同期でやる必要はないことに気が付く
 – じゃあ、どうする?
iframeを利用する

• iframeをターゲットにアップロードする




                  見えないところにiframe
iframeを使うと画面遷移がない

        A                                          B
                          submitを押すと必ず
  action=“test.pl”        画面遷移が起きる                test.pl




                                        iframeをターゲット
             A                          にすることで、見かけ上
                              test.pl   の遷移はなくなる
                          B
       action=“test.pl”
アップロード完了後Javascriptを実行

• Ajaxっぽく見せるため、コールバックを実行
  # アップロード処理が終った後以下を実行
  print “<script>callback(“.to_json($data).”);</script>”;



• コールバックさせることで、見かけ上はAjaxっぽく
  見える。
 – DIARYSYS4の実装では、コールバック後にさらに
   JSONPを実行している
ファイルアーカイブ機能をエントリ登録画面
と連動させる


                   クリック



              表示




アップロードした画像の
サムネイル
ファイルアーカイブ機能をエントリ登録画面
と連動させる
              クリックすると
              BBコードを出力




        リアルタイムプレビュー
jQuery.tablesorter




  ・だいぶ綺麗になる
  ・ヘッダ部分をクリックするとソートしてくれる
  ・導入が非常に簡単
jQuery.carousel




  ・左右にあるボタンを押すとスクロールしてくれる
  ・導入が比較的に簡単
Imager




サムネイル画像

 ・サムネイル画像は、ファイルアップロード時に生成
 ・Imagerライブラリを使うと簡単にできる
+α – 開発合宿のテーマ

• 候補
 – DIARYSYS4の拡張
   • エントリ登録・表示周り
       – 現在続けている開発を続行する形
   • 外部ブログ同期機能
       –   まずは、WWW::HatenaDiaryを使う?
       –   その後、WWW::LivedoorBlogを作る?
       –   泥臭くやればたぶんできるだろう
       –   まずは単独で作り、その後DIARYSYS4に移植

More Related Content

What's hot

Developers[Media]Summit 2009
Developers[Media]Summit 2009Developers[Media]Summit 2009
Developers[Media]Summit 2009Akiko Iwakiri
 
A Glance At Web 2.0
A Glance At Web 2.0A Glance At Web 2.0
A Glance At Web 2.0Chiong
 
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Yusuke Kawasaki
 
Windows MobileとWeb Api
Windows MobileとWeb ApiWindows MobileとWeb Api
Windows MobileとWeb ApiKenji Wada
 
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!devsumi2009
 
블로그기반 출판(중국어)
블로그기반 출판(중국어)블로그기반 출판(중국어)
블로그기반 출판(중국어)JIAQI NIE
 
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
章文嵩:使用LVS集群架设高可扩展的网络服务.pdfXMourinho
 
Vidi Now產品簡介
Vidi Now產品簡介Vidi Now產品簡介
Vidi Now產品簡介Natasha Lin
 
【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるには【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるにはdevsumi2009
 
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツールはなずきん Hana
 
Sentokyo(20061012)
Sentokyo(20061012)Sentokyo(20061012)
Sentokyo(20061012)真 岡本
 
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発Yuichi Tanaka
 

What's hot (20)

Developers[Media]Summit 2009
Developers[Media]Summit 2009Developers[Media]Summit 2009
Developers[Media]Summit 2009
 
A Glance At Web 2.0
A Glance At Web 2.0A Glance At Web 2.0
A Glance At Web 2.0
 
WebDAV as Web API
WebDAV as Web APIWebDAV as Web API
WebDAV as Web API
 
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
 
RDF and FOAF
RDF and FOAFRDF and FOAF
RDF and FOAF
 
Windows MobileとWeb Api
Windows MobileとWeb ApiWindows MobileとWeb Api
Windows MobileとWeb Api
 
What is PHP Frameworks?
What is PHP Frameworks?What is PHP Frameworks?
What is PHP Frameworks?
 
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
 
블로그기반 출판(중국어)
블로그기반 출판(중국어)블로그기반 출판(중국어)
블로그기반 출판(중국어)
 
EndNote 與碩士論文寫作
EndNote 與碩士論文寫作EndNote 與碩士論文寫作
EndNote 與碩士論文寫作
 
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
 
Life In Whatever 2.0
Life In Whatever 2.0Life In Whatever 2.0
Life In Whatever 2.0
 
Vidi Now產品簡介
Vidi Now產品簡介Vidi Now產品簡介
Vidi Now產品簡介
 
【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるには【13-B-3】 企業システムをマッシュアップ型に変えるには
【13-B-3】 企業システムをマッシュアップ型に変えるには
 
git-svn intro
git-svn introgit-svn intro
git-svn intro
 
Personal knowledge management
Personal knowledge managementPersonal knowledge management
Personal knowledge management
 
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
 
Sentokyo(20061012)
Sentokyo(20061012)Sentokyo(20061012)
Sentokyo(20061012)
 
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
 
lectureinfo site for xmu
lectureinfo site for xmulectureinfo site for xmu
lectureinfo site for xmu
 

Viewers also liked

Web技術勉強会 20110514
Web技術勉強会 20110514Web技術勉強会 20110514
Web技術勉強会 20110514龍一 田中
 
Web技術勉強会 第25回
Web技術勉強会 第25回Web技術勉強会 第25回
Web技術勉強会 第25回龍一 田中
 
Web技術勉強会9回目(Slideshare用)
Web技術勉強会9回目(Slideshare用)Web技術勉強会9回目(Slideshare用)
Web技術勉強会9回目(Slideshare用)龍一 田中
 
Web技術勉強会 第26回
Web技術勉強会 第26回Web技術勉強会 第26回
Web技術勉強会 第26回龍一 田中
 
Web技術勉強会 第29回
Web技術勉強会 第29回Web技術勉強会 第29回
Web技術勉強会 第29回龍一 田中
 
Web技術勉強会6回目
Web技術勉強会6回目Web技術勉強会6回目
Web技術勉強会6回目龍一 田中
 
Web技術勉強会 20100424
Web技術勉強会 20100424Web技術勉強会 20100424
Web技術勉強会 20100424龍一 田中
 

Viewers also liked (7)

Web技術勉強会 20110514
Web技術勉強会 20110514Web技術勉強会 20110514
Web技術勉強会 20110514
 
Web技術勉強会 第25回
Web技術勉強会 第25回Web技術勉強会 第25回
Web技術勉強会 第25回
 
Web技術勉強会9回目(Slideshare用)
Web技術勉強会9回目(Slideshare用)Web技術勉強会9回目(Slideshare用)
Web技術勉強会9回目(Slideshare用)
 
Web技術勉強会 第26回
Web技術勉強会 第26回Web技術勉強会 第26回
Web技術勉強会 第26回
 
Web技術勉強会 第29回
Web技術勉強会 第29回Web技術勉強会 第29回
Web技術勉強会 第29回
 
Web技術勉強会6回目
Web技術勉強会6回目Web技術勉強会6回目
Web技術勉強会6回目
 
Web技術勉強会 20100424
Web技術勉強会 20100424Web技術勉強会 20100424
Web技術勉強会 20100424
 

More from 龍一 田中

WebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をするWebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をする龍一 田中
 
Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門龍一 田中
 
Web技術勉強会 20120728
Web技術勉強会 20120728Web技術勉強会 20120728
Web技術勉強会 20120728龍一 田中
 
Web技術勉強会 20120609
Web技術勉強会 20120609Web技術勉強会 20120609
Web技術勉強会 20120609龍一 田中
 
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドするWeb技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする龍一 田中
 
Web技術勉強会 20111112
Web技術勉強会 20111112Web技術勉強会 20111112
Web技術勉強会 20111112龍一 田中
 
Web技術勉強会 20110723
Web技術勉強会 20110723Web技術勉強会 20110723
Web技術勉強会 20110723龍一 田中
 
Web技術勉強会 20110611
Web技術勉強会 20110611Web技術勉強会 20110611
Web技術勉強会 20110611龍一 田中
 
Web技術勉強会 20110528
Web技術勉強会 20110528Web技術勉強会 20110528
Web技術勉強会 20110528龍一 田中
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925龍一 田中
 
Web技術勉強会 第38回
Web技術勉強会 第38回Web技術勉強会 第38回
Web技術勉強会 第38回龍一 田中
 
Web技術勉強会 第37回
Web技術勉強会 第37回Web技術勉強会 第37回
Web技術勉強会 第37回龍一 田中
 
Web技術勉強会 第34回
Web技術勉強会 第34回Web技術勉強会 第34回
Web技術勉強会 第34回龍一 田中
 
Web技術勉強会 第33回
Web技術勉強会 第33回Web技術勉強会 第33回
Web技術勉強会 第33回龍一 田中
 
Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回龍一 田中
 
Web技術勉強会 第30回
Web技術勉強会 第30回Web技術勉強会 第30回
Web技術勉強会 第30回龍一 田中
 
Web技術勉強会 第28回
Web技術勉強会 第28回Web技術勉強会 第28回
Web技術勉強会 第28回龍一 田中
 
Web技術勉強会23回目
Web技術勉強会23回目Web技術勉強会23回目
Web技術勉強会23回目龍一 田中
 
Web技術勉強会 第19回
Web技術勉強会 第19回Web技術勉強会 第19回
Web技術勉強会 第19回龍一 田中
 
Web技術勉強会 第18回
Web技術勉強会 第18回Web技術勉強会 第18回
Web技術勉強会 第18回龍一 田中
 

More from 龍一 田中 (20)

WebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をするWebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をする
 
Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門
 
Web技術勉強会 20120728
Web技術勉強会 20120728Web技術勉強会 20120728
Web技術勉強会 20120728
 
Web技術勉強会 20120609
Web技術勉強会 20120609Web技術勉強会 20120609
Web技術勉強会 20120609
 
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドするWeb技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
 
Web技術勉強会 20111112
Web技術勉強会 20111112Web技術勉強会 20111112
Web技術勉強会 20111112
 
Web技術勉強会 20110723
Web技術勉強会 20110723Web技術勉強会 20110723
Web技術勉強会 20110723
 
Web技術勉強会 20110611
Web技術勉強会 20110611Web技術勉強会 20110611
Web技術勉強会 20110611
 
Web技術勉強会 20110528
Web技術勉強会 20110528Web技術勉強会 20110528
Web技術勉強会 20110528
 
Web技術勉強会 20100925
Web技術勉強会 20100925Web技術勉強会 20100925
Web技術勉強会 20100925
 
Web技術勉強会 第38回
Web技術勉強会 第38回Web技術勉強会 第38回
Web技術勉強会 第38回
 
Web技術勉強会 第37回
Web技術勉強会 第37回Web技術勉強会 第37回
Web技術勉強会 第37回
 
Web技術勉強会 第34回
Web技術勉強会 第34回Web技術勉強会 第34回
Web技術勉強会 第34回
 
Web技術勉強会 第33回
Web技術勉強会 第33回Web技術勉強会 第33回
Web技術勉強会 第33回
 
Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回
 
Web技術勉強会 第30回
Web技術勉強会 第30回Web技術勉強会 第30回
Web技術勉強会 第30回
 
Web技術勉強会 第28回
Web技術勉強会 第28回Web技術勉強会 第28回
Web技術勉強会 第28回
 
Web技術勉強会23回目
Web技術勉強会23回目Web技術勉強会23回目
Web技術勉強会23回目
 
Web技術勉強会 第19回
Web技術勉強会 第19回Web技術勉強会 第19回
Web技術勉強会 第19回
 
Web技術勉強会 第18回
Web技術勉強会 第18回Web技術勉強会 第18回
Web技術勉強会 第18回
 

Web技術勉強会12回目