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

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

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

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

Ruby on Rails

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

意見交換

クローズ

3回答

854閲覧

能動的にコードが打てるようになりたいです。

Kei_Star

総合スコア0

Ruby

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

Ruby on Rails

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

0グッド

2クリップ

投稿2024/06/02 06:40

編集2024/06/02 06:43

0

2

テーマ、知りたいこと

RailsでWebアプリを作成している方にお伺いしたいのですが、

(例)(質問の趣旨とはあまり関係ありません)
def save_tags
tag_names = params[:post][:tags].split(',').map(&:strip)
tag_names.each do |name|
tag = Tag.find_or_create_by(name: name)
@post.tags << tag unless @post.tags.include?(tag)
end
end

例のような構文は、検索などをした場合すぐに見つけることができますが、実際、今回の例に限らず、何かを検索せずに実装するような場合、何も思いつかず、手が動きません。

Rubyの基本的な構文知識、Railsの機能についての理解が必要なことはわかるのですが、それだけで、このようなコードを実装できるようになるのでしょうか。
また、経験を重ねるごとに、何も見ずに実装できるようになっていくものなのでしょうか。

実務にはまだ携わったことがないため、イメージがつきにくいのですが、実際にエンジニアとして働かれている方は、何かを実装する時、まず調べて、そこからコードが正常に実行するかのテストなどを行い、少しずつ改良していくのでしょうか。
どの程度の基礎知識を持っていれば、現場で通用するのかも知りたいです。

質問ばかりで、申し訳ございません🙇

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

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

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

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

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

回答3

#1

TakaiY

総合スコア13337

投稿2024/06/02 07:28

編集2024/06/03 02:56

ソフトウェアを作るのであれば、IT技術者としての基本的な知識は必要でしょう。基本情報技術者とか応用情報技術者など、資格に意味無いとか言う人がいますが、それは、その程度のことも知らない人にソフトウェアが作れるはずが無いという意味です。

設計/プログラミング/試験/実装/運用に必要な知識を付けるには勉強が必要ですが、これまにも学校等でいろいろ勉強して来たのと同様です。勉強しなければ身に付かないものですが、だからといって、全て覚えているわけではありません。

まず調べて、そこからコードが正常に実行するかのテストなどを行い、少しずつ改良していく

その通りです。また、そういうことをやっているうちに、よく使うものは見なくても書けるようにはなってきます。

ドキュメントをちゃんと読むという癖を付けるのは必須です。
質問を見ると、コードがコードを挿入するための手順に沿って書かれていませんね。これは、ここで質問をするにあたって、ドキュメントを読んでいないし、他の質問がどのように書かれているかも調べていないということでしょう。
そういうところをちゃんと実践していくととで、より効率的にスキルを身につけていくことができるようになると思います。


追記

能動的にコードが打てるようになりたい

これに答えてませんでしたね。

僕も30年くらいプログラマをやっていますが、今でも0から作るプログラムを全て自分の手で書くということはしていません。 ほぼ全てのプログラムはコピペをベースにして、それを改変して作ります。 コピペ元はいろいろで、過去の自分の作ったものを含みます。最近ではAIによる開発支援が強力になってきて、有難く使わせてもらっています。

ただし、できあがったもの全ての行が何のためにあり、深い浅いの違いはありますが、何をしているのかは把握しています。 新しいものであれば、APIなどのドキュメントを確認して、引数などについて理解するように努めています。
そういうスタンスを維持することが重要だと思っています。

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

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

#2

meg_

総合スコア10648

投稿2024/06/02 08:08

※ プログラミング全般についての視点でコメントします。

実際、今回の例に限らず、何かを検索せずに実装するような場合、何も思いつかず、手が動きません。

本当に”何も思いつかず”なのでしょうか?そんなことは無いのでは、と思いますが。
もし本当にそうなら練習不足なだけな気がします。または最初から完全なものを作ろうとしていませんか?
その場合中々手が動かないということはあるかもしれません。その場合は少しずつ作るとか最初から検索するのではなく過去に自分が作成したコードに変更を加えていくというのはどうでしょうか?

文法については習得済とのことなのでデバッグ含めた経験(練習)を積むことが必要な事かと思います。

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

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

#3

Paalon

総合スコア263

投稿2024/06/02 08:45

私はソフトウェアエンジニアで生計を立てているわけではないですが、誰でもプログラムを作るときは、スタートからゴールまでの道筋が見えていないと何もなしには書けないと思います。つまり、例えばある暗号処理を実装したいとして、暗号のアルゴリズムについて詳しくないと普通はうまく実装できないわけです。ロボットを動かすプログラムを書こうと思ったら、そのロボットができることを知らないと命令も書けないわけです。Rails で Web アプリを作ろうと思ったら 一般に Web アプリと Rails の機能の双方に詳しくならないと道筋は浮かばないと思います。(私は Rails に詳しくないので浮かびません。)

道筋が浮かんだらあとは実装していきますが、怪しい点をドキュメントで調べて、直したりは誰でもすると思います。

どの程度の基礎知識を持っていれば、現場で通用するのかも知りたいです。

これは私の知識不足で正確なことは分かりませんが(職業ソフトウェアエンジニアではないですし)、一般的には習うより慣れよだと思います。ある程度働いてから身につけていく側面があると思います。

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

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

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問