カテゴリー: 技術系

  • 携帯電話の地下鉄駅間エリアは、漏洩同軸ケーブルを使うのね。

    日経コミュニケーションで読んで、どうやってエリア化するのかを知った。前々から謎だったのだけど、これでアンテナの謎は解けた。

    地下鉄の携帯電話用アンテナは共同で使うため、「移動通信基盤整備協会」がエリア化を進める(そうです)。地下鉄などのトンネルに携帯電話などのアンテナを設置するには、現在3つの方式がある。

    ■吹き込み方式
    駅の端っこから、指向性の高いアンテナを設置する

    ■共用機方式
    100メートル置きに小型のアンテナを設置する

    ■漏洩同軸ケーブル方式
    アンテナの役割をする同軸ケーブルの金属皮膜に周期的なスリットを設けて電波を漏らして、アンテナとして使用する

    今回、採用されたのは、漏えい同軸ケーブルの方式。電車の窓の高さにケーブルを敷設して、アンテナとして使う。同軸ケーブルから漏れ出る電波を使って通信するようだけど、同じケーブルの間は切れないのだろうか。電車に乗っている人たちが通信して速度はでるのか。アンテナの設置方法はわかったけど、他にも謎はいっぱいだ。

    UQ WiMAXは、独自に吹き込み方式でエリア化しているとのこと。詳しくは、日経コミュニケーション(2012.2号)の記事をどうぞ。

  • MacのSafariでlocalstorageのデータが保存されている場所

    HTML5(Javascript?)を勉強していて気になったので探してみた。
    Macなので、予想通りの場所にあった。
    わかりやすい構造って大事だね。
    (windowsはどうなんだろ・・・)

    保存場所は ユーザホームの下のLibraryのSafariの中にあるLocalStorage?という場所。

    zen$ pwd
    /Users/zen/Library/Safari/LocalStorage
    zen$ ls
    StorageTracker.db
    file__0.localstorage
    

    この中に、ドメイン毎のファイルとして、LocalStorageに保存した内容が保存されている。
    中身は普通のテキストファイルなので、開けば中をみることことができる。

    実際にみてみればわかるのだが、いろいろなサイトのデータが保存されている。
    例えば、twitterなど。
    気がつかないうちにLocalStorageは使用されているようだ。

    zen$ cat file__0.localstorage 
    ?????z!11?tableItemTableItemTableCREATE TABLE ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value TEXT NOT NULL ON CONFLICT FAIL)[!??!count1lite_autoindex_ItemTable_1ItemTable
    ??!count
    

    試しに中身をのぞいてみると、上のようなデータが保存されている。
    保存したデータは、ムック本のサンプルプログラムで、countというキーに対して、
    数字を保存するだけのシンプルなものだ。
    テーブル構造とキーとデータが書かれているだけのシンプルなものだった。

  • Macのinode数を調べる

    Macを普通に使っていてinodeの上限に達することはないと思うけど・・・
    なんだか気になってしまったのでinodeの数を調べてみた。

    調べ方は簡単だった。
    (と、いうかいつもど忘れしている)
    dfコマンドに-iのオプションをつけるだけ。
    実際にMacやってみるとこんな感じだ。

    $ df -i
    Filesystem    512-blocks      Used Available Capacity  iused    ifree %iused  Mounted on
    /dev/disk0s2   624470624 105085816 518872808    17% 13199725 64859101   17%   /
    

    まだまだ余裕がある。
    dfコマンドでハードディスクの使用率とiusedをみていると、同じ使用率なのでOS側で配慮されている可能性が高い。
    気にする必要はないだろう。

    ちなみに、Linux(CentOS)だとこんな感じだ。

    $ df -i
    Filesystem            Iノード  I使用   I残り I使用% マウント位置
    /dev/mapper/VolGroup00-LogVol00
                         5079040   51621 5027419    2% /
    /dev/sda1              26104      89   26015    1% /boot
    tmpfs                  64413       1   64412    1% /dev/shm
    
  • Google Apps の新機能紹介ビデオのURL

    Google Apps Scriptや簡易ワークフローの作成などが載っている。
    ほかにも、Gmailの新機能なども。

    http://www.youtube.com/playlist?list=PLF3F86887C893DD31

  • vSphere4 ClientとWindows7の組み合わせでクライアントのDVDドライブをマウントするときの注意点

    Windows7にvSphere4 Clientをインストールし、バーチャルマシンに接続する場合で、クライアント側のDVDドライブを接続すると、「D:に接続しているXXXXXXXXのリモート デバイスは切断されています。」と警告がでてドライブの接続ができない。

    解決方法

    Windows7でvSphere4 Clientを起動するときに、右クリックし、「管理者として実行」を選ぶ。これであとは、コンソールで通常通りマウントしてあげればよい。

    どうやら、ユーザ権限でvSphere4 Clientを起動すると、権限の問題でドライブに対してネットワーク越しのアクセスができない模様。わかってしまうと簡単なのだが、急いでいるときに限って、こういう問題に直面する。わすれないようにTIPSとして残す。

  • VB.NETで変数にダブルクォートをいれる

    とても初歩的ことなのだが、VB.NETで変数またはLabelなどのtextに ”(ダブルクォート)を入れる方法。

    VB.NETでは、文字列を”で囲む必要があるため、ダブルクォートで囲まれた場合は文字列として認識してしまう。
    “を変数やLabelのtextに入れる場合、1つだけ書いてしまうとそこで文字列が終わったことになってしまう。
    ‘ シングルクォートで囲もうにも、これはコメントアウトとして用いられるので使えない。
    ダブルクォートを変数に入れる場合には、ダブルクォートを2回連続で入力することでエスケープされる。

    たとえば、こんな感じ。

     Dim Str1 AS String = "ダブルクォートは、""と入れる"
    

    ダブルクォートだけを入れたい場合はこうなる。

     Dim Str2 AS String = """"  '4つ連続で入れると1つだけ変数に入る。
    

    よくやりそうなあたりだと、こんな感じか。

     Dim Email AS String = "hoge@xenos.jp"
     Dim Name AS String = "ほげ"
     Dim Address AS String
     
     Address = """" & Name & """,""" & Email & """"
    

    これだと、”hoge”,”hoge@xenos.jp” になる。
    ダブルクォートだらけで混乱しそうだ。
    個数は、インテリセンスが警告してくれるので、どこかで気がつくだろう。
    初歩的なことだが、知らないと入力しようがなく時間がとられてしまう。
    一度、覚えてしまえば特殊すぎて忘れない(はず)。

  • Lion ServerからMySQLが削除

    Lion ServerからMySQLが削除されているそうだ。GUIとコマンドラインで使えるから便利そうだったのに。Lion Serverは代わりにPostgreSQLがインストールされている。ここのところMySQLばかり注目されていたけれど、今後、PostgreSQLが使われる機会が更に増えるのかな。標準で組み込まれていなくても、ビルドするかパッケージをインストールすれば使えるので標準が変わっても然程の影響はないだろう。使いたい人は自分で組み込めばいいし、こだわりがなければPostgreSQLに移行するもよし。あとはアプリケーションが対応しているかどうかだけ。blogで使うツール等がMySQL対応だけだったりするので、簡単には切り替えられないだろうな。MySQLばかり使っていたけど、少しはPostgreSQLも使うようにするかな。バージョンが上がっていろいろと便利な機能も追加されているし、食わず嫌いになるのもよろしくない。何かきっかけがないと、使い始めないし、スイッチもしていかないからね。MySQLと一緒に使うとなるとメモリが心もとないけど、遊びますかね。

  • DBのデータでカラムの値がNULLのものを検索するSQL

    とても基本的なことなんだけれど・・・
    わからなくて調べたのでメモしておく。
    DBのデータでカラムの値がNULLのデータも検索したい!
    そんなときは、WHERE句で”IS NULL”を使用する。
    ※”ISNULL”という関数もあるが、違うので注意。

    ■使い方

    SELECT * FROM Employee WHERE id IS NULL;
    

    これで id というカラムで値がNULLのレコードを検索することができる。
    動作確認をしているのは、SQL Server (T-SQL)だ。

    ■参考URLなど
    http://msdn.microsoft.com/ja-jp/library/ms184325.aspx

  • VB.NET 2008 (ASP.NET)でテキストボックスでEnterキーを押下したときに実行されるボタン指定する方法

    VB.NETで作成したウェブアプリのテキストボックス等でEnterキーを押したときに実行されるボタンを指定したい。
    通常は、ウェブのForm上にあるボタンのうち、一番最初に記述された(配置された)ボタンになっている。
    Enterキーを押したときに動作するボタンを指定する方法は以下。

    1. Enterキーを押下したときに実行するボタンのプロパティから、UseSubmitBehiviorを探し、Trueになっていることを確認する。
    2. 次にEnterキーを押下したときに実行したくないボタンのプロパティのUseSubmitBehiviorの値をFalseに変更する。
    3. 他のボタンも同じようにFalseに変更する。

    この方法でEnterキーを押した際に、1で設定したボタンが実行されるようになる。
    ただし、この方法で実行できるのは1つのボタンだけなので注意。

    Webでは、FormのAcceptButtonプロパティで設定する方法が多数見つかる。
    だが、VWD2008で設定を行おうとするとAcceptButton?プロパティは見つからず設定ができない。
    そのため、UseSubmitBehaviorで設定する。
    より正確に言えば、UseSubmitBehaviorは、PostBackが走った時に実行されるボタンクリックイベントについての記述になる。
    このプロパティの値がTrueのもので一番最初のものが実行されているに過ぎない。
    そのため、EnterキーでなくてもPostBackが走るのであれば実行される(はず)。

  • ドメインの所属の判別に使用するレジストリ

    レジストリエディタでUSERDNSDOMAINの値を調べることで所属しているドメインを調べることができる。
    また、システムで(作成したプログラム等で)どうしてもドメインに所属しているかどうかを判別したい場合には、この値と比べることでドメインに所属しているかどうかを判別可能。

    HKEY_CURRENT_USER\Volatile Environment\USERDNSDOMAIN
    

    Windows 7では、USERDOMAINというレジストリもある。ここには、DOMAINが入っている。