「ひろの」の徒然日記帳 [IT tools, programming, software and more...]

プログラミング、ITツール、人工知能等興味のあることを徒然と書きます。Microsoft、C#が好きです

XMind によるマインドマップ

ひろのです。




イデアを整理していく上でマインドマップは欠かせません。
XMindという便利なソフトウェアがあるので記事します。


www.xmind.net

ビジネス用やシンプルな形等多数のテンプレートが用意されています。

注釈や纏め、コメントといった基本的な機能から
各種形式へのエクスポート機能もあります。

タブやEnterといったキーによる操作も充実しているので、
イデアをどんどん整理することが可能です。

キーワードを並べ、放射状に整理し、新しいアイデア
どんどん湧き出てくるのでオススメです。

RESTful な API設計についての考察

ひろのです。

朝から役所です。
月曜日を避けたのは正解でかなり空いていました。
各担当の方と話をすると専門的な知識が会話の中からわかるのですが、
将来的にはロボット・人工知能に置き換わっていくのかな・・なんて考えると
少しさみしい気持ちになりました。役所に来なくても出来るようになることが
どんどん増えていくこともそうですが、、。


APIを考える上で RESTful なAPI設計とすることで
理解しやすく、保守しやすいイメージがあります。
主な部分を整理しました。

RESTは(REpresentational State Transfer) のこととなります。


URIによる名前付け

~/api/customers/0001
~/api/customers/0002

上記のように顧客1番、2番等が明確。


~/api/customers

上記で顧客全体を取得・更新・追加するようなメソッドと読み取れる。



統一したインターフェース

HTTPメソッド 操作
GET リソースを取得する
POST リソースを新たに追加する
PUT リソースを更新する
DELETE リソースを削除する

上記のようにメソッドが操作と一致する。



レスポンスコードによる結果

HTTPステータスコード Body
200 取得・削除に成功した
201 作成に成功した
200 更新に成功した
404 データが存在しない

等、レスポンスで結果がわかる。

音楽API、音楽データベースの考察

ひろのです。

引っ越し準備で少し腰痛です。
運動不足ですね。引っ越し先では土日も外にでて運動するようにします。
自転車も買って色々とうろうろ散策したいと思っています。


最近、音楽系のAPIやデータベースを調べていました。

いくつか調べて各々特徴があるので記事にします。

サイト 特徴
MusicBrainz - The Open Music Encyclopedia データ構造が特徴的で、音楽をかなり正確に表現しようとしています。CDDBの商用化に伴って出来ました。
Gracenote | Developer Portal GracenoteのCDDB情報が参照できるMusic Platformです。
developer.spotify.com SpotifyのWebAPIです。音楽聴き放題サービスに関してOpenなAPIがあります。
Data/APIs/Rovi-Music - ROVI API Rovi社のMusic APIです。


各々のサイトで特徴的ですが、SpotifyAPIがREST形式で一番使いやすいと思います。

各々のAPIを利用してみてさらに細かい特徴を整理したいと思います。

Symfony についての考察

ひろのです。

最近飲んでいなかった白ワインを久しぶりに飲みました。
家でお酒を普段飲まないのですが、家にずっとあった誕生日に買ってもらった
白ワインを今頃あけました。
特筆するような内容でもないのですが、家でゆっくりとテレビとか
見ながら飲むのは珍しいことで「こういう時間も必要」と改めて思いました。
そればっかりだと時間なくなってしまうので、気をつけないといけないですが、、。


Symfony, High Performance PHP Framework for Web Development


Symfonyをプロジェクトにて利用しようとしています。
前々からどんなフレームワークか興味があったので
少しずつ学んで身につけようと思っています。

当然のようにMVC構成(モデル、ビュー、コントローラ)です。

  • モデル:ソフトウェアの機能
  • ビュー:ソフトウェアの機能の処理結果をユーザーに伝える(表示)
  • コントローラ:ユーザーの操作をソフトウェアに伝える。

また、「バンドル」という特別な単位(ファイルの纏まり)が
あるようで、プラグインのように機能追加が容易に出来ます。

Symfonyには通常バージョンとLTS版(Long Term Support)があり、
LTS版を利用していた方が長期のサポートが受けられるとのことです。
長期サポートは4年となります。通常版だと14ヶ月になります。

日本Symfonyユーザー会にはチュートリアルや各種のドキュメントが
日本語化されて用意されている為、必読となります。

Symfony2 ドキュメントポータル

MySQL4.0 から MySQL5.5 への移行(さくらインターネット編)

ひろのです。

週末に大きな予定がないので、近くを家族で散歩しました。
子供との散歩は新鮮です。引っ越しも1週間後と近づいてきたので
この街にいるのもあと少しなのでいろんな風景と見ておきたいと思います。


過去から利用していたMySQLですがバージョン4.0とかなり古く、
新しい環境へ移設することになったのでその際の手順を記載します。
移行先はMySQL 5.5となります。

1. MySQL4.0環境のバックアップ

まずはMySQL4.0環境でバックアップします。
さくらインターネットの環境を複数所持し新しい環境とは別環境で
実施することでバックアップがうまくいっていなかった時も問題ないと思います。


TeraTeamで xxxxx.sakura.ne.jp にSSHログインします。
IDとパスワードは契約時の「www」と一緒となります。
ログインしたらhomeディレクトリにて mkdirコマンドでなディレクトリを作ります。
「cd」でディレクトリ移動します。
mysqlコマンドで mysqldump-4.0 -u [user]-h [DB server] [DB名] -p > mysql.dump
のあとにDBのパスワード入力します。
DBのサイズにもよりますが、
しばらく待っているとダンプ(バックアップ)が完了します。

WinSCP等のツールでローカル環境に保存しておきます。
mysql.dumpしたファイルをテキストエディタで編集します。
TYPE=MyISAMをENGINE=MyISAMに修正します。
また、MySQL 4.0の時には問題にはならないカラム予約後がありますので
deleteといったカラムがあれば delete_flg等に修正して下さい。
別名のmysql2.dumpにして保存しました。
エンコードUTF-8指定で保存しています。


2. 新環境のMySQL5.5でリストア

さくらインターネットのコントロール画面からDBを作ります。

WinSCPでMySQL5.5環境のサーバにファイルを配置します。
TeraTeam 等でSSHログインします。※MySQL5.5環境の方となります。
「cd 」にて mysql2.dump のあるところに移動しておきます。

mysql -v -u [user] -h [DBサーバ名(ホスト名ね)] [DB名] -p

パスワードを入力します。
UTF-8になっているか「\s」で確認します。
UTF-8になっていることを確認できた後、
\C utf8で他もUTF-8に変更します。
\. mysql2.dump でリストアを実行し、完了です。

大きくて複雑なテーブルだと編集する箇所が多いかもしれませんが、
小さなDBでテーブル数もあまりなかったので楽でした。

Slackの利用

ひろのです。


引越し先・新居の引き渡しを受けてきました。
家を探していた頃は秋だったので、同じ場所でも季節の違いを感じました。
公園は花がたくさんさいていて、木の緑も青々しかったです。
新しい環境で楽しく家族と過ごしていきたいと思います。


SkypeやLINE、Kakao Talk等、幾つかの iPhoneアプリやPCアプリを
利用していますが、最近は チャットツールとして Slack が流行ってきています。


Teamという単位でアカウント管理がされることや、
さらにチャンネルという単位でグループ内チャットが出来ること、
Teamやチャンネルの切り替えも簡単で
他の各種ツールとの連携も進んでいることから流行っているように思えます。


あとはデザインが非常にシンプルでチャットに集中出来ることでしょうか。


Gitにコミットした時にSlackに通知する。
Googleドキュメントにファイルを保存した際にSlackに通知する。
様々な連携が行え、自動で通知されます。



slack.com



Slack自体はアプリ以外にWebブラウザだけでも利用できるので
外出先でもアカウント・パスワードを覚えていれば簡単に利用できます。

apiary による Markdown記法、API設計

ひろのです。


4月ももう中旬です。
あっという間にゴールデンウィークがやってきて、夏がきて、、、と
1年が過ぎていくのかもしれません。
ここ数年成長が止まっていたと実感しているので、
少しずつ取り返していきます。


最近新しいAPIの設計を始めています。
まだ初期の初期なのでホワイトボードを使ったり、エクセルでラフに
リクエスト・レスポンスを整理したりといった段階ですが、
Web上で便利な apiary というサービスがあるので記事にしました。


apiary.io



APIの設計、ドキュメントが Markdown の形式で書け、
簡単にそして見栄え良く出来ます。

画面は3分割され、左からMarkdown形式でドキュメントを書くと、
真ん中に人が見やすいドキュメントが自動生成されます。
さらに右側には機械向けのドキュメントやコードが生成されます。


f:id:ino-hiro1012:20160413124950p:plain



REST APIのドキュメントを書くだけではなく、実際にモックアップを実行したり
サンプルのコードを提供してくれたりもします。


無料で使えますが、チームでの利用やプライベートなAPIドキュメントを
書く場合は有料になります。