2007幎からタむムトラベラヌに最新のWeb開発に぀いお話す方法

画像



こんにちは



この新しい䞖界をお楜しみください。 2007幎の䞖界ずは倧きく異なりたす。 ヒント䜏宅ロヌンを借りたばかりの堎合は、戻っおキャンセルしたす。 信じお



あなたがただコンピュヌタに興味を持っおいるこずをうれしく思いたす。 今日、私たちは10幎以䞊前に倚くを抱えおおり、これは新しい課題に関連しおいたす。 手銖ず顔にコンピュヌタヌを持ち、ポケット、冷蔵庫、やかんに入れたす。 車は非垞にうたく自己管理されおおり、おそらくリッタヌボヌルを陀いお、あらゆるゲヌムで人々を倒すプログラムを蚓緎したした。




この翻蚳は、倧芏暡な顧客向けにASP.NETディレクトリサむトを専門的に開発し、有甚な反原発防止アプリケヌションを䜜成するEDISON Software瀟によっおサポヌトされおいたした。




Webアプリケヌション



タむムマシンに入る前にiPhoneのプレれンテヌションを芋たこずがあるかもしれたせん。 Appleは、䞻にiPhoneおよびiOSオペレヌティングシステムのおかげで、最倧か぀最も豊かなテクノロゞヌ䌁業です。 GoogleにはAndroidず呌ばれる競合するものもあり、MicrosoftはWindows Phoneで増え続けるパむを手に入れようずしたした。 しかし、圌らにずっおはうたくいきたせんでした。



画像



巊2008幎のiPhone 3GS。 右2017幎のiPhoneX。 肩越しの射撃も緎習しなければなりたせんでした。



私たちはプログラム-アプリケヌション、そしおいく぀かのりェブサむト-りェブアプリケヌションを呌び始めたした。 2008幎、Googleは「Chrome」ずいう新しいブラりザをリリヌスしたした。 9幎埌、圌はむンタヌネットで最も人気のある方法になりたした。



ChromeチヌムはJavaScriptの開発に倚額の投資を行っおおり、コヌドは毎月改善されおいたす。 Webアプリケヌションは珟圚、倧量のJavaScriptを䜿甚しお蚘述されおおり、珟圚のデスクトップアプリケヌションを連想させたす。



他の倧䌁業もJavaScriptの改善に投資したした。モゞュヌルずクラスのサポヌトが远加されたした。 JavaScriptでコンパむルされたプログラミング蚀語、たずえばTypeScript Microsoftから、今ではかっこいいたたはFlowを䜿甚しおいたす。



最近では、䞻にJavaScriptを䜿甚しおいたすが、他の誰もFlashをサポヌトしおいたせん。 NodeJSず呌ばれるものを䜿甚しお、Perlではなくサヌバヌ䞊でもJavaScriptを実行したす。 それは実際よりも簡単に聞こえたす。



画像



レスポンシブデザむン同じりェブサむトが耇数のデバむスで異なっお衚瀺されたす。



Swing、SWTなどのwxWidgetsを芚えおいたすか ブラりザ甚に同様のものを䜜成する必芁がありたした。 䞻にコンポヌネントに焊点を圓おたいく぀かの新しいUIプログラミングパラダむムが登堎したした。



レスポンシブWebアプリケヌション携垯電話でゎミのように芋えないWebサむトを衚すために䜿甚される甚語を䜜成するこずを目的ずした蚭蚈、開発、およびテスト方法が必芁です。 たた、Webアプリケヌションを軜量にする必芁がありたす。すべおのナヌザヌが高速な接続を持っおいるわけではありたせんが、すべおのナヌザヌがポケットにブラりザを持っおいたす。



これをすべおサポヌトするために、コンポヌネントフレヌムワヌクが登堎したした。 この甚語はあいたいで、GoogleのAngular 、FacebookのReact 、およびコミュニティのVueが含たれたす。 しかし、これは私たちが持っおいる最高の甚語です。



ちなみに、2007幎からFacebookを孊ぶかどうかはわかりたせん。 それは圓時アメリカで成長しおいたしたが、今では巚倧です。 10億人以䞊のナヌザヌを登録しおいたす。 Facebookには、䞖界最倧のコヌドベヌスの1぀もありたす。



Facebook開発チヌムは倚くの優れたコヌドを䜜成し、むンタヌネット䞊で公開しおいたす。 圌らは圌ら自身の䌚議を持っおいたす-F8。 珟圚、ほずんどの倧䌁業は開発䌚議を開催しおいたす。



新しいアプリケヌションがより耇雑なレむアりトを必芁ずするため、CSSも進化する必芁がありたした。 画像テヌブルは䜿甚しなくなりたした。 フレヌムも時代遅れです。 代わりに、CSS Floats、Flexbox、CSS Gridなどの新しい暙準を䜜成したした。



人々はこれらの暙準を螏たなければならなかったので、 Bootstrap 、 Foundation、その他倚くのような構造化された倖芳のラむブラリを䜜成したした。 JavaScriptず同様に、CSSでコンパむルされた蚀語を䜜成したした。 倉数やモゞュヌルなど、CSSがスキップするものの䞀郚を補いたす。 これはただ理解するのが難しいです。



倱われるのは正垞です



混乱しおいる堎合でも動揺しないでください。 真実は、私たち党員が少し混乱しおいるずいうこずです-そしお、すべおが敎然ずしおいたす。 地球䞊にはさらに倚くの開発者がおり、テクノロゞヌ䌁業はより成功しおいたす。 しばらくの間、「スタヌトアップ」ずいう甚語を䜿甚しお、急速に成長し、䜕をすべきかわからなかった䌁業を説明したした。 しかし、この甚語でさえ時代遅れです。



デヌタ



プログラマヌ、プログラム、デバむスが増えおいたす。 この結果、より倚くのデヌタがありたす。 コンピュヌタヌは、これらすべおを凊理するのに十分匷力であるず想定されおいたため、このデヌタを掞察に倉えるいく぀かの方法を開発したした。



たず、デヌタサむ゚ンスず呌ばれる科孊分野を䜜成したした。その目的は、デヌタを調査し、デヌタから情報を抜出するこずです。



たずえば、Wazeず呌ばれるスタヌトアップでは、人々が車に乗っおいるずきの動きを远跡できるように、携垯電話にアプリケヌションをむンストヌルするこずができたした。



倚くの人がアプリをむンストヌルしたため、Wazeは車の動きに関する倚くのデヌタを取埗したした。 圌らはそれを䜿甚しお、枋滞の堎所を理解できるプログラムを開発したした。



携垯電話でWazeを開くず、地図䞊で枋滞をリアルタむムで確認でき、別のルヌトを遞択できたす。



それ以来、WazeはGoogleに買収されたした。 これはしばしばスタヌトアップで起こりたす。



画像








誰かがWazeを䜿っおどこかに行きたす。 他のWazeナヌザヌは面癜いアむコンずしお衚瀺されたす。



デヌタサむ゚ンスは、デヌタストレヌゞ、デヌタの理解、デヌタの䜿甚ずいう3぀の䞻芁な課題に盎面したした。 これらすべおの分野で優れおいたす。 各゚リアを個別に芋おみたしょう。



デヌタ保存



ここで、さらに倚くの情報を保存し、この情報のうちどれだけ重芁であるかを把握する必芁がありたす。 次に、新しいデヌタベヌスを発明する必芁がありたす。 MySQLおよびPostgreSQLは、テラバむトのデヌタ「ビッグデヌタ」ずも呌ばれたすの保存には適しおいたせん。



倧芏暡な最初のむンタヌネット䌁業は原則ずしおこれらの問題に盎面しおいたため、技術開発の䞀歩先を行っおいたした。 ほずんどの堎合、テクノロゞヌは最初に内郚で䜿甚され、その埌䞀般に利甚可胜になりたした。



NoSQLず呌ばれる動きがありたした。 この新しいデヌタベヌスクラスは、埓来のリレヌショナルデヌタベヌスの芏則の䞀郚を採甚および展開したした。



倚数のコンピュヌタヌにデヌタを保存する方法を担圓するHadoopがありたす。 MapReduceがデヌタを凊理する方法を定矩したすGoogleの蚘事に觊発されたした-倧䌁業は最近、良い科孊蚘事を曞きたす。



Cassandraもありたす。これは、デヌタをテヌブルずしおではなく、異なるコンピュヌタヌに保存できるキヌず列のセットずしお扱いたす。 たた、これらのコンピュヌタヌのいずれかがデヌタを倱うこずなくオフラむンになるこずを保蚌したす。



たた、 MongoDBがありたす。これは、むンストヌルが簡単で、アプリケヌションのプロトタむプを䜜成するために䜿甚できるデヌタベヌスです。 2017幎には、10幎前にポップスタヌを扱ったのず同じようにテクノロゞヌを怜蚎したす。 MongoDB-ニッケルバックグルヌプずしお-最埌のグルヌプに属したす。



トレヌニング



画像



プリズマで撮圱した犬。機械孊習を䜿甚しお、普通の写真を有名な芞術䜜品のように芋せたす。 Photoshopのプラスチックラップはもう必芁ありたせん。



「デヌタ理解」の分野では、ほずんどの泚意が機械孊習に集䞭しおいたした。 玠朎な分類から深局孊習たで、倚くの新しい方法があり、珟圚はデヌタサむ゚ンティストツヌルキットに含たれおいたす。 圌らは䞻にPythonで曞いおおり、可胜な限り機械孊習を䜿甚するために開発者ず協力しおいたす。



たずえば、デヌタサむ゚ンティストでは、倚くのWebアプリケヌションがA / Bテストを䜿甚しおいたす。 このメ゜ッドは、異なるが類䌌したナヌザヌグルヌプに察しお、わずかに異なる2぀のバヌゞョンのアプリケヌションを提䟛したす。 登録たたは賌入であるかどうかに関係なく、芖聎者にずっお最適なバヌゞョンを確認するために䜿甚されたす。



AirbnbAir BNず発音、Uber、Netflixなどの倚くの倧䌁業は、数癟および数千のA / Bテストを同時に実行しお、ナヌザヌがアプリを䜿甚しお最高の゚クスペリ゚ンスを埗られるようにしたす。 Netflixは、すべおのデバむスでテレビ番組を芖聎できるアプリケヌションです。 ¯\ _ツ_ /¯



マむクロサヌビスずクラりド



Netflixのような䌁業は巚倧です。 倚数の人々にサヌビスを提䟛するため、サヌバヌが垞に機胜するこずを確認する必芁がありたす。 これは、コンピュヌタヌを十分に管理する必芁があるこずを意味したす。 必芁なずきに䜕癟もの新しいサヌバヌを远加できたす。



これは、埓来のデヌタセンタヌでは実珟が難しいため、Netflixの優秀な゚ンゞニアが仮想マシンを䜿甚する理由です。 2006幎に発売されたAmazon Web Servicesを芚えおいたすか その埌、EC2ずしお知られるElastic Cloud Computeの提䟛を開始し、人々がAmazonデヌタセンタヌで仮想コンピュヌタヌを取埗できるようにしたした。



珟圚、ほが80の同様のサヌビスがあり、それらはすべお䌁業の急速な成長のために䜜成されおいたす。 以前は「クラりド」ずいうファッショナブルな名前を付けおいたしたが、この甚語はNoSQLず同じくらいあいたいです。



画像



これは、Amazonクラりドで芋぀けるこずができるサヌビスのリストです。 圌はただ成長しおいたす。



GoogleずMicrosoftは独自のクラりドを提䟛し、クラりドサヌビスの垂堎を䜜り出しおいたす。 そしお、賢い人々が互いに競争するずき、あらゆる皮類のクレむゞヌなむノベヌションが起こりたす。



たず、むンフラストラクチャをコヌドずしお考えるようになりたした。 以前は、新しいサヌバヌを賌入し、キヌボヌドを接続しお䟝存関係をむンストヌルする必芁がありたした。



珟圚、 Puppet 、 Chef、 Ansibleなどの構成管理ツヌルを䜿甚しお、サヌバヌを自動化したす。 Rubyのような蚀語でコヌドを曞くず、サヌバヌは必芁な構成を提䟛したす。 倉曎が必芁な堎合は、構成を線集しおからサヌバヌをアップグレヌドしたす。 これ以䞊のSSH。



たた、コンテナに぀いおも怜蚎し始めたした。 マシンをEC2に提䟛できるため、補品が機胜する同様の環境を開発する必芁がありたした。



Vagrantなどのツヌルを䜿甚しお仮想マシンを自動化したした。 次に、Linuxコンテナヌ、そしお最終的にはDockerを入手したした。 OS関連の操䜜の䞀郚を共有する仮想マシンを起動せずに、MacBookでLinuxを実行する方法を芋぀けたした。



Dockerを䜿甚しお、実皌働で䜿甚したものに正確に察応するシステムの蚘述を䜜成できたした。 開発者はこれらの蚘述を「むメヌゞ」ず呌び、コンテナず呌ばれる耇数の仮想むンスタンスでアプリケヌションを実行したした。



画像



ずころで、倚くの人がMacBookを気に入っおいたす。 そしお、これはWindows 10䌚議です。



クラりドプロバむダヌはこれに远い぀き、コンテナヌをクラりド䞊で盎接起動し始めたした。 オヌケストレヌションフレヌムワヌクず呌ばれるMarathonやKubernetesなどの機噚を提䟛しおくれたした。 これらのフレヌムワヌクにより、開発者は、スケヌリング、フォヌルトトレランス、監芖、および怜出を心配するこずなく、コンテナ内でアプリケヌションを実行できたす。 サヌバヌは䞀床しか䜿甚されおいないため、スマヌト名を付けるこずはなくなりたした。



たた、開発者はサヌビスたたはマむクロサヌビスず呌ばれる小さなアプリケヌションを䜜成し、それらを独自に実行するこずができたした。 これらのマむクロサヌビスには倖郚䟝存関係がほずんどないため、 Go 同時実行性ずの互換性を確保するために䜜成されたやJavaなどの新しいプログラミング蚀語を孊び始めたした。 はい、Javaはどこにでもあり、状況は改善されたした。



たた、 ScalaやClojureなどの蚀語を䜿甚するず、Java仮想マシンずすべおの関連ラむブラリを䜿甚できたす。 AirBnBなどのWebサむトでは、いく぀かのプログラミング蚀語ずデヌタベヌスを䜿甚しお数癟のマむクロサヌビスを開始しおいたす。



これらのマむクロサヌビスのため、プログラミングパラダむムのいく぀かを再考する必芁がありたした。 これで、調敎する必芁がある小さなアプリケヌションがさらに倚くなりたした。



その結果、 Apache Kafka 、 Google PubSub 、 RabbitMQなどのツヌルがあり、互いに倚くの通信を行うコンピュヌタヌを支揎するこずを目的ずしおいたす。 Kafkaは、人々が自分の職業生掻を宣䌝する゜ヌシャルネットワヌクであるLinkedInによっお䜜成されたした。 その埌、オヌプン゜ヌスプロゞェクトになりたした。



゜フトりェアを䜜成する方法



オヌケストレヌションフレヌムワヌクによっお䜜成される耇雑さは、䞻に倧芏暡なチヌム向けです。 芚えおおいおください-今、゜フトりェアを䜜成する人がこれたで以䞊に増えおおり、すべおのプログラマヌがコヌドをすぐに送りたいず思っおいたす。 Webサむトで䜕癟人もの開発者が䞀緒に働いおいる䌚瀟がある堎合、リリヌスを調敎する必芁がないこずを確認する必芁がありたす。



したがっお、小さなチヌムで゜フトりェアを䜜成したす。 通垞、チヌムにはDevOpsのスキルがあり、参加者は゜フトりェアをホストできるように操䜜に぀いお十分に理解しおいたす。 圌らは䜕らかの圢のアゞャむルプロセスを䜿甚し、短い間隔で継続的に゜フトりェアをリリヌスしたす。 組織はたた、 分隊、章、郚族、 Spotify新しい音楜ストリヌミングサヌビスなどのギルドなど、他の圢匏の階局を実隓しおいたす。



これらのプロゞェクトおよび前述の倚くのプロゞェクトはすべお、人々のコミュニティによっお公に開発されおいたす。 時々圌らは䌚瀟によっお埌揎されたす。 ほずんどの堎合、開発はGitHub Webサむトで行われたす 。 そこで、人々は返信するこずで゜フトりェアに぀いお話し、それを公開し、他の出版物を承認するこずができたす 画像 絵文字。 絵文字emojiは、「絶察合意」などの感情を衚珟するために珟圚䜿甚しおいる特別なシンボルです。 :-)



珟圚、他にも倚くのコミュニティがあり、それらはすべおオヌプン゜ヌス゜フトりェアを䜜成する方法を実隓しおいたす。 たずえば、EmberJSず呌ばれるフレヌムワヌクは、 コミュニティ䞻導の 6週間のリリヌスサむクルを䜿甚したす。 他の蚀語ず䞀般的なオヌプン゜ヌスプログラムMicrosoftのコヌド゚ディタヌであるGitLabやVisual Studio Codeなどは毎月曎新されるため、倉曎がすべおに絶察に圱響するこずはありたせん。 パッケヌゞはリリヌスごずに少しず぀倉わりたす。



コヌド゚ディタの遞択をめぐる論争は䟝然ずしお存圚したす。 テキストフィヌルドを衚瀺するブラりザを起動するデスクトップアプリケヌションでコヌドを蚘述したす。 そしおそれは玠晎らしいこずです。 非垞にうたく機胜し各リリヌスで改善されたす、高床にカスタマむズ可胜です。 VIMモヌドもサポヌトしおいたす



画像



RailsGirlsは、倚くの女性にWeb開発の䞖界を開くむニシアチブです。 ブルガリアの゜フィアのセミナヌ参加者は、Rubyコミュニティで人気のゞェスチャヌであるフラむデヌ・ハグを披露しおいたす。



䌚議は各トピックで開催されたす。 圌らはクヌルで、どこにでもありたす。 1぀に移動するず、たったく別の人が衚瀺されたす 呚りを芋お、知り合いを䜜り、刺激を受け、話したす。 あなたはアルゎラヌノショヌに行くこずができたす-圌らが音楜、画像、コヌドで行うこずは息をのむようなものです。



それだけではありたせん



開発者、゜フトりェア、むノベヌションが増えおいたす。 ただコンピュヌタヌに満足しおいるこずを願っおいたす-あなたにはあらゆる理由がありたす。



さあ、もう2぀Club Mateを持っおいきたしょう。ビットコむンに぀いお説明したす。 たた、知りたい堎合は、米囜が新しい倧統領です。



All Articles