説明するということ(宮台真司)
この動画の宮台先生の発言が心に残ったので書き起こした。
もともとは「そもそも論」についての話だったが、自分は「説明すること」というテーマとして聞いていた。
ドイツでは古くからこども大学というプロジェクトがあって、大学の教員が地元の小学生に自分がやっていることを伝えるっていうのをやる。 ぼくも日本でこども大学のプロジェクトを始めています。 飛騨高山とかで始めていますけども、小学校4年生に喋るのね。 そうすると、こどもに喋ることが、あるいは何も知らない人間に喋ることがいかに重要かがよくわかる。 たとえば僕たちは概念を使って喋っているけど、こどもたちは概念を知らないからセンテンスに開いて喋るわけだよ。 ところが僕たちは概念のクリシェ(決まり文句)の中で自明視していることがあるだけど、それをセンテンスに開くと意外につながらないということがわかって、説明に苦労して、そこではじめて説明する大学教員の側が気付きを得るということがあるんです。 自明性、当たり前さっていうけど、英語だと obviousness と familiarity という言葉あるのね。 自明の理だというときは obviousness、ところが familiarity というのは慣れ親しんでいるわけね。 いわば概念の自動的な連結による決まり文句っていうのは慣れ親しみなんですよ。 自明の理じゃないんだ。 だからそれをセンテンスに開いてみると、それは familiar ではあったけどね、実は obvious ではないということがはっきりわかったりするんですよ。
obviousness と familiarity という2つの単語による事象の整理がとてもしっくりきた。 たしかに、振り返ってみると、概念(専門用語と読み替えてもいいと思う)を使って説明してしまっているときがあるかも知れない。 センテンスに開いて、論理構造で説明しないといけなかったんだな。
IntelliJ の設定
基本的にはデフォルト設定のまま使う派だけど、ちょっとだけカスタマイズ
タブを消す
編集画面を少しでも広くするために。
Preferences > Editor > General > Editor Tabs > Appearance > Tab placement > None
開いているファイルにフォーカスをあてる
Project > [設定アイコン] > Always Select Opened File
キーマップで Join Lines を無効にする
IMEの切り替えと被る(Ctrl + Shift + J)ので無効にする
Preferences > Kyemap > Join Lines > Remove
プラグインを入れる
ref. 開発生産性を120%にブーストするIntelliJ IDEAのプラグイン紹介 - Retty Tech Blog
ERESOLVE unable to resolve dependency tree を直したい
gatsby の tutorial をやっていたら、npm install → npm audit fix でエラーが出た。
% npm audit fix npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! Found: type-fest@0.20.2 npm ERR! node_modules/type-fest npm ERR! type-fest@"^0.20.2" from globals@13.15.0 npm ERR! node_modules/@eslint/eslintrc/node_modules/globals npm ERR! globals@"^13.9.0" from @eslint/eslintrc@0.4.3 npm ERR! node_modules/@eslint/eslintrc npm ERR! @eslint/eslintrc@"^0.4.3" from eslint@7.32.0 npm ERR! node_modules/eslint npm ERR! peer eslint@"^7.5.0 || ^8.0.0" from @babel/eslint-parser@7.18.2 npm ERR! node_modules/@babel/eslint-parser npm ERR! 13 more (@typescript-eslint/eslint-plugin, ...) npm ERR! type-fest@"^0.20.2" from globals@13.15.0 npm ERR! node_modules/@parcel/packager-js/node_modules/globals npm ERR! globals@"^13.2.0" from @parcel/packager-js@2.6.0 npm ERR! node_modules/@parcel/packager-js npm ERR! @parcel/packager-js@"2.6.0" from gatsby-parcel-config@0.8.0 npm ERR! node_modules/gatsby-parcel-config npm ERR! gatsby-parcel-config@"0.8.0" from gatsby@4.17.2 npm ERR! node_modules/gatsby npm ERR! 2 more (boxen, globals) npm ERR! npm ERR! Could not resolve dependency: npm ERR! peerOptional type-fest@"^0.13.1" from @pmmmwh/react-refresh-webpack-plugin@0.4.3 npm ERR! node_modules/@pmmmwh/react-refresh-webpack-plugin npm ERR! @pmmmwh/react-refresh-webpack-plugin@"^0.4.3" from gatsby@4.17.2 npm ERR! node_modules/gatsby npm ERR! gatsby@"^4.17.1" from the root project npm ERR! 4 more (babel-plugin-remove-graphql-queries, ...) npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force, or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! See /Users/i/.npm/eresolve-report.txt for a full report. npm ERR! A complete log of this run can be found in: npm ERR! /Users/i/.npm/_logs/2022-07-03T13_32_10_377Z-debug.log
結局これだった...
yarn 使うと治る(というか回避できる)
Spring Boot アプリケーションを Heroku で動かす(Docker で)
Heroku CLI のインストール
brew tap heroku/brew && brew install heroku
% heroku -v heroku/7.60.2 darwin-x64 node-v14.19.0
デプロイする
注意ポイント① Spring Boot の Java の version を Heroku に教える
注意ポイント② Procfile を作る
↓ とエラーが出た。
at=error code=H10 desc="App crashed" method=GET path="/" host=xxx.herokuapp.com request_id=xxx fwd="106.73.3.130" dyno= connect= service= status=503 bytes= protocol=https
原因は、./build/libs/*-plain.jar を実行してしまっているから。 実は ./gradlew build では、 以下の2つの jar が生成される。
- ${APP_NAME}-0.0.1-SNAPSHOT-plain.jar
- ${APP_NAME}-0.0.1-SNAPSHOT.jar
このうち、Spring Application として実行可能なのは、 plain ではないほうの ${APP_NAME}-0.0.1-SNAPSHOT.jar である。 ところが、Heroku の実行は、 ./build/libs/*.jar を実行する指定がされており、plain が実行されてしまっているっぽい。 これを防ぐため、プロジェクトのルートに Procfile を作成し、plain ではないほうの jar を起動するように設定する。
web java -Dserver.port=$PORT $JAVA_OPTS -jar ./build/libs/realworld-example-app-0.0.1-SNAPSHOT.jar