ドメイン駆動設計 - Part.1
ドメイン駆動設計について調べてみた(その1)
まずは概念的なものをまとめてみる
ドメイン駆動設計
ドメインロジックの断片化
プレゼンテーション層
- 画面の入出力
アプリケーション層
- データ処理の手順
データソース層
- データベース操作
ドメインロジックを"ドメインモデル"に集約する ドメインを学び学んだことをコードで豹男減する
分析設計(分析しながら設計する)
- DDD:ドメイン駆動設計 → モデル
- RDRA:リレーションシップ駆動要件分析 → 要件定義
- ICONIX:オブジェクト指向(分析から実装まで) → 仕様
技法
オブジェクト指向
- 抽象データ型 → 人間の知りたい事/やりたいことを定義する => 抽象化=人間の関心事に近づける
- モジュール構造 → 抽象データ型を部品として全体を組み立てる
業務の知りたい事/やりたい事をクラス名とメソッド名で表現する
XP
変化に適応するソフトウェア開発
- フェーズに分けない → 毎日少しずつ成長する
- 効率を追求する
ドメイン駆動設計 分析しながら設計する - SlideShare https://www.slideshare.net/masuda220/ss-74962182
ドメイン駆動設計 基本を理解する https://www.slideshare.net/masuda220/ss-59756718
ダンスメモ@20170513
久しぶりにチャチャ&ルンバのベーシック中心のオシャレなフィガーとそれを踊るにあたってどう動けばいいのか?という内容についてのグループレッスンを受けたのでメモ
ChaChaCha
カール
思っている以上に早めにリードする → よく使うホッケースティックなどとは違う動きになることを早めに知らせる
後退~ファン
後退の時にはパートナーを自分の左前にリードする(それと真逆に自分が動く) → 相手に来て欲しい位置と反対側に自分が移動する => 自分の左(もしくはやや左後ろ)くらいにリードしてしまいがちなので注意する
クローズドヒップツイスト~スパイラル(?)
ワクでパートナーをリードしてから自分が右足に体重移動することでパートナーを自分の左に向けて前進させる → そこから左にアームを上げてスパイラルのリード => 回転後はしっかり左のアームを元の高さまで戻すことに注意
Rumba
アレマーナ
このルーティンでのアレマーナは通常と違うので左シェイプ(?)を掛けて行う
アレマーナのあと
アレマーナで掛けたシェイプを元に1カウントで入れ替わる → この時、右足体重
ホッケースティック
ホッケースティックのあとは自分の右前(逆壁斜め)に対してオープンで出ていく感じになるので、アレマーナ~踏み変えの後の後退で自分が左後ろに後退してリードするようにする
感想
特にリード部分は結構、 ・よくよく考えるとそうだよなって思うところ や ・そういえばそう教わってはずだけどすっかり忘れてしまっていた ということがたくさんありとても勉強になったになった良い時間でした
あと、久しぶりにちゃんと色々と考えながら踊ったのもあり、何か「ホッケースティックでのチェック」や「キューバンロックスでのチェック」、はたまたランジの後のファンなど今更ながらどう踊るのが正解なのか迷子にになった。。
また定期的に練習するようにしたいな、と思っていることもあり、教わったことを実践できるようにしつつ、この辺の迷子課題の解決策を見つけたいところ ともあれ、やっぱりダンス楽しいし、新しいことを覚えられるのは楽しいなーとあらためて思えた一日でした
参考
すっかり忘れていたのでダンスのアライメント、LODについて
vagrantでelasticsearch&kibanaを動かしてみる
久しぶりにvagrantをいじってみた
インストールは以前に試していたのでその他の設定を
ネットワークの設定 [ここ(http://qiita.com/kidachi_/items/e63c1607705178aa257c)]を参考に設定
で、色々入れてみるもメモリが足りてないことが判明
メモリの拡張 [メモリの設定(http://d.hatena.ne.jp/tbpg/20131107/1383834516)]を参考にvagrantfileを編集
メモリが設定したサイズになっていることを確認 [vagrant@localhost ~]$ free total used free shared buffers cached Mem: 1020540 181204 839336 0 12904 101644 -/+ buffers/cache: 66656 953884 Swap: 2621432 0 2621432
elasticsearch最新版を入れてみる https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.0.0.tar.gz tar zxvf elasticsearch-1.0.0.tar.gz mv elasticsearch-1.0.0 elasticsearch
elasticsearch.ymlを編集 http.port: 9200
kuromojiをインストール sudo ./bin/plugin --install elasticsearch/elasticsearch-analysis-kuromoji/1.5.0
servicewrapper https://github.com/elasticsearch/elasticsearch-servicewrapper
sudo mv service/ /usr/local/src/elasticsearch/bin/
sudo ./elasticsearch install
sudo /etc/init.d/elasticsearch start
kibanaも入れてみる
wget https://download.elasticsearch.org/kibana/kibana/kibana-3.0.0milestone5.tar.gz
tar xvfz kibana-3.0.0milestone5.tar.gz
mv kibana-3.0.0milestone5 /var/www/html/kibana
あれ、、動かないと思ったがiptablesの設定が足りてなかったので、対応すると kibanaの画面が!
・esとtd-agentの連携 参考サイト
-連携用プラグインのインストール /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-elasticsearch --no-ri --no-rdoc -V
-td-agent.confの編集
・apache-loggenで疑似ログを出力しkibanaで確認 apache-loggen --rate=10 --rotate=60 --progress /var/log/httpd/access_log
gtagsの使い方
大規模なCのソースコードリーディングに不可欠と言われるgtagsのsublime text用プラグインがあるらしいので、これを利用してみる
1.sublimeGtagsの導入 下記のサイトよりsublime textのpackageディレクトリにcloneする sublimeGtags
2.設定 githubページに書いてある設定を参考に設定してみる
3.gtagsコマンドを入れる(※入っていない場合)
brew install global
4.ソースコードディレクトリでgtagsコマンド実行
gtags
5.sublime textでrebuildを実行
Ctrl + t Ctrl + b
でrebuildが実行される
これでgtagsの機能が利用できるようになる
具体的な使い方
対象の関数がどのソースで定義されているか確認したい
global 関数名
でどのソースで定義されているか表示される
もっと色々使い方や活用法があるはずなので勉強中
参考サイト GNU global入門サイト
Dockerを入れてみる
macでのインストール
参考にしたサイトはコチラ
homebrewとvirtual boxが入っている前提
1.確認
which brew
which virtualbox
2.インストール
brew tap homebrew/binary
brew install docker boot2docker
3.boot2dockerのセットアップ&起動
boot2docker init
boot2docker up
4.sshでアクセス
boot2docker ssh
※paswordはtcuser アクセスが確認できたらいったんexitで抜ける
5.dockerコマンドの設定
export DOCKER_HOST=tcp://
-確認
docker version
6.動作確認 -ubutuをpullしてみる => ここ時間掛かります・・
docker pull ubuntu
-ubuntuをbootしてみる
docker run -i -t ubuntu:12.04 /bin/bash
下記のような表示が出ればOKなはず => apt-getが通った root@82f339d9dd5a:/#
git勉強会にいってみた
はじめてのgit勉強会
- 競合について
競合については手で対応が必要
- 参考書籍
- 入門git → 濱野さんの本
Gitポケットリファレンス
参考サイト
http://d.hatena.ne.jp/cakephper/20130422/1366606430
- code school → ここのtry gitを使って説明
https://www.codeschool.com/courses/try-git
gitコマンド
- add .
フォルダ内のファイルを全部add
- rm
ファイルを削除
- remote add [label] [git url]
gitをlabel名でremoteに登録する
- push -u
最初の一回だけuオプション付きのpushが必要らしい・・
- diff --staged
ステージングにあるファイルとのdiff
- reset
addやrmしたものを取り消し?
たとえば複数ファイルをaddしたが、一部ファイルだけ対象から抜きたい場合にresetで ステージングから戻す、などの使い方がある
- branch -d [branch name]
対象のブランチを削除
感想 今までなんとなーく使ってみてでしか理解できていなかったことの復習と自分が次に覚えるべきことが明確になった またco-edoには初めていったのだがタネマキと同様にエンジニア向きで雰囲気の良い場所だった
Elastic Searchを入れてみる(Cent OS6.5)
前々から気になっていたElastic SearchをCent OSに入れてみました
・参考サイト
http://qiita.com/boheanimato/items/cdcd6dbab7ea32b38710
1.elastic searchをwget
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.9.tar.gz -O elasticsearch.tar.gz
2.解凍してフォルダ名をelasticsearchに
tar -xf elasticsearch.tar.gz
rm elasticsearch.tar.gz
[mv elasticsearch-0.90.9/ elasticsearch/
3.デーモン化して起動するスクリプト準備
curl -L http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master | tar -xz
mv *servicewrapper*/service /usr/local/src/elasticsearch/bin/
elasticsearch/bin/service/elasticsearch install
4.起動(JAVA_HOMEが未設定でちょっとハマった・・)
/etc/init.d/elsticsearch start
5.plugin(elasticsearch-head)をインストール
elasticsearch/bin/plugin -install mobz/elasticsearch-head
=> 画面より確認
6.CLIで動いているか確認
curl -X GET http://localhost:9200
とりあえずインストールできたのでデータを入れて色々検証してみる予定
Appendix.
検証などの参考サイト
http://kakakikikeke.blogspot.jp/2013/11/elasticsearchkibana3-varlogmessages.html