当サイトのブログエンジンはwordpressなんですけど、バージョン2.8位で止ってたんで久々にアップグレードしました。いつの間にかバージョン 3.0.4です。なんでもセキュリティ上重要な更新だそうで。
最近のwordpressはブラウザ上から自動アップグレードできるんですね。プラグインも。
すんごく便利です。
一応、ファイルのバックアップを取っときます。rsyncでごそっと。
それからMySQLのデータをExportとっといた方が良いようなんで取っときます。これもphpMyAdminを使えば簡単ですね。
で、プラグインを全て停止して、サクッと実行しました。
アップグレードはすぐに終わりました。
地味にいくつかのテーマ修正とかプラグインとか不具合ありましたが、なんとか辻褄あわせたつもりです。
はずかしながら知りませんでしたが、テーマのファイルを管理画面から編集できるんですね。今までローカルで編集してscpしてました。
なんか色んな事がブラウザ上で完結して便利になっていくナァ。
だんだんwordpressのしくみや構造に詳しくなってきたぞ。
2011-01-20 追記
Google Analytics プラグインで、IDの設定がリセットされてました。
1週間気づかなかったせいで、その間のレポートが、本来数万セッション/日(嘘)の所0セッションに・・・
一応ソーシャル・メディアなウェブを仕事の一部としている関係上、TwitterのTLを読んでて、気になったので。
SNSの定義
まずはSNSの定義から入りましょう。ここがわかれば、ソーシャル、ソーシャルメディア、ソーシャルグラフという言葉等の意味も、自然と、概念的に理解できるはずです。なぜならSNSこそがソーシャルという概念を生み出した存在だからです。そしてこの定義は幸いなことにとてもシンプルなものです。
SNSとは、「実際の友人・知人との関係をネット上に移したもの」です。つまり、リアルの友人・知人との交流の場です。これだけです。ね、シンプルでしょう?
蔓延する誤った「ソーシャルメディア」の定義【水谷翔】 – TechWave
冒頭のSNS定義(というか仮説というか)が偏っていて「実際の友人・知人」に限定したものですから、後半の理論展開に無理があるというか、私もそうですが納得がいかない人が多い様ですね。
使い方は人それぞれですからね。
個人的には「SNSの定義」を、「Facebookの本来の使い方の定義」に読み替えると、しっくりくるんですけどね。
補足 オープンとクローズドについての補足点。
・・・
私が言う「クローズド」とは、ユーザー同士の関係や、会話のやり取りのことです。この情報が外にさらされたら(Googleで検索したらマイミクやフレンドの情報が出てくる等)、とんでもないですよね?
そうならない、クローズドな世界での濃密なコミュニケーションがSNS、ひいてはソーシャルの魅力なのです。
蔓延する誤った「ソーシャルメディア」の定義【水谷翔】 – TechWave
でも、なかなか良い切り口だと思いました。
SNSって言葉だけでカテゴライズ出来ない位、ソーシャル・ウェブ / ソーシャル・メディアにも色々あります。
クローズドなやつもあれば、オープンなやつもあります。
個人的には、これからはシンプルでオープンなやつがクル!と思ってますけど。twitterが世に出る前から。ホントですうそじゃないです信じてください。
少し願望もこめて書くと、SNSだろうがソーシャル・メディアだろう名前はどーでもいいですけど、ヒトとヒトがつながりやすいウェブサービスが、様々な問題(主にセキュリティと政治的な問題)を少しづつ解決しながら、オープン化の方向へ向けて動いていく、と信じたい。
ヒトはヒトと、すったもんだしながら、議論しながら、争ったり、恥をかいたり、泣きを見たり、笑ったりしながら、賢くなっていく。ウェブがそれを加速し世界を小さくしていく。そう思いたい私はロマンチストだなぁ。
最近はほとんど無くなってきたんですが、仕事柄夜中とかにWEBサービスのトラブルシュートをする可能性があります。
なのでiPadを買うまではモバイルPCを常に携帯してたんですが、iPhoneやiPadでsshクライアントが使える事とか、iPhone/iPadでドキュメントとかさっと読んだりできる事もあって、だんだんと重たいPCを持ち歩く必然性が無くなってきました。
それにホラ、常に持ち歩いていると仕事用の高価な?ノートPCがボロボロになっていくじゃないですか。今までもかばんの中で大事な愛機を梅酒まみれにして壊してみたり、コーヒーまみれにして壊してみたり、かなりの確率でトラブル起こしてます。
で、最近は家ではがんばってiPadで生活する様にしています。
因みに母艦はいにしえのThinkPad X30です。iTunes位にしか使ってませんし使えません。
ThinkPadのXシリーズでは、X3シリーズのキーボードが一番好きだナァ。
ソフトバンクの孫正義さんも意識的にPCを使わずiPadで生活する様にしているそうですね。
べ、べつにマネしてる訳じゃないんだからね!
iPadはコンテンツを消費するにはかなり快適でもうPCに戻れない位なんですが、コンテンツを作る側にとっては破滅的に使いにくいです。
ガラケーとかもそうなんですがSafariでinputタグのtype=”file”が使えませんので画像がPOSTできない。
これって致命的です。
アプリを使えば可能になるとしても、対応するアプリが無い場合の方が多いんで、やっぱりメチャメチャ不便です。
なんでダメなんだろう。
コンテンツを作るには使いにくいiPadですが、各種アプリで何とか使えるレベルになります。
まずはDropBoxはiPhone/iPadユーザなら必須ですよね。
それから、Googleドキュメント。複雑な事は出来ませんが、Googleドキュメントをオンラインストレージだと思って使えば、手元で編集してクラウドに保存、と言う流れが出来ます。
容量が足りなくなってきたら、年間5ドルで20GBも使えますよ奥さん。
しかも、増量したストレージはPicasaやGMailとかも共用です。
超安くて便利だと思うんだけど、イマイチ普及してない様な気が。
で、GoodReaderがあれば、DropBoxとGoogleドキュメントと連携でき、それらのファイルが参照でき、ダウンロードできます。ダウンロードしたものを編集して、アップロードもできます。面倒ですけど。
一歩すすんで、Documents To Goなら、DropBoxとGoogleドキュメントと連携した上で、参照だけでなく直接編集ができます。これ個人的にはすごーく便利です。
テキストエディタなら、DropBoxと連携できるTextforceを使ってます。これのおかげで、iPad上でなんとか原稿作成とか、(かなりしんどいけど)コーディングとか出来る様になりました。
あと、Evernote、ZumoDrive、ZumoCast、Remember The Milkなどにもお世話になっています。
これらを駆使して苦労してiPadでいろいろやるのは何でか?というと、明確に説明できません。
でもiPadでいろいろやれる様になると楽しいです。
なにより、PCを立ち上げて準備する手間が要りませんし、極端な話、食事しながらでもできなくもないです。
iPhoneでも同じ事できるんですが、WEBを見るのも作るのもちょっと小さすぎますね。
なにやらTwitter界隈でFacebookが盛り上がっているようです。
フェイスブックがそろそろ日本で爆発する?その理由・始め方などまとめ | kokumai.jpツイッター総研
ここ数日ブログにFacebook関連のエントリが目立ちます。
Facebookのなにがすごいかを「G P S」からかんがえる(位置情報じゃないよ) – night and sundial
極めつけはやはり、TBSがFacebookにファンサイトを作ったことでしょうか。
日本マスメディア初、TBSがFacebookファンページ運用を開始 – In the looop
この影響は大きそうです。ユニクロや無印良品も後に続いているそうで。
オフィシャルページは簡単に作れるようですから、流行るかもしれません。
Facebookに「このブログ」のオフィシャルページをつくったよ。 – このブログは証明できない。
私は数少ない外国の友人と繋がる手段としてFacebookは少し前から会員になっていましたが、正直あまり使い込んでいません。
最近の驚きは家内がFacebookを始めたことです。
iPhone 4を購入して、mixiの使いづらさもあって日記をつけるのに使っているようです。
家内は今でもサンシャイン牧場のへヴィーユーザーですが、いつのまにかFarmVilleになっているのかもしれません。
javaでRSSフィードを解析したい時には、ROMEプロジェクトが便利です。
インストール
Project ROMEからrome-1.0.jarをダウンロードして、クラスパスに配備します。
Servletを作る
やっつけ仕事でServletを作ってみます。
先人の知恵を参考にさせて頂きました。
ROMEプロジェクトと他人のコードという巨人の肩にのって、楽して遠方を見るのです。
コピペプログラミングとも言います。
package my.package;
import java.net.URL;
import java.util.List;
import java.io.PrintWriter;
import java.io.IOException;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class RSSReaderServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String url = request.getParameter("url");
if (url == null) {
url = "http://www.j-cast.com/index.xml";
}
try {
URL feedUrl = new URL(url);
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(feedUrl.openStream()));
response.setContentType("text/html; charset=UTF-8");
PrintWriter pw = response.getWriter();
pw.print("<html>\n");
pw.print("<head>\n");
pw.print("<title> "+feed.getTitle()+"/ 簡易RSSリーダ</title>\n");
pw.print("</head>\n");
pw.print("<body>\n");
pw.print("<table>\n");
List<SyndEntry> entries = (List)feed.getEntries();
for (SyndEntry entry : entries) {
pw.print("<tr>\n");
pw.print("<td><a href='"+entry.getUri()+"'>"+entry.getTitle()+"</a></td>\n");
pw.print("<td>"+entry.getPublishedDate().toString()+"</td>\n");
pw.print("<td>"+entry.getDescription().getValue()+"</td>\n");
pw.print("</tr>\n");
}
pw.print("</table>\n");
pw.print("</body>\n");
pw.print("</html>\n");
pw.close();
} catch (Exception e) {
//
}
return;
}
}
うん、簡単です。