2013年5月31日

2013年5月30日

2013年5月30日のタスク

本日は

  • アルバイトの定例会
を行いました。

パスワードリセットも狙われる

徳丸さんのブログに、なかなか刺激的な記事が投稿されました。

徳丸浩の日記 -Yahoo!のメールによるパスワードリセットのリスクと緩和策

記事の概要は、
パスワードを忘れてリセットした時の認証コードが、数字6桁で危ないですよ。出来る対策はこうですよ。
と言った事が記載されています。

パスワードリセットは、いろんなサイトで提供されているのに危ないの?
と思った方も、記事をご覧ください。

ランダムな文字列でなく、数字6桁というのが極端に問題を大きくしています。

こういった記事がないと、その危険性にさえ気づかない事があるもんです。


2013年5月29日

2013年5月29日のタスク

本日は

  • アルバイト
を行いました。

2013年5月28日

2013年5月28日のタスク

本日は

  • アルバイト
を行いました。

2013年5月27日

2013年5月27日のタスク

本日は

  • アルバイト
を行いました。

2013年5月24日

2013年5月23日

2013年5月21日

2013年5月20日

2013年5月20日のタスク

本日は

  • アルバイト
を行いました。

2013年5月17日

2013年5月17日のタスク

本日は

  • アルバイト
を行いました。

2013年5月16日

2013年5月15日

Visual Studio Express 2012 for Windows Desktop でデータベースのマイグレーション

基盤ライブラリが固まらない

Entity Framework は、使いやすそうでとても素晴らしいのです。
しかし、Express エディションからの使用制限が厳しいので、今回の案件では使用せず、別の ORM・マイグレーションツールを導入する事にしました。

いろいろ探し検討した結果、表題にあるマイグレーションツールについて今回開発に導入する事にしたのは、


です。
NuGetパッケージがあるのと、使用ユーザーが多そうだからというのが、決定の理由です。

導入は、別プロジェクトとして

本体のプロジェクトに導入すると、不要なものが実行ファイルに含まれてしまうので、クラスライブラリのプロジェクトを新たに作成しました。

新たに作成したプロジェクトに NuGet パッケージFlunt Migrator, Flunt Migrator Tools を導入します。


参照設定は自分で

使用するデータベースによって設定するDLL が違うようです。
今回の開発では、MySQLを使用するので、参照設定に  Flunt Migrator Tools でインストールしたパッケージのディレクトリにある Mysql.Data.dll を追加します。
さらに、 MSbuildで実行するので、FluentMigrator.MSBuild.dll も参照設定を行います。

マイグレーション方法

マイグレーションを実行するファイルは
https://github.com/schambers/fluentmigrator/wiki/Migration-Runners#msbuild-runner

で手に入るものを修正しましょう。

私は以下のようにしました。

vi migrations.msbuildproj


<?xml version="1.0"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Migrate">

   <UsingTask TaskName="FluentMigrator.MSBuild.Migrate"
        AssemblyFile="bin/build/FluentMigrator.MSBuild.dll"/>

  <Target Name="Migrate" >
    <Message Text="Starting FluentMigrator Migration"/>
    <Migrate Database="mysql"
             Connection="Server=サーバIPアドレス;Port=3306;Database=データベース名;User Id=ユーザ名;Password=パスワード;"
             Target="bin/build/project_migrations.dll">
    </Migrate>
  </Target>

  <Target Name="MigrateRollback" >

    <Message Text="Starting FluentMigrator Migration Rollback"/>

    <Migrate Database="mysql"
             Connection="Server=サーバIPアドレス;Port=3306;Database=データベース名;User Id=ユーザ名;Password=パスワード;"
             Target="bin/build/project_migrations.dll"
             Task="rollback">
    </Migrate>
  </Target>

  <Target Name="MigrateRollbackAll" >>
    <Message Text="Starting FluentMigrator Migration Rollback All"/>


    <Migrate Database="mysql"
             Connection="Server=サーバIPアドレス;Port=3306;Database=データベース名;User Id=ユーザ名;Password=パスワード;"
             Target="build/project_migrations.dll"
         Task="rollback:all">
    </Migrate>
  </Target>

</Project>

自動化はできていない

自動化は、まだできていなくて、VS2012の開発コマンドプロンプトから
MSBuild  migrations.msbuildproj
で実行しています。

2013年5月15日のタスク

本日は、
  • アルバイト
を行いました。

2013年5月14日

2013年5月14日のタスク

本日は

  • アルバイト
を行いました。

Ubuntu Server 13.04 に MySQL を導入・設定する

Ubuntu Server 13.04 のインストール時に、 LAMP の導入を行わなかったため、
MySQL の単独の導入を行いました。
その時のログです。

MySQL の導入

パッケージをインストールします
sudo aptitude install mysql-server

MySQL の初期設定

初期設定を行い、外部からの接続の遮断、デモユーザー・データベースの削除を行い、セキュアな環境にします。
sudo mysql_secure_installation


MySQLのutf8設定

データベース内の文字コード設定を行います。MySQLでは、この設定を行わないと、文字データがおかしくなったり、文字化けして表示される可能性があります。
sudo vi /etc/mysql/conf.d/language.cnf


[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
[mysqldump]
default-character-set = utf8

ユーザーの作成

ユーザーの作成を行います。rootユーザーとは別のユーザーを作り、ミスから防ぎます。
CREATE USER ユーザー名 IDENTIFIED BY 'パスワード';

データベースの作成

データを保存するデータベースを作成します。この時点では、権限は root ユーザーにしかありません。
create database pos_db;

権限の付与とネットワークから接続できるように設定する

最後に作成したユーザーがデータベースの操作をできるようにし、さらにネットワークから接続するようにします。
vi /etc/mysql/my.cnf
bind-address をコメントアウトすると、ネットワークからの接続を許容するようになる。
# bind-address = 127.0.0.1
データベースに指定のユーザが操作できるようにし、@"%"でネットワークからも接続できるようになります。
grant all privileges on pos_db.* to ユーザー名@"%" identified by 'パスワード'

以上。


2013年5月13日

2013年5月13日のタスク

本日は
  • POS開発
を行いました。

Ubuntu Server 13.04 インストールログ

Ubuntu Server 13.04 をインストールした場合の備忘録です。
インストール方法で Ubuntu Server 12.10 からの変更はありません。

(追記:Ubuntu Server 13.10 のインストール手順 を公開しました。)

  1. ディスクを入れて起動します。インストーラーの表示言語選択画面になるので、「日本語」を選択し、Enterキーを押下します。
    押下するとインストールの選択画面に移動します。  

  2. インストールの選択画面に移動したら、「Ubuntu Serverをインストール」を選択し、Enterキーを押下します。
    押下すると、「Select a language」の画面に移動します。  

  3. 「Select a language」の画面に移動したら、「はい」を選択しEnterキーを押下します。
    押下すると「場所の選択」の画面に移動します。  

  4. 「場所の選択」画面に移動したら、「日本」を選択しEnterキーを押下します。
    押下すると「キーボードの選択」画面に移動します。  

  5. 「キーボードの選択」画面に移動したら、「日本語」を選択し Enterキーを押下します。
    押下すると「キーボードの設定」画面に移動します。  

  6. 「キーボードの設定」画面に移動したら、「日本語-日本語(OADG 109A)」を選択しEnterキーを押下します。
    押下すると「ネットワークの設定」画面に移動します。  

  7. 「ネットワークの設定」画面に移動したら、ホスト名を入力して(ここでは、ホスト名を「pos」としています。)「続ける」を選択し、Enterキーを押下します。
    押下すると「新しいユーザの本名(フルネーム)」画面に移動します。  

  8. 「新しいユーザの本名(フルネーム)」の画面に移動したら、自分の名前を入力して(ここでは、自分の名前を「pos」としています。)「続ける」を選択し、Enterキーを押下します。
    押下すると「あなたのアカウントユーザ名」画面に移動します。  

  9. 「あなたのアカウントユーザ名」画面に移動したら、アカウントユーザ名を入力して(ここでは、アカウントユーザ名を「pos」としています。)「続ける」を選択し、Enterキーを押下します。
    押下すると「新しいユーザのパスワードを選んでください」画面に移動します。  

  10. 「新しいユーザのパスワードを選んでください」画面に移動したら、パスワードを入力して「続ける」を選択し、Enterキーを押下します。
    押下すると「確認のため、再度パスワードを入力してください」画面に移動します。  

  11. 「確認のため、再度パスワードを入力してください」画面に移動したら、再度パスワードを入力して「続ける」を選択し、Enterキーを押下します。
    押下すると「ホームディレクトリを暗号化しますか?」画面に移動します。  

  12. 「ホームディレクトリを暗号化しますか?」画面に移動したら、「いいえ」を選択し、Enterキーを押下します。
    押下すると、「時間の設定」画面に移動します。  

  13. 「時間の設定」画面に移動したら、「your time zone is Asia/Tokyo」と表示されているのを確認し、「はい」を選択し、Enterキーを押下します。
    押下すると、「ディスクのパーティショニング」画面に移動します。  

  14. 「ディスクのパーティショニング」画面に移動したら、「ガイド-ディスク全体を使い、LVMをセットアップする」を選択し、Enterキーを押下します。(好みで変更してもよいでしょう。)
    押下すると「パーティショニングするディスクの選択」画面に移動します。  

  15. 「パーティショニングするディスクの選択」画面に移動したら、表示されているディスクを選択し、Enterキーを押下します。(環境によってここは異なってくるはずです。)
    押下すると、「ディスクの変更を書き込み、LVMを設定しますか?」画面に移動します。  

  16. 「ディスクの変更を書き込み、LVMを設定しますか?」画面に移動したら、「はい」を選択し、Enterキーを押下します。
    押下すると「ガイドによるパーティショニングを利用するボリューム」画面へ移動します。  

  17. 「ガイドによるパーティショニングを利用するボリューム」画面へ移動したら、「続ける」を選択し、Enterキーを押下します。
    押下すると、「ディスクに変更を書き込みますか?」画面に移動します。  

  18. 「ディスクに変更を書き込みますか?」画面へ移動したら、「はい」を選択し、Enterキーを押下します。
    押下すると、「パッケージマネージャーの設定」画面に移動します。  

  19. 「パッケージマネージャーの設定」画面に移動したら、何も入力せずに「続ける」を選択し、Enterキーを押下します。(インターネット接続にプロキシを経由している環境では、ここに情報を入力しましょう。)
    押下すると「このシステムのアップグレードをどのように管理しますか?」画面へ移動します。  

  20. 「このシステムのアップグレードをどのように管理しますか?」画面へ移動したら、「自動的にアップデートしない」を選択し、Enterキーを押下します。(「セキュリティアップデートを自動的にインストールする」を選んでもいいでしょう。)
    押下すると「ソフトウェアの選択」画面へ移動します。  
  21. 「ソフトウェアの選択」画面へ移動したら、インストールするソフトウェアを選択します。データベースサーバーとして使用する予定なので、「OpenSSH server」を選択し、「続ける」へ移動してEnterキーを押下します。お好みで選択してください。
    押下すると、ハードディスクへのGRUBブードローダのインストール」画面へ移動します。  

  22. 「ハードディスクへのGRUBブードローダのインストール」画面へ移動したら、「はい」を選択し、Enterキーを押下します。
    押下すると「インストールの完了」画面に移動します。  

  23. 「インストールの完了」画面に移動したら、「続ける」を選択しEnterキーを押下します。
    押下すると再起動され、インストールが完了します。  

以上です。

過去の同様の記事: Ubuntu Server 12.10 インストールログ

2013年5月11日

2013年5月11日のタスク

本日は

  • POS開発
を行いました。

Visual Studio Express 2012 for Windows Desktop のアプリ開発で SVG画像を取り扱う

WPFで SVG画像を表示させたい事があると思いますが、標準では対応していません。
そこで、NuGetパッケージを使用します。

SharpVectors パッケージをインストールすると SVG画像 が使用できます。

設定

ただし、インストールしたら、そのままでSVG画像が表示される訳ではありません。
トップ要素に
xmlns:svgc="http://sharpvectors.codeplex.com/svgc/"
を追加しましょう。

そして、表示した部分で、以下のように
<svgc:SvgCanvas Source="svg_image.svg"  />
svgc:SvgCanvasタグを使用すると画面に表示されます。

2013年5月10日

2013年5月10日のタスク

本日は

  • POS開発
を行いました。

Windows8 に Git を導入する


「Visual Studio 2012 Express for Windows Desktop」を使用するにあたり、
バージョン管理システムの導入は必須です。
「Visual Studio Team Foundation Server Express 2012」にも
バージョン管理の機能があるそうなのですが、
今回は、だいぶ使い慣れてきた Git を導入しようと思います。

Windows用の Git

Linuxの場合は、考えずにディストリビューションが提供しているGitを導入しましたが、
Windows版の場合、どれがいいかを調査しました。
昔は、LinuxとWindowsの違いで、こういったunix系OS由来ソフトウェアの導入でトラブルになっていたので、慎重になっています。


などいろいろありましたが、
GUI付きで使い勝手が良さそうな記事があったのと、トラブルのような記事がなかったのを決め手に


の導入に決めました。

SourceTree のインストール

http://sourcetreeapp.com/ からインストーラーをダウンロードしてインストールするだけです。

Bitbucket https://bitbucket.org/ が作成しているアプリらしく、
Bitbucket のリモートリポジトリも対応しているのが良いです。もちろん Githubにも対応しています。

使用感


とても使いやすいです。だいだいの機能はGUIから使えます。
細かいオプションを使いたい時には、ターミナルのボタンがありますので、
それを使えば Windowsでも問題なく使えました。
プログラムの表示文字は英語ですが、日本語の入力はばっちりです。
Gitのクライアントとして、とてもお勧めです。

2013年5月9日

Windows8 に Visual Studio Express 2012 for Windows Desktop をインストール

Windows8 に Visual Studio Express 2012 for Windows Desktop をインストールした記録です。
インストールにおいて難しい部分は全くありませんでした。

ダウンロード

まずは、ソフトウェアのダウンロードです。以下のURI
http://www.microsoft.com/visualstudio/jpn/downloads
Microsoft の Visual Studio のホームページからダウンロードしましょう。
このページに Visual Studio Express 2012 のバージョンが 5つありますが、
その中から「Visual Studio 2012 Express for Windows Desktop」をダウンロードしましょう。

インストール

インストールも簡単です。
ダウンロードしたファイルをダブルクリックしましょう。
インストールウィザードが起動します。
後は、ウィザードに従って「次へ」をクリックしていきます。
そうするとインストールが完了します。

オンライン登録

プロダクトキーを入力しないと、30日間の試用版として起動されます。
プロダクトキーは無料で手に入れる事ができます。
アプリケーションの起動時のウィンドウから「オンライン登録」をクリックしましょう。
Microsoftアカウントの入力を求められます。
Microsoftアカウントの入力をすると、プロダクトキーの発行画面に遷移しますので、
必要事項を入力して「続行」をクリックしましょう。
すると、Microsoftアカウントのメールにプロダクトキーが来ます。

プロダクトキーの入力

「Visual Studio 2012 Express for Windows Desktop」の起動画面にある「プロダクトキー」の入力画面に、入手したキーを登録しましょう。
すると、試用版が解除されて起動できるようになります。


2013年5月9日のタスク

本日は

  • POS開発
を行いました。

2013年5月8日

2013年5月7日

2013年5月7日のタスク

本日は、

  • POS開発
を行いました。

2013年5月2日

2013年5月2日のタスク

本日は

  • アルバイト
を行いました。

2013年5月1日

2013年5月1日のタスク

本日は

  • 月例会議
を行いました。