Vagrantで複数ゲストOSを立ててみる

やりたいこと Vagrantで複数ゲストOSを作って更にPostgreSQLをインストールしたい。 VagrantのVersion 以下の通りです。 ➜ ~ vagrant -v Vagrant 2.2.0 Vagrantfileを作ってみる 以下のようにしました。 ポイントは以下です。 config.vm.defineのところを作…

はじめてのVagrant

やりたいこと Vagrantを使うとゲストOSを容易に作れるというのを聞いたので、ちょっとやってみようと。 Vagrantインストール https://www.vagrantup.com/にアクセスし、[Download 2.2.0]リンクを押下するとダウンロードページに飛びます。 各OSごとのインス…

VirtualBoxに立てたCentOSにsshで繋ぐ

やりたかったこと VirtualBoxに立てたCentOS7にホストOSからsshで接続したい。 手順 以下が大変参考になった。 qiita.com もうリンクに全て書かれているのですが、備忘録としてこちらでやった時のメモを残します。 VirtualBoxの設定 VirtualBoxメニューバー …

JavaScriptでAsync-Await-Catch

ちょっと予習。 async function sleep(wait, result) { return new Promise((resolve, reject) => { setTimeout(() => { if (result === 3) { reject('error!') } else { console.log(result) resolve() } }, wait) }) } async function syncSleep() { await…

Reactのマニアックな使い方

なかなか面倒そうな要件があり、どうにか出来ないかなと思っていたのですが… 実現方法が思いうかばずStackOverFlowに投稿してもた。心より恥じる。恥じることはないかもだけど。

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) ホストに公開す…