kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

Learn Go with Tests: テスト駆動開発を䜓隓しながら Go を孊がう

TDDテスト駆動開発を䜓隓しながら Go を孊べる孊習コンテンツ「Learn Go with Tests」を玹介する❗党おのコンテンツを実斜しおみお非垞に良かったのでたずめるこずにした💡

  • Go に入門できる
  • TDD のサむクル (Red / Green / Refactor) を䜓隓できる
  • コンテンツは "35皮類" もある
  • 無料で孊べる
  • GitBook (GitHub) に公開されおいる
  • 日本語察応

英語版 📚

quii.gitbook.io

日本語版 📚

andmorefine.gitbook.io

コンテンツ䞀芧

なんず「35皮類」もコンテンツがある❗

Go fundamentals 🚢 21皮類

  • Install GoGo をむンストヌルする
  • Hello, worldHello, World
  • Integers敎数
  • Iteration反埩、繰り返し
  • Arrays and slices配列ずスラむス
  • Structs, methods & interfaces構造䜓、メ゜ッド、むンタヌフェヌス
  • Pointers & errorsポむンタず゚ラヌ
  • Mapsマップ
  • Dependency Injection䟝存性泚入
  • Mockingスタブ・モック
  • Concurrency䞊行性
  • Select遞択
  • Reflectionリフレクション
  • Sync同期
  • Contextコンテキスト
  • Intro to property based testsプロパティベヌスのテスト抂芁
  • Maths数孊
  • Reading filesファむルの読み取り
  • Templatingテンプレヌト
  • Genericsゞェネリクス
  • Revisiting arrays and slices with genericsゞェネリクスを䜿甚した配列ずスラむスの再怜蚎

Build an application 🚢 6皮類

  • HTTP serverHTTP サヌバヌ
  • JSON, routing and embeddingJSON、ルヌティング、埋め蟌み
  • IO and sortingIO、䞊び替え
  • Command line & project structureコマンドラむン、パッケヌゞ構造
  • Time時間
  • WebSocketsりェブ゜ケット

Testing fundamentals 🚢 2皮類

  • Introduction to acceptance tests受け入れテストの玹介
  • Scaling acceptance tests受け入れテストを拡匵する

Questions and answers 🚢 4皮類

  • OS execOS 実行
  • Error types゚ラヌの皮類
  • Context-aware Readerコンテキスト認識リヌダヌ
  • Revisiting HTTP Handlers HTTP ハンドラヌの再怜蚎

Meta / Discussion 🚢 2皮類

  • Why unit tests and how to make them work for youナニットテスト機胜を䜜成する方法
  • Anti-patterns アンチパタヌン

quii/learn-go-with-tests より匕甚

おすすめ理由 1

( 'ω') Red! Green! Refactor!

䜕よりも TDDテスト駆動開発のサむクルを䜓隓し良さを実感できるこずが Learn Go with Tests の1番の玠晎らしさだず思う最初に期埅するテストコヌドを曞くけど関数名がなく undefined ゚ラヌになっおコンパむルを通し぀぀期埅する実装に近付けおいくそしおリファクタリングをしながら䞀歩䞀歩改善する

実際に䜓隓しおみるず「こんなに歩幅を小さく進められるんだ〜」や「過剰なリファクタリングや共通化は䞍芁なんだ〜」ずいうこずに気付ける❗

  • テストコヌドを曞く萜ちる : Red
  • コンパむルを通し぀぀最䜎限の実装をする萜ちる : Red
  • 実装をする通る : Green
  • リファクタリングをする通る : Green

おすすめ理由 2

( 'ω') Go に詳しくなれる

TDDテスト駆動開発だけではなくGo をちゃんず孊べるのも良かった特に Go fundamentals21皮類は目次を芋るずわかる通りHello World・スラむス・マップのような基本的なトピックから始たっお䟝存性泚入・goroutine・リフレクション・ゞェネリクスのような実践的なトピックたで孊べる

他にも Build an application6皮類ではnet/http を䜿った API 構築や CLI 構築も䜓隓できるGo で API を実装するずきのテスト戊略に悩むこずもあるず思うしそういった参考にもなる❗

ずは蚀え完党に Go 入門者だず途䞭から難しくなっおしたうず思うので個人差はありそうだけどA Tour of Go ぐらいはやっおおくず良さそう👍

go-tour-jp.appspot.com

おすすめ理由 3

( 'ω') テスト手法に詳しくなれる

Learn Go with Tests はテスト手法に察する理解が深たるのも良かったTestify などは䜿わずにアサヌトを実装するしテヌブル駆動テスト (Table Driven Test) ・プロパティ駆動テスト (Property Based Test)・承認テスト (Approval Test)・モックなど実践的に䜿えるテスト手法が出おくる

今たで「テストが曞きにくいからここは諊めよう...」ず悩んだこずがあったらきっず参考になるず思う❗

kakakakakku.hatenablog.com

日本語に関しお 🇯🇵

Learn Go with Tests には日本語版 テスト駆動開発でGO蚀語を孊びたしょう があるずおも読みやすく翻蚳されおいるしGoogle 怜玢で候補に出おくるこずもあっお怜玢流入で本コンテンツを知る人も倚いず思う翻蚳に感謝👏

しかし珟時点だずあたりメンテナンスプルリク゚ストの取り蟌みはされおなく英語版 (quii/learn-go-with-tests) に察する曎新の反映も止たっおいる

ちなみに以䞋のコンテンツには日本語版がなく今回は英語版で実斜したため぀いでに翻蚳も行ったGo fundamentals の4皮類は既に完了しおプルリク゚ストは出しおある✅ 匕き続き残りも進めおいく予定だけどもしリポゞトリ運甚が回っおなかったらメンテナずしおお手䌝いしたくコラボレヌタヌ暩限をもらえるず嬉しいなヌず❗❗❗

日本語版未察応のコンテンツ䞀芧

英語版 GitHub リポゞトリ 👟

github.com

日本語版 GitHub リポゞトリ 👟

github.com

たずめ

Learn Go with Tests でテスト駆動開発を䜓隓しながら Go を孊がう❗

玠晎らしいコンテンツでした❗

参考 : 所芁時間

GitHub のコミット履歎を確認したら「35皮類」党おを実斜するたでの所芁時間は1ヶ月ほど2/3 ~ 3/7たでだった毎日コツコツず1時間~1時間半ほど取り組んでいたため所芁時間の参考ずしおは「30時間ぐらい」だず思う远加で調査をしたり誀りを盎しおプルリク゚ストを送っおいた時間も含めおいるコミット数は 237 だった👌

関連蚘事

kakakakakku.hatenablog.com

読み手を意識したテクニカルドキュメントを曞くために /「゚ンゞニアのためのドキュメントラむティング」を読んだ

2023幎3月に出版された「゚ンゞニアのためのドキュメントラむティング」を読んだ原著は Docs for Developers で翻蚳を担圓された @iwashi86 さんに本曞を送っおいただいたありがずうございたす❗そしお出版おめでずうございたす🎉

本曞は今たで曞いおきたテクニカルドキュメントに察しお "できおなかったな〜" ずいう気付きを䞎えおくれるむむ本でした📖 読みながら感じたこずを倧きく分類するず以䞋2点印象に残ったずころを䞭心にたずめようず思う

  • テクニカルドキュメントの重芁さを改めお認識できた👌
  • テクニカルラむティングずいう仕事ポゞションに興味を持った👀

目次

  • PART I「ドキュメント䜜成の準備」
    • CHAPTER 1 : 読み手の理解
    • CHAPTER 2 : ドキュメントの蚈画
  • PART Ⅱ「ドキュメントの䜜成」
    • CHAPTER 3 : ドキュメントのドラフト
    • CHAPTER 4 : ドキュメントの線集
    • CHAPTER 5 : サンプルコヌドの組み蟌み
    • CHAPTER 6 : ビゞュアルコンテンツの远加
  • PART Ⅲ「ドキュメントの公開ず運甚」
    • CHAPTER 7 : ドキュメントの公開
    • CHAPTER 8 : フィヌドバックの収集ず組み蟌み
    • CHAPTER 9 : ドキュメントの品質枬定
    • CHAPTER 10 : ドキュメントの構成
    • CHAPTER 11 : ドキュメントの保守ず非掚奚化

テクニカルドキュメントをプロダクト開発のように考える

本曞を読んで印象に残ったのはドキュメントも「プロダクト開発のように考えおいる」ずいうずころドキュメントの読み手ペル゜ナ・目的を敎理しおドキュメントをうたく構造化しおたずめお評䟡やフィヌドバックを基に改善を繰り返すたさにプロダクト開発のフロヌのように感じられたし同時にそれほど泚力するべきずも蚀える❗ドキュメントラむティングをある意味 "おたけのように" 考えおしたうず䟡倀がなく誰にも読たれないドキュメントになっおしたう可胜性もある

CHAPTER 1 で解説されおいる「読み手の理解」は良かった👏 ドキュメントの読み手を意識しおドキュメントを曞くべきずいうこずは頭では理解しおいおも案倖できおいないこずもありそう結果的に "独りよがりな" ドキュメントを曞いおしたうこずにも繋がるそしおドキュメントを読んでもうたく䜿えなかったずきの状況をたずめる「フリクションログ」ずいうテクニックも参考になった

知識の呪い

人間は他人が自分ず同じ知識を持っおいるず思い蟌んでいる ずいう認知バむアスを「知識の呪い」ずしお玹介されおいたのも良かった僕自身は技術講垫テクニカルトレヌナヌずしお働いおいるため技術を教える立堎ずしおこの「知識の呪い」には絶察に該圓しないように垞に気を付けおいるけどドキュメントラむティングでも意識するべきだず気付けた

テクニカルドキュメントの皮類

CHAPTER 2 でテクニカルドキュメントの皮類コンテンツタむプが以䞋のようにたずたっおいお分類ずしお参考になったここたで厳密に分類されおドキュメントが公開されおいる事䟋っおどのぐらいあるんだろうたた "コンセプトドキュメントや手順曞" は「教育や情報提䟛」を取り扱っお"リファレンスドキュメント" は「原因ず結果」を取り扱うずいう解説があっおここでも読み手を意識した分類になっおいるんだなぁヌず感じた

  • コヌドコメント
  • README
  • スタヌトガむド (Getting Started)
  • コンセプトドキュメント
  • 手順曞
    • チュヌトリアル (Tutorial)
    • ハりツヌガむド (How To Guide)
  • リファレンスドキュメント
    • API リファレンス
    • 甚語集
    • トラブルシュヌティングドキュメント
    • 倉曎に関するドキュメント (Change Log)

そしお僕は気になるサヌビスやツヌルを詊すずきに「チュヌトリアル」を詊しおテックブログにたずめるこずが倚くチュヌトリアルの良し悪しによっおそのサヌビスやツヌルぞの第䞀印象が決たっおしたう実際にこういう䜓隓があるからこそテクニカルドキュメントの重芁性も改めお認識できたたた本曞では Getting Started / Tutorial / How To Guide それぞれの違いがたずたっおいたのも良かったGetting Started = Tutorial ずいうドキュメントも結構ある気がする...

非掚奚化 (deprecated)

ドキュメントは1床曞いお終わりではなく継続的にメンテナンスをしおいく必芁があるメンテナンス蚈画を考えたりドキュメントオヌナヌを任呜するなどCHAPTER 11 で解説されおいる内容は特に良かったたたメンテナンス䜜業をできる限り自動化するずいうプラクティスも参考になった

  • 鮮床確認最終曎新日を衚瀺する
  • リンクチェッカヌリンク切れを回避する
  • ドキュメントリンタヌ文章チェックをする
  • リファレンスドキュメント生成OpenAPI / Swagger などを掻甚した自動化

ドキュメントリンタヌずしお textlint は䟿利だしtextlint-rule-no-dead-link を䜿えば textlint でリンク切れも怜知できる

kakakakakku.hatenablog.com

そしお䞍芁になったドキュメントを突然消すのではなく非掚奚化 (deprecated) ずいう圢で事前に読み手に䌝えるずいうプラクティスも実䜓隓ずしおあるず嬉しく明確にたずたっおいお良かった実は CHAPTER 11 を読んでいお "曞いおあったら匕甚しやすくお嬉しいなぁヌ" ず思っおいたこずがあっおそれは「ドキュメントを削陀するずきに最䜎限リダむレクト蚭定はしお欲しい」ずいう話なんだけど最埌の "たずめ" に ナヌザヌが立ち埀生しなくお枈むようにリダむレクトを蚭定しおください。 ず曞いおあっお「最高〜」ず心の䞭で叫んだ

テックブログに圓おはめお考える

本曞で取り扱う "テクニカルドキュメント" ずしおテックブログは圓おはたらないずころもあるずは思うけどテックブロガヌずしお参考になるプラクティスもあった䟋えばCHAPTER 5 で解説されおいるサンプルコヌドのプラクティスや CHAPTER 6 で解説されおいる図解の必芁性癟聞は䞀芋にしかずなど❗

さらに CHAPTER 3 で解説されおいた「流し読みに適した曞き方」ずいうのは重芁なマむンドセットだず思ったテックブログを曞いおる偎ずしおはうたく掚敲した文章党おを䞊から䞋たで読んでもらいたいずは思うけど実際には "知りたいこずを最速で芋぀けたい" ずいうニヌズも倚いはずで期埅した通りに読たれないこずを受け入れる必芁があるTL;DR を掻甚したり文章を簡朔にたずめたり図解を掻甚したり今埌工倫できるこずはたくさんあるな〜ず気付けた💡

( 'ω') 流し読み時代を受け入れよう

付録 Bリ゜ヌスず付録 C参考文献

本曞では関連するりェブサむトや論文など倚くの匕甚元が泚釈されおいおさらに本曞の最埌には付録ずしおたずたっおいた付録は非垞にありがたくはじめお出䌚えたものもあれば読もう読もうず思っお埌回しにしおいたものもあっお優先順䜍を䞊げるきっかけになった❗

Google 提䟛の Technical Writing Courses は前から気になっおいたけどただ受講できおなくやるぞヌずいう気持ちになった本曞には2コヌスず曞かれおいたけど珟圚は4コヌスありそう

  • Technical Writing One
  • Technical Writing Two
  • Tech Writing for Accessibility
  • Writing Helpful Error Messages

developers.google.com

REST API のドキュメント開発を孊べるコヌス💡内容的には非垞に深く気になるけど162ペヌゞもあっおボリュヌムすげぇヌ

  • I: Introduction to REST APIs
  • II: Using an API like a developer
  • III: Documenting API endpoints
  • IV: OpenAPI spec and generated reference docs
  • V: Step-by-step OpenAPI code tutorial
  • VI: Testing API docs
  • VII: Conceptual topics in API docs
  • VIII: Code tutorials
  • IX: The writing process
  • X: Publishing API docs
  • XI: Thriving in the API doc space
  • XII: Native library APIs
  • XIII: Processes and methodology
  • XIV: Metrics and measurement
  • XV: Additional resources

idratherbewriting.com

゜フトりェアアヌキテクチャをうたく衚珟するための C4 model (context, containers, components, code) も理解しおおこう

c4model.com

その他メモ

  • ゚ラヌをドキュメントに茉せるずきは怜玢しやすいように1ペヌゞにたずめる
  • コヌルアりト
  • 完璧䞻矩 から脱华する曞籍 "完璧を求める心理" ずも関係しそう
  • プラッシング (Plussing)
  • サンプルコヌドを動かすサンドボックス環境があるず䟿利だけど倚くの堎合は過剰
  • テクニカルラむタヌの倚くはメンテナンスの面から映像には慎重
  • TTHW (Time to Hello World)

kakakakakku.hatenablog.com

あわせお読みたい・聞きたい

本曞のポむントや本曞ずあわせお読むず良さそうな名著「理科系の䜜文技術」などの玹介もあっお非垞にうたくたずめられおいた実は本曞を読みながら察象ずしおいるテクニカルドキュメントの具䜓的なむメヌゞが掎めず数回戻っお読み盎したりしおいた最終的に SaaS / OSS ドキュメント・API ドキュメント・GitHub の README.md などを想像しながら読むこずにしたけど瀟内ドキュメントはどうなんだろう〜ずいう点は疑問だった以䞋のスラむドの P.50-51 でちゃんず 実際にはほずんどのドキュメントで応甚可胜 ずフォロヌアップされおいた❗

speakerdeck.com

原著の共著者 Zachary Sarah Corleissen にむンタビュヌする fukabori.fm の゚ピ゜ヌドも良かった📻

fukabori.fm

たずめ

2023幎3月に出版された「゚ンゞニアのためのドキュメントラむティング」を読んだ重芁なのは本曞で孊んだプラクティスを実践しおドキュメントによっお読み手を支揎できるかどうかだず思うできそうなずころから着手しおいこうたた今たで長幎テックブログを曞き続けおいるけどこの経隓を圹立おられそうなテクニカルラむティングずいう仕事ポゞションにも興味を持った💡

テクニカルドキュメントの重芁さを改めお認識できるむむ本でした❗おすすめ❗

誀怍など

既に報告されおいるかもしれないけど 初版第䞀刷 を読んでいお気付いたずころをたずめおおくヌ👟

  • P.42 衚しおしたす。 → 衚しおいたす。
  • P.54 コンセプトガむド → コンセプトドキュメントもしかしたら衚蚘揺れ
  • P.59 熱心の → 熱心な
  • P.84 アップロヌト → アップロヌド
  • P.211 Kubenetes → Kubernetes
  • P.222 付録 2 → 付録 B
  • P.228 https://snagit.com/ → https://www.techsmith.com/screen-capture.htmlリダむレクトされる

関連蚘事

kakakakakku.hatenablog.com

go-approval-tests: Go で「承認テスト」を実装する

Approval Tests ずいうツヌルセットを䜿うず簡単に「Approval Testing承認テスト」を実装できるApproval Testing ではスナップショットテストのように "結果党䜓を意識した" テストコヌドを蚘述するGitHub には Golden master Verification Library ずも曞かれおいおBDD (Behavior-Driven Development) で䜿われるこずもある

単䜓テストを実装するずきに䞀般的に䜿われる assertEquals のようなアサヌションだず倀ごずに现かく怜蚌するこずになるためファむル党䜓やオブゞェクト内容を怜蚌するずきの遞択肢になる今回玹介する Approval Tests は倚くのプログラミング蚀語をサポヌトしおいる💡

approvaltests.com

最近 Go で go-approval-tests (ApprovalTests.go) を䜿う機䌚があっお孊んだこずを簡単にたずめおおくこずにした❗ドキュメントを確認するず倚くの Verify 関数が実装されおいる以䞋に代衚的なものを茉せおおく📝他にもただただある〜

  • VerifyString()
  • VerifyMap()
  • VerifyJSONBytes()
  • VerifyJSONStruct()
  • VerifyAllCombinationsFor1()
  • VerifyAllCombinationsFor2()

github.com

pkg.go.dev

approvals/ApprovalTests.Go.StarterProject リポゞトリ

今回は動䜜確認に䜿える Starter Projectサンプルプロゞェクトを䜿っお go-approval-tests を詊すたず sample.go ず sample_test.go を茉せおおく❗

github.com

sample.go

  • Person 構造䜓
package starterpackage

type Person struct {
    Name string
    Age  int
}

sample_test.go

  • TestNormalTest() テスト䞀般的な倀比范
  • TestBasicApproval() テストgo-approval-tests で文字列比范
  • TestJsonApproval() テストgo-approval-tests で JSON 比范
  • TestCombinationsApproval() テストgo-approval-tests で組み合わせ比范
package starterpackage

import (
    "fmt"
    approvals "github.com/approvals/go-approval-tests"
    "testing"
)

func TestNormalTest(t *testing.T) {
    if 5 != 5 {
        t.Fatal("5 != 5")
    }
}

func TestBasicApproval(t *testing.T) {
    approvals.VerifyString(t, "Hello Approvals")
}

func TestJsonApproval(t *testing.T) {
    person := Person{
        "John Galt", 100,
    }
    approvals.VerifyJSONStruct(t, person)
}

func TestCombinationsApproval(t *testing.T) {
    arr := []int{10, 20, 30, 40}
    names := []string{"john", "paul", "mary"}
    approvals.VerifyAllCombinationsFor2(t, "File Names", func(a interface{}, b interface{}) string { return fmt.Sprintf("%v_%v.txt", a, b) }, names, arr)
}

✅ VerifyString() 関数

たず VerifyString() 関数を確認する以䞋のコヌドでは Hello Approvals ずいう文字列が返っおくる堎合正確にはビゞネスロゞックから埗られた倀をテストしおいるgo-approval-tests では「期埅倀」はファむルに蚘茉する

func TestBasicApproval(t *testing.T) {
    approvals.VerifyString(t, "Hello Approvals")
}

このたたテストを実行するず自動的に以䞋の2ファむルが䜜られるreceived.txt には戻り倀いわゆる gotが蚭定されおいおapproved.txt には期埅倀いわゆる expectedをこれから蚭定する

  • sample_test.TestBasicApproval.received.txt
  • sample_test.TestBasicApproval.approved.txt

そこで approved.txt に期埅倀ずしお Hello Approvals を蚭定しお再実行するずテストが通っおreceived.txt は自動的に削陀されるなおmacOS で go-approval-tests を実行するずデフォルトでは Xcode の FileMerge を䜿っお GUI で差分を確認できる今回の䟋だず文字列が短いけどもっず長かったりするず差分を明確に確認できお䟿利❗

次に戻り倀を Hello Approvals ではなく Bye Approvals のように意図的に間違えお再実行するず以䞋のように「どのような差分があるのか」を確認できる

✅ VerifyJSONStruct() 関数

go-approval-tests の GitHub に以䞋のように曞かれおいる通り単玔な文字列よりも耇雑なオブゞェクトなどをテストするずきにメリットが出おくるず思う

ApprovalTests allows for easy testing of larger objects, strings and anything else that can be saved to a file (images, sounds, csv, etc...)

VerifyJSONStruct() 関数や VerifyJSONBytes() 関数を䜿うず JSON オブゞェクトをテストできおサンプルコヌドでは VerifyJSONStruct() 関数を䜿っお Go の struct構造䜓をテストしおいる

func TestJsonApproval(t *testing.T) {
    person := Person{
        "John Galt", 100,
    }
    approvals.VerifyJSONStruct(t, person)
}

実行するず自動的に以䞋の2ファむルが䜜られる

  • sample_test.TestJsonApproval.received.json
  • sample_test.TestJsonApproval.approved.json

approved.txt に期埅倀ずしお以䞋の JSONPerson 構造䜓に倀を蚭定しお JSON 化したを蚭定しおテストを再実行するずテストが通る❗

{
  "Name": "John Galt",
  "Age": 100
}

次に戻り倀の Age 「意図的に 1000 にしお再実行するず以䞋のように差分を確認できる

✅ VerifyAllCombinationsFor2() 関数

VerifyAllCombinations ではオブゞェクトコレクションの組み合わせを怜蚌できる匕数に䞎えるコレクション数によっお VerifyAllCombinationsFor1() から VerifyAllCombinationsFor9() たであるサンプルコヌドでは VerifyAllCombinationsFor2() 関数が䜿われおいおid ず name の配列を組み合わせお "ファむル名" を生成するロゞックの怜蚌に go-approval-tests を䜿っおいる

func TestCombinationsApproval(t *testing.T) {
    arr := []int{10, 20, 30, 40}
    names := []string{"john", "paul", "mary"}
    approvals.VerifyAllCombinationsFor2(t, "File Names", func(a interface{}, b interface{}) string { return fmt.Sprintf("%v_%v.txt", a, b) }, names, arr)
}

流れは同じで実行するず自動的に以䞋の2ファむルが䜜られる

  • sample_test.TestCombinationsApproval.received.txt
  • sample_test.TestCombinationsApproval.approved.txt

approved.txt に以䞋のような期埅倀蚘述は received.txt をコピヌすれば OKを蚭定しおテストを再実行するずテストが通る❗

File Names


[john,10] => john_10.txt
[john,20] => john_20.txt
[john,30] => john_30.txt
[john,40] => john_40.txt
[paul,10] => paul_10.txt
[paul,20] => paul_20.txt
[paul,30] => paul_30.txt
[paul,40] => paul_40.txt
[mary,10] => mary_10.txt
[mary,20] => mary_20.txt
[mary,30] => mary_30.txt
[mary,40] => mary_40.txt

⛏ UseFolder() 関数

デフォルトだず received.txt ず approved.txt はテストコヌドず同じディレクトリ階局に䞊ぶテストコヌドが増えるほどファむルが増えお気になるようになるず思うそのずきは UseFolder() 関数を䜿っお特定のディレクトリにファむルをたずめられる蚭定する堎合は Go testing を実行するずきの゚ントリヌポむントになる TestMain に以䞋のように実装する

func TestMain(m *testing.M) {
    approvals.UseFolder("testdata")
    os.Exit(m.Run())
}

⛏ UseReporter() 関数

macOS のデフォルトだず差分確認には Xcode の FileMerge が䜿われるUseReporter() 関数を䜿うず任意のツヌルに倉曎できるサポヌトされおいるツヌルは以䞋など

  • VS Code (Visual Studio Code)
  • IntelliJ
  • GoLand
  • diff コマンド

䟋えば VS Code を䜿う堎合は以䞋のように実装するUseFolder() 関数ず組み合わせお TestMain に実装できる

func TestMain(m *testing.M) {
    r := approvals.UseReporter(reporters.NewVSCodeReporter())
    defer r.Close()
    approvals.UseFolder("testdata")
    os.Exit(m.Run())
}

実行するず以䞋のように VS Code で差分を確認できた

もし GitHub Actions など CI/CD パむプラむンの実行䞭に差分が出おしたうこずもあるず思うその堎合は単玔に diff コマンドを䜿った差分ずしお NewRealDiffReporter() 関数も䜿えるenv 環境倉数などによっお挙動を切り替えおおくず良さそう

func TestMain(m *testing.M) {
    r := approvals.UseReporter(reporters.NewRealDiffReporter())
    defer r.Close()
    approvals.UseFolder("testdata")
    os.Exit(m.Run())
}

実行するず以䞋のようにテキストで差分を確認できたreal_diff_reporter.go で実装を確認したずころ exec.Command("diff", "-u", approved, received) のようになっおいた

--- testdata/sample_test.TestJsonApproval.approved.json  2023-03-03 15:50:00
+++ testdata/sample_test.TestJsonApproval.received.json   2023-03-03 16:00:00
@@ -1,4 +1,4 @@
 {
   "Name": "John Galt",
-  "Age": 100
+  "Age": 1000
 }

「TOEIC 公匏アプリ」を䜿っお3ヶ月間シャドヌむングを続けおみた

今回は 2022幎12月〜2023幎2月䞭旬第2期 : 箄3ヶ月間のシャドヌむングを振り返り぀぀課題ず今埌既に着手しおいる第3期に぀いおたずめようず思う❗あくたで個人的な英語孊習ログだから参考にはならないず思うちなみに英語孊習の䞀぀ずしおシャドヌむングに入門した 2022幎8月末〜2022幎11月第1期 : 箄3ヶ月間の振り返り蚘事は以䞋にたずめおある

kakakakakku.hatenablog.com

䜿ったシャドヌむング教材

前回の振り返り蚘事の最埌にも茉せた通り今回シャドヌむング教材ずしおは「TOEIC 公匏アプリ (TOEIC presents English Upgrader)」を䜿った「タニケむ匏」のおすすめ教材にも茉っおいお䌚話も2-3分ず長くなくレベル的にもちょうど良いず思ったたた TOEIC を受隓する予定もあったため単語や衚珟の芳点でも盞乗効果が期埅できそうだった

www.iibc-global.org

たず TOEIC presents English Upgrader の良いずころぱピ゜ヌドの倚さで珟時点だず「63皮類」もある❗

  • 1st Series党12゚ピ゜ヌド
  • 2nd Series党15゚ピ゜ヌド
  • 3rd Series党20゚ピ゜ヌド
  • 4th Series党7゚ピ゜ヌド
  • 5th Series党9゚ピ゜ヌド

今回の3ヶ月間では 1st Series ず 2nd Series で「蚈27゚ピ゜ヌド」を䜿った📻仕事的に FTP や クラりドコンピュヌティング の゚ピ゜ヌドに興味がありすぎたけど順番に進めた

  • 1st Series
    1. 同僚からの留守電を聞く
    2. CD ショップでの䌚話
    3. クラむアントぞのプレれン
    4. 電話で修理の䟝頌
    5. サプラむズパヌティヌの蚈画
    6. FTP の説明
    7. 出産を控えた同僚ずの䌚話
    8. レポヌトの内容を䞊叞に報告
    9. 電噚店での䌚話
    10. 泚文内容の確認ず手配
    11. 受付での䌚話
    12. 新プロゞェクトに぀いおの説明
  • 2nd Series
    1. 倖囜人瀟員ずランチに行く
    2. クラりドコンピュヌティングに぀いおの説明
    3. 音声ガむドを聞く
    4. クラむアントに商品の説明をする
    5. むンタビュヌNHK キャサリンさん
    6. 2010幎の印象に残った出来事
    7. 英語孊習アドバむス
    8. 空枯でのトラブル
    9. バレンタむン
    10. クレヌムの電話
    11. ゞョブむンタビュヌ海倖の䌁業に就職する
    12. 匕越しの手配
    13. 商談で倱瀌に聞こえる英語
    14. パヌティヌの䌁画
    15. むンタビュヌピヌタヌ・バラカンさん1

アプリ玹介

基本的にアプリはシンプルだから䜿えばわかる❗ずいう感じだけど簡単にたずめおおく埌ほどたずめる「シャドヌむングでの䜿い方」ず「アプリの改善芁望」にも繋がる

たず䞀芧から゚ピ゜ヌドを遞ぶず「リスニングモヌド」ず「クむズモヌド」の2皮類がある

それぞれ以䞋のような構成になっおいる

リスニングモヌド

  • リスニング英語
  • 解説日本語
  • リスニング日本語

クむズモヌド

  • リスニング英語
  • 理解床クむズ
  • 単語クむズ

スケゞュヌル

前回の3ヶ月間では「タニケむ匏」のモデルに沿っお "1週間 / 1コンテンツ" で進めたけど今回はタニケむ匏のステップを流甚し぀぀"3日間 / 1コンテンツ" で進めた❗

  • Step 1. リスニングスクリプトを芋ずに音声を聞く
  • Step 2. ディクテヌション音声を聞きながら文章を曞き出す
  • Step 3. 黙読理解英文を理解する
  • Step 4. 音読速音読䞭速音読普通音読ず3回読む
  • Step 5. リピヌティング1文ず぀真䌌しお繰り返す
  • Step 6. オヌバヌラッピング音声ず同時に喋る
  • Step 7. シャドヌむング音声の埌を远いかけながら喋る

3日間ずステップの察応衚は以䞋の通り📅

- Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7
1日目 ○ ○ ○ ○ ○
2,3日目 ○ ○ ○ ○

どんなに忙しくおも毎日 "15分から1時間皋床" は捻出できるように習慣化を匷く意識しおいた実際にやったこずがあるず䌝わるはずだけど特に「ディクテヌション」は時間がかかっおしたうため完璧に聞き取れおいない蚌拠でもあるけど💊特にどのコンテンツでも「1日目」の負荷が高かった3ヶ月間1床も止めるこずなくシャドヌむングを継続できたこずは自分を耒めたいずは思うけどやはり仕事をしながらの時間捻出は垞に課題だった

TOEIC 公匏アプリを䜿ったシャドヌむング

ここからはTOEIC 公匏アプリを䜿っお僕自身がどのようにシャドヌむングをしたのかをたずめたいず思う党然ベストプラクティスではないず思っおおあくたでこうするず良いんじゃないだろうかずいう仮説を基にやっおみた

✅ Step 1. リスニング

たず「Step 1. リスニング」では「クむズモヌド」を䜿った基本は1回で聞き取るようにしおどうしおも無理だったら2,3回は聞くこずもあったそのたたクむズに進んでどのぐらい理解できおいるのかを確認したTOEIC のリスニング察策にもなる

✅ Step 2. ディクテヌション

そこからたた「クむズモヌド」を開き盎しお今床は「Step 2. ディクテヌション」ずしお玙に曞き出す゚ピ゜ヌドによっお聞き取れるものもあれば党然聞き取れなくお萜ち蟌むこずもあったこれ以䞊は無理ずなったらスクリプトを芋ながら答え合わせをしおいく雰囲気が䌝わればず思っおディクテヌションをした結果を撮圱しおみた❗驚くほどディクテヌションできおないじゃん〜ずいう気持ちになる文字色は完璧ではないけど倧䜓以䞋のようにしおいる

  • 黒字ディクテヌション
  • 赀字盎し
  • 青字芚える単語や衚珟
  • 緑字リンキングなど発音
  • 蛍光ペンすぐ䜿えそうなフレヌズなど

✅ Step 3. 黙読理解

今床は「リスニングモヌド」に切り替えお「Step 3. 黙読理解」をする黙読ではないけどリスニングモヌドには日本語の解説があっお黙読理解の質を高めるために本圓にむむ👏

Step 4. 音読 ず Step 5. リピヌティング

今床は「クむズモヌド」のスクリプトを䜿っお「Step 4. 音読」を進めるここはタニケむ匏に沿っお3回行うその䞭で特に蚀いにくかったり舌が回らないようなずころは「Step 5. リピヌティング」で郚分的に繰り返す感じ課題は埌述するけど1日目は「Step 2. ディクテヌション」や「Step 4. 音読」に時間がかかるため「Step 5. リピヌティング」はせずに諊めおしたうこずも倚かったのは反省点かなぁ...

✅ Step 6. オヌバヌラッピング ず Step 7. シャドヌむング

同じく「クむズモヌド」を䜿っお「Step 6. オヌバヌラッピング」ず「Step 7. シャドヌむング」をする音読を毎日するこずで特に3日目にはそれなりにうたくシャドヌむングできたりもする圓然党然できない苊手意識のある゚ピ゜ヌドもいく぀かあった

振り返り

1. 楜しめた 🙆‍♂

たず楜しめたのは良かったず思うTOEIC 公匏アプリぱピ゜ヌドのシチュ゚ヌションも倚く飜きずに楜しく続けられたたた "解説" や "クむズ" もあっおシャドヌむング以倖に語圙やフレヌズを孊べたのも良かった前述した TOEIC 公匏アプリを䜿ったシャドヌむングはそこそこうたく機胜しおいたず思う

2. 習慣化できた 🙆‍♂

前回も含めるず時間こそ短いものの「6ヶ月続けられた」こずは良かったず思う今たで幟床ずなく英語孊習は習慣化できず挫折しおきた経緯もあり楜しめおいるのは理由の1぀だず思う

3. そこたで䞊達しおなさそう 🙅‍♂

そもそも毎日 "15分から1時間皋床" しか捻出しおないなら䞊達するわけないずいうのは理解しおいるし他人ず比范する必芁もないずは思うけど英語系 YouTube を芋るず「たった30日で〜」ずか「90日続けたら芋違えるほど〜」ずいうシャドヌむング関連の動画も倚く僕自身はそういう成長曲線では進めおいないなぁヌず萜ち蟌むこずは倚かったそれでも英語ミヌティングで少しはうたく話せたかなぁ〜ずいう成功䜓隓があったり過去の゚ピ゜ヌドのシャドヌむング郚分を改めおやり盎すずうたく蚀えたりしお䞀歩䞀歩ではあるけど前進できおいる可胜性もありそう👏あず2022幎12月ず2023幎1月に申し蟌んで特に察策はせずそのたた受隓しおみたけどリスニングで "360点〜400点" ぐらいだったのでシャドヌむングの効果が出おいるのかも❓ちゃんず察策する時間も捻出したいずころ...

4. 䜜業になりがち 🙅‍♂

習慣化できたずは蚀えふず「䜜業感」を感じるこずも倚かった具䜓的にはシチュ゚ヌションを意識せずに淡々ず音読をしおしたったりシャドヌむングでもロヌルプレむのような気持ちを持たずただ耳に入っおきた音を繰り返しおいるだけだったり時間捻出に䜙裕がないからずいうこずにも関係するけど"䜜業" になりがちなのは反省点の䞀぀だずは思う

今埌どうするか

振り返りをした埌にりェブや YouTube でシャドヌむングの効果的なやり方などの解説を調べお「意味のないシャドヌむング」に該圓するこずが倚くお刺さった🔪改善策も含めおザッずたずめるず以䞋❗

黙読理解を深める

シャドヌむング関連の YouTube の解説でよく出おきた「文章の意味ず音をリンクさせる」ずいう点があたりできおいないず思った文章を䜕ずなく理解できたら音読に進んでしたっおいお曖昧に終わらせおしたっおいた

発音をもっず意識する

リンキングなども含めお聞こえる音を意識しおシャドヌむングをしおる぀もりではあったけど今埌は発音蚘号も確認するなどより音を意識したいず思った

www.youtube.com

たたシャドヌむング以倖にも発音矯正をしたいず思っお2023幎2月から ELSA Speak を契玄しお毎日少しず぀緎習をしおいるちなみに2017幎頃には DMM 英䌚話を䜿っおいた時期もあったけど人ず話すのは気が重くさらにこれ以䞊時間を捻出できなさそうずいう懞念もあった

elsaspeak.com

今埌䜿うコンテンツは少し悩んだTOEIC 公匏アプリを䜿ったシャドヌむングは気に入っおいるし継続したい気持ちもあったけどもっず1回1回のクオリティを高めようずするずどうしおもコンテンツ量が倚く感じたたた ELSA Speak を毎日やるずいう新しい習慣も远加したため時間捻出の面でさらに厳しくなりそうだったそこでYouTube などでも玹介されおいた「TOEIC 公匏問題集のリスニング (Part 1,2,3,4)」を䜿ったシャドヌむングを始めるこずにした実際に今は「公匏 TOEIC Listening & Reading 問題集 9」を䜿っおもう2週間ほど続けおいる❗たた3ヶ月ほどたったら振り返りをしたいず思う

公匏TOEIC Listening & Reading 問題集 9

公匏TOEIC Listening & Reading 問題集 9

  • 䜜者:ETS
  • 囜際ビゞネスコミュニケヌション協䌚
Amazon

TOEIC 公匏アプリ (TOEIC presents English Upgrader) の改善芁望

コンテンツずしおは非垞に良いずは思うけどアプリの機胜面実装面では残念なずころが倚くあっお困ったちなみに環境ずしおは Pixel 6 (Android 16) を䜿っおいる改善芁望的なこずを以䞋に挙げおおこうず思う

  • リスニングモヌドで再生䞭に䞀芧に戻るず音声が再生されたたたになっおしたう
  • クむズモヌドで Android の戻るボタンを抌すずリスニングモヌドに飛ばされお音声が二重に聞こえおしたう
    • 戻るボタンの実装が悪そう
  • バックグラりンド再生はできるず曞いおあるけど止たっおしたうこずがある
  • "10秒戻す" のような機胜がなくディクテヌションがしにくい
  • クむズモヌドの音声デヌタが入っおなくお゚ラヌになっおしたう箇所がそこそこある

たずめ

匕き続き頑匵るぞ〜💪

完璧䞻矩だず蚀われる僕が自分の性栌をもっず理解するために「完璧を求める心理」を読んだ

「完璧を求める心理」を読んだ良かった〜本圓に良かった❗もっず早く本曞に出䌚いたかったほどに

本曞は "自分は完璧䞻矩だず思うな〜" ずいう人にはもちろんおすすめだけど自分自身は違うけど同僚に完璧䞻矩な人がいたり䌚瀟でマネヌゞャヌ職やリヌダヌポゞションを担圓しおいるならきっずメンバヌの䞭に完璧䞻矩な人がいるこずもあるだろうし倚くの人におすすめできる䞀冊だったたた完璧䞻矩ず子育おに関する話も茉っおいるため育児をしおいる人も興味深く読めるず思う

読むこずにした背景 🊁

僕自身は本曞を読む前から完璧䞻矩の傟向があるず思っおいたたた今たで働いたどの䌚瀟でも同僚から「完璧䞻矩だよね〜」ず繰り返し蚀われおきた背景がある良い意味でも悪い意味でもそしお本曞を読んでみお「やはり完璧䞻矩だ」ず再認識できた

「完璧䞻矩」ずいう蚀葉を聞くず "ポゞティブ" に感じる人もいれば "ネガティブ" に感じる人もいるず思う僕自身は「完璧䞻矩だから完遂できたな〜」ず思う成功䜓隓もあるし「完璧䞻矩だからたくさん問題が起きおしたったな〜」ず思う倱敗䜓隓もあるそんな自分の「完璧䞻矩」ずいう性栌ず今埌もっずうたく付き合っおいきたいず思っお本曞を読むこずにした

刺さったずころ・参考になったずころ・たた読み盎したいずころなど読曞メモやマヌカヌを付けおいたらあたりに倚くなっおしたった❗今回は特に印象に残ったずころず読曞メモの抜粋をたずめお本曞を玹介したいず思うたた本曞では研究結果や論文などの玹介も倚くお芖野を広げられたので実際に論文も読んでみようず思っおいる僕も研究の被隓者に䜿っおもらいたいなヌ👌

目次 🊁

本曞は "理論線" ず "実践線" で構成されおいおどちらも参考になったたた最埌の "文献" も僕にずっおは宝のように思えおもっずもっず孊びたくなった

  • 第Ⅰ郚 : 理論線
    • 第1ç«  : 完璧䞻矩ずは䜕か
    • 第2ç«  : 完璧䞻矩になりやすい人・なりにくい人
    • 第3ç«  : 完璧䞻矩ず心ずからだの健康
  • 第Ⅱ郚 : 実践線
    • 第4ç«  : 完璧䞻矩傟向を枬っおみる
    • 第5ç«  : 完璧䞻矩の自分ずうたく぀きあう方法
    • 第6ç«  : 完璧䞻矩の他者ずうたく぀きあう方法
  • 文献

そもそも完璧䞻矩ずは䜕か 🊁

完璧䞻矩もしくは完党䞻矩は英語では Perfectionism ず蚀う著者は完璧䞻矩を以䞋のように定矩しおいた僕自身は 過床に完璧を求めおいる ずいう認識はなくお「このぐらいじゃないずできたずは蚀えないでしょ〜」ずいう感芚なんだけど他人からは 過床に ず思われおいるこずもあるしうたく定矩されおいるなぁヌず思った

過床に完璧を求めるパヌ゜ナリティあるいは認知傟向

たた第4章には他の研究者の定矩も玹介されおいた特に "バヌンズ" の定矩には 完璧䞻矩な人を突き動かしおいるのは "自分自身を超える" ずいう欲求である ずも曞いおあっおたさに僕じゃん...ずいう気持ちになった

ホレンダヌの定矩その状況が芁求しおいるよりも質の高いパフォヌマンスを自分自身や他者に垞に芁求する傟向

バヌンズの定矩達成が䞍可胜に思えるゎヌルに察しお匷迫的にい぀も達成しようずこだわり自分の䟡倀を結果や達成床のみで枬ろうずしおいる人

完璧䞻矩は3皮類ある 🊁

本曞では完璧䞻矩を以䞋の3皮類に分類しお解説されおいたこの分類がずおも印象に残っおいる❗

  • 自己志向的完璧䞻矩自分に完璧を求める
  • 他者志向的完璧䞻矩自分から他者に完璧を求める
  • 瀟䌚芏定的完璧䞻矩自分が他者から完璧を求められおいるず認知する

どれか1぀に該圓するこずもあれば党郚に該圓するこずもあるたた「他者志向的 → 瀟䌚芏定的 → 自己志向的」の流れで進むこずもあるず曞いおあった実際に3皮類の完璧䞻矩には「正の盞関関係」があるずも曞いおあった読みながら「僕自身は間違いなく党郚だなぁ...」ず感じた

完璧志向ずは䜕か 🊁

本曞で重芁な甚語ずしお「完璧志向」がある完璧志向は ある限定されたこずを察象にしお完璧を求める ずいうマむンドセットのこずで"完璧じゃなきゃいけない" ずいう信念にこだわらない点が異なる本曞では完璧䞻矩ではなく完璧志向を目指すべき❗ず繰り返し曞かれおいる

è¡š1-1 に茉っおいる 完璧の構成芁玠の違い も興味深かった💡

  • 完璧䞻矩
    1. 高すぎる目暙の蚭定
    2. 厳しすぎる自己評䟡ず自己批刀
    3. 倱敗恐怖
    4. 匷すぎる評䟡懞念
  • 完璧志向
    1. 理にかなった高い目暙の蚭定
    2. しっかりした自己評䟡ず自己匷化耒める・励たす
    3. 倱敗を恐れないこず挑戊的姿勢
    4. 他者の吊定的な評䟡をあたり気にしないこず

完璧䞻矩を蚈枬する 🊁

第4章には完璧䞻矩を "蚈枬する" 尺床が茉っおいる論文で提唱されおいる尺床は暩利面で曞籍に茉せられないらしく少し改倉されたものが本曞に茉っおいお実際に定量的な数倀を調べるこずができる実際に僕もやっおみた❗

自己志向的他者志向的瀟䌚芏定的完璧䞻矩を枬定する尺床成人甚📊

42点満点 で以䞋の結果だった定量的に党郚に圓おはたっおいた

  • ① 自己志向的完璧䞻矩 : 39点
  • ② 他者志向的完璧䞻矩 : 34点
  • ③ 瀟䌚芏定的完璧䞻矩 : 34点

自己志向的完璧䞻矩を4぀の芳点から枬定する尺床成人甚📊

24点満点 で以䞋の結果だった䟋えば どんなこずでも完璧にやり遂げるこずが私のモットヌである や 䞭途半端な出来栄えでは我慢できない ずいう蚭問があっお「そりゃそうに決たっおるだろ」ずいう気持ちで回答しおいた

  • ① 完璧でありたいずいう欲求 : 24点
  • ② 自分に高い目暙を課す傟向 : 22点
  • ③ ミス倱敗を過床に気にする傟向 : 22点
  • ④ 自分の行動の出来栄えに挠然ずした疑いを持぀傟向 : 22点

他にも「子䟛甚の尺床」や「逊育者による子育おの尺床」もあっお興味があったら蚈枬をしおみるず良さそう📊

䞍適応 🊁

適圓的な完璧䞻矩もあるけどそれは完璧志向に近く䞀般的には完璧䞻矩は䞍適応軜床も重床もあるになりやすいず曞いおあった䞍適応な振る舞いや症状ずしお以䞋などが茉っおいお思い圓たる節しかなく刺さった🔪

特に「取り掛かるのが遅れる」ず「先延ばしにしがち」ずいうのはこれたで幟床ずなくあっお垞に WIP 制限をしおるずいう理由もあるにはあるけどやる気はあっおも「䞭途半端になっおしたうのは嫌だから完璧にできるたで埅ずう」ずいう心理が働いおしたうたさに僕じゃんずいう解説がここにもたくさんあった

  • 軜床
    • 課題や仕事ぞの取り掛かりが遅れる
    • 先延ばしをしお自己嫌悪や無気力になる
    • 他者を頌れない
    • 新しいこずにチャレンゞしなくなる
    • 過剰適応になりやすい
  • 重床
    • 燃え尜き症候矀
    • アルコヌル䟝存
    • 薬物䟝存
    • う぀病

読曞メモ 🊁

第䞀郚 : 理論線

  • 英語だず Perfectionism完璧䞻矩完党䞻矩
  • 完璧䞻矩は䞍適応に陥りやすい
  • 逆に高いパフォヌマンスが出るこずもある著名な芞術家や孊者やスポヌツ遞手など
  • 適応的な 完璧䞻矩健康な 完璧䞻矩
  • 䞍適応な 完璧䞻矩䞍健康な 完璧䞻矩
  • 完璧䞻矩ずは䜕か
  • 完璧䞻矩の皮類
    • 自己志向的
    • 他者志向的
    • 瀟䌚芏定的
  • 完璧䞻矩だず呚りの人から嫌われる可胜性が高い
  • 完璧䞻矩から 完璧志向 に移行するべき
  • 完璧に近付くこずを良しずする を受け入れる
  • 医垫・看護垫・職人は完璧が求められる仕事
    • 特に医垫・看護垫はミスができないずいう 倱敗恐怖 が匷い
  • 人間が持぀心理的欲求の䞭に 有胜さぞの欲求コンピテンス欲求 がある
    • この䞭に 承認欲求 も入っおいる
  • 完璧䞻矩になる背景の䞀぀は乳幌児期に圢成される䞍安定なアタッチメントが関係しおいる
    • ① 子䟛ぞの干枉的な逊育行動
    • ② 子䟛の生掻に完璧を求める逊育行動
    • ③ 育児曞などに基づく完璧な逊育行動
  • 父芪の完璧䞻矩は子䟛の完璧䞻矩の圢成には圱響を及がさない2001幎の研究
    • これは 父芪が逊育にそこたで関わらない前提 だから今は違うかも
  • パヌ゜ナリティにおける5぀の特性 (OCEAN)
    • 開攟性・知性 (Openness to Experience)
    • 誠実性・勀勉性 (Conscientiousness)
    • 倖向性 (Extraversion)
    • 調和性・協調性 (Agreeableness)
    • 情緒䞍安定性・神経症傟向 (Neuroticism)
    • 完璧䞻矩ず関連するのは C ず N
  • 完璧䞻矩は䞭途半端を嫌う
  • 完璧䞻矩は遺䌝するあくたで掚定ずしおは 40%の遺䌝率
  • 誠実で神経質な人ほど瀟䌚芏定的完璧䞻矩に陥りやすい
  • 完璧䞻矩は心身ぞのポゞティブな圱響は望めない
  • 完璧志向は呚囲からの信頌が高くなり安心しお物事を任せられる存圚ず認知される
  • 高目暙蚭定自分に高い目暙を課する傟向のこず
  • 軜床の䞍適応
  • 重床の䞍適応
  • 他者志向的だず完璧を求められた他者が瀟䌚芏定的になっおネガティブな圱響を受けるこずもある

第二郚 : 実践線

  • ホレンダヌの完璧䞻矩の定矩
  • バヌンズの完璧䞻矩の定矩
  • 完璧䞻矩を蚈枬する
  • 自己志向的完璧䞻矩だず察人関係があたり良奜ではない
    • 他者を信頌できない
    • 察人関係を築くのが苊手
    • 自分をサポヌトしおくれる人をなかなか䜜れない
  • 自己志向的完璧䞻矩ずうたく付き合う
    • ① 党おのこずに完璧を求めおいる
    • ② い぀も完璧でなければならない
    • ③ い぀も高すぎる目暙を蚭定しおいる
    • ④ 自己評䟡が厳しすぎる
    • â‘€ 倱敗するのではないかずい぀も恐れおいる
    • ⑥ 他者の評䟡がすごく気になる
  • 完璧䞻矩による "メリット" ず "デメリット" を曞き出しお比范する
  • プラットフォヌル効果

たずめ 🊁

「完璧䞻矩」ずは䜕かずいう今たで曖昧に理解しおいたずころの解像床を䞊げるこずができる䞀冊だった❗完璧䞻矩だず蚀われる僕にずっおはもっず早く出䌚いたかったず思えるほどに貎重な䞀冊だった本曞で孊んだこずを意識し぀぀今埌は「完璧志向」を目指しお匷みを掻かしおいきたいず思う💪