Skip to content

Instantly share code, notes, and snippets.

Avatar
🥦
Create node.js app for developer

Yoshiyuki Hisamatsu hisasann

🥦
Create node.js app for developer
View GitHub Profile
@hisasann
hisasann / title-url-bookmarklet.js
Created Jul 5, 2020
サイトのタイトルと URL をコピペする用のブックマークレット
View title-url-bookmarklet.js
javascript:var ret=window.prompt('',document.title + ' - ' + location.href);
@hisasann
hisasann / GoogleFormからの内容をSlackに通知するGAS.js
Created May 25, 2020
GoogleFormからのSubmitをトリガーにしてSlackに通知するGoogleAppsScript
View GoogleFormからの内容をSlackに通知するGAS.js
// Google Form が Submit されたときに呼ばれる
function onFormSubmit(e) {
Logger.log('フォームが送信されたぞ');
const itemResponses = e.response.getItemResponses();
itemResponses.forEach(function (itemResponse, index) {
Logger.log('質問' + index + ': ' + itemResponse.getItem().getTitle());
Logger.log('回答' + index + ': ' + itemResponse.getResponse());
});
@hisasann
hisasann / usr-local-bin-webstorm
Created May 5, 2020
webstorm コマンドを使えるようにする shell
View usr-local-bin-webstorm
#!/usr/bin/env python
# Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
# -*- coding: utf-8 -*-
import os
import socket
import struct
import sys
import traceback
@hisasann
hisasann / new Promise は非同期ではない.js
Created Apr 24, 2020
メモ:async await に引っ張られて Promise は非同期ぽさがあるが、非同期ではない。
View new Promise は非同期ではない.js
console.log(1);
Promise.all([new Promise((resolve, reject) => {
console.log(3);
})]).then((values) => {
console.log(values);
});
console.log(2);
// 1
@hisasann
hisasann / jest-template-literal.js
Created Apr 13, 2020
describe.each でデータ行ごとに回す処理をテンプレートリテラルで書く方法
View jest-template-literal.js
// https://jestjs.io/docs/en/api#describeeachtablename-fn-timeout
describe.each`
a | b | expected
${1} | ${1} | ${2}
${1} | ${2} | ${3}
${2} | ${1} | ${3}
`('$a + $b', ({a, b, expected}) => {
test(`returns ${expected}`, () => {
expect(a + b).toBe(expected);
});
@hisasann
hisasann / contentful-sample.js
Created Feb 17, 2020
contentful で getEntry する簡単なサンプル
View contentful-sample.js
const contentful = require("contentful");
const client = contentful.createClient({
// This is the space ID. A space is like a project folder in Contentful terms
space: "ra794i9t0yln",
// This is the access token for this space. Normally you get both ID and the token in the Contentful web app
accessToken: "U1Wffn5NIhptGsWKyliQCILCWpoaCjJK6mwJwYO_58g"
});
// This API call will request an entry with the specified ID from the space defined at the top, using a space-specific access token.
client.getEntries()
.then((response) => console.log(response.items))
@hisasann
hisasann / promise-emitter.js
Last active Feb 15, 2020
eventemitter3 のイベントハンドラの return 値で Promise を返せるようにするラッパー
View promise-emitter.js
import EventEmitter from 'eventemitter3';
class PromiseEmitter extends EventEmitter {
emit(event, ...args) {
let promises = [];
this.listeners(event).forEach((listener) => {
promises.push(listener(...args));
});
View git のちょいとした使い方メモ.txt
originの状態を確認する
git remote show origin
pullやpushがどう紐付いているか確認できる
ローカルに作ったブランチをリモートに反映
git push origin feature/a
リモートから削除されたブランチをローカルにも反映
git fetch -p
これも同じみたい(プル?ン)
@hisasann
hisasann / array-of-destructuring-assignment.js
Created Nov 5, 2019
配列の分割代入とオブジェクトの分割代入
View array-of-destructuring-assignment.js
const array = ['foo'];
array.hoge = 'hoge';
// あくまでも配列の順番通りに変数が割り振られる
// foo という key を抜き取ってきているわけではない
const [ foo ] = array;
// hoge という key を取ってきている
const { hoge } = array;
console.log(foo); // foo
@hisasann
hisasann / .gvimrc
Created Jun 2, 2019
the setting font part of .gvimrc
View .gvimrc
if has('gui_macvim')
set transparency=10
set guifont=Ricty\ Regular\ for\ Powerline:h13
set guioptions-=T
endif