ECOOPとは? ヨーロッパ最古のオブジェクト指向プログラミング国際会議

ECOOP(European Conference on Object-Oriented Programming)は、1987年から毎年ヨーロッパで開かれているプログラミング言語分野の国際会議です。名前のとおりオブジェクト指向プログラミングの会議として始まり、現在はプログラミング言語全般を扱う、ヨーロッパで最も歴史の長い年次会議になっています。

先にお断りしておくと、当サイト(ecoop.net)はこの会議とは無関係の個人サイトです。「ecoop」で検索してここへ着いた方の多くは会議を探していると思うので、この記事で会議の概要と、公式情報・論文の入手先をまとめておきます。

会議の概要

続きを読む ECOOPとは? ヨーロッパ最古のオブジェクト指向プログラミング国際会議

Makefile変数チートシート:自動変数 $@ $< $^ と := = の違い

Makefileを書いていると、$@ や $< みたいな記号や、= と := の使い分けで手が止まりがちです。この記事は変数まわりだけを逆引きでまとめたチートシートです。挙動はすべて手元の GNU Make で実行して確認しています。

もっと踏み込んだ仕様は GNU Make 4.4 日本語マニュアル 第6章「変数の使い方」 を参照してください。この記事はその逆引き版です。

= と := の違い(ここだけは押さえる)

いちばん引っかかるのがこれです。

  • = … 遅延展開。右辺は使うときに評価される。
  • := … 即時展開。右辺はその行を読んだ時点で評価される。

次の Makefile で違いが出ます。

続きを読む Makefile変数チートシート:自動変数 $@ $< $^ と := = の違い

Makefileの条件分岐 ifeq / ifdef 完全ガイド

Makefile で「デバッグビルドのときだけフラグを足したい」「OS ごとにコマンドを変えたい」といった分岐をしたいとき使うのが ifeq と ifdef です。書き方に少しクセがあるので、実例つきでまとめました。挙動はすべて手元の GNU Make で実行して確認しています。

仕様の詳細は GNU Make 4.4 日本語マニュアル 第7章「Makefileの条件分岐」 を参照してください。この記事はその実例版です。

4つの条件ディレクティブ

ディレクティブ 分岐の条件
ifeq 2つの値が等しい
ifneq 2つの値が等しくない
ifdef 変数が定義されている(空でない)
ifndef 変数が定義されていない(空)

いずれも else と endif で閉じます。else は省略できますが endif は必須です。

ifeq: 値を比較して分岐

続きを読む Makefileの条件分岐 ifeq / ifdef 完全ガイド

rsync でファイル名が文字化けするときの対処(–iconv と macOS の NFD 問題)

Mac から Linux サーバへ rsync でファイルを送ったら、日本語ファイル名の濁点・半濁点が分離して「テ゛ータ」のようになった。検索やタブ補完でファイル名がヒットしない。同期し直すたびに全ファイルが再転送される。こうした症状は、文字コードそのものではなく Unicode の正規化形式(NFC/NFD)の違いが原因です。

続きを読む rsync でファイル名が文字化けするときの対処(–iconv と macOS の NFD 問題)

rsync の終了コード一覧と意味

cron で回している rsync が 0 以外の終了コードを返してきたとき、その番号が何を意味するのかを調べるためのリファレンスです。まず一覧を載せて、そのあとで実際によく遭遇するコードの読み方とスクリプトでの扱い方を説明します。

終了コードは直後に echo $? で確認できます。

$ rsync -a /path/to/src/ /path/to/dst/
$ echo $?
0

終了コード一覧(rsync 3.4.4 の man ページより)

続きを読む rsync の終了コード一覧と意味

WindowsでUDP通信・ポート確認をする方法(PowerShell/ncat)

「WindowsでUDP通信を試したいのに、telnetもTest-NetConnectionも使えない」。結論から言うと、Windows標準のtelnetクライアントもTest-NetConnectionもTCP専用で、UDPには使えません。UDPを送受信するには、PowerShellのUdpClientか、ncat(Nmapに含まれるnetcat互換ツール)を使います。

※動作環境について:このページのコマンドは Windows 11(build 26200)+ Windows PowerShell 5.1 で動作を確認しています(2026-07-09)。Windows 10 や PowerShell 7 でも、使っているのは共通の .NET(UdpClient)と NetTCPIP モジュール(Get-NetUDPEndpoint など)なので同じように動くはずですが、表示のこまかな差は環境によって出ることがあります。

結論:WindowsでUDPを試す方法

続きを読む WindowsでUDP通信・ポート確認をする方法(PowerShell/ncat)

UDPポートが開いているか確認する方法と、なぜ難しいのか

結論から言うと、UDPのポートが開いているかどうかは100%確実には確認できません。TCPのポート確認とは前提がまったく違うからです。それでも実用上「開いていそう」「閉じていそう」を判断する手段はいくつかあります。この記事では、まず何が難しいのかを説明したあと、確認手段を確実性の高い順に紹介します。

  • 一番確実:相手が応答を返すプロトコルなら、実際に問い合わせて応答を見る
  • 次に現実的:nmap -sU でスキャンする(要root)
  • 自分のサーバなら:待ち受けているプロセスをサーバ側で直接確認する
  • 補助:tcpdump でパケットが実際に届いたか見る

nc -vzu だけで判定するのはおすすめしません。理由は次の章で実際に確認します。

なぜUDPのポート確認はTCPより難しいのか

続きを読む UDPポートが開いているか確認する方法と、なぜ難しいのか

netcat(nc)でUDP通信する使い方まとめ(-u オプションとBSD/GNU/RHEL系統別)

nc(netcat)でUDP通信するには -u オプションを付けるだけです。ただし nc には実装がいくつかあり、特に待ち受け(-l)のオプションの書き方が系統によって違います。ここを取り違えるとコマンドがエラーになったり、意図と違う動きをします。この記事では基本の使い方と、系統ごとの違いを実際に動かして確認した結果でまとめます。

基本:ncでUDPを送受信する

以降の基本操作は、macOS標準のnc(BSD系、OpenBSD nc由来)で実機確認したコマンドです。-u での基本的な送受信はどの系統でも同じですが、待ち受け(-l)まわりのオプションは系統ごとに変わります。詳しくは次の章にまとめました。

続きを読む netcat(nc)でUDP通信する使い方まとめ(-u オプションとBSD/GNU/RHEL系統別)

PEM ⇄ DER / CRT / KEY / PFX(p12) 変換 opensslワンライナー集

サーバや機器によって、欲しい証明書ファイルの形式はバラバラです。 「Windows(IIS)は pfx、nginx は pem、Java は DER」と、同じ証明書を形式だけ変えたい場面がよくあります。

この記事は、形式変換の openssl ワンライナーを「変換元 → 変換先」で逆引きできるようにまとめたものです。 形式そのものの違いがあやしい人は、先に 証明書ファイルの形式まとめ を読んでおくと迷いません。

動作確認は OpenSSL 3.x(手元 3.6.2)。秘密鍵の出力は 3.x 既定で PKCS#8(-----BEGIN PRIVATE KEY-----) になります。

続きを読む PEM ⇄ DER / CRT / KEY / PFX(p12) 変換 opensslワンライナー集

opensslで証明書・鍵・CSR・接続を確認するコマンド総まとめ

証明書や鍵まわりで困ったら、だいたい openssl コマンドで中身を確認すれば解決します。 この記事は、「確認」系の openssl コマンドを用途別に総ざらいしたチートシートです。コピペで使ってください。実際の出力例と、つまずきやすいエラー例も載せました。

この記事は OpenSSL 3.x(手元は 3.6.2)で実際に実行して確認しています。openssl version で自分の版を確認できます。古い 1.0.x 系だと一部オプションの既定が違うことがあります。出力例の証明書はこの記事用に作ったテスト用(www.example.com)なので、値はお手元のものに読み替えてください。

続きを読む opensslで証明書・鍵・CSR・接続を確認するコマンド総まとめ