2012/11/17

[Daily][Bookmark] 11/16/2012

このエントリーをはてなブックマークに追加 0 comment
[ ]

Posted from Diigo. The rest of my favorite links are here.

2012/11/16

[Daily][Bookmark] 11/15/2012

このエントリーをはてなブックマークに追加 0 comment
[ ]

Posted from Diigo. The rest of my favorite links are here.

2012/11/13

[Daily][Bookmark] 11/12/2012

このエントリーをはてなブックマークに追加 0 comment
[ ]
  • tags: perl

    • $str をいつも定義できるとは限らないので(そういう場面ありますよね)、「$str =~ s/a/b/g;」この行でなんとかしたい。

        


       以下のようにする。
       

      #!/usr/bin/perl

        


       use strict;
       use warnings;

        


       my $str;

        


       $str =~ s/a/b/g if(defined $str);

        


       定義されていれば(defined)、置換を実行する。

        

    • 「$str =~ /a/」で「Use of uninitialized value in pattern match (m//)」と警告される。
       「未定義値でマッチしてるぜ」というもの。

        


       以下のように回避。
       

      #!/usr/bin/perl

        


       use strict;
       use warnings;

        


       my $str;

        


       if(defined $str && $str =~ /a/){
           print "include a\n";
       }

Posted from Diigo. The rest of my favorite links are here.

2012/11/10

[Daily][Bookmark] 11/09/2012

このエントリーをはてなブックマークに追加 0 comment
[ ]
  • tags: android galaxy

    • Galaxy Note IIに初めて搭載された画面を2分割して2つのアプリを同時に動かすことができる「マルチ画面」機能
    • 国内で今年冬に発売される「Galaxy S III α」にも同機能が搭載されている
  • tags: android

    • 1.上下左右のパノラマ撮影「フォトスフィア」

      Android 4.2では上下左右のパノラマ撮影が可能となります。また、これまでのパノラマ撮影で撮影可能な角度は180度でしたが、倍の360度まで拡張されます。
    • 5.ウィジェットに対応したロック画面
      Androidの特徴的な機能でもあるウィジェット機能ですが、端末がロックした状態でウィジェットを確認するには電源ON→ロック解除→ウィジェットの確認と少しの煩わしさがありましたが、Android 4.2では電源ONにしてロック画面が表示された時点でウィジェットが表示されることとなります。

      ただ、現在提供されているウィジェットアプリ側にて何らかの対応が必要になるかもしれません。

Posted from Diigo. The rest of my favorite links are here.

2012/11/07

[Daily][Bookmark] 11/06/2012

このエントリーをはてなブックマークに追加 0 comment
[ ]

Posted from Diigo. The rest of my favorite links are here.

2012/11/05

[Daily][Bookmark] 11/04/2012

このエントリーをはてなブックマークに追加 0 comment
[ ]
  • tags: タイプライター qwerty

    • タイプライターのセールスマンが、顧客に対して簡単に美しく「typewriter」という単語の打鍵を披露できるようにしたものだとも言われる。最上段のキーのみで、「typewriter」のほかにも「property」のスペルが打てる[5]
    • 京都大学安岡孝一京都外国語大学安岡素子は、著書『キーボード配列 QWERTYの謎』ii頁において「タイプライターのキー配列が現在と同じQWERTYになったのは、一八八二年八月のことだが、その時代のタイプライターにアームなんていう機構はない。アームを有するフロントストライク式タイプライターが発明されたのは、九年後の一八九一年六月で、実際に普及するのは二〇世紀に入ってからだ。一八八〇年代には存在していないはずのアームの衝突を防ぐために、タイプライターのキー配列をQWERTYにした、なんてのは全くナンセンスだ。」(原文縦書き)として「打鍵速度を落としてアームの衝突を防ぐためにQWERTY配列が完成された」との説を否定している[2]。しかし実際にはアーム機構を有するタイプライターは、1870年代より存在する[8][9](1883年[10][2][3]
  • tags: タイプライター

    • 現在主流のキーボード配列がQWERTYというなぜそうなったのか理解し難い並び方になったのは、タイプライターのアームが絡まないようにするためとの説がある。あまりに速くタイピングを行うと、タイプライターのアームが絡んでしまうため、わざと打ちにくい配列にしたのだという。この説は繰り返し紹介され、広く信じられているようだ。

       

      これは全くのデマなのだという。

    • 少なくともアルファベットキーが現在のQWERTY配列と同じになったのは1882年。そしてこの初めのQWERTY配列のタイプライターにはアーム機構がなかった。アームを持つタイプライターが発明されるのは1891年で、実際に普及を始めるのは20世紀に入ってから。つまり、アームが衝突するのを防ぐためにキー配列がQWERTYになったというのは全くのでたらめなのだ。

Posted from Diigo. The rest of my favorite links are here.

2012/11/04

[Daily][Bookmark] 11/03/2012

このエントリーをはてなブックマークに追加 0 comment
[ ]
  • tags: android market

    • アプリの詳細画面を表示させる


      メールやTwitterで誰かに教えるときはこっちがいいです。
      メールの場合はhttp:// で書かれているとリンク扱いになるので

          http://market.android.com/details?id=<packagename>

      <packagename> : アプリのパッケージ名(AndroidManifest.xml に記載したもの)

      ブラウザアプリを起動するときも、このURLを指定すればマーケットアプリが起動します。
      ただし、ブラウザアプリも起動しようとするので、どっちがいい?って聞かれるダイアログが表示されます。

      確実にマーケットアプリだけを表示したい場合はこっち

          market://details?id=<packagename>


      アプリを検索する

          http://market.android.com/search?q=pname:<package>

      もしくは

          market://search?q=pname:<package>

      これはパッケージ名を指定しているので、1つのアプリしか検索結果がでてこない(はず)

      イメージとしてはマーケットアプリで検索していることと同じことをしたいというのは

          http://market.android.com/search?q=<substring>
      もしくは 
          market://search?q=<substring>
  • tags: javascript イベント 関数

    • onclickで割り当てるハンドラ関数に引数を渡す

        

      引数無しのハンドラ関数割り当て

       
      document.getElementById('foo').onclick = func;
        

      引数有りのハンドラ関数割り当て1

       

      目的の関数を無名関数で包んで割り当てる。

       
      document.getElementById('foo').onclick = function () { func('hello'); };
        

      引数有りのハンドラ関数割り当て2

       

      変数を引数にしたい場合、以下のようにしても、ハンドラ関数が実行される(foo0がonclickされる)際にその変数(n)が評価されるので、nはfoo0が期待するような値として得られない。

       
      for ( var n = 0; n < 3; n++ ) {  document.getElementById('foo' + n).onclick = function () { func(n); }; }
       

      従って、以下のようにハンドラ関数をさらに無名関数で包んで割り当てる、すなわちクロージャにする。nはイベントに割り当てられた時点で評価され、numはその値を得る事が出来る。

       
      for ( var n = 0; n < 3; n++ ) {   document.getElementById('foo' + n ).onclick = (function (num) { return func(num) }; })(n); }
    • HTML中にJavaScriptファイルを読み込む記述があると、そのJavaScriptを読み終わるまで、ウェブページのレンダリング(描画)が止まってしまう
    • 外部JavaScriptファイルをHTMLの先頭で読み込ませると、そのJavaScriptを読み終わるまでページの描画が始まらなくなってしまいます。しかし、HTMLの末尾で読み込ませれば、ページの描画が全て終わってからJavaScriptファイルが読まれるため、(JavaScriptファイルの読み込み完了を待つために)描画が止まることはありません。
    • 外部JavaScriptファイルの読み込みで速度低下を防ぐには

       
      スクリプトはHTMLの最後に 

      ▲スクリプトはHTMLの最後に

       
       JavaScriptファイルの読み込みによってページの表示完了にかかる時間が遅くなるのを防ぐためには、できるだけ(外部JavaScriptファイルを読み込むための)script要素は、HTMLの最後に記述するようにしましょう。
       
       ページの描画に直接影響するようなスクリプトであれば、末尾に追いやるわけにはいかない場合もあります。しかし、そうではない内容なら、HTMLソースの最後(=</body>要素の直前)に記述するのが良いでしょう。
      • 外部CSSファイルの読み込みで速度低下を防ぐには

         このように、外部CSSファイルの読み込みでは、「@import を使わないようにする」ことが読込速度の低下を防ぐ1つの方法です。もし、@importを使っているなら、
         
         
           
        1. link要素でHTMLから直接読み出す方法に変える
        2. 呼び出し元のCSSファイルと結合する
        3.  
         
         などの方法が採れないか、検討してみて下さい。

Posted from Diigo. The rest of my favorite links are here.