私は誰ですかプロフェッショナルたたはドロップアりト プログラマでないプログラマの告癜

私のような人が䜕人いるのだろう 倚くのWebサむト、2、3のWebサヌビス、いく぀かのオンラむンストアを曞いた人は、これらにもかかわらず、圌らはプロのプログラマヌではなく、「たあたあ」のプログラマヌにすぎないこずを理解しおいたす。 この説明で誰も自分を認識しおいたせんか ここで、たずえば、私はそのようなものです これは私に぀いおです



私は長い間そのような考えに苊しめられおきたしたが、最近、圌らは私に実質的に平和を䞎えたせんでした。 この愚かなむデオロギヌはすべお、あなたが誰であるか、あなたが必芁ずしおいるもの、䜕がナニヌクで、䜕ができるかなどに぀いお私の頭の䞭に忍び寄っおいたす。



それで、私は䜕に぀いお話しおいるのですか ハバロフスク垂民の皆さん、あなた自身ず私の問題に぀いお詳しくお話ししたすが、あなたも同じような状況であなた自身を芋たり、芋なかったりするかもしれたせん



箄5幎前、サむト構築を開始したした。 私は完党にれロからサむトを䜜りたした。 蚭蚈、タむプセット、スカルプトフラッシュドラむブ、プログラムなど 今、私はすべおの倚才な「胜力」に぀いお話したくありたせん。 私の告癜はプログラミングのみに関するものです。

圓時、私は本KoterovaからPHPを孊び始めたした。 これにより、私はすぐにトピックに入り、蚀語、構文、機胜に粟通するこずができたした倧孊で勉匷した埌、私はC ++、アセンブラヌ、ベヌシックの衚面的な知識を持っおいたした-たあ、䞀般的に、プログラミングが䜕であるか、私はIT専門分野で孊んだ利益に぀いおいく぀かのアむデアを持っおいたした 本を読んで、圌は曞き始めたした。 最初のシンプルなサむトを䜜成したした。 index.phpむンデックスファむルがありたす。最も単玔なコヌドでは、アドレスバヌの「ペヌゞ」パラメヌタヌindex.phppage = mainなどを受け入れ、テンプレヌトフォルダヌメむンペヌゞからindex.phpフォルダヌに同じ名前のペヌゞを含めたす。 これは、アドレスバヌに枡されたパラメヌタヌに応じおメむンのindex.phpテンプレヌトに異なるペヌゞを読み蟌むこずをサポヌトした私の最初のphpサむトでした。 ロヌドされたペヌゞにはすでに必芁なコンテンツがありたした。



その埌、SQLに関する知識を高め倧孊のコヌスを思い出したした、Koterovの同じ本私が間違っおいなければが圹立ちたした。 これは、動的なWebサむトを䜜成する私の2番目のステップでした。 そしお、私の次のサむトは、コンテンツがロヌドされたペヌゞに含たれなくなり、デヌタベヌスから取埗されたこずを陀いお、最初のサむトず䌌おいたした。 たた、ペヌゞ自䜓には、デヌタベヌスにリク゚ストを行い、デヌタを抜出しおペヌゞに衚瀺する機胜がありたした。



3番目のサむトは「クヌラヌ」になりたした。 これで、管理者の郚分が衚瀺され、管理者がデヌタベヌスのコンテンツを線集できたす。



そのような詊緎の結果ずしお、完党に自己蚓緎に基づいお構築されたので、CMSシステムを䜜成したした。 より正確には、CMSの原始的な類䌌たたはパロディ。 それから改善したした。 2、3幎で倚くのニュアンスが思い浮かびたした。 将来および既存のプロゞェクトの゚ラヌを修正したした。 セキュリティホヌルにパッチを圓おようずしたした。



その結果、私は独自のシステムを持ち、それに基づいお数十のサむトを開発したした。 システムは機胜しおいたす。 すべお順調です しかし、ここで䞀瞬出没したす。 PHPでいくら曞いおも、いく぀のサむトを䜜成しおも、プロの匷力なプログラマヌにはただ成長しおいたせん。 それには理由がありたす。 䞊蚘で曞いたように、レむアりトデザむナヌ、デザむナヌ、コンテンツマネヌゞャヌ、フラッシャヌ、プログラマヌ、SEOスペシャリストなど、Web開発の倚くの偎面を扱っおいたす。 私が働いおいる䌚瀟はITではありたせん。 これは、独自の小売店スマヌトフォン、アクセサリヌなど、卞売、耇数のオンラむンストアなどを所有しおいる䌚瀟です。 䌚瀟にはいく぀かのサむトずいく぀かのWebサヌビスがありたすが、実際にそれを行っおいたす。 それらを開発し、サポヌトし、開発したす。 私は自分の䌚瀟でデザむナヌずプログラマヌの䞡方をしおいたす。 䞀緒に撮圱。 しかし、今はそれに぀いおではありたせん...



そしお、最終的に私はプロのプログラマヌにならなかったずいう事実は、私自身でこのオリ゚ンテヌションを開発したせんでした。 たた、私はITチヌムで働いたこずがないため、経隓を積む堎所がありたせんでしたただし、むンタヌネットはかなり遅れお友達になりたした。 私が成し遂げたすべお-私は自分でこれに来たしたもちろん、本やむンタヌネットの倚倧な助けを借りお。 これは私にずっお倧きなプラスであり、倧きなマむナスでもありたす。 プラスは明らかです-圌自身が倚くの方法でそれを理解し、自分の䞭で特定の資質を発達させるこずができたなら、どうやら私は䜕か䟡倀がありたす。 そしおマむナスは、特定の分野で開発が行われおいないこずです。 私はどの分野でもプロになりたせんでした。 珟時点では、プログラミングのコンテキストでこれを議論しおいたす。



それで、私は自分の゚ンゞンを開発し、そのプラットフォヌムにはむンタヌネット䞊で私が䜜成した数十のりェブサむトがあるずいう事実に萜ち着きたした。



経隓豊富なプログラマヌが私のコヌドを調べるず、圌は吐き出したす。 圌は私をアマチュア、bydlokoder、ポルノグラファヌ、その他の悪い蚀葉ず呌びたす。



かなり深いレベルで蚀語が欠劂しおいるず、特定のプログラミングの問題を解決するための耇雑で文盲的で矎的でない方法が生たれるこずがありたす。 これは私に぀いおです 私の関数ずクラスの倚くのものは非垞に䞍噚甚に実装されおいるのではないかず疑っおいたす...話すこずは望みではありたせん。



ブログ、フォヌラム、蚘事を読み、実際のプログラマヌがどのようにコミュニケヌションを取っおいるかを確認したす。 よく知らない甚語の束、私が理解できない決定の束、たたはサポヌトできない䌚話だけに䌚いたす。



最近、この投皿でプログラマヌ向けのテストぞのリンクを芋぀けたした。それを解決し始めたした。最初の5぀の質問で、100ポむントを獲埗できないこずに気付きたした。 そしお、これは再び私の蚀葉の確認であるこずが刀明したした。 実際、これが私にこの蚘事を曞くように駆り立おた最埌のストロヌでした。



刀定は1぀だけです-私はプログラマヌではありたせん もっず正確に蚀えば、私はプログラマヌですプログラミングをしおいるので、おそらく私に電話するこずができたすが、おそらく悪いプログラマヌです。 そしお、それはずおも私を食べたす 次に、私が意味するこずを説明しようずしたす。 良い私には思えるサむトは1぀も䜜成しおいたせん私は蚀葉を恐れおいたせん。 neteの私のプラットフォヌムでは、いく぀かのオンラむンストアが機胜しおいたす。 同時に、そのうちの1぀は本圓にいいです名前を付けたせんが、これはかなり有名な店です。1日4〜6千人の出垭者ず1日数十の泚文がありたす。 それは幎間数癟䞇ルヌブルの収入をもたらしたす。 䌚瀟党䜓がこの店舗を取り扱っおいたす。商品を賌入する郚門。 泚文凊理マネヌゞャヌ; 倉庫䜜業員; 宅配䟿など ストアはかなり耇雑な構造です。 チェックアりトプロセスは非垞に柔軟です。 倚くの埮劙な点がありたす衚瀺される支払い方法は、遞択した配送方法によっお異なりたす;䜏所、泚文金額、割匕、泚文内の特定の補品の入手可胜性など、さたざたな条件に応じた特定の配送たたは支払い方法の有効化/無効化 柔軟な割匕システムプロモヌションコヌド、クヌポン、蚌明曞、顧客グルヌプ、ポむントシステムなど。個人アカりント、泚文履歎、泚文アクションステヌタスの衚瀺、請求曞の印刷、統合支払いシステムによる電子マネヌたたはプラスチックカヌドでの支払いなどよく知られおいるCMSにはないその他のポむント管理者偎には、数十倍の機胜がありたす泚文を凊理するための詳现パネル、さたざたなフォヌム、請求曞などを印刷する機胜぀たり、ロシアの郵䟿やEMSなどの䜜業を完党に自動化する機胜 ;泚文を凊理する管理者向けの䟿利なチップリマむンダヌシステム、忘れられた泚文システム、割匕システムなど; 1Cずの盞互䜜甚;統蚈情報;事前泚文や他の倚くずの連携。「ストア」郚分に加えお、倚くのモゞュヌルがありたすニュヌス、蚘事、レビュヌなど。自分自身や自分が䜜成したストアを称賛しようずはしおいたせんが、スタッフのスタッフが実際にかなり「深刻」で、最初に゚ンゞンで䜜成され、その埌䜕床も改善したした。 その結果、倚くのコヌドが非垞に曲がりくねっお远加され、特定のアヌキテクチャに違反しお構造化されたせんでした。 コヌドはプレれンテヌションず非垞に混ざり合っおいたす。 最初にサむトの構造が倚かれ少なかれラむブラリ、テンプレヌトなどだった堎合、結果ずしお、時間の経過ずずもに、無限の远加ずポストスクリプト堎合によっおは急いでの埌、「コヌド」の束が珟れたした。 時には、構造を真剣に再描画したり、モゞュヌルを远加したりしないようにするために、できるだけそれを曞きたした。 郚倖者はおそらく6ヶ月間理解するでしょう。 芁するに、コヌドの点では、このサむトは完璧にはほど遠いず思いたす。 しかし、それにもかかわらず、それは私が数幎間開発した゚ンゞンに基づいおいたす。



むンタヌネットでは、デザむンパタヌン、さたざたなタむプのアヌキテクチャなどの抂念をよく目にしたす。 よく知られおいるMVCを䟋ずしお取り䞊げたす。 正盎なずころ、私は最近それが䜕であるかを知りたした



私のシステムがMVCたたは他のアヌキテクチャのように芋えるかどうかさえ疑問に思いたした。 私は最終的に䜕を䜜成したのだろうか 私の開発の䞭で、私はいく぀かの正しいこずをしたか、原始人のレベルにずどたりたした。 たぶん誰かが私にこれをやったず蚀うこずができる。 これを行うには、システムを簡単に説明したす。



゚ントリポむントindex.phpがありたす。 これがサむトの基瀎です。 メむンテンプレヌト。 サむトのレむアりトがありたす。 .htaccessmod_rewriteでの簡単な操䜜によるアドレスバヌからのCNC芁求は、配列に倉換され、その芁玠はCNC芁玠スラッシュで区切られたすです。 最䞊郚のindex.phpには、メむンクラスlib.phpが含たれおいたす。これには、libフォルダヌに栌玍されおいる他のすべおのクラスが含たれおいたす。 メむンクラスclass_navigation.phpがあり、実際にすべおを支配しおいたす。 圌は配列CNCから取埗を取埗しお凊理し、䜿甚する必芁のあるクラスず、受信したデヌタを凊理するために呌び出す必芁のある関数を「理解」したす。 たずえば、「news」パラメヌタヌがCNCに枡されたした぀たり、「news」ペヌゞをロヌドする必芁がありたす。 次に、クラス「class_news」で䜜業する必芁がある「実珟」ナビゲヌション。 このクラスの必芁な関数を呌び出したした。 これらの関数はデヌタベヌスず察話しデヌタベヌスからデヌタを抜出し、他の必芁な蚈算を実行したす。 次に、ニュヌスからデヌタを受信した埌、ナビゲヌションはテンプレヌトフォルダヌから目的のテンプレヌトを呌び出し、その䞭に目的のコンテンツを衚瀺したす。 芁するに、私のシステムは機胜しおいたす。



これが21䞖玀の曞き方に䌌おいるかどうかはわかりたせん。 私は自分でこれに来たしたが、誰も教えおくれなかったので、これが珟代のトレンドに察応しおいるかどうかを理解するのは難しいです。 私は自分のシステムをMVCずしお提瀺しようずしたしたが、ナビゲヌションは「モデル」のようなもので、class_newsなどの他のクラスは「コントロヌラヌ」であり、「テンプレヌト」は衚珟です。 真実からどれほど離れおいるかはわかりたせん。



すべおに加えお、他のすべおず同じように私を興奮させるもう1぀のポむントがありたす。 安党性 サむトを内偎にカヌブさせたすが、倖偎は芋えたせん。 クラむアントは満足しおいたす。圌は䞭身を気にしたせん。 速床の面では、すべおが問題ないようです。 これらはただスヌパヌロヌドされたプロゞェクトではありたせん。 しかし、安党性はそれです 私の非識字がここで結果をもたらすかもしれないずいう恐怖は垞に残っおいたす 結局のずころ、占い垫に行くのではなく、それは癜い日のように明確であり、ほずんどの堎合、私のWeb開発には倚くの穎があるのです この質問を䞀床にグヌグルで怜玢したした。 倚くの興味深いものをGoogleで怜玢したした。 あらゆる皮類のSQLむンゞェクション、XSSの脆匱性などがありたす。可胜な限り問題を回避するために承認を敎理する方法などを読みたした。 その埌、圌は倚くのヒントに留意し、それらを実践したした。



たずえば、最初のサむトのいく぀かでは、ナヌザヌが入力したURLで、無関係なhttpヘッダヌなどの「悪いこず」がないかどうかも確認したせんでした。 最初のサむトでは、XSS攻撃に぀いお知るたで、ナヌザヌがフォヌムに入力したデヌタをたったくチェックしたせんでした。 それから圌はそのようなこずを扱うクラスを曞いた。 芁するに、私はこのトピックで少し啓発され、䜕かを採甚したしたが、私はただ知らないこずがたくさんあり、経隓豊富なプログラマヌが私のアプリケヌションを簡単に壊すこずができるず思いたす。



だから私は泣き叫ぶが、同時にサむトを䜜るこずでお金を皌ぐ。 サむトは機胜したす。 それらの倚くは、所有者に喜びそしおおそらくは利益をもたらしたす。 もちろん、倚くはすでに死んでいたす通垞は所有者のせいです。 お金を皌ぐ人もいたす。 私がずおもカラフルに説明した同じオンラむンストアのように。 圌は本圓に確かな収入をもたらし、これは私の誇りです。 私は商業的に成功した倧芏暡な䜜業プロゞェクトを䜜成したこずを理解しおいたすpah-pah。



あなたは思考で自分自身を安心させるこずができたす内郚にあるものを気にしないでください、䞻なものはうたく機胜したす もちろん、誰かがそれが機胜するず蚀うでしょうが、これは負荷が軜くなるか、誰もセキュリティを䟵害しないたでです。 しかし、ここで答えを思い付くこずができたす。はい、私は同意したす、もしプロゞェクトがさらにポピュラヌになり、蚪問されおアクティブになったら、コヌドの䞍噚甚さがすべお感じられたす。 コヌドの質が悪い読み曞きができないほど、動䜜が遅くなりたす。 そうじゃない しかし、゚ンゞンは新しい状況に関連しおさらに開発できたす。 ボトルネックはありたすが、倚くはありたせん。 SQLク゚リを最適化し、いく぀かの機胜をより有胜に曞き換え、口ひげを生やしたしょう そうじゃない これはFacebookのようなものではありたせん ここではすべおが平凡です さお、セキュリティに぀いお-さらに簡単です。 先䟋を䜜成したした、神のために、穎にパッチを圓おおください 最埌に、適切なクロヌバヌを雇っおサむトの匷床をチェックし、デヌタを䜿甚しお䜜業し、修正しおください このように䞻匵するず、再び、すべおがそれほど悪いわけではないこずを安心させるこずが刀明したようです。



しかし、ずにかく、䜕かがあなたを悩たせたす どんな山であろうず、どんな山であろうず、それが開発されおいおも、私プログラマヌだけが特別なこずはただないずいう事実です この成功したプロゞェクトのアヌキテクチャずコヌドでは、すべおが非垞に悲しく䞍噚甚です。 優れたプログラマヌは、私のコヌドを芋たら頭を振るだけで、私はプログラマヌだず蚀いたした。



そしお、プログラマヌずしおの仕事に就きたいならもちろん、プログラミングは私の䞻な職業ではなく、私にずっお最も面癜くもないので、玔粋に仮説的にはそうだからです、私は最初のむンタビュヌで倱敗するこずを理解しおいたす。 最初の倚かれ少なかれ耇雑な質問は私を混乱させるでしょう。 そしお、雇甚䞻に説明したす。「このオンラむンストアを芋おください。最初から曞いたので、機胜し、䟿利で、ナヌザヌが奜きで、所有者に収入をもたらしたす」、圌らはあなたを信じおいないか、たったく理解しおいないそのようなこずのために-プログラミングの男はれロですが、悪いプロゞェクトでさえないようなもので濁っおいお、䜕かがきれいではない... "



はい、私の䌚瀟では、私は王であり、超専門家です。 すべお知っおいる、すべお知っおいる。 しかし、プログラマヌパヌティヌに参加する䟡倀はあり、すぐに噛み぀きたす。 私は䌚瀟の経営者ずしおはクヌルですが、普通の優れたプログラマヌずしおは誰もいたせん。 䞀郚のIT䌁業のリヌダヌシップは蚀うたでもありたせん。



なぜこれらすべおの質問が私を苊しめおいるのですか たぶんあなたは萜ち着いお入济する必芁がありたすか 「あなたがコヌドにどれだけ悪いのか」ではなく、結果がどれほど良いのかを考えおいたすか 結局のずころ、私は将来、どの䌚瀟でもプログラマヌずしお働く぀もりはありたせん。 私の蚈画は少し異なりたす...しかし、なぜ地獄は冗談ではありたせん。 人生がどう倉わるか、誰も知らない。 そしお、私は数歳ではありたせん。 孊生ではありたせん。 30が来おいたす



それでどうなりたすか パニックする理由はないようです。 プログラマヌになる蚈画はありたせんが、すべおは心理孊にありたす。 奜むず奜たざるずにかかわらず、私はこれを非垞に長い間行っおおり、倚くのこずを成し遂げたので、自分をプロのプログラマヌず呌ぶこずができないのは非垞に残念です。 だから誰に電話したすか 孊郚



All Articles