技術とか戦略とか

証券レガシーシステムを8年間いじった普通のSEによるブログ。技術のみではなく趣味の戦略考察についても。PCから見た方が色々見やすいと思います。

java

java:enum型を使うと何が嬉しいのか調べてみた

実務でenum型が出てきたのですが、私が使った入門書にはenum型に関する説明がなかったので、改めて調べてみました。 enum型とは、複数の定数をまとめるための型です。文法的には以下のページで解説されている通りです。 【Java入門】Enum(列挙型)の使い方総…

java:保守開発で変数名が無いよと言われた場合の対応

保守開発で既に本番運用に乗っているクラスを改修する際、当該クラスのjavaソースをEclipseやNetBeans等のIDEに取り込んだ時点で「hogeVariable を変数に解決できません」「hogeVariable は解決できないか、フィールドではありません」といった形で怒られる…

Apache Spark のjavaでの実装についてちょっと調べてみた

Apache Spark 向けのコーディングをjavaで行う機会がありそうなので、空き時間にちょっと調べてみました。 ・そもそもApache Sparkとは分散処理用のフレームワークであり、簡潔なコードで分散処理の実装が可能になる。複数のコンピュータで分散処理を行うこ…

java:packageで記述したフォルダ構成を生成するツールを作成してみた

「大量のjavaソースをpackage文で指定されたフォルダに配置するのが面倒」というのは割とどの現場でもあると思うのですが、ググってもそれを解決するツールが見つからなかったので、勉強がてら作成しました。高度なことはしていないので、Windows環境でJDKが…

Gofのデザインパターンの自分なりのまとめ

「増補改訂版Java言語で学ぶデザインパターン入門」という本でGofのデザインパターンを勉強しました。自分の知識の整理も兼ねて、どのようなデザインパターンが存在し、どのような場合に適用できるのかを簡単にまとめたいと思います。 なお、この本とほぼ同…

java:プリミティブ型とオブジェクト型のメモリの持ち方の違い

を酒の席で聞かれてうまく答えられなかったので、改めて勉強し直してみました。 1.そもそもプリミティブ型(基本データ型)って何だっけ値型のことで、オブジェクトを持たない型のことです。javaの場合は以下の8つの型が該当します。 Primitive Data Type…

java:今さらながらJava8新機能について調べてみた(Optional)

Java8でどのような機能が追加されたのか確認していました。まだ紹介していない重要な機能として「Optional」があるので、今回はそれについて書きます。 Optionalとは、値を持たない場合がある(nullである)ことを表すクラス(コンテナオブジェクト)です。O…

java:今さらながらJava7・8新機能について調べてみた(Files)

Java7・8でどのような機能が追加されたのかを確認中です。今回は「Files」についてです。 FilesはJava7から追加されたファイル入出力のクラスで、従来の書き方に比べてすっきりした書き方ができますまた、Java8ではFilesをStreamで処理することもでき、メモ…

java:今さらながらJava8新機能について調べてみた(Stream)

Java8でどのような機能が追加されたのかを確認中です。今回は「Stream」についてです。 Streamを使うことで、for文を使用することなく配列やCollectionなどの集合体を扱うことができるようになります。出力条件の設定や重複排除、ソート等の操作も、メソッド…

java:今さらながらJava8新機能について調べてみた(ラムダ式)

以前の記事で書いた通りJava6までしか知らなかったので、Java8の新機能について調べています。Java8は色々と言語仕様が追加されており一気に調べきれないので、1機能ずつ調べていきます。今回は「ラムダ式」についてです。 ラムダ式どころか、その背景にあ…

java:今さらながらJava7新機能について調べてみた

新人研修時点ではJava6だったので、Java7やJava8の文法がわからず実務で苦労しています。というわけで、今回はJava7の新機能について調べてみました。 といってもJava7は7年前にリリースされているので、既に色々なページでまとめられています。例えば以下…

eclipseのショートカット自分用まとめ

Eclipseをまだ使いこなせておらず生産性が上がらないので、身近な所からということでショートカットキーの練習をしていました。 他の人の操作を見たり実際に試したりして、最優先で使いこなせるようになりたいと思ったショートカットキーは以下です。(Windo…

java:CLASSPATHの基礎を調べてみた

そういえばCLASSPASSについて知識があやふやだな…自分が読んだ入門書にも書いてなかったしな…と思ったので、入門的な内容ですが簡単に調べてみました。 ・CLASSPATHって(ytp.ne.jp) http://www.ytp.ne.jp/tech/java/sineruka/classpath.html CLASSPATHとはど…

JUnit:テストケース毎の初期化

JUnitで複数のテストを行う際、あるテストが以降のテストに影響を与えてしまうことがあります。あるテストが以降のテストに影響を与えると、テストの実行順を変えたりテストケースを変えたりするだけで今まで通っていたテストが通らなくなるので、望ましい状…

java:2通りの例外の受け取り方

入門書にも書いてある内容ですが、COBOLやC言語にはない挙動なので備忘のためにまとめます。 【パターン1:catch文で例外を受け取る】①で例外が発生すると、catchに遷移する。 public static void main(String args) { try{ ① } catch(Exception e){ …例外…

java:絵文字を含む文字列を1文字ずつ切り出す

←こんな感じの絵文字を資料中に使うのが今の職場で流行ってます。 そういえば実務で絵文字を取り扱うシステムに携わったことがなかったので、興味本位で調べてみました。 ついでに、絵文字を含む文字列を1文字ずつ切り出すjavaのサンプルコードも作りました…