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

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

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

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

Q&A

解決済

4回答

831閲覧

フレームワークの先の知識

rashild

総合スコア24

Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

0グッド

0クリップ

投稿2019/07/14 19:20

webサービスを開発するために私を含め初学者の方はフレームワークを使っていると思います。
フレームワークの「使い方」(すでにフレームワーク内で実装されているコードを利用すること)はネットや入門系の書籍等で学ぶことができると思うのですが、そのコードが裏でどのように動いているのかということまで理解することができれば、それぞれの言語の長所が自分でわかるようになり、もうワンステップ成長できるように思います。

このようなフレームワークの仕組みを学習したい場合、どのようが知識が必要でしょうか?
今のところHTTPやTCP/IPを勉強するつもりです。

他の方の意見をお聞きしたいです。
よろしくお願いします。

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

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

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

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

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

gentaro

2019/07/15 03:24

フレームワークって言葉の指している範囲はめちゃくちゃ広いので、どうにも質問が漠然としているように感じます。 HTTPやTCP/IPに関係するフレームワークの具体例って何でしょう?
rashild

2019/07/15 09:31

提議が曖昧なのは私の理解が曖昧だからです。すみません。 HTTPやTCP/IPの勉強をしようとしているのは、フレームワークの使い方しかしらないとフレームワーク上で実装されたコードしか使いこなせなくなる時が来るのではないかと思い、漠然とそれよりも下の層の知識が必要になると思ったからです。 例としてlaravelには既存のログイン認証がありますが認証するための変数を増やしたければ、自分で書き換えることになると思います。 その先は知識がなく未知ですが、極論としてどんどん機能を掘り下げていくには別の層の知識も知っておいた方が良いのではないかと思い質問させていただきました。 もっと頭を整理させてから質問すべきでした。
guest

回答4

0

このようなフレームワークの仕組みを学習したい場合、どのようが知識が必要でしょうか?

Web系のフレームワークに限ったとしも、機能は多岐に渡ります。
なので、実際に理解したいフレームワークを自分で作ってみるのが近道な気がします。

また最近のフレームワークはほとんどオープンソースなので、ソースコードを読むことで理解を深めることができるかもしれません。

投稿2019/07/14 22:57

nskydiving

総合スコア6500

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

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

0

このようなフレームワークの仕組みを学習したい場合、どのようが知識が必要でしょうか?

LaravelやRailsなど、フレームワークによっては、フレームワーク上でのコード作成を便利に進めるため、メタプログラミング的な高度な手法を使ってフレームワークを実装してあることがあります。

このようなフレームワークを深く理解したい場合、そういった高度な言語機能のほうもしっかり理解しないとついていけないでしょう。

投稿2019/07/14 23:38

maisumakun

総合スコア145183

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

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

0

フレームワークって便利ですよね。
で、その先を目指すなら「不便」なものを体験しておくのがよいかと。
例えるなら ABSなしの車でブレーキングを体験するみたいな?

まず、HTTPサーバー組み込みでなく CGI がいいです。
そこで perl なり ruby なり python なりを使って
どのような処理が必要になり、どのような挙動をするかを
体験すれば、フレームワークなどで覆われたものを
扱う際にも(やりたいことの)当たりがつくようになります。

要は WEBシステムの基本的な流れを肌で感じるのが目的ですね。

投稿2019/07/14 22:24

takasima20

総合スコア7458

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

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

0

ベストアンサー

まず、TCP/IPとひとくくりで書いてありますがそれぞれ別のレイヤーです
WEB用のフレームワーク使う側(学習含む)になるならTCP/IPの知識はいらないと思います
HTTPの勉強が何を指しているのか分からないけど、広義で言えばフレームワークやる(?)時点でHTTPの勉強に足踏み込んでます。
フレームワークを作る側になりたいのならTCPの知識はあってもいいかもしれないけど、主観で言えば要らないです

どんな言語のどんなフレームワークの勉強したいのか知りませんが、コードの裏が知りたいという事なら何かプログラムを実行して気になるところでブレークポイント置いてステップインしながら処理をひとつひとつ順に理解していけばいいんじゃないでしょうか

投稿2019/07/14 19:42

hentaiman

総合スコア6415

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

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

rashild

2019/07/14 20:10

回答ありがとうございます。曖昧な質問ですみません。 今までLaravel,Vue,Djangoなどのフレームワークを使ったことがありますが この質問をした理由として、 毎回フレームワークを学習する時により下の層の仕組みを理解していた方が学習が早くなるのかな 理解できれば既存のコードをoverrideなどしてより自在に書けるようになるかも と思い質問させていただきました。 他の方の回答も待ってみたいと思います。
hentaiman

2019/07/14 20:35

オーバーライドがどの程度のものを指してるのか分からないけどそれは各フレームワーク毎の仕様の範疇でしょう。 フレームワークごとに方針が違うので、Aフレームワークを理解したからと言ってBフレームワークの習得が早くなることはまずないです。 新規のフレームワークそのものの理解速度を速める事が目的ならステップインで処理を追って確認する必要もありません。 中身の処理を追うよりは各言語の基本が出来る事は前提として、各言語の最新バージョンの仕様を覚える事と、ミドルウェアへのアンテナを伸ばしておく方がいいでしょうね。 各言語で新しい仕様がリリースされれば大抵のフレームワークは即座にそれを採用してます(実際には入念な設計やテストをして採用自体も検討した上で採用しているのでしょうが) それに有用なミドルウェアが出たら(というか有用だと判断したら)即組み込んできます。 フレームワーク作る側の人から回答が来るといいですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問