※当サイトの記事には、広告・プロモーションが含まれます。

RedmineのAPIってデータベースの情報に対してCRUDが為されることになると思われる話

www.itmedia.co.jp

 われわれは“金の錬金術”を実現する方法を発見した──米国の核融合スタートアップ企業であるMarathon Fusionは7月17日(現地時間)、そんな内容のプレプリント(査読前論文)を発表した。同社が公開した理論は、核融合を利用した方法で、水銀(Hg)から金(Au)を生成するというものだ。

“錬金術”を発見か? 核融合で水銀→金に変換する方法、米国スタートアップが主張 プレプリントに注目集まる - ITmedia NEWS

 一方で工学的な課題もあり、一部のプロセスを実験室での実証レベルから工業レベルにまで拡大する必要があるという。また、生成される金には放射性不純物(195Au)も含まれ、その冷却期間には6.8~17.7年の時間が必要になるという。

“錬金術”を発見か? 核融合で水銀→金に変換する方法、米国スタートアップが主張 プレプリントに注目集まる - ITmedia NEWS

 なお、今回発表した論文は、査読前であるため、専門家による再検証などをする必要がある。

“錬金術”を発見か? 核融合で水銀→金に変換する方法、米国スタートアップが主張 プレプリントに注目集まる - ITmedia NEWS

⇧ やはりと言うか、「放射性」を有する「物体」に対する扱いが壁となって来る感じなんですな...

Redmineはデータベースが必要

公式のドキュメントによると、

redmine.jp

⇧ 上記にあるように、

  1. Ruby
  2. データベース

の2つはMUSTらしい。

なのだが、

blog.redmine.jp

本手順で作成される環境は以下のとおりです。

https://blog.redmine.jp/articles/redmine-2_1-installation_centos/

システム構成を下図に示します。

https://blog.redmine.jp/articles/redmine-2_1-installation_centos/

blog.redmine.jp

本手順で作成される環境は以下のとおりです。

https://blog.redmine.jp/articles/3_4/install/centos/

⇧ とあり、「Webサーバー」が必要そうなのだが、「Redmine」の公式のドキュメントの「Redmineのインストール」のページには、「Webサーバー」について言及されていないのよね...

まぁ、何某かの「Webサーバー」が無いと「ブラウザ」上で「Web ユーザーインターフェース」所謂「Web画面」が表示できない気がするのよね...

RedmineAPIってデータベースの情報に対してCRUDが為されることになると思われる話

おそらく、といった推測の域は出ないのだが、公式のドキュメントによると、

www.redmine.org

Redmine API

Redmine exposes some of its data through a REST API. This API provides access and basic CRUD operations (create, update, delete) for the resources described below. The API supports both XML and JSON formats.

https://www.redmine.org/projects/redmine/wiki/rest_api

⇧ 上記の説明に「CRUD」と出てくるので、最終的に「データベース」の「テーブル」のレコードを、参照・更新している気がする。

ただ、Wikipediaの情報によると、

CRUD(クラッド)とは、ほとんど全てのコンピュータソフトウェアが持つ永続性の4つの基本機能のイニシャルを並べた用語。その4つとは、Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)である。ユーザインタフェースが備えるべき機能(情報の参照/検索/更新)を指す用語としても使われる。

https://ja.wikipedia.org/wiki/CRUD

データベースアプリケーション

CRUD関係データベースアプリケーションRESTfulWebアプリケーションで実装する必要のある主な機能を列挙したものと見ることができる。各文字は標準のSQL文に次のようにマッピング可能である。

https://ja.wikipedia.org/wiki/CRUD

⇧ 上記のように「データベース」以外でも「CRUD」の概念は存在するのよね...

ちなみに、「独立行政法人情報処理推進機構(Information-technology Promotion Agency, Japan、略称: IPA)」の公開しているドキュメントによると、

www.ipa.go.jp

コツとは

本ガイド取り上げたものは、「お客様との齟齬を防止するノウハウ」 。本ガイドにおいてはこのノウハウをコツと呼び、そのようなコツを掲載。

【留意点】

  • どの局面にも通用するわけではない
  • コツの適用可能/不可能はプロジェクト(システム)の特性により異なります。
    例えば、CRUD図(※)は顧客納品物/レビューの対象ではありません。
    ※データがどの機能で作成(create)、参照(read)、更新(update)、削除(delete)されるかをマトリックス形式で示した図
  • 唯一の解ではない
    例えば、画面遷移の過不足をチェックする方法はこれだけではない
  • コツは"森"ではなく"木"に近い
    大局的な作業プロセスや、成果物構成などを規定するものではなく、特定の場面において役立つノウハウ(記述の仕方、振る舞い)

https://www.ipa.go.jp/archive/digital/iot-en-ci/jyouryuu/ent03-a.html

⇧ 上記にあるように、「CRUD図」は必須というわけではないらしい。

そんなことよりも、「ソフトウェア開発」における「CRUD」の定義をハッキリ示して欲しいのだが...

「Phind」に質問したところ、「Redmine」の「API」で最終的には「データベース」の「CRUD」されてるという回答が返ってきた。


Redmine」の公式のドキュメントだと見当たらないのだが、おそらく、「Redmine」の「API」による「CRUD」というのは、「データベース」の「テーブル」の「レコード」に対して実施されると思われる、多分...

いや、公式のドキュメントに明記しておいてくれれば良い話なのだが、曖昧な書きっぷりなので判断が付かないのよね...

まぁ、そもそも、「Redmine」で利用される「データベース」の「テーブル」の全量が分からないし、「ER図」とかも無かったりするので、「Redmine」の「設計」の意図が「ブラックボックス」過ぎるんよね...

Redmine」の「Web画面」で表示される「データ」が、どの「テーブル」の「レコード」と紐付くのが分からないので、「API」で「CRUD」した時の影響が皆目見当が付かないのよ...

毎度モヤモヤ感が半端ない…

今回はこのへんで。