情報工学領域実習 B

URL


アクセスできたら、まず最初にブックマークに追加しておいてください。
講義ページ
https://lsnl.jp/l/training

講義ページ (複数ページ版 (モバイル端末向け))
https://lsnl.jp/~ohsaki/lecture/training/2025/toc.html

[授業中に提出] リフレクションシート (パスワードが必要です)
https://lsnl.jp/app/lecture/refl/show/training

[自習後に提出] レポート送信フォーム (パスワードが必要です)
https://lsnl.jp/app/lecture/report/show/training

講義ビデオ (パスワードが必要です)
https://lsnl.jp/video/training/2025/

連絡用メイリングリスト (教員に届きます)
training-staff[atmark]lsnl.jp
本文には、必ず学生番号・氏名・メールアドレス (@kwansei.ac.jp のもの) を明記してください。

担当教員

大崎 博之
関西学院大学 工学部 情報工学課程
E-mail: training-staff[atmark]lsnl.jp

授業目的

4 年次の卒業研究に向けて、 コンピュータとプログラミングを活用した、 効率的な研究活動の方法を学ぶ。 また、 将来のキャリア設計についても考える。 コンピュータの高度な利用法 (Linux/macOS/UNIX の利用法、 システム管理、 開発環境、 ネットワーク/サーバ構築) や、 プログラミング技術 (自動化処理、 データ分析/統計処理、 アプリケーション開発) を実習形式で学ぶ。

到達目標

- 卒業研究のテーマや研究活動の基礎を理解し、簡単な研究活動を実施できるようになる。

- コンピュータの高度な利用法を習得し、UNIX 系オペレーティングシステムを効率的に操作できるようになるとともに、システム管理ができるようになる

- Python やシェルスクリプトによる処理の自動化、データ分析/統計処理、アプリケーション開発ができるようになる

授業方法

アクティブラーニング形式 (全体説明、 グループワーク (ディスカッション、 コンピュータ実習、 ペアプログラミング等)、 プレゼンテーション、 振り返り) で実施する。

Python 言語とシェルスクリプトを中心に、 ペアプログラミングによる効果的なソフトウェア開発手法も学ぶ。 受講者の希望に応じて、 その他のプログラミング言語 (C/C++、 JavaScript、 アセンブリ言語、 Lisp、 Awk、 Julia、 Perl、 Ruby、 Go、 VBA、 Matlab/Octave、 R、 React、 Java、 Rust 等) もあわせて学ぶことができる。

受講者の希望に応じて、 コンピュータシミュレーション、 マルチプラットフォーム (iOS、 Android、 Linux、 macOS、 Windows、 Raspberry Pi) 開発、 ネットワークプログラミング、 AI (人工知能)/機械学習プログラミング、 グラフィックスプログラミング等に取り組むこともできる。

成績評価

その他 (基礎平常点および達成点) 100%

基礎平常点 (毎回の実習の基本的な取り組み; 75 点満点) および達成点 (課題等の達成度; 25 点) により評価する。 ただし、 3 回を超える欠席 (またはこれに相当する遅刻・早退) があった場合には不合格とする。 やむを得ぬ事情で出席ができない場合には、 担当教員に申し出ること。

スケジュール

  2025/ 9/24 Debian GNU/Linux のインストールとセットアップ
  2025/10/ 1 CLI 環境のセットアップ
  2025/10/ 8 ウィンドウマネージャ導入
  2025/10/15 エディタ (Emacs チュートリアル)
  2025/10/22 タッチタイピング
  2025/10/29 ツールの設計・開発 (1)
  2025/11/ 5 ツールの設計・開発 (2)
  2025/11/12 ペアプログラミング
  2025/11/19 キャリア設計
  2025/11/26 Python 開発環境 (1)
  2025/12/ 3 Python 開発環境 (2)
  2025/12/10 研究テーマの理解 (1)
  2025/12/17 研究テーマの理解 (2)
  2026/ 1/ 7 研究テーマの理解 (3)



大崎が担当する科目に共通の連絡事項・アドバイス

注意事項、 教育方針、 学習のポイント、 病欠/公欠の時に何をすればよいか等を説明しています。

  大崎が担当する科目に共通の連絡事項・アドバイス
  https://lsnl.jp/~ohsaki/lecture/



Debian GNU/Linux のインストールとセットアップ

実習の流れ

1. 解説 (30 分)
2. 実習 (60 分)
3. リフレクションシート記入 (10 分)

チーム分けの方針

- いろいろな人とチームになる
- チームの人数は自由に決めてよい

態度目標

- しゃべる
- 質問する
- 説明する
- 動く (立ち歩く)
- チームで協力する
- チームに貢献する

内容目標

- ノートパソコンを日頃から適切にクリーニングできるようになる。

- ノートパソコンの BIOS 設定の概要を理解し、必要に応じて設定をリセット/変更できるようになる。

- オペレーティングシステムをインストーラを入手し、USB メモリにインストーラを書き込めるようになる。

- Debian GNU/Linux をクリーンインストールし、インストール時にどのような設定を行っているかを理解する。

課題

課題1

自身のノートパソコンをアルカリ電解水を適切に使用してクリーニングせよ。

課題2

自身のノートパソコンの BIOS 設定を確認し、 以下を変更せよ。 (1) BIOS 設定の初期化、 (2) トラックパッドの無効化、 (3) セキュアブートの無効化、 を実施せよ。

課題3

Debian GNU/Linux (amd64) のインストーラを作成せよ。 バージョンは 13 (trixie)、 アーキテクチャは amd64 を選択せよ。

Debian GNU/Linux ISO image (amd64)
http://ftp.nara.wide.ad.jp/debian-cd/current/amd64/iso-cd/

How do I write a CD/DVD/BD image to a USB flash drive?
https://www.debian.org/CD/faq/index.en.html#write-usb

課題 4

課題 3 で作成したインストーラを用い、 Debian GNU/Linux をクリーンインストールせよ。 ただし、 デスクトップ環境をインストールしては「いけない」。

資料
Debian GNU/Linux インストールガイド
https://www.debian.org/releases/stable/amd64/index.ja.html

レポート課題 2025/9/24

実習終了後に自習を行い、 到達目標まで到達せよ。 疑問に思った点、 わからない点は各自で信頼できる文献を用いて調査せよ。

その後、「今週の作業内容」、 「『内容目標』をどの程度達成できた/できなかったか」、 「質問・要望・コメント」、 「感想」を「レポート送信フォーム」から送信せよ。

レポート課題の内容や書き方については、 レポート送信フォームに説明があるのでそちらを参照せよ。

提出方法: 「レポート送信フォーム」から送信せよ。 レポートが再提出された場合は、 新しいほうを採点対象とする。

提出期限: 次回の講義開始の 48 時間前とする (例えば、 9/24(水) の課題であれば、 10/1(水) 5:05m の 48 時間前である 9/29(月) 5:05pm)。 期限を過ぎたものは受理しない。

注意事項: リフレクションシートは教員のみに送付される。 レポート課題は領域実習のメイリングリストに送付される (受講者全員 + 研究室メンバに送付される) ことに注意せよ。 他の受講者や、 研究室メンバに見られて困る内容はレポート課題には記載しないこと。

コメント

- 授業後に自習を行い、Linuxの基本的な仕組みやインストール手順を改めて確認しました。授業中にできなかった部分を自分のペースで試すことで理解が深まり、特にBIOS設定やUSBからの起動方法を復習できたのが大きな成果でした。

CLI 環境のセットアップ

実習の流れ・チーム分けの方針・態度目標

2025-09-24 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-1

内容目標

- 設定ファイルを書換え、CLI のみを使用することで自身の PC を Wi-Fi に接続できるようになる。

- Debian におけるパッケージ管理の基礎を習得し、パッケージを最新の状態にアップデートできるようになる。

- シェルを標準の bash から fish に変更し、fish のドキュメントにいつでも参照できるようになる (高機能なシェルを使えるようになる)。

- 端末マルチプレクサである screen をインストールし、基本的な操作ができるようになる (複数のシェルを切り替えて使用できるようになる)。

資料

Debian リファレンスカード
https://www.debian.org/doc/manuals/refcard/refcard.ja.pdf

Debian リファレンス
https://www.debian.org/doc/manuals/debian-reference/index.ja.html

Debian 管理者ハンドブック
https://www.debian.org/doc/manuals/debian-handbook/index.ja.html

課題

最初に、 CapsLock を Ctrl に割り当てておく。

# nano /etc/default/keyboard (キーボードの設定ファイルを編集)
変更箇所
-XKBOPTIONS=""
+XKBOPTIONS="ctrl:nocaps"
# /etc/init.d/console-setup.sh restart (設定ファイルを再読み込み)

- から始まる行が変更前、 + から始まる行が変更後 (diff -u の出力形式と同じ)。 先頭の - や + は行の一部ではないことに注意。

課題1

設定ファイル /etc/network/interfaces を書き換えることにより、 無線 LAN (Wi-Fi) に接続せよ。

Using ifupdown
https://wiki.debian.org/WiFi/HowToUse#Using_ifupdown

Getting WPA_Supplicant to work on boot in Debian 10
https://unix.stackexchange.com/questions/537235/getting-wpa-supplicant-to-work-on-boot-in-debian-10

# ip a (ネットワークインターフェースを確認)
# iw dev (無線インターフェースを確認)
# ip link set wlp2s0 up (無線インターフェース wlp2s0 を有効に)
# iwlist scan (利用可能な無線ネットワークをスキャンする、無線ネットワークが見えているか)
# nano /etc/network/interfaces (ネットワークの設定ファイルを編集)
# ifup wlp2s0 (無線インターフェース wlp2s0 を ON に)
# iw wlp2s0 link (無線インターフェースの状態を確認、Connected になっているか?)
# ip a (IP アドレスが取得できているか確認)

※検索エンジンで、 「Debian 無線設定」等で検索してヒットしたページ (その大部分が「石」) を参考に「しない」のが上達の秘訣。

課題2

apt コマンドを用いることにより、 Debian GNU/Linux のパッケージを最新のものに更新せよ。

6.2. aptitude、apt-get、apt コマンド
https://www.debian.org/doc/manuals/debian-handbook/sect.apt-get.ja.html

# apt update
# apt upgrade

課題3

パッケージ fish をインストールするとともに、 ログインシェルを fish に変更せよ。

Finally, a command line shell for the 90s
https://fishshell.com/

# apt install fish
$ fish
> help
> chsh

課題 4

パッケージ screen をインストールし、 screen の基本的な利用法を習得せよ。 エスケープキーは Ctrl-Z に設定すること。

GNU Screen
https://www.gnu.org/software/screen/

GNU screen usage
http://gnuscreen.org/

GNU Screen (Arch Linux)
https://wiki.archlinux.org/title/GNU_Screen

# apt install screen
> echo 'escape ^Z^Z' >~/.screenrc
> screen

レポート課題 2025-10-01

2025-09-24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6

ウィンドウマネージャ導入

実習の流れ・チーム分けの方針・態度目標

2025-09-24 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#8-1

内容目標

- ウィンドウマネージャ (xpywm) をインストールできるようになる。

- xpywm の基本的な操作法を理解し、ウィンドウに対する一般的な操作ができるようになる。

- xpywm のインストール場所および変更方法を理解し、簡単なカスタマイズができるようになる。

- xpywm と qutebrowser の組合せで、高速な操作ができるようになる。

課題

準備

- sudo をインストールし、sudo コマンドが実行できる状態にしておく。

- fish をインストールし、デフォルトシェルを fish に変更しておく。

- LANG が ja_JP (日本語) になっていれば、以下を実行し、デフォルトロケールを en_US.UTF-8 に変更しておく。

> sudo dpkg-reconfigure locales

課題 1

xpywm、 xpymon、 xpylog が利用可能な状態の X ウィンドウシステムを起動せよ。

課題 2

xpywm のキーボードおよびマウス操作法を暗記せよ。

課題 3

xpywm の文字およびフレームの色を自分好みのものにカスタマイズせよ。

課題 4

Web ブラウザ (qutebrowser) を起動し、 検索エンジンで「debian sudo」を検索し、 1 番目の検索結果の Web ページを開くために必要なキー操作と、 そのストローク数を答えよ。

略解

課題 1

もしまだなら、 事前に sudo コマンドのインストールと設定を済ませておく。

sudo コマンドのインストール・設定方法
# apt install sudo
# adduser 自分のログイン名 sudo ← 自分自身を sudo グループに追加する
いったんログアウト

インストール用スクリプトを wget で入手し、 シェル (sh) で実行する。 その後、 さまざまな設定ファイルを格納したアーカイブ (home.tgz) をホームディレクトリ上で展開する。

> wget -O - lsnl.jp/xpywm | sh
> tar xzvf home.tgz
> startx

home.tgz を展開すると、ホームディレクトリ以下の設定ファイルが上書きされることに注意せよ。

課題 2

以下に操作法の一覧がある。

https://github.com/h-ohsaki/xpywm

課題 3

プログラム本体 (Python のスクリプト) xpywm の場所は which xpywm でわかる。

> which xpywm
/usr/local/bin/xpywm

このファイル xpywm 中の、 以下のような箇所

FRAME_COLOR = 'aquamarine1'
TITLE_COLOR = 'aquamarine3'

にある色名 (aquamarine1 や aquamarine3 など) を他の色名に書換えればよい。 X ウィンドウシステムが認識する色の名前は、

/usr/share/X11/rgb.txt

に書かれている。

xpywm の所有者は root のため、 (1) root の権限で書換える、 (2) ファイルの所有者を自分に変更する (chown コマンド)、 (3) ファイルを所有者以外でも書換えらえるようにする (chmod コマンド) などの方法がある。

課題 4

<Alt+Ctrl+3>odebian sudo<Enter>fgl

17 ストローク。 ただし、 最後の 2 文字 (gl) は検索エンジンや検索結果によって変化する。

レポート課題 2025-10-08

2025-09-24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6

エディタ (Emacs チュートリアル)

実習の流れ・チーム分けの方針・態度目標

2025-09-24 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6

内容目標

- Emacs の基本的な操作方法を習得し、ファイルを作成・編集できるようになる

テキスト

https://lsnl.jp/~ohsaki/lecture/training/2025/priv/03.pdf

事前準備

配布していた ~/emacs (home.tgz に含まれるもの) が Debian GNU/Linux 13 trixie の Emacs ではエラーになる。

このため、~/.emacs に以下のパッチを当てる。 行頭の + は追加をあらわす (+ を除いた一行を ~/.emacs に追加する)。

--- .emacs.orig 2025-11-05 18:32:23.546276853 +0900
+++ .emacs      2025-11-05 18:32:18.958111160 +0900
@@ -26,6 +26,7 @@
        (add-to-list 'default-frame-alist (cons 'font fontset-name))))))
 
 (setq initial-buffer-choice t)
+(fset 'linum-mode 'display-line-numbers-mode)
 
 
 ;;; Major mode

もしくは、 xpywm のインストールを再度行なってもよい。 ただし、 この場合は設定ファイルが上書きされることに注意せよ。

課題

UNIX では Ctrl キーを多用するので、 CapsLock キーを Ctrl キーに割り当てておく。

/etc/default/keyboard の

XKBOPTIONS=""

という行を

XKBOPTIONS="ctrl:nocaps"

に書き換える。その後、以下を実行。

# /etc/init.d/console-setup.sh restart

課題 1

Emacs をインストールせよ。

課題 2

Emacs のチュートリアルを起動し、 「もし Emacs が反応しなくなったら」までを実行せよ。

課題 3

「Hello!」という文字列が書かれた ~/foo.txt というファイルを Emacs のみを用いて作成せよ。

課題 4

Emacs のキーバインド一覧を表示し、 どのようなコマンドがあるかを眺めてみよ。 また、 (1) M-d、 (2) C-SPC、 (3) C-w、 (4) C-y というキー操作によってどのような処理が実行できるかを調べよ。

略解

課題 1

> sudo apt install emacs

課題 2

> Alt + Ctrl + 2 (Alt と Ctrl を押しながら 2 を押す (「emacs &」で起動してもよい)。
> C-x RET l Japanese RET (言語環境を日本語に変更、M-x set-language-environment RET でもよい)
> M-h t (M-x help-with-tutorial RET でもよい)
※ C-x は Ctrl キーを押しながら x キーを押す
※ M-x は Alt キーを押しながら x キーを押す
※ RET は Enter キー (もしくは C-m)

課題 3

> C-x C-f foo.txt RET (M-x find-file foo.txt RET でもよい)
> Hello!
> C-x C-s (M-x save-buffer RET でもよい)
※ UNIX では ~ はホームディレクトリを表す。

課題 4

> M-h b (M-x describe-bindings RET でもよい)
> M-d: kill-word (単語単位の削除 (キル → キルリングに入るタイプの削除))
> C-SPC: set-mark-command (現在のポイント(カーソル位置)をマークする)
> C-w: kill-region (リージョン (マークとポイントの間) をキルする)
> C-y: yank (キルしたテキストをペーストする)

レポート課題 2025-10-15

2025-09-24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6

より深く学びたい人へ

(Emacs に限りませんが) オンラインドキュメントではなく、 書籍で知識を吸収することをおすすめします。 Emacs に関する良書は多くありませんが、 読むなら以下の本をすすめます。 「GNU Emacs マニュアル」は原文が GPL で公開されているので、 翻訳版も GPL で公開されています。

Richard Stallman, ``GNU Emacs マニュアル,'' 共立出版, 1988.
https://lsnl.jp/~ohsaki/lecture/training/2025/priv/GNU_Emacs_Manual.pdf

GNU Emacs マニュアル 29.4
https://ayatakesi.github.io/emacs/29.4/html/index.html

ただし、 翻訳の質は共立出版のもののほうがはるかに良いです。

Debra Cameron, James Elliott, Marc Loy, Eric Raymond, Bill
Rosenblatt, ``入門 GNU Emacs 第 3 版, '' オライリー・ジャパン, 2007.

追加の資料です。

  日本のEmacsユーザーのためのハブサイト
  https://emacs-jp.github.io/



タッチタイピング

実習の流れ・チーム分けの方針・態度目標

2025-09-24 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6

内容目標

- タッチタイピングの利点を理解し、他人に説明できるようになる。

- タッチタイピングにおけるホーム行 (home row) を理解し、両手のそれぞれの指で担当すべきキーを押せるようになる。

- US 配列と JIS 配列の違いを理解し、適切なキーボードを選択できるようになる。

- タイピング練習ソフトウェア (pytyping) をインストールし、毎日コツコツとタッチタイピングの練習ができるようになる。

課題

資料

Touch typing
https://en.wikipedia.org/wiki/Touch_typing

How to learn Touch Typing
https://www.unipage.net/en/touch_typing_how_to_learn

Touch Typing Finger Placement
https://agilefingers.com/articles/touch-typing-finger-placement

Keyboard layout
https://en.wikipedia.org/wiki/Keyboard_layout#Japanese

課題 1

タッチタイピングの利点は何か。

課題 2

タッチタイピングにおけるホーム行 (home row) において、 (1) 右中指が担当するキー、 (2) 左人差し指が担当するキーをそれぞれ答えよ。

課題 3

US 配列と比較した時の JIS 配列の欠点は何か。

課題 4

pytyping をインストールし、 タッチタイピングを練習せよ。

まず、 これまでのタイピング方法で、 どの程度の WPM (Word Per Minute) が得られるかを試し、 その値 (WPM) を記録せよ。

その後、 タッチタイピングで、 遅くてもよいので何度も練習を繰り返せ。

略解

課題 1

- 入力速度が向上する。

- 視点の切り替えが不要になり、生産性が向上する。

- 頸部の疲労が軽減される。

課題 2

(1) 8, I, K, ,

(2) 4, R, F, V, 5, T, G, B

課題 3

コンピュータのキーボードはもともと US 配列で設計されているため、 JIS 配列にするためにさまざまな歪みが生じている。

- キーのレイアウトに無理がある。
- キーの配列が美しくない (ガタガタ・バラバラ)。
- 重要なキー (スペースバー、シフトキー、バックスペースキー) が小さい。
-  (かな入力しない人には)「かな」の刻印が邪魔。

課題 4

> wget --user=******** --password=******** https://lsnl.jp/~ohsaki/lecture/training/2025/priv/pytyping
> sudo install -m 755 pytyping /usr/local/bin/
> wget --user=******** --password=******** https://lsnl.jp/~ohsaki/lecture/training/2025/priv/rfc2914.txt
> sudo mkdir -p /usr/local/share/pytyping
> sudo intall -m 644 rfc2914.txt /usr/local/share/pytyping
> pytyping -n 1
※ それぞれのコマンドが何を実行しているのか、また、各コマンドがなぜ必要なのかもあわせて理解せよ。

レポート課題 2025-10-22

2025-09-24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6

簡単なツールの設計・開発 (1)

実習の流れ

2025-09-24 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#8-1

内容目標

- コンピュータ (トモダチ) に何を手伝ってもらえば、毎日が楽しく快適になるかを考えられるようになる。

- 「3 日で作ってみたいソフトウェア」の仕様と実装の方針を他人に説明できるようになる。

- 「3 日で作ってみたいソフトウェア」の基本部分を (他の人の助けを借りて) Debian GNU/Linux 上で実装できるようになる。

課題

課題 1

日々の生活を楽しく、 快適にするために、 どのようなソフトウェア (ツール) が Debian GNU/Linux 上にあれば良いかをチーム内で議論せよ。 まずは、 3 日間で実装できるような簡単ものを考えよ。

各チームで 3 つ以上の案を出し、 以下をそれぞれのソフトウェア (ツール) について A4 1 ページでまとめよ。 できるだけ図を用いて表現することが望ましい。

- ソフトウェア (ツール) の名称
- 背景 (ソフトウェア (ツール) が必要とされる背景)
- 動機 (ソフトウェア (ツール) 必要とされる理由)
- 目的 (ソフトウェア (ツール) で何を実現したいか)

課題 2

課題 1 で考えたソフトウェア (ツール) のそれぞれについて、 その仕様と実現方法 (実装の方針) を各チーム内で議論せよ。

- 手法 (ソフトウェア (ツール) の実現方法)
- 入出力 (何を入力すると、何が出力されるのか)

課題 1 で作成したシートに上記の内容を追記せよ。 できるだけ図を用いて表現することが望ましい。

課題 3

課題 1 および課題 2 で考えたソフトウェア (ツール) から 1 つ選び、 領域実習用の Debian GNU/Linux 上で実装せよ。

最初は、 PoC (Proof of Concet) の実装から始めるとよい。

レポート課題 2025-10-29

2025-09-24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6

簡単なツールの設計・開発 (2)

実習の流れ

2025-09-24 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#8-1

内容目標・課題

2025-10-29 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#14-2

レポート課題 2025-11-05

2025-04-09 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6

ペアプログラミング

実習の流れ・チーム分けの方針・態度目標

2025-09-24 と同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#8-1

内容目標

- ペアプログラミングとは何かを他人に説明できるようになる。

- ペアプログラミングの「コツ」を理解し、実践できるようになる。

- 簡単なプログラムを他のメンバとペアプログラミングで開発できるようになる。

例題

ニュース記事の URL を引数に指定すると、 そのニュース記事をテキスト形式で標準出力に書き出す news2txt コマンドを作成せよ。

少なくともニュースの見出しと、 本文を出力すること。 出力の形式や、 見出しと本文以外のどの情報を出力するか等は自由に定めてよい。

 実行例
 ./news2txt 'https://www.itmedia.co.jp/aiplus/articles/2511/12/news075.html'
 * 「権利侵害はない」のに"声が酷似"? AI音声「にじボイス」、33キャラ取り下げ 詳細を開発元に聞いた (1/2 ペ ージ) 
 
  「権利侵害はなかったが、関係者に懸念を生じさせるのは本意ではない」--DMMグループでAI関連サービスを
 開発するAlgomatic(東京都港区)は、AI音声サービス「にじボイス」で33件のキャラクターボイスを取り下げた
 理由を、ITmedia AI+の取材に対して明かした。日本俳優連合(日俳連)から「組合員の声に酷似している」との
 指摘を受け、今回の対応に至ったという。
 
  この問題を巡っては、俳優や声優の権利保護活動などを行う日本俳優連合が7日、「『にじボイス』に対し、
 33件のキャラクターボイスが組合員の声に酷似している件について問い合わせを行った。その結果、音声を取
 り下げるとの回答を得られた」と報告していた。
 
  一体何があったのか。Algomaticに詳細を聞いた。
 
  にじボイスは、Algomaticが2024年12月に正式にリリースしたAI音声サービス。「声の権利を守るためのプラ
 ットフォーム」をうたい、AIの学習には「適切に権利処理された音声データのみを使用している」としていた。
 
  今回取り下げたのは、にじボイスで提供していた全124キャラクターのうち、33キャラのボイス。Algomatic
 によると、9月29日に日俳連から、組合員の声に酷似しているとして、33キャラの削除を求める書類を受け取っ
 た。その後、社内で取り下げを決定し、10月3日に日俳連に報告。31日に33キャラの提供を終えたという。
 
  Algomaticは、33キャラの音声について「再度調査を行い、法的な権利侵害は確認されなかった」と述べる。
 一方、音声を取り下げた理由として「声の権利を尊重するプラットフォームとして、関係者に懸念を生じさせ
 ること自体が本意ではないと考えた」と説明。「権利侵害の有無に関する判断ではなく、あくまで関係各所へ
 の配慮の観点から当社が自主的に判断した」としている。
 
  権利侵害がなかったにもかかわらず、なぜ33件のボイスに対し、日俳連から「組合員の声に酷似している」
 と指摘される事態になったのか。Algomaticに聞いたところ、以下の返答が得られた。

課題

課題 1

ペアプログラミングの実施手順を理解せよ。

Pair Programming Tutorial
http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/csci135/csci136tutorials/pair_programming_tutorial.pdf

課題 2

ペアプログラミングにふさわしい席配置、 ノート PC の配置を考え、 そのようにレイアウトせよ。

課題 3

Web ブラウザを起動し、 コマンド行に指定した英単語を OLD (Oxford Learner's Dictionary) で検索した結果を表示する old コマンドを作成せよ。

実行例
> ./old proxy
(Web ブラウザが起動し、https://www.oxfordlearnersdictionaries.com/definition/english/proxy が表示される)

課題 4

明日の天気予報を表示する weather コマンドを作成せよ。 天候、 最高/最低気温、 湿度、 降水確率等の何をどのように表示するかは自由に決めてよい。

実行例
> ./weather
晴
最高 17
最低 [-3]

略解

課題 1

省略

課題 2

省略

課題 3

省略

課題 4

サンプル (表示する情報の抽出・整形は未実装)
https://lsnl.jp/~ohsaki/lecture/training/2025/priv/weather

> chmod +x weather
> ./weather
  <section class="tomorrow-weather"><!-- 明日の天気 -->
  <h3 class="left-style">明日&nbsp;11月16日<span class="weekday">(水)</span><span class="roku-you">[友引]</span></h3>
  <div class="weather-wrap clearfix">
    <div class="weather-icon"><img src="https://static.tenki.jp/images/icon/forecast-days-weather/01.png" alt="晴" title="晴" width="94" height="60">
      <p class="weather-telop">晴</p>    </div>
    <div class="date-value-wrap">      <dl class="date-value">
        <dt class="high-temp sumarry">最高</dt>
        <dd class="high-temp temp"><span class="value">17</span><span class="unit">℃</span></dd>
        <dd class="high-temp tempdiff">[0]</dd>
        <dt class="low-temp sumarry">最低</dt>
        <dd class="low-temp temp"><span class="value">1</span><span class="unit">℃</span></dd>
        <dd class="low-temp tempdiff">[-3]</dd>
      </dl><!-- /.date_value -->
    </div><!-- /.date-value-wrap -->
  </div><!-- /.weather_wrap -->

  <div class="precip-table">
    <table>
      <tr>
        <th>時間</th>
        <th>00-06</th>
        <th>06-12</th>
        <th>12-18</th>
        <th>18-24</th>
      </tr>
      <tr class="rain-probability">
        <th>降水確率</th>
        <td>0<span class="unit">%</span></td>
        <td>0<span class="unit">%</span></td>
        <td>0<span class="unit">%</span></td>
        <td>0<span class="unit">%</span></td>
      </tr>
      <tr class="wind-wave">
        <th>風</th>
        <td colspan="4">南西の風日中西の風</td>
      </tr>    </table>
  </div><!-- /.precip_table -->
  </section><!-- /明日の天気 -->

</div><!-- /.contentsBox -->

レポート課題 2025-10-12

2025-09-24 のものと同じ。

https://lsnl.jp/~ohsaki/lecture/training/2025/#9-6


Hiroyuki Ohsaki (ohsaki[atmark]lsnl.jp)