HolyJS 2017モスクワプログラムの抂芁WebAssemblyからYarnたで





HolyJSカンファレンス12月10〜11日にモスクワで開催予定の前にはほずんど残っおいたせん。珟圚、プログラムに最埌の仕䞊げが導入されおいたす。぀たり、このプログラムをHabrに適切に提瀺できたす。 どんなレポヌトが埅っおいたすか 䞀蚀で蚀えば、「倚様」です。 HolyJSは、「フロント゚ンドフレヌムワヌクに関する䌚議」のフレヌムワヌクに限定されるこずはありたせんが、JSワヌルド党䜓を網矅しようずしたした。 今回は、Node.jsずGraphQLからブラりザベヌスの「Heroes of Might and Magic」、そしおWebAssemblyを䜿甚した量子コンピュヌタヌに察する勝利たで、その広がりは非垞に顕著です。 その結果、プログラムを芋るず目が倧きく開いおいるため、このハブでは耇数のテヌマブロックに分割するこずさえできず、すべおのレポヌトを順番に説明する必芁がありたした。



しかし、私たちは䜕かを別に匷調したした基調講挔。 䌚議は3぀の郚屋で開催されたすが、毎日は党員に共通のスピヌチで始たり、最埌にJavaScriptの黙瀺録の4人の階手からこれらの4぀のトピックで説明を始めるのが理にかなっおいたす。



基調講挔



ダグラス・クロックフォヌド-ポストJavaScriptアポカリプス



春に䌝説のダグラス・クロックフォヌドがサンクトペテルブルクで「数字」ずいうテヌマで HolyJSに぀いお話したずき、圌は新しいプログラミング蚀語が登堎するべきだずさりげなく蚀及したした。 そしお今回、「ゞャワスクリプト埌の黙瀺録」に関するスピヌチで䌚議を開くず、圌はこのトピックをより詳现に明らかにするでしょう。 遅かれ早かれJavaScriptを眮き換える蚀語は䜕でしょうか そしお、圌はただではありたせんが、私たちは今䜕をしたすか



基調講挔に加えお、ダグラスは䌚議の2日目に「通垞の」レポヌトを䜜成したす。これに぀いおは以䞋で読むこずができたす。



Vitaliy Fridman-レスポンシブWebデザむンの新しい冒険



圌らは䜕幎もの間レスポンシブWebデザむンに぀いお話しおきたしたが、時間の経過ずずもに質問は少なくなりたすが、それ以䞊になりたす。 ブラりザはHTTP / 2、Service Worker、Responsive Images、Flexbox、SVG、Font Loading APIのサポヌトを開始したした。これをすべお䜿甚する方が良いでしょうか。 そしお、あなたがそれを䜿い始めたなら、レガシヌブラりザで䜕をしたすか



このような質問は、有名なSmashing Magazine Webサむトの共同蚭立者であるVitaly Friedmanにぎったりです。 第䞀に、このサむトは数幎前からこのようなトピックを扱っおきたした。第二に、サむト自䜓もそのような問題を解決する必芁がありたす。 䞀般的に、明らかに専門知識の䞍足はありたせん。 たた、Vitalyは、ダグラスず同様に、2日目の䌚議で別のレポヌトを発衚したす。



Azat Mardan-Nodeがわからない



ご存知のように、誰かがJavaScriptを䜿甚しおいる堎合、これはJavaScriptを知っおいるずいう意味ではありたせん。 これは「You Do n't Know JS」ずいう本の人気によっおも蚌明されおいたすすでにすべおを知っおいるず思っおいる人にもJSを本圓に教えるず玄束されおいたす。 Azat Mardanは、状況はNode.jsず同様であるず宣蚀しおいたす。圌に察凊する倚くの開発者は、圌の胜力をよく知りたせん。 そしお、基調講挔「あなたはノヌドを知りたせん」は、5぀の明癜でない機胜を瀺すこずによっおこれを修正するために呌び出されたす。



リヌ・ベロり-/ Regexp{2} lained /正芏衚珟の分かりやすさ



リアはすでにサンクトペテルブルクの春の倚くの芳客のパフォヌマンスに感銘を受けたした。 「正芏衚珟」は千回噛たれたように芋えるかもしれたせんが、同時に完党には理解されおいたせんしたがっお、恐ろしい。 しかし、リアは、実䟋ですべおを説明し実蚌する方法を知っおいるので、怖くも退屈でもありたせん。 たた、「芏則」に぀いお十分に知っおいお、もう䞀床聞く必芁がないず思われる堎合は、いく぀かの明癜でない堎合に心の䞭で正しい衚珟を本圓に迅速に遞択できるかどうかを確認する良い機䌚がありたす。






初日レポヌト



Nikolay Matvienko-内郚のNode.jsアプリケヌションの蚺断



Azat Mardanの基調講挔で確認できるNode.jsの「非自明な機胜」は、もちろん玠晎らしいです。 しかし、Node.jsアプリケヌションに問題があり、新しいものを台無しにする必芁はないが、既存のものをすばやく修正する必芁がある堎合はどうでしょうか。 ニコラむのレポヌトでは、さたざたなレベルでのデバッグずアプリケヌショントレヌスを䜿甚しお、運甚アプリケヌションの蚺断機胜に぀いお孊習したす。 Node.jsアプリケヌション内のパフォヌマンスの問題ずメモリリヌクを远跡する方法。



Denis Radin-ピクセルシェヌダヌでうたく凊理し、最初のコヌドを蚘述したす



Webでの䜜業を「原始的なフォヌム䞭傷」ず芋なす人は、このレポヌトがいかに異なる可胜性があるかを瀺すこずができたすもちろん、そのような人がJS䌚議に登堎する堎合でも。 「シェヌダヌ」ずいう蚀葉はゲヌマヌによく知られおいたすが、UIコンポヌネントでの䜿甚は䞍圓にバむパスされおおり、デニスは修正する予定です。 このレポヌトでは、Webアプリケヌションの開発でGLSLCのようなOpenGLシェヌディング蚀語を䜿甚した経隓をレビュヌしたす。



゚ゎヌル・マルケビッチ--盗む-むンタヌネットからデヌタを取埗する



このレポヌトは、デヌタの怜玢におけるむンタヌネットの深さのツアヌです。 Egorは、サむトからデヌタを削陀する最も簡単な方法ず、䞀芋しただけで最も耇雑で非垞に明癜な方法に぀いお説明したす。 このレポヌトは、有甚なアプリケヌションを䜜成したいが、埌たでこのタスクを垞に延期した人にずっお興味深いものになりたす。 そしお、すべおはむンタヌネットからデヌタを抜出するのが玠晎らしいからです



Minko Gechev-より高速なAngularアプリケヌション



䞀方では、Webアプリケヌションをできるだけ早く開いお実行するこずの重芁性をすべお理解しおいたす。 䞀方、倚くのリ゜ヌスを䞀床にロヌドする必芁があるこずが倚いかさばる単䞀ペヌゞアプリケヌションを䜜成し、メむンスレッドで非垞に倚くの蚈算を行うため、「ブレヌキ」は驚くこずではありたせん。 60 FPSレンダリングずAngularアプリケヌションの高速ロヌドを実珟するにはどうすればよいですか ミンコは䞡方に぀いお話そうずしおいたす。



Andrey Melikhov-モバむルアプリケヌションを䜜成するために必芁なフロント゚ンドナヌザヌの数



モバむル開発者にずっお、React Nativeの蚀及は、通垞、「プロトタむプに察しおは反応したすが、本栌的な実皌働アプリケヌションはそれを行いたせん。そこでネむティブが必芁です。」 しかし、ネむティブアプロヌチずReact Nativeの個々の画面をクロスするずどうなりたすか たた、䜜業の䞀郚をフロント゚ンドに任せた堎合はどうなりたすか Yandex.Moneyはこれを実行しようずしたした。AndreiMelikhovは、この経隓がどのように終わり、どのような問題に遭遇し、䜕を達成したかを説明したす。



Alexey Zolotykh-建築研究プロゞェクトの建築を台無しにしない方法



魅力的なりェブむンタヌフェヌスずナポレオンの蚈画で2〜3幎の巚倧なプロゞェクトを開始したした。 圌らはフレヌムワヌクを遞択し、コレクタヌをセットアップし、GitHubからダりンロヌドするか、スケルトンを生成し、将来のアプリケヌションの基瀎にしたした。 あなたはすでにプロトタむプを持っおいるかもしれたせん。 そしお、ここで、初期段階での間違いが最も苊痛であるため、さらに先ぞ進む方法に関する疑問が生じたす。 fireを割るのはずおも簡単です。



レポヌト䞭に、Alexeyは、シンプルで理解しやすいテンプレヌトプロゞェクトを取り䞊げ、フロント゚ンドで10幎以䞊の䜜業で蓄積したすべおの知識を䜿甚しお、さらにアヌキテクチャを構築しようずしたす。



Vitaliy Slobodin-ヘッドレスブラりザヌ䜕、どのように、なぜ



レポヌトのタむトルを芋るず、倚くの人が「なぜそれを聎かなければならないか、私はすでにヘッドレスブラりザが䜕であるかを知っおいる」ず考えるかもしれたせん。 実際、そのようなブラりザは開発者の生掻に長い間入っおいたす-圌らの助けを借りお、圌らはコヌドテストを行い、レむアりトの品質ず䞀貫性をチェックしたす。 しかし問題は、開発者が自分のツヌルがどのように機胜し、どのように機胜するかに぀いおほずんど知らないこずです。 そのため、名前からの「どのように」ずいう質問も重芁です。倚くの人が自分で答えを芋぀けるこずができたす。



Vladimir Dashukevich-WebAssemblyを䜿甚しお量子コンピュヌタヌを打ち負かす方法



珟圚、TLSで保護されたペヌゞにパスワヌドずクレゞットカヌド番号を静かに入力しおいたす。 これは䞻に、1970幎代に提案されたシンプルで信頌性の高いRSAプロトコルによるものです。 しかし、このプロトコルは理論的には新しいタむプのコンピュヌタヌ、぀たり量子コンピュヌタヌによっおハッキングされる可胜性がありたす。



りラゞミヌルは、量子コンピュヌタヌずは䜕か、それがむンタヌネット党䜓を砎壊する方法、最新のブラりザヌがそのような問題を防止しようずする方法、ナヌザヌデヌタを保護する方法を説明したす。 量子コンピュヌタヌでは珟時点ではハッキングできないSIDHなどの暗号化アルゎリズムず、WASMを䜿甚するブラりザヌでのそれらの䜿甚に぀いお説明したす。



Alexey Bogachuk-セキュリティアプリケヌションの脆匱性



XSSの脅嚁は䟝然ずしお関連しおいたすか クロスサむトスクリプティングXSSが攻撃の䞀圢態ずしお登堎しおから玄20幎が経過したした。 それ以来、私たちは豊富な経隓ず知識を埗お、サむトを保護するこずがより難しくなり、゚ラヌから私たちを保護するために倚くのフレヌムワヌクが蚭蚈されたした。 しかし、最新のデヌタはたったく異なる状況を瀺しおいたす。2017幎の第1四半期には、XSS攻撃に関するレポヌトの数ず発芋された脆匱性の数が数回増加したした。



Alexeyは、アプリケヌションが危険な理由、フレヌムワヌクが保存しない理由、脆匱性を芋぀ける方法、およびこれに䜿甚するツヌルに぀いお説明したす。



ミハむル・バシュロフ-糞、npm v5たたはpnpm-誰がクヌルですか



「どういうわけか、2人の開発者が10幎間1぀の刑務所に入った。 ある日出おきた。 さお、圌らは路䞊でさらに1時間話をしたしたが、パッケヌゞマネヌゞャヌの方が優れおおり、分散しおいたす。」 ゞョヌクはゞョヌクですが、このトピックの終わりのない議論の䜙地があるため、それほど緊急ではありたせん。 そしお、ミハむルは、単玔なホリバヌの代わりに、速床、CLI、locfiles、決定論などの特定の指暙で比范したす。



アレクサンダヌ・コロタ゚フ-ブラりザでのヒヌロヌズ・オブ・マむト・アンド・マゞックのゲヌム長く、難しく、耐えられないほど面癜い



「倢のゲヌム」の開発によるプログラマヌの開発の歎史 このレポヌトは、圌のクラフトのファンの䞖界ぞの窓を開き、ブラりザでの倧芏暡ゲヌムの開発ぞの正しい道を瀺したす。 生産性ず正しい道を芋぀け、JSの䞖界で差し迫った問題ず信じられないほどの発芋を解決する戊争の個人的な経隓。



このレポヌトでは、JSゲヌム開発者の䟿利なケヌス、぀たり効率的なデヌタストレヌゞ、CanvasでのUIの描画、バむナリファむルの解析を開始する方法に぀いお説明しおいたす。



Mathias Buus Madsen-HyperDB-スケヌラブルなキヌバリュヌストア



MatiasはJavaScriptで新しいP2P HyperDBデヌタベヌスを開発しおいたすが、HolyJSでそれに぀いお詳しく説明したす。 プロゞェクトの䜜成者が話しおいるので、䌚話が詳现で、深く、「内郚での仕組み」ず「これで䜕ができるか」ずいう異なる角床から䌚話するのは驚くこずではありたせん。 これずは別に、「ディスカッションゟヌン」はここで圹立ちたす。各HolyJSスピヌカヌはレポヌトの埌に移動したす。レポヌトの埌に質問がある堎合は、スピヌカヌからすべおの詳现を盎接取埗できたす。






2日目のレポヌト



ダグラス・クロックフォヌド-RQによる非同期性の管理



そしお再び、ダグラス・クロックフォヌド。 今回は、「未来の蚀語」に぀いおの䞀般的な議論ではなく、今日の具䜓的な課題に察する具䜓的な回答を亀えお。 RQは、サヌバヌアプリケヌションで非同期を凊理するために蚭蚈された、Crockfordの小さなJSラむブラリです。 Crockford自身によるず、「ミニマリズムの助けを借りお、さらにミニマリズムの助けを借りお䜿甚を促進するように蚭蚈されおいたす」。



Alexey Okhrimenko-臎呜的な欠陥Node.js



そしお再び、ノヌド。 「臎呜的な欠陥」ずいう語句は、開発者の語圙に長い間含たれおいたした。通垞、「この技術は私たちによっお䜜られたものではないので、同じこずをしたしょう」ずいう意味です。 しかし、Alexeyは、Nodeにはこれらの蚀葉で誰もが考えおいる臎呜的な欠陥ではなく、別の欠陥があるず考えおいたす。 そしお、レポヌトはどちらかを䌝えるだけでなく、この欠点を修正しようずしたす。



Alexey Taktarov-州の䞖界のアニメヌション



クリヌンなむンタヌフェむスを構築し、「やり盎し」を数行で蚘述する方法を既に孊びたした。 しかし、アニメヌションはどうですか 倚くの堎合、これらはバむパスされ、垞に状態↊DOMアプロヌチに適合するずは限りたせん。 React Motionのような優れた゜リュヌションがありたすが、耇雑なアニメヌションを䜜成したり、物理゚ンゞンを䜿甚しおCanvasで䜜業する必芁がある堎合はどうでしょうか。



Alexeyは、Reactアプリケヌションでアニメヌションを操䜜する方法を説明し、いく぀かのアプロヌチD3、React-Motion、「ダヌティコンポヌネント」を比范し、倚くのむンタラクティブデモでこれを説明したす。 たた、Reduxアプリケヌションでアニメヌションを「起動」する方法に぀いおも説明したす。 このレポヌトは、Reactアプリケヌションでアニメヌションを定矩するクリヌンで宣蚀的な方法に到達するこずを目的ずする研究の䞀郚です。



Slobodan Stojanovic-サヌバヌレスアプリケヌションのテスト



「サヌバヌレス」ずいう蚀葉は今では非垞に頻繁に聞こえたす。 しかし、このトピックに関する倚くのテキストずレポヌトは衚面的な問題を分析しおいたすが「それが䜕であるのか」、「利点は䜕か」、「この甚語が愚かに呌ばれおいるのにサヌバヌはただ存圚する」、萜ずし穎はしばしば萜ずし穎のたたです。 実際の䜿甚では、最初は聞かない質問がすぐに発生したす。たずえば、サヌバヌレスアプロヌチはテストにどのように圱響したすか。 埓来のNode.jsアプリケヌションのテストずの䞻な違いは䜕ですか Slobodanは、これらの質問ず他の質問の䞡方に答える぀もりです。



Martin Splitt-より良く、より速く、より匷くWebプラットフォヌムをさらに掻甚する



サンクトペテルブルクのHolyJSでは、Martinは1぀のピクセルから始めおレンダリングパフォヌマンスを「䞋から」解析したした。 「倚くの人が届かない堎所に行く」ずいう情熱は圌にずっお兞型的なものです。モスクワでは、圌は過小評䟡されおいるか、䞖間の泚目を集めるにはあたりにも新しいず思われる機胜を扱いたす。 それらは、Web WorkersUIストリヌムをブロックせずに䞊行䜜業を行うため、Streams API利甚可胜になったデヌタを、転送の終了を埅たずに凊理するためおよびWebAssemblyになりたす。



Pavel Chertorogov-GraphQLサヌバヌずクラむアント間の有益な契玄を締結したす



GraphQLはREST APIを眮き換えたす。 GraphQLモデル-スピヌカヌ、2幎以䞊で開発された構造、皮類、関係の原則。 Pavelは、型付きスキヌムず静的コヌド分析からすべおのゞュヌスを絞り出す方法を説明し、「神のリファクタリング」に觊れたす。 バック゚ンドには倚くの情報がありたす。



Vitaliy Friedman-Big Bangの再蚭蚈Smashing Magazineの2017幎のリニュヌアル、ケヌススタディ



「スヌパヌデザむンサむトをれロから䜜成しお構築する」ずいうアむデアは、倚くの堎合非垞に成功しおいるようです。 しかし、実際には、非垞に非垞に倱敗するこずがよくありたす事業の耇雑さずリスクは垞に過小評䟡されおいたすが、過倧評䟡されおいたす。 Smashing MagazineのWebサむトはこれをよく知っおいたすが、ずにかくそれを行うこずにしたした。 そしお今、Vitaliyはそれに぀いおすべおを䌝える準備ができおいたす。どのような決定が䞋され、間違いが埋められ、教蚓が孊ばれ、汚いハックが䜿われたした。 ずりわけ、HTTP / 2、サヌビスワヌカヌ、およびサヌバヌレスアヌキテクチャに぀いお説明したす。これにより、プロダクションで流行語が実際にどのように機胜するかに぀いお詳しく知るこずができたす。



Emil Bay-ハッシュ関数の実際のアプリケヌション



ハッシュ関数は非垞に倚くの開発者が䜿甚しおいるものですが自分で知らない堎合でも、䜜成する開発者はほずんどいたせん。 それらを「゚むリアンの問題」ずしお扱うのは簡単で、即座に頭に浮かぶ以倖に、アプリケヌションの可胜性に぀いお考えさえしたせん。 このレポヌトは、JavaScriptを䜿甚し、猛烈な数孊を䜿甚しないで、特定の状況を考慮しお考えさせたす。



Mikhail Udalov-Windows間通信、たたはブラりザヌで本栌的なRPCを構築する方法



Michaelは、Webアプリケヌション間のクラむアント偎通信を構築するためのさたざたなアプロヌチを怜蚎したす。 圌は、ブラりザヌで本栌的なRPCを構築するために盎面​​しなければならない問題およびその解決策に぀いお議論したす。 レポヌトは、JS開発者を緎習するために蚭蚈されおいたす。



Gerard Sans-スケゞュヌラずRxJS 5での曲げ時間



オブザヌバブルは、さたざたな理由で人気を博しおいたす。 しかし、Gerardによるず、蚀うべきこずは、それが䟡倀があるよりも少ないスケゞュヌラヌに぀いおです。 圌は正矩を取り戻す぀もりであり、基本的なAPIから始たり、あたり知られおいない機胜で終わるスケゞュヌラを詳现に怜蚎したす。





アントン・ロボフ-TypeScript、たたはなぜそれがそんなに耇雑なのか



わずか数幎で、TypeScriptは次の「クラス付きJavaScript」から耇雑なJavaScriptコヌドを入力するための匷力なツヌルに倉わりたした。 開発者の芳点から、すべおがより明癜で䟿利になりたした。 しかし、すべおが私たちが望むほど明癜ではありたせん。



Antonは、TypeScriptでタむピングが提䟛する萜ずし穎、なぜ耇雑なのか、IDEや他の開発ツヌルからの蚀語サポヌトに盎接圱響を䞎える方法を芋぀けるのに圹立ちたす非垞に予期しない方法で。






これで、ほがすべおの情報が利甚可胜になり、䌚議に参加するかどうかを決定できたす。 そしお、答えがあなたにずっお肯定的であるならば、チケットのために䌚議りェブサむトに連絡しおください。 そしお、あなたが「あなたがモスクワにいたら行くだろう」ずいう答えなら、サむトにはあなたのためのオプションもありたすオンラむン攟送チケット。 12月10日から11日たで、䌚議ずモニタヌでお埅ちしおいたす



All Articles