【読書メモ】職場が生きる 人が育つ「経験学習」入門
- 作者: 松尾睦
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2011/11/26
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 50回
- この商品を含むブログ (15件) を見る
タイトルからわかるようにどちらかというとチームの学習や成長のためにマネジメント視点で読んだ本ですが、個人の学習や成長のためにも役立つ内容だと思いました。人が経験から学び成長していくために、どう考えて、どういう行動に移していくべきか、ヒントを与えてくれる書籍です。
経験学習
アメリカの組織行動学者であるデビット・コルブが体系化した「経験学習モデル」が由来となっています。
図:コルブの経験学習モデル
コルブ氏によると人は4段階の経験を繰り返すことで学習していくとしています。本書ではこれらの4段階をわかりやすくするため次のように説明しています。
- 能動的実験
- 新しい状況に適用する
- 具体的経験
- 具体的経験をする
- 省察的観察
- 内省する
- 抽象的概念化
- 教訓を引き出す
経験から学ぶ力のモデル
著者は経験から学ぶ力のことを次のように表現しています。
適切な「思い」と「つながり」を大切にし、「挑戦し、振り返り、楽しみながら」仕事をするとき、経験から多くのことを学ぶことができる
ストレッチ
まずは能動的実験、具体的経験をするためにストレッチが重要です。つまり適度に挑戦できる課題に取り組むということです。そのための方略として次の3つをあげています。
- 挑戦するための土台を作る
- 周囲の信頼を得てストレッチ経験を呼び込む
- できることをテコにして挑戦を広げる
ストレッチの必要性の説明として「ノウイング(Knowing)」というキーワードが紹介されています。ノウイングとは「知識は他者の知識や書物から移転されるものではない」として、それらを道具として自身で新たに生み出す行為のことです。自分で考えて知を生み出すためにストレッチが重要なのです。
※「ノウイング(Knowing)」に関する参考
リフレクション
リフレクションとは内省のことです。方略は次の3つと述べています。
- 行為の中で内省する
- 他者からフィードバックを求める
- 批判にオープンになり未来につなげる
ここでは「内省的実践」というキーワードについて述べています。
仕事や問題の本質を考えながら、自分の行為を振り返り、自分の持論やノウハウを問い直すこと
これは反省的実践などとも呼ばれ、ドナルド・ショーン氏による組織学理論のひとつです。
エンジョイメント
最後に重要なのが「楽しむ」ということです。経験学習モデルをなぞるだけの修行のような作業だとつらいものになりがちなので次の3つの方略で楽しむことも重要であるとしています。
- 集中し、面白さの兆候を見逃さない
- 仕事の背景を考え、意味を見いだす
- 達観して、後から来る喜びを待つ
ここでは「内発的動機づけ」や「フロー理論」というキーワードが出てきます。これらは 過去の読書メモにもあるモチベーションに関するもの で、昨今様々なところで出てくる言葉なので割愛します。
思いとつながり
経験学習による成長をドライブさせる重要な要素として「思い」と「つながり」をあげています。「思い」は自分と他者の両方の思いがあり、それがストレッチ、リフレクション、エンジョイメントを高めるとしています。自分だけでなく他者も含めている理由としてプロフェッショナリズム研究について触れています。
プロフェッショナリズム
高度な知識やスキルを持つと同時に、社会や他者に奉仕する気持ちを持っていることが、プロフェッショナルの条件
最後に、「思い」を持続的に発展させる重要な要素として「つながり」をあげています。自分や他者への思いをつなぐものを「発達的ネットワーク」とし、勉強会などの職場外のつながりをつくることが重要であるとしています。
学ぶ力を育てるOJT
後半の2章で具体的な指導法や実践的なツールが紹介されています。上記の内容に興味を持って実践に繋げたいならば、ここはぜひ書籍を読むべきと思いますので割愛します。ダイヤモンド・オンラインで著者自身がいくつか紹介している記事があるので参考にすると良いでしょう。
【勉強会メモ】I/O Extended 2019 Osaka by GDG Kyoto
- 日時:2019/05/18(土) 13:30 〜 18:00
- 場所:近畿大学
毎年恒例のGoogle I/O開催後のコミュニティによる報告会です。
Google I/O自体と、各コミュニティ活動の紹介、会場の様子などの紹介もありましたがこのブログは技術メモをアウトプットすることが目的ですので割愛させてください。
ステッカーとスプーンを頂きました。
Assistantや検索関連のトピックについて
田中洋一郎さん
For Assistant Users...
Google Assistant
- 35 months
- 8⇒30 languages
- 14⇒80countries
- 今までは話しかけると音が全部サーバに送られていた
- 音声認識のデータが100GB必要だった
- ⇒0.5GBになった
- ⇒スマホ端末のアプリに入るようになった
- ユーザーが今まで行ったことを加味して応答
- アラームを止めるときに「OK Google」不要
カーナビ
Google Home Hub
- ⇒Nest Hubに名前変わった(理由は不明)
Duplex on the web
- Web操作をAssistantに言葉で指示して操作できる
- RPAっぽい動作を言葉で指示
- SEO⇒Duplexも考慮が必要
- Search ConsoleでDulplexが来ても良いかという設定ができるようになる
Nest Hub Max
- カメラつき
- カメラに対してジェスチャで操作
- 日本で発売
For action developers....
- Content Owner:Markup, Template, Mini-apps
- Android app dev:App Actions
- Hardware: Smart Home
- Innovator: Conversation Actions, Interactive Canvas
FAQ content
- Google検索結果のWebやHubの表示にHowToを埋める
動画の場合
- Google Spreadsheetに埋める
Mini-apps
- キーノートでは言われていないが個別のセッションで発表
- 検索結果にWebページを組み込める
- JSなどインタラクティブな動作も可能
- 検索結果の画面に翻訳結果が埋め込まれているがそれと同じようなことができる
- アーリーアダプタープログラム
App Actions
- Assisnantにジョギングするというとジョギング用のアプリが起動
- action.xmlに設定して呼び出されたときのアプリを指定
Smart Home
- 家電などの連携強化⇒デバイスの種類が増えた
https://developers.google.com/actions/smarthome/reference/rpc/?hl=ja
Interactive Canvas
- スマートホームの画面を使ったアプリが作れる
- まずはゲーム
- ゲーム以外はリジェクトされる
TPU Pods、AutoML、TensorFlowの新機能、機械学習における公平性について
ほとんど Cloud Nextで発表済み
Cloud TPU Pods
- TPU
- Google製のMLに特化したチップ
- v2とv3
- bfloat16という型を使う
- float32よりも表現できる幅が少ない
- 通常のfloat16だとオーバーフローになる
- 指数部をfloat32にそろえて端数部をへらす
- https://cloud.google.com/tpu/docs/bfloat16?hl=ja
- IOが発生しない
- 時間あたりのコストは高いが処理が早く完了するのでその分安くなる
TPU Pods
- Public Betaになった
- TPUクラスタ
- RestNet-50の訓練を7.9分で完了
- コストも38%安く済む
AutoML
- データを用意すれば誰でも簡単にMLを扱える
- NAS
- AutoML Tables
- テーブルの内容を使ってあるカラムの値を予測する
- 評価が見れる
- 予測実行時間もわかる
Cutting Edge of TensorFlow
MLの公平性
Google AI Principles
プロダクトデザインは全ての人のニーズに合わせて決められるわけではない
- データの公平性
- メトリクスをどう切るか
- モデルのつくり方
事例
- 多様性のあるデータを集める
- 苦手な部分のサンプルを集める
- データのグループ間でデータが違わないように誤差を設計
- 表示のデザインで解決させる(アミーゴとアミーガなど男女両方を提示する)
- Data Cards / Model Cards
- Fairness Indicator
- 精度と一緒に差別性が表示される
Android+ML
Android関係の発表
Android Platform
- Storage
- Security
- Dark theme
- Bubbles
- UI Tools
- Debug Tools
- Camera X
- Jetpack Compose
Google 開発者サービス
- In-app Update
- アプリ内で細かいアップデートのチェックをしなくても良い
- Internal App Sharing
- 社内向けアプリの配布
Women Technmakers in I/O 2019
Rie Kanetakaさん
Tech界の女性交流のための Women Techmakersプログラムの催しも行われた
Flutterについてちょっとしたこと
96と97で紹介
- Flutter 1.5
- モバイルからマルチプラットフォームのフレームワークへ
- Dart2.3
- UI-as-a-code
- コードとしてのUIを実現する言語へ
- Announcing Dart 2.3: Optimized for building user interfaces
- Flutter for Web
- dart:uiライブラリをDOMとCanvasをターゲットとするように再実装
- Flutter for web - Flutter
- Flutter Dark Theme対応
Developer Quest
Dart:Non Nullable Type
- int? にするとNon Nullable Typeになる
Android Q対応
furusinさん
www.slideshare.net
- Gesturel Navigation
- Dark Theme
- SYSTEM_ALERT_WINDOW deprecated
- android.perference deprecated
- など
Gesturel Navigationについて
画面遷移などのジェスチャー Navigation Bar
なぜ生まれたか?
Navigation Barはめーかーによってデザインが異なるためアプリ開発は難しくなってきている そのためベースを統一したかった
Gestureは2種類
- 画面左右からスワイプで戻る
- 画面下部からスワイプでアプリ切り替え
- 必須
- 指を離したらonPause⇒onStopが呼ばれる
将来的には2種類のVav Mode
- 3-button
- Full Nav
UIをedge-to-edgeにする
- Status Barの後ろにも描画推奨
- Navigation Barの後ろも描画(強く推奨)
古いOSバージョンはNavigation Barを半透明に
- ScrollViewとかは一番したにNavigationBarの分の余白を追加
- 3Button Navigation barの場合はボタンの位置を上に
Gestureと競合するものをいい感じにする
- 画面の端にドラックできるもの
- View.setSystemGestureExclusionRectsを奪う
- OnLayoutまたはonDrawで呼ぶ
Dark Theme
- アプリをより暗い環境でも使いやすくするため
- バッテリーを守る
- 目の保養
2種類の対応方法
- Force Dark
- Dark Modeのときに自動的にダークモードを適用する
- Custom Dark
- ダークモードのときに何色にするかを指定
*-night
リソースを作ることができる
ほか
- 画像もダークテーマ対応が必要
- アプリではテーマを選べるようにすべき
補足
- アプリ起動時にDark ThemeのON/OFFを切り替えるとアプリが再起動される
ライフサイクルの考慮が必要
Gestural Navigation
- アプリは画面全体に表示
- 左右はあける
- DrawerLayoutはAndroidXでいい感じにしてくれる
- どうしても左右にものを起きたい場合はsetSystemGesture~を使う
- Dark Theme
- Force Darkで意外となんとかなる
- アプリでテーマを選べるようにすべき
- 画像もダークテーマ対応がいつよう
- 対応しないという選択肢は無い
【勉強会メモ】アジャイル時代のチームやリーダーシップ
- 日時:2019-05-17(金)19:30 - 21:30
- 場所:電通国際情報サービス関西支社
PCを持参するのを忘れたのでかなり雑なまとめです。すみません。 アジャイルとは離れたところからじっくりとあきらめずに体制や仕組みを変えていく試行錯誤は参考になる部分が多く、若手中心でチームを組んでスクラムを学ぶ取り組みなどは私も取り組んだことがあるのでとても共感できました。
アジャイル時代のチームやリーダーシップ
岡島 幸男さん
アジャイルの普及に伴うチーム・リーダー像の変化
新しい組織の形とアジャイル
特攻野郎
- 顧客満足思考
- 目的・課題・アクション
リーダーのメンタルモデル
現場リーダーの技術が使えたケース
アジャイルな組織変革の具体例
ヒーロー育てる育成の仕組み
入社3年目までが主役となる育成の仕組み
継続的なサポート
- 拠り所はスクラム
- 事業部運営チームの改善
異文化との融合
ウォーターフォールからアジャイル
チームのトランスフォーム
フラット化したチームを定着させる
ウォーター・スクラム・フォール
- Todo,Doing,Doneが上から下へ流れる
- 契約はWFで受託して徐々にスクラムを覚える
技術トランスファ
業務SEからWebエンジニアへ
実践フェーズ
技術トランスファのポイント
アジャイル時代のエンジニア
【勉強会メモ】GCPUG Kansai 〜 Cloud Next Extended ~
- 日時:2019/05/14(火) 19:00 〜 22:00
- 場所:グランフロント大阪 ナレッジキャピタル ナレッジサロン プレゼンテーションラウンジ
4月に開催された Google Cloud Next '19 San Francisco の振り返りイベントです。開催当日に大阪リージョンがローンチという記念日的なイベントでもありました。
cloudplatform-jp.googleblog.com
発表を聞きながら調べたネット上の参考情報のリンクも添えておきます。私が独自に調べたものなので発表者の意図に沿っていないものはあるかもしれませんがご了承ください。
Anthos, Cloud Run, & GKE Sandbox
Google Ian Lewis さん
Anthos(アンソス)
- アプリケーションをモダナイズ
- ポリシーオートメーション
- 一貫したエクスペリエンス
- オンプレでGKEを使う機能も含まれている
Istio
GKE On-Prem
- GKEの使い方をオンプレでも可能になる
Anthos Configuration Management
- Config Management
- Git push-to-deploy
Cloud Run
- サーバレスプラットフォーム
- コンテナイメージを使ってサーバレスを実現
Serverless containers, where you want them
- Cloud Run
- Cloud Run on GKE
Knativeベース
- HTTPのイベントに応じてスケール
- Knative自体はk8sベース
GKE Sandbox beta
- 信頼されていないコードを動かすランタイム環境
gVisor
機械学習関連
Google 佐藤 一憲 さん
AutoML Tables Beta
機械学習技術により自動化
AI Platform
- データサイエンティスト向け機能
AI Hub
- 公開されているNotebookのサンプルをボタン1つで自分のGCP内で開いて試せる
AI Platform Notebooks
- BigQueryやTensorflowなどを使って試せる
Kubeflow
- コンテナ型で機械学習が動く
- ローカルとAI PlatformとKubeflowとでコードが変わるのを統一化
BQML
- Tensorflowが使えるようになった
- BigQuery上で画像検索
- 画像の特徴が似ているものを見つける
Cloud TPU Pods
※おまけ:I/O 2019で発表
A cloud made for Osaka
Google Kirill Tropin さん
LT
Cloud Run -Quickstartの1歩先-
ちまめ@rito さん
Quickstart Cloud Run
要は以下の2コマンド
gcloud builds submit
gcloud beta run deploy
実際のアプリケーションはそうはいかない
- 特にデータを使うやつ⇒Cloud SQL
Cloud SQLへの接続
- Cloud SQL proxy使ってつなぐ
- 実行するDockerイメージにオプション付与
--add-cloudsql-instances
オプションにより実行するDockerコンテナにCloud SQL Proxyが自動的に設定される
アプリケーションからの接続
gcloud builds submit
でのもうひとつの課題
- Dockerイメージビルドが常にフルビルド
- キャッシュがきかない
Kaniko
使い方
- コマンド
- ビルド設定のyamlファイル
これだけで2分30秒⇒30秒になった
まだ完璧ではない
- Cloud Memory Sotre使えない
- VPC対応は時間がかかる
GCP大阪リージョンとレイテンシ
salamander さん
GCP ping で簡単にレイテンシ計測
なぜ?
まとめ
- 大阪リージョンができたからといって必ずしもレイテンシが小さくなるとは限らない
- 時間がたてば大阪にもエッジルーターができて改善されるかも
【勉強会メモ】関西Node学園 6時限目
- 日時:2019/05/09(木) 18:40 〜 21:00
- 場所:さくらインターネット株式会社 大阪本社
Node.js v12 Notable Changes
@shisama_ さん
遅れて参加したので残念ながら聞けませんでしたが発表資料にもあるブログ記事も含めて、いつもためになる情報を発信していただきとても助かっております。
半年がかりでNode.jsにコミットして得たもの
@koh110 さん
こちらも最後のほうしか聞けませんでした。Node本家へPRを出してマージしてもらうまでの話のようでした。
eslintでtypescript
@zilch8 さん
eslint
- JSのLinter
- 単体ではTypeScript非対応
tslint
- TSのlinter
- TS界ではeslintの代わりに使われてきた
ある日
The future of TypeScript on ESLint:https://t.co/PTCWKWN22s
— ESLint (@geteslint) January 18, 2019
というわけでやってみよう
tslintを使ったプロジェクトを作成して(あとから)eslintで動くようにしてみる
- tslint導入
- .tsファイルに怒られそうなコードを書いてみる
- 無事にエラーが出た
- eslintでも発生するようにしてみる
- eslint導入&実行
- eslintrcにparser追記
- eslintがTSを解釈できるようになってlintエラー発生
- 若干エラーの内容が違う
- tslintにあったルールが不足
- tslintのルール⇒eslintのルールへ
- ルールの置き換え
所感
- TSでeslintが動くようにするのは簡単
- ルールの置き換えが大変
- 既存PJで置き換えはつらそう
- eslintだとまだ処理が重い?
- 近い将来に期待
Node.jsサーバアプリケーションの稼働方法
@akkun_choi さん
基本
- httpモジュールを使えばたった数行でサーバが動く
nodeコマンド
- 基本的にシングルプロセス、シングルスレッド
- エラー等でプロセスが落ちると停止してしまう
- 更新する際にダウンタイムが発生
プロセスマネージャ
- expressjs.comより
http://expressjs.com/ja/advanced/pm.html
PM2
- Node.js製のプロセスマネージャ
- インストール、起動簡単
デプロイ
- 設定ファイルに記述してコマンド実行
- ゼロダウンタイムで更新可能
- capistranoとの相性が悪い
- サーバ起動時に自動的にプロセスを起動する
- 各OSに合わせた自動起動設定を生成するコマンドが用意されている
マルチプロセス
- CPUリソースを最大限使うため
- ワーカープロセスが1つ停止しても、他のプロセスで動作
- デメリット
- プロセス無いのデータやイメンドは共有されない
- Redis等で共有する
負荷分散を自分でやる⇒forkモード 負荷分散をpm2に任せたい⇒clusterモード
nodeの起動はpm2で事足りる マルチプロセスにする場合はモードの違いに注意
サーバアーキテクチャ
- シングルプロセス・シングルサーバ
- 最もシンプル
- 開発環境、プロトタイプ向け
- マルチプロセス・シングルサーバ
- 手軽にスケールアップしたい、可用性を上げたい
- forkモードならロードバランサ必要
- シングルプロセス・マルチサーバ
- サーバ側の構成
- シンプルでスケールアウト
- マルチプロセス・マルチサーバ
- マルチコアサーバで負荷分散したい
- forkモードで動かすと面倒
AWS ESC x Node.js
- DockerとNode.jsの相性が良い
- どちらも基本はシングルプロセス
- Node.jsコンテナだけでWebサーバコンテナが動く
- 複数サーバ構成が抱える課題
- デプロイ
- ログ収集
- スケールアウト
- サーバ構成管理
ローリング更新
- 新しいバージョンを起動
- 新しいバージョンの疎通が確認できれば旧バージョンを止める
ECSコンテナの自動復旧
まとめ
- pm2でサーバ運用の大部分は解決できる
- 用途にあった構築
tsxをJavaScriptで綺麗に構文強調したい+おまけ
@mochiya98 さん
Webで動くVSCodeのエディタ
ハイライトだけではなくマウスオーバーでの型表示などVSCodeのあれこれがWebで使える?⇒そうはいかない
- とても重い
- 3MB超
Monarch
- Monaco Editorの字句解析器
- これとハイライト機能だけほしい
standalone-monarch
- 必要なものだけ取り出した
VSCodeと違う⇒Tokenizerが違う
tmLanguage#とは
VSCodeのTokenizer
- JS版のOnigurumaは?
- WASMのOnigurumaがあるらしい
- Oniasm使用
shiki
- Oniasm/tmLanguageのライブラリ
おまけ:バンドルサイズを半減させた話
- Reactはデカイ
- Preactに移行
- 実際のところ少しだけ挙動が違う
- 一部ライブラリはそのままあじゃ動かない
- Preact特有のバグに対応しづらい
- 簡単なWebアプリなら良さそう
便利で危ない npm install
@dos_pg さん
npm install
- 1,000万以上のオープンソースからほしい機能のパッケージをプロジェクトに導入
- 依存関係を一括導入
- 一気に更新
インストールするパッケージどうやって選ぶか?
パッケージの危険性
- Node.jsはOSへの操作が可能
- 信用できるパッケージのみ使おう
昨年、想定していなかったインシデントが起きた
対策は難しい
npm audit
があるが全ては検知できない- ニュース等をチェック
※参考
ニュース