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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

1758閲覧

次のような内容の経験を積みたい場合、どのようなことを勉強すればいいか

k499778

総合スコア599

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

2クリップ

投稿2015/09/03 07:49

言語:Java、HTML、JavaScript(jQuery)、CSS
IDE:Eclipse
FW:Seasar2(SAStruts/Doma)
OS:Windows

のような環境でWebアプリケーションを作っています。

私自身まだまだ開発経験が浅く、勉強したいと思っているのですが、
次のような部分の知識・経験を積むためにはどういったこと・何を勉強したらいいでしょうか?
書籍名、サイトのURL、考え方(デザインパターンといった類)を教えて頂けると助かります。

その足りない部分は以下です。

初期設定のユーザーのパスワード登録画面を作っていました。
パスワード、確認パスワードを入力するテキストボックスがあり、それを保存するためのボタンがある簡単な入力フォーム画面です。
すでにDBにそのパスワード情報がある場合は、テキストボックスに6文字のマスク文字で表示するという仕様です。

経験の少ない私はDBに登録されているハッシュ化された文字列を取得し、前から6文字にカットし、それをマスク文字化して表示していました。
ただ後から先輩社員に、DBにあるかどうかを判断し、あればダミーデータを6文字表示すればいい。というアドバイスを頂きました。

そのような長年開発を行っていればわかる常套手段のようなものが経験値の低い私にはありません。

経験を積めばわかると言ってしまえばそれまでですが、何か効率良く勉強する手段はないものかと考えております。

そこでこのような常套手段を勉強する方法、書籍、サイト、考え方があれば教えて頂きたいです。

デザインパターンがそれにあたるのかなあとも思って少し勉強しているのですが、他にもアドバイスあればいただきたいです。

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

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

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

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

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

guest

回答3

0

shanxiaさんやtakitoさんの仰る通りで

  • 優れたソースのコードリーディング
  • 身近な所からのノウハウを貪欲に吸収
  • 積極的にアウトプットしレビューしてもらう

これらは生きたスキルを培う上で極めて有用な方法です。
体系的に学ぶ上で教科書も欠かせませんが、それだけでは、学んだ知識が実際に使える程にはなかなか消化されません。消化出来なければ、血となり肉となるという域には達しません。

さて、自分はちょっと別の観点から少し。

実は私自身もそうなのですが、自信のなさ故に直ぐに聞いたり調べたりしてしまいがちです。

もちろん、知らないのですからそうする事は正しいです。しかし、時にはちょっと立ち止まり、まず自分で考えてみるという習慣(というかある種の勇気)を身に着けることも極めて重要です。

DBに登録されているハッシュ化された文字列を取得し、前から6文字にカットし、それをマスク文字化して表示

という例について考えてみてください。

確かに新人は、先輩が使った 常套手段 (いつもの使い慣れたやり方)は知らないし思い付かないかも知れません。
でも、これって本当にプログラミング上の技術なんでしょうか?それとももっと身近な普通の感覚なんでしょうか?

例えばドラマに出てくるアタッシュケース一杯の札束、これって一番上の表だけしか印刷されていないって小学生でも知っていますよね?特に深く考えもしません。なぜなら全部印刷されているかどうかなんて関係ないし興味も無いから。

6文字のマスク文字だって、値が入力済みかどうかを示したいだけであって、そもそも文字数自体にも深い意味が有るわけではありません。(もし本当の文字数を示しているとすればある種の情報漏洩です。)
またハッシュ値って何かを知っていれば、その一部を切り取ったものに、情報としては何の意味もない事は一目瞭然です。

もちろん、そんな事にさえ気付かないのが新人です。

が、しかし、それでもちょっと立ち止まり頑張って考えてみる。それでも気付かず先輩に聞いて少なからずショックを受ける。

実はこれこそ、脳学者の茂木健一郎先生が提唱されているアハッ!体験そのものですよね!?

こんな些細な事の積み重ねでさえ、ある種のを乗り越えて飛躍するのに欠かせないのではないかと思う今日この頃です。

長文、失礼致しました

投稿2015/09/03 11:26

編集2015/09/03 12:20
pi-chan

総合スコア5936

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

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

k499778

2015/09/04 00:36

pi-chanさん 回答ありがとうございます。 長文感謝いたします。 もちろん考えるようにしていますし、私の場合、周りにもう少し早く聞くように。と注意を受けてしまうタイプです。 なかなかやはり気づけない部分はあると思いますが、一度自分で考えてみるというのはもちろん正解だと思います。 これからもpi-chanさんの言ったようにその考えを大切にしていきたいと思います。 ありがとうございました。
guest

0

ベストアンサー

常套手段の様なものを知るには、OSSのコードを読むのが良いと思います。
Apache Foundationなんかには、多くの人に使われているだけあって、参考になる内容が多くあります。

エンジニアのスキルアップにとっては、コードリーディングがかなり有効な学習方法です。

投稿2015/09/03 08:26

shanxia

総合スコア1038

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

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

k499778

2015/09/03 08:37

shanxiaさん 回答ありがとうございます。 やはりOSSのコードを読むと力になりますよね。 GitHubのソースは時々見ています。 コードリーディングします。
guest

0

書籍やどこかのサイトで勉強することも個人的な技術力の向上にはとても大事だと思いますが、「私が開発しようとしているシステムではどうあるべきか」ということについては、なかなか答えを見つけることができないのではと思います

会社の文化、開発システムの背景、コストや品質の問題があるからです

外部から得ることだけでなく身近なところから、先人たちが会社内に蓄えたノウハウ(開発物、ソースコード、ドキュメントなど)を見て読んで考えて、自分の考えやコードを先輩や同僚に「これってこういうことでいいのかな」とレビューをお願いし、そうして自分の糧にする、ということの繰り返しも肝要かなと思います

投稿2015/09/03 09:19

takito

総合スコア3111

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

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

k499778

2015/09/04 00:30

takitoさん 回答ありがとうございます。 最近SlideShareでパワポを見ていてレビューの大切さを肌で感じました。 コードリーディングもいいなと思います。 あとは先輩方の時間を使ってしまうのでそこをどううまくできるかになってくると思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問