半空洞男女関係

思ったこととかプログラミングしてるときのメモとか色々かいてます。メールはidそのままgmail

JavaScript

TaberarelooとScrapbox

ゼミで卒業旅行行こうって事になって、やり取りの諸々をSlackとScrapboxでやっている。FoursquareやYelpとかでここ見たいなーと思ったところをScrapしておけると便利だなーと思って、Scrapboxのブックマークレットを改造していた。 概ね出来たところで、これ…

react-routerのチュートリアルをやった

github.com 英語も簡単だし分かりやすくて良い。おすすめ。以下メモです。 React Router Tutorial 2: ルートを描画する RouterがRouteを管理する Routeにはコンポーネントと対応するpathを渡す RouterにはhashHistoryを渡してやる。historyは色々オブジェク…

パスワードつくるくんのサービス一覧をFirebaseに保存するようにした

mactkg.hateblo.jp の続き。 gyazo.com サービスの一覧をFirebaseから取ってくるようにした。追加も出来るようにした。 これでReactの stateを使っていることになる。FirebaseのDBオブジェクトから映えている on('value', ()=>{})はそのDBオブジェクトが更新…

ReactとかReduxを勉強しなおす

Wantedlyさんの勉強会にお邪魔してReactとReduxの話を聞いた。ちょっとReact熱がまた出てきたのでちゃんとチュートリアルやろうと思って読んだ。 wantedly.connpass.com Hello World - React をやっただけです。以下メモ。 React React基礎 JSXの記法 class …

electronでModule version mismatch.

electron使っていたら突然「Module version mismatch. Expected 50, got 48.」が出るようになってしまった…。— mactkg_bot (@mactkg) 2016年9月26日 解決策 github.com npm install --save-dev electron-rebuild # Every time you run "npm install", run th…

JavaScriptのプロジェクトを始めるときにやること

webpack postcss babel flowtype Iikanjino Directory Structure WebAppなら express / jade / socket.io 準備 小さなプロジェクトをサクッと作りたいような場合には面倒…。boilerprate使えって話かもしれないですけどね…。 俺の考えた最強のboilerprateを構…

気持ちいいけど遅い

members.filter(e => { return e.id !== targetId }).forEach(e => { e.yo(); }); こんな感じのコード書いてて、これって冷静に考えると2回回ってるなと思い、 members.forEach(e => { if(e.id !== targetId) { e.yo(); } }) こう書きなおした。前のほうが気…

clearIntervalで2回同じID呼んでも大丈夫なのか

ソースコード let count = 0; const id = setInterval(() => { console.log(count++); if(count > 5) { console.log("clear!(first)"); clearInterval(id) } }, 300) setTimeout(() => { clearInterval(id) console.log("clear!(second)"); }, 2500) setTime…

arrow functionでハマる

function O () { this.value = 200 // Type A this.f = () => { console.log(this.value) } } // Type B O.prototype.g = () => { console.log(this.value) } var obj = new O() obj.f() //=> 200 obj.g() //=> undefined 今までずっとTypeBのスタイルでクラ…

何回か試してタイムアウト的なコード

10回試して条件にあったらおしまいみたいなコードをjsで書くとしたらこんな感じでしょうか. setImmediate(function loop(times, limit) { console.log(times + "/" + limit) if(Math.random() > 0.7) { console.log("yay!") return } if(times < limit) { s…

webpack試した

最近gulpでごにょごにょするやつをようやく使い始めたんだけどwebpackも気になっていたのでためしてみることにした. 大体tj氏のfrontend-boilerplateっていうのを参考にしたんだけど,そのまま使うと意味がわからなくなりそうだし,自分はまだReactとか使わ…

ScratchXの開発を爆速で開始できるテンプレートを作りました

github.com とりあえず使う http://ngrok.com/ アクセスして諸々設定済ませて, $ git clone https://github.com/mactkg/scratchx-template.git your-ext $ cd your-ext $ npm install $ gulp これだけでとりあえず動くScratchXのextensionが作れます. src/…

Promiseの確認

gist.github.com もう少し調べると良いと思うけど、毎回毎回 return new Promise(function (resolve, reject) { .... }); と書くのは大変な気がするんだけどなにかいい方法はあるのかしら。スニペットかな

サブゼミ002メモ

絶賛課題ウィークですが元気に開催しました。ウェブコンテンツの課題がありましたのでそれをお題にサブゼミすすめました。正規表現だけでスクレイピングするのちょっと大変だったけどおもしろかった。 メンバーがきれいにPDFまとめてくれててよかった。都合…

ScratchXからiPhoneとかMacにPush通知を送るやつ作った

http://scratchx.org/?url=http://makerbox.net/scratchx-pushbullet/pushbullet.js ↑のリンクから試せます。 ScratchXっていうScratchのExtensionを導入しやすくしたみたいなバージョンが出てた。 本家MITによるScratchのIoTやWeb APIの実験的な拡張。Scrat…

p5.jsを使って自作のスクリーンセーバーを作る

夜中のテンションで作るの良くない。ずっと見てると目が痛くなる。 mactkg/p5.js-screen-saver mactkg/p5.js-screen-saver · GitHub 作った。p5.jsで書いたスクリプトがそのままスクリーンセーバーになるやつ。ソースコード、ほとんどnotona/ugoira-screen-s…

p5.jsで自分自身のdomを取ってくる

マウスのイベントとか、細かい制御とかしたくなるとどうしてもp5.jsだけでは済まなくなってjsを書きたくなる。そういう時に自分自身のDOMが簡単に取ってこれると便利。結構簡単に取ってこれる。 var sketch = function(s) { s.setup = function() { s.create…