コンパイラかく語りき

import { Fun } from 'programming'

今さら始めるJavaScript Promiseの基礎の基礎

最近ようやくPromiseを触り始めました。わりと雰囲気で使ってしまっているので、ここらで自分のために整理を…。 ただ、基本的な例がすでに複雑というか、初心者にとってはムズい気がするので、超噛み砕いてみました。 Promise - MDN 最小構成 Promiseオブジ…

最小構成で始めるRollup.js

最小構成で始めるRollup.js Rollup.jsについては、既に素晴らしい記事があります。 Rollupがちょうどいい感じ しかし、初心者がRollupを使い、なおかつJSのモジュールシステムに馴染みがないとすると、もっとシンプルな構成が望ましいかなと思い、この記事を…

React, Express, Webpack, Relay, GraphQLでつくるSPA

アプリケーションと呼ぶには程遠いですが、ひとまず最低限の形になったのでメモ。 From REST to GraphQLを読んだのが、直接のきっかけっちゃあきっかけ。 JSだけで、一通り作ってみようと。 注意書き 筆者は、ReactもRelayもGraphQLも初心者です。このポスト…

最小構成ではじめるElm Architecture

Elm

いわゆるリハビリ。自分用に書いたのですが、公開します。Elmのバージョンは0.17です。 なぜ書いたのか。 ググッて出てくるコードが複雑なものが多く、初心者にとって本当に必要なものを明示したかったから。 なので、0.17から盛り込まれたSubscribeについて…

CSSだけで画像を完全に黒(白)色にする

小ネタ。 pngのアイコンを、白と黒の2通りで出したかったので調べました。 黒くするには↓ .make-this-black { filter: brightness(0) invert(1); } 白くするには↓ .make-this-white { filter: brightness(1) invert(0); } を指定すればOK。 filterプロパテ…

nodemailerでconnect ECONNREFUSED 127.0.0.1 が出てしまう場合の対応(Gmail対応)

ローカル開発中にnodemailerのエラーに遭遇。 connect ECONNREFUSED 127.0.0.1 調べてみたら、設定が足りていなかった。 SMTP設定 SMTPのconfigを設定する。 gistbe104f76b8a98f462f30be21c99745f1 これでひとまず、自分から自分へのgmail送信はできた。自分…

node-cronはTimeZone指定ができるよ

node.jsアプリケーションでcronを実行する場合、node-cronを使うことが多いです。 github.com cronの実行時間を指定する際、TimeZoneを指定できると気づいたのでメモ。 Asia/Tokyoタイムゾーン Asia/Tokyoタイムゾーンの例は以下の通り。 gistfbbc9d099cbbc8…

【JavaScript】Array.prototype.sliceとArray.prototype.spliceの違い

Arrayの標準メソッドにはsliceとspliceがあります。紛らわしいですよね。しかも挙動まで似ています。 ちょっと自分の中で違いを忘れてきてしまっていたのでメモ。 Array.prototype.slice 配列の一部をコピーします。 gist1ab3b38c61b8413eae2b4981cfc614c7 d…

【JavaScript】配列の中からペアではない単一要素を見つけるにはXOR(排他演算子)が便利

プログラミングの問題を解いていて、ベストプラクティスを発見したのでメモ。 問題 奇数個の要素を持ったInt型の配列Aが与えられる。その中からペアにはならない単一の要素を見つける。 例 A[0] = 9, A[1] = 3, A[2] = 9, A[3] = 3, A[4] = 9, A[5] = 7, A[6…

Elmをインストーラ経由のものから、npm管理へと移行

Elm

半年ぶりくらいにElmを触りましたが、0.17から0.18へとアップグレードしました。0.17は公式のインストーラ経由でインストールしたのですが、これを機にnpm管理に移行しました。 インストーラ経由のElmを削除 Elmそのものを削除。 $ sudo rm /usr/local/bin/e…