りょうじ

東京暮らし、子らの父で妻の夫。工学研究科情報工学専攻修士。職業プログラマー。 ゲーム好…

りょうじ

東京暮らし、子らの父で妻の夫。工学研究科情報工学専攻修士。職業プログラマー。 ゲーム好き、アニメ好きのはずが、最近はどちらにも時間を割り当てられない。

マガジン

  • プログラミング千夜一夜(コーディングナイト)

    プログラミングにまつわるあれこれの話をまとめます。

  • 技術メモ

  • プロメテウスの箱庭

    僕が考えるいろいろなことを、できるだけ残していくためのサンドボックス。 ここで燃やす小さな火があなたの何かを照らせたら、嬉しい。

  • ジョギング

  • モリア

    モリアのダンジョン改造記録。

記事一覧

while を単体テストする

興味深いポストを見た。曰く: 単体テストでテストできる対象は「評価できる値」で「比較できるもの」となるため、 while そのものをテストすることは難しい。(単体テス…

りょうじ
1か月前
1

『ハケンアニメ!』辻村深月

天才アニメ監督・王子千晴(おうじちはる)を支えるプロデューサー有科香屋子(ありしなかやこ)、辣腕プロデューサー行城理(ゆきしろおさむ)と気鋭の監督・斎藤瞳、観光…

りょうじ
6か月前
1

『赤い月の香り』千早茜

怒りに駆られて赤い月を思い浮かべる朝倉満が、丘の上の森に住む物静かな調香師小川朔の屋敷で働くことになる。朔は匂いに敏感であらゆる香りをつくりだすことができる。か…

りょうじ
6か月前

ラッチ──初期化は一回だけ

関数に入ったとき、それが最初のときだけある処理をしたい。そんな要求がわりとある。 static bool initialized = false;if (!initialized) { // 初期化処理 initialize…

りょうじ
6か月前

CS0579、属性の重複エラー

クラスライブラリープロジェクトを作成してアプリケーションプロジェクトに参照を追加してビルドしたところ CS0579、属性が重複しているとエラーが出てビルドできなくなっ…

りょうじ
6か月前

似たコード(ループ)の整理

ざっくり以下のようなコードを組みたててから遠目に見ると、ほとんど同じだ、と気づく: if (packed){ var value = read(stream); while (count-- != 0) { …

りょうじ
6か月前

OpenMP でのループ途中脱出、是か非か

結論:仕様 3.0 ではループ途中の中断は禁止されている。 つまりループ途中の break や throw によるループ脱出は不可。 #pragma omp parallel forfor (int i = 0; i < 10…

りょうじ
11か月前

他人に言えない失敗を積み重ねて「無難〜」なことしか言えなくなるんだなあ みつを

りょうじ
1年前

「東京の台所」文章メモ

https://digital.asahi.com/and/article/20220921/422524333/ 3行禁止 人は他人の長い文章を読もうとしない。無料ならなおさら。 書き出し命 書きだしで読者を掴む。読…

りょうじ
1年前

今年ももう M/D か……

一年で数回、「日付」と「経過日数の割合」がつりあう日があります。 それが 1/19、 3/15、 4/14、 8/13 の4日、直近では 4/14 です。 どういうことか。 もう少し噛みく…

りょうじ
1年前
1

あと何日?

6、4、5、2、1の5つの数字に四則演算を挟んでどんな数字が作れるだろう? もちろん頭を働かせて色々試すのも楽しい。 けれどプログラマーだったらサラッと全通り、…

りょうじ
1年前
2

ピザ錬成と DIY キット組み立て会

9 月 25 日(日)、 Sony 大崎ブリッジターミナルでの DIY キット組み立て会に参加してピザを焼いてきました。 福利厚生の一環(?)でピザ窯を買ったので試運転してみませ…

りょうじ
1年前
8

『人に伝わるプログラム』講演会

去る9月20日、「人に伝わるプログラム」と題して講演しました。 「議論メシ編集部」さまにもご紹介いただきました。(感謝!) 日頃、コードを書きながら感じているあ…

りょうじ
1年前
3

クリティカルセクション

マルチスレッドでの並行処理を書いているとき、共有リソース(主には共有変数)を同時に書きかえないよう排他アクセスする必要がある。 排他制御を実現するためにコンピュ…

りょうじ
1年前

和と積

C++ の話。配列やコンテナの値の総和を取りたい、けれど std::sum はない。ああ今日も車輪の再発明。 sumsum は std::accumulate アルゴリズムをつかって実装できる。 te…

りょうじ
1年前

終了ステータスコード

定義プログラムがどのように終了したかを示すコード。 C プログラムの main 関数が return で戻す整数値。 main の戻り型は int のため「符号つき」におもえるけれど、 PO…

りょうじ
1年前

while を単体テストする

興味深いポストを見た。曰く:

単体テストでテストできる対象は「評価できる値」で「比較できるもの」となるため、 while そのものをテストすることは難しい。(単体テストが `Assert.Equals` 的な(結果の)値の比較をするツールだという前提で)
while 文の while は、単体で値を持つものではないからである。

ただ While 関数を実装することで間接的に確かめることはできそ

もっとみる

『ハケンアニメ!』辻村深月

天才アニメ監督・王子千晴(おうじちはる)を支えるプロデューサー有科香屋子(ありしなかやこ)、辣腕プロデューサー行城理(ゆきしろおさむ)と気鋭の監督・斎藤瞳、観光課職員・宗森周平とアニメーター(原画)・並澤和奈(なみさわかずな)の組みあわせで綴られる3章がぐるっと円環をなして閉じるアニメ制作讃歌。このクール、覇権をとるのは王子監督の魔法少女「運命戦線リデルライト」か斎藤監督の「サウンドバック」か。

もっとみる

『赤い月の香り』千早茜

怒りに駆られて赤い月を思い浮かべる朝倉満が、丘の上の森に住む物静かな調香師小川朔の屋敷で働くことになる。朔は匂いに敏感であらゆる香りをつくりだすことができる。かつてあった、そして今はない香りまでも。そんな彼に舞い込む色々な調香の依頼。依頼人たちがどのような想いで頼むのか、そして朔はなにを感じて請けるのか。朔を手伝う黒ずくめの城島、屋敷に住まう源じいさんとともに働きながら満が少しずつ自らを取り戻して

もっとみる

ラッチ──初期化は一回だけ

関数に入ったとき、それが最初のときだけある処理をしたい。そんな要求がわりとある。

static bool initialized = false;if (!initialized) { // 初期化処理 initialized = true;}// 通常処理

これで十分目的は達しているのだけれど、まだコードがアセンブラで書かれていた古い時代に「自己書きかえ」という黒魔術があったという話がい

もっとみる

CS0579、属性の重複エラー

クラスライブラリープロジェクトを作成してアプリケーションプロジェクトに参照を追加してビルドしたところ CS0579、属性が重複しているとエラーが出てビルドできなくなった。

System.Reflection.AssemblyVersionAttribute など、いや、バージョンはライブラリーとアプリケーションとで独立しているはずで重複とかおかしいでしょ?
ネットを検索して情報をあさるも、重複し

もっとみる

似たコード(ループ)の整理

ざっくり以下のようなコードを組みたててから遠目に見ると、ほとんど同じだ、と気づく:

if (packed){ var value = read(stream); while (count-- != 0) { yield return value; }}else{ while (count-- != 0) { yield return

もっとみる

OpenMP でのループ途中脱出、是か非か

結論:仕様 3.0 ではループ途中の中断は禁止されている。
つまりループ途中の break や throw によるループ脱出は不可。
#pragma omp parallel forfor (int i = 0; i < 1000000; ++i) { // no break nor throw (except catch it in this scope).}

ループ本体で条件を都度確認し

もっとみる

他人に言えない失敗を積み重ねて「無難〜」なことしか言えなくなるんだなあ みつを

「東京の台所」文章メモ

「東京の台所」文章メモ

https://digital.asahi.com/and/article/20220921/422524333/

3行禁止
人は他人の長い文章を読もうとしない。無料ならなおさら。

書き出し命
書きだしで読者を掴む。読むと決めた時点でわかることを書かない。(私は、という主語を省くとか、〜について、など)

常套句注意
手垢にまみれた(👈)言い回しをやめる。

文末で最後の大勝負
とても素晴ら

もっとみる
今年ももう M/D か……

今年ももう M/D か……

一年で数回、「日付」と「経過日数の割合」がつりあう日があります。
それが 1/19、 3/15、 4/14、 8/13 の4日、直近では 4/14 です。

どういうことか。
もう少し噛みくだくと 4/14 は、年初 1/1 を一番目として一年間で 104 番目に当たります。(英語では day number と言うそう)
経過日数の割合 104/365 と日付表示の 4/14 それぞれを分数として

もっとみる

あと何日?

6、4、5、2、1の5つの数字に四則演算を挟んでどんな数字が作れるだろう?

もちろん頭を働かせて色々試すのも楽しい。
けれどプログラマーだったらサラッと全通り、出してみたくなりますよね?

数字は固定なので変数は四則演算四つの4箇所。
つまり可能な組み合わせは4の4乗。256通りの数字が作れます。

こういうときは Python を使うのが便利。
四則演算4つの組み合わせは以下でサクッと作れます

もっとみる
ピザ錬成と DIY キット組み立て会

ピザ錬成と DIY キット組み立て会

9 月 25 日(日)、 Sony 大崎ブリッジターミナルでの DIY キット組み立て会に参加してピザを焼いてきました。
福利厚生の一環(?)でピザ窯を買ったので試運転してみませんか? とお声がけいただきほいほいと出かけた次第。

ピザ大崎のライフで材料を一揃い買い求め……たつもりが、イーストと塩を忘れた。そして昼のレジ混雑を甘く見たのが今回の反省点。(プラス、薄力粉はサイズ各種そろっていたけれど

もっとみる
『人に伝わるプログラム』講演会

『人に伝わるプログラム』講演会

去る9月20日、「人に伝わるプログラム」と題して講演しました。
「議論メシ編集部」さまにもご紹介いただきました。(感謝!)

日頃、コードを書きながら感じているあれこれを聞いてもらいたい! と、そんなおもいが嵩じたこと。自分から打って出ないかぎり、だれにも決して気づいてもらえないという常日頃のくすぶり。
なにより大学教授やベンチャー社長などなどそうそうたる肩書きが登壇・講演する中で一介の平社員が話

もっとみる

クリティカルセクション

マルチスレッドでの並行処理を書いているとき、共有リソース(主には共有変数)を同時に書きかえないよう排他アクセスする必要がある。

排他制御を実現するためにコンピューター・サイエンスではセマフォやミューテックスを使う、と習う。 Windows ではこれらより軽量なクリティカルセクション(CRITICAL_SECTION)オブジェクトが使える。
プロセスやセッションをまたいだ排他制御が不要──つまりプ

もっとみる

和と積

C++ の話。配列やコンテナの値の総和を取りたい、けれど std::sum はない。ああ今日も車輪の再発明。

sumsum は std::accumulate アルゴリズムをつかって実装できる。

template<typename InputIter, typename Type = typename std::iterator_traits<InputIter>::value_type>in

もっとみる

終了ステータスコード

定義プログラムがどのように終了したかを示すコード。
C プログラムの main 関数が return で戻す整数値。

main の戻り型は int のため「符号つき」におもえるけれど、 POSIX で定められている有効な値の範囲は 0 から 255 までの整数(符号なし)。
値の使いかたには「これ!」という決定的な文書は存在しない?(ご存じのかた、いらっしゃったら教えてください)

意味プログラ

もっとみる