MacでWindows10 on BootCamp

やんごとなき事情で、Windows 10 on BootCampしたので簡単にメモ。 用意するもの USBメモリィ 16GB Windows10 ISOイメージ Windows10 プロダクトキー 以下のサイトをなぞりながらインストールしていきました。 rocketnews24.com 道中、ハマったことといえば…

Javassistで対象クラスのアノテーション情報を取得

Javassitはいわゆるバイトコード操作ライブラリですが、クラスの解析も出来るんじゃないかなと思いました。 ということで、やってみた記事になります。 解析対象クラス このクラスのメソッドに付与されているアノテーションを取得してみます。 雑いテストク…

どのpackageがimportされているか調べる方法

APIか何かで取れるかと思ったけど、出来ないっぽい。 stackoverflow.com じゃあ、javassistならどうなのよ?と思って、ClassPoolらへんを見てみる。 ClassPool (Javassist API) お、getImportedPackagesがあるやん。使えるかな?

create-react-appで使われているテスト系ライブラリって何よ

いやまあ、公式ガイドか何かを見れば一発だとは思うのですが、ちょっとゼロから調べてみます。 create-react-appでテスト系のライブラリとして何が使われているのか調べてみます。 create-react-appで生成したアプリであればターミナルでnpm testでテストを…

今日は何もせず

orz いや、今日はピーな事とかで色々あったのですよ。

Reactのベスプラが知りたい

特に、Container/Componentの関係について。 medium.com ViewHelper的な関係で、ComponentはあくまでもViewという役割、 ContainerはComponentに渡すデータの取得/加工といったHelperという役割。 この時、Componentはstateを持たない。 という理解です。 た…

今日もお休み(昨日に続き)

Hatena Blogのリッチテキストエディタってtinymce使ってるんですね。 てか、tinymceにMarkdownプレビューってあったんかいな?

今日はお休み

色々ありましたです。ハイ。 とりあえずこの猛暑はどうにかならんものかな。。。。

Reactでグラフ作るの巻

rechartsってやつを使ってとりあえず棒グラフを作っています。 github.com X軸を表現するコンポーネントが<XAxis>ってやつなんですが、 歯抜けなデータだと全てのlabel(tick?)が表示されないことがあるっぽいです。 その時はとりあえず以下のようinterval={0}にして</xaxis>…

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

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

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

末尾の表データをツリー構造に変換したく色々トライしていますがうまくいかぬ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

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

MacにWindow Managerを導入

Windowをもう少し賢く使いたいなぁ…と思いましたです。まる。 結論 Amethystを使ってみることにしました。 Xmonadライクだったので。 これで、キーボードのみでウィンドウ切り替え出来るよう修行しよう。 インストール方法 以下を見ていただければ。 github.…

JdbcTemplateの照会系の結果をBeanに詰めるにはBeanPropertyRowMapperが必要

とりあえずはそんな理解です。 件のクラスのJavadoc見ると、以下のように記載されていますね。 RowMapper implementation that converts a row into a new instance of the specified mapped target class. The mapped target class must be a top-level cla…

in〜, on〜(part2)

in, onの他の表現 例文 Let's go leave in the morning. in the morningだと、朝もしくは午前中になる。 広い範囲を指す。 How about 9:00 on the morning of May 1? ある特定の日の朝。 時間を表すin, on in the rainy season in a week in a month in spri…