• 0 Posts
  • 12 Comments
Joined 2 years ago
cake
Cake day: August 5th, 2023

help-circle





  • I think it makes more sense if you think about backend applications: If you write a Webserver with ExpressJS in typescript, you need typescript only to compile it (dev dependency) but once compiled, you only need ExpressJS in your node_modules for the app to be able to run (“regular” dependency).

    Frontend development is a bit strange in that respect, because often everything gets bundled into your dist/ directory, so technically there are no runtime dependencies? In that case it’s more of a hint to let you know “this goes into the bundle” vs. “this is part of the compiler toolchain”







  • Here are some corrections:

    • Blockchain has nothing to do with P2P. Blockchains are federated ledgers that can’t be changed later, unless the majority of federated servers decides to. P2P means that two devices communicate without a server in the middle. Maybe you meant federated?

    • Blockchains can absolutely be hacked. You can gain majority control over the servers, in which case you can rewrite the blockchain as you want. Alternatively you can gain access to accounts/wallets by hacking the software that users store them in or by social-engineering people to give you their keys.

    • If proper end-to-end encryption is used, there is little security difference between server-based and P2P communication, but it’s much more inconvenient: You cannot save sent messages on the server for later retrieval, so if you’re trying to reach someone who’s currently offline, your device has to wait until they’re back before sending the message. Also if you use multiple devices, keeping them in sync is very complicated, because they have to be online at the same time.

    Edit: formatting