あいつの日誌β

あいつの日誌です。

ISUCON7 に向けて ISUCON6 の予選を復習するために環境を用意する

あらすじ というわけで ISUCON6 予選の環境を再現したいと思います。当日行われた環境とはディレクトリ構成などが違うと思いますがそのあたりはご容赦ください。 あと PHP はよくわからなかったので除外しました。 Azure で以下の VM を用意 私は今回 Azure …

Bitbukcet で Access key を登録して Read only な repository に対して git clone する

もう何度も同じ失敗をしているのでメモ 鍵の登録は問題ないかを確認 ssh -T git@bitbucket.org git clone は git@bitbucket.org と ユーザ名/リポジトリ名.git を : で繋ぐ git clone git@bitbucket.org:ユーザ名/リポジトリ名.git

ubuntu で useradd したときに password をデフォルトで設定したいので expect を使う

ubuntu で adduser を実行すると対話モードが発生します。 USER_NAME=okamuuu # 適宜変更してください sudo adduser $USER_NAME こんな感じの対話モードが始まります。 Adding user `okamuuu' ... Adding new group `okamuuu' (1002) ... Adding new user `…

docker build でやたらと時間がかかるのは .wercker が原因だったっていうお話

こんな感じのコマンド実行したら生成される Docker Image のサイズがおかしい docker build -t myapp . Sending build context to Docker daemon 4.321GB echo "node_modules" >> .dockerignore したけど相変わらず Image のサイズが大きい。なんだろうとお…

Nginx + Node.js + React.js. + Mongodb を Docker で構築する

あらすじ Nginx + Node.js + React.js + Mongodb で Web Application の構築手順を説明する必要があるのですが、Dockerfile をドキュメントとして扱う事になりました。 % docker --version Docker version 17.06.2-ce, build cec0b72 % node -v v8.1.0 % cre…

Docker で Nginx を起動して proxy させようとしたら host not found in upstream と言われる件

この書き方だとそうなった FROM nginx:1.13.0 RUN mkdir /app COPY ./nginx.conf /etc/nginx/nginx.conf RUN service nginx start 正しくはこう。service は Docker の中で使ったらダメ、絶対。 FROM nginx:1.13.0 RUN mkdir /app COPY ./nginx.conf /etc/ng…

福岡へ4泊5日で働きながら旅をしてきた(3) その他

カフェと柳川と糸島とお土産。これで旅の報告はおしまい。 カフェ 今回は主にカフェで作業しましたので内訳を紹介します。 お店 働いた回数 作業のしやすさ FUK COFFEE 0回 × スターバックスコーヒー メディアモール天神店 2回 ○ スターバックスコーヒー 福…

福岡へ4泊5日で働きながら旅をしてきた(2) ご飯篇

福岡へ旅行行った時のごはんをまとめました 食べたもの ざっくり説明するとこのような感じです。 お店 住所 食べたもの 博多天ぷらたかお 福岡県 福岡市博多区 住吉 1-2-1 キャナルシティ博多 4F シネマストリート 天ぷら、昆布明太、白ご飯、浅漬け 炉ばた …

福岡へ4泊5日で働きながら旅をしてきた

あらすじ 私は現在東京でフリーランスのエンジニアをしていますが、いつか海外を旅しながら働きたいという願望があります。拠点を日本に残しつつ、労働ビザではなく、観光ビザで3ヶ月ごとに旅する国を変えたい。 なんですが拠点を東京に残した場合は維持費が…

i18next を使って国際化してみる

github.com あらすじ とあるサイトの開発に携わっているのですが、将来的に国際化して海外ユーザーもターゲットとしたい。という話なので予め国際化する準備をしておきたい。 最初は react-intl を試そうとしましたが、どうやら react-helmet との相性があん…

Gatsby.js の Tutorial で Error: Unable to find plugin "gatsby-plugin-typography" と言われる場合

結論 プロジェクトのディレクトリに移動して npm install --save gatsby すると良いでしょう。issue あげたら npm の問題であるとの事ですが、gatsby 側からは特に対応しないようです。とはいえ tutorial 試して見て動かないから使うのやめた、という人達が…

React で Latex を含む Markdown を扱いたいので markdown-it-katex を使った

あらすじ React で Markdown を使いたい場合は react-markdown が存在します。React で latex を使いたい場合は react-katex が存在します。なんだけど Markdown に Latex を含む場合はどうやればいいのか知らないので調べました。 結論 markdown-it とその …

第69回青梅市納涼花火大会に行って来た

あらすじ とある友人が「夏の思い出作りたいわー」と言い出したのでみんなで花火を見に行くことになりました。そして引率するのが私になったのですが、都内の花火大会は人が多いから引率するの大変そうなのでどうしたものかと思ったら地方で花火を見るという…

MacOSX: ターミナルで複数ファイルの文字列を一括置換する

もう何度も同じ事を繰り返すのでMEMO MacOSX に入っている sed コマンドは Linux のとは少し違うので brew install brew install gnu-sed --default-names でこんな感じで実行 find ./src -name '*.html' | xargs sed -i 's/xxx/yyy/g'

Gatsby v1.3.0 を試す(3)

前回のおさらい Gatsby は Node.js 製の Static Site Generator です。JSON ファイルのようなデータ構造からも静的ファイルを生成する事ができます。 今回は WebAPI から fetch する方法を紹介します。 前々回、前回と違い外部API から resouce を取得して G…

Gatsby v1.3.0 を試す(2)

前回のおさらい React.js の component を使って Blog などを生成できる Gatsby という Node.js 製の Statice site generator を紹介しました。 Markdown だけでなく JSON ファイルのようなデータ構造からも静的ファイルを生成する事ができるので今回はその…

Gatsby v1.3.0 を試す(1)

あらすじ React.js と Vue.js のどちらが優れているかはどちらでも良いと思っています。なんですが React.js のエコシステム のほうが一歩先を歩んでいると思っています*1。私が React.js のエコシステムを推す理由に一つになっているツールがめでたくメジャ…

夏らしさを求めておじさん2人が南伊豆へ旅した記録 2017

あらすじ 夏らしい事をしたいが、7月8月の週末は今回(7月22日の時点)を逃すと今年は最大でも6回しかない。チャンスは少ない。ならば俺たちは今すぐ行かねばならない。 どうしてそうなった? あんまり覚えてないんですが確かこんな感じの話をしたんだと思いま…

Failed: Cannot create property '__creationTrace__' on string '__zone_symbol__optimizedZoneEventTask'

どうした? Angular なアプリを開発していたのですが CirlceCI 上でいきなりテストが通らなくなった あと TypeError: Cannot create property '__creationTrace__' on string '__zone_symbol__optimizedZoneEventTask' とか言われます。 どうする? 調査した…

Can't bind to 'ngModel' since it isn't a known property of 'input'. ("">

もう何度も同じメッセージを目撃し、時間を無駄にしているのでメモ src/app/app.module.ts に FormsModule を追加する import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; +import { FormsModule } fro…

qs v6.5.0 以降からちょっと便利になったのでメモ

addQueryPrefix と ignoreQueryPrefix が使えるようになりました。 assert.equal(qs.stringify({ a: 'b', c: 'd' }, { addQueryPrefix: true }), '?a=b&c=d'); var prefixed = qs.parse('?a=b&c=d', { ignoreQueryPrefix: true }); assert.deepEqual(prefixe…

chart.js v2.6.0 の tooltip を React.js でカスタマイズして使う

追記 そういえば tootlitp のデザインは下記URL から拝借しています。書き忘れていたので追記します。ちなみにこの CSS にドロップシャドウを追加したらシャレオツな感じになった気がします。 【5パターン】画像を使わず CSS3 のみで作れる吹き出しを作って…

MacOSX で Node Sass does not yet support your current environment と言われたら

npm rebuild node-sass すると直るかもしれません。

ng test で Can't bind to 'routerLink' since it isn't a known property of 'a'. のような事を言われる場合

xxxx.component.spec.ts に以下のような追記をすると良いかもしれません。 + import { RouterTestingModule } from '@angular/router/testing'; beforeEach(async(() => { TestBed.configureTestingModule({ ... + imports: [RouterTestingModule] }) .compi…

Port が is already in use. と言われた時にどのプロセスの事を言っているのか MacOSX で調べる

もし Port が 4200 だった場合は以下のようにすればOK % lsof -n -i4TCP:4200 | grep LISTEN node 36069 okamuuu 17u IPv4 0xce7dba5cd8807a8b 0t0 TCP 127.0.0.1:4200 (LISTEN) おしまい

インディー系テックカンファレンス、Y8(通称ヤパチー) で登壇しました

y8

というわけで渋谷のマークシティに行ってまいりました。会場の雰囲気はこちらを参考にしてください。 togetter.com インフラエンジニアのWEBアプリ入門のススメ by おざしゅー 書くと動くので楽しい。楽しいのでもっと動かしたい。もっと知りたい。そんない…

Error: Error watching file for changes: EMFILE

jest が watchman を必要としているらしいので install するとエラーメッセージが出なくなった % brew install watchman

ES6 での range 関数を書いてみた

あらすじ Ruby でいう to_a のアレを JavaScript で書いてみた function range(from, to) { return [...Array(to - from + 1).keys()].map(x => x + from) } console.log(range(0, 10)) console.log(range(3, 10)) 出力結果 [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,…

n コマンドで node の version を 7.x.x にしたら npm error: cannot find module 'internal/fs' と言われる

一度前の version に戻る sudo n v6.x.x npm update をする npm update -g npm もう一度 v7 に戻って npm update する sudo n v7.x.x sudo npm update -g たぶん直る

This module requires the passlib Python library

ansible やっていてこんなこと聞かれたらこんなタスクを追加しましょう - name: install python passlib apt: "pkg=python-passlib state=installed"