タグ

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

  • Log4j 2のバージョンアップのやりかた - 日々常々

    Log4j 2に脆弱性があるらしい、バージョンアップしたら治るらしい。」 日話題のこのテーマで軽く書いておきます。 未完です。 未完公開の言い訳。更新した内容は最後に書いてます。大きな間違いは(今のとこ)ないので、よかった。 2021-12-20追記: 2.17.0 出てますのでコピペしてそのままにせず適宜読み替えてくださいね。 とにかくバージョンを上げよう ……リリースできるかは別の話として。 バージョンを上げられないことには話になりません。ということでとにかくあげましょう。 Log4j 2のようなログライブラリは多くのプロダクトで使用されています。 意識する/しないに関わらず、ログライブラリは何かしら関連があると思うべきでしょう。 使用しているかの調べ方 常時依存ライブラリリストを出力するなどして管理しているのであればそれを見ればいいだけの話ですが、そうでなければ、 mvn dep

    yogasa
    yogasa 2021/12/11
  • Java17雑感 - 日々常々

    LTSとなるJava17が出ました。組織が今後もJavaを使っていけるかの試金石になるバージョンだと思います。 実際のとこLTSだから特別安定してるとかそんなことはないと思うし、6バージョン(3年)ごとにLTSにするってのもたぶんOracleさんが言ってみただけで、いろんなとこがそれに乗っかってるから、実質的に節目になってるに過ぎない。はず。 その程度のものなんだけど、私のようなのは乗っかりますし、たぶん多数派なんじゃないかなぁ……この派閥が運用で使うJavaのバージョンは8、11、17で、他のバージョンは評価に使うくらいでしょう。 11から17のジャンプになるんで、かなりたくさんの変更がありますが、業務アプリケーションの表層に関係するものはそこまで多くありません。パフォーマンスとかに影響のあるものは多々ありますが、基的には早くなるはずで、問題になることは稀です。稀なことはよくあるんです

    Java17雑感 - 日々常々
    yogasa
    yogasa 2021/09/18
  • ArrayListじゃなくListを使うという話 - 日々常々

    具象型ではなく抽象型で扱え、インタフェースを使え、みたいなお話に対して。 前置き Javaの話。他の言語だと話は変わります。 「こうするのが絶対的に正解」と言うものではありません。私の現在の選択の説明です。明日になったら違うこと言ってるかも。 主な登場人物は掲題の java.util.ArrayList および java.util.List、そして java.util.Collection と java.lang.Iterable です。 こんな世界観。他のインタフェースやクラスもたくさんありますが、この話の筋では無いので触れません。 前提として以下を置いています。 フレームワークやライブラリではなく、一つの業務アプリケーションに閉じた話です。ゆえに不特定多数から使われる型ではなく、影響を与えるコードは全て目が届く範囲にあるものとします。 計算量は別の話です。扱うドメインにもよりますが、

    ArrayListじゃなくListを使うという話 - 日々常々
    yogasa
    yogasa 2019/08/11
  • 「現場で役立つシステム設計の原則」の感想 - 日々常々

    現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: 単行(ソフトカバー)この商品を含むブログ (1件) を見る 目次流しは以前書きましたが、読み終わってるので改めて。 一緒に開発する人には読んでおいてほしい。可能なら手元に置きながら開発してほしいです。手頃なサイズ、重量、厚さ、価格ですし。鈍器系に比べれば持ち運びやすい。実際レビューやペアプロの際、「あのに書いてるんだけど・・・」という感じで何度か参照しています。 読書会をしてみて 4つのイベントに参加しました。うち2つは輪読形式の読書会で、最初から最後まで読み上げです。有用なのと同時に危険でもある、というのが読書会での感想です。 平易な文章で理解しやすいように思えるのですが、表面だけで理解した気になっていると間違いな

    「現場で役立つシステム設計の原則」の感想 - 日々常々
  • WEB+DB PRESS vol.92から「Javaの新定石」って連載、はじめました。 - 日々常々

    連載はじまります。よろしくおねがいします。 イメージは高速道路。知識の高速道路とか言うアレです。 ワープや発生ではないです。いきなり新しいものが出てくるのではなく、昔から繋げつつ駆け抜ける感じ……になるのかな。 そんな風なことを書いていきたいなーと思ってます。 メインターゲットは「昔からJava使ってるけど、最近の変化とかいちいち追うのめんどい」って方です。 それだけじゃなく、Javaやってる人に広く合うんじゃないかなー。 定石 あまり関係ないですけど、定石*1って知ってても勝てないんです。 定石を知ってる同士で組み合って、そこからお互い思考を重ねたりして、最後には唯一無二の棋譜ができる。そんな感じ。 定石には理由があるけれど、理由は知らずに手順を暗記しているだけでもそれなりに様になります。 とういうのも、定石は最善手から成立していて、定石の範囲内では基的に互角になります。 つまり、定石

    WEB+DB PRESS vol.92から「Javaの新定石」って連載、はじめました。 - 日々常々
    yogasa
    yogasa 2016/04/22
  • 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 - 日々常々
  • Javaであまりしないコーディング - 日々常々

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

    Javaであまりしないコーディング - 日々常々
    yogasa
    yogasa 2014/12/10
  • 関ジャバで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 - 日々常々
  • 文字列連結と+演算子について整理しておく - 日々常々

    何度か書いているけど、整理的な意味で。今後は「このエントリ参照」にするつもりで書いてみる。 文字列連結から見るシステム内で扱う型について - 日々常々 Javaプログラマであるかを見分ける10の質問 に答えてみる - 日々常々 String の連結ネタの続き - 日々常々 前書き Stringなんてboxed primitive*1でもないただのクラスのくせに、中途半端に贔屓されて*2てムカつく*3し、その中途半端ぶり*4がなお腹立たしい……。そして +演算子 で連結して問題が起こるような状況、つまりそんな長々と文字列連結したいような場合は、きっと他の適した型がある。StringBuilderじゃなく、もっと別の何か。業務要件で文字列を組み立てる目的を考えれば、たぶんテンプレート的なものに落ち着くんじゃ無かろうか。ライブラリ的な所でなら逐次書き出し等になるような。どちらにせよ文字列の組み立

    文字列連結と+演算子について整理しておく - 日々常々
  • 「淡路島の電車の運行状況を聞いた話」をシステム開発に置き換えてみる - 日々常々

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

    「淡路島の電車の運行状況を聞いた話」をシステム開発に置き換えてみる - 日々常々
    yogasa
    yogasa 2013/04/14
  • 「自動生成でプログラマ不要」とかゆーの - 日々常々

    「自動生成」って言葉を聞くと、前のめりになったり顔をしかめたりと人によって反応は様々です。ですが「自動生成でプログラマが不要になる」と言われると「ばかじゃねーの」となると思います。 少しも「ばかじゃねーの」と思わない人はコンテキストが根からズレてますので、以下は読む必要ありません。そこをあわせるつもりは無いですので。 自動生成されたコード 生成元はなんであれ、コードを自動生成すると言うアプローチはよくあります。 ここではコード全体を自動生成する場合を指すと思ってください。生成されたコードがそのままコンパイル可能である状態です。言ってしまえば「バイナリを自動生成する元であるコードを自動生成せざるを得ない」ってことで、さらに誤解を恐れずに言えば「扱っている言語は表現力に乏しい」となります。だって高級言語なんて人間が扱えるように作られてるはずなのに、それよりも読みやすく書ける上にそのままコンパ

    「自動生成でプログラマ不要」とかゆーの - 日々常々
  • 第4回大阪Jenkins勉強会の走り書き #jenkinsstudy - 日々常々

    第4回大阪Jenkins勉強会 - connpass 第4回Jenkins勉強会 in 大阪 - 日語 - Jenkins Wiki 第4回大阪Jenkins勉強会 - Togetterまとめ 2012/12/21 19:00 に大阪Jenkins勉強会をやりました*1。年末の平日、かつ金曜の夜によくこれだけの人が集まるもんだと感心しました。あいにくの空模様で、傘を忘れた私は……(以下略 自ら肥え太る執事を現場に入れてみた @kazuhito_mさんの(一般的な勉強会)スピーカーデビュー戦。 正直な話、予想以上の内容と話しっぷりに良い意味で予想を裏切られました。内容も実際にやってることだけに実践的。抱えている問題への理想像と現実解を考え、実行する。当人の「歌って踊れる」っぷりを見せつけるセッションでした。 COBOLからJavaへリプレースされたプロジェクトJavaプロジェクト数で数え

    第4回大阪Jenkins勉強会の走り書き #jenkinsstudy - 日々常々
    yogasa
    yogasa 2012/12/23
  • 関西Javaエンジニアの会スペシャル! JavaOne 2012のメモ #kanjava - 日々常々

    関西Javaエンジニアの会スペシャル! JavaOne 2012 - connpass 関西Javaエンジニアの会スペシャル! JavaOne 2012 - Togetterまとめ JavaOne2012の報告会!……ですが関ジャバメンバー誰もJavaOne行ってないわけで。そんなわけで @yoshioteradaさんと@skrbさんの2ずつお願いしてしまうと言う……*1ありがとうございました! 50人弱集まって頂きましてとても満足度は高かったです。最近のJavaのことをそれなりに知れたわけですが、それをどう生かしていくかーとかをふと考えたりしつつ。 ざっくりメモ JavaOne 2012 のアップデート - @yoshioteradaさん "Make the Future Java" は"Javaの将来を作る"と"将来をJavaで作る"のダブルミーニング。Javaは今後も進化していくわ

    yogasa
    yogasa 2012/12/12
  • 変更前をコメントアウトして残す習慣は未だ根強い (2012年現在) - 日々常々

    2020-03-11追記: タイトルの「未だ」がいつなのかわかりづらいので「2012年現在」を追加しました。 バカバカしい話ですが、ソースコードをSubversionなどでバージョン管理しているにもかかわらず、未だ修正前をコメントアウトして残す習慣は残っているところも多々あります。こういうのです。 // 2012/08/15 irof 修正開始 // hoge = fuga(1); hoge = fuga(2); // 2012/08/15 irof 修正終了 見た事無い方は、そのまま見ないままで生きていかれることを切に願います。 コメントの修正がある場合 2012/07/21にあった、SCMBCでこんなツイートがありまして。 この時点でお見せしたのはこんな感じ。 // 2012/07/21 削除開始 // // 間違ったコメント // 2012/07/21 削除終了 someMethod

    変更前をコメントアウトして残す習慣は未だ根強い (2012年現在) - 日々常々
  • 職業PGにわかるFizzBuzz - 日々常々

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

    職業PGにわかるFizzBuzz - 日々常々
  • Mac Book Air の設定メモ - 日々常々

    初期状態からごにょごにょすることになったから、適当にメモっていきます。目新しいことは無いと思いますけど。 日語が入力できない インストール時にUSキーボードだからってUSを選んだらそのまま。ことえりが有効になってないので、そのチェックボックスを入れるだけでOK システム環境設定 > 言語とテキスト > 入力ソース コンピュータ名(ローカルホスト名)が気にわない インストール終わった後は irof-no-MacBookAir とかになってる。正直ださい。コンピュータ名なのでシステム設定の一般にあるかと思ったけど、共有にある。 システム環境設定 > 共有 素直にかえるだけでいい。再起動とか要らない。 javacの文字化け Javaはターミナルから java を叩くとインストールされるので、それに任せる。その後 javac を叩くと文字化けしてる。file.encodingを指定すればいいん

    Mac Book Air の設定メモ - 日々常々
  • キョウミタコード - 日々常々

    List list = hoge(); if (list.size() >= 1) { for (Object o : list) { // hoge } } ぱっと見て isEmpty 使えよと思ったけど、そもそも if 要らない…。 Annotation annotation = clz.getAnnotation(HogeAnnotation.class); if (annotation != null) { // annotation を使わない処理 } else { annotation = clz.getAnnotation(FugaAnnotation.class); if (annotation != null) { // やっぱり annotation を使わない処理 } else { annotation = clz.getAnnotation(PiyoAnnotati

    yogasa
    yogasa 2012/01/22
  • 私の技術書の選び方 - 日々常々

    技術者たるもの、毎月積読タワーを成長させる義務があります。嘘です。成長させちゃいけません。とは言え毎月のように新しい技術書に触れる事は重要だと思います。私はそれほど読書速度も速くないし、勤勉でもありませんが、それでもそこそこの量は読んでると思います。 毎月の技術書代 「技術書に幾らかけているか?」はたまに話題になります。私の場合だいたい 1万円/月 です。値段がどうしたと思うかもしれませんが、だいたい冊数がわかります。3,000-4,000円 が多いので、だいたい3冊ってことですね。 費用自体は収入や読書速度、近くの図書館の蔵書などにも左右されるとは思いますが、勉強会でお会いする方々に聞いてみたところだいたい似たようなものでした。中には 2-3万円 かけてる方も居ましたが、大事なのは継続して読み続ける事だと思います。なので月当たりの費用を聞いてみました。はそのまま身に付きますので、払えな

    私の技術書の選び方 - 日々常々
  • Javaっぽいプログラマになる方に薦める5冊 - 日々常々

    いきなりぶっちゃけますが、5冊で足りる訳がありません。でもいきなり難攻不落の城を見せ付けられても困ります。数が多いとそれだけで「うわ、こんな読まないといけないの!?」と思ってしまうものです。なので、私がこれまで読んできたの中から5冊だけピックアップしてみました。ここに挙げたものが全てではありません。これらを読むことで次のに手が伸びるようになると幸いです。学習は継続しなければ意味がありません。だからこそスタート地点はしっかりした方がいいと思います。 ※プログラミングを全く知らない人は対象にしていませんので、悪しからずご了承下さい。最低限の文法等は修得していて、何かしらのシステム開発に携わっている、携わろうとしている、そういう方向けです。 達人プログラマー ソフトウェア開発は技芸です。技芸と言うことは達人が居ます。その域を知って目指すことで、プロフェッショナルな開発者になれると思います。意

    Javaっぽいプログラマになる方に薦める5冊 - 日々常々
  • 1