旅好きエンジニアのメモ

旅のこと映画、統計、会計、プログラミングなど、気の向くままに語ります

Nest.jsでREPLを使う方法

普段、Railsで開発することが多いので、Nest.jsでもREPLを使用できればいいなぁと思っていたので調べていたら公式ドキュメントにREPLの書き方が書いてありました

docs.nestjs.com

main.tsと同様のディレクトリに下記内容のrepl.tsを作成して配置するだけでした。

import { repl } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  await repl(AppModule);
}
bootstrap();

実行は下記だけで問題なさそうでした。

npm run start -- --entryFile repl

転職ドラフトを使ってみて転職活動を行った所感

こちらの記事は転職ドラフト体験談投稿キャンペーンに参加しています

https://job-draft.jp/articles/251

自分の転職歴について

転職活動は2回あります。

自分は現在20代後半で、現在は転職ドラフト経由でとある企業に入社して 3社目になりました。

1回目の転職は転職ドラフトは使用せずに、直接応募と転職エージェントを使用していました。 2回目の転職は転職ドラフトのみを使用しました。

転職ドラフトのここがよかったと思うところ

面接/面談

転職ドラフトはレジュメをしっかりかかないといけないです。 企業はそのレジュメを見てスカウトするかを決めるので、 面談では企業が経歴をしっかり見てくれているので、話がスムーズになり、やりやすいです。

企業を知る機会

転職ドラフトに登録されている企業はメガベンチャーから、規模の小さいスタートアップのような企業まで幅広くあります。 自分が知らないような企業からスカウトが来たりするので、いろんな企業を知ることができて楽しいです。 未知の企業からスカウトがくることで、自分が行いたいこととマッチするかもしれないですし、新しい可能性を得られるのではないかと思います。

希望年収を設定できる

希望年収を設定できるのはありがたいです。 転職で難しいことの一つに給与交渉があると思いますが、 転職ドラフトの場合、希望年収を設定して企業がそれを確認して、スカウトをしてくるので 給与交渉の煩わしさが存在しません。 また、希望年収を設定することである程度企業をスクリーニングできるのがありがたいです。

指名状況

転職ドラフトは2回参加して 1回目は10社 2回目は3社 からスカウトをいただきました

傾向というか、やはり初参加の人に指名が偏る気がしました。 まぁ、当然といえば当然ですが...

提示年収は、希望年収を記載していたこともあり、だいたい同等の提示をしてくれる企業が多かったです。

指名のコメントは企業によって様々でした。 その人のレジュメを見てくれているんだなぁという企業もあれば、テンプレのようなコメントを行う企業もありました。 やはり、その人のレジュメをしっかり見てくれている企業だと、現時点で興味がなくても、あってみようとかそういう気持ちになっったりしました。

ここが辛かった

指名を受けるためにはレジュメをしっかり書かないといけません。 普通の職務経歴書よりもかなりガッツリと書くので、労力が結構あります。 ただ、レジュメをしっかり書くことで、面接でしゃべることがまとまったり 自分のやってきた業務をしっかり見つめ直すことになるのでよかったです。

まとめ

転職ドラフトはレジュメさえ書けば、後は指名を待つだけなので時間のないエンジニアに向いているサービスだと思いました!

Nuxt.jsをfirebaseにデプロイする方法

Nuxt.jsでアプリを作成する

hogeがアプリケーション名です。

vue init nuxt-community/starter-template hoge

セットアップ

cd hoge
npm install

ローカルで確かめてみる

npm run dev

下記にアクセスして問題ないか確かめます。
localhost:3000

firebaseを導入

npm install -g firebase-tools
firebase init hosting
? What do you want to use as your public directory? (public) 

=> distと入力

? Configure as a single-page app (rewrite all urls to /index.html)? (y/N)

=> yと入力

firebaseにデプロイ

本番環境をローカルで確かめる

npm run build
npm run start

firebaseにデプロイする

npm run generate
firebase deploy

一応、ポートフォリオサイト作ってみました

githubにも上げているので参考にしてみてください。

ポートフォリオサイト

github

Nuxt.jsでsvgを使う方法

Nuxtのlintの設定でsvgファイルは閉じタグが強制になっているのでlintを少しカスタムしてあげる必要がありました。

.eslintrc.jsに下記を追加してあげれば大丈夫です。

  // add your custom rules here
  rules: {
    "vue/html-self-closing": ["error", {
      "svg": "any"
    }]
  }

anyはlintを強制しないという意味です

vueのプラグインの順番でハマった件

先日、vue-lazyloadを実装しようと組み込んだのですが、 Failed to resolve directive: lazyというエラーが出て機能しませんでした。

公式ページでプラグインを使用する場合は順番守ってね、ということでした。 https://jp.vuejs.org/v2/guide/plugins.html

Vue.use() グローバルメソッドを呼び出すことによってプラグインを使用します。これは new Vue() を呼び出してアプリを起動するよりも前に行われる必要があります:

// `MyPlugin.install(Vue)` を呼び出します
Vue.use(MyPlugin)

new Vue({
  // ... オプション
})

まぁ、そりゃそうですよね。

vscodeでgitlensが急に使えなくなったときの対応

他のプラグインでも同様の方法で解決できる可能性があります。

いったんvscode上でアンインストールをして、 下記の操作をして対象ファイルを削除するだけです。

環境はmacで行っています。(特に環境が問題になるような問題でもなさそう)

$ cd .vscode/extensions/
$ ls | grep gitlens
eamodio.gitlens-8.5.6
$ rm -R eamodio.gitlens-8.5.6