2014年1月16日木曜日

QNAPのNASが気になる

小規模店舗にNASを設置したくて探していたら見つけたのが「HS-210

バッファローやIOデータにもいろいろと製品はあるのだが、HS-210がよさそうな理由は以下

・ファンレス
・2ベイ
・Qsyncという自分専用のクラウドストレージが簡単に構築できること
・Surveillance Stationで店舗のwebカメラの録画ができる、しかも2チャンネル分はライセンス購入不要
・サーバもWEB/FTP/VPN/プリンタ etc...

しかも、amazonで検索すると、48,000円程度!

tera Stationなどでwebカメラが録画できるようにライセンスを追加すると軽く10万円は超えるので、この価格は魅力!

とりあえず購入してみようと思っています。



2013年11月8日金曜日

WindowsXP SP3インストールでCPU使用率が100%になってしまう件

古いPCにWindowsXP SP3をインストールすると、CPUの利用率が100%になってしまいました。
タスクマネージで見てみるとsvchost.exeがCPUをバカ食い。

対応方法を調べてみると、MSのブログに記事があったので、これらのパッチを当ててみることに。



(原因)
本事象は「Internet Explorer の累積的なセキュリティ更新プログラム」の検出処理に起因しており、下記の 4 点において特に顕著であることが確認されております。

KB2846071(7月公開分)
KB2862772(8月公開分)

KB2870699(9月公開分)
http://technet.microsoft.com/ja-jp/security/bulletin/ms13-069

KB2879017(10月公開分)
http://technet.microsoft.com/ja-jp/security/bulletin/ms13-080

なお10月公開分は9月公開分のファイルを置き換えているようなので、実質10月分だけでよさそう。


CPU100%なので、svchostを無理やり終了させて、上記パッチをインストール


無事に現象は収まったようです。

めでたしめでたし。

2013年5月23日木曜日

codeigniterで日本語のquery_stringが文字化けするのに対応

codeigniterで開発していて、URLで日本語の文字列を渡すときに、文字化けが発生した。

機動戦士ガンダム ⇒ 機動戦士ガンダダ

いろいろなサイト
  • CodeIgniter リクエスト値を内部文字コードに変換処理

  • [Codeigniter-users] POSTが文字化け

  • などを参考にしてみたものの、なかなかうまくいかない・・・

    ということで、PHP base64をURLSafeにする方法を参考に、URLの文字列をbase64形式で変換してみました。

    尚、base64形式に変換した文字列には、「/」「+」「=」が浮くまれるため、URLにそのまま組み込むとおかしくなる。

    そこで、上記3文字については違う文字に変換することで対応した。


    【表示側contoroller】
    ① あらかじめ以下の関数をコントローラーに仕込む
     function base64_encode_safe($s){
      $s = base64_encode($s);
      return(str_replace(array('+','=','/'),array('_','-','.'),$s));
     }
     function base64_decode_safe($s){
      $s = (str_replace( array('_','-','.'), array('+','=','/'), $s));
      return(base64_decode($s));
     }
    

    ② 変換したい文字列を上記関数を通して変換
    $data['name']=$name;  //ここに日本語
     ↓
    $data['name']=$this->base64_encode_safe($name);
    

    ③ エンコードされたリンクを受け取る側
    $work=$name;
     ↓
    $work=base64_decode_safe($name);
    
    


    薫のHackさん、ありがとうございました!

    2012年8月29日水曜日

    raspberry pi とりあえず基本設定

    注文してから早3ヶ月が経とうとしたある日、1通のメールが届きました。
    「DHL Shipment Notification」と書かれたタイトルがワタシに「raspberry pi」の配達状況を知らせるものでした。

    届いた箱には待ちに待ったpiちゃん!



    同時に購入した専用ケースと一緒に早速セットアップを始めました。

    まずは必要なものを準備
    ・電源 microUSB TypeBで、5V 700mAが出力できるもの
    といっても、一般的なスマホの充電ケーブルで事足りましたので、予備のスマホ充電器を用意。
    ・SDカード 
    Raspberry Pi用のLinuxOSをインストールするのに最低2Gは必要なので、適当にその辺のSDカードを用意。
    (SDHCは未確認)
    ・USBキーボード・USBマウス
    ・HDMI-HDMI もしくは HDMI-DVIケーブル
    基本Xwindowは使わないつもりなので、セットアップ用にTVとHDDレコーダーをつないでいたHDMIケーブルを拝借
    ・LANケーブル

    以上が必要となります。

    ハードウエアの準備ができたところで、SDカードにOSをインストール。

    公式サイトのdownloadからOSイメージをダウンロードします。
    4種類あるようですが、まずはオススメの「Raspbian “wheezy”」をチョイス。

    <手順>
    1.ダウンロードしたファイル(tar.gz)を解凍するので、windowsならlhaplusなどで解凍しましょう。
    2.解凍してできたimgファイルをSDカードに書き込むため、ddを使用。

    (参考)
    公式に掲載されているWindows用のソフト Win32DiskImager
    DD for Windows

    3.書き込んだSDカードをpiに差し込んで、起動します(電源スイッチはないので、コンセントに差すw

    うまく行くと初期設定の画面が現れます。



    初期設定画面では、おおむね以下のように設定しました。
    1.expand_rootfs
    用意したSDカードは先頭から2GB程度しか使われていないので、カード全体を使用できるようにします。
    2.overscan
    画面の周囲が切れてしまう場合などに隙間を空けます。
    3.configure_keyboard
    キーボードを選択します。日本語キーボードを使用する場合はまず、Generic 105-key(Intl)PCを選択してJapanese - Japanese(OADG 109A)を選択します。
    4.change_pass
    初期登録されている「pi」ユーザーのパスワードを変更します。(デフォルトは「raspberry」のようです)
    5.change_locale
    ロケールの設定ですが、日本語フォントがインストールされていない初期状態では文字化けするようです。なのでとりあえずスキップ
    6.change_timezone
    日本時間に設定するのでAsia→Tokyo
    7.memory_split
    メモリの配分を変更できるようですが触っていません。
    8.ssh
    別PCからネットワーク越しに接続できるよう設定します。ワタシはpiをサーバ的に使おうと思っておりますので必須。
    9.boot_behaviour
    起動時にXデスクトップを表示する場合はyes。コマンド画面でいいならNoを選択します。
    10.update
    アップデートを取得する場合は選択します。


    これらの設定を行い、再起動すれば、見事起動してくれます!

    万一設定を変更したいという場合はコマンドラインで
    sudo raspi-config
    を打てば変更可能ですので、色々試して見ましょう。

    2012年8月1日水曜日

    google analyticsをおさらいする(アカウント作成編)

    webサイトを運用する上で欠かせないのがアクセス解析。

    有料・無料を問わず、様々なサービスやツールがありますが、やはりもっとも有名なのがGoogleAnalytics(以下GA)ではないでしょうか?
    GAの標準レポートだけを見ていてもいろいろとわかるのですが、突っ込んで調べてみると、もっといろいろなことがわかるはず!ということで、メモがてら実験を行ってみようと思います。

    基本的に初心者が独学でやってますので、ツマラナイ内容になりましたらごめんなさい(笑

    何はともあれまずはGAにアクセス!

    http://www.google.com/intl/ja/analytics/

    当然のことながらGoogleアカウントが必要ですので、あらかじめ作成しておいてください。




    「sign up」をクリックしてアカウントを作成します。


    入力するのは
    Account Name    ・・・アカウント名
    Website's URL   ・・・設置先のURL
    Time Zone     ・・・タイムゾーン
    Industry Category ・・・コンテンツのカテゴリ

    「Data Sharing Settings」ですが・・・よくわかりません(^^;
    ・With other Google products only ・・・AdWordsやAdSenseなどのgoogleのほかのサービスと連動させる場合にチェックをいれるようです。
    ・Anonymously with Google and others ・・・webサイトの指標を向上させるためのデータ取りができる?

    まぁ、そのあたりはおいおい勉強することとして、とりあえずは両方チェックを入れた状態で「Create Account」ボタンをクリックします。

    するとアカウントが作成されて、ホーム画面にアクセスできます。




    私の場合はなぜか、英語の画面でしたので、画面左上の「Settings」から「Language」を日本語にして「Save User Settings」を押して日本語画面にしました。

    2012年7月10日火曜日

    エレコムのキー投影型Bluetoothワイヤレスキーボード TK-PBL042BKを使ってみた。

    エレコムのキー投影型BluetoothワイヤレスキーボードTK-PBL042BK を使ってみました。



    特徴としては
    ・サイズは3cm×3cm×8cm程度でとてもコンパクト
    ・外装はプラスチックでつや消しブラック塗装(手触りサラサラ)
    ・背面には電源スイッチと充電用のUSBコネクタ、あとはリセットスイッチ

    ipadでセットアップしてみます。

    「設定」→「一般」から「Bluetooth」を選び、Bluetoothをオンにします。

    デバイスを検索し始めるので、TK-PBL042BK の電源を投入。

    画面に幅25cm程度のキーボードが表示されます(感動!)



    しばらく待つとipadの画面に機器名が表示されるので、タップ




    ダイアログに出てきた4ケタのPINコードをキーボードで入力すればセットアップ完了。

    キーを押すとピッ、ピッという音とともにサクサク入力ができます。

    感度もデフォルトでまったく問題なく、とっても気持ちいいです。


    設定できる項目としては

    ・音が気になったら[FN]+[↓]で無音にまで設定可能
    ・省電力モードにするには[FN]+[BACK]でライトの表示を消すこともできます。
    ・元に戻すときは、キーボードのある位置で3本指でタッチすれば、表示されます。


    iphoneなど画面の小さな機器や、普段キーボードをつけないサーバなど、ひとつあれば便利なこと間違いなし!



    是非お試しあれ!



    2012年7月5日木曜日

    Mac OSX 10.7 lion serverにmysql

    phpとくればmysqlでしょ、と思ったらMac OSX 10.7 Lionからpostgresに変わったようで、使うにはインストールが必要らしい。
    ということでmysqlをインストールしてみる。


    mysqlインストール

    まずはMySQLのサイトから最新版をダウンロード


    「MySQL Community Server」からMac用のアーカイブをダウンロードします。
    今回はDMG-Archiveをダウンロードしました。

    Lion用のMySQLは無いようですので、10.6用を使ってみます。


    インストールは「mysql-5-5.24-osx10.6-x86_64_pkg」をダブルクリックしてインストーラの指示通りにしていくだけで、特に入力することも無く、あっさり終了。

    あとは同パッケージ内の残りのファイル
    自動起動させるために「MySQLStartupItem.pkg」をダブルクリックしてインストール。
    システム環境設定にアイコンを表示させるのに「MySQL.prefPane」をダブルクリックして登録

    あとは開いたMySQLパネルで「Start MySQL Server」ボタンを押して起動完了!


    これでインストール作業は一旦終了。

    次は端末から簡単に操作ができるようにmysqlへパスを通します。
    これで
    /usr/local/mysql/bin/mysql -u root -p
    という長ったらしいコマンドを
    mysql -u root -p
    にしてくれます。


    vi ~/.bash_profile
    
    で ホームディレクトリの./bash_profileファイルを開き(無い場合は新規作成)
    export PATH=$PATH:/usr/local/mysql/bin
    
    と書いて「:wq!」コマンドで保存・終了
    source ~/.bash_profile
    
    でファイルを再読み込みします。

    うまく行けば、端末で
    
    mma:~ hoge$ mysql -v   ←こんな風に打てば
    
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 147
    Server version: 5.5.24 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Reading history-file /Users/hir/.mysql_history
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>   ←こんな風に表示されます。
    


    my.cnfの編集(文字コードをutf8に)


    Finderで「移動」→「フォルダへ移動」で
    /etc/local/mysql/support-files
    へ移動し、「my-○○○.cnf」ファイルの中から自分の環境に合わせたファイルを/etcにコピーして「my.cnf」とリネームします。(ワタシはとりあえずmy-small.cnfを選択)

    my.cnfをエディタで開き
    [mysqld]の最下行に
    skip-character-set-client-handshake
    character-set-server=utf8
    
    の2行を追加

    [mysqldump]と[mysql]に
    default-character-set=utf8
    

    をそれぞれ追加します。

    念のため「システム環境設定」→「mysql」でサーバを再起動します。


    rootパスワードの設定とログインテスト

    ターミナルで
    mma:~ hoge$mysqladmin -u root password パスワード
    
    でパスワードを設定し
    mma:~ hoge$mysql -u root -p
    
    で先ほど設定したパスワードでログインできるか確認します。


    PHPから接続できるようにphp.iniを設定


    MacOSX10.5あたりから、UNIXsocketの場所が変わっているようなのでphp.iniファイルを書き換えます。

    まずはUNIXsocketの場所を確認

    mysql -u root -p
    でログイン、プロンプトで
    「status」と入力します。

    ズラズラっと表示された情報の中からUNIX socket:を探して内容を覚えておきます。

    次に/etc内のphp.iniファイルを編集します。

    ; Default socket name for local MySQL connects.  If empty, uses the built-in
    ; MySQL defaults.
    ; http://php.net/pdo_mysql.default-socket
    pdo_mysql.default_socket=/var/mysql/mysql.sock
    
    を
    
    pdo_mysql.default_socket=/tmp/mysql.sock
    
    ; Default socket name for local MySQL connects.  If empty, uses the built-in
    ; MySQL defaults.
    ; http://php.net/mysql.default-socket
    mysql.default_socket = /var/mysql/mysql.sock
    
    を
    
    mysql.default_socket = /tmp/mysql.sock
    
    
    ; Default socket name for local MySQL connects.  If empty, uses the built-in
    ; MySQL defaults.
    ; http://php.net/mysqli.default-socket
    mysqli.default_socket = /var/mysql/mysql.sock
    
    を
    
    mysqli.default_socket = /tmp/mysql.sock
    

    に変更します。

    これでいけるはず。
    最後にWEBサーバ(Apache)を再起動して動作確認。