Java
サーバーを建てよう Minecraftというゲームがあります。 これは、PC版(厳密にはもう一つバージョンがありますが)は、中身がJavaで出来ています。 そして、そのサーバーを建てる過程で学べることが多いといいますか、 今の私の知識の一部を支えていることに気…
サーバーで開けれるjarが作りたい SpringBootを使って、Webアプリを作りました。 手元のデバッグ機能でページを開くとかは出来ている。 では、実際にファイルを配置するために、jarファイルにしたいがどうすればいいか。 今回は、Gradleを使っている場合を想…
Tomcatのディレクトリ構造を理解する SpringBootとかでも使われているWebコンテナ、Tomcat。 ディレクトリ構造を理解すると、何かあった時にさっと対応出来ます。 主要なディレクトリについて記述していきます。 webapps これわかってたらなんとかなる。 こ…
Modelでもいいが、あえてModelAndViewを使う public String index(Model model) { return "/index.html"; } public ModelAndView index(ModelAndView mav) { mav.setViewName("/index.html"); return mav; } このように2つの書き方があるが、あえて後者を選…
コンストラクタで値を入れる? class Apple { private string color = "red"; } class Apple { private string color; Apple() { this.color = "red"; } } どちらがいいだろう。 この例はどちらでもいい 上の例はどちらでもいいです。 強いて言うなら、上の…
VM変数を追加したい デバッグ時に、プログラムに引数を渡すことが出来る。 launch.jsonに"args"の項目を書くと、引数を渡すことが出来る。 しかし、EclipseでいうVM変数、intelliJにおけるVM optionの項目が見当たらない。 どうやって書くか。 vmArgs vmArgs…
Gradleをリフレッシュしたい build.gradleのdependenciesを更新とかして、リフレッシュをさせたい。 VSCodeとか使ってるのでbash経由で更新したい。 build --refresh-dependencies gradle build --refresh-dependencies 上記コマンドを打つ。 が、gradleがな…
th:replaceでパーツ化したい HTMLをパーツ化したい。 partsA.html <div id="parts" th:fragment="parts-fragment"> パーツ </div> このパーツを読み出す BaseB <div th:replace="partsA::parts-fragment"> このとき、 id="parts" を使ったJavaScriptがあった。 JavaScriptもパーツ化する partsA.html <div id="parts" th:fragment="parts-fragment"> パーツ </div> </div>
値を少し変えて取り出したいと言われた 相談されたのが、少し値を変えて表示をしたいという話。 時間を表示したいが、秒がいらないということでした。 Entityを作ったが、それのsetを書き換えるのは違うよな……formatterを作る?とか聞かれました。 表示に関…
RequestMappingでコードを書く @RequestMapping(value = "/login", method = RequestMethod.GET) public ModelAndView index(ModelAndView mav) throws IOException { mav.setViewName("login"); return mav; } こんな感じになる。 これで、 /login にアクセ…
今回の差分のコミット github.com 通常のクラスを使っていた // tableを作成 List<List<String>> table = new ArrayList<List<String>>(); List<String> th_row = new ArrayList<String>(); このように、Listなどの標準のクラスを使っていました。 変数の名前だけに意味を持っていたので、各クラスを新</string></string></list<string></list<string>…
Javaのバージョン違い 開発をするときに、Javaのバージョンが新しいと、利用する側も新しいバージョンしか動かないと思ってました。 なので、Java1.13で開発をすると、他の人使えないのでは? 専用の仕様で変える 新しいjdkで開発しても、過去のバージョンで…
.jarを解凍したら…… 前回の記事で.jarファイルから、コンパイル後の.classファイルを取り出すことができた。 ただ、このままだとコードが読めない。 どうするのか。 JAD等でデコンパイル コンパイルしたものを元に戻すツールを使ってみよう https://varaneck…
.jarファイルを見たい 諸事情で、.jarファイルの中身を見たい。 (classファイルとかコンパイル後だから、このままだとあまり意味は無いが) .zipと同じ 拡張子を.zipにする いつもどおり解凍をする すると、中身が見れますφ(・・ 中の.classファイルはコンパイ…
charとString 文字列の扱いがJavaではいろいろあります。 その時のcharとStringに注目して比較してみましょう。 char 文字。 aとかbとか一文字のもの 'a'とかシングルクォーテーションでくくる クラスではなくプリミティブ型 Charクラスは別に存在する。こち…
packageとimport package item; import htmlitem.Td; public class Table { Td td = new Td(); } こんな感じに、packageとimportがある。なにするか。 importは使用するクラスの指定 ■PHPだと、 useの機能に近いもの。 import java.util.Map; import java.ut…
初期化を繰り返した 自分が書いたプログラムに、以下のようなコードがありました。 for (int i = 0; i < max_row; i++) { for (int j = 0; j < max_column; j++) { row.add("{r:" + i + " c:" + j + "}"); } table.add((ArrayList<String>) row.clone()); row.clear(</string>…
ArrayListのcloneの実装に疑問を持った Javaは、基本のライブラリはソースコードが見れますので、コードを追ってました。 ArrayList.class /** * Returns a shallow copy of this {@code ArrayList} instance. (The * elements themselves are not copied.) …
ListとArrayList? Javaで複数データを扱うときに、ListとかArrayListとか出るけど、何が違うのか。 全部ArrayListでいいのでは?なんでそうしているのか interfaceと実際のクラス public interface Collection<E> extends Iterable<E> { public interface List<E> ex</e></e></e>…
SpringBoot始めました ちょっと気になってたSpringBoot。 最近Javaが出来る人が近くに増えたので、教えてもらうことにしました! ということで、まずは環境構築をしてみました。 環境構築 やったことは、こちらの記事を参考にして始めました。 qiita.com 私…
注意。 自分なりの理解ですφ(・・ オーバーロードって? 処理を場合によって変えるとかって話ではなく、 同じ概念だけど、挙動が違うのを実装する。多態性を実現するためのものって話なのかなって一つ自分の中で結論φ(・・ 『同じ概念』であるのは一番重要かな?…
注意 メモ書きです。 どんなやつ? new ArrayList<String>() こんな感じに、あとで型指定できるように書いたことあるよね。 実装こうする class ClassName<T> { private T val; } これで<>の中に書かれた型がvalの型になる 何が嬉しい? イテレーターパターンとか、イン</t></string>…
事前準備 dev.classmethod.jp こちらを参考に、公式イメージを使えるようにする Dockerfile javaのエンコードを打ち込むの面倒だったので.bash_profileに無理やりalias。 あとでヒアドキュメント構文とかで書き直したい。 FROM store/oracle/serverjre:8 RUN…