Javaの大海原をじゃばじゃばと

今度こそ、IT勉強記録を。雑記多し_φ( ̄ー ̄ )

文字列同士の等値比較という初歩的なミスを繰り返さないために、シャレを考えてみた(IT勉強記録)

f:id:hanabooh:20210719212543p:plain
備忘録でございます_φ( ̄ー ̄ )そしてやっとこさ、はてブはてな記法デビュー\( ˆoˆ )/
コードきれいに表示されて感動する〜

「初学者がやりがち」とされる以下のトラップにまたハマってしまったので、自戒も込めて!
Javaで文字列同士を比較する場合、Stringクラスは参照型だから等値比較でなく等価比較せねばならない。と認識していますが
また等値比較やっちまったぜ…

前回の記事でひっそりと宣言した通り、2022年1月の転職に向けてSpring bootでポートフォリオを作成するんですが
急がば回れということでサーブレットJSPをさらっと復習した方が良さそうだな〜と思い、こちらのテキストで手を動かし中ながら勉強中でして。
その練習問題中で、トラップにハマってしまったのでした。
sukkiri.jp


▼上記テキスト中の練習問題(フォームを使ったユーザー登録もどきの作成)で私が書いたコード
※環境:IDE(Eclipse_2019-12)を使用・OSはmacOS Big Sur

formSample.jsp(入力フォームをレスポンスするJSPファイル)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登録フォーム</title>
</head>
<body>
<form action="/exampleFrom7/FormSampleServlet" method="post">
名前<br>
<input type="text" name="name"><br>
性別<br>
男<input type="radio" name="gender" value="0">
女<input type="radio" name="gender" value="1">
<input type="submit" value="登録">
</form>
</body>
</html>


【このコード内でやってしまった】FormSampleServlet.java(登録結果画面をレスポンスするサーブレットクラス)

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class FormSampleServlet
 */
public class FormSampleServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//リクエストパラメータの受け取り
		request.setCharacterEncoding("UTF-8");
		String name = request.getParameter("name");
		String gender = request.getParameter("gender");

		String msg = "";
		boolean isOK = true;

		if(name == null || name.length() == 0) {
			msg += "名前が入力されていません<br>";
			isOK = false;
		}
		if(gender == null || gender.length() == 0) {
			msg += "性別が選択されていません<br>";
			isOK = false;
		}else {
			if(gender=="0") {
				gender = "男性";
			}else {
				gender = "女性";
			}
		}

		if(isOK) {
			msg=name + "さん(" + gender + ")を登録しました";
		}

		response.setContentType("text/html; charset=UTF-8");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE html>");
		out.println("<html>");
		out.println("<head>");
		out.println("<title>ユーザー登録もどき</title>");
		out.println("</head>");
		out.println("<body>");
		out.println("<p>" + msg + "</p>");
		out.println("</body>");
		out.println("</html>");
	}

}

そう、登録された性別を確認するif文条件式内で、文字列同士の等値比較をしてしまっていました。正しくはこう、

if(gender.equals("0")) {

ですね。等値比較の記述でもコンパイルエラーにはならないけど、たまに動きがおかしくなる、といういや〜なもの。

もうこんな初歩的なミスを繰り返すまい!と思って、思いついたイメージがこちら。
「もじもじ(文字文字)したらあかん」

f:id:hanabooh:20210719212820j:plain

なんかこう色んなヤバさを醸し出す記事と画像ですが、恥はかき捨てです_φ( ̄ー ̄ )笑
ずさんな勉強記録になってしまったけど、ちょっとずつ精度上げて、有益な技術ブログをも執筆できるようになるぜい。
読んでくださりありがとうございましたm(_ _)m

精神と時の部屋からIt's been a while

f:id:hanabooh:20210716174812p:plain

2ヶ月ぶりにブログ更新するぜい。

前回の記事がこちら

hanabooh.hatenablog.com

この2ヶ月間、何をしててんというと、情報系の国家資格試験、基本情報技術者試験を受験するために勉強していたのでした。

www.jitec.ipa.go.jp

 

受験の決意表明をしていた記事がこちら

hanabooh.hatenablog.com

ブログ中で言っていたとおり、先日6月某日に受験してまいりまして、なんとか無事合格したと思われます。(パソコン受験のため、試験結果が受験後そっこー登録アドレスに送信される)

受験後ひといきついて、そうこうしているうちにもうすっかり、はてなブログがご無沙汰に。自己満足で書いているブログ、またぼちぼち更新しようと思います。

 

ただ、2022年1月転職!という目標ができたので、今後は雑記ブログよりも勉強記録ブログをちゃんとつけていこうと思います。(ブログ中に書くことで自分を追い込む笑)

よーしこれからも世界の片隅でぶつぶつ言うぞー!\( ˆoˆ )/

家事マシンな私と、生活に野性的な喜びを感じる私は共存している!

f:id:hanabooh:20210513225722p:plain

今日は、日々お世話になってるこちらのレシピ本を見ながら、玉ねぎ主役のビーフなしビーフシチューを作りました。簡単うまい!www.amazon.co.jp

調理中のこと。8割方できあがってかき混ぜてた時に、ん??という感覚がやってきた。

ふは〜〜ええ匂い〜〜ほんわ〜〜〜

(*´Д`*)

ん??

おかしい…

いつもなら料理って割と「義務感」からやってて、いかに早くミッションコンプリートできるかが最優先で、「心を無にして作業」している感じでした。そんな自分がちょっと残念だなーとかふと思いながらも。(予定ない朝にパンケーキ焼くとかは楽しい)
でも、今日はなんでか、童心が蘇ってきてビーフシチューのにおいがテンション上げてきて玉ねぎがトロトロに煮込めているのがワクワクして、
ご飯作るってええなーとシンプルに感じたのでした。
 
思ったというより感じたので、その瞬間は脳内で言語化してませんでしたが、
体が健康で歯があって鼻もつまってなくて空腹を感じることができて
食材を調達して調理する道具があることにきっとシンプルにありがたみを感じたのだろうか、うーむ。
ん、これは理屈の後付けか。笑
なんにせよ、「幸せ上手にならねば」的なアツからでなく、りきみなくふっと、あれ、シチューええ匂いやな、はっぴっぴ〜ほげ〜〜
って感覚になってた自分を振り返って、
今度は理屈を唱えてはいるけども、また思い出してほげほげはっぴ〜。
あれ、何言ってんでしょう…
 
ささやかな幸せをみんな拾いましょうね〜♡
ってことが言いたいのでなく
義務感で不動心でマシンの如く家事するときも、野生に返ったような何かいい気分で家事するときも、どっちもアリで、自分が自分で興味深かったということと、
自分以外の人もこういう感じってあるんかなーという興味が湧いたのでした。
 
いつにもまして何が言いたいのかよくわからない文章ですが
ビーフシチューの多幸感のせいにしとこう!うむ
読んでくださりありがとうございました。ぐっすり熟睡を!

決戦の日が迫ってきている。MHSで早起きを頑張る。

f:id:hanabooh:20210511123032p:plain

決戦の日。基本情報技術者試験@6月なかば。

いよいよお尻に火が着いてきた。

気持ちを切り替えるため、昨日から5時台に起きることを始めた。

5時台起床(二度寝なし)に成功したのは実に3ヶ月以上ぶりだった。

3ヶ月間、試合放棄していたというわけではなく、恐ろしいことに、3ヶ月間も連敗していた。スヌーズの嵐で夫を苦しめ続けていたのだ、3ヶ月も。ほんまにごめんよおおおお

GW思い切りダラダラしたからか、試験への危機感が膨張してきたからなのか、これまでの連敗が嘘のようにむくりと起きれた。

すみませんちょっと誇張しましたが、スヌーズ1回ぐらいで、昨日と今日は起きれました。

で、早起きのコツ的なライフハックを調べてた時に見つけたので、昨日今日と試してみて効果テキメンだったのが、

熱めのシャワーを浴びるということ。

特に初めはボケーっと1分くらい浴びっぱ。すると交感神経優位になり寝起きからシャキッとできると…なるほど。

実際やってみるとえらくスッキリして、二度寝の誘惑が訪れることもなかったです。やってみるものだな〜

これをモーニングホットシャワー略してMHSと勝手に呼ぶことにしましたが、明日はMHSしながらマツケンサンバを口ずさんでみようと思う。より一層、1日の好スタートが切れる気がする。

www.youtube.com

歌が始まるまで1分ぐらいあります

いつでも誰でも陽気になれる稀有な名曲だと思う。(夫の影響)

明日からは本気でハイパー修行モードに没入して、勉強ブログも投稿できるようにしよう。そうだ、このブログを始めたのはそもそも、自学を継続しやすくするためだったのだ…

しかーし雑記を書くのが楽し過ぎるんだよな〜はてブの沼にすっかりハマってしまっている…

お読みくださりありがとうございました。よければMHS試してみてくださいませ^^

ささやかな非日常を自宅にて

f:id:hanabooh:20210509182617p:plain

今週のお題「おうち時間2021」

the日記です

中古品店で一目惚れして衝動買いしたおもちゃの手織り機。

GW最終日に彩りを添えてくれました〜いやあ良い買い物をしたぜ

f:id:hanabooh:20210509183006p:plain

www.bandai.co.jp

小さな女の子向けっぽいですが、十分「私、鶴の恩返しっぽいな…」という世界観に浸ることができました、楽しかった!

初チャレンジ、家にあった余り毛糸でコースターを作ってみることに。

まず、箱から出ーす!じょじょん

タテ糸を張ーる!

ここでマジック発動。かこん!本体側面のレバーを倒すとタテ糸が2段構えに。おお、おもろい。

この、段違いになったタテ糸の間にヨコ糸を通します。

写真撮り忘れましたが、ヨコ糸は「シャトル」という、こういうものに巻きつけた状態で通していきいます。

f:id:hanabooh:20210509211434p:plain

 

で、通したヨコ糸を付属のコームで手前にトントン。これをずっと繰り返す。

よし、このぐらいでいいんとちゃうか 仕上げにかかる。

本体から外して、端っこの糸を処理。ここがちょっと難しかった。

完成!\( ˆoˆ )/

なんか、うまく擬態できてない謎の生き物みたいやなw

f:id:hanabooh:20210509185722p:plain

でもマグカップのっけてみたら、それっぽくなった気がする。

出来映えはともかくとして、家にいながら非日常が味わえて良かったです。

対コロナ、守りながら攻める(今だからこそ思いつける新しい楽しみの開拓)作戦、

また手札が増えて嬉しい。( ̄∇ ̄)

おもちゃだけど、手織りしてるとリズム運動の一種なのか、雑念がしぼんでいくしな。

コロナ野郎の影響を受けまくってる仕事(収入)の不安とか、出産いつできるんやろとか、放っとくとすぐジワジワ頭を覆い始めるけれども、

楽しさの総量がそれを上回るようにしたいなあ。うむ

 

今日は寝る準備にかかろう。

読んでくださった方、ありがとうございました!

ハバナイスドリームです(_ _).。o○

グッとこらえて、ハードルは低いままに

f:id:hanabooh:20210508110110p:plain

私は全然ゲームをしませんがタイトルに興味を惹かれ、世界一プロゲーマーである梅原大吾さんの著書を読みました。

結論、読んでよかったです。「ここは要チェックや!」とスラムダンク彦一ばりにメモをとっていったらノート2ページがぎっしり埋まってしまいました。

www.amazon.co.jp

「目標は低いほどいい」「勝負に感情はいらない」「技術より“視点”が大事」17歳で世界一、34歳の今も勝ち続ける著者が語る勝敗を分けるポイント。
(「BOOK」データベースより)

今ならkindle unlimited 読み放題で読めます

印象に残ったフレーズはたくさんあるのですが、ショート記事にしようと思いますので、特によかったと思うことだけ書かせていただきます〜(以下、引用でなく自分なりに咀嚼した表現にしています)

---------------------------------

・1日ひとつずつでいいので変わり続けること

命を取られない以上は何事も遊びみたいなものだから、難しい仕事だって、ちょっとしたゲーム感覚で攻略法を考える。気持ちを軽くすることで驚くほど上手くいくことがある。

・伸び悩んでも、根気強く続けているとあるとき急に勝ち始めることが往々にしてある

・外からは評価されないような内的な成長に敏感になること。大きいことよりむしろ小さいことの方が大切。ついついハードルを上げたくなるが、ハードルは低いほど良い。頑張っている意識を持てないぐらい低いぐらいが良い。

f:id:hanabooh:20210508102732p:plain

↓なぜなら

目的は大きなハードルを越えることでなく、安定した成長ループを継続させることだから。

自分にしかわからないぐらいの小さな成果を自分で評価してやり、自信にする。自分だけの特別な楽しみにする。それは十分日々の支えになる。

成長ループの安定継続が、安定勝率に繋がる。自分でコントロールできないこと(他者からの評価など)は排除し、その成長ループにピントを絞ると、やるべきことは非常にシンプルだとわかる。

↓そして

好循環が生まれる。

内的な小さな成長への自己評価⇨自信⇨成長ループが回る⇨追い風が吹き始める⇨より省エネなやり方で物事を進められる⇨小さなハードルを超え続ける⇨…

 

そう、だからまずはとにかくハードルを下げて、ノッてきても上げないようにする。

んで、無駄にリキむことなく成長ループを回す!

---------------------------------

以上が特に紹介したかった内容です。今の私にとってすごーく必要なアドバイスだったからです。

だって、仕事上、焦りが大きすぎてハードルを日々高く設定し結局クリアできず、

無駄に「ダメな自分」を作り出し演出し続けていたから…

まさに上記と真逆のダメループだったのです( ;∀;)

これからは焦りをぐっと堪えてハードルを低いままにして、ループを回していこうと思います。早速、「はたから見たらショボすぎるけど自分的には進歩」と思ったことを1つ、毎日使ってる手帳にメモるようにしました。うん、これなら続けられそうだぜ。

 

ここに書かせていただいた内容はごく一部です。

もし興味を持たれた方はぜひご一読をオススメします!

 

ショート記事にするって冒頭で言ってたのに、あんまり短くまとめられませんでした^^;

お読みくださりありがとうございましたー!

脱・ガラパゴス 紙で読む新聞のススメ

f:id:hanabooh:20210507143823p:plain

お題「#新生活が捗る逸品」

いつの頃からか、私はガラパゴス化してしまった。アイキャッチ画像のペンギンさんは、いらすとや様のフリー素材、ガラパゴスペンギンだが、見れば見るほど切ない表情をしている気がする。

ちなみにガラパゴス化とは

日本のビジネス用語のひとつで、孤立した環境(日本市場)で製品やサービスの最適化が著しく進行すると、外部(外国)の製品との互換性を失い孤立して取り残されるだけでなく、適応性(汎用性)と生存能力(低価格)の高い製品や技術が外部から導入されると、最終的に淘汰される危険に陥るという、進化論におけるガラパゴス諸島生態系になぞらえた警句である。 

 (ウィキペディアより)

 

ここまでの定義を認識せずに「ガラパゴス」という言葉を使いましたが、

最近ニュースを見ることに疲れてしまって、ニュースをあんまり見なくなってしまったのです、故に自分の今の状態はまるでガラパゴスペンギンさんみたいやなあと。

社会人として我ながらどうよ!?とは思っていたものの、積極的にニュースを見たりする気分になれなかったのです。

 

ウェキペディア先生が定義されるところによると私は「淘汰される危険に陥」っているみたいですし、夫が「え、世間のこんなことも知らんのか??」と心配したのか「新聞、紙でとることにするわ」と。

ウェブで購読しても、他の娯楽に流されてどうせ読まんやろ、と。確かに。ありがとう、夫。

こうして我が家のポストに新聞がヘッドスライディングするようになった。配達してくださる方ありがとうございます。

 

f:id:hanabooh:20210507142036p:plain

果たして私は関心を持って新聞を読めるのか…情けないことに自分が心配だったが、意外と杞憂だった。

 

音と動画で見るニュースとは違って、新聞って、一塊の物体のなかに非常にたくさんの情報が詰まっていて、改めて新聞読んでみるとすごく面白い。

また、「このニュースに関してはこう感じなきゃいけない」みたいな同調圧力がテレビニュースほど感じられなくて心地よい。(この手の同調圧力をテレビニュースから感じてしまうのは私だけなのかな)

 

ほんでもって、ウェブニュースだと自分の関心があるトピックばかり拾いがちだったのが、紙の新聞だと色々まんべんなく目に入ってとても良い。いい、いいぞ!!

 

何年か前も新聞とってたけど、当時はあまり読めずにいた。けど、今は楽しく読める。

あれ、私ってわずかながらレベルアップしてたのかしら…と思えたのはラッキーなおまけだった。むふふ

 

紙の新聞、好みは分かれそうですが、おすすめです〜

内容と関係ないですけど、文字ばっかりの記事は読みにくいと思って、私も先輩ブロガーの皆様に倣いイラスト挿入にチャレンジしましたが、「書く」のみならず「描く」って、とっても難しいですね…

お読みいただきありがとうございました(*^^*)