質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Cassandra

Cassandraは、key-valueストア型のデータベース管理ソフト及び オープンソースの分散データベース管理システムのことです。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

2回答

423閲覧

ミドルウェアの動く仕組みを把握したい。

kenji267

総合スコア50

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Cassandra

Cassandraは、key-valueストア型のデータベース管理ソフト及び オープンソースの分散データベース管理システムのことです。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

1クリップ

投稿2019/01/06 08:12

編集2019/01/06 08:15

Apache、mysqlなどのミドルウェアが動く仕組みをソースレベルで把握したいと思っています。
今までずっと「何かアプリケーションを作る」という目的のためだけにソフトウェアを作ってました。
アプリケーション開発に至るレイアで何が起こっているのかを概念だけでなく、実際に実感して理解したいと考えています。

どの本を読んでもリファレンスマニュアルでこういう設定で動くとか、こういう構文でこう書くとこう動くというものばかりです。あっても概念だけの説明に止まっています。なぜそれで動くのかをトライアンドエラーで試して見ていきたいのです。その中で必要であればプログラムをしていきたいです。

実際に作られたページに行くといきなり敷居が高くなりますし、しかもリファレンスマニュアル的なことしか書かれていないような気がします。

OSならLinuxのシステムコールやカーネルを学習する方向とかあると思われ模索していますが、ミドルウェアで中身を理解する取り組み方法がわかりかねています。いい方法があればご提案いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/01/07 03:47

まず最初に、ソフトウェアの「内部の動作を知りたい・理解したい」ということであれば、ソフトウェアはソースコードに書かれた通りの動作をしているわけですので、そのソフトウェアのソースコードを読む覚悟が必要です。 ---- ところで、 > 実際に作られたページに行くといきなり敷居が高くなりますし と書かれている「実際に作られたページ」というのは、何を指しているのでしょうか? 公式サイトの各種ドキュメントのことでしょうか?
kenji267

2019/01/07 13:21

はい、おっしゃる通り公式サイトのドキュメントのことです。 例えばmysqlならばmysql.orgから公式サイトを見ています(公式サイトへの行き方も実はよくわかっていません) 色々な製品があるように思われそこからどのドキュメントを見たらいいのかもよくわからなくなる状況です。
guest

回答2

0

ベストアンサー

とりあえず、連載 プログラミングの光景 のような連載記事から読み始めてはいかがでしょうか?
「コードリーディング」をキーワードにして検索すると、参考になる記事がいろいろ見つかると思います。

投稿2019/01/06 09:12

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kenji267

2019/01/06 13:33

コメントありがとうございます。意外な視点で戸惑いました。 今回の質問はDBの使用の仕方だけでなく、mysqlのRDBやcassandraのnosqlのようなDBを作ることができるにはどうするのかを知りたいという質問です。少しはその片鱗に触れたいなあと思ってるんですが全く触れもしないんで…。
退会済みユーザー

退会済みユーザー

2019/01/06 13:46 編集

>実際に作られたページに行くといきなり敷居が高くなりますし こちらがどの程度の高さを指されているのかわかりませんが、coco_bauerさんが書かれているように、「コードリーディング」されることがよろしいかと思われます。例に挙げられているソフトウェアもOSSですのでコードも公開されています。私自身、MySQLやそのプラグインの内部動作を確認するために、SQLを流しつつGDBでステップ実行などしていました。 MySQLの関数に関する情報であれば、O'Reillyの詳解MySQLなどおすすめです。 ただ、基本は、読んで、読み解いて、動かしての繰り返しになるかと思います。
kenji267

2019/01/07 13:12

「コードリーディング」がOSSのコードを読んでいくことだという認識が足りていなかったようです。 OSSのコードは公開されているものの中々その内容に踏み込んでいくだけの何か(知識等)が足りないのかもしれません(きっかけがわかればいいだけかと思うんですが)。それが明確になればまた質問させていただくかもしれません。
coco_bauer

2019/01/09 01:26

ApacheはWebサーバ、mysqlはデータベース、これらを併記している質問が「DBの使用の仕方だけでなく、mysqlのRDBやcassandraのnosqlのようなDBを作ることができるにはどうするのかを知りたい」という内容だと理解するのは無理です! 「ミドルウェアが動く仕組みをソースレベルで把握したい」という文章から推測する事も無理です! まず、何が知りたいかということの焦点を絞って、誰でも理解できような質問の文章を書いてください。  書かれているコメントが理解しやすいコードは、プログラムの動作も理解しやす場合が多いです。良い日本語を書くスキルは、物事を論理的に整理することにつながり、良いコードを書く基礎になります。
kenji267

2019/01/10 12:05

質問でわかりにくい表現等があり指摘も受けています。 しかしながら今回の表現で理解できないというのは、もうどう質問すればいいのかわかりません。 プログラムの不具合とか明らかに答えにたどり着く質問しか受け付けないと受け取ります。 取り組んだことがなく、今の調べ方ではスタート地点に立てないときどういう質問の仕方をすればいいのでしょうか。今回はそういう質問をし、実際にどうしているかの回答もあり、大変助かりました。
guest

0

なるべく古いプロトに近いバージョンのソースを読むのが一番速いと思います
(もちろんバグもたくさんあるでしょうけど)

投稿2019/01/07 03:23

yambejp

総合スコア114747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kenji267

2019/01/07 14:04

やはりソースを読むことですか・・・。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問