少し背景
私は現在28歳で、ソフトウェア開発の正式なトレーニングを受けたことはありませんが、広報の学士号とプロジェクト管理に焦点を当てたエグゼクティブMBAに相当する2つの高等教育学位を持っています。私はそれらの分野で合計約6年間働いていましたが、2.5年前に仕事を辞めたり、失い、方向を変えることにしました。
1か月後、私はWordPressで小さなWebサイトの開発をフリーランスで始めることにしました。私は自分のやり方を自分で学びました。今日、私はクライアントのためにテーマとプラグインをゼロから開発する謙虚だが成功したキャリアを走っていると言えるでしょう。
しかし、十分な数学を学んでいない、または物事を正式に理解していないと、より経験豊富な開発者と競争したり仕事をしたりするときに、本当に遅れをとると感じることがあります。もっと学ぶ方法を常に探していますが、基本が欠けているようです。
残念ながら、コンピューターサイエンスに4年間を費やすことは今のところ選択肢ではないため、書籍やオンラインリソースからできる限りのことを学ぼうとしています。この方法でNASAが私を雇うことは決してありませんが、私は今のところ本当に気にしません。私の目標は、まず基準をクリアし、自分を本当のプログラマーと呼ぶことができるようにすることです。
私は現在、プログラマー向けJava(誰もが難しい/要求の厳しい言語を把握するため)を勉強し、コードの抜粋(ベストプラクティスを把握するため)とコード:The Hidden Language of Computerを勉強していますハードウェアおよびソフトウェア(コンピューターの内部動作を把握するため)。
TL; DR
だから、私の現在の状況はこれです:基本的にPHPで完全なシステムを書くことができ(Googleといくつかの本の助けを借りて)、Ajax、SQLなどを統合し、経験豊富な開発者が期待するよりも少し遅いかもしれません関係するすべての研究のため。
しかし、昨日、if($n1 % $n2 == 0)
メソッド モジュラス演算子が記憶されていなかったため、FizzBuzzテストの解決策を(Googleではなく)見つけようとしていました。
このジレンマを解決する良い方法として何を提案しますか?問題をより早く、おそらく「プログラマーの方法で」解決するために、どの科目/本を勉強すればよいでしょうか?
編集 -FizzBuzzを解決するために私が知らなかったことについて、いくらかの混乱があったようです。
自分自身を正しく表現しなかったのかもしれません。問題を解決するために必要な手順を知っていました。記憶しなかったのは、モジュラス演算子です。問題は、基本的な数学を知ることではなく、基本的な数学をプログラムに転置することでした。
Coding Horrorで読んだ後、テストを楽しみました。私と、正式に訓練された開発者との間の優れたベース比較ラインだと判断しました。
これは、単純な問題を解決するためにモジュラス演算子などの基本的なものを探す時間を失う前に、コンピューター環境で数学を処理しなかった方法の例として使用しました。
stuck b/c I didn't memorize %
問題に関連して、これを行う他の方法があることに注意する価値があります:($ n2!= 0を想定)if (is_int ($n1 / $n2))
またはif (($n1 / $n2) == (int) ($n1 / $n2))
キーワードを知ることは1つのことであり、組み込みソリューションがない場合に根本的なアイデアを表現する方法を知ることは別の。
I'm basically capable of writing any complete system in PHP (with the help of Google and a few books)
知らないあなたとこれを組み合わせるとif($n1 % $n2 == 0)
、PHPで書かれたものにあなたがさらされたのではないかと思います。あなたが行うほとんどのことは、単純なモジュロ計算を超えると思います。あなたができると思うことについて、もう少し洞察をいただけますか?