2011年1月19日水曜日

世界におけるSNSの変化 ~またはFacebookの躍進

最近Facebookが流行ってきているらしく,
テレビなどでも見かける機会が多くなってきました.
これはソーシャルネットワークの宣伝の一環なのか,

まあ,それはさておき,世界中には実はいろいろなSNSがあるわけで,
国によって使っているSNSはだいぶ違うんですよね.

2008年の各国で尤も使われていたSNSの地図がこちら.

2008年10月


いろんなSNSがあるものですね.
アメリカではMySpaceが優勢だったりします.
さて,これから2年たった現在までSNSの使われ方がどう変化していくのか見てみましょう.

World Map of Social Networksに,2009年から半年ごとに,世界中の各国で最も多く使われているSNSがどこなのかが示されています.



2009年6月
すでに,だいぶFacebookに浸食されている.米国が陥落.
世界有数のSNSだったCyworld有する韓国もあっさり陥落.


2009年12月
中米各国が陥落.インドも脱落.


2010年6月
東南アジア陥落.世界はFacebookに飲み込まれていく.
東ヨーロッパ~東アジアが最後の抵抗を見せる.

2010年12月
ヨーロッパ全滅.モンゴルもまさかの陥落.
もはや世界がFacebookの手に落ちる日は近い.
一方ブラジルはなぜか我が道を行き続けている.




これを見ると,徐々にFacebookが世界中に浸食していく様子が分かりますね.
2010年12月の段階では,日本,中国,ロシア,ブラジルあたりでかろうじて違うSNSが使われているくらいか.ただ,ブラジルはorkutで世界進出しているSNSである一方,他の3国は独自のSNSを利用している点が少し違うところか.ちなみに,中国では2008年と2010年ではトップになっているSNSが違う.

そして,映画ソーシャルネットワークブームで今後の日本のSNS事情がどうなるのか,大変気になるところですね.
世界的にはFacebookの一人勝ちは揺るがないのか.

今後のWEBはGoogle vs Facebookなんて言われてます.
日本からもこれに匹敵するくらいすごいWEBサイトが出てきて欲しいものです.

2011年1月17日月曜日

以前,短縮URLを作るブックレットを作ってみたけど,同じように
Internet Archiveを簡単に見るためのブックレットを作ってみた.
javascript:(function(){
 var%20s=location.href;
 s.charset="UTF-8";
 var%20b="http://web.archive.org/web/*/"+s;
 document.location=b;
})();
使ってみたい人は,以下のURLをブックマークバーにドラッグしてください.

[Archive]

これを使えば,無くなってしまった
iswebライトのページも,閉じてしまったページでも簡単に見ることが出来ます.

2010年12月24日金曜日

TwitterStreamingAPIを使って日本語だけを取り出す

以前書いたTwitterStreamingAPIを使う話は,Twitter4jを使っていなかったので,今度はTwitter4jを使ったバージョンを書いてみる.

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import twitter4j.Status;
import twitter4j.StatusDeletionNotice;
import twitter4j.StatusListener;
import twitter4j.TwitterStream;
import twitter4j.TwitterStreamFactory;


public class StreamReader implements StatusListener{

   /**
    * @param args
    */
   public static void main(String[] args) {
      StreamReader streamReader = new StreamReader(User, Password);
      streamReader.start();

   }
   
   
   /**
    * ユーザ名
    */
   String userName;

   /**
    * パスワード
    */
   String password;

   /**
    * stream
    */
   private TwitterStream streamTwitter;
   
   
   
   
   public StreamReader(String userName, String password) {
      super();
      this.userName = userName;
      this.password = password;
   }

   public void start() {
      TwitterStreamFactory factory = new TwitterStreamFactory();
      streamTwitter = factory.getInstance(userName, password);
      streamTwitter.addListener(this);
      streamTwitter.sample();
   }

   @Override
   public void onStatus(Status status) {
      if(isJapanese(status.getText())){
         System.out.printf("%d\t%s\t%s\n", status.getId(), status.getUser().getScreenName(), status.getText());
         //得られたStatusに対する処理をする
      }
      
   }

   /**
    * 日本語かどうかを返す
    * @param text
    * @return 日本語ならtrue
    */
   boolean isJapanese(String text){
      Matcher m = Pattern.compile("([\\p{InHiragana}\\p{InKatakana}])").matcher(text);
      return m.find();
   }
   

   @Override
   public void onDeletionNotice(StatusDeletionNotice arg0) {
      
   }



   @Override
   public void onException(Exception arg0) {
      
   }

   @Override
   public void onTrackLimitationNotice(int arg0) {
      
   }

}
多分,これで動くはず.
おまけで日本語だけを取得するようにしておいた.

2010年12月10日金曜日

アクティブ遷移図利用促進キャンペーン中

今度,第3回知識共有コミュニティワークショップにて
アクティブ遷移図に関する発表を行います.
それに伴って,
OpenPNE3用プラグインアクティブ遷移図opActiveTransitionPlugin 利用促進キャンペーン中です.
いや,キャンペーンって行っても何するわけでもないけれど.

OpenPNE3を使っていて,興味がある管理者は今すぐ以下のURLへGo!
アクティブ遷移図作成プラグインの解説ページ
OpenPNEの活性度を可視化する、アクティブ遷移図プラグイン

あなたのOpenPNE3の利用状況をグラフィカルにお見せします.

2010年11月26日金曜日

GoogleChartAPIをリアルタイムにテストする

GoogleChartAPIは、URL指定だけで図を描画してくれる素敵なAPI。
でも、結構書くのが面倒で、ちゃんと書いたものが動くかどうかいちいち確認するのも大変。

そこで、テスト用にコードを書けば即座に図を描画してくれる以下のURLがとても便利。
http://code.google.com/intl/en-EN/apis/chart/docs/chart_playground.html

ぽじったーでも使ってます。

GAEでユーザ管理

GAEでAdministratorしか使えないページを作る場合.

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        UserService userService = UserServiceFactory.getUserService();
        String thisURL = request.getRequestURI();
        if (request.getUserPrincipal() != null && userService.isUserAdmin()) {
         String urlLogout = userService.createLogoutURL(thisURL);
         request.setAttribute("urlLogout", urlLogout);

         RequestDispatcher rd = request.getRequestDispatcher(jsp).forward(request, response);
        } else {
            response.getWriter().println("<p>
Please <a href=\"" +userService.createLoginURL(thisURL) +"\">sign in</a>.</p>");
        }

 }
これで,jsp側で
<%
String urlLogout = (String)request.getAttribute("urlLogout");
%>
・・・
<a href="<%=urlLogout%>">ログアウト</a>
としてあげればOk.

2010年11月2日火曜日

いろんな自然言語資源

自然言語関連の辞書とかコーパスが色々あると面白いなと思って,調べてみた.

電子的じゃないけど,役立ちそうな辞典.
他にもこんな辞書があるよ,ということをご存じの方がいたら,
コメント欄にお願いします.