Webアプリに適したものとそうでないもの
会社で自分が勧めて、neworkを使ってみてた。
結構評判が良くてみんな使ってくれてたんだけど、slackにhuddleができて、neworkが有料化するタイミングもあって、huddleに移行しちゃった。
neworkのコンセプトはとても良いし、個人的に、チームの外のひとが気軽に会話内容聞ける「聞き耳」機能は組織の風通しをよくする意味でとても良い、と思っていた。古い日本の会社でこれを作り出せるってのはとてもすごいと思う。継続して応援はしたい。
ただ、特にネットの状態が悪い時なんかは音質の劣化が激しい。出入りの際とか画面共有時にブツブツきれるみたいなものが解消されず、また、聞き耳機能みたいな物だったり、本当の雑談は一部の人しか活用できず、huddleと比較したら、有料Slackに追加でお金(手続きのコストも)を払ってまで導入するのはないな、という判断になってしまった。
個人的にWebアプリでやるべきものとそうでないものってあると思っている。RedmineみたいなのはWebと親和性高い。Webアプリとして使うもので、それが強みになるし、ホスティングサービスも有料でうまく行く。
一方でZoomがそうだけど、音声通話みたいなものってWebにしておくメリットってほぼないし、音声制御とかはネイティブアプリとかデスクトップアプリでガッチリ制御した方がいいと思う。huddleもweb版では利用できないっぽい。多分、技術的難しさがあるんだと思う。neworkは個人的にデザイン刷新なんか後回しにして、デスクトップアプリの開発に注力するべきだと思っている。
Webの思想と合わないってのはVS Codeもそう。JavaScriptとかは別かもだけど、Javaみたいな静的型付け言語を扱うのに、ブラウザベースのエディターってちょっと厳しい。あれが有料ならお金を払う人は少ないと思う。Intelij IDEAみたいにバリバリのデスクトップアプリにした方がいい。
同様に、業務システムなんかも基本、Webアプリとは相性が悪い場合が多いんじゃないかな、と。JetBrains Tool Boxみたいなアップデートを簡易にする方法を検討していくのがいい気がする。UXを求めるんならそこはコストのかけどころと感じる。「Quality is Free」なのだから。
APIテスト自動化ツールKarateをBDDツールとして使う
Karateとは
Karateは主にe2eテストを自動化するツール。cucumber的なfeatureファイルを書くとそれを実行できる。WebAPIのテストがその中心的ターゲット
graalvmのjsライブラリで実現しているっぽいので、featureファイルからJavaも呼べる。
個人的にBDDというのが結構いいと思っていて、ビジネスルールの仕様なんかをビジネスサイドと意識合わせする場合に使えると思っている。アンクルボブはFitnesseというツールを作っている。
Fitnesseは名著『実践アジャイルテスト』でも紹介されていたもの

実践アジャイルテスト テスターとアジャイルチームのための実践ガイド (IT Architects' Archiveソフトウェア開発の実践)
- 作者:Janet Gregory,Lisa Crispin
- 発売日: 2009/11/28
- メディア: 大型本
Fitnesseはアイデアはいいんだけど、wiki文書にテスト埋め込むとかまでしなくていいと思っていた。もっと簡便でメンテしやすい開発者フレンドリーなLiving Documentないかなあ、と。有名どころでは、Cucumberとかがあるんだけど、結局テストコードをドキュメントに合わせて2重に書くので、正直使いたくない。
Karateは簡潔なDSLでAPI呼び出しの実行からアサーションまでをfeatureファイルに記述できる。かなり文書性が高く、テストコード特有の煩雑なノイズがない。普通に開発者が使うテストツールとしても使えると思う。
一つ思ったのが、ビジネスルール単体の仕様についてkarateで同様にかければユーザーとのコミュニケーションに便利なのではないか、と。 加えてSpring のBeanもテストしたいと思ってやってみた。
featureファイルはこんな感じ。
Feature: ビジネスロジックのテスト Background: * def CalcTestsRunner = Java.type('feature.calc.CalcFeatureTestsRunner') * table example | 入力値1 | 入力値2 | 期待結果 | | 10 | 20 | 30 | | 50 | 100 | 150 | | -10 | 10 | 0 | Scenario: シンプルなシナリオ * def x = 10 * def result = CalcTestsRunner.testAdd(x,20) * assert result == 30 Scenario Outline: データ駆動シナリオ データ例 <入力値1> + <入力値2> の結果は<期待結果>になる * def result = CalcTestsRunner.testAdd(<入力値1>,<入力値2>) * assert result == <期待結果> Examples: | example |
テストコードはこんな感じ
package feature.calc; import com.example.demo.DemoApplication; import com.example.demo.calc.CalcService; import com.intuit.karate.junit5.Karate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest(classes = DemoApplication.class) public class CalcFeatureTestsRunner { static CalcService calcService; @Autowired public void setCalcService(CalcService calcService) { CalcFeatureTestsRunner.calcService = calcService; } @Karate.Test Karate testCalc() { return Karate.run("calc").relativeTo(getClass()); } public static int testAdd(int input1,int input2){ //仕様を実現するコードを書いていく。流動的で良い return calcService.add(input1,input2); } }
featureファイルにはプロダクションコードのクラスを直接書かない。リファクタリングするとき面倒になるから。 こんな感じで実行できる。
レポートはこんな感じ
githubにアップしました。
イメージ/観念と思考/行動
ワインバーグの成長のプロセスモデル
スキルの熟達についてのワインバーグのモデル
元ネタ
- 成長はきれいな直線を描かない。
- あるレベルまで成長すると踊り場に到達する。その時、新しいやり方を試すことで飛躍する。
- 新しいやり方に習熟するまではパフォーマンスは落ちる。
要求定義の双子プロセスについて
-
製品の使用者からのフィードバック
-
開発者からのフィードバック
-
ビジネス目標の変化
感情と意志についての現時点での理解
単なるメモ。
- 人間は環境に実在するアフォーダンス(価値)を求めて行動する。
- アフォーダンスには認知や理解も含む
- 価値を求めて環境に働きかけ、環境を変え、望むものを手にする
- 感情は行動に付随するもので本質的には動因ではない。
- 感情は行動を規制し、同一の行動を繰り返したり、安定性を与えるために人間の行動を「縛る」。
- 幸福感、気分の良さ、悪さ、興奮などの感情は手掛かりになるが、価値とは別のものであり、それを目的にすると誤る
- 最も効果的なのは感情を行動と連動させること。行動をサポートさせること
演技メソッドとの関係
ロバート・フリッツのメソッド
- ロバートのいう動的衝動(Dynamic Urge)はまさにアフォーダンスとイコールと考えてよいものと思われる
参考文献

Your Life as Art 自分の人生を創り出すレッスン
- 作者:ロバート・フリッツ
- 発売日: 2020/07/21
- メディア: 単行本
ヴィゴツキーの情動論とその意義
最近、仕事の合間にヴィゴツキーの本を読み直し+新しい本を買って読んでいる。 この記事では、彼の情動論についてまとめる。
理性と感情の対立についての古い議論
感情は主流の哲学者や倫理家には評判は良くない。 古代の哲学者や倫理家の多くは、放縦や、感情に任せて行動することの愚かさを説く。
そして、理性による感情の制御というのがお決まりの教訓だ。
「ストイック」という言葉の語源となったストア派の哲学に傾倒したローマ皇帝のマルクス・アウレーリウスは自省録の中で、わが子を愛する感情を必死で制御しようと試みている。 一部の仏教理解では愛欲は苦しみのもとであり、断ち切るべきとされる。
人間にとって、感情は動物的な下位機能であり、理性によって制御されるべき、というのが古来の多くの倫理観に流れていた思想だ。
スピノザとクルト・レヴィン
自分が学生時代にスピノザにほれ込んだのは、彼が 「人は感情によって行動し、理性は勝てない」 と断言していたからだ。確かスピノザの『国家論』だったと思う。

- 作者:スピノザ
- メディア: 文庫
感情が行動を決定する、というのは次の本にもでていた。

- 作者:R.H.フランク
- 発売日: 1995/01/01
- メディア: 単行本
理性は感情を刺激するだけなのだ。
結局、人の行動は様々な感情の葛藤や相克の結果決まる。
こうした観点はレヴィンのトポロジー心理学にも通じるだろう。
『エチカ』ではスピノザは人の行動の動因を見事に整理して、一元的な理屈で 徳や不徳と呼ばれる特性を説明してみせた。感情は放縦の原因であるだけではなく、徳の源泉でもあるのだ。
ヴィゴツキーの情動論
ヴィゴツキーは当時の心理学における情動分析がその根底には感情を下等な本能的な機能とみなす哲学的な問題があるとする。

ヴィゴツキー著『最後の手稿』情動の理論―心身をめぐるデカルト、スピノザとの対話
- 発売日: 2006/07/01
- メディア: 単行本(ソフトカバー)
ウィゴツキーの論点は以下の点と思われる。
- 感情が大脳の機能であり、大きな恐怖や興奮のほか、微細な愛情や満足のような感情と本質的には異ならないこと。
- 情動は人間のエネルギーの源泉であり、人間行動に不可欠なものということ
- 注射針に対して腕を差し出すような理性的な行為や道徳的行為といった自己行動の制御も、脳内で構築された複雑な反応体系に基づくもので、発達した情動機能の産物であること
与えられた環境を変革していくような創造的な活動や困難に打ち勝つプロジェクトをやり通す力は感情を廃した「理性」のようなものからは生まれないのだ。
「共感の大切さ」を超えた情操教育
ヴィゴツキーは学校の場などで、感じることを軽視してはならないと説く。学習内容の楽しさを味わうために好奇心を刺激するように説く。 また、芸術教育についてもその意義を語っている。
企業の人材育成や、現代の学校教育の場でも、感情の大切さみたいなことが説かれることは多い。 一方で、個人的に危ぐするするのが、それが他者への思いやりや共感を過度に協調し、結局日本的な「みんな仲良く」とか「空気」に逆らえない人をつくってしまっているのではないか、ということだ。
ヴィゴツキーの情動に関する教育は、感情の機能をみとめ、それを克服して、自己の行動を制御することも含む。 共感のようなものも大事だが、「空気」のようなものに生み出される感情やその時々の誘惑に抗して、自分の意志や判断を貫くことができる人格を作ることが一種の脳の機能なのだと説く。
芸術教育についてのヴィゴツキーの意見
彼は芸術作品はあくまでフィクションであり、そこから教訓や道徳を引き出そうとすることに批判的だ。 芸術を芸術として創造的に鑑賞することでその意味があるのだという。
学校の教科書から文学が消えることについて、色んな意見があったけど、ヴィゴツキーの議論を根拠にした議論は聞いたことはなかったな。
久保建英にみるポーカーフェイスと激情の両立
サッカーの久保建英マニアの一人であるが、こんな動画がある。
「久保建英にオススメのクラブとレアル・マドリー復帰のための最短距離」|木村浩嗣(在スペイン・ジャーナリスト)の移籍先診断【2】
久保建英の動じないメンタルについて、絶賛している(比べられたジョアン・フェリックスはかわいそうだが。。。)
ただ、久保マニアなら知っているけど、久保建英はもともと激情家だ。 チームが大量得点している時、自分一人だけ点をとれなくて号泣した、とか、バルサが興味をもっていないことを知って泣き出したとかの逸話には事欠かない。 今シーズンでも、残留争いの終盤、敗戦なのか、決定機を外したことなのか、ピッチを去るとき、地団駄を踏んで悔しがる様子をみせている。
プレイが常にブレず、冷静に見えるのは、要するに自分の情動のエネルギーをプレイに集中させることができているからだろう。
EQというのは対人関係に関するものだけではない。個人の自分自身の行動の制御という意味でも大きな意味をもっているのだ。
芸術との関係?
久保は幼い時から読み聞かせを大量に受けて、本人も読書家みたい。 小説をよく読むとか。ヴィゴツキーによれば、芸術を味わうことで感情が浄化され、感情のエネルギーを秩序だった行動に向かわせることができる助けになる。 そういうのも彼の人格能力の高さに寄与しているのかもしれない。