マガジン

  • ENGINEER TECH BLOG

    • 103本

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

最近の記事

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

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

    • FOREIGN KEY(外部キー)の罠

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

      • Javassistとメモリリーク

        何かと便利なJavassistですが、使い方によってはメモリリークが発生することをご存じでしょうか。今回はJavassistのメモリリーク回避方法を紹介したいと思います。 下準備まずはメモリリークの検証コードを実行する下準備をします。 今回はIntelliJで環境を構築しました。 プロジェクトの作成 IntelliJでプロジェクトを新規作成します。 言語:Java ビルドシステム:Gradle JDK:11.0.14 Gradle DSL:Groovy 依存ラ

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

          Javaは簡単にデコンパイルできるから簡単にノウハウが流出してしまう・・・みたいな話を聞かなくなって久しいですね。対策としては難読化やAOTコンパイラによるネイティブコードへの変換があるわけですが、今回は難デコンパイルの実装コードを実用レベルに近い形で公開しちゃいます。 難デコンパイルを実現する製品について軽く調べてみたところ、ClassGuardが現在もメンテナンスされているようです。今回公開させていただくのはClassGuardほど完全なものではありませんが、Class

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

        マガジン

        • ENGINEER TECH BLOG
          103本