エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

Advent Calendar 2018 JavaScriptまとめ

JavaScript Advent Calendar 2018 - Qiita

JavaScript2 Advent Calendar 2018 - Qiita

感想・まとめ・メモ

12月1日

JavaScript

JavaScript Standard Styleのススメ - Qiita

JSって、そんなに厳格なルールなのか?

個人的には、文字列はダブルクォートじゃないと無理派。
もともとJava屋だったので、文字列は無意識にダブルクォートにしてしまう。

ESLintは、デファクトスタンダードなのかな?
現場でも使っていたけど、Prettierに移行した

JavaScript2

JavaScript で forEach を使うのは最終手段 - Qiita

俺も、foreachは、あんまり使わないな。
だいたいmapで済むことが多いし。
古い言語形態だと、for文が頻出するので、その考えから抜け出せないと、streamチックな考え方ができないのだろうって思う。
僕がそうでしたから。

forEach は戻り値を持たないので、意味のある処理を実現しようとすると副作用をもたせることが前提となり ↑の内容には、激しく同意。
別のところを変えたら、なぜかfor文でエラーが出たとか、ちょくちょくある。
改修コストがかさむ。
それが許可できるレベルなのか考えずに安易に使うのは、危険だと思うんだよね。
for文使う際は、よくよく考えるべきだ。

12月2日

JavaScript

ESLintとPrettierをどう扱うべきかの考察(2018年12月版) - Qiita

うちの現場は、prettier使ってるな。
問題ありそうな箇所は、レビューで落とす方針。

ESLintは、まだ使ったことないので、バグを生みやすいコードの癖を直しておきたい。

JavaScript2

switch文が実はもう少し使える子だった? - Qiita

う~ん。。。
Switch文を見ると発狂してしまうので、使う気には、やっぱりなれないかな。

12月3日

JavaScript

CoffeeScriptからJavaScriptに移行する - Qiita

CoffeeScriptを辞めた理由が気になる。

JavaScript2

JavaScriptの基礎知識【初心者向け】 - Qiita

変数宣言は、基本的にconstしか使ってない。
プログラミングしてると、大体はconstで事足りてしまう。

基礎知識いっぱい詰め込んであるな。。。
これ、教科書レベルや。。。
書くの大変だっただろうな。

12月4日

JavaScript

JavaScriptの概念たち (前編) - Qiita

そりゃ、使ってる言語がオワコンなんて言われたら悲しいよね。。。

かなり気合入ってる記事だな。
だいたい網羅されてるんじゃないかな?
教科書レベルでガッツリ書いてある。

JavaScript2

ファンタジー・ランドの保護地区をゆく Part 1 --- Functor · wshito's diary

Functorのメリットがよく分からなかった。
配列で良くない?って思ってしまう。

12月5日

JavaScript

簡単な Webpack plugin を作成して Webpack と仲良くなる (ビルド時情報を console.log に表示する)

webpackは現場で利用している。
プラグインは既存のもので十分なので、とくに自作はしてない。
簡単にできるようなら、冬休みの間に覚えてしまおうかな?

JavaScript2

👻globalThis👻と🌏global🌏と🌝this🌝 - Qiita

globalThisなんて初めて聞いた。
this以外にも、怪しげなのがあるんだな。。。

globalThisを使ったら、スパゲッティが出来上がりそうな気がするのだが、どうなるんですかね?
現状、Google Chromだけで使えるみたいだが、node.jsとかが追随しても、使いこなせる人が少ない気がするな。

12月6日

JavaScript

JavaScriptでスタイリッシュなCLIプロンプトを作成できるEnquirer - Crieit

Enquirerってライブラリ、かなりイケてるな。
状態操作系のコマンドは、これ使えるんじゃなかろうか?

JavaScript2

JestでプレーンJS/Vue.jsのTDDを行う - Qiita

今の現場の環境もJestだ。
前はKarma使ってたけど、新規プロジェクトやるときに、レポーティングツールが充実してたjestに乗り換えたんだっけな?

12月7日

JavaScript

WebpackによるDynamic Import(実践編) - Qiita

webpackにDynamic Importなんてものがあるのか。。。
動的にimport使いたいケースが思いつかないが、発生してしまったら相当やっかいなケースだと思う。
黒魔術っぽいイメージしか沸かない。。。
ブラック・マジシャン使いだった頃があるけど、IT分野で黒魔術は、マジ勘弁だわ。。。
なるべく発生しないように気をつけて設計せんといかんね。

JavaScript2

Javascriptの判定って、たまに厄介よね。

配列が空かどうかは、一瞬 if(!arr) とかでもできる気がしてしまうのが厄介。

やっぱり、numberじゃもたなくなってきているのか。。。
デカい数字を使ったりするのは、だいたいPythonに行ってしまっているような気がするな。

12月8日

JavaScript

技術ブログ: 30分でわかるJavaScriptプログラマのためのモナド入門

結局、モナドとは何?
30分で見るには、根気が必要ですな。。。

JavaScript2

Webpack は、他ブラウザ対応で現場で使った。
loaderは、たしか、何か使っていた気するが、何だったっけな?

loader作ろうと思ったことはなかったが、かなり厄介そうだな。。。
アロー関数使えないとか、知らなかったらハマっていただろう。

試しにloader一個作ってみようかな?

12月9日

JavaScript

Hexoテーマ作成のためのデータ構造概説 - Qiita

Hexoって何?って思ったら、markdown特化のブログみたいなもんか?
読みがよく分からん。
ヘクソ?
下品なんですが。。。屁とうんこを思い出しちゃいました。。。

どんなもんか、触ってみたい。

JavaScript2

JavaScript中級者向けHelloWorld - Qiita

いや、分からんがな。。。

どうやって作ったんだ?
ゴールから徐々に演算子を増やしていったのだろうか?

12月10日

JavaScript

演算子の実行順 - Qiita

読もうと思えば読めるけど、進んで読みたいとは思わないな。。。
演算子はいいんだけど、変数が何なのか分からないケースのほうが痛い。

JavaScript2

MSを偲び、ここにIE6対応SPAの作り方を記す - Qiita

うちの現場は、IE見捨ててるからな。
IE6は、鬼門だっていろんな人が言ってた。
俺が本格的にweb系をやり始めたのは、IE6から抜け出す過渡期だった気がする。

12月11日

JavaScript

JavaScript: f( array ) よりも f( [...array] ) がいいとき? - Qiita

そこまで深く考えたことはなかったな。
ここまでする必要があるのかは、若干疑問。

JavaScript2

PureScriptで関数型プログラミングに挑戦した - Qiita

AltJSって、結構乱立しているよね。。。
個人的には、TypeScriptがベストだと思っている。
どんなもんか調べてみたが、 {} がないのね。。。
Javaやってきた人間からすると、違和感を覚えてしまう。
Haskellにインスパイアされた言語っぽい。

12月12日

JavaScript

JavascriptでIoTをやる方法 - Qiita

IoTって言われると、ラズパイかArduinoしか思いつかなかったが、obinzなんてものもあるのか。
ネット越しの制御に特化しているのだろうか?

JavaScript2

Google ChartsをQuickにStartする - クモのようにコツコツと

Googleドキュメントって、マイクロソフトのofficeの正当進化だよね。
MSは、officeを進化しそこねた感がある。

全部を用意せず、データ処理をJSで、描画関連をGoogleスプレッドシートと棲み分けしている感じなのかな?

12月13日

JavaScript

WebUSBを使ってブラウザのJavaScriptからArduinoを制御してみよう! - Qiita

Arduinoは、web経由で操作するのは見かけるけど、USB経由か。。。
最近のweb系は、ハードウェア操作の機能が増えてきたな。。。
ハードウェア機器は、APIを提供することが重要性が増している。

JavaScript2

イマドキのnpmでは何を配布すべきか - Qiita

npmでの配布は、package.jsonがしっかりしていればOKくらいの認識。

12月14日

JavaScript

スプレッド演算子と分割代入 - Qiita

スプレッド演算子は、知らない人が見ると、全くわからないからな。。。
Javaから来たものだが、最初見たときは意味分からんかった。
今でも、「?」ってなる。

JavaScript2

JavaScriptでカレンダーを自作したら勉強になった - Qiita

12月15日

JavaScript

Gulpfileをナウく書きたい | Simple is Best

最近のgulpって、プレーンなJavaScriptっぽく書けるんだな。
ちょっと前のgulpを使っていたけど、なんか、むちゃくちゃネストが深くなりやすい印象がある。
あと、タスクが異常に増えるんだよね、gulp。
どうにかならんのかな?

JavaScript2

前世紀の圧縮ライブラリに畏怖した話 - Qiita

バイナリって、扱いが面倒なイメージ。
でも、高速化を考えたら、使わざるを得ない。
zlibは使ったことないから、試しに使ってみよう。

12月16日

JavaScript

「人間はJavaScriptにいずれ負ける」ことを実感するツールを作った - Qiita

玉の動きが最適化されてないのは、場所が分かってないからか。。。
勝負してる感はある。
ゲームのNPCって、スコアを叩き出して動かしているのだろうか?

JavaScript2

太古に3hで作ったシンプルゲームを眺めるの巻 - Qiita

やっぱり、JavaScriptにクラスの概念は必要なんだ。

12月17日

JavaScript

ES2019で追加される(かもな)最新機能ピックアップ - Qiita

BigIntとNumberの棲み分けはどうなるんだろう?

flatMap見てると、Javaのstreamを思い出す。
あれ、かなり苦戦して使った記憶がある。

JavaScript2

[JavaScript] パフォーマンス改善(その1) - Qiita

FireFoxchromeの速さは、流石だな。
Safariはどうなんだろうって思いました。

12月18日

JavaScript

関数型プログラミングの世界からやってきた Pipeline Operator - Qiita

関数言語のパラダイムは、やっぱり、まだ分からん。
来年は、関数言語の取得をしてみようかな?

JavaScript2

ユーザーが画面内のコンテンツを見たかどうかを判定する一歩上の仕組み、サービスでの活用事例 - Qiita

広告系のサービスを展開しているところは、入れたい機能だろうな。 Intersection Observer APIは、あとで試してみよう。

12月19日

JavaScript

AsyncIteratorとPromiseによるObservablePromise抽象 - falsandtruのメモ帳

ObservablePromiseって、聞いたことないな。
あとでちゃんと調べよう。

JavaScript2

ファンタジー・ランドの保護地区をゆく Part 2 --- Maybe モナド · wshito's diary

モナドの実装って、いろんなところで聞く。
あんまりモナドがよく分かってないのだが、ちゃんと調べないとイケないのかもな。

12月20日

JavaScript

JavaScriptの書き方をアップデート - Qiita

Spread syntax知ってるけど、毎回、調べることが多い。
最近、配列の要素を展開するだけなんだなって分かった。

JavaScript2

JavaScriptのプロパティ列挙の3原則 - Qiita

プロパティの列挙は、Object.keysを使う派。

12月21日

JavaScript

Babel 7 の主な変更点まとめ - Qiita

変化が早いな、JavaScript界隈は。
Babel6使い始めたと思ったら、もう7か。。。

webpack使ってると、必ずbabelもセットで使うことになるからな。
最近、ビルド周りや環境関連の作業が多くなってきた気がする。
yearly presetsを使っていたので、非推奨になったのは、驚きだった。

JavaScript2

document.hidden時のrequestAnimationFrameの挙動 - Qiita

requestAnimationFrameなんて使ったことなかった。
たぶん、ブラウザゲームは必要になるのかな?
ブラウザ毎に挙動が違うのは、もう、しょうがない。
次元が違うのだ。

12月22日

JavaScript

技術ブログ: JavaScriptプログラマのための2019年の機械学習と関数型プログラミング

python使ったほうがいいよってこと?
たしかに、JavaScriptだとパフォーマンスが出ないとは思うが。

JavaScript2

Web MIDI APIとWeb Audio APIを使って缶たたき音源をつくりました | TripArts Music

今どきのブラウザは、すごい。
ハードウェア操作系のライブラリが、使用策定されて、どんどん追加されて言っている。
そのうち、見境がなくなるんじゃないかと思う。

12月23日

JavaScript

特定のユーザーのQiita新規投稿を定時でチャットに流す - Qiita

サービス連携って、ワードだけ聞くと簡単そうなんだけど、実際にやるとツラい。
規約・制約の網の目を縫っていく根気強さが必要なんだろうなと見てて思った。

JavaScript2

「型」がないからJavaScriptはイケてないとかって言ってるヤツが本当にイケてない件 - Qiita

静的型付けも、たまに不便なときはある。
型の定義をしなければいけないのは、不便。
でも、そのおかげで規律のあるプログラミングが自然とできるのではないかとも思う。
JavaScriptは、静的型付けがないので、規律は、プログラマー任せな感覚がある。
静的型付けがないために、融通が利くプログラミングができるのは事実だと思う。
ハック的な実装は、JavaScriptの方がやりやすい。
命名回避は、結構、難しいとろこがあると思う。
組織で共通認識があればいいけど、そういうのは難しい。
個人的な認識だが、JavaScriptは、少数精鋭のチームだと力を発揮するイメージ。

12月24日

JavaScript

円と円の当たり判定を使った簡単なシューティング - Qiita

結局のところ、プログラミングって数学分かれば何でもできますよね。
原理がわからなくても、最悪、数式さえわかればいい。

JavaScript2

JavaScriptで画面に触れずにページをスクロール! - Qiita

手でやったほうが早いんじゃ?って思うけど、こういった箇所に情熱を注ぐのは、嫌いではない。

12月25日

JavaScript

Yearly Node.js 2018 - from scratch

llhttpってのに興味が湧いた。
話には、ついていくのがやっとくらいのレベル感に自分はいるんだなって思った。

JavaScript2

Slime と Swank-js でサクサク JavaScript 開発 · wshito's diary

Emacs使いではないのです。
eclipse che みたいなもんだろうか?
最近、オンラインで開発するような環境が整いつつあると感じている。

タスク

  • webpackのloaderを作る
  • webpackのプラグインを作る
  • ESLint使ってみる
  • zlibを使ってみる
  • Hexo使ってみる
  • ObservablePromiseを調べる
  • 関数言語を覚えてみる
  • Intersection Observer APIを試す
  • モナドを調べる