Skip to content

Instantly share code, notes, and snippets.

@mantasmarcinkus
Created October 7, 2020 04:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mantasmarcinkus/6e78ab2ffac12af86f07a16ffa24b1e1 to your computer and use it in GitHub Desktop.
Save mantasmarcinkus/6e78ab2ffac12af86f07a16ffa24b1e1 to your computer and use it in GitHub Desktop.
2020_Rugsejis
https://github.com/dwmkerr/hacker-laws#kernighans-law
DK - Kernighan's Law
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."
Iš esmės skatina, rašyti kuo paprastesnį kodą, o nesistengti over-engineerinti, kas yra labai smagu,
bet vėliau gali atsirūgti :)
MM - Ruby 3.0.0 Preview 1
- Ractor - paraleliai leidžiamos funkcijos nesirūpinant thread safety.
- Schedular - lengva concurrency versija, kuri neverčia stipriai keisti kodo.
- RBS - naujas būdas aprašyti programos tipus ir interfeisus.
https://www.ruby-lang.org/en/news/2020/09/25/ruby-3-0-0-preview1-released/?hn=t
MM - Nauja vue.js trečioji versija https://github.com/vuejs/vue-next/releases/tag/v3.0.0
MM - Moment.js nebebus plėtojamas. Tai biblioteka kuri leisdavo dirbti su laiko formatavimu. Dabar net patys kūrėjai rekomenduoja naudoti - Luxon arba Day.js https://momentjs.com/docs/#/-project-status/
DK - .net 5 and ef core 5 RC1 released
tai pirmasis iš dviejų release kandidatų prieš tikrąjį release Lapkričio mėnesį.
Svarbu, kad nuo šių versijų jau yra pilnas microsoft support'as, jeigu turit aplikacijas PROD aplinkoje,
ir jie skatina išbandyti šią versiją ir siųsti savo feedbacką.
https://devblogs.microsoft.com/dotnet/announcing-net-5-0-rc-1/
https://devblogs.microsoft.com/dotnet/announcing-entity-framework-core-efcore-5-0-rc1/
DK - taip pat straipsnyje autorius apžvelgia ir c# 9.0 naują feature - tipą Record.
Record tai mažas duomenų tipas, panašus į Tuple, kuris yra imutable.
Taip pat įdomu paminėti, kad properčiuose atsiranda naujas keyword - init.
Init rašomas vietoj set, jeigu norima leisti priskirti properčio reikšmę tik objekto kūrimo metu. Kind of cool :)
Init panašus į private set, bet jis generuos compiler errorus, jeigu netyčia bus bandoma pakeisti properčio reikšmę,
o private set ne - todėl tai visai naudinga, jeigu yra siekiama turėti tik objekto kūrimo metu priskiriamą property.
Kuo record skiriasi nuo klasės?
What's different?
Record equality is based on content. Class equality based on object identity.
Records provide a GetHashCode() implementation that is based on record content.
Records provide an IEquatable<T> implementation. It uses the unique GetHashCode() behavior as the mechanism to provide the content-based equality semantic for records.
Record ToString() is overridden to print record content.
Sintaksė taip pat skirtinga nei klasės, ir yra įdomių inicializavimo atvejų, todėl kviečiu paskaityti straipsnį,
tam kad pamatyti sintaksę :)
Record tipas taip pat palaiko inheritance, todėl gali būti patogu juos naudoti.
Jeigu norime mutuoti record tipo kintamąjį, tai to padaryti negalima, nes jis yra immutable,
bet galima panaudoti keyword with, ir tokiu būdu kopijuoti esamas record reikšmes į naują record,
ir pasirenkant properčius kuriuos norime pakeisti. Atrodo patogu.
Taip pat autorius aprašo System.Text.Json serializerį ir jo improvementus, bet būtent apie jį jau esame kalbėję,
tai labai nesiplečiant galima pasakyti, jog MS komanda stengiasi dirbti prie jo, ir pvz jau galima serializuoti
Dictionary su non string raktu - ko anksčiau buvo negalima, ir reikėjo rašyti custom taisykles patiems.
Ar tai yra serializeris kurį jūs jau turėtumėt naudoti - spręsti kol kas jums :)
Ef Core 5 taip pat pristato daug naujų feature, tarp jų ir implicit many to many relations,
event counters (kur gali pateikti statistiką, kiek querių yra executinima, kiek yra aktyvių duomenų
bazės kontekstų and so on) kas galėtų būti naudinga monitoringui, property bags (entity kuris yra saugomas kaip dictionary), saveChanges interceptoriai and many more :)
https://devblogs.microsoft.com/dotnet/the-future-of-net-standard/
DK - Atsiradus .net 5, nebėra prasmės turėti .net standartą?
Taip, jo naujos versijos ir nebebus, bet naujausia 2.1 niekur nedings, ir bus .net 5 ją palaikys, kaip ir vėlesnės
.net versijos, bet nuo šiol, .net 5, vėliau 6 bus tas .net standartas, kuris veiks visose aplinkose.
Bus ir specifinės versijos, kaip kad .net 6-ios, arba .net-android kurios turės subsetą kažkokių features iš pilno frameworko.
Bet pavyzdžiui, norint gauti naujausią c# kalbos versiją reikės naudoti .net 5 :)
.net 5 trimming - gali būti customizable, tam kad išvengti reikalingų assemblių išėmimo
https://devblogs.microsoft.com/dotnet/customizing-trimming-in-net-core-5/
DK - su VS 16.8 Preview 2 galima savo sukurtus template'us matyti ir naujo projekto kūrimo dialogo lange,
o ne tik per CLI.
"To enable this option visit the Preview Features options in the Tools…Options menu and look for the "Show all .NET Core templates in the New Project dialog" (we're awesome at naming) checkbox and check it:
"
https://devblogs.microsoft.com/dotnet/net-cli-templates-in-visual-studio/
https://devblogs.microsoft.com/dotnet/debug-your-net-core-apps-in-wsl-2-with-visual-studio/
DK - Windows Subsystem for Linux (WSL2) yra geras būdas patestuoti savo kuriamą aplikaciją būtent tokioje
aplinkoje, kurioje ji ir vėliau veiks PROD'e, ir Nathan Carlson sukūrė extensioną, kuris leidžia pasileisti
kuriamą aplikaciją debug režime ant linuxų, nors dirbam ant windows.
Tam būtina parsisiųsti WSL 2 ir linuxų distributioną, kuriame norit debuginti, ir žinoma patį extensioną,
pavadinimu .net Core debuggining with WSL 2 - Preview (https://marketplace.visualstudio.com/items?itemName=ms-azuretools.Dot-Net-Core-Debugging-With-Wsl2)
https://devblogs.microsoft.com/visualstudio/visual-studio-codespaces-is-consolidating-into-github-codespaces/
https://devblogs.microsoft.com/dotnet/using-github-codespaces-with-net-core/
DK - Visual Studio Codespaces jungiasi prie Github Codespaces ir gerina .net palaikymą,
nors jis vis dar gan mažas, bet visus kviečia išbandyti.
Tiems kas nežino kas yra CodeSpaces - tai integruotas IDE į Github, arba tiesiog cloud
resursai tavo visual studio ar visual studio code, kurie padės greičiau runninti aplikaciją, ir
nebereikia turėti galingo kompiuterio pačiam :)
https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-4-release/
DK - Windows terminal preview 1.4
Pridėtas linkų supportas atvaizduojamame tekste (ctrl + mouse click), blink grafikos supportas ir bug fixai :)
https://devblogs.microsoft.com/commandline/windows-package-manager-preview-v0-2-2521/
DK - Windows Package Manager Preview (v0.2.2521)
per šešis mėnesius, nuo pirmo preview paskelbimo, jau atsirado 6000 packages kuriuos galima parsisiųsti
naudojant package managerį, ir visa tai - community dėka.
Pridėti nauji features - microsoft store supportas (galima instaliuoti programas iš ten naudojant package managerį),
taip pat feature toggle, kad būtų galima enablinti eksperimentinius features, ir powershell autocomplete (pretty good).
https://devblogs.microsoft.com/aspnet/blazor-aspnet-webforms-ebook/
nemokama knyga: Blazor for ASP.NET Web Forms Developers
MM - Wikipedia keičia dizainą logotipo peržiūra, šoninio meniu pasikeitima, turinio, kaip funkcijos pokyčiai. Planas visus pokyčius įgyvendinti per 2021 metus.
https://diff.wikimedia.org/2020/09/23/wikipedia-is-getting-a-new-look-for-the-first-time-in-10-years-heres-why/
MM - Github CLI (command line interface). Įrankis dirbti su Githubu tik iš komandinės eilutės. Peržiūrėti issues, sukurti PR. Pasižiūrėti ar visi checkai padaryti ir sumerginti PR. Sukurti savo alias ir daug kitų funkcijų.
https://github.blog/2020-09-17-github-cli-1-0-is-now-available/
MM - Github taip pat padarė savo saugumo spragų skenerio kodą atvirai prieinamą. https://www.computerweekly.com/news/252489880/GitHub-makes-code-vulnerability-scanning-feature-public
MM - Kaip vienas Youtuberis sugadino Hactoberfest. Organizuojamas DigitalOcean, kad paremti Atviro kodo repozitorijas. Kad gautum nemokamus marškinėlius - užtenka sumerginti PR į bet kurią atviro kodo repozitoriją. CodeWithHarry.
Github net paleido feature'ą, kad sumažintų kiekį interakcijų su repozitorija. O tada DigitalOcean paskelbė, jog Hacktoberfest dalyvauja tik tos repozitorijos, kurios pačios nori prisidėti.
https://joel.net/how-one-guy-ruined-hacktoberfest2020-drama
MM - Microsoft iškėlė prieš du metus į vandenį nuleistą duomenų centrą. Cilindo formos su 855 serveriais. Tik 8 iš jų sugedo per du metus. Ir tai aštuntadaliu geriau nei ant žemės įkurtuose duomenų centruose.
https://www.bbc.co.uk/news/technology-54146718
MM - Microsoft nusipirko Zenitech ir jos sudėtija esantį Bethesda. Pirkimas kainavo 7.5mlrd https://bethesda.net/en/article/1iLtcvwY6Nb1GeKADyDUEX/why-microsoft-is-the-perfect-fit
MM - Sukurta koalicija App fairness - paskaičiavo kiek apple uždirba ir kiek pinigų pasiima. 30 proc nuo pardavimų. Prisijungusios kompanijos - Spotify, Tile, Deezer, match Group (tinder), Epic games.
https://appfairness.org/
MM - Tuo tarpu Google nuo kitų metų pradės versti aplikacija mokėti 30proc nuo pirkimų. Tačiau leis parsisiųsti kitas aplikacijų parduotuves. https://www.cnbc.com/2020/09/28/google-to-enforce-30percent-cut-on-in-app-purchases-next-year.html
MM - Taip pat, Facebook viešai prieštarauja monopoliui kurį sukūrė Apple su savo žinučių sistemą ir prašo, kad vartotojai galėtų rinktis ką naudoti. https://www.theinformation.com/articles/facebook-opens-new-fight-with-apple-over-messaging
MM - Bei Facebook sujunginėja savo žinučių platformas Messenger, Instagram, Whatsapp į vieną platformą https://thenextweb.com/syndication/2020/10/02/facebook-merging-messenger-and-instagram-chat-only-benefits-zuckerberg-not-you/
MM - Microsoft pasitraukė iš Tiktok pirkimo, Oracle laimi šią kovą ir turėtų įkurti savo Būstinę US, kas garantuos 20tukst darbo vietų. Tačiau tai atsitiks tik Lapkričio mėnesį kai įvyks rinkimai. https://www.wsj.com/articles/microsoft-drops-out-of-bidding-for-tiktoks-u-s-operations-11600039821
https://www.theverge.com/2020/9/25/21455655/microsoft-windows-xp-source-code-leak
DK - Windows XP ir WIndows Server 2003 kodo dalys buvo paviešinto internete.
Tai pirmas kartas kai paviešinimas šios operacinės sistemos kodas, bet ne primas kartas kai MS
prasileidžia - buvo viešinama ir Windows 10, ir Xbox kodas.
Atrodo, kad nėra didelės prasmės nerimauti, nes XP supportas jau kaip ir baigėsi 2014 metais,
bet vienas iš Windows ekspertų jau rado, kad nuleakintoje informacijoje yra ir NetMeeting userio pagridinio root sertifikato
raktas. Tai manau, kad MS šiek tiek prakaituoja dėl to, o ir žmonėms, kurie vis dar naudoja XP - turbūt pats laikas
pasikeisti operacinę sistemą.
https://pastebin.com/PTLeWhc2
DK - Juokingi kodo komentarai iš nuleakinto Windows Media player kodo :)
https://github.com/armancodes/laravel-download-link/pull/9
DK - Vieno iš package github savininkas yra iš Izraelio, ir žmogus iš Irano padarė PR ištaisydamas vieną bugą.
Su kodu viskas gerai, bet atsakymas autoriaus buvo paprastas:
"Hi, Thanks for your great idea.
I'm SO SORRY to tell you that I cannot merge this PR. There is a law in my country that we MUST NOT have any relationship with people from Israel or the Israel government.
I hope you understand this, and again thanks for your time."
Komentaruose, juokauja žmonės, kad keista, jog Irano valstybė apskritai leidžia pasiekti Githubą, bet in general - liūdna.
https://www.wraltechwire.com/2020/09/14/feds-ibm-did-discriminate-against-older-workers-in-making-layoffs/
DK - IBM tiria USA Federalinė valdžia, dėl to kad masiniuose atleidimuose diskriminuoja vyresnius žmones.
Pagal pateikiamą statistiką, nuo 2013 iki 2018 metų vykusiuose atleidimuose, net 85.85 procento buvo vyresni žmonės.
Dažnu atveju, tie žmonės vėliau buvo samdomi kaip kontraktoriai, su mažesnėmis algomis, ir be jokių
įmonės benefitų, kas yra naudinga pačiai įmonei. Pats IBM - neigia, sako jog pasirinkimas buvo individualių
managerių, kurie rinkosi pagal performance, įgūdžius, panaudojamumą.
https://www.bloomberg.com/news/articles/2020-09-15/stripe-employees-who-relocate-to-get-20-000-bonus-and-a-pay-cut
DK - Stripe įmonė siūlo darbuotojams dirbantiems San Franciske, New Yorke, Seatle persikraustyti gyventi kitur,
ir tada įmonė jiems duos 20k bonusą, bet sumažins atlyginimą 10proc.
Taip stengiamasi atsisakyti ofisų didžiuosiuose miestuose, kuriuose juos labai brangu išlaikyti.
Įdomu, kad kitos didelės įmonės, kaip Facebook ar ServiceNow taip pat svarsto panašias galimybes.
https://twitter.com/oskargroth/status/1301502690409709568?s=10
DK - Apple pradeda naudoti Rust programavimo kalbą, visiems low-level darbams.
Visas naujas programavimas, turėtų būti ant Rust, o seną code base ilgainiui taip pat nori perrašyti.
DK - Senas postas, bet chuck norris html yra spalva :D
https://stackoverflow.com/questions/8318911/why-does-html-think-chucknorris-is-a-color
DK - most popular stack overflow question: https://stackoverflow.com/questions/64019647/why-is-an-empty-else-if-statement-bad-style-and-how-should-i-rewrite-it
DK - and one more just for fun of it: https://stackoverflow.com/questions/63826138/does-c-sharp-perform-short-circuit-evaluation-of-if-statements-with-await
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment