Windows AzureでUbuntuを利用する場合、毎度sudoコマンドを実行する時間が2~3秒掛かります。この症状であれば以下を行うと問題を解消することができます。
Month: June 2014
日本語入力ツールで半角スペースを入力する方法
日本語入力ツールで文書を入力する際に、一時半角スペースを入力したい場合がよくあります。そのとき日本語入力ツールを英語に変換し、キーボードのスペースを押せば半角スペースを入れることができますが、この方法では若干手間が掛かります。ネコ技術がそれで悩んでより速い方法があるかと試したところ、たまたまこの方法を見つけました。 Read More
SQLite使用説明(VC++言語)(3)
4.パラメータ設定
SQLにパラメータを渡すには、二つの方法があります。
1. SQL文を組み立てて、値を埋める
CString sql; sql.Format( _T("SELECT name FROM Names WHERE name = '%s'"), _T("Tom") );
CStringを使用するためUnicodeに対応するsqlite3_prepare16を使用します。
int rc = sqlite3_prepare16( db, sql, -1, &stmt );
この方法でSQL文を組立てる場合、SQLインジェクションという不正利用がおこる可能性がありますので、以下の方法2を推奨します。 Read More
SQLite使用説明(VC++言語)(1)
1.入手&準備
1.1. 入手
sqlite3本体はC言語で作成されたため、VC++のMFCプログラム、Win32プロジェクト、
及びWin32コンソールプログラムに適用します。本文ではMFCのダイアログプログラムを使用します。
サンプルの作成環境は以下の通りです。
- Microsoft Visual Studio 2008 Professional Edition 英語版
- Windows 7 英語評価版
SQLiteの公式サイトから以下二つのファイルをダウンロードしてください。
- sqlite-amalgamation-3_6_22.zip コンパイラ用のSQLiteソースコード
- sqlite-3_6_22.zip WindowsプラントフォームでのSQLite管理用コンソールツール
1.2. 準備
Microsoft Visual Studio 2008で、下図のようにMFCのダイアログのプログラムを作成してください。 Read More
SQLite使用説明(VC++言語)(2)
3.SQL操作
3.1. INSERT操作
以下の手順で操作を行います。
- SQL文をコンパイルする(sqlite3_prepare)
- 値を設定する(sqlite3_bind)
- SQLを実行する(sqlite3_step)
- SQL文を破棄する(sqlite3_finalize)
イメージは:
UPDATE、DELETE、SELECTも同じ手順です。
まずデータベースオブジェクトを作成します。
sqlite3* db; int rs = sqlite3_open( "test.db", &db );
そしてSQLをコンパイルしてコンパイラステートメントを作成します。
sqlite3_stmt* stmt; rc = sqlite3_prepare( db, "INSERT INTO Names ( Name ) VALUES ( ? )", -1, &stmt, NULL );
3方向加速度センサーを使って手の動きをPCで表示する
秋月電子で3方向加速度センサー(Kionix KXR94-2050)を遊びました。このセンサーはX、Y、Z三つの方向での検出した変動値をアナログとして出力できるため、ArduinoやAVRマイコンのAD変換端子付のPINに接続し、そのままデータを読み込めます。さらにArduinoの場合COM接続もArduinoボードに搭載されているため、PC側はCOMポートの入力内容を分析し動きを画面に描画できます。
Strong Name厳密名付きプロジェクトを他のPCでビルドする際のエラー
Strong Name厳密名付きプロジェクトをその厳密名証明書作成以外のPCでビルドする際に下記のようなエラーが出ます。
Cannot import the following key file: companyname.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_0123451234567890
修正方法
スタートメニューから「Visual Studio 2012」⇒「Visual Studio Tools」⇒「Developer Command Prompt for VS2012」を起動しコマンド入力画面が表示されます。以下のコマンドを実行してください。
sn -i certificate.pfx VS_KEY_0123451234567890
要求されるパスワードを入力し以下のような結果が表示されたらエラーが解消します。
Read More
AVRマイコン+VS1011E 自作MP3プレーヤー
秋月電子でVS1011EのMP3デコーダーを見て、MP3プレーヤーを自作できそうだと思いました。ネットで調べたら既に先輩たちが作成した例をみつけて、データシートやネット文書などを参照しながら自分のMP3プレーヤーも作成できました。 VS1011EはMP1、MP2、MP3、WAV、PCMのフォーマットを320 kbit/sまで再生することができます。AVRマイコンからSPI通信回路でVS1011Eに繋いで、コマンドバースでVS1011Eへの制御が可能です。コマンドで主に以下のことを制御することができます。
- 再生開始
- 音量制御
- 低音、高音の強調
構成
再生するMP3ファイルは事前にパソコンからSDカードに保存して、AVRマイコンがSDカードから読込んでVS1011Eに転送します。SDカードのファイルを読込するためにChaN氏のPetit FAT File System Moduleを利用しています。プレーヤー全体の構成は下図のようです。
C#文字列の簡単可逆暗号化アルゴリズム
今回では文字列をより安全に保存したり、インターネットで転送したりするための簡単暗号化アルゴリズムを紹介いたします。
発想
Base64は8ビットエンコーディングを6ビットエンコーディングに変換するアルゴリズムです。Base64ではデータを生成する際にプレーンテキストのプロトコルでもデータの転送可能のため、プレーンテキストのみを利用しデータの文字列を生成しています。その利用可能なアルファベットはBase64のエンコーダーとデコーダーに事前定義されています。WikipediaのBase64の「変換表」のところをご参照ください。
ネコ技術は6ビットエンコーディングを5ビットエンコーディングに変更し、内蔵のアルファベットの変換表もBase64標準の変換表以外の内容に変更します。この方法で自分だけのプログラムしか認識できない暗号化アルゴリズムを作成します。 Read More