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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

6回答

210閲覧

開発までのながれを教えて欲しいです。

ringoGu-guru

総合スコア17

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1グッド

2クリップ

投稿2019/02/04 02:22

Teratailでこの程度の質問をしてよいものか悩みましたが ご了承下さい。

プログラミング(ruby)始めて1ヶ月ですが、重要文法などは覚えたので ruby on railsに挑戦して web開発をしていきたいと思っています。

これからrailsのチュートリアルに挑戦してweb開発をしていけたら良いなと思いますが、ここで質問があります。

いつも疑問になっていることですが、プログラミングのチュートリアルを学んだあとweb開発を自分でやりこなしていくために、チュートリアルの後にやるべき事は
なんでしょうか?

自分で開発ができるようになるためのおススメのプロセスを教えて下さい。

DrqYuto👍を押しています

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

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

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

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

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

m.ts10806

2019/02/04 02:26

過去に似たような質問が幾度となく投稿されています。 まずは過去質問をあさって下さい。「プロセス」なのであれば言語、フレームワーク関係なく参考になるはずです。
guest

回答6

0

ベストアンサー

Rubyに限ったことではありませんが、やはり設計は大事です。
ただ、製造から入った人にいきなり設計しろといっても敷居が高いのも事実です。

私からのアドバイスは自己流で覚えていくやり方(のひとつ)です。


まず「作りたいものを明確にイメージする」ところから始めます。
この際、Rubyで実装できそうか?を意識しながらイメージに具体性を持たせていきます。

少しくらい未知の部分(ブラックボックス)を残しても構いませんが、それがコアな機能になってしまうと最終的に実現不可能、なんてことにもなりかねませんので、そこは注意が必要です。


最初から大きな風呂敷を広げても、当然作り上げることはできません。
ですが、大きな風呂敷の一角だけなら作ることはできるかもしれません。

まずは「作りたいもの」をいくつかの「キリのいい機能」に分解してみます。

その機能1つの中で、さらに小さな部品に1つに着眼します。
例えば
・ページ上に文字を表示する
くらい小さくてもいいです。
これだといわゆる"Hello World"程度なのですが、この大きさは技術レベルに合わせればいいと思います。

次に、その機能を
・ページ上に"DBから取得した"文字を表示する
くらいに拡張してみます。
そのためにはどんな技術が必要になるか、考えたり調べたりします。

さらに
・表示する文字を"一定間隔で更新する"
といった盛り付けをしてみます。
そのためにはどんな技術が必要になるか、考えたり調べたりします。

これを繰り返すことで、作りたいものの中の小さな一角が徐々に広がっていきます。

途中で考えたり調べたりして実装案を模索していった成果を残しておけば、後に設計と呼ばれるものになります。

これは実装を基にした「後付けの設計」になるので、本来あまり推奨されるものではありません。
ですが、いきなり設計が書けるようになるまでは、こういった手法で経験を積むのもアリだと思います。
知識や経験を積んでいけば、「こういうときはこう実現する」といったノウハウが自ずと身についてくると思います。


大切なのは「一角でも実現できた」といった喜びを積み上げることだと思います。
「その小さな一角」を積み上げたことで、全体には及ばないけど「少し大きなもの」ができた達成感が次への意欲となります。

そのためにも最初の機能分解の部分が適度な大きさであることが大事です。
なかなか形にならないものを作り続けるのでは、モチベーションがもちません。

好きこそものの上手なれ、楽しみながら覚えていければ最高ではないでしょうか。

投稿2019/02/04 04:23

jawa

総合スコア3013

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

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

0

実務で開発を進める機会があれば、徐々に自然と身についていくものと思います。

ただ質問者殿の様子を勝手に想像すると、どうも自己学習を目指している様子で、さらなる開発力をつけたいといった漠然とした雰囲気を感じました。それであれば、チュートリアルの次は、出来るだけ具体的に出来るだけ細かく小さなテーマを自分自身に課して、それを実装していくやり方(それによって経験を積む)が考えられるかと思います。

たとえを挙げるとキリがありませんが、セクレトボックスを組み入れるとか、ユーザーログイン機能をつけるとか、ファイルアップロード機能をつけるとか、データを表形式で出力するとか、データ一覧を2つ並べるとか、・・・・

追記
突飛なやり方を紹介します。まさにこの Teratail を活用することです。誰かが機能実現できなくて困っています。さて自分ならそれが実現できるか、実現方法は既に身についているから見送り、いやいややってみたことないぞ、ではやってみよう、自分はエラーなく問題にぶちあたることなく実現できるかな、などという方法です。Teratail の質問内容を、自分自身の課題として取り組んでみるやり方です。実現できたあかつきには、回答者として貢献できることになるかもしれません。

質問者殿が開発現場に出向いて、顧客の要望に応えたシステムを私が構築します、といったレベルにまでなることを想定されているのであれば、分析力、設計力が必要になりますし、いやいやこんな機能を組み入れるにはどうすれば良いか、そういったことを「引き出し」として数多く学んでいきたい、というスタンスであれば、上で私が言うものが、一つのやり方としてあると思います。

いかが?

投稿2019/02/04 03:05

編集2019/02/04 03:53
matsuand

総合スコア186

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

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

0

質問の趣旨は「ある程度基礎は終わった。開発者として独り立ちするにはあと何をすればよいのか」ということと読み取れました。
その前提で(そうでないなら、他の回答を参照ください)
端的に言えば、

どんどん作る。

以上。
だとあれなんで、他の回答にあるように開発するには設計が重要になってきます。
設計力をつけるにはどうすればいいか、それにはまず技術力がなければ成り立ちません。
いくら素晴らしい設計をしてもそれを実装できる技術がないと意味がありません。
また素晴らしい設計をひらめくには技術・また色々な知識が必要です。
それを磨くには実践あるのみです。
大きいものから小さいものまで色々なアプリを作ってみることをお勧めします。
ちなみに私はRubyの経験はないので、一般的な開発者としての意見です。

投稿2019/02/04 02:56

ttyp03

総合スコア16996

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

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

0

Rails で自己紹介サイトを作ってみてはいかがでしょうか?

投稿2019/02/04 10:10

DrqYuto

総合スコア432

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

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

0

一番大事なのは「どんな機能を持ったシステムを作るのか」です。

例えば車を買うとして、それが普段の街乗り用の足たる軽自動車でいいのか、走りを楽しめるスポーツカータイプがいいのか、大人数を乗せたいワンボックスタイプがいいのか、山などでも使える SUV がいいのか、ゆったりとした高級感のあるセダンがいいのか……それらを決めてからでないと、車種選択すらできませんね。

そして往々にして、「最初に考えたこういう機能が欲しいというシステム」は、設計を進めて行くにつれて「いやこれできないんじゃね?」とか「この機能無駄じゃね?」とか「こんな機能がないと困るんじゃね?」とかいろいろ出てきます。
それで手に負えないとなったら潔く機能の変更を考えましょう。

システム開発は設計が半分以上の比重を占めます。正直に言えば、実装は(設計さえ間違ってなければ)難しいことではないのです(ハードウェア機器開発になると実装してみないと分からない部分もありますが)。

自分で開発ができるようになるためには、まず設計ができるようになることでしょうね。

投稿2019/02/04 02:42

tacsheaven

総合スコア13703

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

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

0

0. 全体設計
どういう構成にするか大まかに決める
OS・サーバ・データベース・システムの処理フローetc

1. データベース設計と構築
テーブル名・カラム名・インデックス・外部キーなどが決まれば実際に構築

2. ページ設計と構築
どういう要素を盛り込み、どういうページデザインにするかが決まれば、
実際にHTML/CSS/JSでコーディング

3. プログラム設計と構築
Rubyでのプログラムの処理詳細が決まれば、実際にコーディング

投稿2019/02/04 02:28

編集2019/02/04 02:29
yamato_user

総合スコア2321

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問