okinawa

IT勉強メモ

Java

そういえばWebアプリってどうやって起動しているんだろうか?

Javaの場合はmainメソッドが最初に動くんだよなあ、くらいの認識しかなかったので少し調べてみた。 サーブレット(Java Servlet)の場合です。 サーブレットコンテナとは? mainメソッドはいつ呼び出しているのか? リクエストが来たらどうなる? インスタン…

HashMapについてのメモ

HashMapはキーと値のセットを要素として持つデータ構造。 参考 検索がO(1)になる理由 アドレス決定の例 参考 わかりやすいのでこっち見たほうが早い↓ JavaにおけるHashMapの仕組みを深堀り - Qiita 検索がO(1)になる理由 HashMapは要素を格納するメモリアド…

Javaのコレクション一覧と計算量

各コレクションの特徴 List Map Set コレクションの計算量 計算量の目安 各コレクションの特徴 ・参考 コレクションクラスの比較 - Javaちょこっとリファレンス xxxxxxxxxxx ArrayList LinkedList HashMap LinkedHashMap TreeMap HashSet TreeSet インタフェース Li…

Struts1でレスポンスを加工する

Struts1でレスポンスを変更したい時にやったこと。 HttpServletResponse.getWriter getWriterでレスポンスを書き換える↓ public String execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws…

ソースコードを読む

コードを書くより読む方に苦労しているので試行錯誤のメモを残しておこうかと思います。 ポイント Struts2を読んでみた アーキテクチャ図を見る パッケージ図を描く 主要クラスのクラス図を描く パッケージ図とクラス図を融合 その他参考本 参考サイト ポイ…

(メモ)フィールドの値でハマった

Javaのフィールドとは フィールドの日付とメソッド内の日付が合わなかった ハマった感想 Javaのフィールドとは クラスブロックの中かつメソッドブロックの外で宣言する変数。 修飾子を付与できる。 意識してなかったけどメソッド内の変数って修飾子つけられ…

直列化可能(Serializable)とはいったい何?

深く考えずに implements Serializableしていたけど、ちょっと気になって調べてみた。 下記の参考記事が非常に参考になるのでこちらを読むだけで良いと思う。 他は自分用のメモ書き。 参考記事 直列化のポイント Serializableインターフェース 直列化(Seria…

ポリモーフィズム(多態性)に実際に触れてみて「いいなあ」と思ったところ

職場でポリモーフィズムを利用したコードにお目にかかったのでメモ。 良いところ 悪いところ サンプル まとめ 良いところ 修正がしやすい。実装クラスの追加だけで済んだ。 既存クラスの変更が少ない コードが共通化される 新しい実装クラス(子クラス)を作…

例外設計の基本メモ

職場で例外処理を書くことになった。 他の人のコードを参考にしようとしたけど、どれも書き方がまちまちで正解がわからなかったので、ちょっと勉強したことのメモ。 ちなみに例外とエラーの違いは下記のようになるみたいだけど、ここでは同じものとして扱い…

デザインパターン

Factoryパターン Adapterパターン メリット 運用方法 参考 Factoryパターン インスタンスの生成をFactoryクラスに集約することで、変更に強くなる。 生産拠点を一つの工場に集中するっちゅうことですね。 Factory methodパターンとはいちおう別物。 ・複数ク…

オブジェクト指向でなぜつくるのかを読んだメモ

参考 オブジェクト指向の3大要素 カプセル化(クラス) ポリモーフィズム(多態性) 継承 オブジェクト指向以前はどうだったのか メモリに関する話 なぜ型宣言するのか 静的領域・ヒープ領域・スタック領域 ガベージコレクションの対象となる条件 用語:スレ…

Struts基本のキ

Struts2 参考サイト リクエスト送信→受け取り→レスポンスまでの流れ jspのformタグからリクエスト送信 struts.xmlで動きを制御 アクションクラスが呼び出される リクエストで受け取った値をjspで表示 簡易まとめ Struts1 参考サイト 環境構築 jsp Actionクラ…

Javaの文字化け対策

文字化けで混乱したところ 文字化けの原因特定 基本 デフォルトの文字コードを見る方法 リクエスト値に文字コードを設定する 別の文字コードに変換する方法 別の文字コードに変換する方法2(まずはこれをやる!) jspに文字コード追加 web.xmlに文字コードフ…

条件演算子・三項演算子

int i1 = 20; int i2 = 10; // 条件式 ? true : false String s = i1 > i2 ? "i1の方が大きい" : "i2の方が大きい"; System.out.println(s); //i1の方が大きい

thymeleafで使えるページングのメソッド一覧

PageImplクラスのメソッドが使えるようです。 spring.pleiades.io こんな感じでメソッド名そのままで使えるんです。 知らなかったなあ。 どういう仕組みなんだろ。 <p th:text="${page.getSize}"></p> <p th:text="${page.getNumber}"></p> <p th:text="${page.NumberOfElements}"></p> <p th:text="${page.getContent}"></p> <p th:text="${page.hasContent}"></p>

@PageableDefaultでページのソートやサイズ指定など

spring.pleiades.io @PageableDefaultでページのソート、サイズ指定、開始ページ指定ができるよ。 かんたんだよ。 @Controller public class AccountController { @Autowired private Service service; @GetMapping("/hello") public String getHello( @Page…

メソッドーチェーンとは

・決まり チェーンでつなぐメソッドは自身のオブジェクトの参照を返す必要がある。(return this;) // toString()もtrim()もstrip()も returnはthis String s = "あいうえお".toString().trim().strip(); // 最後に繋げるメソッドはthisを返さなくても良い c…

JPAでの複数ワード検索(動的クエリ・動的SQL・ページング・照合順序)

参考 注意点 ポイント ソース Googleみたいにスペース区切りでAND検索したくて作ったやつ。 なおかつページングと照合順序(collate)も入れたかった。 例:「東京 銭湯」 参考 ・setPrameterの参考 qiita.com ・ページスライスの参考 hibernate - Implementi…

SpringBootでページング

SpringBootでページング ・概要 Page<T>のTにコンテンツをぶち込むと、コンテンツ量に応じてページ分割してくれる。 TはEntityクラスとかFormクラス。 参考 https://qiita.com/tanibuchi12/items/6c8fedbc19bdb277d6f2 https://qiita.com/KevinFQ/items/ca…

SpringでJPAメモ

SpringでJPA JPAはDBとのやりとりを簡単にしてくれる。 クエリメソッドでSQLを自動生成。 SpringBoot + JPA + Thymeleafで簡単なCRUDを作る②~画面と機能作成まで~ https://qiita.com/ozaki25/items/3b348874b6db5ab4f04f DB側で必要な設定は↓ 参考:@Gener…