参考資料
本botや本サイトの構築に使用した参考資料へのリンクです。
※2023年2月時点
きっかけ
-
モールス信号でツイートしたかった - Qiita
この記事を偶然見かけたことが本botの制作のきっかけとなりました。
短波JJYについて
-
国立研究開発法人情報通信研究機構(NICT)提供資料
NICTでは日本標準時の決定・維持・供給業務を行っています。また、標準電波を運用し標準周波数と日本標準時を供給しています。
標準電波は現在長波帯で運用されていますが、本botでは短波帯で運用されていた頃の送信内容を再現しています。-
短波時代の標準電波に関する資料室
NICT提供の公式リソース。特に標準電波の出し方(1996年4月版)を参照し実装しました。 -
資料室 短波標準電波(JJY)時報音声ライブラリ
かつて短波JJYで使用していた実際の音源。
ただし、「本ライブラリのご利用は、個人での利用に限らせて頂きます」「本ライブラリの再配布を禁止します」とあるため、本botでの使用は断念しました。
なお、本botの実装にあたりアナウンス内容の参考としました。
-
短波時代の標準電波に関する資料室
-
個人サイトの類い
-
名崎無線送信所研究サイトTOP
短波JJYが発射されていた名崎無線送信所を題材としたサイト。
特に画像&録音:JJY最期の時のページには、短波JJY最終日の現地の写真と、現地で収録された停波の瞬間の貴重な音声が掲載されています。 -
昔に録音した標準電波JJYとBPMの音声(東京足立区で受信) - ニコニコ動画
機材の都合上実際よりスピードは遅いものの、実際の短波JJYの受信音声です。 -
標準周波数報時シミュレータ STEMUの詳細情報 : Vector ソフトを探す!
Windows上で稼働する短波JJYシミュレータ。NICT提供の音声ファイルと組み合わせると完全再現ができます。
-
名崎無線送信所研究サイトTOP
時刻同期について
-
NICT公開NTPサービス(NICT)
NICT提供の日本標準時直結NTPサーバ。本botのソフトウェアを稼働させているサーバはこのサーバと時刻同期を行っています。 - Chrony設定時の参考資料
- 第18章 chrony スイートを使用した NTP 設定 Red Hat Enterprise Linux 7 | Red Hat Customer Portal
プログラム作成の参考資料
Springについて
-
Spring Boot
Spring Bootの公式サイト。 -
【Spring Data JPA】自動実装されるメソッドの命名ルール - Qiita
所定の命名規則に従ってメソッドを定義すればSQL文いらずでDBアクセスができるのですが、その命名規則をさがすのに手間取っていたところ、これを発見したことにより楽に実装できました。 -
Spring Bootで日別にログ出力する方法(Logback) | ホームページ制作のサカエン Developer's Blog
何かあったときのためにログを出してはいるものの、どこに保存するかといったところを解決するために用いました。 -
JavaEE7をはじめよう(26) - Bean ValidationとJPAの連携 - エンタープライズギークス (Enterprise Geeks)
@NotNull
つけたのになんでDB側にNOT NULL
付かないんだろう?と思ったときに見つけた記事です。 -
Spring Bootでのプロファイルを使った環境切り分け - しおメモ
ローカルでの開発中とサーバでの稼働時とで異なる設定がいくつかあったので、どうにかできないかと探した結果見つけた記事です。 -
spring.jpa.hibernate.ddl-auto に設定可能な値 - Qiita
この機能を使うことにより、DDLは1行も書かずにDBが作れてしまいました。 -
主キーをUUIDで登録する方法(Spring Boot + Spring Data JPA) - Qiita
とある場所でUUIDを必要としていました。 -
Spring JPAでCreatedTimeとUpdatedTimeを自動設定する | エンジニアっぽいことを書くブログ
とある場所で作成日時を自動で入れたかったのです。
Javaプログラミング関係の参考資料
-
ScalaでUnix timestampからLocalDatetimeを取得する - Qiita
タイトルにScalaとありますが、筆者曰く「特にScalaに限った話ではなく、Javaでも同様です」とのことで安心しました。 -
LocalDateTimeの相互変換 決定版 - Qiita
これに何度も救われたことか…。超強力チートシートです。 -
Javaの日付の差分処理はDurationを使おう!! - Qiita
ツイート時の誤差を計算するのにこの方式を採用しました。便利です。 -
意外と深いJavaのリストの反転 ~ Stream処理まで - Qiita
テスト時に入力値のリストを逆転させたリストが必要だったのです。 -
JUnit5試したみた #3(ParameterizedTest) - BullよりElk
パラメータだけが違う複数のテストケースをまとめて書きたいという需要に応えた記事です。 -
[Java]MariaDB JDBC Connection Support milliseconds | 聰明的生活
DBにミリ秒以下を保存したりミリ秒以下を取得したりしなければならなかったのですがなぜか「.000」で返ってきたんですよね…そんなときに見つけた記事です。中国語ですが。 -
Javaで,private変数・privateメソッド・privateコンストラクタを,外部から呼び出そう (リフレクションの方法) - 主に言語とシステム開発に関して
テストの関係でprivateなコンストラクタの出番が必要だったのです。
サービス化について
-
Linuxのシステムサービスを作る | Korean-Man in Tokyo
バックグラウンドで動かすのにサービスにする必要があったのです。 -
systemdの.serviceファイルで、実行ユーザーを指定する - Qiita
そのサービスを稼働させるユーザの設定方法が知りたかったのです。
Mastodon関係
-
mastodon4j
JavaからMastodonにアクセスするためのライブラリ。リファレンスが少なく実装に苦労しました。 -
mastodon-timeline-widget
トップページのトゥート表示に使用しています。
映像制作関係
モールス信号関係
-
oyvholm/cwwav: Command line tool to generate morse code sound files from text or stdin
モールス信号音声ファイル生成コマンド「cwwav」のGitHubリポジトリ。 -
テキストからモールス信号のwavファイルを生成する『cwwav』コマンド | 俺的備忘録 〜なんかいろいろ〜
「cwwav」の詳細について触れています。
日本語音声合成関係
-
Open JTalk
音声合成システム。 -
MMDAgent
音声対話システム構築ツールキット。本botでは、サンプルとして提供されている名古屋工業大学のマスコット「メイ」の音声データを使用しています。 -
メイ&タクミ公式ウェブサイト | 国立大学法人名古屋工業大学
そのマスコットキャラクターの公式サイトです。 - 以下、使い方について書いてあった記事です:
画像作成関係
-
IPAexフォントおよびIPAフォントについて | 一般社団法人 文字情報技術促進協議会
時刻部分のフォント「IPAフォント」の公式サイト。 -
[ImageMagick]convertコマンドで写真に文字を入れる
ここのコマンドを少々変更してベース画像に時刻の文字を入れることができました。 -
ImageMagick – Convert, Edit, or Compose Digital Images
ImageMagickの公式サイト。 -
CentOSでもWindowsでも使える! 日本語フォント(ゴシック編) | 株式会社ビヨンド
フォント選定時の参考資料。
FFmpeg関係
-
FFmpeg
公式サイト。 -
ffmpeg 音声ファイルを連結する – King Kaeru3
音声ファイルをどうやったら結合できるか調べていたところ、ドンピシャの記事に巡り会いました。 -
FFmpegで音声ファイルと画像1枚から動画を作成してみた | DevelopersIO
画像ファイルと音声ファイルをどうやったら結合できるか調べていたところ、ドンピシャの記事に巡り会いました。 -
CentOS 6系,7系にFFmpegをインストールする手順|新卒エンジニアの開発日記
FFmpegのインストールはこれで行いました。
Webサイト作成関係
CakePHP関係
本WebサイトはCakePHPで作成しています。
-
CakePHP - Build fast, grow solid | PHPフレームワーク
CakePHPの公式サイト。 -
[cakephp4]ビュー(view)からコントローラー名とアクション名を取得する | 沖縄のホームページ SEOはクラウドスタイル
上のメニューの表示切り替えでコントローラ名とアクション名が必要でした。 -
CakePHP4を試す (AuthenticationプラグインとDebug Kitプラグイン)
記事の主題とは少し離れますが、UUIDの生成や設定の方法を参考としました。 -
CakePHP4にBootstrap4を組み込んでみる CodeLab(コードラボ)技術ブログ
他のhokkaidosm.net系サイトと同様にBootstrapを入れることとしました。 -
php - How to get complete current url for Cakephp - Stack Overflow
OGPタグ指定時の「フルURL」取得方法を調べました。 -
CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定 | エス技研
3時代の記事ですが、4でも同じやり方でできました。
PHP8関係
CakePHP4.x系を動かすためにPHP8.x系を入れることとしました。
-
PHP8 を CentOS7 と CentOS8 にインストールする
信頼と実績の「Remi's RPM repository」 -
【PHP入門】外部コマンドの実行(exec)とコマンドライン実行の方法 | 侍エンジニアブログ
「時刻同期状況」のページでは、exec関数を用いてコマンドを実行し、その結果を表示しています。
Bootstrap関係
-
はじめに - Bootstrap 4.5 - 日本語リファレンス
Bootstrapの公式ドキュメント。 -
Nico - "Honoka"を元にした、日本語も美しく表示できるBootstrapテーマ
他のhokkaidosm.net系サイトでも使用しているテーマです。
reCAPTCHA関係
「時刻同期状況」のページでは、機械的アクセス防止のためreCAPTCHA v2(チェック方式)を使用しています。
-
reCAPTCHA v2 | Google Developers
公式ドキュメント。 -
BOT対策でGoogle reCAPTCHA認証を利用する [PHP]
PHP側の実装の参考にしました。
Google chart tools関係
トップページのグラフには、Google chart toolsを使用しています。
-
Charts | Google Developers
Google chart toolsの公式ドキュメント。 -
google chartsで横軸が日時なグラフを作成する
ちょうど日時を軸にしたかったのです。 -
javascript - Google chart redraw/scale on window resize - Stack Overflow
デバッグのため画面サイズを可変させていたのですが、グラフのサイズが変わらなかったので検索していたらこれを発見しました。
OGP関係
-
OGPとは?設定するべき理由と設定方法について | デジマギルド
OGP設定はここを参照しました。 -
【2021年版】OGP画像のサイズについて - 電脳情報局
画像サイズの参考としたサイトです。 -
OGP画像シミュレータ | og:image Simulator
↑で紹介されていたサイト。ただし2014年時点の情報がベースとなっています。 -
アイキャッチ画像サイズチェッカー|TwitterやFacebookのOGP表示を確認
こちらは2018年時点の情報をベースとしています。
oEmbed関係
Mastodonから映像にアクセスするために「oEmbed」を導入しました。
-
oEmbed
oEmbedの公式サイト。このページ1枚に仕様がぎっちり詰め込まれています。完全英語です。 -
JSON と XML ビュー - 4.x
oEmbedの対応のためには、同じデータをJSONとXML両方で出力できるようにしなければいけないのですが、CakePHPにはこれを容易にする機構が組み込まれていました。公式リファレンス。
その他
-
クリエイティブ・コモンズ・ライセンスとは | クリエイティブ・コモンズ・ジャパン
マークが必要だったので持ってきました。 -
MDN Web Docs
よくわからない点はここまで参照しました。ちなみに別件で「min-height - CSS: カスケーディングスタイルシート | MDN」に誤記を見つけたので修正依頼して修正されました。
その他
-
MariaDB Serverのバージョンを確認する | 俺的備忘録 〜なんかいろいろ〜
仕様のページにバージョンを書くのにバージョンを調べる方法を探していました。
参考:Twitter関係
2023年2月まではTwitterで運用していました。その際に使用した参考資料へのリンクです。
-
Twitter4J
Twitter4Jの公式サイト。 -
ツイートIDからツイート時刻をミリ秒まで算出(ついでに時刻からツイートIDを作成) - Qiita
本botにおける時刻誤差計算に用いるため、ミリ秒単位のツイート時刻算出に用いている手法です。 -
メディアのベストプラクティス | Docs | Twitter Developer
Twitterの公式リソース。動画の仕様策定時の指針としたドキュメントです。 -
Twitterの画像サイズまとめ完全ガイド!PCとスマホでの表示確認方法も紹介
Twitterで使用する各種画像作成時に参考とした資料です。