2018-06-01から1ヶ月間の記事一覧

表データからツリー構造への変換(深さ優先探索)

できた。 深さ優先探索を使っています。 まずルートとなる要素を確定し、その要素に子要素を追加し、その子要素の子要素を…を繰り返しています。 昨日やってたのは、終端要素から親となる要素を追加していくという方法でしたが、 うまいこといかんかったので…

表データからツリー構造への変換

末尾の表データをツリー構造に変換したく色々トライしていますがうまくいかぬorz 枝の深さの数がそれぞれ違うので途中でおかしくなって破綻するパターン。 週末は普通に休みだし、いい頭の体操になるかなー。 Id parentID 1 2 1 3 1 4 1 5 1 6 2 7 6 8 6 9 6…

Reactでwhy-did-you-update

お前は何故更新されたんだ? why-did-you-updateというReactのレンダリング状況をログ出力してくれるライブラリがあります。 github.com 使い方 アプリのソースコードに以下コードを書きます。どこでもいいです。 さしあたってはエントリーポイントとなるinde…

ES2015でPrototype

色々残念だ。心より恥じるしかない。 class Product { use(str) {} createClone() {} } class Manager { constructor() { this.showcase = new Map() } register(name, product) { this.showcase.set(name, product) } create(name) { const product = this.…

ES2015でSingleton

イマイチ感がすごすぎる…。 class Singleton { constructor() {} echo() { console.log('hello') } static getInstance() { if (Singleton.instance === null) { Singleton.instance = new Singleton() } return Singleton.instance } } Singleton.instance …

エンジニアになる覚悟

Twitterで素晴しい資料が流れてきました。 speakerdeck.com 50Pからの「非機能要件にこだわろう」、がすごいしっくり来ました。 開発現場では、ともすれば機能要件優先になりがちなので、意識して非機能要件を作っておかないといけないなと思いましたです。 …

ES2015でFactory Method

シリーズ化してきましたね。 Factory Methodはこんな感じですね。 /** * 製品を表す抽象クラスもどき。 * 具体的な処理はサブクラスで定義する。 */ class Product { use() {} } /** * 工場を表す抽象クラスもどき。 * 具体的な処理はサブクラスで定義する。…

ES2015でAdapterもどき

こんな感じでしょうか。 /** * 既にあるクラス */ class Banner { constructor(message) { this.message = message } showWithParen() { console.log(`( ${this.message} )`) } showWithAster() { console.log(`* ${this.message} *`) } } /** * 文字を表示…

ES2015でIteratorもどき

IteratorをES2015で書くならこんな感じかなと。 /** * 集合体を表すインタフェースもどき */ class Aggregate { iterator() {} } /** * 要素を順次スキャンするための操作を定義するインタフェースもどき */ class Iterator { hasNext() {} next() {} } /** …

ES2015でTemplateMethodもどき

ES2015はclassベースの構文が導入されています。 これを上手いこと使えばTemplateMethodっぽいことが出来るかなーと思って試してみました。 class AbstractDisplay { open() { throw new Error('a subclass have to override this open method.') } print() …

DockerコンテナでJavaコンパイルしてみる

以下のようなDockerfileを作成して、さあコンパイル出来るか?と試してみるが…。 FROM alpine:3.7 RUN apk --update add openjdk8-jre CMD ["java", "-version"] RUN mkdir /code ADD ./Test.java /code WORKDIR /code CMD ["ls"] CMD ["javac", "Test.java"]…

複数Dockerをまとめて扱えるDocker Compose

Dockerを起動するのにシェルやバッチファイルを作るのはイケてないよね、ということで、Dockeer Compose入門してみます。 公式 Docker ドキュメント日本語化プロジェクト — Docker-docs-ja 17.06.Beta ドキュメント 日本人なのでまずは日本語ドキュメントか…

warファイルをTomcatコンテナに入れる

Tomcatコンテナが単体で起動できたので、次はwarファイルを入れてみようと思います。 warファイル込みでコンテナ作成 docker run -d -p 18080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps --name tomcat9 tomcat:9.0.8-jre8-alpine ホストのwebappsディ…

TomcatをDockerで利用する

Webアプリケーションサーバは必要だよね、ということでTomcat on Dockerも試してみます。 Tomcatコンテナの起動 docker run -d -p 18080:8080 --name tomcat9 tomcat:9.0.8-jre8-alpine 初回はDocker HubからimageをDLしてくるので時間かかります…。

初期データ込みのPostgresSQLコンテナを作成する

Dockerチョットデキルようになると、初期データ込みのPostgreSQL作れないか?と考えちゃいます。 Dockerfile作成 適当なディレクトリを作り、そこにDockerfileを作成します。 内容はこんな感じです。 FROM postgres:9.6 RUN localedef -i ja_JP -c -f UTF-8 -…

PostgreSQLをDockerで利用する

PostgreSQLをDockerで使ってみます。 PostgreSQLをコンテナとして起動 docker run --name testdb -p 5432:5432 -d postgres:9.6 オプションは他にもいくつかあります。 オプション 意味 --name コンテナに割り当てる名前 -p(--publish list) ホストに公開す…

ソフトウェアテストと設計とマネジメントについて

この資料がtwitterで流れていたので見てみました。 speakerdeck.com なんとなくこれは面白そう、ソフトウェアテスト関連を体系的に抑えたことなかったな、という理由で参考文献を見ておこうと思います。 また、ソフトウェアテストが設計やマネジメントに繋が…

車検に必要なもの

Car

車検を受けるので必要なものをまとめていく。 自動車検査証(車検証) 自動車が保安基準に適合していることの証明書。 自賠責保険証明書 自動車購入時に加入する強制保険の証明書。 自動車納税証明書 自動車税の納税が完了すると自宅に届けられる。時期とし…