Skip to content

Instantly share code, notes, and snippets.

@TomoyaShibata
TomoyaShibata / 紙袋の中に入っている紙袋を取り出すための再帰関数.js
Last active February 12, 2017 12:41
紙袋の中に入っている紙袋を取り出すための再帰関数
const get紙袋 = (紙袋) => 紙袋.hasInner紙袋 ? get紙袋(紙袋.inner紙袋) : 紙袋
// example1
get紙袋({
'紙袋名': 'ヨドバシの紙袋',
'hasInner紙袋': false
})
// result: Object {紙袋名: "ヨドバシの紙袋", hasInner紙袋: false}
// example2
@TomoyaShibata
TomoyaShibata / remove-header-dark-class.js
Created February 12, 2017 01:03
黒くなった GitHub/Gist のヘッダーを元に戻す JavaScript
document.querySelector('.header').classList.remove('header-dark');
@TomoyaShibata
TomoyaShibata / gist:94c3bc1540196b0b44624a32dcf0085c
Last active January 26, 2017 05:02
[WIP] JavaScript モジュール周り個人備忘録

これはなに

人類が HTML に script タグを何十行も書かなくて済むようになった道具周りの個人備忘録。
(絶賛雑にまとめ最中なので誤り等ありましたらどしどしご指摘ください)

CommonJS

アプリを開発するための API 仕様。
サーバサイド JavaScript で API を実装するにあたり、その標準的仕様を固めたもの。当初は ServerJS というサーバサイドだけを視野に入れた命名をしていたが、その他についてもこれで定めようということになり CommonJS に改名。

テキストエディタ

NoEditor、emEditor という変遷を辿り現在ではSublimeText 3 を好んで使っています。主な理由は以下です。

保存してなくても保存してくれてる

SublimeText のセッション保存機能です。通常、テキストエディタを閉じる前に開いていたファイルは保存操作をしないといけませんが、SublimeText ではその必要がありません。ブラウザのタブ保存機能のごとく、次回起動時には保存していなかったファイルも復元されます。 マシンをサッと再起動したりする場面でいちいち保存なんてしていられなかったり、保存するほどでもないが一時的に残しておきたいものを雑におけるのも楽です。

なにより、前回のテキストエディタの状態を再度再現する手間が完全に省けるのが魅力に感じています。

@TomoyaShibata
TomoyaShibata / DividerItemDecoration.kt
Created July 9, 2016 05:43
RecyclerView で区切り線引きたくなったら書くクラス
package Util
import android.R
import android.content.Context
import android.graphics.Canvas
import android.graphics.Rect
import android.graphics.drawable.Drawable
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.view.View
@TomoyaShibata
TomoyaShibata / 柴田的 JS スニペット集.js
Last active May 27, 2016 08:49
~ES2017 までの仕様で適当に。
/**
* オブジェクトプロパティが空文字かどうかを判定する(ネスト構造は未考慮)
*
* Object.values() は ES2017 Draft ECMA-262 May 13, 2016
* https://tc39.github.io/ecma262/#sec-object.values
*/
const isIncludesEmptyString = () => {
Object.values(state).includes('');
}
@TomoyaShibata
TomoyaShibata / handleChangeFormValue.js
Last active November 24, 2016 04:34
React with ES2015 以降なら form 部品での onChange ってこれでいいんじゃねえかなあ
handleChangeFormValue(event) {
this.setState({
[event.target.name]: event.target.value
});
}
@TomoyaShibata
TomoyaShibata / isOnRightEdge.js
Last active December 1, 2015 07:30
React with ES6。マウスオーバーイベントを拾い、マウスカーソルが要素の右端に当たったかどうかを判定する。
_isOnRightEdge({clientX}) {
// マウスカーソルが要素の右端~左3pxに存在するか判定する
const targetElWidth = this.refs.textareaCommentForm.offsetWidth;
if ((targetElWidth - clientX) < 3) {
return true;
}
return false;
}
@TomoyaShibata
TomoyaShibata / gist:9fa26d2e147f4212f9e9
Last active August 29, 2015 14:21
Backbone.js 1.2.0 変更履歴 スーパー粗訳

2015年5月13日、Backbone.js 1.2.0 がリリースされました。 👏
以下、Google 翻訳に頼りまくりなスーパー粗訳をしています。 恐縮ながら数々の誤訳だらけかと思いますので、お気付きの点などございましたら、ご指摘頂けますと幸いです。

翻訳変更履歴

2015/05/23

chorolis さんの指摘を反映
https://gist.github.com/tomoyashibata/9fa26d2e147f4212f9e9#comment-1458758

変更履歴 Backbone.js 1.2.0 2015年5月13日