勉強会㉖
Hands-on and Lightning Talks
開催日時 2021年6月19日(土) 7:00-9:00
今週はBIツール、アプリ開発についての話、Promiseのライブコーディングを行いました。
本日の内容
発表者 | テーマ | 資料 | 時間 |
---|---|---|---|
Kobori | BIツールの話 | 40分 | |
Toku | Activity開発の進捗とPromiseライブコーディング | Activity | 60分 |
Nakagawa | 共同アプリ開発の話 | 20分 |
BIツールの話
BIツールとは??
企業の基幹システムで生成されたデータを、ユーザ自身が抽出・加工するためのアプリケーションソフトウェアである
なぜBIツール??
システムの内製化を進めるため、BIツールを導入したい。
システムを外注することによるコストが高いため、内製化を図ることでコスト削減をしたい。
どんなものを作る??
フロント + バックエンド → データを集計したものをグラフで可視化。
フロント側はC# デスクトップアプリケーション
ミドルウェアに関しては外部で読み込んだものを使用
ツール開発者ベースでのレポート作成ではなくユーザー主体で行いたい
個人アプリ開発Activityの進捗
ローカルで使用できる学習支援、デスクトップアプリケーション。
タイマーで設定した時間が終了した時にダイアログを出力する。
ログと簡易的なメモ。
ブックマーク機能をつけることで、参考サイトに素早くアクセス。
学習時間が可視化できるようActivityGraph搭載。
まだ未完成なため日々アップデータ中。
github.com
共同アプリ開発の進捗
ログイン機能
slack提携機能 トークンと連携させる
markdown.js マークダウン機能
highlight.js 言語ごとにハイライトをつける機能
Promiseライブコーディング
主に学んだのは5つの基本構文
* resolve reject then catch finally
* 関数の中で呼び出す
* ループの中で使う。
var sample = function (requestData) { return new Promise((resolve, reject) => { if (requestData[0] === 1) { resolve(requestData[0]); } else { reject(requestData[0]); } }); } var data = [1, 2, 3]; while (data.length > 0) { console.log(data); sample(data).then((success) => { console.log("resolve" + success); }).catch((error) => { console.log("reject" + error); }).finally((execute) => { console.log("finally"); }); data.shift(); }
ループの場合、Promiseの挙動に注意。
すべてのループ処理が終了した後にthen,catch,finallyの部分が走るため、Promise(){}の部分でデータを削除する(ループ終了処理)を書く。
そうしないとthen以下で記述しても処理が走らないため、無限ループに陥る。