Forced Optimization

Поделиться
HTML-код
  • Опубликовано: 30 июн 2024
  • (Originally broadcast at NodeCongress '23)
    Ryan teases Deno 2.0, Deno KV, and more.
    00:16 Intro
    00:43 Goal with Node and Deno
    05:39 Deno 2.0: Built-in node modules
    08:40 Deno 2.0: npm specifiers
    14:33 Deno KV
    20:03 Deno KV Counter example
    24:30 Deno Deploy
    25:26 Deno KV in the Cloud
    29:00 Deno Deploy roadmap
    30:26 Q&A
    To preview Deno KV with Deno Deploy, please visit: dash.deno.com/kv
    Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.
    Website: deno.land
    GitHub: github.com/denoland
    Discord: / discord
    Twitter: / deno_land
  • НаукаНаука

Комментарии • 105

  • @MyAmazingUsername
    @MyAmazingUsername 7 месяцев назад +2

    I absolutely love Ryan Dahl. Such a visionary and cool dude. First he dragged the world kicking and screaming into multi-threaded servers, and now he's gonna do it again with security. The NPM import system is so cool.

  • @josebreijo3850
    @josebreijo3850 Год назад +54

    This removes so much friction!
    Thanks for the fantastic work, folks. Working with Deno is just... great!

  • @_purple_44_
    @_purple_44_ Год назад +8

    I DM'ed him on discord and he responded, what a generous guy

  • @Felipe-53
    @Felipe-53 Год назад +6

    Thanks for the great work, Deno team!

  • @AwesomeAsh99
    @AwesomeAsh99 Год назад +12

    Excited for the 2.0 launch, I truly believe deno has a great path ahead in the future. Keep up the good work guys!

    • @SmartWizzard
      @SmartWizzard Год назад

      What about Nodejs, it's became an ocean now with all those packages and project. I don't think it will go away?

  • @sle6423
    @sle6423 Год назад +41

    KV is going to be huge. Calling it
    If the first half was about eating Node’s lunch the second is about eating Cloudflare Worker’s
    2nd mover energy is real

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj Год назад +1

      if they making kv db built-in, why not also vector dbs, ain't those also all about read speeds.
      or maybe i just don't know what i'm talking about..; )

  • @otmanm4095
    @otmanm4095 Год назад +8

    Deno KV, huuuuge!

  • @_vicary
    @_vicary Год назад +6

    The legend speaks again.

  • @wertrager
    @wertrager Год назад +2

    Great work 👏

  • @tiborifj.fazekas6251
    @tiborifj.fazekas6251 Год назад +9

    Common Deno W

  • @kasper369
    @kasper369 Год назад +5

    Amazing ❤

  • @madhanganesh1
    @madhanganesh1 Год назад +5

    Neat stuff. Thanks Ryan and Dino team on giving this. would there a pointer to know the cost of the KV?

  • @benburton4598
    @benburton4598 Год назад +5

    The sponsor static images contribute to about 20% of the vertical space. Please cut that out so we can read the console.

  • @thisweekinreact
    @thisweekinreact Год назад +1

    Thumbs up and subscribed 👍

  • @khuiification
    @khuiification Год назад +22

    KV is interesting, but will people be able to e.g. use a postgres, redis, mongo or whatever backend for it later? Nothing against deno deploy, but i dont want vendor locking on a runtime level. If it is only really useful for deno deploy (in practice, for a large scale app) i dont think i will be using this feature and would prefer it being a 3rd party library rather than a core API

    • @deno_land
      @deno_land  Год назад +26

      Yes, that is the plan :)

    • @ollierkul
      @ollierkul Год назад +1

      Had a school project last semester where I convinced my group to use Fresh and Deno Deploy (we were meant to test out new technology). We used SurrealDB as our database and it worked brilliantly on Deno Deploy.

    • @very_unique_username
      @very_unique_username Год назад +1

      This 100%. KV should be treated as an abstraction for built in persistent data storage with sane defaults, rather than a vendor lock-in service which only works with Deno Deploy at scale.

  • @jurgentreep
    @jurgentreep Год назад +1

    This looks very interesting 🧐

  • @skiesaboveunlimitedstargaz7316
    @skiesaboveunlimitedstargaz7316 9 месяцев назад +1

    I am now moved from Node into Deno!! Deno is really awesome!! Since Deno is also written in Rust!!

  • @cg219
    @cg219 Год назад +5

    Amin with the trolly question lmaooo

  • @nemartin1
    @nemartin1 Год назад +3

    28:14 Did he say tokio instead of Tokyo 😁 Looking forward to the new KV store.

  • @ThiagoMarquesdeOliveira
    @ThiagoMarquesdeOliveira Год назад +3

    I'm the number 7884. And it's working fine, incrementing one by one. I guess a lot a people accessed at the same time

  • @cg219
    @cg219 Год назад +3

    Oh time to mess with this unstable feature 👀

  • @laptopuser5198
    @laptopuser5198 10 месяцев назад

    A True visionary.

  • @loucadufault6549
    @loucadufault6549 Год назад +2

    I really don't see the feasibility of the new security model if it is evaluated at runtime... Having a deployed application suddenly break because an edge case caused a dependency to request access to an environment variable sounds like a nightmare.
    I would imagine a lot of devs would opt to run apps with --allow-all to avoid such unforseen scenarios.
    A better approach (not sure if this is scalable) would be to analyze dependencies before runtime to determine the set of permissions they might request, and then declare these before the dependency is ever hooked up to the project. You would then be able to know exactly what is required by a dependency when installing it.
    This also begs the question... why even provide the option to deny a permission request? In which case would a dev want to rely on a dependency only to intentionally sabotage it to fail at runtime? Is the expectation that dependencies should gracefully handle being denied a permission? That might work for packages going forward, but certainly won't hold for existing npm packages.

  • @cg219
    @cg219 Год назад +4

    Waitlisted :D

  • @jaymartinez311
    @jaymartinez311 Год назад +35

    better docs. That’s all i’m saying. It keeps saying node isn’t this or that but you have to really present some docs where I’m like wow 🤩 I like the idea of deno. I’m not a programming expert at work. Like most people I know. So i need some more hand holding if I would ever adopt deno. Side note qwik came out last year (frontend framework) and even their docs are better than deno’s. Node doesn’t need docs. Just type node with whatever and boom there. No problem. I’m just telling the truth. It’s the same with solidjs. Great framework apparently but instead of giving me these lower level explanations just show me how to start from A to get to B, C etc… The one page example isn’t working for me. Even angular has you build an app though it’s a frontend app to get the usage of it across. This idea of, here’s the base of what you can do and figure the rest stuff is getting old. If it’s so much better show me. All these benchmarks mean nothing if I don’t know how to use it. I’ll just keep using Java 😂. the best default with tons of boilerplate but examples galore 😂 . I’m a horrible programmer by the way 😊Rant over

    • @Xe054
      @Xe054 Год назад +2

      Thank you. The docs are part of the product just as much as the technology.

    • @sofianikiforova7790
      @sofianikiforova7790 Год назад +1

      I agree. At this point the SEO and docs for Deno are pretty weaksauce. Hopefully they release a lot more with the 2.0 launch

    • @jaymartinez311
      @jaymartinez311 Год назад +1

      @@sofianikiforova7790 I’m just getting tired 🥱 of the whole we are better then this or that. Show me. Make a million deno small projects on youtube. Link them in the docs. Not just github links. Give me a basic app, then a medium app and maybe a edge case app for the really advanced, so like that i can say, “you know I had this same issue at work with node and this implementation is much more straight forward” or “We did this in node with typescript at work but this deno implementation is amazing!”. I can’t walk in there with a one page example telling them oh let’s stop what we are doing cause deno is here and from now on that’s what we are using 😂. That would be my last scrum meeting ever hahaha. I am not hating because I like the things I have seen but when you get up there and give me this deeply technical low level talk that means nothing in a meeting at work where half the people won’t understand what the hell Im saying anyway. I’ve already been fired from a job (which sucked) where I couldn’t for the life of me speak in a more metaphorical way and got canned.

    • @altairbueno5637
      @altairbueno5637 Год назад +3

      What is wrong with Denos docs? Also, everything in MDN works with Deno too

    • @jaymartinez311
      @jaymartinez311 Год назад

      @@altairbueno5637 i literally wrote a blog size comment explaining why 😂. Read it again and you’ll have the reply your looking for.✌🏾🗣️

  • @edgeeffect
    @edgeeffect Год назад +2

    I'd have rolled my eyes before answering "what is ELF?"

  • @kodejohan
    @kodejohan Год назад

    Awesome! Why was the choice made to use KV instead of IndexedDB to comply with web standards?

    • @alurma
      @alurma Год назад

      Is indexed eventual and distributed?

    • @gilbertsenyonjo963
      @gilbertsenyonjo963 Год назад

      IndexedDB is hard to work with, maybe thats why

    • @alurma
      @alurma Год назад +1

      I tried modifying indexedDB yesterday and almost died

  • @vikingthedude
    @vikingthedude Год назад +8

    Markiplier is really doing it all huh

    • @tunisoft7465
      @tunisoft7465 11 месяцев назад

      He is markiplying 😅😢😂

  • @mash808
    @mash808 Год назад +15

    Cool to see Dahl branching out from children's novels.

    • @neanda
      @neanda Год назад

      Wtf are you on about? Ryan never wrote kids books, that was his father

  • @shinebayar
    @shinebayar Год назад +10

    I don't understand this secure by default thing. Looks like it's not possible to manage permissions at the dependency level. One of your dependencies asked for some permission, cool you grant it, then everyone gets that permission. Isn't it just .. useless at that point?

    • @neoesm
      @neoesm Год назад +2

      It's at the process level so you allow the running process to have these permissions or not

    • @vuongnh0607l
      @vuongnh0607l Год назад

      @@neoesm that means if I want to give only a certain dependency permission, I will have to split it onto another process and use some sort of interprocess communication right?

    • @henriquealmeida348
      @henriquealmeida348 Год назад +4

      Yea this security thing feels useless, unless if you are one of the very few devs that work in a very sensitive area. It should only be active if configured this way. Many (or most) people not only don't care at all about this micro security that actually feels weak but also feel annoyed by it. They talk about that so much since Deno beginning but feels like a waste of resource and marketing.

    • @soniablanche5672
      @soniablanche5672 Год назад +3

      you can specify what is allowed
      --allow-net=domain1,domain2,domain3
      --allow-env=env1,env2
      --allow-read=path_to_file1,path_to_file2,path_to_directory1
      etc

    • @henriquealmeida348
      @henriquealmeida348 Год назад +2

      @@soniablanche5672 bad DX tbh and is not useful for most situations.

  • @eduingarciacordero9255
    @eduingarciacordero9255 Год назад +2

    The power of js is the avility to create Objects as easy as possible. JSON is the real power os js. For me every languaje that shoose this as a standard for objects is going to be successfull.

  • @TobiasBuschor
    @TobiasBuschor Год назад +1

    since deno wants to be as compatible as possible with the web, i would welcome indexeddb.

  • @crowlsyong
    @crowlsyong 10 месяцев назад

    Keep the component library for Fresh alive! It’s great but i would love more resources to draw from.

  • @coder_one
    @coder_one Год назад +4

    I am looking for a good and up-to-date course from Deno. Is anyone able to recommend something reasonable?

    • @deno_land
      @deno_land  Год назад

      What are you looking to learn specifically? e.g. build a web server, a saas app, etc.

    • @coder_one
      @coder_one Год назад +1

      @@deno_land something complete about Deno, for a front-end developer ;)

  • @keithprice1950
    @keithprice1950 Год назад +3

    If deno now has (or will have) built in node modules and support for npm what would be the point starting any new project with node and not deno?

    • @deno_land
      @deno_land  Год назад +4

      Built in security model. ESM. URL imports, Web standards. Native TypeScript support. Robust toolchain including testing, linting. Compile your script to a single binary executable. A vetted std lib. And more :)

    • @vuongnh0607l
      @vuongnh0607l Год назад +5

      @@deno_land i don't think you understand what's being said

    • @iatheman
      @iatheman Год назад

      @@vuongnh0607l No, but it works none the less.

    • @sn-xc7rv
      @sn-xc7rv Год назад

      @@vuongnh0607l Node has most of those things now. Too bad you can’t copyright ideas.

  • @Narblo
    @Narblo Год назад +3

    Just use go or rust or C++ or Odin or zig. Anything that does not require a heavy runtime, both in ram and cpu usage.

  • @vladimirkrasulya8693
    @vladimirkrasulya8693 Год назад

    maybe I'm missing something but why do you need to embed access restriction logic into interpreter if you can do the same on OS level ?

    •  Год назад

      It is useful for where you don't have access to the underlying OS, like deploying to serverless environment on clouds.

  • @zeenimbalkar6137
    @zeenimbalkar6137 Год назад

    Just a question, node js is single threaded and deno which is build in rust which can use multiple threads but still doing single threading, why ?

    • @ollierkul
      @ollierkul Год назад

      Isn't that just how JavaScript works? Even if the runtime is created in Rust, JavaScript I believe is a single-threaded language? But from my very limited understanding of it, I think you can use Deno's implementation of Web Workers to achieve multi-threading.

  • @the_primal_instinct
    @the_primal_instinct Год назад +2

    Easier accessobility for newer developers usually means less accessibility for intermediate developers. I *want* to know what's going on under the hood and I *want* to be able to tune and adjust how the things work.

    • @Sacramentix
      @Sacramentix Год назад +4

      For me deno is for simple thing, if you really want to adjust thing you should pick a low level language like rust to maximize performance or make binding to deno code

  • @relaxwithai
    @relaxwithai Год назад +3

    Great talk, but I must say Ryan sound different compared to his other talks. 🤔

    • @neek01
      @neek01 Год назад +2

      I haven’t listened to any of his other talks but he sounds super nervous, lots of stuttering, lots of checking notes. Almost felt like he was presenting while being held at gunpoint.

    • @relaxwithai
      @relaxwithai Год назад

      @@neek01 Exactly my point 😀

    • @relaxwithai
      @relaxwithai Год назад +1

      My guess is that the talk was planned for a release that didn't make it so he had to quickly come up with something.

  • @logiclandco
    @logiclandco Год назад +5

    Why not kv as a module? Its just making deno unnecessarily huge. Use global imports, if you have to..

    • @AbhishekPathak21
      @AbhishekPathak21 Год назад +1

      I think primarily because rarely there are any non let-me-automate-it projects which don't require a kv store for caching.

  • @Matlockization
    @Matlockization Год назад +2

    I wish game developers would adopt the same attitude rather than over develop how a game looks when the game itself takes a log time to load. It seems to me that the game software isn't using the full capability of the hardware available.

    • @mccGoNZooo
      @mccGoNZooo Год назад +1

      If there ever was an industry that completely dropped the ball on performance I would say that the web development one would be a great candidate. A few steps in the right direction (by adding more complication, not simplifying things, really) is not enough to make up for the immense waste that most people in the web dev industry are causing daily. I like Deno, but to say that this type of thinking is even remotely close in effort to what game devs have been doing for decades to make things run fast is either incredibly naïve/ignorant or disingenuous.

    • @Matlockization
      @Matlockization Год назад

      @@mccGoNZooo True that.

  • @AtomTCP
    @AtomTCP Год назад

    PHP mum.

  • @TravisTennies
    @TravisTennies Год назад

    So glad to hear him pronounce it as Deno...and not Denno like everyone else you lameTube. Yay!

  • @codemuhammed
    @codemuhammed Год назад

    A proof of stake blockchain that uses deno as it’s execution environment.

  • @beardymonger
    @beardymonger Год назад

    He seemed quite uneasy promoting this 🤣
    I sensed the "Let me just continue creating stuff with vim" vibe :-)

  • @ddobren
    @ddobren Год назад

    Php mum

  • @js-ny2ru
    @js-ny2ru Год назад

    Lizz is just beautiful!
    BTW. Do something so Microsoft will finally add Deno to Azure. Right now I can only use it with Linux docker...

  • @1998goodboy
    @1998goodboy Год назад +5

    Thought deno would fix typescript, now its just officially bloated. My programming language should not also be my database, two separate concerns.

    • @sbruchmann
      @sbruchmann Год назад +7

      Tell me you don't understand programming languages without telling me you don't understand programming languages.

    • @1998goodboy
      @1998goodboy Год назад +2

      @@sbruchmann tell me ur a soydev without telling me ur a soydev

    • @raglandasir6885
      @raglandasir6885 Год назад +1

      The language is still JavaScript. Deno is the runtime

    • @1998goodboy
      @1998goodboy Год назад

      @@raglandasir6885 yes, but deno was basically fixing at lot of the issues with js and making it usable bc ts was supported out the box with stupid transportation

    • @ami6014
      @ami6014 Год назад +1

      @@1998goodboy I don’t think you know what you are saying. You are just putting words together. A language and a runtime are not the same thing. A runtime does not fix a language.