くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

TypeScript

TypeScriptのデコレータで関数の実行時間を計測する

作っているWebサービスの性能改善のため、 どれくらい時間がかかるかを計測したいと思ったときの備忘録。 この記事をみると、デコレータでできる感じだったのでためしてみた。 こんな感じで時間を測りたい関数に@measureLogをつけるだけでログに表示してくれ…

Vercel(ZEIT now)のServerless FunctionでTypeScriptの最小構成

前も書いたけど、ZEITからVercelになったらしく、 だいぶ楽にFaaSできるようになったので試してみた。すごく簡単だった。。(´ω`) このサンプルのソースはこちら。 使ってみる インストールとか # package.jsonの作成 $ npm init # 必要なパッケージをインス…

Nuxt/TS】vuex-module-decorators+nuxt-client-initで、nuxtClientInit内で@nuxt/axiosが取得できないときの対処法

TypeScriptでNuxtしたくて、vuex-module-decoratorsとnuxt-client-initを使ったら、 nuxtClientInit内で$axiosがnullだったときの備忘録。 Nuxt TypeScriptのストアのガイドを見ているけど、 プラグインのほうが後に呼ばれるので、自分で初期化しないといけ…

SVGでOGP用のPNG画像を生成してみる(折り返し文字、画像埋め込み、PNG化)

SVGでOGP画像を作りたいなと思い、いろいろ調べたときの備忘録。 SVGはまるのも多いけど、いろいろできるので、 SVGからOGP画像をつくるのいいかもしれない。 とりあえず、SVGを書いてみる ちょろっとなるなら、HTMLでベタ書きしてみるのもいい。 動作確認と…

【小ネタ】ローカルにある画像ファイルをBase64エンコードするJavaScript

画像ファイルをData URL形式に変換したいなと思ったときの備忘録。 こんな感じ 読み込み時にbase64を指定できるらしい const fs = require("fs"); // 変換するファイルパス const filePath = "./photo.png"; // 対象のファイルをbase64形式で読み込み const …

Express+TypeScriptをはじめるときにやったこと

Expressでサーバ立てたいなと思ったので、 TypeScriptではじめるときにやったことの備忘録。 TypeScriptの設定 まずは、package.jsonから。 # package.jsonの生成 $ npm init # typescriptのインストール $ npm i -D typescript @types/node # バージョン確…

TypeScriptでFirebase Admin SDKで認証ファイルを使うときは、スネークケースをキャメルケースに変換する

前の記事でも書いているけど、Firebase Adminで色々するので、 そろそろTypeScript化したくなり。。 www.memory-lovers.blog いざやってみると、すんなりできなかったのでその時の備忘録。 こんな感じ jsonファイルはスネークケースだけど、 型(admin.Servic…

ts-nodeで--max_old_space_sizeを指定するときは、-r ts-node/registerをつかう

ts-node、typescriptのまま実行できて便利。 でも、max_old_space_sizeを指定したいと思ったらめんどうだった。。 こんな感じ $ node --max_old_space_size=1024 -r ts-node/register index.ts max_old_space_sizeはnodeでしか指定できないので、 node -r ts…

Firebase Dynamic Linksで短縮URL(TwitterのURLバン対策)

もぎゃさんのCrieit記事を見て、TwitterでシェアするとURLバンされるらしい。。 crieit.net URLを短縮すると回避できるらしく、Firebase Dynamic Linksを使ってURLを短縮してみたときの備忘録 Firebaseのダイナミックリンクとは 公式ドキュメントより Fireba…

JavaScriptのobjectのCloneとPropety Delete

JavaScript/TypeScriptでobject型の値をあれこれしたいなと思ったので、 そのときの備忘録。Stack Overflowすごい。。 clone 1. Spread Properties: Yes, Methods: No, Deep Copy: No var clone = { ...customer }; 2. Object.assign Properties: Yes, Metho…

Roppongi.vueにリモートで参加してみた!

ライブビューイングできる勉強会があるようなので、初勉強会だけど参加してみた(´ω`) いつもスライドだけ見てたけど、ライブ感すごい。。次は現地にいきたい。。 roppongi-vue.connpass.com www.youtube.com Roppongi.vueのふんいき はじまってます〜 #ropp…

ISBN13からISNB10/ASINを計算する (TypeScript ver.)

書籍検索をするとISBN13だけのものもあり、 ASINと同じISBN10を計算したいなと、 いろいろ調べたので、その時の備忘録。 はじめてみたけど、チェックディジットの簡単に計算できるのはびっくり! ISBN13 → ISBN10 左3桁と右1桁目を取る 「モジュラス11 ウェ…

ZEIT/NowでTypeScriptしてみる

前回の記事でJavaScriptでNowを利用できるようになったので、 TypeScript化できるようにしてみる。 それぞれ、GitHubで公開。 変更前(JS): zeit-now-minimum-example | GitHub 変更後(TS): zeit-now-minimum-example-ts | GitHub TypeScript化するためにやっ…

Nuxt.js2.5.xで追加している型定義

Nuxt.jsの2.5からTypeScriptサポートが強化された!! でもプラグインを使う場合は、型定義が足りない場合がある。。 足りない型定義を追加したときの備忘録。 拡張するのは、以下の3つ nuxt-i18n @nuxtjs/axios @nuxtjs/google-analytics 基本的には、 tsco…

NuxtをTypeScript化するときのやりかた

Vue.jsとNuxt.jsでいろいろ作っているけれど、TypeScriptが素敵すぎる。。 create-nuxt-appだとTypeScriptがないので、TypeScript化するときにやることを整理したときのメモ TypeScriptが使えるように設定する 0. ディレクトリ構成 ディレクトリ構成はこんな…