だらだらと思いついたこととか書くブログ

エンジニア的なネタとか備忘録とかを書いていく予定

ドメイン駆動設計 - Part.1

ドメイン駆動設計について調べてみた(その1)

まずは概念的なものをまとめてみる

ドメイン駆動設計

ドメインロジックの断片化

プレゼンテーション層

  • 画面の入出力

アプリケーション層

  • データ処理の手順

データソース層

  • データベース操作

ドメインロジックを"ドメインモデル"に集約する ドメインを学び学んだことをコードで豹男減する

分析設計(分析しながら設計する)

技法

オブジェクト指向

  • 抽象データ型 → 人間の知りたい事/やりたいことを定義する => 抽象化=人間の関心事に近づける
  • モジュール構造 → 抽象データ型を部品として全体を組み立てる

業務の知りたい事/やりたい事をクラス名とメソッド名で表現する

XP

変化に適応するソフトウェア開発

  • フェーズに分けない → 毎日少しずつ成長する
  • 効率を追求する

ドメイン駆動設計 分析しながら設計する - SlideShare https://www.slideshare.net/masuda220/ss-74962182

ドメイン駆動設計 基本を理解する https://www.slideshare.net/masuda220/ss-59756718

ダンスメモ@20170513

久しぶりにチャチャ&ルンバのベーシック中心のオシャレなフィガーとそれを踊るにあたってどう動けばいいのか?という内容についてのグループレッスンを受けたのでメモ

ChaChaCha

カール

思っている以上に早めにリードする → よく使うホッケースティックなどとは違う動きになることを早めに知らせる

後退~ファン

後退の時にはパートナーを自分の左前にリードする(それと真逆に自分が動く)  → 相手に来て欲しい位置と反対側に自分が移動する  => 自分の左(もしくはやや左後ろ)くらいにリードしてしまいがちなので注意する

クローズドヒップツイスト~スパイラル(?)

ワクでパートナーをリードしてから自分が右足に体重移動することでパートナーを自分の左に向けて前進させる  → そこから左にアームを上げてスパイラルのリード  => 回転後はしっかり左のアームを元の高さまで戻すことに注意

Rumba

アレマーナ

このルーティンでのアレマーナは通常と違うので左シェイプ(?)を掛けて行う

アレマーナのあと

アレマーナで掛けたシェイプを元に1カウントで入れ替わる  → この時、右足体重

ホッケースティック

ホッケースティックのあとは自分の右前(逆壁斜め)に対してオープンで出ていく感じになるので、アレマーナ~踏み変えの後の後退で自分が左後ろに後退してリードするようにする

感想

特にリード部分は結構、 ・よくよく考えるとそうだよなって思うところ や ・そういえばそう教わってはずだけどすっかり忘れてしまっていた ということがたくさんありとても勉強になったになった良い時間でした

あと、久しぶりにちゃんと色々と考えながら踊ったのもあり、何か「ホッケースティックでのチェック」や「キューバンロックスでのチェック」、はたまたランジの後のファンなど今更ながらどう踊るのが正解なのか迷子にになった。。

また定期的に練習するようにしたいな、と思っていることもあり、教わったことを実践できるようにしつつ、この辺の迷子課題の解決策を見つけたいところ ともあれ、やっぱりダンス楽しいし、新しいことを覚えられるのは楽しいなーとあらためて思えた一日でした

 参考

すっかり忘れていたのでダンスのアライメント、LODについて

socialdance.asia

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勉強会

DoorKeeperページ

  • 競合について

競合については手で対応が必要

  • 参考書籍
  • 入門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