1月1週

1月いっぱいで書籍管理アプリのモックを作成する

  • 業務ではNuxt + TypeScriptを扱っているが今回のアプリケーションはTypeScriptを導入するメリットよりも開発スピードを重視したいためjsファイルで開発することにする

    要件・機能

  • 書籍の貸し出し・返却・新規追加を管理する
  • 1ユーザが同時に貸りることができるのは3冊まで
  • 貸出し・返却・新規登録はリクエストベースで画面上で行う。
    • 各画面(ダイアログ)で必要事項を入力し申請(管理者に通知を送る)。
    • 管理者が承認したらステータスが貸し出し中または貸出し可能となる。
  • 返却までの期間はデフォルトで1ヶ月とし、申請時にコメントを残すことでコメントを元に管理者が決めることができる
    • 例)現場使用するため3ヶ月間貸りたい
  • 返却日数の3日前になると貸りた本人に通知が飛ぶ

土曜:2h

アーキテクチャの歴史と変遷

  • 端末性能の飛躍的進化に伴い画面表示に関わるロジックの大部分をアプリ側(つまりユーザの端末上)で実行できるようになった。そのことからサーバサイドアプリケーションの役割は、セキュリティの都合により隠蔽しなければならない業務ロジックの実行とデータの提供に移り変わっていった
  • 2014年頃からSPAと呼ばれる形態を取るWebアプリが誕生。SPAはモバイルアプリと同様にクライアント端末上でUIを描画するロジックが動作することが特徴。

なんとFirebaseはオフラインでもデータを返す

  • 正確にはキャッシュから返すわけだから当たり前だけど初期表示はオンラインじゃないとダメ?
  • qiita.com
  • cloud functionsでバックエンドいらないかも

Nuxt + TypescriptでのVeevalidateの使用

Nuxt.js + Typescript + Vuexする現時点のベストと思う方法 - Qiita

日曜:1h

  • 帰省に伴い時間が確保できず、読書のメモを載せる

    超一流の雑談力 実践編

  • 人は話相手の印象を決める際、見た目が55%の割合で決められる(声33%,話の内容7%)
  • あいづちをうたせる(相手の目を見てうなづくタイミングをシンクロさせる)
  • ↑あいづちしてくれたことを褒める
    • 大勢の前で話すときは会場の両隣をうなずかせると場の状況を握ることができる
  • 話のオチは自虐(リアクションに困らないレベル) or 学んだことにする
  • 話の序盤で自己開示をして心をほぐす
    • 自己開示では、「自慢話はしない」「軽い失敗談を話す」が基本となる。失敗談でも、人間的に疑問を持たれたり、相手が引いてしまったりするようなものは避ける。あくまで、相手が自分にほどよい気安さをもてるように、会話のきっかけになる情報を与えられるように、ということが目的。
  • 相手の話中に私も~はあまり使わない。相手が気持ちよく話している流れを止めることになる。
  • 理解力のない人には例え話を交えて伝える
    • 例)豆腐
      • 料理によって工夫ができる
      • 良い意味でクセがない
      • 応用が効く
    • 筋トレ
      • 適度に負荷をかけその後、栄養を与えることで筋肉は成長する
    • おでんには日本酒、ハンバーガーにはコーラ(適材適所)
    • ↑逆に意外な組み合わせが合うことも(サプライズ)
  • 比較する対象は同じジャンルでなくても比較対象さえ合っていればヨシ
  • ことわざを使う
  • 出会い頭のひとことをかけるかけないで印象が全然違う
  • 人間の聞く集中力はもって2~3分
  • 会計時の会話を少しだけユーモアを交えて。例)毎日来たい(お財布と相談)
  • インプットしたことを人に話す機会を設ける(3回以上)
  • なぞかけの練習をする
  • TPOを見極め適切なワードをチョイスする
  • 人をタイプわけして話し方を変える
    • ボスタイプ
      • 結論を先に出して欲しいタイプ
      • yesかnoで答えて、補足情報を与える話し方がよい。
    • おっとりタイプ
      • 状況を整理するのに時間がかかる人が多いため焦らせない
      • 例を出して「こんな感じですか?」といった確認をしつつ解決へ進める
      • あまり強引に話を進めると本心でなくとも「そうですね」と言ってくるので注意
    • 理系タイプ
      • 根拠となるデータの出どころ・データの母数などを気にする人が多いため調査しておいた方がよい。
    • 盛り上げタイプ
    • おとなしいタイプ
      • おっとりタイプと比べて意見を言わない。意見を聞き出すことが大事。
  • 複数人で話す際は話題はキーマンに振り、目線は平等にする

月曜:9h

Spread operator(スプレッドオペレータ)

  • ES2015(ES6)からの新しい演算子
  • 反復可能なオブジェクト(要は配列とか)を、文脈に合わせて展開してくれるようなイメージ
var arr = [1, 2, 3];
 
console.log(arr); //[1, 2, 3]
console.log(...arr); //1 2 3

BEMの定義と参照

  • cssを見ているとアンダースコア2つで繋いだものやハイフン2つでつないだものなどがあるがBEMという規約で定義・参照されているらしい
  • block・element・modifierの単位で定義・参照する
  • article-list__article-titleの定義は以下のようになる
.article-list {
  width: 100%;

  &__article-title {
    font-size: 20px;
  }
}
  • 参考
  • qiita.com

    火曜:9h

  • オブジェクトにプロパティを追加するのは以下のとおりオブジェクト.プロパティ = 値でいけそう
var obj = {a:100, b:80};

obj.c = 92;

水曜:9h

木曜:10h

  • 業務の実装でハマりまくり。
  • Wijmoのグリッドの計算が複雑で自分の中で整理ができていない。。。
  • これからもおそらくツールを使った計算や複雑な処理の実装があるはず。。。応用力をもっとつけなければ。。。

金曜:10h

  • 引き続きグリッドの実装
  • ちょっと必死すぎてブログが書けない。。。
  • ハマったポイントをしっかり把握して書かないと。。。

週次報告

  • 目標勉強時間:70h
  • 勉強時間:50h
  • 目標との乖離:-241.75h
  • 何を得たか:nuxt.js + TypeScriptの基礎 + javascriptの基礎 + ディベロッパーツールの使い方
  • 何が必要か:nuxt.js + typescriptの基礎と応用
  • 来週の目標:nuxt.js + typescript + firebaseにて書籍管理アプリのモックを作成する