LPIC 合格体験記

Linux Professional Institute(LPI)の認定試験である LPIC-1 Exam 101, Part 1 of 2, version 5.0 (101-500) と LPIC-1 Exam 102, Part 2 of 2, version 5.0 (102-500) の2つの試験を趣味で受験しました。

[toc]

LPIC とは

Linux のシステムアーキテクチャ、ネットワーク、セキュリティ等に関する基本操作や設定に関して問われる認定資格試験です。

試験形式は CBT で 4 または 5 の選択肢のなかから問題文に対して適当な解答を選択するものが多いです。

しかし、条件に合致する選択肢をすべて選択する問題や、求められている結果を表示するコマンドや、求められているファイル名をキーボード入力する問題も少なからず出題されます。

出題はランダムで、私が受験したときにはファイル名や絶対パスを入力させられる問題が連続して出題され、そのことで大いに肝を冷やしました。

普段、パス名などはタブキーで補完してしまうことが多いので、例えば /proc/self/mounts を入力することを求められている問題では正解は mount だったか、mounts だったかと自分の記憶が疑わしくなりました。




Continue reading “LPIC 合格体験記”

Kotlin デスクトップ・アプリケーション開発

Java SE で標準的な GUI ライブラリとして利用されている JavaFX。このライブラリを Kotlin で利用するために広く用いられている TornadoFX という IntelliJ IDEA のプラグインがあります。

これを使用するためには IntelliJ IDEA 上で Ctrl + Alt + s キーを押して Settings ウィンドウを開き、Plugins > Marketplace タブから TornadoFX を選択してインストールした後、IDE を再起動します。

しかし、JavaFX は JDK11 から独立したモジュールとなり、JDK に含まれなくなったため、2021年現在ではプラグインをインストールしただけでは利用できません。

実際には以下のようなエラーを吐き出して実行に失敗します。

Cannot access ‘javafx.application.Application’ which is a supertype of …

そこで MavenCentral から JavaFX を取得するようbuild.gradle (tornadofx-gradle-project) を編集します。

plugins {
    id 'org.openjfx.javafxplugin' version '0.0.10'
}

javafx {
    version = '11'
    modules = [ 'javafx.controls', 'javafx.fxml' ]
}




実行環境は以下の通りです。

$ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
TornadoFX 1.7.20.1

IntelliJ IDEA 2021.3 (Community Edition)
Build #IC-213.5744.223, built on November 27, 2021
Runtime version: 11.0.13+7-b1751.19 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

Windows & Electron & SQLite3 ビルドエラーの解消

Electron を使用すると HTML & CSS & JS でクロスプラットフォームなデスクトップアプリを開発できます。

建前上は Linux と Windows と macOS とで同じ仕様のソフトウェアを動かすことが可能ということになっていますが、実際には node_modules 以下のモジュールのコンパイルエラーやファイルパス、Node.js のバージョンなどの影響を受けるため、ほかの OS 上で開発されたプロジェクトをそのままクローンして実行しようとするとうまくいかないことが多々あります。

とくに Windows 10 上での実行では、ほかの OS では見たこともないような得体の知れないエラーが頻出します。これは Node.js が部分的に C++ で構成されていたり、一部のモジュールのインストール時に Python のような JS 以外の言語で書かれたスクリプトが実行されたりするためです。

Windows はこうした開発者ツールを備えていませんので、必要な場合はユーザが自身でインストールして設定を行わなければなりません。

私も Windows の使い方が分からないのですが、エラーメッセージをだいぶ見慣れて耐性がついてきたので備忘録代わりに記述しておきます。

動作環境 Windows 10 (ver 1909)

$ uname -a
MINGW64_NT-10.0-18363 DESKTOP-BFSGMU1 3.1.7-340.x86_64 2020-10-23 13:08 UTC x86_64 Msys

$ node -v
v12.18.4

$ yarn -v
1.22.5

$ grep -e sqlite3 -e \"electron\" package.json
    "sqlite3": "^5.0.2",
    "@types/sqlite3": "^3.1.7",
    "electron": "^10.4.1",

Continue reading “Windows & Electron & SQLite3 ビルドエラーの解消”