JavaScript
最近 React を書いていて、これまで主に書いていた Vue.js よりも難しいな~と思うことが多かった。 何が難しいと感じているのか、その一部を言語化してみた。 難しさを一言で ここに React の関数コンポーネントを用意。 const AppComponent = (props) => {…
せっかく作ったので供養。 書き方 前提 Vue.js 3.4 以上 コード <script setup lang="ts" generic="T"> import { ref } from 'vue' // 子コンポーネント読み込み import ChildComponent from 'ChildComponent' // options defineOptions({ inheritAttrs: false }) // ---------------------------…
実は date-fns で事足りるというケースが多いよ、という話。 date-fns-tz はどういうライブラリ? date-fns-tz の README より引用。 Working with UTC or ISO date strings is easy, and so is working with JS dates when all times are displayed in a us…
なぜやるのか SPA は、新しいコードがデプロイされた後もリロードしない限り古いコードで動き続ける。 例えば古い API を廃止したいのに、古いコードで使い続けているユーザーがいると困る。 新しいコードがあったら新しいコードを使うようにするための方法…
使いやすい(個人の感想)(人による) 考えたこと せっかく <dialog> があるので使いたい props に boolean を渡したらダイアログが開閉する もちろんモーダルで テキストだけ設定すれば使えるようにしたい フォームなどを表示できるように slot も渡せるようにした</dialog>…
いつもは Vue.js をやってるけど、たまには他のものも触ってみたい。 React も触ってるけど、もっといい感じのやつがほしい。 と思っていたところにいい感じのやつを発見(前から知ってたけど)。 SolidJS とは View ライブラリ。 React みたいに JSX を使う…
フロントエンドのコードをいじるときは、だいたいこういう流れでやるとよさそうというのを書いたものです。 あくまで「自分はこう思う」という一例です。 特にフロントエンド開発をするとき固有の事情について記載してあります。 フレームワークは Vue.js で…
基本的にほとんどコピペで動くようになっているはず Slack に Webhook 通知する const sendWebhook = (webhookUrl, payload) => { const options = { method: 'post', contentType: 'application/json', payload: JSON.stringify(payload), } UrlFetchApp.fe…
Temporal とは JavaScript で日付を扱うための新しい API。 github.com ポリフィルが 2 つあって、1 つはブラウザでポリフィルが試せる。 www.npmjs.com 現在のステータスは stage 3 なので、普通はいくつかのランタイムで実装されれば stage 4 になり、晴れ…
FILE_PATH="ファイルパス"; echo 'javascript:(async () => {' "$(deno bundle ${FILE_PATH} | egrep -v '^// ' | tr -d '\n' | gsed -r -e 's/ +/ /g')" '})()' | pbcopy TS をコンパイルするときは // @ts-nocheck をつけてあげれば型チェックを無効にでき…
こちらのツールを使用すると、Next.js で作ったアプリを Firebase に公開するのがめちゃめちゃ簡単にできました。 github.com Google 社員が管理しているものの、Firebase 公式ツールではないし現時点では experimental なので、理解した上で利用してくださ…
一言に「npm」って言っても実はいろんな意味があるのでまとめた そもそもなんの略? Node Package Manager Node.js のパッケージを管理するやつ パッケージ? 使い回せるようにしたコード 誰かが作って公開している関数とかクラスとかそういうやつ Node.js …
Vue.js 3.0 で最も大きい変更である Composition API を使えるので使ってみたので、その感想をまとめてみた。
前置き Vue.js + JavaScript 環境に TypeScript を導入しようとしたときの話です。 コンポーネントを TypeScript 化してコンパイルはでき、テスト(Jest)が通るか確かめたときの話です。 前置き やったこと バージョン エラー内容 なぜこのメッセージが表示…
タイトルのとおりで、TypeScript をある程度やっている人なら当然のことかと思いますが。 interface の拡張 TS の interface って拡張できるじゃないですか。 interface Foo { bar: string } interface Foo { baz: number } /* // 結果 Foo: { bar: string b…
はじめに 「JavaScript ではなく TypeScript で書け」と、去年くらいからかなり言われています。 私も JavaScript と TypeScript を使っているので、それにすごい共感します。 しかし、実際に型付けするときには結構困ることがあると思います。 そこで、つい…
タイトルどおりなのですが、TypeScript の社内勉強会を開催しました! 勉強会で使用した資料 https://gitpitch.com/tee-talog/try-typescript 今回は GitPitch を利用してスライドを作成しました。 簡単にスライドが作れるので、それほどデザインにこだわら…
お気持ち表明(いわゆるポエム)です。 前置き 現在関わっている JavaScript プロジェクトには Prettier が入っていません。 また、ESLint は入っていますが(Standard)、--fix をしていない状況です。 そして、Vue.js を利用してしますが、eslint-plugin-v…
TL;DR eslint-plugin-vue を導入してから Prettier を入れないと、変な風にフォーマットされることがあるよ。 TL;DR 背景 Prettier を導入したい! 導入方法 1. Prettier を実行してから ESLint を実行 2. ESLint と同時に Prettier を実行 地獄 どうしてこ…
現時点のソースはこちら github.com 進捗どうですか マップを表示して、カーソル移動をできるようにした。押しっぱなしも OK。 アローキーと WASD でカーソル移動。G で初期位置に戻る。 今後負荷がかかりそうなので、軽減のためにマップは表示されていると…
記事リンク まだないよ。 リポジトリ github.com 導入 皆様は「勇者のくせになまいきだ。(略して勇なま)」をご存じでしょうか? 一言で表すと、神ゲー です。 思い出補正がかかっている可能性は否めないですが、モンスターを増やして勇者を倒すという、簡…
UI フレームワーク等ではすでに対応しているかもしれませんが、自分でも作ってみました。 リポジトリ github.com src/App.vue : 親コンポーネント src/components/MyDialog.vue : ダイアログ本体 サンプル https://tee-talog.github.io/vue-dialog-focus/ 背…
YouTube でモデレーターや指定ユーザー名のチャットを強調する Chrome 拡張機能作りました
だめだったやり方 前準備 参考:Release v2.0.0 · nuxt/nuxt.js · GitHub まずは .nuxt node_modules yarn.lock package.lock.json を削除 node >= 10、npm >= 5 が推奨なので、それぞれアップデート。 nodist を利用しているので、 $ nodist 10.15.1 10.15.…
テストが起動しなくなった! Cypress のテストを実行しようとしたところ、下記の画面が出てテストが実行できなくなりました。 理由は明確で、Cypress で起動するブラウザの設定をリセットしたからです。 エラー画面 Whoops, we can't run your tests. This b…
Qiita に「APIのトークンをコードに書いている人へ」という記事が上がっていたので、実際APIキーとかをどういう風に読み込むのが良さげなのかなーと考えてみた。 言語依存のコマンドラインツール等を使用する JavaScript ならnode-env-fileとかdotenvとか? …
執筆時点で、Stage3 のものをピックアップします。 タイトルは「ES2019に入りそう」となっていますが、本当に入るかは保証しません。 策定中の機能はどんなんがあるのかなーというのをちらっと調べたメモ書きです。 リポジトリは以下です。 github.com Funct…
数年前から関数型プログラミングが流行り始めて、やってみよう! という人もいらっしゃるかと思います。なにを隠そう、私がその口です。 そして Lisp や Haskell なんかに手を出した時、「モナド」という言葉が出てくるかもしれません。 知らないことは調べ…
JavaScriptでは、prototypeに適当に代入してあげればメソッドやプロパティの追加ができますが、 型という楽園を手に入れた TypeScript では簡単にはできません。 でもどうにかこうにかやる方法があったので、ググって色々試した結果を載せておきます。 ちな…
最近(前から?)「テストが重要」とか「CI」とかよく聞くけど、導入するの大変そう…… と思っている、そこのあなた! いえ、たった「3分」で導入できちゃいます。 モダンな開発環境には欠かせない CI を、簡単にサクッと導入してみましょう! 3分でできる対…