taisablog

taisa's engineer blog

デベロッパー月次LT.019

投稿日:

-

執筆者:

関連記事

Nuxt.js v2.9のリリース情報とDiff

2019年8月20日にNuxt.jsのバージョンが2.8.1から2.9へがリリースされました。2019年9月19日時点ではバージョン2.9.2まであがっています。本投稿ではリリース内容と変更点が見れるように2.8.1から2.9.1のソースのDiffと変更されたファイル一覧を載せておきます。変更ファイル数は、examplesやtestを除くと約142ファイルでした。またバージョンが上がっただけ、関数にスペースが追加されただけのファイルも多く、それを除くともっと少なくなります。本リリースでの大きな変更はImportant Notesの中でもTypescript関連の変更が個人的には大きいと思います。Nuxt Typescriptの導入やMigrationはリリースノートにあるページの Setup、Migration from Nuxt 2.8 を見れば簡単に行えます。(本記事の一番下でも試しにやってみました。) リリースノート nuxtjs.orgDue to a known problem (webpack/webpack#8656, #4869, #4839) users of npm should either remove package-lock.json and reinstall before upgrade or use npm update acorn –depth 20 && npm dedupe after upgrading to 2.4.0. users should have no problems but removing yarn.lock still recommended before the upgrade process. Diff v2.8.1からv2.9.2のDiffをつくってみました。 v2.9.2 diff by taisa831 · Pull Request #1 · taisa831/nuxt.jsTypes of changes Bug fix (a non-breaking change which fixes an issue) New feature (a non-breaking change which adds functionality) Breaking change (fix or feature that would cause existing functionality to change) Description …

コーチング入門 オススメコーチング書籍3冊!!

これまで特別意識してこなかったコーチングについて意識する機会があったのでオススメしてもらった3冊を読みました。学びがあったこととその感覚の定着の為にメモしておきます。 コーチング・マネジメント―人と組織のハイパフォーマンスをつくる この1冊ですべてわかる 新版 コーチングの基本 0秒リーダーシップ:「これからの世界」で圧倒的な成果を上げる仕事術 背景 大学を卒業してソフトウェアエンジニアになり、いちエンジニアからチームリーダー、テックリード、マネージャー、スタートアップのCTOを経験してきました。その中でチームマネージメントや1on1などもやってきました。ただこれまでやってきたことは自分の経験であったり周囲との関わりで得たものをベースに自分なりに考えてやっていました。 そして今、新しい環境(スタートアップ)にジョインしたところ、今の環境には1on1(コーチング)を積極的に進めているエンジニアがいました。そしてそれはこれまで半ばやらされている感じでやっていた1on1とは印象が違いました。そこでもれなく自分もコーチングをしてもらうようになったわけですが、そのコミュニケーションの中でこれまでの自分の活動を振り返ってみると自分が今「コーチング」に興味があることが分かりました(年齢的なこともあると思います)。「マネージメント」と聞くとちょっと抵抗感があるけど「コーチング」と聞くと抵抗感がないという不思議さもあります。そんなこんなでオススメしてもらった書籍を読み、体系的に学びを得た上で、今後の活動に活かそうと思います。 1冊目 コーチング・マネジメント―人と組織のハイパフォーマンスをつくる コーチング・マネジメント―人と組織のハイパフォーマンスをつくる 書評 2002年に出版された本なので今から約20年程前の本ですが、読んでいても時間の経過による内容のずれなどは全く気になりません。前半から後半にかけては、コーチングの基本・詳細と進んでいき最後の方にはコーチングを導入するにあたってのチェックリストがあるといった構成になっています。中でも一番の要点は、「コーチング・フロー」と「いかに聞くのか?」ということだと思います。「コーチング・フロー」は次のとおりです。 現状の明確化 望ましい状態の明確化 ギャップを引き起こしている理由と背景の発見 行動計画を立てる フォロー これだけ見ると当たり前のようですが、これを実際に実践する・させる為に「いかに聞くのか?」というスキルが求められます。本の中ではそのコミュニケーションへのアプローチの方法やコミュニケーションが如何に大事かが書かれています。やり方や捉え方によっては詰めているようにも感じられそうな程の質問攻めですがそこのバランスが重要なポイントになるかと思います。 2冊目 この1冊ですべてわかる 新版 コーチングの基本 この1冊ですべてわかる 新版 コーチングの基本 書評 2009年に出版された書籍の新版(2019年)です。この本は「コーチング・マネジメント」より詳細に具体的にコーチングについて書かれています。後半では実例による説明もあります。目次がパッと見分かりやすかったので記載しておきます。 1章 コーチングとは何か 2章 コーチのもつべき視点 3章 コーチングの3原則 4章 コーチング・プロセス 5章 コーチングのスキルと実践例 6章 組織へのコーチング 本書でも4章で「コーチング・プロセス」とし「コーチング・マネジメント」の「コーチング・フロー」が書かれています。本書で特筆すべきは「コーチが持つべき3つの視点」として以下の3つ(PBPの視点)について言及されていることです。これらは三角形となりそれぞれ相互に作用しているようです。 Possesion(身につけるもの) Behavior(行動) Presence(考え方、信念) 全体的に図が多く具体的に書かれているので「コーチング・マネジメント」と合わせて読むとより理解が深まると思います。 3冊目 0秒リーダーシップ:「これからの世界」で圧倒的な成果を上げる仕事術 0秒リーダーシップ:「これからの世界」で圧倒的な成果を上げる仕事術 書評 2016年に出版された本で、上記2冊と違い著者が外国人です。著者は日本に長年いながらも、グーグルやモルガン・スタンレーで人材開発を務めていたとあって外国から見た日本という視点がおもしろい点です。上記2冊と違いコーチングではなく、リーダーシップはこうあるべきということが書かれています。グーグルの話や、マインドフルネス、禅などの話も出てきます。コーチングという文脈ではないので上記2冊+αな気持ちで読むとよいかもしれません。 本書で気になったワード 僕はよく英語で、「Leadership is mobilzing people to tackle tough problems.(リーダーシップとは、難問に取り組むために人々を動かしていくこと)」という定義を用います。 Learn, Relearn, Unlearn 学ぶことは大事だが、ただ知識を増やす(Learn)だけではなく、学び直す(relearn)の必要があります。完全に時代遅れになった考え方、価値観や信念は手放す(unlearn)べきです。

2018年 半年の振り返り

2018年も半年を過ぎたので振り返る。 2018年の抱負 今年も去年と同様に2018年の抱負を書く。 2018年の抱負 去年と同様にいろんなことはできないので大目標3つ+サブ目標。これ以外にも細かいものはいくつかあるけど別途まとめる。 CTOとして 機械学習 英会話 サブ目標 引き続きフロントエンド CTOとして … 前置き 自分はあれもこれもできるタイプではないので、1年の抱負のような目標と中長期的な目標をたててそれをたまに見直しつつただこなすだけという方針にしている。やり方は結果的にこうなりたいというのをリスト化して、そこからドリルダウン式で必要なことそれを一つずつクリアしていく感じ。 2018までに立てていた中長期的な目標は、すべての項目をクリアできたので、年初にあらためて書き出してそれをまた同じように実行している。中長期的な目標と1年の目標があって、1年の目標は、主目票、サブ目標、個人活動、プライベートで分けて立てている。 CTOとしての活動 2018年1月からはスタートアップのCTOという立場で新しいスタートを切ることができた。 選択と集中 これは自分にとってもスタートアップにとっても非常に重要。やりたいことが沢山ある中で限られたリソースで如何にやるべきことをやるか。ただ今年の前半は、業務以外に書籍執筆、コミュニティ活動に結構時間を割いたので選択と集中はできなかった。前半で個人活動は一区切りついたので後半は少し抑えて選択と集中をすることにする。 開発速度と品質担保 開発速度と品質担保はフェーズによって全然やり方が違う。0→1のフェーズはとにかくアウトプットして結果を出す必要がある。今は1→10にするフェーズだと思っているのでどう進めるか色々考えた。 この段階を疎かにすると10→100にするフェーズで開発速度や品質に大きくしわ寄せがくるし、一方でやり過ぎると10→100の段階にたどり着けさえしなくなる。なのでバランスをとりながら開発速度と品質が担保できる方法を考えて進めた。どうしても大きく変えなければいけないところとかはあって、既存機能に影響を与えてしまったのは反省点。 チームビルディング チームビルディングもその時にあったやり方があると思う。去年1年間はスクラムを組んで良さを実感できたけど、今スクラムを組むのは違うと思ってやっていない。ただ、自分がだんだん何やってるのか分からなくなってきたので途中から1人スクラムをはじめた。そして最近、役割だけスクラムっぽい取り組みを入れた体制にした。 新規学習技術は機械学習 去年は、JavaScriptをメインにして活動してある一定の成果が出せたので、今年はかねてから考えていた機械学習をメインにした。そして「AIPyハンズオン勉強会」というのを開催してみんなで一気に学習することにした。 勉強会はこの半年で2回開催できた。これはほんとにやってよかった。次回は7/19に第3回を予定している。こういうのは継続が大事なので続けていきたい。 AIPy (アイパイ) ハンズオン #1 AIPy (アイパイ) ハンズオン #2 AIPy (アイパイ) ハンズオン #3 (7/19開催予定) 執筆 年末から書いていた本を無事出版することができた。書籍執筆はすごく面白いのでまた書きたい。 React、Angular、Vue.js、React Nativeを使って学ぶ はじめてのフロントエンド開発 コミュニティ活動 PyCon JP活動 今年もPyCon JPスタッフをやっているけど案の定あまり活動ができていない。それでも前半は時間を見つけて少しやったけどどうしても中途半端になるので後半の活動は抑え気味になると思う。 PyCon APACに参加する 去年に引き続き今年も参加してきた。海外カンファレンスはPyCon APACしか参加したことないけど本当に面白いので機会をつくって他も参加していきたい。今年はgihyoに参加レポート記事を寄稿した。こういったアウトプットができるのもよさの一つ。 Day1:プライバシーを機械学習でどう守るか?/機械学習の基礎と応用 英語でコミュニケーションができるように 去年PyCon APACに参加した時と比べると、少しDMM英会話をやったりテック系Podcastを聞いたりしたおかげか、普通に生活する分には英語に対する抵抗感は少し減った。トークについても去年よりは聞き取れた気はするけど、話す人によっては全然聞き取れなかったりするのでなんとも言えない。英語使う機会は今の所ないのでこれからはテック系Podcastを聞くくらいに抑える。テック系PodcastはFull transcriptがあるのでTalk Python To Meをよく聞いている。 ブログ継続 ひとつき2投稿目安だけど半年の時点で9投稿と少し少なめ。 サブ目標 サブ目標は今の所ほぼ未着手。JSの深掘りをする予定。 プライベート 草野球とソフトボールをやる 今年もThe Soulsという草野球チームで野球やってる。今季未だ負け無し。今年は草野球に加えてソフトボールもはじめた。 ハーフマラソンかフルマラソンに出る 4/14にハーフマラソンを走った。フルマラソンは経験あるけどハーフははじめて。数年前にフルマラソン走ったときよりもハーフのタイムは悪かったけどなんとか完走。秋に向けて少しずつ準備する。 株 楽天バンクと楽天証券を開設したけどそれ以上はまだ何もやっていない。ちなみに楽天証券はマイナンバーの提出が必要。 まとめ 前半のうちに個人活動はきりよくやることができたので後半は事業に注力する。あと今年は飲みに行きまくっていた。それはそれでいろんな業種の人と出会えるから楽しいけど後半は抑える。体調もたまに不安を覚えるので体調管理もちゃんとせねば。

node-nightlyを使ってwebpackをデバッグする

webpackに限らずだけどnode-nightlyを使うと簡単にデバッグすることができる Debugging When contributing to the core repo, writing a loader/plugin, or even just working on complex project, debugging tools can be central to your workflow. Whether the problem is slow performance on a large project or an unhelpful traceback, the following utilities can make figuring it out less painful. node-nightlyをインストールする インストール後一度初期化を行う npm i -g node-nightly // 初期化 node-nightly webpackの実行環境をつくる デバッグする為にwebpackの実行環境をつくる npm initしてwebpackをディレクトリ配下にインストールする npm init npm i -D webpack //バージョンは4.12.1 npx webpack –version 4.12.1 webpack-cliをインストールする。ここではグローバルインストールとしている。 npm i -g webpack-cli //バージョンは3.0.8 webpack-cli –version 3.0.8 webpack.[prod].jsをコマンドラインから作成する webpack-cli init 以下のように聞かれるので好みの設定をする(今回はデフォルトを利用) ℹ INFO For more information and a detailed description of each question, have …

「slideship Tech Dive vol.1 フロントエンド特集」でLTしてきた

connpassリンク slideship Tech Dive v1.0 #React / ReactVR / #VueJs Webフロントエンド特集 「slideship Tech Dive v1.0 #React / ReactVR / #VueJs Webフロントエンド特集」でLTしてきた。タイムテーブルは、メインセッションがVue、ReactVR、React SPAになっていてその後LT4本で親睦会という構成。自分は「フロントエンド速習コース」というタイトルでLTをさせてもらった。 slideshipって何? markdownで手軽にスライドがつくれちゃうサービスでコードシンタックスハイライトを自動でやってくれたりPDFに変換してくれたりする。今回LTするにあたって前日までラフなマークダウン文章しかなかったけど早くスライド作らなきゃっていう焦りがなかったので気分的に非常に楽だった。 slideship.com トークスライド (すべてslideshipでできてる) Vue.js 効果的だった事例から見る利点と特徴 橋本 安司さん @yellow844 これが大事↓ 「単一ファイルコンポーネントで『テンプレート、ロジック、スタイル』の関心を分離させる記述になっており、ファイル分割してより疎な状態に出来る。更にテンプレートやスタイルのテンプレート言語・CSSプリプロセッサを選択できる。」 ReactVR でつくるサーバ連動型インタラクティブ VR 原 一浩さん @kara_d 「s7は爆発の危険がある」に笑った。 React SPA における OGP への挑戦 池内 孝啓 @iktakahiro サーバサイドレンダリングはしないぞ!っていうこだわりが感じられた LT PATENTS問題とfast-asyncについて 石井 直矢さん @kaidempa OSSのライセンスのお話 フロントエンド速習コース @taisa831 3ヶ月でフロントエンドを一気にキャッチアップした時にやったことを紹介した。 書籍プレゼント企画 サーバーレスシングルページアプリケーション ―S3、AWS Lambda、API Gateway、DynamoDB、Cognitoで構築するスケーラブルなWebサービス こちらの書籍の監訳者の吉田 真吾さん @yoshidashingo じゃんけん大会で書籍はゲットできなかったけどこの書籍はオライリーの電子版で購入した。タイトル見て発売したら速攻買おうと思ってたけどReal World Httpに先に手出してたので買えてなかった。 RxJSコトハジメ @massa142 RxJS良さそう。マーブルテスト楽しそう。 勉強会風景 まとめ ちょうどフロントエンドのキャッチアップをしていたのでとても良い機会になった。トーク内容もいろいろあってとても楽しめ。次回も楽しみ。