仕事ですぐに使えるTypeScriptを読んでいくその61

これは

TypeScriptの学習にとても役立ちそうなドキュメントを教えてもらったので
コツコツと読んでいく記事です。

参考

著作権者:フューチャー株式会社(Future Corporation)様

future-architect.github.io

CLIツール作成のための環境設定

CLIツールのソースコード

TypeScriptはShebang(シェバン)(#!)があると特別扱いしてくれるので必ず入れておくこと。

index.ts

#!/usr/bin/env node  //ここ

import * as clc from "cli-color";
import * as commandLineArgs from "command-line-args";
import * as commandLineUsage from "command-line-usage";

....省略

main();

この辺も読んでおくと良さそう。

qiita.com

今日はここまで。

仕事ですぐに使えるTypeScriptを読んでいくその60

これは

TypeScriptの学習にとても役立ちそうなドキュメントを教えてもらったので
コツコツと読んでいく記事です。

参考

著作権者:フューチャー株式会社(Future Corporation)様

future-architect.github.io

CLIツール作成のための環境設定

ビルド設定

TypeScriptのビルド設定のポイントはブラウザから使わないので、
ターゲットのバージョンを高くできる点にある。

まず事前Node.jsの型定義をインストールする。
コマンドラインでよく使うカラーコンソール出力、コマンドライン引数のパーサ、
ヘルプメッセージ表示といったライブラリを追加。

$ npm install --save cli-color command-line-args
   command-line-usage source-map-support
$ npm install --save-dev @types/node @types/cli-color
   @types/command-line-args @types/command-line-usage
   @types/source-map-support

ライブラリ環境構築では成果物用の設定を行ったが
Node.jsのみなのでd.tsを生成する必要がない。

{
  "compilerOptions": {
    "target": "es2018",        // お好みで変更
    "declaration": false,      // 生成したものを他から使うことはないのでfalseに
    "declarationMap": false,   // 同上
    "sourceMap": true,         //
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "module": "commonjs",      // Node.jsで使うため
    "outDir": "./dist"         // 出力先を設定
  },
  "include": ["src/**/*"]
}

package.json設定はほかのパッケージから利用されることもないので
ライブラリ作成の環境構築で行ったようなmain/modules/typesの設定は不要
bin項目でエントリーポイントのファイルを指定する。この指定したキー名称が実行ファイル名になる

{
  "bin": {
    "awesome-cmd": "dist/index.js"
  },
  "scripts": {
    "build": "tsc --project .",
    "lint": "eslint .",
    "fix": "eslint --fix ."
  }
}

今日はここまで。

仕事ですぐに使えるTypeScriptを読んでいくその59

これは

TypeScriptの学習にとても役立ちそうなドキュメントを教えてもらったので
コツコツと読んでいく記事です。

参考

著作権者:フューチャー株式会社(Future Corporation)様

future-architect.github.io

CLIツール作成のための環境設定

昨日まではライブラリ作成に向けた環境構築をしてきましたが
今日はCLIツール作成についてです。

作業フォルダを作る

TypeScriptをつかってNode.jsのためのCLIツール作成環境を構築していく。
CLIツールはNode.jsのみを対象とするため、ライブラリ環境構築のように二つ用意しなくてよい。
出力先もCommonJSだけあればよいので指定する先も少なくて楽。

$ mkdir dist

npmパッケージにする方法まではこちらを参考にしたい。
記事に書かれている内容は明日以降書いてあるようなので少しずつ理解していきたいと思います。

qiita.com

少ないですが、今日はここまで。

仕事ですぐに使えるTypeScriptを読んでいくその58

これは

TypeScriptの学習にとても役立ちそうなドキュメントを教えてもらったので
コツコツと読んでいく記事です。

参考

著作権者:フューチャー株式会社(Future Corporation)様

future-architect.github.io

ライブラリ開発のための環境設定

ライブラリコード

import...from "ライブラリ名"のようにアプリケーションや他のライブラリから使われる場合、
最初に読み込まれるエントリーポイントはpackage.jsonで指定。

{
  "main": "dist-cjs/index.js",  // ここ
  "module": "dist-esm/index.js", // ここ
  "types": "dist-cjs/index.d.ts",  // ここ
  "scripts": {
   省略
  }
}

index.tsというファイル名でファイルを作成
index.ts

export function hello() {
    console.log("Hello from TypeScript Library");
}

ここでexportしたものがライブラリユーザが触れられるものになる。

今日はここまで。

Azure Kinect DK Meetup Vol.00に参加してきた

これは

Azure Kinect DK Meetup Vol.00に参加してきた感想と自分の思い出し記事です。
色々考えてたら遅くなってしまった。(反省

イベントページ

会の詳細はこちら tmcn.connpass.com

当日のyoutube配信はこちら

www.youtube.com

TMCNとは

こちらがわかりやすいそうです fabcross.jp

個人的には今回の発表のなかにあったこちらの方が好きですしわかりやすかったです。

www.slideshare.net

感想や会の内容など

まだ日本未上陸かつUSではout of stock(開催中にそうなったっぽい)な状態にもかかわらずすごい熱気。
会としてはAzureKinectが日本ではまだ発売していないこともあり、主催であるTMCNのこれまでだったり、
Kinectなどのセンサーデバイスを使ってこれまで何をしてきたかといった内容が多かった。
Kinectの盛り上がりから終売の流れをいろんなことやってきた発表を見るのはとても面白かった。
いろんな限界を攻めてる人がいて、面白さみたいなものの視点が増えた気がする。

AzureKinect関連のお話

speakerdeck.com

speakerdeck.com

www.slideshare.net

仕事ですぐに使えるTypeScriptを読んでいくその57

これは

TypeScriptの学習にとても役立ちそうなドキュメントを教えてもらったので
コツコツと読んでいく記事です。

参考

著作権者:フューチャー株式会社(Future Corporation)様

future-architect.github.io

ライブラリ開発のための環境設定

ビルド設定

Node.js環境に依存したものの場合Node.jsの型定義ファイルをインストールしておく。
$ npm install -- save-dev @types/node
jsonファイルに設定を盛り込んでいく。
対象はtsconfig.jsonとpackage.json

tsconfig.json
大事となっている部分は.d.tsファイル生成と、出力形式のES5のところと、入力ファイルについて
今回の要件の使う側が簡単なようになるよう考慮したものになっている部分。
案件に合わせて調整をしていくことで便利になっていく。

{
  "compilerOptions": {
    "target": "es5",           // 大事
    "declaration": true,       // 大事
    "declarationMap": true,
    "sourceMap": true,         // 大事
    "lib": ["dom", "ES2018"],
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "esModuleInterop": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true
  },
  "include": ["src/**/*"]      // 大事
}

package.json
以下のような点に考慮して設定を変更する。  ・つくったライブラリを読み込むときのエントリーポイントをmainで設定
 ・scriptsにbuildでコンパイルする設定を追加

{
  "main": "dist-cjs/index.js",
  "module": "dist-esm/index.js",
  "types": "dist-cjs/index.d.ts",
  "scripts": {
    "build": "npm-run-all -s build:cjs buid:esm",
    "build:cjs": "tsc --project . --module commonjs --outDir ./dist-cjs",
    "build:esm": "tsc --project . --module es2015 --outDir ./dist-esm"
  }
}

今日はここまで。

第3回 VRM勉強会に参加してきた

これは

第3回 VRM勉強会に参加してきた自分のメモです。
あとで振り返るときに便利なように箇条書きでザクっと書いてます。
発表資料は見つけたら追加していきます。

イベントページ

vrm.connpass.com

ツイッターハッシュタグ#VRM勉強会

発表

VRMをマッハでフィギュア化するボクセル化データ変換技術のご紹介

 ・1人1アバター時代はすぐ来る
 ・バーチャルな存在は儚い
 ・お着替えで姿が変わる
 ・なのでリアルアバターとして存在を残す

美大生の美大生による美大生の為のVRゲーム(仮)

 ・女子美のunity部を作って影ながら活動中。
 ・VRoidはとても使いやすくいて良い  ・顔が可愛くなるように作った
 ・制作1週間ポリゴン33968
 ・制作したゲームのお話

気軽にVRMアプリを出してみよう

 ・VRMはいいぞ
 ・VRMと何すりゃいいんじゃ?
 ・悩んだらVRM × 何かで考えると良い
   →VRMスタンプ
   →VRM雑誌 などなど
 ・VRMの情報はやはりUniVRMが多い。
 ・VRMはまだ1.0にもなってない。それまでにアプリを作ってリリースしようぜ

VRM一覧表示を爆速にする

 ・VRM系の電子書籍もあるので見てね
 ・VRMのアプリなども作成
 ・バイナリヨム。
 ・ツールを使おう
 ・VRMを読む
 ・さいしょはgltfのバージョンで次はjson
 ・jsonの後はバイナリが詰まってる。
 ・バイナリを使うと高速10倍。読めるとあれこれできる
 ・バイナリ読めると強い

アバター論から考えるVRMライセンスの可能性と問題点

 ・学術的なアプローチを1ユーザーとしてアバターと体を考える
 ・アバターが何かとはっきり提示されてない
 ・少しでも使われるのが嫌ならあげるなって話もできるが…
 ・VRoid製モデルが某所で広告キャラとして無断使用される
 ・当時のライセンスはアバターとしての利用はNG法人利用可能。クレジット表記必須
 ・公式が提示しているように電子署名をつけるのが一番
 ・少しでも使われるのが嫌ならあげるな。でもライセンス別の使用許諾をもう少し増やした方が良いのでは?
 ・使用例を解説する番組やサイトがあってもいいのでは。

個人VRゲーム開発でのVRM思想フル活用のすすめ

 ・直感アルゴリズム
 ・VRM思想フル活用
 ・アクション主体のゲームを作りたい時に読み込んだ部分を作ればいいようになっている便利
 ・キャラクターのデザインを考えなくていいメリット
 ・キャラから派生する世界かんもかんがえなくていい
 ・同じゲームでも飽きられにくい
 ・ゲーム内でキャラメイクを作らなくていい
 ・汎用ローダー。しかもランタイム読み込みも可能なローダーがある。
 ・必要なものを全方位で作らないといけない個人開発者にとってキャラ周りを外に出せるのは非常にでかい

自宅で簡易的にリアルアバターを作る方法(仮)

 ・facebookもリアルアバターを推していく流れがある。
 ・リアルアバターの普及もしていくだろう
 ・こちらを見て欲しい。
  


 ・記事にまとめられていたのでリンク。
  qiita.com

そのほか

今回は翌日の朝早くに予定があるので早々に帰宅。 とても面白かったので次の機械には懇親会や展示もしっかり楽しみたい。

ここまで。