Vagrant 1.6 変更点

2014年5月6日に Vagrant 1.6 がリリースされていました。
下位互換性を保ったバージョンアップになります。詳細はこちら

主要変更点

Global Status and Control

$ vagrant global-status
id       name    provider           state              directory
---------------------------------------------------------------------
4174bb6  web     virtualbox         stopped            c:/hashicorp/foo
72a2e4d  default vmware_workstation running            c:/hashicorp/bar
865a979  default virtualbox         suspended          c:/hashicorp/baz

旧バージョンで作成した環境はバージョンアップ後に再度 vagrant up する必要有。
どのディレクトリからでも全てのコマンドが実行可能。

$ vagrant ssh 72a2e4d
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.8.0-29-generic x86_64)
 
vagrant@vagrant:~$

Windows Guests

ゲスト OS に Windows をサポート。
vagrant rdp コマンドでリモートデスクトップも可能。

Docker-Based Development Environments

Docker 対応。詳細は以下のサイト参照。
Vagrant 1.6、Dockerコンテナのサポートを追加
Vagrant 1.6 が出たので Docker Provider を試してみた

その他変更点

vagrant version

vagrant -v の進化版 vagrant version

$ vagrant -v
Vagrant 1.6.3
$ vagrant version
Installed Version: 1.6.3
Latest Version: 1.6.3
 
You're running an up-to-date version of Vagrant!

provision の実行を once か always から選択

always を選択すると vagrant up や vagrant reload のときにも実行される。

実行時メッセージ

vagrant up を実行したときに表示するメッセージを Vagrantfile に書くことが可能。

Box を LZMA で圧縮可能

LZMA 圧縮に対応。


カテゴリー: 開発環境 | タグ: | コメントする

GitHub のリポジトリに push しようとするとエラーになる

問題

GitHub でリポジトリを clone できるのに push できない。

$ git remote -v
origin  https://github.com/SnowCait/dotfiles.git (fetch)
origin  https://github.com/SnowCait/dotfiles.git (push)
$ git push -u origin master
error: The requested URL returned error: 403 Forbidden while accessing https://github.com/SnowCait/dotfiles.git/info/refs
 
fatal: HTTP request failed

解決方法

GitHub のユーザーアカウントを指定した URL に変更。”SnowCait@” の部分。

$ git remote set-url origin https://SnowCait@github.com/SnowCait/dotfiles.git

確認

$ git remote -v
origin  https://SnowCait@github.com/SnowCait/dotfiles.git (fetch)
origin  https://SnowCait@github.com/SnowCait/dotfiles.git (push)
$ git push -u origin master
Password:
Counting objects: 7, done.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.02 KiB, done.
Total 6 (delta 0), reused 0 (delta 0)
To https://SnowCait@github.com/SnowCait/dotfiles.git
   6ffae92..4b46064  master -> master
Branch master set up to track remote branch master from origin.

【環境】

$ git --version
git version 1.7.1
$ cat /etc/redhat-release
CentOS release 6.5 (Final)

【参考】
githubでいつもと違うPCからHTTPSの認証を使ってgit pushする場合の手順

今回は HTTPS でしたが SSH も同じっぽい。
githubで新しい環境から自分のレポジトリにpush


カテゴリー: 開発環境 | タグ: , | コメントする

Mevy のプロモーションサイトを作成したときの記録

2013年12月に Mevy のプロモーションサイト を作成したときの記録。
アプリのプロモーションサイトを作るときの参考になれば。

環境

Windows Azure Web サイト
ASP.NET MVC 4 (ASP.NET Web アプリケーション > MVC 認証無し)

疑似 Mevy 部分(左側)

基本的には Ajax で Twitter API から json を取得してリストにつっこむだけ。
Twitter API には OAuth 認証が必要なのでそこだけ AsyncOAuth を使ってサーバーでやってあげる。

サーバー (HomeController)

public async Task<string> Timeline()// コントローラーのメソッドにも async を付けることができる
{
    OAuthUtility.ComputeHash = (key, buffer) => { using (var hmac = new HMACSHA1(key)) { return hmac.ComputeHash(buffer); } };
    var client = new HttpClient(new OAuthMessageHandler("ConsumerKey", "ConsumerSecret", new AccessToken("AccessToken", "AccessTokenSecret")));
    return await client.GetStringAsync("https://api.twitter.com/1.1/search/tweets.json?q=%23mevy");
}

クライアント

<ul class="timeline"></ul>
$(function () {
    $.getJSON("/home/timeline", function (data) {
        var ul = $(".timeline");
        $.each(data.statuses, function (key, tweet) {
            var li = $("<li>").addClass("tweet");
            // 中身を作る
            li.appendTo(ul);
        });
    })
    .fail(function () {
        $(".timeline").append($("<li>").html("ツイートを取得できませんでした。"));
    });
});
</script>

レイアウト

縦100%表示にするには html, body など親要素にも全て height:100% をする。
margin, padding も親要素から全て 0 に。

配置は CSS の flexbox を使って調整。ブラウザによって違うので3つ書く必要がある。

display: flexbox;
display: flex;
display: -webkit-flex;

コンテンツ(右側)

画像を用意すると栄える。
文字は多くなるとごちゃっとするので最低限に。

画像の合成

Photoshop を使って、写真やイラストの中の「面」に画像を貼り付ける方法 を使って
Surface 画像にスクリーンショットを埋め込むとそれっぽい。

各機能アイコン

その機能を表すアイコンがあると文字だけで箇条書きされるより分かりやすいし区切りが付くので見やすい。
自分で描くのは大変なので Segoe UI Symbol などを使って描画したものをスクリーンショット。
AppBarButton だとプロパティウィンドウからプルダウンで選択できるので楽?

見出しの下線

padding をある程度開けて下線を引くと見栄えが良かった。
h1 より h2 が目立たなくなるように形状や色を変える。

インストールページへの誘導

表示されている範囲に1つは置く。


カテゴリー: ASP.NET | コメントする

Windows ストアアプリの配置エラー 0x80073D05

Visual Studio から実行したときに配置エラーが出る場合。

エラー 5 エラー: DEP0700 : アプリケーションの登録に失敗しました。エラー 0x80073D05 により、内部エラーが発生しました。アプリの展開に関する問題の診断については、http://go.microsoft.com/fwlink/?LinkId=235160 を参照してください。 (0x80073cf6)

リンク先には以下の記述。

ERROR_DELETING_EXISTING_
APPLICATIONDATA_STORE_FAILED
0x80073D05 An error occurred while deleting the package’s previously existing application data.
You get this error if the simulator is running. Close the simulator.

既に存在するパッケージのアンインストールに失敗すると配置エラーになるようです。
Windows アップデートの適用待ちのときにも失敗するので一度更新を適用して再起動しましょう。
シャットダウンメニューが「更新して再起動」となっていなくても再起動したら直りました。


カテゴリー: Windows ストア アプリ | タグ: | コメントする

MariaDB で日本語を扱う場合の文字コードの設定

MariaDB で日本語を扱う場合の文字コードの設定。

設定変更前

まずは MariaDB をインストールした状態の文字コードを確認。

MariaDB [(none)]> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
 
MariaDB [(none)]> status;
--------------
mysql  Ver 15.1 Distrib 10.0.11-MariaDB, for Linux (x86_64) using readline 5.1
 
Connection id:          3
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server:                 MariaDB
Server version:         10.0.11-MariaDB MariaDB Server
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 2 min 18 sec
 
Threads: 1  Questions: 6  Slow queries: 0  Opens: 0  Flush tables: 1  Open tables: 63  Queries per second avg: 0.043
--------------

データベースとサーバーの項目が latin1 になっているのでここを utf8 にする。

設定変更

/etc/my.cnf の一番下に /etc/my.cnf.d/ 以下のファイルを読み込む設定が書かれている。

$ cat /etc/my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]
 
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

/etc/my.cnf.d/server.cnf を編集して [mysqld] に character-set-server = utf8 を追加。

$ sudo vim /etc/my.cnf.d/server.cnf
// ...
[mysqld]
character-set-server = utf8
#collation-server     = utf8_general_ci
#skip-character-set-client-handshake
// ...

collation-server = utf8_general_ci
はデフォルトになっているので省略可。

MariaDB [(none)]> show collation like 'utf8%';
+------------------------------+---------+-----+---------+----------+---------+
| Collation                    | Charset | Id  | Default | Compiled | Sortlen |
+------------------------------+---------+-----+---------+----------+---------+
| utf8_general_ci              | utf8    |  33 | Yes     | Yes      |       1 |

クライアントとサーバーで文字コードを合わせているので skip-character-set-client-handshake も不要。
というか使わない方が良さそう?→skip-character-set-client-handshake について

MariaDB を再起動して設定を反映。

$ sudo /etc/init.d/mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!

設定変更後

確認。

MariaDB [(none)]> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
 
MariaDB [(none)]> status;
--------------
mysql  Ver 15.1 Distrib 10.0.10-MariaDB, for Linux (x86_64) using readline 5.1
 
Connection id:          5
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server:                 MariaDB
Server version:         10.0.10-MariaDB MariaDB Server
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 34 min 15 sec
 
Threads: 1  Questions: 10  Slow queries: 0  Opens: 0  Flush tables: 1  Open tables: 63  Queries per second avg: 0.004
--------------

【環境】
MariaDB 10.0.10
CentOS 6.5

$ mysql -V
mysql  Ver 15.1 Distrib 10.0.10-MariaDB, for Linux (x86_64) using readline 5.1
$ cat /etc/redhat-release
CentOS release 6.5 (Final)

【参考】
CentOS 6.4にMariaDB 10をインストールする方法
MariaDBをCentOS 6にyumでインストールする方法
MARIADB 10.0.1 で日本語が文字化けしないようにする


カテゴリー: MariaDB | タグ: , , | コメントする