QiitaのOrganizationsのデータを集めるプロジェクト
-
Organizationsの全ユーザのフォロワー数を集計してランキングする。
Fetching Qiita organization members page: https://qiita.com/organizations/sigma/members Total members in sigma organization: 4 Users ranked by follower count: 1. User: hoge, Followers: 777 2. User: fuga, Followers: 666 3. User: hogehoge, Followers: 188 4. User: sigma_devsecops, Followers: 160
Deno: 2.2.5
- install VSCode, Docker
- install VSCode Extensions Dev ContainerS
- On the VSCode,
Ctrl shift p
and runDev Containers: Rebuild Containers
- create .env and add
QIITA_API_KEY
cat << EOF > org_ranker/.env
QIITA_API_KEY=hogehogefugafuga
EOF
- create .env and add
QIITA_API_KEY
cat << EOF > org_ranker/.env
QIITA_API_KEY=hogehogefugafuga
EOF
- build docker image
docker compose build
cd org_ranker
deno run --allow-net --allow-env --allow-read main.ts <organization_name>
docker compose run deno_app <organization_name>
公式ドキュメント通りにinstallすると~/.deno/配下にinstallされてしまう。 Dockerで使う場合などはユーザの$HOME配下にインストールされると不便なので,/usr/local/配下にinstallした
RUN curl -fsSL https://deno.land/install.sh | sudo DENO_INSTALL=/usr/local sh
deno init org_ranker
cd org_ranker
deno run main.ts
deno test
deno fmt
deno fmt --watch # ファイルが変更されると自動でフォーマットされる
deno check main.ts
On the first invocation of deno compile, Deno will download the relevant binary and cache it in $DENO_DIR. deno compile
deno compileはデフォルトで依存関係を自動的に解決するのでmain.tsを指定してcompileするだけで良い。
deno compile --allow-net --allow-env --allow-read --output main main.ts
npm run
で実行するやつみたいなものだと思っておけば良さそう
deno.jsonにtaskを定義できるみたい。
deno task dev