エンターテイメント!!

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

JavaScript Advent Calendarまとめ

リンク

JavaScript Advent Calendar 2019 - Qiita

JavaScript 2 Advent Calendar 2019 - Qiita

まとメモ

12/01

2019年、2020年のJavaScript

2019年、2020年のJavaScript - 別にしんどくないブログ

es2019をざっくり見返すと、配列周りの機能が充実した印象がある。
Array#flatは、使うタイミングがたまにありそう。

es2020は、結構、盛りだくさんだな。
Promise.allSettledは、特に重要そう。JSやってPromiseを使わないってのは、ありえない。
サーバーサイドなら特に。
ネックだったリトライ処理が入れやすいって感じかな?

営業時間外を表示するjavascript

営業時間外を表示するjavascript - 自動計算サイト

一昔前のコードを見ているような気がする。。。。
ライブラリ化しないのかな?

12/02

JavaScriptリファクタリングツール「jscodeshift」の使い方

JavaScriptのリファクタリングツール「jscodeshift」の使い方 - Qiita

自作は、ちょっとハードルが高いな。。。
transform file を利用するのが主になりそう。
バージョン上げのときとかは、役立ちそう。

JavaScriptのみで構築するディープラーニング with Jupyter and TensorFlow.js

JavaScriptのみで構築するディープラーニング with Jupyter and TensorFlow.js - Qiita

TensorFlow.jsの環境構築で挫折。。。
jupyterの知識があること前提なのが辛い。。。。

12/03

jscodeshiftのテストを書く

jscodeshiftのテストを書く - Qiita

jscodeshiftの記事見たときは、どうやって変換の質を保つんだろうと思ったけど、ユニットテストを用意して、変換の可否をテストするんだね。
普通のソースコード書くのと変わらない。

JavaScript】 {} === {} はfalseになるので、簡単なnpmパッケージを作りました。

【JavaScript】 {} === {} はfalseになるので、簡単なnpmパッケージを作りました。 - Qiita

そうなんだ。。。
めったにこの比較はしないから、あまり気にしたことはなかった。
参照先が違うからfalseを返しているわけか。

12/04

2019年 よく使ったJavaScriptたちをまとめる

2019年 よく使ったJavaScriptたちをまとめる - Qiita

Array.prototype.map(), Array.prototype.filter()は、俺もよく使った。
Array系のメソッドは、よく使う。
JSは、Arrayをどうやってうまく使うかが重要だと思う。

あら、こんなところに副作用

あら、こんなところに副作用 - Qiita

あまり深く考えたことはなかった。
コーディングするときは、気をつけないとな。
そもそも、発生するタイミングは、少ないとは思うが。

12/05

JavaScriptのBigIntを勉強してみた

JavaScriptのBigIntを勉強してみた - Qiita

ブラウザサポートを見ると、まだ、使うには早いのかなと思う。
これよりもデカい値を扱いたいってなったら、どうなるんだろう?
ないとは思うが、科学用途でJavaScript使うような選択肢はあるのかな?

[jQuery + php] 簡易ソートアプリ作成してみた(デザイン込)

[jQuery + php] 簡易ソートアプリ作成してみた(デザイン込) - Qiita

phpは、学生時に使ってたくらい。
それ以降は、触ってない気がする。

jQueryは、いろんな依存を抱え込むから、使わないようにしているので、今後も、使わない気がするが、今は、どうなんだろう?

12/06

実務で使うかもしれない、最近JavaScriptで実装した5つの機能

実務で使うかもしれない、最近JavaScriptで実装した5つの機能 - Qiita

ほ~ん

経済学の問題をJavaScriptで解いてみる

経済学の問題をJavaScriptで解いてみる│FORCIA CUBE│フォルシア株式会社

囚人のジレンマって、経済学の問題だったのか?
それの方が驚きだった。

ナッシュ均衡アルゴリズムの理解が追いつかない。
あとで調べる。

12/07

TC39 Shorthand Property Assignment Improvementsの紹介

TC39 Shorthand Property Assignment Improvementsの紹介 - #pon_memo

TypeScriptでは使えたような気がする。
実際問題、本当に使いやすいのかは、よく分からない。

TensorFlow.js と obniz で作る、笑顔あふれる職場

TensorFlow.js と obniz で作る、笑顔あふれる職場 - Qiita

GPチップ載せたミニ四駆作れそうだな。

12/08

JavaScript演算子オーバーロードしてみる(BabelでAST)

JavaScriptで演算子オーバーロードしてみる(BabelでAST) - Qiita

黒魔術を見ている気がする。

MacBook Proの充電器の情報をメニューバーに表示するElectronアプリをつくった

MacBook Proの充電器の情報をメニューバーに表示するElectronアプリをつくった - Qiita

コマンドでなんとかするってのもできるんだな。。。
JSの知識だけじゃなく、コマンドの知識もあると便利そうだな。

12/09

視覚障がい者のためにJavaScriptで、スライドショーにalt要素を実装する

視覚障がい者のためにJavaScriptで、スライドショーにalt要素を実装する - Qiita

ほ~ん

12/10

VSCodeにコントリビュートする / VS Code Meetup #1

VSCodeにコントリビュートする / VS Code Meetup #1 - Qiita

vscodeのコードは、見たことあるのだが、取っ掛かりがなくて、全然わからないんだよね。。。

font-family: serifのみの指定で日本語明朝体が表示されるかチェックする

font-family: serifのみの指定で日本語明朝体が表示されるかチェックする - Qiita

バイトデータを比較してチェックしているわけね。

12/11

2019 Javascript engine 俯瞰

2019 Javascript engine 俯瞰 - abcdefGets

JSエンジンって、V8だけかと思ったが、他にもあるのね。
ネイティブの話になると、あんまり追いつけない。。。
話を聞く限り、quickjsは面白そう。

Chrome拡張+WebWorkerでTensorflow.jsを動かそう!

Chrome拡張+WebWorkerでTensorflow.jsを動かそう! - webとモバイルアプリの逆転

TensorFlow.jsがよく出てくるな。。。
マジでキャッチアップしないと問題な気がしてきた。

12/12

【初心者用】クイズJavaScript

【初心者用】クイズJavaScript - Qiita

第3問, 第5問がダメだった。。。
未だに、thisは、よく分からない。
アロー関数をなるべく使うようにしているので、アロー関数使ってないとどうなるのか、よく分からないんだよね。。。

12/13

Babelを使ってみようとしたらハマった話とドラッグで要素を動かしてみたい話

Babelを使ってみようとしたらハマった話とドラッグで要素を動かしてみたい話 - vaguely

babelは、裏で何してるのか分かりづらいから理解しづらいのだと思う。
babelは、動かすまでが面倒な印象。
仕事で使ったときも、運用させるまでが辛かった。

EasyAutocompleteを日本語対応っぽくする

EasyAutocompleteを日本語対応っぽくする - Qiita

jqueary使うから、コード量が少ないのかなと思ったが、かなり多かった。
やっぱり、全角入力は、半角入力に比べて難易度高い。
故に、漬け込む余地はあるのかなと思った。

12/14

リアクティブプログラミングを完全に理解するための第一歩として Pub/Sub を自作する

リアクティブプログラミングを完全に理解するための第一歩として Pub/Sub を自作する - Project Shoone

リアクティブプログラミングは、すでにキャッチアップ済み。
pub/subを理解できるかが肝だと思ってる。
覚えてしまえば、observerよりも簡素で分かりやすいって思ってる。

Google翻訳とGrammarlyを1つのアプリにして英作文セルフレビューを効率化する

Google翻訳とGrammarlyを1つのアプリにして英作文セルフレビューを効率化する - Qiita

複数のサイトを同時に表示したい場面は、たまにある。
firefoxなら、tile tabsがあったが、Quantumに切り替わってから使いづらくなったからな。。。
electronで自作するのは、手段として考えておいてもいいかもね。

12/15

JavaScriptで配列の要素の重複をチェックする

JavaScriptで配列の要素の重複をチェックする - Qiita

setを利用して、重複を見るわけね。
Javaやってるときは、こういう使い方の発想は、なかなか思いつかなかったけど、JavaScriptやるようになってから、こういうコードをよく見るようになった気がする。
速度的にはどうなるのだろうと、ふと疑問に思った。

京都の公共施設予約システム(ヤバい)の抽選予約を自動化してみる

京都の公共施設予約システム(ヤバい)の抽選予約を自動化してみる - Qiita

トップページみたら、たしかに、test1i だ。

buttomじゃなくて、imageか。。。
手軽にやるには、ソッチのほうが楽だったんだろうな。
たぶん、excelかpower pointerでペタペタ作って、それをwebページに変換したときのimageでも使っているのではなかろうか?

webデザイナーに発注するほどの予算がなかったのだろう。
産みの苦しみは分かっているつもりなので、批判はしないが、ドメインルートは変えたほうが良い気がする。

作業の効率化は、意外と難しい。
自分は、自社の勤怠が1日毎の入力しかできないのをfirefoxseleniumを使って、1ヶ月を一括で登録するなどのハックをやってたけど、seleniumの仕様が大幅に変わってしまってから絶望した。
使ってた期間は、3ヶ月程度ってのが、絶望を深くした。。。
このサイトが変わったら、同じ道をたどる人がいる気がするが、当分は大丈夫だろう。

12/16

3000人に聞いた、2019年最先端のフロントエンド開発者が使ってるツールはこれだ

3000人に聞いた、2019年最先端のフロントエンド開発者が使ってるツールはこれだ - Qiita

これに回答しているのは、デザイナーが大半ではなかろうか?

CSSツールは、全然知らない。
その世界から離れているから、分からないだけかもしれないな。

上級者って自称できる人っているんだな。。。
俺は、恥ずかしくて、ずっと初心者って答える。

JavaScript関連なら、分かる。

Task Runnersは、俺もnpm scriptsでなんとかしてる。
gulp使ってたときもあったけど、js使うのと変わりないから、「それなら素のままのnpm scriptsと変わらなくない?」ってなって使うのやめた。
準備面倒くさいし。

フレームワークと言われるほどのものは使ってないな。
強いてあげるなら、Node.jsかな?でも、Nodeは、JavaScriptの一部みたいになってるからな。。。
使ってない人も一定数いるな。

モジュラーは、俺もwebpackですわ。
使わないで済むなら使わないけど。

TypeScriptは、俺も使ってた。
JavaScriptを覚えてからは、使わなくなったけど、たまに型が欲しいときがある。
JavaからJavaScript覚えるのは難儀だったけど、TypeScript経由したらJavaScriptは難なく覚えられた。
JavaやってるけどJavaScript覚えられない人は、TypeScriptからやり始めた方がいいと思う。

Lintは、ESLintが一強だな。。。
Pretterは、流行ってないのかな?

調査対象がどんなグループにもよるかもしれないが、調査結果を見ると、自分の立ち位置とか、どうすべきか見れるから、面白いね。

12/17

LGTMすると現場猫が「ヨシ!」してくれるGitHub Actionsをつくった + Tips

LGTMすると現場猫が「ヨシ!」してくれるGitHub Actionsをつくった + Tips - Qiita

Github Actionsって、jenkinsみたいにやるのかと思ったが、jsでコーディングできるのか。

Maps JavaScript APIのDirections APIに関してエラーハンドリングしてみた

Maps JavaScript APIのDirections APIに関してエラーハンドリングしてみた - Qiita

Google Map APIの経路選択って、意外とコーディングする必要があるのかな?
結構なコード量になってたのが気になった。

12/18

JavaScriptで日本語DSLを作る

JavaScriptで日本語DSLを作る - Qiita

最終的に、プログラミング言語を作りたい野望はあるが、難しいよね。。。

めっちゃ汎用的なアコーディオンメニューを作ろう

めっちゃ汎用的なアコーディオンメニューを作ろう - Qiita

アコーディオンメニューは、そういう実装になるよね。

12/19

その月のx番目のy曜日の日付を求める式を1行で書く

その月のx番目のy曜日の日付を求める式を1行で書く - Qiita

俺なら3日で解読できなくなる自身がある。

ラーメンで理解するasync/await

ラーメンで理解するasync/await - Qiita

読んでる途中で、Promise.allの方が良いのでは?と思ったら、そう思った人が既にいたのね。。。

12/20

[考古学] coffeescript の元ネタと後世に与えたと思われる影響

[考古学] coffeescript の元ネタと後世に与えたと思われる影響 - Qiita

Arrow Functionは、Javaやってると、どの記法が正解だったか、たまに混乱する。
CoffeeScriptは、TypeScriptにとって変わられた気がする。
以前の記述を見てると、かなり進化してるなって感じる。

2010年代も終わるのでaxiosについて確認しておきたい

2010年代も終わるのでaxiosについて確認しておきたい - Qiita

axiosの読みって何だろう?
アキオス?アックスアイオーエス

自分は使ったことは、ないな。
superagent使うことが多い。

12/21

最新のWeb技術でIoTをする

最新のWeb技術でIoTをする - Qiita

ミニ四駆に載せたい。
obnizとESP32、どっちがいいのだろうか?
利用用途を考えると、obnizな気がする。

12/22

Vue-CLI 4を使用したJavaScript開発環境構築(プロトタイプ版とプロジェクト版)

Vue-CLI 4を使用したJavaScript開発環境構築(プロトタイプ版とプロジェクト版) - Qiita

Vue-CLIは、vue使おうと思ったら通る道だと思う。

Javascriptで帳票印刷したい

Javascriptで帳票印刷したい - Qiita

jsでpdfってなると、pdfkitになるよね。
俺も、pdfkit使って、画像をpdf化するとかする。

12/23

Babel Plugin を作りながら AST と Babel を学ぶ

[https://qiita.com/sakito/items/b1ef54fd6fb05c11e142:title]

babelは、IE対応なんかでよく使うが、裏で何をやっているのかは、よく分からなかった。
なんか、正規表現の置換でむちゃくちゃ頑張ってるような感覚でいた。
この記事を見て、裏で何をやっているのか、なんとなく分かった気がする。
構文解析をして、古い文法に置き換えられるのは、置き換えているわけか。
置き換えは、コードで定義しているから、複雑さへの対応も、ある程度可能になっているわけね。
正規表現では、限界があるからな。。。

12/24

[LSTM文章生成]ml5jsを使う

[LSTM文章生成]ml5jsを使う - Qiita

やっぱり、機械学習となるとPythonが主軸になってしまうよな。。。

SvelteでSwipe Card UIを作ったので、所感をまとめます

SvelteでSwipe Card UIを作ったので、所感をまとめます - Qiita

スワイプは、スマホだけで通じるものだと再認識した。

12/25

JavaScriptのクラスの扱いに気をつけましょう

JavaScriptのクラスの扱いに気をつけましょう - Qiita

JavaScriptのテストのデファクトスタンダードって何だろう?
jestしか使ったことがない。
テスト書かないとマズいってのは分かるんだけど、期間が短いと後回しにしまいがち。

感想

だいたいは分かるんだけど、アルゴリズム的に不明ってのは、なかなか理解ができないな。
ナッシュ均衡とか、さっぱり分からん。
個人的には、tensorflowとALTが、よく目についた印象がある。

あとで調べる