タグ

ブックマーク / irof.hateblo.jp (13)

  • Javaで「ライブラリの最新版がある」と言うときの基礎知識 - 日々常々

    Log4j 2のバージョンアップのやりかた で "「Mavenリポジトリ」の指すもの" を軽く書きましたが、いい機会なのでもう少し書いておきます。 最新版は使える? https://twitter.com/irof/status/1469139048954724354 こういうツイートをしまして。 見てる順番は Log4j 2のトップページ、MvnRepositoryのlog4j-core、GitHubLog4j 2のタグ一覧、Central Repositoryのlog4j-apiディレクトリです。 ツイートの状態から「Log4j 2はリリース成功してからタグ作るで運用してるんだなぁ」とか、リリース成功したら自動でタグ作ってるわけでもないのかなぁとか思いました。私はタグをトリガーにリリースのパイプライン動かすのが好きです。リリース失敗したら消したくなるけど。 基的に「最新版が使える」

    Javaで「ライブラリの最新版がある」と言うときの基礎知識 - 日々常々
    ikosin
    ikosin 2023/04/20
  • ドメイン駆動設計に関する何か - 日々常々

    2020-03-13追記: 「ドメイン駆動設計」のハードルを上げる意図はありません。そもそもそんな特殊技能でもないと思っています。「ドメイン駆動設計が合っているか」を測る材料になるかも?くらいの気持ちで読んでいただけると幸いです。 何度目か知りませんがDDDがまたブームを迎えているようで。DDD難民と言う言葉が出た頃を思うと感慨深いですね。実際難民になったわけではないので肌感覚で知らないのが残念なところですが、これはどうでもいい。 DDD、日語ではドメイン駆動設計となりますが、DDDを冠していてもドメインが語られることは少ないようです。 数ある書籍もドメインモデリングの話ではなく、ドメインモデルをいかに実装に落とし込むかにフォーカスしていると感じています。 これはこれで仕方ないと言うか、ドメインの話って広く語れないんですよね。 ドメインは領域で境界があって範囲が限定されています。特定ドメ

    ドメイン駆動設計に関する何か - 日々常々
  • コミット対象をよりわけるのをやめてみよう - 日々常々

    git add {ファイル名} でステージングするファイル単位で選べます。10ファイル変更しててそのうち3ファイルだけコミットしたい時とかに便利です。 git add -p でステージングする変更を行の塊単位で選べます。関係ないコメントを足しちゃったのとか、うっかりついでに変えてしまった変更をコミットから避けたり、別のコミットにしたい時とかに便利です。 間違いなく便利な機能ではあるんだけど、常用するものじゃないと思ってます。 なので git add -A を基にする。 ……とか言いつつ git add . を常用している私。単にタイプ数と手の慣れ。ちなみにgitのaliasは使わない派です。これは違う環境でコマンド叩く機会が多かったりする都合です。 理由 を並べてみます。 コミット対象を選択するのがいちいちブロッキングなので時間がかかる 10ファイルの変更から3ファイル選択する時間は g

    コミット対象をよりわけるのをやめてみよう - 日々常々
    ikosin
    ikosin 2021/04/06
  • Javaアプリケーションを作るときにまずやってること - 日々常々

    DevLOVE関西で実験的なイベントをさせてもらいました。 devlove-kansai.doorkeeper.jp このイベントのおかげで、自分がアプリケーション作るときに最初にどうしてるかを確認できたので晒してみます。誰かの役に立つかどうかは知らない。あ、Macです。ある程度はWindowsでもいけると思うけど、ある程度だと思う。 なおSTSとかIDEのプロジェクト生成機能を使えば一発で済むことだったりする。宗教上の理由で使わないけど。 やってること 作業ディレクトリを作る ビルドスクリプトを用意する 必要なディレクトリを作る IDEを起動して取り込む テストを書いて実行する コミットする 基的にマウスを触る必要はないです。それぞれの詳細は次の通り。長く見えるかもしれませんが、(IDEAの起動とgradleのjarのダウンロード時間を除けば)全部で30秒くらいです。 作業ディレクトリ

    Javaアプリケーションを作るときにまずやってること - 日々常々
    ikosin
    ikosin 2018/03/06
  • DIコンテナのインジェクション方法の使い分けについて - 日々常々

    DIコンテナを使う時にどのインジェクションを使うかって話です。 たぶん誰かがどこかで同じようなことを書いているだろうけれど、気にせず書くよ。 「他の誰かが書いている」なんてのを書かない理由にしてると何も書けなくなるし。 コンテナ DIコンテナのこと。 コンテナ管理 インスタンスのライフサイクルをコンテナが管理していること。雑に言えば、使う側で new しないってこと。 インジェクション Dependency Injectionのこと。 Short Answer コンストラクタインジェクションを使いましょう。使い分けなくていいです。 3種類のインジェクション インジェクションには3種類ありますね。他あっても知らない。 フィールドインジェクション セッターインジェクション コンストラクタインジェクション フィールドインジェクション 一番よく見るかな。 class Hoge { @Inject

    DIコンテナのインジェクション方法の使い分けについて - 日々常々
    ikosin
    ikosin 2017/04/17
  • Optionalの取り扱いかた - 日々常々

    JavaSE8で追加されたjava.util.Optionalにはnullとの戦いに終止符を打ってもらいたいと思っているんですが、思ってるだけだと何も起こらないので、使い方とか思ったこととかを一通り書いておきます。 Optionalのファクトリメソッド Optionalのインスタンスメソッド 値を取得するもの 値を使用するもの Optionalのまま扱うもの まとめ なお、一通りと言いつつOptionalIntとかはスルーしています。機会と書くことがあればそのうち書くかもしれません。 Optionalについては諸事情(遅筆とか理解不足とか分量とか)によりJavaエンジニア養成読では軽い紹介にとどまっておりましたので、補足としてお読みいただけると幸いです。あと、この辺も参考にどうぞ。 OptionalのJavadoc 一通り触って適当にコメント書いたコード(GitHub/sandbox)

    Optionalの取り扱いかた - 日々常々
    ikosin
    ikosin 2016/04/07
  • Javaであまりしないコーディング - 日々常々

    Java Advent Calendar 2014 - Qiita の9日目です。9日ったら9日です。 なんか難しいエントリが多い中ですが、空気を読まずに軽めでいきます。 Javaでは色々なコードの書き方ができるけど、実際あまりやらないよなーって思うコーディングについて、やらない理由を無理矢理書いてみた。 決して「やってはいけないコーディング」と言う意味ではないです。単に「私はあまりしない」程度で、一般的な(?)業務開発でもあまり見ない、くらいの位置付け。理解した上でやる分には全く問題無いですし、そう言うもんだと思って使っても良いとは思います。 複数変数を同時に宣言する int i, j = 2, k; 同じ型の変数(フィールドでもローカル変数でも)は同じ文で宣言できます。 けど、あまり使ってるのは見ません。 同じ型でしか使えないし、フィールドだとJavaDocコメント書き辛いし、初期化式

    Javaであまりしないコーディング - 日々常々
    ikosin
    ikosin 2014/12/10
    “セミコロンレスなんちゃら”
  • Java EEを説明してみる #javaee - 日々常々

    これは Java EE Advent Calendar 2014 の2日目です。 Java EE をよくわかっていない私がよくもまぁアドベントカレンダーなんて登録したなーとしみじみ思いながら。 確かアドベントカレンダーに登録したのをきっかけに、なんか調べようと思ってたのですが、 思ったより12月が来るのが速くて無理でした! そんなこと言っていても仕方ないので、今書けるものを書くとしましょう。そうしましょう。 Java EEってなんぞ Java EEはJavaのEnterpriseEditionのことで、企業向けとかだけど、なんかサーバーとか使うせいか、Webっぽい雰囲気がある物体です。また、Java EEはいくつかのJSRをまとめたJSRのことを指したりもします。 こういうJSRを"アンブレラJSR"と言うとか言わないとか。 JSR(Java Specification Request)は

    Java EEを説明してみる #javaee - 日々常々
    ikosin
    ikosin 2014/12/03
  • gitのrebaseとremoteとbranchと - 日々常々

    gitでrebaseは呼吸するようにするものらしいですが、remote絡むと若干息苦しくなる。 $ git log --oneline --graph --decorate * caec1ad (HEAD, origin/master, origin/HEAD, master) add e * cb99644 add d * 912a264 add c * 14bb339 add b * b33a46a add a * 5fd8be9 initpush済みのこれをうっかりrebaseする。 $ git log --oneline --graph --decorate --all * f853362 (HEAD, master) add d * 4163b31 add e | * caec1ad (origin/master, origin/HEAD) add e | * cb99644 a

    gitのrebaseとremoteとbranchと - 日々常々
    ikosin
    ikosin 2014/06/18
  • NUnitのTestCaseが羨ましいのでJUnitでできるようにしてみた - 日々常々

    車輪の再発明万歳。 https://github.com/irof/junit-case-runner こんな感じ。(若干予定含む) @Tests({ @Case({"str1", "str1"}), @Case(value = {"str2", "str2"}, name = "hoge"), @Case(value = {"str3", "str3"}, expected = Exception.class), @Case({"str4", "str4"}) }) public void parameterTestsCase(String actual, String expected) { assertThat(actual, is(expected)); } アノテーションとかJavaの制約が地味にめんどくさい。 同じアノテーションが複数書けない。 だからラップする Tests の

    NUnitのTestCaseが羨ましいのでJUnitでできるようにしてみた - 日々常々
  • 関ジャバでJUnitな話をしたので #kanjava #junitbook - 日々常々

    関西Javaエンジニアの会'13 7月度 - connpass 関西Javaエンジニアの会'13 7月度を7月31日に開催しました。6月に続いて二ヶ月連続ですね。三ヶ月連続は無いので心配しないでくだ……あ、8月にはJavaEEと言うかGlassFishと言うか、あれがありますね!(「関ジャバのイベント」ではありませんが。) Java EE 7 & GlassFish について語ろう - DevLOVE関西 | Doorkeeper 今回の関ジャバは@jyukutyoさんのindy、@chipstar_lightさんのDDD、2連続となる@haljikさんのパズラー、あと私のコレでした。 スライド スライドあげておきます。内容の詳細は……結局このブログへのリンクになるので、中で触れてるのもあわせてリンク並べておくことで代替。 JUnitの知識を棚卸し #JJUG - 日々常々 assertT

    関ジャバでJUnitな話をしたので #kanjava #junitbook - 日々常々
  • 「淡路島の電車の運行状況を聞いた話」をシステム開発に置き換えてみる - 日々常々

    気象庁の地震情報|平成25年04月13日05時48分 気象庁発表 4/13のAM5:33にM6.0らしい地震がありました。各地で大きな被害が無いことを祈りつつ。 フジテレビのアナウンサーさんが淡路島の電車の状況を聞いたと言う話 【放送事故】フジテレビが淡路島民に「電車動いてますか?」と質問 「淡路島は電車ありません」 - NAVER まとめ だいたい見てると「電車無いのを知らずに聞いてしまった」のを叩く向きに思えます。実際のところ、聞いたこと自体はNGなのでしょうが、これをシステム開発の話に置き換えると見えるものがある気がしました。 以降はJavaの語彙で書きますが、これって NullPointerException っぽいなと。 コードっぽい何かで書いてみる こんな感じ。 運行状況 = 淡路島.get路線().get運行状況(); get路線() が何を返すのか知らないけど、これが nu

    「淡路島の電車の運行状況を聞いた話」をシステム開発に置き換えてみる - 日々常々
  • 職業PGにわかるFizzBuzz - 日々常々

    なんかFizzBuzzが書けないPGがどーとか定期的に話題になってるけど、私に言わせれば説明の仕方が悪い。 こうすれば誰でも書ける。 これだから最近の若いもんは……。 GoogleDocsのスプレッドシート、方眼紙作るのに向いてませんね……。

    職業PGにわかるFizzBuzz - 日々常々
    ikosin
    ikosin 2012/08/08
    "変換"処理だけなのは途中で飽きたんですかね。
  • 1