オフトゥン大好き。

惰眠系プログラマの作業ログで( ˘ω˘ ) スヤァ…

node.jsでKyokoさんに源氏物語を朗読してもらう

Macに住んでるKyokoさんとOtoyaくん(とその他海外の方々)。
雑なスクレイピングとsayコマンド呼び出しでKyokoさんに青空文庫源氏物語を朗読してもらった。

$ npm install cheerio-httpcli
$ node kiritsubo.js


node.jsでKyokoさんに源氏物語1章を朗読してもらう

ルビ注釈は全部replaceで消したので所々読みを間違えてるけど、そこはご愛嬌。
ちゃんと読ませるには辞書を作成しないといけないし面倒くさい。

REPLでハリボテAPIクライアント作った

jsonwebtokenとかpassport-jwtとか使ってJWTの発行API作ったので実際に取得するためのコンソールクライアントを書いた。
Postmanでやれって話だけど、他のAPIのテストとかも最終的には自動でしたいので。


REPLで作ったハリボテAPIクライアント

で、1点ハマったこと。

_ ←コイツ

underscoreの後継lodash。
コイツをコンソールでも普通に使いたくて、

global._ = Sequelize.Utils._;

ってやったら、最初の1行はちゃんと使えるけど2回目以降の文ではなぜかundefinedとか別の値になってる。
これはREPLの仕様で、_ はひとつ前の文の実行結果を入れるために予約された変数らしい。

どうしようもないのでlodashとか__ (アンスコ2つ)とかに入れておけば良さそう。

ディレクトリ内のモジュールをパスカルケースでエクスポートする。


ディレクトリ内のモジュールをパスカルケースでエクスポートする。

という要求があったので、書いた。
ファイル名は - (ハイフン)区切りを想定。アンダースコアの場合はsplitの引数を変えれば対応できるが、lowerCamelケースの場合は少々複雑になる。クラスを記述するファイル名はハイフン区切りかスネークケースかそのままエクスポートできるようにパスカルケースにするのが良さそう。

Sequelize-cliでモデルを作成する

sequelize-cliのインストール

$ npm i sequelize-cli -D

モデル定義

ソーシャル系のサービスで必要になりそうなモデル定義を作ってみた。


model create command for loq


インデックスなどは貼ってくれなさそうなので、いったんファイルを作ってから手動で貼る。

関連記事

ここで作ったUserモデルは前記事で認証に使ったやつ。

nukosuke.hatenablog.jp