この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

意訳:俺が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 さて、この脆弱性の動作原理を調べてみました。 ファイルアップロード時のヘッダの処理方式に問…

MariaDB-10.2.4で、カスケード削除とクエリキャッシュ絡みのバグを発見

MariaDB-10.2.4がリリースされています。これは正式リリース候補版と言うことで、早速検証してみたところ、バグを発見。 僕がぶち当たった現象とは、以下のようなものです。 テーブルParentとChildには親子関係があり、Childが親を指す外部キーにはカスケー…

ジャスミンソフト贄さん&クオリティスタート湯本さんとランチしてきた

先週の話となりますが、湯本さん経由で贄さんに連絡してもらい、ランチしてきました。 場所は銀座の過門香です。 ところで、この店は仕事でめちゃくちゃ重宝してます。ロケーションは申し分ないし、店のレベルも高い。 ぜひ皆様ご活用下さいませ。 ただし上…

MariaDB-10.1.21が起動しない→SELinuxの問題

つい先程、MariaDB-10.1.21にアップデートしたらmysqlが起動しなくなりました。以下のようなエラーになります。 # service mysql start Starting MySQL.170120 15:39:55 170120 15:39:55 mysqld_safe Logging to '/var/log/mysqld.log'. 170120 15:39:55 mys…

dracutが古いカーネルのinitramfsを勝手に作る

いつからかそうなったのかは覚えていないのですが… 新しいバージョンのカーネルをインストールすると、なぜか古いカーネルバージョン(しかもアンインストール済み)のinitramfsも作ろうとするようになっていました。 で、そのうち/bootに壊れたinitramfsフ…

EclEmma-3.0.0に更新したらエラー発生

本日、EclEmmaのアップデートが来ていたので更新してEclipseを再起動すると、意味不明なエラーが出てEclEmmaを使用できなくなりました。 次のようなエラーが発生します。 !MESSAGE Invalid input url:platform:/plugin/com.mountainminds.eclemma.ui/icons/f…

Tomcat-8.5.8以降ではHTTPパイプラインが動作しない

弊社はSeleniumを用いたガチなE2Eテストを全ての受託案件で実施しており、 CI環境では24H365Dで膨大なSeleniumスクリプトが動いています。 つい先日、CI環境のTomcatのバージョンを8.5.8に上げた所、意味不明なエラーが出てテストが失敗するようになりました…

自分の精神をコピーしたら何が起きるのか

こんな増田が話題になってます。 anond.hatelabo.jp 僕も先月に「ディアスポラ」を読み終わったところだったのでちょうどよいネタ。 ディアスポラ (ハヤカワ文庫 SF)作者: グレッグ・イーガン,山岸真出版社/メーカー: 早川書房発売日: 2005/09/22メディア: …

struts-2.5.5でI18nInterceptorの初期化失敗を無理やり回避する

2017-07-13追記 struts-2.5.12で解消された模様です。 対応するJiraのチケット struts-2.5.5がリリースされました。 このリリースはかなり大きなインパクトのある変更がいくつか入っています。 最大のインパクトは、ActionContext#getParameters()の戻り値が…

Googleからスカウトされました

数日前、いきなりGoogleのリクルーターからメールが来ました。 メールの全文掲載はマズいと思うので要点だけ書くと、 ブログ(このブログのこと)とGithubを見て、特にJavaに関するプログラミングの能力が高いとお見受けした Site Reliablity Engineers(SRE)…

"永続記憶装置からセッションをロード中の例外です"がウザったいのでセッション永続化をOFFにする

Tomcatを停止して再起動すると、こんな例外が発生することがあります。 java.lang.ClassCastException: java.lang.StackTraceElement cannot be cast to java.lang.String at java.io.ObjectInputStream.readTypeString(ObjectInputStream.java:1421) at jav…

Firefox48以降でSelenium-RCが動作しない問題を解消する

昨日やっとトレーナーレベル22になりました。わーい。 御存知の通り上野公園は毎週末ヤバイことになってますが、コイキングだらけのおかげでギャラドスを取れました。 さて、ウチは非プログラマもテスターとして戦力化しているので、Selenium IDEベースの環…

Jenkins2にアップグレードしたら問題なく動いた

昨晩おもむろにyum upgradeしたらLTSのバージョンもとうとうJenkins2系へ移っていた(1.651.3 → 2.7.1)ので、思い切ってアップグレードしてみました。 …とは言え、仮想マシンのスナップショットは取ってあるのでいつでも戻せますけどね。 Jenkinsサーバに万一…

Eclipse4.6 "Neon"の新機能一覧

毎年恒例の新バージョンリリースです。ネオン(Neon)ということで、なんだか派手になりました。 ティザーサイトによると、6/22にリリースされるとのこと。 http://www.eclipse.org/neon/ ひとつ前のリリース、4.5 "Mars"の解説はこちら。 http://takahashikzn…