インストーラの入手 Visual Studio C++ Build tools の導入 Rustup のインストール 確認 インストーラの入手 Windows 環境に Rust をインストールするには WSL を使う方法もあるが、ここではネイティブなインストールを行います。 といっても、基本的にイン…
Lake Formation とは ブループリント Glue ワークフロー Glue クローラ事前ジョブ Glue クローラ事後ジョブ ETL ジョブ ETL 事後ジョブ まとめ Lake Formation とは AWS の提供するデータレイク構築のためのマネージドサービスです。 Glue のクローラを利用…
はじめに PuTTYgen でプライベートキーの変換 接続 Tera Term の場合 はじめに PuTTY から EC2 接続は、いつも忘れてしまう。 PuTTYgen でプライベートキーの変換 PuTTY はプライベートキー形式をネイティブにサポートしていないため、EC2 接続用のプライベ…
h2database のソース見てたら以下のようなコードがあった Assertion (表明) Assertion スイッチによる初期化 h2database のソース見てたら以下のようなコードがあった private static final boolean ASSERT; static { boolean a = false; // Intentional sid…
簡易手順 画面キャプチャで見る Settings から Time & Language を選択 Region & Language から Add a language を選択 Add a language のメニューから 日本語 を選択 Set as default で最上部に移動させ、Options を選択 Download language pack でインスト…
はじめに 入力フォーム BeanValidation はじめに JSF における Bean Validation でのエラー表示についての小ネタです。。 入力フォーム 以下のようなテキスト入力を考えます。 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:jsf="http://xmlns.jcp.org/jsf"> ... <form jsf:id="form"> <div class="mb-3"> </div></form></html>
はじめに selectManyCheckbox タグ selectBooleanCheckbox タグで代替する HTML5-Friendly Markup はじめに JSF の <h:selectManyCheckbox> タグは使わずに、<h:selectBooleanCheckbox> タグで代替しましょう という話です。 selectManyCheckbox タグ JSF の HTML BASIC タグである selectManyCheckbox のレ</h:selectbooleancheckbox></h:selectmanycheckbox>…
はじめに XMLネームスペース 定義ファイルの所在 Facelet タグライブラリの定義 DOCTYPE の設定 はじめに JSF2.2 (JSR-344 2013年) から Facelet タグライブラリのXMLネームスペースが変更になりました。となりました。Sun 時代のネームスペースは下位互換の…
結論 Logback の LogbackServletContainerInitializer 自動登録の無効化 ロガーの終了 結論 Logback は自動的に ServletContextListener を登録しており、サーブレットのシャットダウンやアンデプロイにより contextDestroyed() イベントでロガーを stop す…
はじめに persistence.xml persistence-unit provider jta-data-source non-jta-data-source mapping-file jar-file class exclude-unlisted-classes shared-cache-mode validation-mode properties タイムアウト系 property validation property schema-gen…
はじめに データソースの登録 CDI の有効化 JPA の導入 Entity の作成 リポジトリの作成 サービスの作成 リソースの作成 アプリケーションの実行 まとめ はじめに 前回作成した、 blog1.mammb.com に続き、データベース処理を追加してみましょう。 データソ…
はじめに プロジェクトの作成 Payara を組み込みモードで動かす JUL(Java Util Logger) から SLF4J への変更 buildSrc の追加 war モジュールの作成 Hello サーブレット アプリケーションのデプロイ Hello JAX-RS まとめ はじめに いまさら何故? という気は…
リフレクションで発生する InaccessibleObjectException リフレクションを許可する リフレクションで発生する InaccessibleObjectException Java9 で導入された JavaPlatform Module System によりリフレクションを利用するフレームワークで以下のような Ina…
入力フォームを外部ファイルに抜き出す Exposed でデータベースアクセス データベース操作 データベース操作 実行 blog1.mammb.com の続きです。 入力フォームを外部ファイルに抜き出す 前回の続きから作業しますが、すこしゴチャゴチャしてきたので、入力フ…
リクエストパスとパラメータ 入力フォームを作成する POST リクエストを処理する JSON を返却する blog1.mammb.com の続きです。 リクエストパスとパラメータ 前回までの例では、Routing にて単純な GET リクエストを処理しました。 POST など他のメソッドを…
FreeMarker で HTML を生成する 静的コンテンツを扱う HTML DSL blog1.mammb.com の続きです。 FreeMarker で HTML を生成する Ktor には、テンプレートエンジン Apache FreeMarker のサポートがあり、簡単に HTML ページを生成できます。 最初に、ktor-fr…
Ktor とは プロジェクト作成 Hello World Application オブジェクト アプリケーション設定値の抽出 Ktor とは Ktor は、Kotlin の Web アプリケーションフレームワークです。 Kotlin の本山である JetBrains 社により開発が続けられており、2018年末の v1.0 …
Gradle のツールチェーンサポートで古いJDKを指定したら実行できなかった。 Kotlin DSL だと以下のような指定。 java { toolchain { languageVersion.set(JavaLanguageVersion.of(9)) } } 「開発元を検証できないため開けません。」となり「キャンセル」しか…
はじめに スクリプトファイルの命名 Kotlin と Groovy の言語上の考慮事項 Gradle init によるプロジェクト生成 プラグインの適用 プラグインの設定 タスクの構成 タスクの作成 依存の指定 よくある設定 はじめに Gradle 5.0 よりGradle Kotlin DSL が提供さ…
JVM プロジェクトのツールチェーンサポート ツールチェーン の利用 ツールチェーンのカスタマイズ まとめ JVM プロジェクトのツールチェーンサポート Gradle 6.7 にて New JVM ecosystem features として JVM プロジェクトのツールチェーンサポートが追加さ…
はじめに 旧来のプロジェクト構成 新しいプロジェクト構成 application and library projects buildSrc はじめに 組み込みのタスク gradle init を使うことで新しい Gradle プロジェクトを簡単に作成できます。 Gradle 6.7 では、新しい推奨構成でプロジェク…
はじめに Techniques 1. dependency drift fitness function 2. Run cost as architecture fitness function 3. security policy as code 4. Tailored service templates Platforms Tools 42. Airflow 43. Bitrise 44. Dependabot 45. Helm 46. Trivy Langua…
ファイルのタイムスタンプを変えるには Files.setLastModifiedTime() が使える。 public static void touch(final Path path) throws IOException { if (Files.exists(path)) { Files.setLastModifiedTime(path, FileTime.from(Instant.now())); } else { Fi…
はじめに PostgreSQL PostgreSQL への接続 ロールの作成 データベースの作成 テーブルの作成と操作 オブジェクトの削除 psql の代表的なメタコマンド MariaDB MariaDB への接続 ユーザの作成 データベースの作成 テーブルの作成と操作 オブジェクトの削除 …
はじめに ソケット ソケットによるサーバ実装 スレッドプールを利用したサーバ実装 ブロッキングI/Oの課題 ノンブロッキングI/O I/O多重化(multiplexing) バッファ操作 I/O多重化を使ったサーバ実装 非同期チャネル NIO2 によるエコーサーバ まとめ はじめ…
Java8 以前 システムプロパティから java.version のキーで取得できます。 String version = System.getProperty("java.version"); Java9からは表記が変わるので注意が必要です。 Java8 まで:1.6.0_23、1.7.0、1.7.0_80、1.8.0_211 Java9 から:9.0.1、11.0…
EditorConfig とは 対応IDE/エディタ .editorconfig の配置場所 .editorconfig の書式 .editorconfig による設定 EditorConfig とは .editorconfig というファイルにインデントのスタイルや改行コード、文字エンコーディングの指定を書いておくことで、各種I…
はじめに upstream コンテキストによるバックエンドの指定 リクエストのバランシング タイムアウト リクエストヘッダの追加 バックエンドへの Keep-Alive 接続 はじめに nginx の利用用途として多いリバースプロキシの設定まとめです。 nginx の導入方法につ…
はじめに nginx のプロセス docker で nginx を導入する nginx の構成 nginx コマンド nginx の基本設定 location ディレクティブのマッチング アクセス制限を行う はじめに Docker による nginx の導入と、nginx の基本設定についての説明です。 nginx のプ…
はじめに プログラミング言語 インタプリタ 字句解析器 Lexer 抽象構文木を生成する Parser 評価機 Evaluator まとめ はじめに Writing An Interpreter In Go を元に、Java を使って 1,000行 以下でインタプリタを作ります。 Go言語でつくるインタプリタ作者…