Texnik munozaralarda 2018 yilning eng yaxshisi

So'nggi ikki yil ichida men o'tgan yildagi eng sevimli texnik suhbatlarimning ro'yxatini nashr etaman (mana bu postning 2016 yilgi nashri va bu erda 2017 yilgi nashr).

Ushbu ro'yxat har tomonlama keng qamrovli emas va aminmanki, 2018 yildan beri ko'pgina texnik muzokaralar bor, men bundan keyingina bilib olaman. Ammo men qatnashgan yoki tomosha qilgan suhbatlar ichida bular eng yaxshilar edi (hech qanday tartibda).

  1. Mikroprosessorlarning kelajagi, Sofi Uilson

Asl ARM chipining taniqli kashshofi Sofi Uilson, Mur qonuni tugaydi degan fikrga ishonadi (keyinchalik bu lavozimda keltirilgan ba'zi boshqalar bilan birga). Bu JuliaConning mikroprosessorlar tarixi, evolyutsiyasi va kelajagiga oid ajoyib nutq edi.

Video

2. "Dovul" kapalagi: Bryan Cantrill patologik ishlaydigan tizimlarni tuzatish

O'tgan yilim ro'yxatiga kiritilgan ikkita muzokaralar Zebrasni pastga tushirish va nosozliklarni tuzatish edi: Tizimlar ongini yo'qotganda boshingizni ushlab turing. Bu xuddi shunga o'xshash nutq edi va biz kutgan jo'shqin va g'ayratli Kantrilian niqobi ostida nutq so'zladi. Dasturiy ta'minot mavhumliklar to'plami sifatida qurilgan bo'lib, unchalik katta bo'lmagan muammolar bir qavatda (kapalaklar) boshqasida (bo'ronda) tizimli patologik ko'rsatkichlarga aylanishi mumkin. Bunday bo'ronni hisobga olgan holda, kapalaklarni qanday topish mumkin?

Slaydlar video

3. Looplarni yopish va ochish: tizimlarni boshqarish qanday amalga oshiriladi, Katta va Kichkina, Colm MacCarthaigh

Ochig'ini aytsam, men AWS re: barcha ixtirolarni tomosha qilmaganman, lekin ixtiro qilganman, lekin tomosha qilganlarim bu mening eng sevimli suhbatim edi. Bu juda barqaror va ishonchli tizimlarni (masalan, boshqaruv samolyotlarini) qurish uchun ba'zi dizayn printsiplarini bayon qiladi.

  1. Bularning barchasi chexum
  2. Kriptografik autentifikatsiya
  3. Hujayralar, qobiqlar va "zaharni yo'q qilish moslamalari"
  4. Asenkron ulanish
  5. Yopiq geribildirim ko'chadan
  6. Kichik itarishlar va katta tortmalar (konfiguratsiya uchun)
  7. Sovuq boshlanishlar va sovuq keshlardan saqlaning
  8. Trottles
  9. Deltalar
  10. Modallik va doimiy ish

Ba'zi anti-naqshlar va asossiz dizaynlar, aslida, tizimlarning barqarorligini oshirishga qanday yordam berishi mumkinligini bilish juda qiziqarli bo'ldi. Ehtimol nutqning eng qiziq tomoni barqaror boshqaruv tizimlari "PID halqa" - mutanosib, integral, hosilaviy komponentlarni talab qiladi va tizimning dizayniga va nuqtai nazariga qarab, agar bularning biron birida nuqson bo'lsa, degan fikr edi. super kuch. Ushbu "PID halqa" haqida birinchi marta eshitishim; nutqda tarqatish tizimlari muhandisligiga boshqaruv nazariyasi printsiplari qanday qo'llanilishi to'g'risida ko'proq ma'lumot olish uchun tarqatilgan boshqaruv tizimlarini loyihalashtirish kitobi tavsiya etiladi.

AWS-da ierarxiyani yoki ustuvorliklarni o'rganish qiziq edi: xavfsizlik, chidamlilik, mavjudlik, tezlik.

Video slaydlar

4. Kompyuter arxitekturasi uchun oltin asr, Devid Patterson va Djon Xennessi

Bu mikroprosessorlarning tarixi va evolyutsiyasi, CISC-dan RISC mashinalariga Mur qonuni va Dennardning miqyosining oxirigacha o'tishi haqida ajoyib suhbat bo'ldi, bu o'z navbatida "domenga xos arxitektura" makonida rivojlanish uchun misli ko'rilmagan imkoniyatlarni taqdim etadi. "Domenning o'ziga xos arxitekturasi" ikkala dasturiy ta'minotni (masalan, TensorFlow uchun Swift kabi) dasturiy ta'minotni (TPU kabi mashina o'rganish uchun neyron tarmoq protsessorlari, NVIDIA ning GPU-dan FGPA-largacha) o'z ichiga oladi. Nutq RISC V ISA ning boshlanishi va o'sishi haqidagi hikoya bilan yakunlanadi.

Yozma maqolani videoni afzal ko'rganlar uchun ushbu oyning ACM aloqalarida ushbu mavzu bo'yicha Hennessy va Patterson (taniqli kompyuter arxitekturasi kitobi mualliflari) muallifi bor. Murning tranzistorlar to'g'risidagi qonuni tugagan bo'lishi mumkin, ammo so'nggi yillarda chop etilgan mashina darsliklari sonining ko'payishi Mur qonuniga asoslangan.

Video [Xennessi Stenfordda, ~ 1 soat]

Video [Patterson Facebook'dagi @Scale konferentsiyasida ~ 30 min.]

5. Xavfsiz mijozlar harakati, Ariel Goh

Bu taqsimlangan tizimlarning eski qo'llari uchun ravshan bo'lishi kerak, ammo shuni yana bir bor ta'kidlash kerakki, mijozlar taqsimlangan tizimning muhim qismi va shuning uchun barqarorlikni ta'minlash ishlarida ishtirok etishlari kerak. Bu SRECon Asia / Australia kompaniyasining butun tizimning chidamliligini oshirish bo'yicha eng yaxshi amaliyotlar haqida ajoyib suhbati. Taklif qilinayotgan usullar mijozlarning so'rovlarini zararsizlantirish va tasodifiylikni qo'shishni o'z ichiga oladi, shuning uchun barcha mijozlar so'ralganda tasodifiy sinxronlashishni tugatmasliklari, qayta urinmaslik kerak, jring qilish, eksponent ekspluatatsion (va shunga o'xshash gotchalar), "byudjetlarni qayta ko'rib chiqish" (xatolar byudjetlari kabi) ), boshqarishning bir qismini serverga o'tkazish va server va mijozlar o'rtasida aloqa aloqasini o'rnatish, mijozlarga moslashish va boshqa narsalar.

Video

6. Qanday qilib xizmat qilish va himoya qilish (mijozning izolyatsiyasi bilan), Frensis Jonson

Bu SRECon Asia / Australia-ning Google Xaritalar kabi xizmatni (ichki va tashqi mijozlarning ko'pligi bilan) haddan tashqari yuklanishdan himoya qilish haqidagi yana bir ajoyib suhbati. Gap shundaki, tizimning haddan tashqari yuklanishi (va tizimning haddan tashqari yuklanishidan bexabar bo'lgan xizmat ko'rsatuvchi xodimlarning muammolari), kaskadli ishlamay qolish, statik kvotalarning zararli oqibatlari, suyakning turli qatlamlarida degradatsiyaga qarshi oqilona texnikani joriy etishning ijobiy va salbiy tomonlari haqida gap boradi. chekka, old tomon, orqa tomon).

Video

7. Amaliy ishlash nazariyasi, Kavya Joshi

Bu har doimgidek QCon Londondan Kavya tomonidan ishlash vaqtini qisqartirmasdan qanday qo'shimcha yuklarni tizim qo'llab-quvvatlashi va tizimning ishlatilishidagi muammolarni qanday aniqlash mumkinligi kabi savollarga javob bera olish uchun ishlashni modellashtirish usullaridan foydalanish bo'yicha ajoyib nutq. Dastlab nutq bizni "ochiq tizimlar" da ishlashni qanday tahlil qilishni va "yopiq tizimlar" misolini qanday tahlil qilishni va ikkalasi har xil taxminlarga bog'liqligini va tahlil qilish uchun turli xil texnikalarni talab qilishni namoyish etish uchun veb-serverning odatiy misolidan o'tadi.

Slaydlar video

8. Amazon Aurora: Yuqori o'tkazuvchan bulutli mahalliy relatsion ma'lumotlar bazasini yaratish uchun mulohazalar, Sailesh Krishnamurthy

Bu Facebook-ning @Scale konferentsiyasida Amazon Aurora-ning ko'plab mashhur AWS ma'lumotlar bazasini taqdim etuvchi omborni qo'llab-quvvatlovchi ba'zi dizayn qarorlari va savdolar haqidagi mutlaqo dadil gap edi. Aurora ma'lumotlar bazasi har bir nusxasida 64TB gacha avtomatik ravishda o'lchanadi va yuqori unumdorlik va 15 tagacha past kechiktirilgan o'qish replikalari, vaqtning o'zida tiklash, S3-ga doimiy zaxira va uchta mavjudlik zonalarida replikatsiya bilan ta'minlanadi.

Amazon tomonidan Aurora-da chop etilgan ikkita [1] [2] oq qog'oz qo'shilgan. Gap ikkinchi qog'ozdagi ko'p fikrlarga, xususan taqsimlangan konsensus natijani buzishi va mahalliy davlat aslida yaxshi narsa bo'lishi mumkinligiga ishora qiladi. Haqiqat manbai sifatida o'zgarmas jurnaldan foydalangan holda, Aurora a'zolarni o'zgartirish bo'yicha taqsimlangan konsensusdan qochadi, ba'zi bir "muvofiqlik asoslarini" ishlatib, epoxalarni yozuv kvorumining shakli sifatida qo'riqchilar sifatida ishlatadi va kvorumni o'qishdan butunlay qochadi. Tranzaktsion tizimlar orqaga qaytadigan narsa yaratadigan va Google nima uchun iloji boricha kuchli izchillikni tanlashimiz kerakligi haqida va'z qilayotgan davrda qiziqarli.

Video

9. FoundationDB saqlash qatlamining kelajagi, Stiv Aterton

Bu FoundationDB sammitida FoundationDB saqlash qatlamining kelajagi haqida hayajonli suhbat bo'ldi. FoundationDB bu taqsimlangan, buyurtma qilingan kalitlar qiymati ombori, ammo saqlash qatlami o'zi taqsimlanmagan va bitta jarayon orqali bitta jarayon orqali kirish mumkin. Gap yangi saqlash dvigatelining talablari, talablarsiz (parallel yozuvchilar, kam kutish vaqti), keyin bir nechta ma'lumotlar tuzilmalarining ijobiy tomonlari va kamchiliklarini (B + daraxtlari, LSM daraxtlari) va Redwood-ni tanlashning sabablarini ko'rib chiqadi. B + daraxt.

Video

Hujjatlar qatlamida bo'lib o'tgan yana bir ajoyib suhbat - Fond Forumning sammiti, videoni mana bu erda topish mumkin.

10. Avtonom sinov va dasturiy ta'minotni ishlab chiqish kelajagi, Uilson

Birinchidan, Villi, ehtimol, men ko'rgan eng yaxshi ma'ruzachilardan biri bo'lishi mumkin (Strangeloop 2014-dan Testing Distribution Systems-ni Deterministik Simulyatsiya bo'yicha oldingi suhbati mening eng yaxshi ko'rganlarimdan biri).

Bu FundDB ning ochilish marosimidagi ajoyib nutq bo'lib, u testni o'tkazishda AIga asoslangan yondashuvni juda yaxshi asoslantiradi. Nutqda sinovning uchta asosiy muammosi aniqlanadi: mo'rtlik (sizning sinovingiz tasodifiy bo'lgan sizning tizimingiz xususiyatlariga ishonish uchun keladi - bu siz sinab ko'rgan deb hisoblaganingiz emas), to'liq va ravshan emasligi.

Gap shundaki, sinovlar regressiyani qaytarish uchun juda yaxshi, ammo noma'lum noma'lumlarni aniqlash uchun mutlaqo foydasiz. Gap yuqorida aytilgan barcha muammolarni alomatlar deb bilish haqida bormoqda, bunda test sinovlari hali ham qo'lda ekanligi aytiladi. Hatto "avtomatlashtirilgan sinov" faqat Jenkins tomonidan odamlar tomonidan yaratilgan sinov to'plamini ishlatishni o'z ichiga oladi. Keyin nutq avtonom testlar orzularini, sinovlarni avtomatlashtirilgan ravishda bajarishdan tashqari, testlarni avtomatlashtirilgan yaratish zarurati sifatida tushadi.

Video

11. TLA + yordamida tarqatilgan tizimlarni loyihalash, Hillel Ueyn

Bu taqsimlangan tizimlarni loyihalash uchun rasmiy spetsifikatsiyadan foydalanish to'g'risida CodeMesh-dan ajoyib tarzda ochiq suhbat bo'ldi. Buni TLA + uchun muloyim kirish deb o'ylang. Kotirovkalar narxi quyidagilarni o'z ichiga oladi:

Tizimga etarlicha vaqt bering va u hamma narsani qiladi, shu jumladan muvaffaqiyatsiz.
Kod dizayn emas. Kod sizning tizimingiz qanday ishlashini ko'rsatmaydi. Bu faqat sizning amalga oshirishingiz; sizning dizayningiz bo'lishi kerak emas, bu sizning dizayningiz bo'lishi mumkin emas. Agar siz tizimni loyihalash va kodni faqat tizim bilan tushunish mumkin deb o'ylasangiz, menda sizni sotish uchun ko'prik bor va men uni bir vaqtning o'zida ikki marta sotaman.

Video

12. Xatolarimiz: Google-dagi mikroservislarning paydo bo'lishidan saboqlar, Ben Sigelman

Bu Google-da tarqalgan hisob-kitoblarning asosiy yo'nalishi haqida shov-shuvli nutq bo'lib, Google bugungi kunda "mikroservis" deb nom olgan narsalar bilan juda o'xshash bo'lgan amaliyotlarga murojaat qildi. Gap shundaki, kengroq sanoat aslida Google buni qanday qilganidan (masalan, xizmat ko'rsatish tarmog'idan) yaxshiroq, qaerda va nima uchun Google texnologik tanlovlari va amaliyotlarini taqlid qilish biz uchun yaxshi ishlamasligi va nima uchun bu juda muhim ekanligi ta'kidlanadi. Arxitektura paradigma du jurnalini (masalan "serversiz") qabul qilishdan oldin ba'zi savollarga javob bera olish.

Video slaydlar

13. Laura Nolan, Filipp Tischler, Salim Virji, loglarni qayta ishlash bo'yicha tarqatilgan tarqatish ustaxonasi.

Bu keng miqyosda taqsimlangan tizimni arxitekturalashning amaliy jihatlari haqida mutlaqo aqlga sig'maydigan so'zlar, jumladan, har qanday qarorni asoslash uchun masshtabga yaqinlashish, turli xil eksa bo'ylab savdoni qanday baholash va konvertning hisob-kitoblari minglab.

Google-ning SRE ish daftarida (Internetda bepul mavjud) ushbu mavzuga bag'ishlangan mavhum bo'lmagan katta tizimlar dizayni deb nomlangan butun bo'lim mavjud va men u butun Google SRE intervyu doirasidagi hal qiluvchi intervyu bo'lganini eshitdim, chunki u aynan u. Statistik ma'lumotlarga ko'ra, nomzodlarni ro'yxatga olish va intervyu olish bilan suhbatlashgandan so'ng nomzodlar soni ko'payadi. Shaxsan menimcha, bu nafaqat SREs-ga tegishli, balki tarqatilgan tizimlarni qurishda va ishlatishda hamma uchun o'qish kerak.

Afsuski, men bu uchun video topa olmadim.

Slaydlar

14. Hyper Scale, Alan Halachmi va Colm MacCarthaigh-da yuklarni muvozanatlash

Bu Facebook-ning Networking @Scale konferentsiyasida AWS-da yuklarni muvozanatlash evolyutsiyasi haqida juda qiziqarli nutq. Bu HyperPlane-ga, AWS-ning S3 Load Balanceer, VPC NAT Gateway va PrivateLink va boshqalarga asoslanadi. Menga, ayniqsa tizimni yaratishda u hatto katta zarbalarga bardoshli bo'lishi kerakligi haqida taklif qilinadigan SHOK printsipini (O'zini davolash yoki doimiy ish) o'rganish juda yoqdi. Yoki boshqacha qilib aytganda, "agar biron bir katta o'zgarish bo'lsa, tizim odatdagidek ishlashi kerak". Nutqda quyidagilar taklif qilinadi:

1. Doimiy harakatlar va muvaffaqiyatsizlikdan xalos bo'lish tabiiy holatlardir
2. Har doim ta'mirlash rejimida ishlating. Tugun ishlamay qolsa, Hyperplane aslida kamroq ishlaydi!
3. Katta o'lchamli tizimlarni loyihalashda biz ularning murakkab bo'lishini xohlamaymiz. Biz ularni iloji boricha sodda bo'lishini xohlaymiz. Shu maqsadda biz iloji boricha kamroq ishlash rejimlarini xohlaymiz (masalan, Hyperplane qayta urinish rejimiga ega emas. TCP ning qayta urinish mexanizmiga asoslangan). Turli xil ish rejimlarida qoplash natijasida kombinatorial portlash yuzaga keladi, natijada tizimni sinab ko'rish juda qiyin. Biz izchil va har doim biz kutganimiz kabi ishlaydigan tizimni xohlaymiz.
4. Gap shundaki, hozirgi vaqtda ko'plab AWS xizmatlarida keng qo'llaniladigan DDoS yumshatish usuli (izolyatsiya asosiy yumshatish usuli).

Video

15. Konteynerlarsiz izolyatsiya, Tayler MakMullen

Do'stlarimga "hisoblash spektri" deb nomlagan narsalarim - VM, mikroVMlar, joylashtirilgan VMlar, konteynerlar (va "Kata konteynerlari singari" qumli idishlar "lazzatlari) va" serversiz "(yoki funktsiyalar) xizmat sifatida). Men ushbu takliflarni "izolyatsiya spektri" ga juda qiziqaman - jarayonlar sathidan qattiq izolyatsiyalashdan V8 kabi qum qutisi orqali izolyatsiyaga qadar. So'nggi yillarda FirVracker-ga gVisor (foydalanuvchi maydonidagi Linux yadrosi API to'plamini amalga oshiruvchi gipervisor) kabi virtualizatsiya makonida bir nechta texnologiyalar paydo bo'ldi - mikro-VMlarda engil va serversiz ishlaydigan yuklarni boshqarish uchun yaratilgan virtual mashina monitor. , o'zi krosvm ustiga o'rnatilgan (Chrome OS Virtual Machine Monitor). Ushbu fazodagi eng ajoyib ishlanmalardan biri bu WebAssembly. Dastlab milliy kodni brauzerlarda ishlash uchun maqsad sifatida ishlab chiqilgan WASM endi CDN provayderlari tomonidan o'zboshimchalik bilan kodni biron bir jarayonga asoslangan izolyatsiyasiz ishlatish uchun foydalanmoqda. Hali ham hakamlar hay'ati ushbu izolyatsiya shakli chinakamiga o'tib ketadimi yoki yo'qmi, deb o'ylayotgan bo'lsam-da, WASMning o'ziga xos xususiyatlarini ochib beradigan ushbu mavzu bo'yicha Strangeloopning qiziqarli nutqi bo'ldi.

Video

16. C ++ nosozliklarni tuzuvchilar qanday ishlaydi, Simon Brand

Sarlavha juda tushunarli. Muzokaralar hamma narsani tushuntiradi ELF ikkiliklari, DRAWF belgilari, o'tish nuqtalari qanday ishlash mexanikasi, kod orqali qadam qo'yish nimani anglatadi, tuzatuvchida ko'p oqimli dasturlar bilan ishlash va boshqa ko'p narsalar. Bu shubhasiz bu ajoyib muzokaralar ro'yxatidagi eng yaxshi uchta muzokaralardan biri.

Video

17. Dasturiy ta'minotni yaratish falsafasi, Jon Ousterxout

"Dasturiy ta'minotni loyihalash falsafasi" kitobi 2018 yilda o'qigan eng yaxshi texnik kitobim bo'lib chiqdi. Kitobning har bir bobida oltin og'irligi bor, ammo chuqur modullar bobi, ehtimol men eng ko'p keltirgan kitobdir. Nutq kitobda kiritilgan ba'zi asosiy g'oyalar va qizil bayroqlar haqida gapiradi, lekin agar siz bo'lganingizda edi, men kitobni shunchaki sotib olgan bo'lardim.

Video kitob

18. Clangd: kengaytiriladigan C ++ til serverining arxitekturasi, Ilya Biryukov

So'nggi yillarda Microsoft tomonidan amalga oshirilgan eng qiziqarli ishlardan biri Til Server Protokoli bo'ldi. Clangd kompilyatorining 5.0 versiyasi Clangd, Til Server Protokoli uchun LLVM dasturini taqdim etdi. Clangd bu C / C ++ manba muharriri kabi mijozlar uchun kodni to'ldirish, fix-it, goto-ta'rifi, nomini o'zgartirish kabi xususiyatlarni ta'minlash uchun Til Server Protokolining amalga oshirilishidir. Bu CPPCon-dan yaxshi nutq bo'ldi, u libklangning ba'zi cheklashlari haqida gapirdi va Clangd rivojlanishining sabablarini va uning umumiy arxitekturasini tushuntirdi.

19. LLVM-dagi koroutin vakolatxonalari va ABI, Jon Makkall

LLVM-dagi krointinlar birinchi bo'lib Microsoft-ning Gor Nishanov tomonidan qo'shilgan va C ++ koroutinlari TS ehtiyojlari atrofida yaratilgan. Bu LLVM Dasturchilarining yig'ilishidagi ba'zi bir ijobiy va salbiy tomonlarga, masalan, urug 'nazorati (kontekstni almashtirish, koreyalik bo'linish va hosilni qayta tiklash funktsiyalari), mahalliy shtatni saqlashga qadar bo'lgan (notekis korruines). , ma'lumotlarni tarqatish uchun yonma-yon joylashish, birgalikda yashash), shuningdek generatorlar singari kordoutinlar tomonidan quvvatlanadigan til xususiyatlari uchun kod yaratish muammolari. Keyin nutq Swift dasturlash tili uchun "qaytarilgan davom etish lazzati" deb nomlangan boshqa turdagi tushirishning ba'zi tafsilotlari haqida gapiradi, bu erda ba'zi optimallashtirishlar to'g'ridan-to'g'ri LLVM darajasida emas, balki Swift-ning SIL qatlamida amalga oshiriladi.

Video

PS: LLVM Tuzuvchilar yig'ilishidagi barcha suhbatlar chuqur ma'noga ega. Men bu bitta suhbatni ko'rdim, lekin men ularni tomosha qilishim bilanoq, boshqalarga ham mamnuniyat bilan maslahat beraman.

20. LLVM / Clang, Nikolay Igotti bilan Kotlin / Native infratuzilmani rivojlantirish

Kotlin Native so'nggi yillarda juda qiziqarli rivojlanishdir, bu Kotlin kodini platforma ikkiliklariga (ELF, Mach-O, WASM va hk) tuzish imkonini beradi, shuning uchun uni JVM-da ishlash imkoniyatiga qo'shimcha ravishda mahalliy ravishda ishga tushirish mumkin. Bu Yevropa LLVM Dasturchilarining Kotlin / Native mexanikasi to'g'risida, shu jumladan JVM tashqarisidagi xotira boshqaruvini amalga oshirish, istisnolar bilan ishlash va WASM-ga (ba'zi ish vaqti yo'q, xotira taqsimlagichi bo'lmagan) ba'zi qiyinchiliklar haqida juda yaxshi nutq bo'ldi. istisnolar yo'q va hokazo), shuningdek, LLVM bilan bog'liq ba'zi umumiy muammolar (sekin kodlash va ulanish, ommaviy LLDB plaginlari API va boshqalar).

Slaydlar video

21. Fresh Async Kotlin bilan, Roman Elizarov

Asenkron dasturlash spektri keng va xilma-xildir. Bu Goto Kopengagenning asinxron dasturlashning ba'zi paradigmalarini, xususan, "Fyuchers" bilan aloqaga asoslangan yondashuvning asosini tashkil etuvchi muammolar haqida ajoyib nutq edi. Keyinchalik Kotlin davlat mashinasini qurish uchun uzatmalar va to'xtatib turish nuqtalaridan foydalangan holda kaput ostida foydalanuvchiga sinxron interfeysni taqdim etish orqali (masalan, ibtidoiy ibtidoiy) Kotout bu muammoni qanday hal qilish haqida gap boradi. Kotlinning yondashuvi va async / kutishning C # yondoshuvi o'rtasidagi o'zaro taqqoslash nutqning eng jozibali qismi bo'lib, Kotlin dizaynerlik tanlovi bo'yicha kelishuv qiyin va ergo aniq bo'lishi kerakligi bilan bog'liq edi. Nutq, hatto CSP-esque naqshlarini Kotlinning kokantin primitivlari yordamida qanday amalga oshirish mumkinligi bilan yakunlanadi.

Video

22. Kotlin mahalliy tug'ma kelishuv modeli, Nikolay Igotti

Kotlin til darajasida mos keladigan iboralar mavjud emas. Yuqorida aytilganidek, Kotlin koroutinlari bu QVMga yo'naltirilgan kutubxona asosidagi qurilishdir. Kotlin / Native JVM uslubidagi umumiy ob'ektni yig'ish va blokirovka qilish, ob'ektning bitta ijro etuvchi kontekstga tegishli ekanligini yoki o'zgarmas ekanligini (inv. XOR mutable) almashinadi. KotlinKonfning "tashqi ob'yekt subgraflari" bilan bunga qanday erishish mumkinligi haqida ajoyib nutq bo'ldi.

Bundan tashqari, Kotlin til sifatida tip tizimiga kiritilgan o'zgaruvchanlikka ega emas. O'zgarmaslikka muzlatish kontseptsiyasi orqali erishiladi, bu esa ma'lum ob'ektdan o'tish mumkin bo'lgan barcha ob'ektlarni o'zgaruvchan qilib qo'yadi. Bundan tashqari, Kotlin / Native shuningdek, ob'ektlarga egalik huquqini ijro etuvchi kontekst bo'yicha o'tkazishga imkon beradi. Nutqda Kotlin / Native tomonidan taqdim etiladigan "xavfsiz ob'ektlar jadvallari", atomlar va aktyorlik uslubidagi "ishchilar" kabi asosiy xavfsiz kelishuv ibtidolari, Kotlin / Native-da xotirani boshqarish asosida ma'lumotlarning hisob-kitobi qanday ishlashi, shuningdek, u boshqa interfeys bilan qanday ishlashi haqida so'z boradi. ish vaqti.

Slaydlar video

23. Rust, Bryan Cantrill-da operatsion tizimni yozish vaqti keldi

Ko'pincha men kimdir yoki boshqa kreslo stuliga duch kelaman, bu Rust - bu "yadroni yozish uchun mo'ljallangan til".

Xo'sh, shundaymi?

Ushbu birinchi darajali mutaxassisning Rust nima uchun yozuv tizimlari dasturiy ta'minotiga juda mos kelishini va shuningdek, Rustda butun yadroni yozishning ba'zi qiyinchiliklari haqidagi ajoyib nutq. Agar siz hisoblash tarixiga oid yozuvlar va haqiqatan ham yaxshi ma'lumotga asoslangan va aqlli fikrlar bilan qo'llab-quvvatlanadigan noyob issiq brendlarni yoqtirsangiz, bu siz uchun gap bo'lishi mumkin.

Slaydlar video

24. Siz "ip bilan xavfsiz" degani nimani anglatadi?, Djefri Romer

Bu CPPCon-dan ajoyib nutq bo'lib, u tez-tez noto'g'ri mavhumlik darajasida ishlaydigan "ma'lumotlar xavfsizligi" yoki "ma'lumotlar poygasi" va "irqning holati" kabi atamalarni ajratib olishga qaratilgan. Nutqda "API irqi" tushunchasi va "API poygasi" atrofida qurilishi mumkin bo'lgan invariantlardan foydalaniladi, undan so'ng C ++ kutubxonasi va dastur mualliflari uchun tavsiyalar beriladi.

Video

25. Tez xavfsiz almashinadigan holat, Ben Koen

Mutatsion holat haqida gap ketganda, bu o'zgaruvchan o'zgaruvchan holat ekanligini esdan chiqarmaslik kerak. Funktsional Swift konferentsiyasida mahalliy mutable holatini qachon va qanday foydalanish xavfsizligi yoki ishlashiga zarar bermasdan ishlatish haqida ajoyib nutq bo'ldi. Nutq Swift-da ba'zi til xususiyatlarini o'rganib chiqadi, bu esa mutatsiyaga uchragan funktsiyalarda mumkin bo'lgan ba'zi bir xatolarning oldini olish orqali unga ma'lum bir funktsional lazzat beradi.

Video

26. Xatolar bilan shug'ullanishning dozalari va donlari, Jo Armstrong

Ushbu suhbatni GOTO Kopengagendagi jonli efirda tomosha qilish menga juda yoqdi. Ushbu suhbatning asosiy jihati shundaki, bitta mashinadan foydalanib xatolarga chidamlilikka erishish mumkin emas; xabarni etkazish muqarrar bo'ladi. Xatolarga bardoshli taqsimlangan tizimlarni qurish xatolarni aniqlash va ularga amal qilish uchun pastga tushadi. Xatolar bilan ishlash falsafasi eng ehtiyotkorlik bilan hisoblanadi, bu dasturni tuzish vaqtida to'g'ri isbotlanishi mumkin va dasturiy ta'minot haqiqatdan ham noto'g'ri va ish vaqtida ishdan chiqishi kutilmoqda. Kichkina narsalarning katta yig'ilishlari to'g'riligini isbotlab bo'lmaydi; Shunday qilib, «xato yadrosi» ni, ya'ni to'g'ri bo'lishi kerak bo'lgan tizimning quyi qismini belgilash juda muhimdir. Agar dasturchi sifatida nima qilishni bilmasangiz, avariya qiling. Keyin dasturiy ta'minotingiz soddalashadi.

Sizni Erlang dasturlash tilining mavjudligi uchun 45 daqiqali tushuntirish sifatida o'ylashingiz uchun kechirasiz.

Video

27. SIFAT: Internet uchun TCP almashtirishni ishlab chiqish va qo'llash, Yan Svett va Jana Iyengar

Bu NetDev-dan ajoyib nutq bo'lib, unda Google-da ishlab chiqilgan QUIC protokoli, dizayn qarorlari (nima uchun uni UDP-ning ustiga qo'yish, yo'qotishlarni tiklash, tiqilib qolishning moslashuvchanligi) va evolyutsiya hamda Linux-da QUIC miqyosini ko'paytiradigan ko'p sonli sarguzashtlar haqida so'z boradi. .

Slaydlar video

28. Network.framshunoslik bilan tanishtirish: Soketlarga zamonaviy alternativa, Josh Graessli, Tommi Pauli, Erik Kinnear

Ulanishni o'rnatish yoki ma'lumotlar uzatish (hatto blokirovka qilinmagan rozetkalarda ham) yoki harakatchanlik haqida gap ketganda, rozetkalarni ishlatish qiyin bo'lishi mumkin.

Network.framework - bu Apple platformasidagi rozetkalarga alternativa bo'lgan zamonaviy transport API. Bu WWDC 2018-dan ajoyib ulanish edi, u dastlabki ulanish anatomiyasi orqali ulanishning hayotiy tsikliga, turli bosqichlarda qilingan ko'p sonli optimallashtirishga o'tdi. Shuningdek, ushbu ro'yxatda taqdim etilgan eng yaxshi nutq.

Video

29. Kubernetes va serversiz yo'l, Kelsey Xaytower

Kelsey Xaytayuerning nutqi.

Yana aytishim kerakmi? Menimcha, yo'q.

Video

30. O'yinni rivojlantirish uchun zangdan foydalanish, Ketrin Uest

Nutq "bu eng zerikarli suhbat ..." deb boshlanadi.

Bunday emas.

Aslida ushbu ro'yxatdagi eng yaxshi nutq bo'lishi mumkin.

Video