マガジン

  • ENGINEER TECH BLOG

    • 97本

    ウイングアーク1stのエンジニアによるテックブログです。 アーキテクトを担うITエンジニアメンバー(社員)が、かわるがわる「ものづくり」のナレッジやそのソース、TechのHowToを発信します。

記事一覧

改行とプロダクト品質について

こんにちは。watahiroです。今回はソースコードの改行について書きたいと思います。ソースコードの改行でまず思い浮かぶのはコーディング規約です。最近ではLinterやFormat…

watahiro
1か月前
35

FOREIGN KEY(外部キー)の罠

データベースのFOREIGN KEY(外部キー)を活用していますでしょうか。テーブル間のデータ整合性を保証するために便利な機能ですが、「遅くなるのでFOREIGN KEYは使わずにソフ…

watahiro
9か月前
25

Javassistとメモリリーク

何かと便利なJavassistですが、使い方によってはメモリリークが発生することをご存じでしょうか。今回はJavassistのメモリリーク回避方法を紹介したいと思います。 下準備…

watahiro
1年前
31

Javaの難デコンパイル化用ClassLoader

Javaは簡単にデコンパイルできるから簡単にノウハウが流出してしまう・・・みたいな話を聞かなくなって久しいですね。対策としては難読化やAOTコンパイラによるネイティブ…

watahiro
1年前
31
改行とプロダクト品質について

改行とプロダクト品質について

こんにちは。watahiroです。今回はソースコードの改行について書きたいと思います。ソースコードの改行でまず思い浮かぶのはコーディング規約です。最近ではLinterやFormatterなどを活用してコーディング規約を自動的に適用することも多くなってきました。
ソースコードの改行はコード品質、特にコードの可読性の観点で語られることが多いように思います。可読性は人によって読みやすい書き方が異なるため

もっとみる
FOREIGN KEY(外部キー)の罠

FOREIGN KEY(外部キー)の罠

データベースのFOREIGN KEY(外部キー)を活用していますでしょうか。テーブル間のデータ整合性を保証するために便利な機能ですが、「遅くなるのでFOREIGN KEYは使わずにソフトウェア側で整合性を保証する。」という選択をしていた時代もありましたね。ハードウェアの性能向上、データベース製品の成熟、ソフトウェアの複雑化により、現在ではテーブル間のデータ整合性はFOREIGN KEYで保証するケ

もっとみる
Javassistとメモリリーク

Javassistとメモリリーク

何かと便利なJavassistですが、使い方によってはメモリリークが発生することをご存じでしょうか。今回はJavassistのメモリリーク回避方法を紹介したいと思います。

下準備まずはメモリリークの検証コードを実行する下準備をします。
今回はIntelliJで環境を構築しました。

プロジェクトの作成

IntelliJでプロジェクトを新規作成します。

言語:Java

ビルドシステム:Gra

もっとみる
Javaの難デコンパイル化用ClassLoader

Javaの難デコンパイル化用ClassLoader

Javaは簡単にデコンパイルできるから簡単にノウハウが流出してしまう・・・みたいな話を聞かなくなって久しいですね。対策としては難読化やAOTコンパイラによるネイティブコードへの変換があるわけですが、今回は難デコンパイルの実装コードを実用レベルに近い形で公開しちゃいます。

難デコンパイルを実現する製品について軽く調べてみたところ、ClassGuardが現在もメンテナンスされているようです。今回公開

もっとみる