bookmark_border[手術ブログ] 鼻中隔矯正術を日帰りで受けてきた | 翌日~9日目

前のレポはこちら

←← 3ヶ月前~前日 ← 当日

ここ:鼻に入っているプレートを抜いてもらう前日までのことです。

→ 10日目(プレートを取った日)~半年


今回受けた手術

  • 鼻中隔矯正術 – 鼻の真ん中にある軟骨を切除する
  • 下鼻甲介粘膜切除術 – 鼻の中で特に腫れる粘膜を減量する
  • 後鼻神経切断術 – くしゃみ/鼻水を司る神経を切断し、それを発動しにくくする

日帰り, 局所麻酔です。


日帰り手術翌日 (2日目)

30~60分に1回起きるというほとんど眠れない夜を過ごしました。血を頭の方にできるだけ回さないよう頭を高くして横になるようにとのことだったので、手術前に布団の下の頭のあたりに技術書を積み重ねておいていました。

昨日より少しは過ごしやすくなりました。でも鼻で全く呼吸ができないのは覚悟していたとはいえきついです。安静と言われていたので積読の制覇とゲームのチャンスだと思っていざ取り掛かるものの、完全口呼吸の苦しみで小一時間やるときつくなり横になっていました。

相変わらず食べ物は味がせず、匂いはもちろん全く感じません。


術後3日目

口呼吸しかできないことに嫌気が差して、そのことに意識が行くだけでストレスで朝から腹痛がしていました。

止血剤を取ってもらう

メロセルという止血用のスポンジが鼻の中に入っているのでそれを抜いてもらうために再び耳鼻科に行きます。取るときはそれなりに痛いらしく、息を吐くタイミングで取れば痛みが軽減するとのことで指示通りに呼吸するよう言われ、そうこうしているうちに取ってくれました。おかげさまでそんなに痛みは感じませんでした。

止血剤を抜いた直後からじわじわまた出血するので、血を受け止める容器を渡され自分の手で持ちます。ぽたぽた落ちる血を受け止めながら奥の部屋に連れて行かれ、止まるのを待ちます(10分くらい)。血が止まったら綿のようなガーゼが少量入り終了。

まだ鼻の粘膜の腫れは続くらしく、でもこれから1週間くらい毎日鼻うがいすることで日に日に良くなっていくのを感じるとのこと。

いままでの鼻の通り(点鼻薬を使用した状態)を100%とすると、5%くらい通っているような感じです。でもこの5%の開通は貴重で、飲み物を飲むとき気道がつっかえる感じがなくなりました。

5%通ったのも束の間、完全口呼吸に戻りました。でも明日から鼻うがいができるのは希望です。顔が腫れぼったい感じはなくなりました。


術後4日目

5%くらい開通し、最強の不快感は脱しました。味も20%くらい戻っています。

鼻うがいをすると血を吸ったガーゼが出てきます。鼻うがいは1日2回するようにとのことで、この日の夜に25%まで開通しました。頑張れば鼻だけでも呼吸ができます。


術後5日目

初めてデスクワークをします。長時間話すのは体力的に不安があるのでZoomでのミーティングはまだ難しそうに感じました。鼻が25%くらい通っているせいか、口呼吸のつらさが軽減されそれに慣れてきた感があります。

同じ手術をしたいろんな方のブロクを検索する余裕がでてきたので読んでいると、「この時期は鼻うがいのたびにすっきりしていく感じがある」という趣旨のことをよく見かけて同意してました。

開通は30%くらい。鼻うがいでドロっとした血と鼻水がまざったものが出てきます。でも日を追うごとに少しずつ血の比率が減っていくのを確実に感じました。


術後6日目

呼吸が鼻で少しできるようになってきたので夜目覚めることはなくなりましたが、やはり口呼吸であることには変わりはありません。息を吸うたび舌に常に空気が当たり、舌の先がずっと痛みます。

唇が割れてきたのでここではじめてリップクリームを使い始めました。もっと早くから使うべきだった。

鼻うがいをするとき、血がほとんどでなくなりました。開通は40%くらい。


術後7日目

このあたりから、鼻の通りが良くなるスピードが上がり始めました。

開通は術前の50%くらい。術前は詰まってきたなと思ったら点鼻薬をしていましたが、その詰まってきたなくらいの感覚です。


術後8日目

プレートを取ってもらわなくても生活していけるんじゃないかと思えるくらいまで鼻の通りが良くなりました。術前の80%くらいで、総じて見ればプレートがまだ入っているこの段階でも術前より良いです。

鼻うがいをしても血が混ざることがなくなりました。


術後9日目

点鼻薬をしていないのに点鼻薬をしたかのようです(=術前の100%の開通)。鼻のことが全く気にならなくなりました。ただ左側の鼻は最初から構造的に狭いようで、右を塞ぐとやや呼吸はつらい感じです。

明日プレートを取ってもらう

すでに術前より良いので、明日プレートを取ってもらったらどうなるのかと期待が高まります。

プレートを取ってもらった先はやはり長くなってきたので別記事にします。


←← 3ヶ月前~前日 ← 当日 ここ → 10日目(プレートを取った日)~半年


個人のレポですので、本サイトの情報をご活用は自己責任を条件にしてください。

bookmark_border[手術ブログ] 鼻中隔矯正術を日帰りで受けてきた – 当日

前後のレポはこちら

← 3ヶ月前~当日 →翌日~9日 →→10日~半年


今回受けた手術

  • 鼻中隔矯正術 – 鼻の真ん中にある軟骨を切除する
  • 下鼻甲介粘膜切除術 – 鼻の中で特に腫れる粘膜を減量する
  • 後鼻神経切断術 – くしゃみ/鼻水を司る神経を切断し、それを発動しにくくする

日帰り, 局所麻酔です。


日帰り手術当日

受付が済んですぐ血圧と血中酸素濃度の測定。酸素濃度は98/100で問題ないとのこと。

受付

11時前。病院を出たのは16時くらいでした。

抗原検査

ご時世なので検査を受けます。インフルの検査と同じく、片方の鼻の中に長い綿棒を入れられます。費用がかかりますが当日の会計にincludeされるので、高額療養費制度の恩恵で負担額に実質影響はありませんでした

結果は陰性で、数日前に撮ってもらった肺のCT画像も照らし合わせ感染していないと先生がご判断。手術衣に着替えます。手術後ただでさえ呼吸が苦しくなるので、抗原検査が偽陰性でないことの確認はありがたいです。

着替えて手術台へ

持ち物をロッカーに入れて手術衣に着替えます。手術台に横になり、眠くなる(?)液体を点滴され始めます。1時間後にはほとんどの人はいびきをかいて寝るとのこと。

この時点でお昼をまわったくらい、来院してから1時間半ほどです。

手術

ジャズが流れる手術室で鼻に麻酔を打たれた後、ごりごり鼻の骨が削られていくのを感じます。先生が看護師さんへ器具を指示する中、時々「ノミ」と言うのが何度かはっきり聞こえます(彫刻刀のようなあれと思われます)。

手術が終わるまでの1時間強ほとんど意識がありました。3回ほど夢を見ましたが体感それぞれ数秒でした(それが実際どれくらいの時間のことだったのかはわからないですが)。どうでもいいですが 一つは仕事をする夢、一つはバンドをするアニメのキャラがギターを持っている夢、もう一つは覚えてません。

立ち会った看護師さんによるとこれほど起きていた人は久しぶりとのこと。でもその点滴のおかげで恐怖も焦りもなかったのではと思います。

「せっかくじっとしている時間だから何か仕事のアイデアを生み出せないか」と思うものの、何について考えたらよいか考えてなかったせいで骨が削られている感に意識を持っていかれました。何かの待ち時間が発生したとき用に本は持参してましたが、手術台の上でそこそこ意識があるのは想定外でした。そういう時に考えるイシューを何か用意しておけば良かったと少し後悔しながら終わるのを待ちます。

痛い?

基本的に痛くはないですがときどき感じることがあり(骨を取っているとき?)、伝えるとすぐ麻酔を追加してくれました。痛みを我慢すると血圧が上がって出血のリスクが高くなるので、このへんは遠慮しないようにとのこと。

手術直後

1時間くらいそのまま手術台の上で安静。終わってすぐベッドを起こして水をくれました。完全口呼吸のため口の中がひどく乾いていて、つばすら飲み込めなかったのでありがたい。この時点で鼻の中にはメロセルという止血用のスポンジが入っていて、鼻では全く呼吸ができません。

それほど痛みは感じず、鼻の中がなんとなくつーんとしている程度です。

手術1時間後

起き上がり、点滴がつながったまま診察室に歩いて移動します。先生は口の中を見て、「あ、全然大丈夫!」とのこと。何が大丈夫なのかはいまだよくわからず…

点滴の針を抜いてもらった後、着替えて会計を待ちます。

患部は「ちょっと痛い?」くらいです。 これを書いているのは手術から7日目ですが、自分の場合これ以上鼻に痛みを感じることはありません。痛み止めが効いたのかもしれません。

手術3時間後

会計します。近くの薬局に処方箋を持っていくあたりで血が垂れてきました。持ってきていたティッシュでおさえまくります。病院を出るあたりが特に出血するという看護師さんの予告通り。

痛み止めとアレルギー反応を抑える薬を受け取り、迎えの家族の車に乗ります。痛み止めはすぐ飲んだほうがよいという看護師さんのアドバイスに従い車内ですぐ服用。

2日後にスポンジを取る予定ですがそれがありえないほど遠く感じます。


苦痛の数日の始まり

手術よりも手術後が本番でした。

帰宅~夜

痛み

患部ではなく、なぜか歯が痛くなります。止血用のスポンジが入っているので100%鼻が詰まっており、口呼吸しかできないので空気が歯に触れると染みるような感覚で余計痛く感じます。

後日調べたところ同じく鼻の手術をした方が歯の痛みを訴えていて、体は痛みを近くの部分のそれと錯覚することがあるらしいと初めて知りました。

腫れ

顔が腫れぼったく、例えるならあるいはしかめっ面を全力でやり続けているような感じ、あるいは風邪を引いて熱を出したときの感覚から発熱とだるさを引いたような感覚です。発熱すると予告がありましたが痛み止めの解熱作用のせいか自分は発熱しませんでした。

ここで家族が氷枕と冷却シートを持ってきてくれました。これがかなり助かり、腫れぼったさが軽減されました。調べると他の方も病院で氷枕を支給されたレポを挙げていらっしゃいました。

血が出てくるので、帰ってから3時間くらいは10分に1回綿球を取り替えていました。

完全口呼吸の苦しみ

同じ手術を受けた他の方もおっしゃっているとおり完全口呼吸がつらすぎです。気道に空気の逃げ道がないせいか、食事や つばすら飲み込むのに苦しみを感じます。食べ物、飲み物は全く味がしません。今ならドラゴンフルーツでもなんでも食べられそうな気がします。寝ようとしても寝られず、30~60分に一回起きました。

← 3ヶ月前~当日 →翌日~9日 →→10日~半年


当日持っていって良かったもの/こと

日帰りの要素が強いですが、入院された方も同意されると思います。

箱ティッシュ + ビニール袋

日帰りだったので特にです。病院から出たあたりで鼻から血が垂れ落ちてきました。水道の蛇口が締まりきっておらず、2~3滴/秒でてくるイメージです。

綿球を取り替えるのが正攻法と思われますが、外では手っ取り早くティッシュを取り出しては押さえるのが楽です。そして専用のゴミ袋として持っていったビニール袋に捨てていきます。帰りの車の中でずっとこれを繰り返していました。

家族のお迎え

病院側の説明でも、タクシーなど車で迎えに来てもらうよう事前に指示がありました。確かに帰り際 血が出てきたので、あの状況では車でしか帰れなかったと思います。

最初は一人で行き帰りのつもりでいましたが大きな間違いでした。

事前に準備しておいて良かったもの/こと

術後数日は買い物どころか外出自体が困難でした。

綿球

市販の綿球 数十個入りを買っておきました。結構なペースで消費します。

数日分の食料

買い物ができないので、手軽に食べられるものを手術前にいろいろ用意しておくのは正解だと思います。自分は一人暮らしですが近くに家族がおり、毎日食事の用意をしてくれたのは非常に大きかったです。

頭部を冷やすもの

顔が腫れたので、氷枕や冷却シートは個人的に助かりました。病院では特に用意するよう何も言われなかったのでこれが正しいのかは不明です。

仕事の調整

術後の完全口呼吸のダメージは想像より大きく、ものを考える力が落ちるので4日間仕事はできませんでした。

普段はフリーランスとしてIT系の新入社員研修の企画運営などに参加させてもらっていますが、このときばかりは戦力になれません。事前に事情をお伝えして術後数日はオフを願い出ました。みなさんありがとうございます。

暇つぶしの題材

術後は結構暇です。でも思うように動けないのでできることも限られます。部屋で静かにできることを考えておくと良いと思います。

今回積読をいくらか解消できたのは良かったです。


翌日以降〜

別記事にします。

← 3ヶ月前~当日 →翌日~9日 →→10日~半年


個人のレポですので、本サイトの情報をご活用は自己責任を条件にしてください。

bookmark_border[解説] Scannerのclose()は必要?

Javaの入門書などで学習中、 java.util.Scanner を使うと次のように表示されることがあります。

リソース・リーク: 'scanner' が閉じられることはありません

これは何

Javaのコンパイラが出す警告で、エラーではありません(無視しても動くといえば動く)。

Scannerは使い終わった後 closeメソッドの呼び出しを期待されています。でも呼び出していないので警告を発しているという状況です。以下のようにcloseメソッドを呼び出すコードを書くと警告は消えます。

Scanner scanner = new Scanner(System.in);
// いろんな処理...
scanner.close();

scanner.close(); は必要?

様々な意見があるかと思いますが、以下の理由でJavaの練習で書くnew Scanner(System.in); に関してはclose()の必要はありません

理由1: close()するとSystem.in ごと閉じてしまう

一度closeしてから再度new Scanner(System.in); してSystem.inを使おうとするとエラーになります。

エラーになるコード

Scanner scanner = new Scanner(System.in);
scanner.close();
// もう一度Scanner使いたい
scanner = new Scanner(System.in);
scanner.nextLine(); // ここで落ちる

実行結果

Exception in thread "main" java.util.NoSuchElementException: No line found
	at java.util.Scanner.nextLine(Scanner.java:1540)
	at Hogehoge.main(Hogehoge.java:15)

System.inは標準入力と言い、Javaのプログラムが入力を受け取るためのデータの通り道のようなものです。eclipseで言うところの「コンソール」とJavaの橋渡し的存在です。

scanner.close(); すると、その橋(System.in)自体の使用をやめる処理が走ります。そしてそのSystem.inは、一度closeするとそのプログラムの実行中はもう一度開くことができません

It is not possible to reopen System.in, System.out or System.err. … it is not possible to reopen them.

Stack Overflow – In Java is it possible to re-open System.in after closing it

プログラムの最後に「作法」としてclose();を書くのは良いことですが(後述)、Javaの練習で書くnew Scanner(System.in); に関してはプログラムの途中でcloseするメリットは無いように思います。

理由2: Javaのプログラム自体の実行終了はclose()を呼んだのと大体同じ

Javaのプログラム自体が終了すると、橋渡しするそのSystem.in含め全てがメモリから破棄されます。練習で書くプログラムは長時間動き続けるものではなく、System.inも自分でcloseしなくても他のプログラムに悪影響はありません。


じゃあclose()書かなくていい?

いいえ、個人的な意見ですが一言で言えば、「new Scanner(System.in); に関しては事実上必要ないが、今後必須の考え方なので書いて練習の機会に」です。

Javaの練習で書くnew Scanner(System.in); に関しては 書かなくても動くといえば動きますが、closeはScannerだけでなくプログラミング全般に通じる考え方, 作法の一つです。そのマインド作り, 練習としてぜひ書いていただきたいと考えます。

Scannerはcloseするべきか について調べると「書くようにしましょう」という文献を見かけますが、この重要な概念を覚えてもらいたいという願いからと思います。


close()の意義

closeは広義には資源を開放して他のプログラムでも使えるようにすることです。

借りたものは返すという作法

「(図書館の本のような)公共のものを借りたら早めに返して他の人も使えるようにする」一般常識はプログラミングの世界でもあり、「借りる」がopen (new Scanner(…);など)、「返す」が close に相当します。

例えばファイルの書き込みで言えば以下のような処理が一般に行われています。

  1. 「自分がこのファイルに書き込むので、終わるまで他のプログラムが書き込めないようロックする」(open)
  2. 「書き込み終わったから他のプログラムも書き込めるようにファイルを開放する」(close)

closeしないとどうなるのか

自分がファイルを使う権利を握り続けるので、ほかのプログラムがいつまで経ってもそのファイルを操作できません。

ファイルに限らず例えばデータベースに接続するプログラムがあるとして、closeしないで放置すると他のプログラムがデータベースに接続できなくなったりシステムの性能が落ちたりします。

Scannerの場合は?

Scannerはキーボード入力を受け付けるSystem.inだけでなく、テキストファイルなど他の入力も扱うことができます。その場合、scannerを使い終わった時点でcloseをすぐ実行するのは作法として適切と言えます。

Scanner scanner = null;
// 必要なtry-catch文は省略しています。
scanner = new Scanner(new File("hoge.txt"));
System.out.println(scanner.nextLine());
scanner.close(); // 使い終わったのでclose
// いろんな処理
// System.inと違い、一度closeしても再度openできる。
// ファイルに読み込みのロックが掛かっていなければエラーにはならない
scanner = new Scanner(new File("hoge.txt"));
System.out.println(scanner.nextLine());
scanner.close(); // 使い終わったのでclose
/*
hogehoge
hogehoge
と出力されます。(hoge.txtには hogehoge と書いてある)
*/

bookmark_border[手術ブログ] 鼻中隔矯正術を受けてきた | 2ヶ月前~前日

手術当日〜 のレポはこちら

→手術当日〜 →翌日~9日目 →→→10日目~半年


5年くらい前から花粉シーズンだけでなく年中鼻が詰まるようになってしまい、薬やレーザーをしてきました。

でもレーザーは3年連続でしてもそこまで効かず(完全に詰まることは少なくなったけどでも詰まる)、かかりつけの先生も「これ以上強い薬は無くて」となり手術を勧められ踏み切りました。

手術2ヶ月前

かかりつけの耳鼻科では手術を扱っていないので、ネットで探したところ日帰り局所麻酔で施術してくれる耳鼻科を発見。バイクを数十分走らせ早速診察に。

手術の費用は20万円くらいとのこと。高額療養費の自己負担限度額(区分)を証明する書類をお役所からもらうようアドバイスをもらい、役所に電話+書類の郵送往復 で早速手に入れました。

鼻のCTを取るように言われ、そのまま看護師さんとCTの予約。当日帰りがけに撮影してきました。

手術後鼻から数日出血するため、それを吸い取る綿球を買っておくよう言われましたた。ドラッグストアで買っておきます。

持っていって良かったもの

アレルギー検査の結果表処方されている薬の一覧を持っていったのが幸いしました(お薬手帳でもOKと思います)。自分のこれまでの状況がはじめましての先生にすぐ伝わりました。(アレルギー検査は数ヶ月前かかりつけの耳鼻科でたまたまやってもらっていた)

手術1.5ヶ月前

再診察。先生がCT画像を見てその場で手術決定。内容や術後の予定の説明を受けました。その後手術の同意書にサイン。

病名は 鼻中隔湾曲症アレルギー性鼻炎。実施する手術は 鼻中隔矯正術, 下鼻甲介粘膜切除術, 後鼻神経切断術。すべて同時に行い、1時間程度で終わるとのこと。

ご時世のため手術直前に抗原検査をするが、肺のCT画像も合わせて当日先生が確認するとのこと。肺のCTの予約を取ります。その後血液採取と血圧測定をしてもらい帰宅。

手術3日前

肺のCTを取りに行きます。(いま思うと病院の方に感染させないことはもちろん、術後1週間はただでさえ呼吸がつらくなるので納得です)

~手術当日

特に行動に制限はありませんでした。サプリメントの中には血液をさらさらにする効果があるものもあって、止血に影響するから1週間前から飲まないようにとのこと。

手術当日~

長くなってしまうので別途まとめました。

→手術当日〜 →→翌日~9日目 →→10日目~半年


個人のレポですので、本サイトの情報をご活用は自己責任を条件にしてください。

bookmark_border[2021年版] Raspberry Pi OSのインストール手順

だいぶ方法が変わっていたのでメモです。

環境

  • Raspberry Pi 1 Type B (2012年発売の初代版)
  • 母艦 Windows 10 Home
    • i7-7700
    • メモリ16GB

実施日:2021/01/18

手順

(任意)OSのダウンロード

後述のRaspberry Pi Imagerには、Raspberry Pi OSのダウンロードとSDカードへの書き込みを一緒に行う機能があります。Raspberry Pi OS以外のディストリビューションを書き込みたいときはこの手順が必要です。

Raspberry Pi OSの.imgファイルは Operating system images からもダウンロードできます。今回はRaspberry Pi OS with Desktop を先にダウンロード、解凍ておきます。

Raspberry Pi Imager のインストール

SDカードにダウンロードしたOS(.imgファイル)を書き込むアプリケーションです。

https://www.raspberrypi.org/software/ からダウンロード+インストール。昔お世話になったSD Card Formatterは使用しないようです。

OSの書き込み

ここで説明するよりずっとわかりやすい39秒の公式動画があります。

  1. SDカードを挿す
  2. SD Card で対象のSDカードを選択
  3. Operating SystemでOSを選択
    • 通常はRaspberry Pi OS (32-bit)でOK
    • ScratchやLibreOfficeなどが欲しい場合はRaspberry Pi OS (other)からFull版を選択
    • 自分で.imgファイルをダウンロード済みなら Use custom からファイル選択
  4. WRITEボタンを押してしばらく待つ

起動

SDカードをRaspberry Piに挿し、電源を接続します。

bookmark_borderクラス名間違っていないのに Target class [○○] does not exist. になる- Laravel8

TL;DR

該当のControllerをuseし、::classでそのクラスの完全修飾名を取得。それをControllerとして指定する。

use App\Http\Controllers\HogeController;
Route::get('/hoge', [HogeController::class, 'hogeAction']);

起こるエラー

Illuminate\Contracts\Container\BindingResolutionExceptionTarget class [コントローラーの名前] does not exist.

問題のコードと前提

HogeController.phpはapp/Http/Controllersに間違いなく配置されている。Route::getで指定しているクラス名もtypoしていない。

Route::get('/hoge', 'HogeController@hogeAction');

対処

Laravel8系において、Controllerはクラスの完全修飾名で指定する。

use App\Http\Controllers\HogeController;
// HogeController::class の実行結果は
// 'App\Http\Controllers\HogeController'
Route::get('/hoge', [HogeController::class, 'hogeAction']);

以下でも同じ動作をしますが、Controllerのクラス名::classを使用する上記の方法の方が可読性が良さそうです。(公式ドキュメントのサンプルコードもControllerのクラス名::classの形)

Route::get('/hoge', 'App\Http\Controllers\HogeController@hogeAction');

参考

Laravel 8.x 公式ドキュメント Routing#The Default Route Files

https://laravel.com/docs/8.x/routing#the-default-route-files

bookmark_borderAttributeError … has no attribute ‘_TensorLike’

久しぶりにKerasを使ったら落ちたのでメモ。

TL;DR

from keras import ... ではなく from tensorflow.keras import ...

発生するエラー

AttributeError: module ‘tensorflow.python.framework.ops’ has no attribute ‘_TensorLike’

問題のコード

from keras import Sequential
from keras.layers import Conv2D, MaxPooling2D, Activation, Dropout, Flatten, Dense
import tensorflow as tf
model = Sequential()
# ここで落ちる
model.add(Conv2D(64,(3,3), padding='same', input_shape=(192,192,3))
opt = tf.keras.optimizers.rmsprop(lr=0.0001, decay=1e-6)
# ...

修正

# from keras import Sequential
from tensorflow.keras.models import Sequential
# from keras.layers import Conv2D, MaxPooling2D, Activation, Dropout, Flatten, Dense
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Activation, Dropout, Flatten, Dense
import tensorflow as tf
model = Sequential()
model.add(Conv2D(64,(3,3), padding='same', input_shape=(192,192,3))
# opt = tf.keras.optimizers.rmsprop(lr=0.0001, decay=1e-6)
opt = tf.keras.optimizers.RMSprop(lr=0.0001, decay=1e-6)
# ...

bookmark_border【eclipse】謎の不具合に遭遇したときに試すclean【Java】

次のような謎の不具合に遭遇したときまず試す操作のメモです。

  • コードの文法は合っているのに文法エラーの指摘がある
  • パッケージ・エクスプローラーなどで表示されるディレクトリ構造が変
  • サーブレットでサーバーが起動できない

まず試す:プロジェクトのクリーン

[プロジェクト]→[クリーン]→[すべてのプロジェクトをクリーン]→[Enter]

これは何

生成済のclassファイル(プロジェクトのビルド時に出力されるファイル)などを全部消します。

eclipseはビルド時間の短縮を目的に、コードに変更があったとき変更箇所だけをビルドし直しています。この操作でその生成済みの成果物を一度全て消すことで、eclipseはサーブレットやJavaプロジェクト全体を次回 一からビルドし直してくれます

奥の手:eclipseのclean起動

Windows

  1. eclipseを開いているなら終了する
  2. eclipseが入っているフォルダを開く
  3. eclipse.exe -clean.cmd をダブルクリック (eclipse.exeではなく)

Mac

  1. eclipseを開いているなら終了する。(command + Q などで完全に)
  2. 「ターミナル」を起動する
  3. 次のコマンドを実行する
    • open eclipse.appのフルパス --args -clean
コマンドの例:
open /Applications/Eclipse_2019-09.app --args -clean

eclipse.appのフルパスを入力する楽な方法:

  1. eclipse.appが入っているフォルダをFinderで開く
  2. eclipse.appをFinderからターミナルにドラッグ&ドロップ

これは何

eclipseが保持しているキャッシュを削除+再作成してeclipseを起動します。

キャッシュにはプロジェクト内のファイルやディレクトリ構造の情報が含まれており、何かの拍子にそれが壊れると実際の構造とeclipse上での表示がずれたり、他の問題を引き起こしたりします。

パッケージ・エクスプローラーでF5キーを押してファイルシステム側の構造を再読み込みする方法もありますが、キャッシュを一旦作り直してもらったほうが起こりうる他の何らかの問題も回避できると考えて何かがおかしいときはこれを実行しています。