console.lealog();

@leader22のWeb系に関する勉強めもブログですのだ

JavaScript

テストでモックできなくて困るNode.jsのモジュールの書き方

こういう書き方にしてしまったせいで、テストの時にうまくモックできず困ったよというメモ。

Result outputs go wrong with using async tasks in `{before,after}xxx` #jest

beforeAll afterAll beforeEach afterEach jestではこの4つがあるけど、この中で非同期処理をすると、途端にテスト実行時のログの体裁がおかしくなるという話。あと、`--forceExit`というオプションを組み合わせるとまた違った体裁になってよーわからんとい…

getUserMedia()で指定できるMediaTrackConstraintsのよもやま

Media Capture and Streams この仕様書をだらーっと流し読みしたので、知らんかったことをメモ。 あとついでに気になった指定について調べたことも。

ChromeのMediaStreamTrackとvideo要素の組合せには罠がある話

WebRTC界隈で、 Chromeの`video.srcObject = stream`はバグってるから使っちゃダメ 代わりに`video.src = URL.createObjectURL(stream)`を使え という噂があって。とはいっても、 Safariでは`URL.createObjectURL(stream)`がエラーになる URL.createObjectUR…

Safari TPのWebRTCでaddTransceiver('audio').setDirection('recvonly')するとMediaStreamがautoplayされない問題

タイトルに収まらんwSafariのWebRTCは新しめの仕様なので、`createOffer()`にオプションを渡して`recvonly`にする方法が使えない。 pc.createOffer({ offerToReceiveAudio: true, offerToReceiveVideo: true, }) こういうやつ。なので、代わりに、 pc.addTr…

2017年版 getUserMedia()で画面のストリームを取得する

間違ってたら教えてください。

Flowでコンストラクタをエクスポートするモジュールの型を定義する

こういうやつ。 import EventEmitter from 'events'; const ee = new EventEmitter(); // <- コレ これはあくまで例で、Node標準の`events`のEventEmitterなら、Flowがビルトインで型情報を持ってるので困りません。 でも似たようなのを自分で書いたり、他の…

やっぱりサーバーサイドレンダリングなんかしなくていいやという気持ち

個人の意見 aka ポエムです。 界隈的には今さら感がすごいけど。そんな今さらポエった事情としては、 とある案件でSPAをReactで作りつつサーバーサイドレンダリング(以下SSR)をすることになるかも SPAじゃないページもまとめてReactでSSRすることになるか…

Macで作ったファイルをrsyncして、Linux上のNodeでファイルパスを扱うとき

に、考慮しておかないと確実にハマること・・。 濁点・半濁点 UTF-8-MAC NFC / NFD `rsync --iconv=UTF-8-MAC,UTF-8` `String.prototype.normalize()` このあたりがキーワードです。

Use before declarationとかいうEdgeのエラー

ReactなプロジェクトでEdgeでだけ動かないケースがあって調べてた。 Expression-body arrow function parameter destructuring "Use before declaration" error when parameter is only used in an inner function · Issue #2606 · Microsoft/ChakraCore · G…

JavaScriptでWebRTCやるための基礎知識

未来の自分のためのメモです。 仕事でやってないせいですぐ忘れるし、都度思い出すの大変なので・・。ただまぁだいたいの人はSkyWayとかEasyRTCとか何かしらのライブラリを使うはずで、そういう人たちにはあまり関係ない内容かも。 生のjsでWebRTCを書くとき…

Next Generation State Mangement by @mweststrate in #ReactEurope の日本語メモ

ReactEurope 2017のDay2より。動画とスライドのリンクはこちらから。 ReactEurope 2017 Day 2 AM - YouTube / slides MobXのサブプロジェクトみたいな存在である`mobx-state-tree`についてのトークです。

Node学園 24時限目 に行ってきたメモ #tng24

東京は東京でも有楽町だった回。 Node学園 24時限目 - connpass

mp3などの音源をxhrしてきて再生するには

過去に何回も書いてるはずやのに、どういうわけか毎度ハマる。 今度こそメモっておく。

JavaScriptからAmazon Cognitoを使うためのまとめ

最低限な要件だけ使ってみるにしても罠だらけだったのでメモ。 調べてもろくな情報出てこなかったので、業務レベルではまじで誰も使ってないんじゃねーのって気持ちがある。願わくばもう使いたくない( ˘ω˘)

MobX 3.0.0 の変更点について

MobX 3 released: Unpeeling the onion – Michel Weststrate – Medium 作者の @mweststrate 氏による記事も出てましたねー。`2.7.0`まで理想的な使い方をしてきたなら、特に大きな変更があるわけではないバージョンアップです。 ただにわかに人気が出つつあ…

GoogleChrome/sw-precache が便利そう

知ってた人には今さらーって感じかもやけど。正月休み最後の日ということで、何か新しい目のやつを学びたいなあと思い。 ServiceWorkerでできることやデザインについては追ってたつもりやったけど、実際にコード書いたことはないなということで。スーパーイ…

Webでのライブ動画再生の基礎知識について

知ってることを自分の中で整理するためのメモです。 知ってることしか知らないしそこまで使い込んでないので、間違ってる可能性は多いにありです。

0からはじめる MobX Part.4

さて、4回目です。 今回の目録はこちら。 computed autorun

Node学園 23時限目 に行ってきたメモ #tng23

渋谷かと思ってたら東京だった回!

Pug(元 Jade)で include と filter をあわせて使うには

Pugです。個人的には好きじゃないです。

0からはじめる MobX Part.3

GitHub - mobxjs/mobx: Simple, scalable state management. MobXの普及活動、Part.3です。でもそもそもそんなに書くことないのでそろそろ終わってしまいそう・・!

0からはじめる MobX Part.1

海外では去年くらいからRedux alternativeとして割と名前が上がってると思うのですが、国内はまだまだもっぱらReduxですねー。個人的には何でもいいんですけど、Reduxはもう色んな人がやってるし、自分は違う方面を掘ってみたいなーと思いつつ、 いつまでた…

WebAudio.tokyo #1 にいってきたメモ #webaudiotokyo

よもやWebAudioのワンマン勉強会が開催される日がくるとは! LTはそれぞれ10分なので、メモも短めです。

Object Rest/Spread Propertiesの気になる挙動

Object Rest/Spread Properties この記事を書いてる時点でStage 2。 // Rest properties let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; console.log(x); // 1 console.log(y); // 2 console.log(z); // { a: 3, b: 4 } // Spread properties let n = { …

WebRTC Meetup Tokyo #11 に行ってきたメモ #webrtcjp

まさかのNode学園と時間が被ってて、どっち行くかなーって迷ってたんやけど、まあ先に申し込みしてた方にってことで。 あっちは後で資料いっぱい見つかるやろうしw

Node学園 21時限目 -ES Modules Meetup- に行ってきたメモ #tng21

そしてLTで発表もしてきました。 発表資料はコレです。 0からはじめるFlow この記事の末尾に、発表後の補足も少し加えてます。

0からはじめるFlow Part.2

前回のPart.1では導入編ということで環境を整えるところまで。 今回からは各ファイルに実際に型をつけていくところを。そしてその過程でハマったものについて・・・。

Payment Request APIとは?〜Frontend Meetup Tokyo Vol.3 に行ってきたメモ #frontendmt

大手町は微妙に遠いと思いつつ今のところ皆勤賞になってるこのシリーズ。 日本経済新聞社はフロントエンドエンジニアを募集しています!とのことです。

0からはじめるFlow Part.1

こないだReactで書きなおしたウデマエアーカイブに、Flowをいれてみようと思って、しばらく色々と試したことのメモ、もとい奮闘記です。 Flow | A static type checker for JavaScript