Skip to content

Instantly share code, notes, and snippets.

View okmttdhr's full-sized avatar
🥕
Is this organic?

okmttdhr, tada okmttdhr

🥕
Is this organic?
View GitHub Profile
@okmttdhr
okmttdhr / Storybook上でTDDしたい.md
Last active October 29, 2018 10:59
Storybook上でTDDしたい

Specifications Addon

Storybookと同時にテストケースも確認できれば、小さいコンポーネントをTDD的に開発を行うことができるだろう、と思い、Specificationsというアドオンを使用してみました。

これを使うと、Storybook上でテストを実行でき、かつ、コンポーネントが機能を満たしているかをライブで確認しながら開発をすることができます。

# storybook起動
start-storybook
@okmttdhr
okmttdhr / docker-jest.md
Last active September 24, 2023 06:46
Docker環境でJestの起動が遅い

開発環境にDockerを使用しているが、Jestの起動がかなり遅かった。

ファイルのマウントと、複数CPUを使用する辺りで時間がかかっていたようなので、docker/for-mac#1358 を参考に高速化(起動まで60s以上だったのを5sほどに)した。

docker-compose.yml

    volumes:
 - .:/app
@okmttdhr
okmttdhr / test-action.ts
Last active October 28, 2018 13:42
Vuexのactionをテストする関数
import assert from 'assert';
/**
* VuexにおけるActionHandlerが、期待するMutationをcommitするかをテストする。
* Vuexの型はこちらを参照 https://github.com/vuejs/vuex/blob/dev/types/index.d.ts
* @param {*} action テストしたいActionHandler
* @param {*} payload ActionHandlerに渡すpayload。'skip'を指定でテストを無視できる。
* @param {object} state ActionHandlerに渡すActionContextのstate
* @param {array} expectedMutationsAndActions ActionHandlerがcommit/dispatchするオブジェクトの配列。
* @param {object} additionalParams 任意。ActionHandlerに渡すActionContextの追加プロパティ。
@okmttdhr
okmttdhr / jest.json
Created October 28, 2018 11:18
TypeScript+Vue.jsのプロジェクトをJestでユニットテストするときの設定
{
"scripts": {
"test": "jest --maxWorkers=1",
},
"jest": {
"moduleFileExtensions": [
"ts",
"js",
"vue"
],
@okmttdhr
okmttdhr / serverless-iam.markdown
Created October 15, 2018 01:20
Serverless FrameworkのデプロイIAMユーザー権限を絞る

Serverless Frameworkでデプロイ用のIAMユーザー権限を各環境(ステージ)ごとに調整したときのメモ

CloudFormation

本番環境の設定を変更・削除されないように制限をかけた。デプロイするサービスのみ更新ができる。

{
[
{ "id": 1,
"name": "service1",
"hosts": [
{ "id": 1,
"name": "olapi01",
"roleId" : 1,
"roleName": "API",
},
{ "id": 2,
[
{ "id": 1,
"name": "service1",
"roles" : [
{ "id" : 1,
"name": "API",
"hosts": [
{ "id": 1,
"name": "olapi01",
},
@okmttdhr
okmttdhr / virtual-dom-diff.js
Created March 3, 2016 02:07
virtual-domの差分アルゴリズム日本語コメント付き
var isArray = require("x-is-array")
var VPatch = require("../vnode/vpatch")
var isVNode = require("../vnode/is-vnode")
var isVText = require("../vnode/is-vtext")
var isWidget = require("../vnode/is-widget")
var isThunk = require("../vnode/is-thunk")
var handleThunk = require("../vnode/handle-thunk")
var diffProps = require("./diff-props")
@okmttdhr
okmttdhr / test.js
Last active February 22, 2016 04:29
function groupHistory(histories) {
const structuredHistories = {};
histories.forEach((h)=> {
if (structuredHistories[h.role_id]) {
structuredHistories[h.role_id].hosts.push(h);
}
structuredHistories[h.role_id] = {};
structuredHistories[h.role_id].hosts = [h];
});
@okmttdhr
okmttdhr / file0.txt
Last active January 7, 2016 07:18
fluct+API Gateway+Lambda+DynamoDBでJavaScriptのエラーログ収集 ref: http://qiita.com/okmttdhr/items/c9b7c2ca81a78fe8af50
{
stack: [
{functionName: 'fn', fileName: 'file.js', lineNumber: 32, columnNumber: 1},
{functionName: 'fn2', fileName: 'file.js', lineNumber: 543, columnNumber: 32},
{functionName: 'fn3', fileName: 'file.js', lineNumber: 8, columnNumber: 1}
]
}