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

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

ただいまの
回答率

90.49%

  • PHP

    20765questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • アルゴリズム

    420questions

    アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

ロジックが思いつかないので、思いつく能力の養い方

受付中

回答 14

投稿

  • 評価
  • クリップ 29
  • VIEW 7,267

karain

score 97

できるプログラマの方々はある機能を実現させるために処理の流れをすぐと言わなくとも、最終的には自力で思いつくと思ってるのですが、

自分はなかなか思いつかず、先輩に怒られます。

どういう勉強をすれば思いつくようになりますか?
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 14

+13

『Aを実現したい』という感覚から脱却すればいいです。
・Aを実現するためには、BとCとDをやる必要がある。
・Bは自前で実装せねばならない。Bを実現するためにはEとFをやる必要がある。
EとFは言語で用意されている命令で実装可能である。

最終的なAを求める時、物事をブレイクダウンして考えなければ実装なんてできませんよ。

それさえ出来れば、コードが汚かろうが、実現できるでしょう。
それが出来た上で、パターンなどが活用されます。
まずはメソッドを細分化してみる、次にクラスを使いだす、更に汎化する、そういった行動は、
上記が十分にできているからこそ実装できます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/03/16 00:24

    細かく分けてから考えるということですね。なるほどです!

    キャンセル

+7

プログラミングと方向性の違う話になります。すみません。
脳の処理方法には「同時処理優位」と「継次処理優位」というのがあるらしいです。
リンク
前者は全体をイメージして細部を詰め込んでいくことが得意のようです。
後者は細部を組み立てていって全体を作るということが得意のようです。
個人差があり、両方のバランスよく出来る人も少なくないとようです。
「ある機能を実現させるために処理の流れをすぐと言わなくとも、最終的には自力で思いつく。」
というのはどちらかというと前者の考え方のように思います。

私はどちらかというと前者なので、入門段階ですが作りたい物があると、おおまかに「こういう処理があればいいなきっと用意されてるはずだ!」とか
「ああいう関数が欲しいな・・・探してなかったら自作を考えようかな」・・・でも実際は似てるけど少し違って、そこで躓いて、壁にぶつかって・・・
という感じです。

もしshutaka785719さんが後者でも悲観することはないようです。
海外のエンジニアは後者が多いのかも?
要は少ない工数で良質なコードを書ければいいので、自分に合った効率的なやり方を確立すればいいと思います。他の方も書かれているパターンに基づくやりかたは良いと思います。
明後日の方向を向いた回答で申し訳ありませんが、なにかのヒントになれば幸いです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+4

1.なるべく単純なものに分解する
2.基本的なロジックはパターン化されているので、パターンを知識として持っておく
3.絵や物を使って現実なもので整理してみる
4.数学的な公式を知っておく(覚えている必要は無いけど、公式集などの本を一冊持っておく)
5.素人に口で説明してみる。説明していると不思議と自分の中で整理されて解決する。

思いつくまま、自分がやっている事を書いてみました。順不同です

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/03/16 00:20

    公式ですか?この部分がどう活用されていくのかあまりわかりませんでした。

    キャンセル

  • 2015/03/16 09:41

    数学的知識(公式など)は2つのメリットを感じます。
    一つは、最適解を得るための方法のヒントが得られる場面に出くわすことがあります。
    ピンチ的な時ほど先人の知恵が役に立ちます。

    もうひとつは、ジャンルにより恩恵の是非は有るかとは思います。私は昔、ある研究機関でシミュレーションププログラムだの、測定機からのデータ収集プログラムだのを作っていました。
    その時、忘却している数学的知識を必要とすることが多かったです。
    シミュレーションでは微積、データ収集では関数、対数、畳込み演算など。

    たぶん他にも色々活用は有ると思います。
    もともとコンピュータはミサイルの弾道計算用に開発されたといういきさつ上、主な仕事は計算なので、数学とは無縁ではありません。

    ただ知識がなくとも済む分野は存在すると思います。shutaka785719さんの分野はそういう分野なのかもしれません。

    キャンセル

  • 2015/03/16 11:34

    なるほど、ありがとうございます。購入を検討してみます

    キャンセル

+4

どの程度の処理の話かわかりませんが「その機能を実現するまでのステップ」をとにかく細かく細分化して考えていくと、どこが理解できていないのかがわかるかと思います。
「思いつかない」は、どこかに「理解できていない」ポイントがあるはずです。

いきなりコードを見る・書くではなくまずは、日本語で書き出して考えてみるのがおすすめです。

たとえば、
ボタン押す→処理中画面にかわる→これとこれのデータをDBからもってくる→こう集計する→画面にこのように出力する

のように細かく考えていくと、結果として「DBからもってくる」のが分からないのか、「どう集計すべきか」がわからないのか、「画面にどう出力するか」が分からないのかが見えてくるとおもいます。
さらに細分化すれば、DBへの接続方法がわからないのか、SQLをどう書いたらよいのか分からないのか、が見えてきます。

そこまで細分化できている状態で、ピンポイントで先輩に質問すれば、あまり怒られないかと。
もし、細分化ができないようなら、そもそも「実現したい機能」自体が理解できていないのかもしれません。


そういう低いレベルの話じゃなかったら無視してください。。。


投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+3

私は今も昔もロジックを考えるのが得意ではありません。ただ、他人からそこそこ高く評価されるようにはなりました。
自分なりに出来るだけ工夫をした例を書いてみます。何かの参考になるかもしれません。

  • 知識を丸暗記するより、漠然と把握したら他の事に手を付けていいです。
私は昔、上司からデザインパターンを丸暗記するように言われましたが、当時はあんまし役に立ちませんでした。それをどのように活用すればいいか解らなかったし、活用すべきタイミングがなかなか目の前に現われてくれなかったのです。なので、何となく覚えておいて問題にぶち当たった時に思い出してみようと割り切る事にしました。
私の選択に、上司は不満気でしたが、他の勉強や仕事が忙しいので無視しました。今でもその判断は正しかったと思っています。

  • 情報を細分化したり分析するテクニックは自分なりに探しておいた方がよいと思います。
私は試行錯誤の結果、freemindでマインドマップ風に分解する事にしました。他人から見ると支離滅裂のようなのですが。
これも、他人の意見に影響されすぎるのは良くないです。見た目よりも自分の頭を整理出来る方が優先なので、他人の意見より自分の感覚を信じたほうがいいです。最終的にドキュメントにまとめる時には綺麗に書いたほうがいいけれど。

  • 自分の道を作りましょう。
素直な方だと色んな意見に惑わされてしまう事があると思います。でも根拠に疑問があるなら、他人に従うより自分の選択を信じましょう。やってみて、問題があれば直せばいいのです。それも経験です。
危険なのは、むやみに他人の意見を聞いてしまう事です。他人は決して責任を取ってはくれません。そして貴方がかかえる問題に貴方よりも真面目に取り組む事はほとんどありません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

鍛錬の方法として昔からよく言うのは「人の書いたソースを読む」ことでしょうか。

人のソースを読むのは慣れないうちは非常に難しい場合があります。
これはその人がどういう考えに基づいて処理を書いているか察することがすぐにできないからなんですね。逆に言えば書いている人の考えを推察することができれば、次からそれを自分のものにすることもできます。

これは数をこなすこともある程度は必要ですが、
どちらかと言うと深く考察することが必要ですので、例えば同じ案件を担当している方(同僚でも先輩でも)が書かれたコードを眺めて、どうしてこういう処理にしたのかわからなければご自身から聞きにいかれるなどするというのはいかがでしょうか。もし苦労して書いた箇所なら、その方も楽しそうに話してくれると思いますよ(もちろん話しかけるタイミングは考えてくださいねw)

もし同僚などで、気兼ねなく話せる方がいるなら、お互いに書いたプログラムのコードレビューをしてみるのも手ですし、いっそ空いた時間にペアプロしてみるのも良いかもしれません。



Guuさんも書かれていますが、基本的にプログラミングは慣れてくると「パターン」の組み合わせであると気がつきます。問題が何か分析し終えた時点で、これはこの「パターン」で溶けるなと瞬時に頭の引き出しから取ってこれるというわけです。人のソースを読んだり話たりするのも、結局はこの「パターン」を知り、引き出しにいれる作業と言えます。

それに関連付けて言うと、ソフトウェア界隈では「デザインパターン」と読んでいますが、有名なロジックは命名され、確立されているものがたくさんありますので、それらの本やドキュメントに目を通されるのも良いと思います。
http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)

またサーチやソートなどの定番的な「アルゴリズム」も引き出しに入れておくと、別の箇所で応用が効いたりする場合がありますので、こちらもひと通りお勉強されると良いかと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/03/16 00:22

    話しかけるタイミングを間違えたから怒られているというのはあるかもですねw
    デザインパターンですか、ぐぐってみます

    キャンセル

+2

いろんな人の考え方を知ること、既存のアルゴリズムや実装方法を知ることだと思います。

これを実現する方法のひとつは、他の方の回答にもあるように、ソースコードを読むことです。
なぜこうなっているのかを自分で考えたり、書いた人に聞いたりして、実装例を知り理解することで、自分の中でカタログが作られます。
そして、それを頭の中に入れるだけでなく、実際に手を動かして練習しておくことです。
練習で書いたコードを上級者に見てもらい、意見を聞くのも良いでしょう。


実践は、大抵の場合、こういう積み重ねの応用、組み合わせです。
それ以上のものを求められるのは、さらにレベルアップしてからだと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

もしかしたら、過去の私の質問の回答が参考になるかもしれません。
ループ処理内の分岐処理のアルゴリズムを組むのが苦手

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

プログラムに限った話ではありませんが、何かを実現したいと考える時に一番大事なのは「終わり(完成形)から考える」ということです。
いきなり細かい部分から考えては完成まで途方も無いステップを踏まなければならず、普通の人なら途中で投げ出してしまうでしょう。

Aを実現するためにはBとCを組み合わせる必要がある
→Bを実現するためにはDとEとF、Cを実現するためにはGとHを組み合わせる必要がある
→Dを実現するためにはIとJを・・・(以下略)
、というようにトップダウン型で考えるのが基本です。
そうするとどこかの段階で、既にプログラム言語そのものや、動作環境のAPIの組み合わせで実現できるレベルまで細分化されます。

そして各部品が正常に機能していれば内部を知る必要もない(使い方だけ分かれば良い)わけですから、このような手順を踏んで設計すれば複数人で開発することも容易になります。

元々関数型言語やオブジェクト指向型言語もこのような思想に基いているはずです。
「完成形から考える」「階層を分ける」という2点を意識してみてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

まず、コードを書きましょう。
完全なものが出来上がる必要はないです。
最終的にはDBから持って来なければならないとしても、まずはハードコーディングでもいいです
要件の1%でもまず書くことから始めます。

1%がちゃんと作れてることを確認したらどんどん機能を付け足していきます。
この時忘れずにリファクタリングしましょう。

要は一度に考えなければならないこと、作らなければならないものを出来るだけ小さくします。

最初のうちは時間がかかるかもしれませんが、だんだん一度に大きなものが作れるようになって来ます。

テスト駆動開発の考え方に近いので、気になったなら調べてみるといいと思います。

ちなみに書き始めるときは、作ろうとしている機能の一番外側(UIとか)から作り始めると余計な実装をしなくて済みます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

問題自体を完璧に理解し、あきらめずに情報を集め、図や表を書いて具体的なイメージにし、移動時間や寝る前なども考え続けること。頭から煙が出そうなくらいに考える。そうすると、自分の中の「無意識」が勝手に考え始めます。その状態になったら、便座に腰かけたときとか、シャワーからお湯を出したときなどのように、ふとした時にアイデアが舞い降りることがあります。

人に聞くのも良いですが、難しい問題は相談相手にとっても難しいので、あくまでヒントをもらう程度の期待値で。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

人のこと言えないけど、とりあえず経験値をあげることだと思います。
人のプログラムをたくさん読んでいいところはパクる、悪いところは戒めにする。
いろんなプログラムを書きまくる。そして常に良い悪いを考えていい方法を考える。ただ答えがなかなかでない。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

そうですね。。。

1.目的は何か?を考える。
2.目的を果たすためにはどういう処理を作ればいいか?を大まかに区切って考える。
3.そのためにどんな材料が使えるか?を調べる。
4.材料の組み合わせだけで分割した処理を実現できなければ、使える材料の組み合わせのパターンを考えて、実現できそうな手段を想像する。
5.小さい処理を実装。
6.組み合わせて目的を果たせる所まで作りこむ。
7.全体を見なおして余分な所を削ったりコメントが必要そうなら追記したり。

という時と、

1.最終形をイメージする。
2.手持ちの材料で何ができるか考える。
3.頭のなかで処理手順を順序を追って考えながら、考えた内容を塩のままプログラムに書き出す。
4.最終形にとりあえずたどり着いたら、全体を見なおして整理。

の2パターンの組み合わせでしょうか。私の場合。
既存の便利に使える材料の組み合わせでやる時は上のパターン、手持ちの材料が乏しい上に何を求められているのかよくわからない時は下のパターンに自然となっているような。

私は、実際のプログラムは期待される出力と与えられる入力からその間で何をすればいいか?をイメージしながら考えます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

あえて否定的な話ばかり書きます。
他のコメントされている方の内容を否定するものではないのですが、気分を害されたら申し訳ありません。

まず、ひたすら他人のコードを読む、これは実はあまり意味が無いです。
他人のコードを読んで「なるほど」、と思えるくらいの能力があるなら、既にある程度ロジック組み立て技術が身についています。
ロジックが悪いコードを読みまくる方が弊害が大きいですし、良いか悪いかを判断できるくらいなら最初からお悩みになっていないでしょう。

ひたすらコードを書く、これもあまり意味がないです。
一次方程式を解くのに四則演算の練習ばかりしても意味が無いです。

では何をすれば良いか、正直に申し上げて、効率的な学習方法は、人それぞれ異なります。
なので、私の書き込みを含めて、あまり参考になりません。

結局、先輩に怒られながらも、先輩にヒントをもらって、経験を地道に積んでいくしかないのです。
先輩もそうして育ってきたのですし、先輩には後輩を育てる義務があるのです。

そんな悠長な・・・と思われるかも知れませんが、1つだけポジティブな意見を書いておきます。
ロジックを組み立てる能力というのは、加速度的に上昇していきます。
まずは1年我慢して先輩に怒られ続けて下さい。
そして、1年後に1年前の自分を思い出して下さい。
その時、自分も成長したなあと感じたなら、1年後はその2倍以上成長しているはずです。

ただ、コード品質が悪いという理由で先輩が”怒る”というのは、あまり感心できる先輩ではないですね。
怒られる要因は学習すべきですが、怒られたという行為については、軽く受け流すくらいの気持ちでいるのが、今は一番の実践方法です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/03/16 00:16

    結局は経験なのですね。うーん。

    キャンセル

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

  • ただいまの回答率 90.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • PHP

    20765questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • アルゴリズム

    420questions

    アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

閲覧数の多いPHPの質問