2017-01-01から1年間の記事一覧

renderSomething() メソッドを潰す

年末だし大掃除しよう、 ということでClass Componentにある render* というメソッドを潰している。 stateless functionへの書き換え 具体的には、こんな感じになっているのを class Foo extends React.Component { renderSomething() { return <div>something</div> } …

作ればわかる、FM音源

この記事はSpeee Advent Calendar 2017 15日目の記事です。 前日は@cho3による「サンタクロースの正体を暴く」でした。 動機 昔からFM音源の音は好きだったが、どういう原理で音作りをしているのか詳しくは知らなかった。 FM音源がどんな音色を出すかについ…

Parcelで絶対パスを使う場合はbabel-plugin-module-resolverを使う

問題 Parcelのdocsには相対パスによるimportのサンプルしか載っていない import Box from ‘../../components/box’ とか書きたくない babel-plugin-module-resolverでrootを解決する 本家のIssueより、 babel-plugin-module-resolver を使う。 Alias definiti…

ちょっとしたappのビルドはParcelでいいかもしれない

Parcelというapplication bundlerが話題なので早速試してみた。 リリースから5日で7000以上のGitHub starを集めている。 Parcelとは Parcel fast, zero configurationを謳うapplication bundler。 要するにconfigの要らない、ビルドの速いwebpackのようなも…

Google Apps Scriptを正確なスケジュールで実行する

課題 GASで「毎日 HH:MM に実行」といった感じのタスクスケジューリングをしたい トリガー「時間主導型/日タイマー」だと「午前8時〜9時」のような、ざっくりとした指定しかできない 「時間主導型/特定の日時」は YYYY-MM-DD HH:MM で指定ができ、指定した時…

iPhone X ファーストインプレ

iPhone X、11/3(金)に入手することができた。 Apple表参道にピックアップに行ったが、3日の18時すぎだったので受け取りはスムーズに完了した。 忘れないうちにインプレを記しておく。 気づいた点 ホームボタンないのは1日で慣れる 3日経つと「最初からホーム…

teenage engineering OP-1

シーケンサを作っていた間は、影響をモロに受けてしまいそうなので我慢していたOP-1を、シーケンサの制作が一段落ついたこともあって買った。 触ってみるとシーケンサにあたるものはおまけ程度で、メインはシンセサイザー or ドラムキット(それに、FX/EQ)と…

Reactでパターンシーケンサを作った

以前、シンセサイザーを作ったが、 楽器が弾けないのでブラウザに自動演奏してもらうことにした。 Reaktion(DEMO) Flowtype シーケンスや音源のプリセットにflowtypeのアノテーションを使ったが、内部で生まれては消えるようなデータならわざわざclassを定義…

Kubernetesのsecretsをファイルから設定する

Google Container Engine から接続する | Cloud SQL for MySQL | Google Cloud Platform GKEからCloud SQL Proxyを使うにあたり、公式ドキュメントの方法で接続用のユーザアカウントをk8sのsecretsに登録していたのだが、件数が多い場合にコマンドで都度設定…

Container ComponentをTypeScriptで書く

react-reduxのContainer ComponentをTypeScriptで書き直した。 嫌いじゃないが、もう少しシンプルにならないものか。 途中でAtomからVS Codeに切り替えたが、 特にカスタマイズをしなくてもTypeScriptに対応していたり、 IntelliSenseがpropsやstateに対して…

はじめてのReact VR

Reactのコンポーネントの中にthree.jsのsceneを配置したら面白いんじゃないか… というようなことを考えていたらReact VRとやらが登場していたので少し触ってみた。 DEMO nishaya/my-first-react-vr componentの切り出しは、通常のReactと同様 export default…

React/ReduxのBoilerplateを作った

React/Reduxを使ってちょっとしたもの(楽器とか)を作ろうと思ったとき、 実験用のコードを書くよりも環境構築に時間がかかってあほらしいので、 自前でboilerplateを作った。 既存のboilerplateを使えばいいのだけれど、 余分なもの、自分が理解していないも…

PUSH TURN MOVE

電子楽器のUIデザインに関する本が出るらしい。 PUSH TURN MOVE 4/18(火) よりKickstarterで募集開始。 気になる内容は、 Jean-Michel Jarreによる序文 サウンド: ソフトウェア/ハードウェアにおける音の可視化 コントロール: ノブ、フェーダー、タッチスト…

シーケンサを作る準備

Reactでシンセサイザーを作ったので、 次はシーケンサを作りたいと思っている。 最低限押さえておきたいのはこのあたり ズレのないタイミング制御 AudioScheduledSourceNode.start(when) を使う テンポの変更を演奏にリアルタイム反映 明快なUI 一音一音打ち…