人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPが全然上達しません。
現在独学でPHPを勉強しているのですが、本を1冊まるまるやって、関数の意味とか使い方とかはある程度分かったんですが、いざWebサービスをつくるとなると、本に載っていない機能が必要になったときとかに全然わからず止まってしまいます。
同じような機能を実装しているサービスのソースを見たところで、PHPって表示されませんよね?どうやったら自分で応用したり使いこなしたりできるのでしょうか?
ひたすら書くのがいいんでしょうか?

●質問者: 匿名質問者
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● 匿名回答2号
ベストアンサー

言語の問題ではありません。まだ、何が分からないのかが分からない状況かと思います。

プログラムも関数も機能です。WebサービスがPHPだけでは作れないことはご存知の様ですが、機能構成が理解できていないのではないかと思います。機能は必ずデータをやり取りしますので、データを意識した構成が分かるようになれば、色々な仕組みが実現出来るようになります。
要は、機能の範囲を明確にすることが先決であり、これはプログラムの本には書いてありません。

エンジニアを目指しているのであれば、プログラミングは無用です。世の中の多くの構造(構成)を理解することが重要です。特に、言葉(名称)の構造を理解し、定義することがシステム構築に役立ちます。

質問とずれてしましましたが、さらに言わせていただくとエンジニアも手段ですよ。1号さんのコメントも同じことを心配しているのだと思います。


匿名質問者さんのコメント
回答ありがとうございます! む、、むずかしい、、、データを意識した構成を理解するには、どうような考え方とうか、どう勉強すべきなのでしょうか?経験でしょうか? エンジニアは確かに手段でしかないですよね。もちろん、それも理解した上でエンジニアを目指しています。心配していただいて大変恐縮です。ただ、今はスキルを鍛えないと成し遂げたいことも成し遂げれないので、焦るばかりなのです・・・ 是非、お力をお貸しいただければ幸いです。

匿名回答2号さんのコメント
人間系を勉強すれば良いのです。 私たちは毎日情報処理をしています。物事を伝えるために話をします。話は言葉です。言葉には包括的な名詞と個別的な名詞があります。この関係が構成です。たとえば、国と県、県と市町村などです。これらは行政のためにデータをやり取りしていることは分かりますね。同様に本社と支社など世の中は構造的になっているのです。そして業務も担当がわかれ、一部はコンピュータで処理されています。 スキルはあった方が良いですが、その前に本質を捉えてなければなりません。前述の例はシンプルですが、いざ業務システムを分析しようとすると、いろいろな言葉がでてきて四苦八苦します。これを少なくとも関係者が納得する言葉に統一し、定義することがエンジニアの重要な仕事です。 トム・デマルコが提唱する「構造化分析とシステム仕様」という本があります。1980年頃の出版ですが、本質を捉えており、私も実務で大変役に立ちました。是非、読んで下さい。

匿名回答2号さんのコメント
スキルは得意な分野を伸ばしたほうが効果的です。色々なものは”できるようになっている”のです。端から端まで細かく知ることは無理ですし、無駄です。それがどんな構成でどんな使い方をすればよいかが分かっていれば良いのです。これはどのような立場でも同じだと思います。ですから、構成を理解することがスキルアップにおいても重要であることを理解していただけたでしょうか。得意な分野はこの構成が見ただけで分かる。もしくは強く興味を惹かれるのだと思いますよ。

匿名質問者さんのコメント
回答ありがとうございます。とても真摯に回答してくださり、大変嬉しく思います。構成や構造の重要さ・・・この部分は全然意識していませんでした。しかし、回答を拝見させていただく限り、非常に重要なことであるのは伝わってきました。 僕は文系で、普段そんな考えをあまりしないのですが、もうちょっと物事に対する視点を変えてみようと思います。ありがとうございました。

匿名回答2号さんのコメント
物事を括らないと、話が進みませんからね。そこに気づいていただけたことが嬉しいです。 文系でしたら、名称についての構成に興味が沸くのではないでしょうか。 システム分析手法では、名称の整理が後のシステム構築を左右します。参考になるサイトhttp://www.kensc.co.jp/k/advantage/solution/dataitem/がありましたので、覗いてみたら如何でしょう。

2 ● 匿名回答1号

学生さんなら、特定の分野(Webシステム)にこだわらず、基礎理論をちゃんと身に着けてほしいですね。

OSやプログラムの仕組みって理解してますか?
ネットワークの仕組みって理解してますか?
さまざまなアルゴリズムとその計算量とか考えたことありますか?
オブジェクト指向って説明できますか?
デザインパターンって使ってますか?

などなど。
とあげればきりがいないですが。。。


質問の趣旨に沿って答えるのであれば、可能性としておすすめする方法は2つ。

1.どこかでバイトでもする。
手っ取り早いです。ですが、会社によってスキルが身につくかどうかは変わります。
でも、どんなことしてでも実現する方法は学べると思います。

2.アドバイザーを見つける
近くにちゃんとコードが書ける友人がいればその人に相談するのがいいでしょう。
多分、そういう人がいないからここで聞いているのかと思います。だとすると、新たに見つけるしかありません。
どこで見つけるかの1つは、自分のやりたいことに関するコミュニティを見つけることです。もちろん、人力はてなで聞くことも1つ可能性はあると思いますが、より特化したコミュニティを見つける方がいいでしょう。ただ、相手は無償で相談に乗ってくれるわけですから、人としてのコミュニケーション能力は必要です。
もう一つはお金を払ってでも見てもらうことです。IT系のスキルでも家庭教師のようなことをやってくれる人がいるので、そういった人を探して相談するのもありかと思います。

ただ、いずれにしろ、自分でちゃんとやらなきゃ身に付きません。
また、問題の多くの場合はネット上に解決策がころがってます。そういったものを見つけるスキルはどんな方向に向かっても必須だと思ってます。

何かの参考になれば。


匿名質問者さんのコメント
回答ありがとうございます。 基礎理論・・・今あらためて見てみると、全然理解しきれていませんでした。 ちょっともっと深く理解する為に、改めて勉強します。 バイトはかんがえたのですが、エンジニアのバイトはどれも経験者しか採用していないので、素人の僕では応募の資格すらないようでした。 アドバイザーも全く僕の周りにはいないので、かなり困っているところです。 なんとか、ネットの力を最大限に使って頑張っていこうと考えています。 とても参考になりました。ありがとうございました。

3 ● 匿名回答3号

既に質問者さんが回答を出しているようなものですが、本一冊読んだぐらいでは仕事になりません。
本に書いてあるような事は、あくまでも基礎です。
では、応用はというと千人いれば千の道があり一概には言えません。
少なくとも検索上手になっておけば、よほどマイナー言語で無い限り
回答はみつかると思います。
PHPでバリバリ書いてる人だって「仕事でいつも使ってるOracleは簡単だけど、DB2はやったこと無いからわからない。調べればできる。」なんてのはザラにあります。
まずは、あなたがやりたいと思うことをできるようにしていく事。
それが大事だと思います。


匿名質問者さんのコメント
回答ありがとうございます。 検索がまだまだ下手なのか、回答にたどり着くことが結構困難でした・・・ 応用力が全くないので、似たようなサンプルを見ても、オリジナルに書き換えることができません。 「あなたがやりたいと思うことをできるようにしていく事。」 これはすごく大切にしていきたいです。

4 ● 匿名回答4号

>PHPって表示されませんよね?
はい。ソースは表示されませんね。

>どうやったら自分で応用したり使いこなしたりできるのでしょうか?
何か他(PHP以外)に趣味などは無いでしょうか?
簡単なものからで良いので、
自分や皆さまの役に立ちそうなコンテンツを考えて、
チョコチョコ作っていると、
いつのまにかそれぞれを組み合わせて、
巨大なコンテンツも作れるようになってきます。
例えば私は写真(カメラ)が好きですので、
http://yonetone.com/camera/pix/
を作ってみたりしていました。
釣りをする人用に釣り場の1日の潮の満ち引き(潮位)を計算するなど、
様々なコンテンツがありますから、
何でも良いのでまず1つやってみることが大切だと思います。

オリジナルの書き換えは最初上手く行かないかも知れません。
でもエラーを吐かせまくってエラーの内容も読んでいると、
そのうち正しい書き換え方が分かってきます。
著しくサーバーに負荷をかけなければ、
どんどん実験してみて良いと思いますよ。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ