POPULARITY
Building a NestJS course for Scrimba and other channel & life updates---------------------------------------------------
Nesse episódio trouxemos as notícias e novidades do mundo da programação que nos chamaram atenção dos dias 08/02 a 14/02.
Nesse episódio trouxemos as notícias e novidades do mundo da programação que nos chamaram atenção dos dias 08/02 a 14/02.
Welcome to the fifth episode of DejaVue! While Michael is on paternity leave after becoming a father, Alex is joined by a special guest, Patrick van Everdingen, Full Stack Developer, Speaker, Panel Host an Co-Founder of CareerDeck.In this episode, we talk about how Patrick started his Vue- and Nuxt-based side project, CareerDeck - and how it grew from an idea at a pool in Italy to a full-fledged application. From the initial idea to the current state of the application, we discuss the tech stack, the challenges, and also the future of CareerDeck.Learn why Patrick chose Vue and Nuxt, why decided to rebuild the application again and how he uses AI to create real value for the users of CareerDeck.Eventually, Patrick turns the tables and asks Alex about his thoughts on the future of Nuxt and how it compares to other frameworks like Laravel or NestJS, as well as the role of plain Vue in the ecosystem.Enjoy the episode!Chapters(00:00) - Chapter 1 (00:00) - Intro (01:29) - The backstory of CareerDeck (06:17) - What makes CareerDeck more than just a GPT wrapper? (11:00) - Rebuilding the application again with Nuxt UI (14:39) - The tech stack of CareerDeck (19:29) - Building a job interview simulator (25:07) - What are Server-Sent Events? (26:47) - The difference between WebSockets and Server-Sent Events (29:38) - Implementing SSE with Nitro (31:59) - New folder structure in Nuxt 4 (34:02) - How does Nitro compare to other frameworks? (36:14) - Will Nuxt be the next Laravel or NestJS? (41:17) - Why would you choose vanilla Vue over Nuxt? (47:06) - Your benefits as a newcomer to a framework (49:44) - Where can people reach Patrick (51:22) - Outro Links and ResourcesDevworld ConferenceCareerDeckNuxtDejaVue Episode #002 with Harlan WiltonNuxt UI Pro* - GET 20% OFF WITH THE CODE "LICHTER" until the end of the month!LangChain Llama3NitroDejaVue Episode #003 about NitroNo gist but H3 Docs on SSEWebSockets in NitroNuxt vs. NitroImproved Nuxt folder structure issueLaravelInertia.jsLaravel LivewireUnpluginLinks marked with * are affiliate links. We get a small commission when you register for the service through our link. This helps us to keep the podcast running. We only include affiliate links for services mentioned in the episode or that we use ourselves.
A last minute change of plans and a day spent battling with complicated wed dev has us asking a simple question: Did we make it all too complicated?From file based routing in React Native and NestJS to horrifically long RxJS pipelines in NestJS whilst worrying about React Server components and just how much JavaScript should you ship to the client, we are starting to feel like maybe 99.9% of the industry's focus has shifted to the 0.1% of things that don't really matter to users?SimonB also gives a fun run down or comparing the greener (and not so green grass) in the worlds of PHP, Swift and SwiftUI, Python and JavaScript.Subscribe to the Podcast in your player of choice Subscribe hereLinks Rich Harris on frameworks, the web, and the edge Vercel The Phoenix Project Digital Ocean Google Cloud Run What is Docker? Want more from us? Find Simon B at All The Code Find Simon G at Galaxies.dev Subscribe to the Podcast in your player of choice Subscribe here
Victor is a software consultant in Tokyo who describes himself as a yak shaver. He writes on his blog at vadosware and curates Awesome F/OSS, a mailing list of open source products. He's also a contributor to the Open Core Ventures blog. Before our conversation Victor wrote a structured summary of how he works on projects. I recommend checking that out in addition to the episode. Topics covered: Most people should use Dokku or CapRover But he uses Kubernetes anyways Hosting a Database in Kubernetes Learning technology You don't really know a thing until something goes wrong History of Frontend Development Context from lower layers of the stack and historical projects Good project pages have comparisons to other products Choosing technologies Language choice affects maintainability Knowing an ecosystem Victor's preferred stack Technology bake offs Posting findings means you get free corrections Why people use medium instead of personal sites Victor VADOSWARE - Blog How Victor works on Projects - Companion post for this episode Awesome FOSS - Curated list of OSS projects NimbusWS - Hosted OSS built on top of budget cloud providers Unvalidated Ideas - Startup ideas for side project inspiration PodcastSaver - Podcast index that allows you to choose Postgres or MeiliSearch and compare performance and results of each Victor's preferred stack Docker - Containers Kubernetes - Container provisioning (Though at the beginning of the episode he suggests Dokku for single server or CapRover for multiple) TypeScript - JavaScript with syntax for types. Victor's default choice. Rust - Language he uses if doing embedded work, performance is critical, or more correctness is desired Haskell - Language he uses if correctness and type system is the most important for the project Postgresql - General purpose database that's good enough for most use cases including full text search. KeyDB - Redis compatible database for caching. Acquired by Snap and then made open source. Victor uses it over Redis because it is multi threaded and supports flash storage without a Redis Enterprise license. Pulumi - Provision infrastructure with the languages you're already using instead of a specialized one or YAML Svelte and SvelteKit - Preferred frontend stack. Previously used Nuxt. Search engines Postgres Full Text Search vs the rest Optimizing Postgres Text Search with Trigrams OpenSearch - Amazon's fork of Elasticsearch typesense meilisearch sonic Quickwit JavaScript build tools Babel SWC Webpack esbuild parcel Vite Turbopack JavaScript frameworks React Vue Svelte Ember Frameworks built on top of frameworks Next - React Nuxt - Vue SvelteKit - Svelte Astro - Multiple Historical JavaScript tools and frameworks Underscore jQuery MooTools Backbone AngularJS Knockout Aurelia GWT Bower - Frontend package manager Grunt - Task runner Gulp - Task runner Related Links Dokku - Open source single-host alternative to Heroku Cloud Native Buildpacks - Buildpacks created by Heroku and Pivotal and used by Dokku CapRover - An open source PaaS-like abstraction built on top of Docker Swarm Kelsey Hightower's tweet about being cautious about running databases on Kubernetes Settling the Myth of Transparent HugePages for Databases Kubernetes Container Storage Interface (CSI) Kubernetes Local Persistent Volumes Longhorn - Distributed block storage for Kubernetes Postgres docs Postgres TOAST Everything I've seen on optimizing Postgres on ZFS Kubernetes Workload Resources Kubernetes Network Plugins Kubernetes Ingress Traefik Kubernetes the Hard Way (Setting up a cluster in a way that optimizes for learning) How does TLS work Let's Encrypt Cert manager for Kubernetes Choose Boring Technology A Linux user's guide to Logical Volume Management Docker networking overview Kubernetes Scheduler Tauri - Build desktop applications with web technology and Rust ripgrep - CLI tool to recursively search directory for a regex pattern (Meant to be a rust replacement for grep) angle-grinder / ag - CLI tool to parse and process log files written in rust Object.observe ECMAScript Proposal to be Withdrawn Ruby on Rails - Ruby web framework Django - Python web framework Laravel - PHP web framework Adonis - JavaScript NestJS - JavaScript What is a NullPointerException, and how do I fix it? Mastodon Clap - CLI argument parser for Rust AWS CDK - Provision AWS infrastructure using programming languages Terraform - Provision infrastructure with terraform language URL canonicalization of duplicate pages and the use of the canonical tag - Used by dev.to to send google traffic to the original blogpost instead of dev.to Transcript You can help edit this transcript on GitHub. [00:00:00] Jeremy: This episode, I talk to Victor Adossi who describes himself as a yak shaver. Someone who likes trying a whole bunch of different technologies, seeing the different options. We talk about what he uses, the evolution of front end development, and his various projects. Talking to just different people it's always good to get where they're coming from because something that works for Google at their scale is going to be different than what you're doing with one of your smaller projects. [00:00:31] Victor: Yeah, the context. Of course in direct conflict with that statement, I definitely use Google technology despite not needing to at all right? Like, you know, 99% of people who are doing like people like to call it indiehacking or building small products could probably get by with just Dokku. If you know Dokku or like CapRover. Are two projects that'll be like, Oh, you can just push your code here, we'll build it up like a little mini Heroku PaaS thing and just go on one big server, right? Like 99% of the people could just use that. But of course I'm not doing that. So I'm a bit of a hypocrite in that sense. I know what I should be doing, but I'm not doing that. I am writing a Kubernetes cluster with like five nodes for no reason. Uh, yeah, I dunno, people don't normally count the controllers. [00:01:24] Jeremy: Dokku and CapRover, I think those are where it's supposed to create a heroku like experience I think it's based off of the heroku buildpacks right? At least Dokku is? [00:01:36] Victor: Yeah Buildpacks has actually been spun out into like a community thing so like pivotal and heroku, it's like buildpacks.io, they're trying to build a wider standard around it so that more people can get involved. And buildpacks are actually obviously fantastic as a technology and as a a process piece. There's not much else like them and you know, that's obvious from like Heroku's success and everything. I know Dokku uses that. I don't know that Caprover does, but I haven't, I haven't really run Caprover that much. They, they probably do. Like at this point if you're going to support building from code, it seems silly to try and build your own buildpacks. Cause that's what you will do, eventually. So you might as well use what's there. Anyway, this is like just getting to like my personal opinions at this point, but like, if you think containers are a bad idea in 2022, You're wrong, you should, you should stop. Like you should, you should stop. Think about it. I mean, obviously there's not, um, I got a really great question at an interview once, which is, where are containers a bad idea? That's probably one of the best like recent interview questions I've ever gotten cause I was like, Oh yeah, I mean, like, you can't, it can't be perfect everywhere, right? Nothing's perfect everywhere. So it's like, where is it? Uh, and of course the answer was networking, right? (unintelligible) So if you need absolute performance, but like for just about everything else. Containers are kind of it at this point. Like, time has born it out, I think. So yeah, I always just like bias at taking containers at this point. So I'm probably more of a CapRover person than a Dokku person, even though I have not used, I don't use CapRover. [00:03:09] Jeremy: Well, like something that I've heard with containers, and maybe it's changed recently, but, but something that was kind of holdout was when people would host a database sometimes they would oh we just don't wanna put this in a container and I wonder if like that matches with your thinking or if things have changed. [00:03:27] Victor: I am not a database administrator right like I read postgres docs and I read the, uh, the Postgres documentation, and I think I know a bit about postgres but I don't commit right like so and I also haven't, like, oh, managed X terabytes on one server that you are making sure never goes down kind of deal. But the stickiness for me, at least from when I've run, So I've done a lot of tests with like ZFS and Postgres and like, um, and also like just trying to figure out, and I run Postgres in Kubernetes of course, like on my cluster and a lot of the stuff I found around is, is like fiddly kernel things like sort of base kernel settings that you need to have set. Like, you know, stuff like should you be using transparent huge pages, like stuff like that. But once you have that settled. Containers are just processes with name spacing and resource control, right? Like, that's it. there are some other ins and outs, but for the most part, if you're fine running a process, so people ran processes, right? And they were just completely like unprotected. Then people made users for the processes and they limited the users and ran the processes, right? Then the next step is now you can run a process and then do the limiting the name spaces in cgroups dynamically. Like there, there's, there's sort of not a humongous difference, unless you're hitting something very specific. Uh, but yeah, databases have been a point of contention, but I think, Kelsey Hightower had that tweet yeah. That was like, um, don't run databases in Kubernetes. And I think he called it back. [00:04:56] Victor: I don't know, but I, I know that was uh, was one of those things that people were really unsure about at first, but then after people sort of like felt it out, they were like, Oh, it's actually fine. Yeah. [00:05:06] Jeremy: Yeah I vaguely remember one of the concerns having to do with persistent storage. Like there were challenges with Kubernetes and needing to keep that storage around and I don't know if that's changed yeah or if that's still a concern. [00:05:18] Victor: Uh, I'd say that definitely has changed. Uh, and it was, it was a concern, depending on where you were. Mostly people who are running AKS or EKS or you know, all those other managed Kubernetes, they're just using EBS or like whatever storage provider is like offering for storage. Most of those people don't actually have that much of a problem with, storage in general. Now, high performance storage is obviously different, right? So like, so you'll, you're gonna have to start doing manual, like local volume management and stuff like that. it was a problem, because obviously CSI (Kubernetes Container Storage Interface) didn't exist for some period of time, and like there was, it was hard to know what to do for if you were just running a Kubernetes cluster. I think a lot of people were just using local, first of all, local didn't even exist for a bit. Um, they were just using host path, right? And just like, Oh, it's on the disk somewhere. Where do we, we have to go get it right? Or we have to like, sort of manage that. So that was something most people weren't ready for, especially if you were just, if you weren't like sort of a, a, a traditional sysadmin and used to doing that stuff. And then of course local volumes came out, but I think they still had to be, um, pre-provisioned. So that's sysadmin stuff that most people, you know, maybe aren't, aren't necessarily ready for. Uh, and then most of the general solutions were slow. So like, I used Longhorn (https://longhorn.io) for a long time and Longhorn, Longhorn's great. And super easy to set up, but it can be slower and you can have some, like, delays in mount time. it wasn't ideal for, for most people. So yeah, I, overall it's true. Databases, Databases in Kubernetes were kind of fraught with peril for a while, but it wasn't for the reason that, it wasn't for the fundamental reason that Kubernetes was just wrong or like, it wasn't the reason most people think of, which is just like, Oh, you're gonna break your database. It's more like, running a database is hard and Kubernetes hasn't solved all the hard problems. Like, cuz that's what Kubernetes does. It basically solves a lot of problems in a very generic way. Right. So it just hadn't solved all those problems yet at this point. I think it's got decent answers on a lot of them. So I, I mean, I don't know. I I do it. Don't, don't take what I'm saying to your, you know, PM meeting or your standup meeting, uh, anyone who's listening. But it's more like if you could solve the problems with databases in the sense before. You could probably solve 'em on Kubernetes now with a good understanding of Kubernetes. Cause at the end of the day, it's all the same stuff. Just Kubernetes makes it a little easier to, uh, do it dynamically. [00:07:50] Jeremy: It sounds like you could do it before, but some of the, I guess the tools or the ways of doing persistent storage were not quite there yet, or they were difficult to use. And so that was why people at the start were like, Okay, maybe it's not a good idea, but, now maybe there's some established practices for how you should run a database in Kubernetes. And I, I suppose the other aspect too is that, like you were saying, Kubernetes is its own thing. You gotta learn Kubernetes and all its intricacies. And then running a database is also its own challenge. So if you stack the two of them together and, and the path was not really clear then maybe at the start it wasn't the best idea. Um, uh, if somebody was going to try it out now, was there like a specific resource you looked at or a specific path to where like okay this is is how I'm going to do it. [00:08:55] Victor: I'll just say what I normally recommend to everybody. Cause it depends on which path you wanna go right? If you wanna go down like running a database path first and figure that out, fill out that skill tree. Like go read the Postgres docs. Well, first of all, use Postgres. That's the first tip there. But like, read those documents. And obviously you don't have to understand everything. You won't understand everything. But knowing the big pieces and sort of letting your brain see the mention of like a whole bunch of things, like what is toast? Oh, you can do compression on columns. Like, you can do some, some things concurrently. Um, you know, what ALTER TABLE looks like. You get all that stuff kind of in your head. Um, and then I personally really believe in sort of learning by building and just like iterating. you won't get it right the first time. It's just like, it's not gonna happen. You're get, you can, you can get better the first time, right? By being really prepared and like, and leave yourself lots of outs, but you kind of have to like, get it out there. Do do your best to make sure that you can't fail, uh, catastrophically, right? So this is like, goes back to that decision to like use ZFS as the bottom of this I'm just like, All right, well, I, I'm not a file systems expert, but if I. I could delegate some of that, you know, some of that, I can get some of that knowledge from someone else. Um, and I can make it easier for me to not fail catastrophically. For the database side, actually read documentation on Postgres or the whatever database you're going to use, make sure you at least understand that. Then start running it like locally or whatever. Again, Docker use, use Docker locally. It's, it's, it's fine. and then, you know, sort of graduate to running sort of more progressively, more complicated versions. what I would say for the Kubernetes side is actually similar. the Kubernetes docs are really good. they're very large. but they're good. So you can actually go through and know all the, like, workload, workload resources, know, like what a config map is, what a secret is, right? Like what etcd is doing in this whole situation. you know, what a kublet is versus an API server, right? Like the, the general stuff, like if you go through all that, you should have like a whole bunch of ideas at least floating around in your head. And then once you try and start setting up a server, they will all start to pop up again, right? And they'll all start to like, you, like, Oh, okay, I need a CNI (Container Networking) plugin because something needs to make the services available, right? Or something needs to power the ingress, right? Like, if I wanna be able to get traffic, I need an ingress object. But what listens, what does that, what makes that ingress object do anything? Oh, it's an ingress controller. nginx, you know, almost everyone's heard of nginx, so they're like, okay. Um, nginx, has an ingress control. Actually there's, there used to be two, I assume there's still two, but there's like one that's maintained by Kubernetes, one that's maintained by nginx, the company or whatever. I use traefik, it's fantastic. but yeah, so I think those things kind of fall out and that is almost always my first way to explain it and to start building. And tinkering iteratively. So like, read the documentation, get a good first grasp of it, and then start building yourself because you'll, you'll get way more questions that way. Like, you'll ask way more questions, you won't be able to make progress. Uh, and then of course you can, you know, hop into slacks or like start looking around and, and searching on the internet. oh, one of the things that really helped me out early learning Kubernetes was, Kelsey Hightower's, um, learn Kubernetes the hard way. I'm also a big believer in doing things the hard way, at least knowing what you're choosing to not know, right? distributing file system, Deltas, right? Or like changes to a file system over the network is not a new problem. Other people have solved it. There's a lot of complexity there. but if you at least know the sort of surface level of what the thing does and what it's supposed to do and how it's supposed to do it, you can make a decision on, Oh, how deep am I going to go? Right? To prevent yourself from like, making a mistake or going too deep in the rabbit hole. If you have an idea of the sort of ecosystem and especially like, Oh, here, like the basics of how I can use this thing, that's generally very good. And doing things the hard way is a great way to get a, a feel for that, right? Cause if you take some chunk and like, you know, the first level of doing things the hard way, uh, or, you know, Kelsey Hightower's guide is like, get a machine, right? Like, so, like, if you somehow were like, Oh, I wanna run a Kubernetes cluster. but, you know, I don't want use necessarily EKS and you wanna learn it the hard way. You have to go get a machine, right? If you, if you're not familiar, if you run on Heroku the whole time, like you didn't manage your own machines, you gotta go like, figure out EC2, right? Or, I personally use, hetzner I love hetzner, so you have to go figure out hetzner, digital ocean, whatever. Right. And then the next thing's like, you know, the guide's changed a lot, and I haven't, I haven't looked at it in like, in years, actually a while since I, since I've sort of been, I guess living it, but it's, it's like generate certificates, right? So if you've never dealt with SSL and like, sort of like, or I should say TLS uh, and generating certificates and how that whole dance works, right? Which is fascinating because it's like, oh, right, nothing's secure on the internet, except that we distribute root certificates on computers that are deployed in every OS, right? Like, that's a sort of fundamental understanding you may not go deep enough to realize, but if you are fascinated by it, trying to do it manually would lead you down that path. You'd be like, Oh, what, like what is this thing? What is a CSR? Like, why, who is signing my request? Right? And it's like, why do we trust those people? Right? And it's like, you know, that kind of thing comes out and I feel like you can only get there from trying to do it, you know, answering the questions you can. Right. And again, it takes some judgment to know when you should not go down a rabbit hole. uh, and then iterating. of course there are people who are excellent at explaining. you can find some resources that are shortcuts. But, uh, I think particularly my bread and butter has been just to try and do it the hard way. Avoid pitfalls or like rabbit holes when you can. But know that the rabbit hole is there, and then keep going. And sometimes if something's just too hard, you're not gonna get it the first time. Like maybe you'll have to wait like another three months, you'll try again and you'll know more sort of ambiently about everything else. You get a little further that time. that's how I feel about that. Anyway. [00:15:06] Jeremy: That makes sense to me. I think sometimes when people take on a project, they try to learn too many things at the same time. I, I think the example of Kubernetes and Postgres is pretty good example, where if you're not familiar with how do I install Postgres on bare metal or a vm, trying to make sense of that while you're trying to into is probably gonna be pretty difficult. So, so splitting them up and learning them individually, that makes a lot of sense to me. And the whole deciding how deep you wanna go. That's interesting too, because I think that's very specific to the person right because sometimes you wanna go a little deeper because otherwise you don't understand how the two things connect together. But other times it's just like with the example with certificates, some people they may go like, I just put in let's encrypt it gives me my cert I don't care right then, and then, and some people they wanna know like okay how does the whole certificate infrastructure work which I think is interesting, depending on who you are, maybe you go ahh maybe it doesn't really matter right. [00:16:23] Victor: Yeah, and, you know, shout out to Let's Encrypt . It's, it's amazing, right? think Singlehandedly the most, most of the deployment of HTTPS that happens these days, right? so many so many of like internet providers and uh, sort of service providers will use it right? Under the covers. Like, Hey, we've got you free SSL through Let's Encrypt, right? Like, kind of like under the, under the covers. which is awesome. And they, and they do it. So if you're listening to this, donate to them. I've done it. So now that, now the pressure is on whoever's listening, but yeah, and, and I, I wanna say I am that person as well, right? Like, I use, Cert Manager on my cluster, right? So I'm just like, I don't wanna think about it, but I, you know, but I, I feel like I thought about it one time. I have a decent grasp. If something changes, then I guess I have to dive back in. I think it, you've heard the, um, innovation tokens idea, right? I can't remember the site. It's like, um, do, like do boring tech or something.com (https://boringtechnology.club/) . Like it shows up on sort of hacker news from time to time, essentially. But it's like, you know, you have a certain amount of tokens and sort of, uh, we'll call them tokens, but tolerance for complexity or tolerance for new, new ideas or new ways of doing things, new processes. Uh, and you spend those as you build any project, right? you can be devastatingly effective by just sticking to the stack, you know, and not introducing anything new, even if it's bad, right? and there's nothing wrong with LAMP stack, I don't wanna annoy anybody, but like if you, if you're running LAMP or if you run on a hostgator, right? Like, if you run on so, you know, some, some service that's really old but really works for you isn't, you know, too terribly insecure or like, has the features you need, don't learn Kubernetes then, right? Especially if you wanna go fast. cuz you, you're spending tokens, right? You're spending, essentially brain power, right? On learning whatever other thing. So, but yeah, like going back to that, databases versus databases on Kubernetes thing, you should probably know one of those before you, like, if you're gonna do that, do that thing. You either know Kubernetes and you like, at least feel comfortable, you know, knowing Kubernetes extremely difficult obviously, but you feel comfortable and you feel like you can debug. Little bit of a tangent, but maybe that's even a better, sort of watermark if you know how to debug a thing. If, if it's gone wrong, maybe one or five or 10 or 20 times and you've gotten out. Not without documentation, of course, cuz well, if you did, you're superhuman. But, um, but you've been able to sort of feel your way out, right? Like, Oh, this has gone wrong and you have enough of a model of the system in your head to be like, these are the three places that maybe have something wrong with them. Uh, and then like, oh, and then of course it's just like, you know, a mad dash to kind of like, find, find the thing that's wrong. You should have confidence about probably one of those things before you try and do both when it's like, you know, complex things like databases and distributed systems management, uh, and orchestration. [00:19:18] Jeremy: That's, that's so true in, in terms of you are comfortable enough being able to debug a problem because it's, I think when you are learning about something, a lot of times you start with some kind of guide or some kind of tutorial and you follow the steps. And if it all works, then great. Right? But I think it's such a large leap from that to something went wrong and I have to figure it out. Right. Whether it's something's not right in my Dockerfile or my postgres instance uh, the queries are timing out. so many things that could go wrong, that is the moment where you're forced to figure out, okay, what do I really know about this not thing? [00:20:10] Victor: Exactly. Yeah. Like the, the rubber's hitting the road it's uh you know the car's about to crash or has already crashed like if I open the bonnet, do I know what's happening right or am I just looking at (unintelligible). And that's, it's, I feel sort a little sorry or sad for, for devs that start today because there's so much. Complexity that's been built up. And a lot of it has a point, but you need to kind of have seen the before to understand the point, right? So I like, I like to use front end as an example, right? Like the front end ecosystem is crazy, and it has been crazy for a very long time, but the steps are actually usually logical, right? Like, so like you start with, you know, HTML, CSS and JavaScript, just plain, right? And like, and you can actually go in lots of directions. Like HTML has its own thing. CSS has its own sort of evolution sort of thing. But if we look at JavaScript, you're like, you're just writing JavaScript on every page, right? And like, just like putting in script tags and putting in whatever, and it's, you get spaghetti, you get spaghetti, you start like writing, copying the same function on multiple pages, right? You just, it, it's not good. So then people, people make jquery, right? And now, now you've got like a, a bundled set of like good, good defaults that you can, you can go for, right? And then like, you know, libraries like underscore come out for like, sort of like not dom related stuff that you do want, you do want everywhere. and then people go from there and they go to like backbone or whatever. it's because Jquery sort of also becomes spaghetti at some point and it becomes hard to manage and people are like, Okay, we need to sort of like encapsulate this stuff somehow, right? And like the new tools or whatever is around at the same timeframe. And you, you, you like backbone views for example. and you have people who are kind of like, ah, but that's not really good. It's getting kind of slow. Uh, and then you have, MVC stuff comes out, right? Like Angular comes out and it's like, okay, we're, we're gonna do this thing called dirty checking, and it's gonna be, it's gonna be faster and it's gonna be like, it's gonna be less sort of spaghetti and it's like a little bit more structured. And now you have sort of like the rails paradigm, but on the front end, and it takes people to get a while to get adjusted to that, but then that gets too heavy, right? And then dirty checking is realized to be a mistake. And then, you get stuff like MVVM, right? So you get knockout, like knockout js and you got like Durandal, and like some, some other like sort of front end technologies that come up to address that problem. Uh, and then after that, like, you know, it just keeps going, right? Like, and if you come in at the very end, you're just like, What is happening? Right? Like if it, if it, if someone doesn't sort of boil down the complexity and reduce it a little bit, you, you're just like, why, why do we do this like this? Right? and sometimes there's no good reason. Sometimes the complexity is just like, is unnecessary, but having the steps helps you explain it, uh, or helps you understand how you got there. and, and so I feel like that is something younger people or, or newer devs don't necessarily get a chance to see. Cause it just, it would take, it would take very long right? And if you're like a new dev, let's say you jumped into like a coding bootcamp. I mean, I've got opinions on coding boot camps, but you know, it's just like, let's say you jumped into one and you, you came out, you, you made it. It's just, there's too much to know. sure, you could probably do like HTML in one month. Well, okay, let's say like two weeks or whatever, right? If you were, if you're literally brand new, two weeks of like concerted effort almost, you know, class level, you know, work days right on, on html, you're probably decently comfortable with it. Very comfortable. CSS, a little harder because this is where things get hard. Cause if you, if you give two weeks for, for HTML, CSS is harder than HTML kind of, right? Because the interactions are way more varied. Right? Like, and, and maybe it's one of those things where you just, like, you, you get somewhat comfortable and then just like know that in the future you're gonna see something you don't understand and have to figure it out. Uh, but then JavaScript, like, how many months do you give JavaScript? Because if you go through that first like, sort of progression that I, I I, I, I mentioned everyone would have a perfect sort of, not perfect but good understanding of the pieces, right? Like, why did we start transpiling at all? Right? Like, uh, or why did you know, why did we adopt libraries? Like why did Bower exist? No one talks about Bower anymore, obviously, but like, Bower was like a way to distribute front end only packages, right? Um, what is it? Um, Uh, yes, there's grunt. There's like the whole build system thing, right? Once, once we decide we're gonna, we're gonna do stuff to files before we, before we push. So there's grunt, there's, uh, gulp, which is like grunt, but like, Oh, we're gonna do it all in memory. We're gonna pipe, we're gonna use this pipes thing to make sure everything goes fast. then there's like, of course that leads like the insanity that's webpack. And then there's like parcel, which did better. There's vite there's like, there's all this, there's this progression, but how many months would it take to know that progression? It, it's too long. So they end up just like, Hey, you're gonna learn react. Which is the right thing because it's like, that's what people hire for, right? But then you're gonna be in react and be like, What's webpack, right? And it's like, but you can't go down. You can't, you don't have the time. You, you can't sort of approach that problem from the other direction where you, which would give you better understanding cause you just don't have the time. I think it's hard for newer devs to overcome this. Um, but I think there are some, there's some hope on the horizon cuz some things are simpler, right? Like some projects do reduce complexity, like, by watching another project sort of innovate so like react. Wasn't the first component, first framework, right? Like technically, I, I think, I think you, you might have to give that to like, to maybe backbone because like they had views and like marionette also went with that. Like maybe, I don't know, someone, someone I'm sure will get in like, send me an angry email, uh, cuz I forgot you Moo tools or like, you know, Ember Ember. They've also, they've also been around, I used to be a huge Ember fan, still, still kind of am, but I don't use it. but if you have these, if you have these tools, right? Like people aren't gonna know how to use them and Vue was able to realize that React had some inefficiencies, right? So React innovates the sort of component. So Reintroduces the component based model component first, uh, front end development model. Vue sees that and it's like, wait a second, if we just export this like data object, and of course that's not the only innovation of Vue, but if we just export this data object, you don't have to do this fine grained tracking yourself anymore, right? You don't have to tell React or tell your the system which things change when other things change, right? Like you, you don't have to set up this watching and stuff, right? Um, and that's one of the reasons, like Vue is just, I, I, I remember picking up Vue and being like, Oh, I'm done. I'm done with React now. Because it just doesn't make sense to use React because they Vue essentially either, you know, you could just say they learned from them or they, they realize a better way to do things that is simpler and it's much easier to write. Uh, and you know, functionally similar, right? Um, similar enough that it's just like, oh they boil down some of that complexity and we're a step forward and, you know, in other ways, I think. Uh, so that's, that's awesome. Every once in a while you get like a compression in the complexity and then it starts to ramp up again and you get maybe another compression. So like joining the projects that do a compression. Or like starting to adopting those is really, can be really awesome. So there's, there's like, there's some hope, right? Cause sometimes there is a compression in that complexity and you you might be lucky enough to, to use that instead of, the thing that's really complex after years of building on it. [00:27:53] Jeremy: I think you're talking about newer developers having a tough time making sense of the current frameworks but the example you gave of somebody starting from HTML and JavaScript going to jquery backbone through the whole chain, that that's just by nature of you've put in a lot of time right you've done a lot of work working with each of these technologies you see the progression as if someone is starting new just by nature of you being new you won't have been able to spend that time [00:28:28] Victor: Do you think it could work? again, the, the, the time aspect is like really hard to get like how can you just avoid spending time um to to learn things that's like a general problem I think that problem is called education in the general sense. But like, does it make sense for a, let's say a bootcamp or, or any, you know, school right? To attempt to guide people through the previous solutions that didn't work, right? Like in math, you don't start with calculus, right? It just wouldn't, it doesn't make sense, right? But we try and start with calculus in software, right? We're just like, okay, here's the complexity. You've got all of it. Don't worry. Just look at this little bit. If, you know, if the compiler ever spits out a weird error uh oh, like, you're, you're, you're in for trouble cuz you, you just didn't get the. get the basics. And I think that's maybe some of what is missing. And the thing is, it is like the constraints are hard, right? No one has infinite time, right? Or like, you know, even like, just tons of time to devote to learning, learning just front end, right? That's not even all of computing, That's not even the algorithm stuff that some companies love to throw at you, right? Uh, or the computer sciencey stuff. I wonder if it makes more sense to spend some time taking people through the progression, right? Because discovering that we should do things via components, let's say, or, or at least encapsulate our functionality to components and compose that way, is something we, we not everyone knew, right? Or, you know, we didn't know wild widely. And so it feels like it might make sense to touch on that sort of realization and sort of guide the student through, you know, maybe it's like make five projects in a week and you just get progressively more complex. But then again, that's also hard cause effort, right? It's just like, it's a hard problem. But, but I think right now, uh, people who come in at the end and sort of like see a bunch of complexity and just don't know why it's there, right? Like, if you've like, sort of like, this is, this applies also very, this applies to general, but it applies very well to the Kubernetes problem as well. Like if you've never managed nginx on more than one machine, or if you've never tried to set up a, like a, to format your file system on the machine you just rented because it just, you know, comes with nothing, right? Or like, maybe, maybe some stuff was installed, but, you know, if you had to like install LVM (Logical Volume Manager) yourself, if you've never done any of that, Kubernetes would be harder to understand. It's just like, it's gonna be hard to understand. overlay networks are hard for everyone to understand, uh, except for network people who like really know networking stuff. I think it would be better. But unfortunately, it takes a lot of time for people to take a sort of more iterative approach to, to learning. I try and write blog posts in this way sometimes, but it's really hard. And so like, I'll often have like an idea, like, so I call these, or I think of these as like onion, onion style posts, right? Where you either build up an onion sort of from the inside and kind of like go out and like add more and more layers or whatever. Or you can, you can go from the outside and sort of take off like layers. Like, oh, uh, Kubernetes has a scheduler. Why do they need a scheduler? Like, and like, you know, kind of like, go, go down. but I think that might be one of the best ways to learn, but it just takes time. Or geniuses and geniuses who are good at two things, right? Good at the actual technology and good at teaching. Cuz teaching is a skill and it's very hard. and, you know, shout out to teachers cuz that's, it's, it's very difficult, extremely frustrating. it's hard to find determinism in, in like methods and solutions. And there's research of course, but it's like, yeah, that's, that's a lot harder than the computer being like, Nope, that doesn't work. Right? Like, if you can't, if you can't, like if you, if the function call doesn't work, it doesn't work. Right. If the person learned suboptimally, you won't know Right. Until like 10 years down the road when, when they can't answer some question or like, you know, when they, they don't understand. It's a missing fundamental piece anyway. [00:32:24] Jeremy: I think with the example of front end, maybe you don't have time to walk through the whole history of every single library and framework that came but I think at the very least, if you show someone, or you teach someone how to work with css, and you have them, like you were talking about components before you have them build a site where there's a lot of stuff that gets reused, right? Maybe you have five pages and they all have the same nav bar. [00:33:02] Victor: Yeah, you kind of like make them do it. [00:33:04] Jeremy: Yeah. You make 'em do it and they make all the HTML files, they copy and paste it, and probably your students are thinking like, ah, this, this kind of sucks [00:33:16] Victor: Yeah [00:33:18] Jeremy: And yeah, so then you, you come to that realization, and then after you've done that, then you can bring in, okay, this is why we have components. And similarly you brought up, manual dom manipulation with jQuery and things like that. I, I'm sure you could come up with an example of you don't even necessarily need to use jQuery. I think people can probably skip that step and just use the the, the API that comes with the browser. But you can have them go in like, Oh, you gotta find this element by the id and you gotta change this based on this, and let them experience the. I don't know if I would call it pain, but let them experience like how it was. Right. And, and give them a complex enough task where they feel like something is wrong right. Or, or like, there, should be something better. And then you can go to you could go straight to vue or react. I'm not sure if we need to go like, Here's backbone, here's knockout. [00:34:22] Victor: Yeah. That's like historical. Interesting. [00:34:27] Jeremy: I, I think that would be an interesting college course or something that. Like, I remember when, I went through school, one of the classes was programming languages. So we would learn things like, Fortran and stuff like that. And I, I think for a more frontend centered or modern equivalent you could go through, Hey, here's the history of frontend development here's what we used to do and here's how we got to where we are today. I think that could be actually a pretty interesting class yeah [00:35:10] Victor: I'm a bit interested to know you learned fortran in your PL class. I, think when I went, I was like, lisp and then some, some other, like, higher classes taught haskell but, um, but I wasn't ready for haskell, not many people but fortran is interesting, I kinda wanna hear about that. [00:35:25] Jeremy: I think it was more in terms of just getting you exposed to historically this is how things were. Right. And it wasn't so much of like, You can take strategies you used in Fortran into programming as a whole. I think it was just more of like a, a survey of like, Hey, here's, you know, here's Fortran and like you were saying, here's Lisp and all, all these different languages nd like at least you, you get to see them and go like, yeah, this is kind of a pain. [00:35:54] Victor: Yeah [00:35:55] Jeremy: And like, I understand why people don't choose to use this anymore but I couldn't take away like a broad like, Oh, I, I really wish we had this feature from, I think we were, I think we were using Fortran 77 or something like that. I think there's Fortran 77, a Fortran 90, and then there's, um, I think, [00:36:16] Victor: Like old fortran, deprecated [00:36:18] Jeremy: Yeah, yeah, yeah. So, so I think, I think, uh, I actually don't know if they're, they're continuing to, um, you know, add new things or maintain it or it's just static. But, it's, it's more, uh, interesting in terms of, like we were talking front end where it's, as somebody who's learning frontend development who is new and you get to see how, backbone worked or how Knockout worked how grunt and gulp worked. It, it's like the kind of thing where it's like, Oh, okay, like, this is interesting, but let us not use this again. Right? [00:36:53] Victor: Yeah. Yeah. Right. But I also don't need this, and I will never again [00:36:58] Jeremy: yeah, yeah. It's, um, but you do definitely see the, the parallels, right? Like you were saying where you had your, your Bower and now you have NPM and you had Grunt and Gulp and now you have many choices [00:37:14] Victor: Yeah. [00:37:15] Jeremy: yeah. I, I think having he history context, you know, it's interesting and it can be helpful, but if somebody was. Came to me and said hey I want to learn how to build websites. I get into front end development. I would not be like, Okay, first you gotta start moo tools or GWT. I don't think I would do that but it I think at a academic level or just in terms of seeing how things became the way they are sure, for sure it's interesting. [00:37:59] Victor: Yeah. And I, I, think another thing I don't remember who asked or why, why I had to think of this lately. um but it was, knowing the differentiators between other technologies is also extremely helpful right? So, What's the difference between ES build and SWC, right? Again, we're, we're, we're leaning heavy front end, but you know, just like these, uh, sorry for context, of course, it's not everyone a front end developer, but these are two different, uh, build tools, right? For, for JavaScript, right? Essentially you can think of 'em as transpilers, but they, I think, you know, I think they also bundle like, uh, generally I'm not exactly sure if, if ESbuild will bundle as well. Um, but it's like one is written in go, the other one's written in Rust, right? And sort of there's, um, there's, in addition, there's vite which is like vite does bundle and vite does a lot of things. Like, like there's a lot of innovation in vite that has to have to do with like, making local development as fast as possible and also getting like, you're sort of making sure as many things as possible are strippable, right? Or, or, or tree shakeable. Sorry, is is is the better, is the better term. Um, but yeah, knowing, knowing the, um, the differences between projects is often enough to sort of make it less confusing for me. Um, as far as like, Oh, which one of these things should I use? You know, outside of just going with what people are recommending. Cause generally there is some people with wisdom sometimes lead the crowd sometimes, right? So, so sometimes it's okay to be, you know, a crowd member as long as you're listening to the, to, to someone worth listening to. Um, and, and so yeah, I, I think that's another thing that is like the mark of a good project or, or it's not exclusive, right? It's not, the condition's not necessarily sufficient, but it's like a good projects have the why use this versus x right section in the Readme, right? They're like, Hey, we know you could use Y but here's why you should use us instead. Or we know you could use X, but here's what we do better than X. That might, you might care about, right? That's, um, a, a really strong indicator of a project. That's good cuz that means the person who's writing the project is like, they've done this, the survey. And like, this is kind of like, um, how good research happens, right? It's like most of research is reading what's happening, right? To knowing, knowing the boundary you're about to push, right? Or try and sort of like push one, make one step forward in, um, so that's something that I think the, the rigor isn't in necessarily software development everywhere, right? Which is good and bad. but someone who's sort of done that sort of rigor or, and like, and, and has, and or I should say, has been rigorous about knowing the boundary, and then they can explain that to you. They can be like, Oh, here's where the boundary was. These people were doing this, these people were doing this, these people were doing this, but I wanna do this. So you just learned now whether it's right for you and sort of the other points in the space, which is awesome. Yeah. Going to your point, I feel like that's, that's also important, it's probably not a good idea to try and get everyone to go through historical artifacts, but if just a, a quick explainer and sort of, uh, note on the differentiation, Could help for sure. Yeah. I feel like we've skewed too much frontend. No, no more frontend discussion this point. [00:41:20] Jeremy: It's just like, I, I think there's so many more choices where the, the mental thought that has to go into, Okay, what do I use next I feel is bigger on frontend. I guess it depends on the project you're working on but if you're going to work on anything front end if you haven't done it before or you don't have a lot of experience there's so many build tools so many frameworks, so many libraries that yeah, but we [00:41:51] Victor: Iterate yeah, in every direction, like the, it's good and bad, but frontend just goes in every direction at the same time Like, there's so many people who are so enthusiastic and so committed and and it's so approachable that like everyone just goes in every direction at the same time and like a lot of people make progress and then unfortunately you have try and pick which, which branch makes sense. [00:42:20] Jeremy: We've been kind of talking about, some of your experiences with a few things and I wonder if you could explain the the context you're thinking of in terms of the types of projects you typically work on like what are they what's the scale of them that sort of thing. [00:42:32] Victor: So I guess I've, I've gone through a lot of phases, right? In sort of what I use in in my tooling and what I thought was cool. I wrote enterprise java like everybody else. Like, like it really doesn't talk about it, but like, it's like almost at some point it was like, you're either a rail shop or a Java shop, for so many people. And I wrote enterprise Java for a, a long time, and I was lucky enough to have friends who were really into, other kinds of computing and other kinds of programming. a lot of my projects were wrapped around, were, were ideas that I was expressing via some new technology, let's say. Right? So, I wrote a lot of haskell for, for, for a while, right? But what did I end up building with that was actually a job board that honestly didn't go very far because I was spending much more time sort of doing, haskell things, right? And so I learned a lot about sort of what I think is like the pinnacle of sort of like type development in, in the non-research world, right? Like, like right on the edge of research and actual usability. But a lot of my ideas, sort of getting back to the, the ideas question are just things I want to build for myself. Um, or things I think could be commercially viable or like do, like, be, be well used, uh, and, and sort of, and profitable things, things that I think should be built. Or like if, if I see some, some projects as like, Oh, I wish they were doing this in this way, Right? Like, I, I often consider like, Oh, I want, I think I could build something that would be separate and maybe do like, inspired from other projects, I should say, Right? Um, and sort of making me understand a sort of a different, a different ecosystem. but a lot of times I have to say like, the stuff I build is mostly to scratch an itch I have. Um, and or something I think would be profitable or utilizing technology that I've seen that I don't think anyone's done in the same way. Right? So like learning Kubernetes for example, or like investing the time to learn Kubernetes opened up an entire world of sort of like infrastructure ideas, right? Because like the leverage you get is so high, right? So you're just like, Oh, I could run an aws, right? Like now that I, now that I know this cuz it's like, it's actually not bad, it's kind of usable. Like, couldn't I do that? Right? That kind of thing. Right? Or um, I feel like a lot of the times I'll learn a technology and it'll, it'll make me feel like certain things are possible that they, that weren't before. Uh, like Rust is another one of those, right? Like, cuz like Rust will go from like embedded all the way to WASM, which is like a crazy vertical stack. Right? It's, that's a lot, That's a wide range of computing that you can, you can touch, right? And, and there's, it's, it's hard to learn, right? The, the, the, the, uh, the, the ramp to learning it is quite steep, but, it opens up a lot of things you can write, right? It, it opens up a lot of areas you can go into, right? Like, if you ever had an idea for like a desktop app, right? You could actually write it in Rust. There's like, there's, there's ways, there's like is and there's like, um, Tauri is one of my personal favorites, which uses web technology, but it's either I'm inspired by some technology and I'm just like, Oh, what can I use this on? And like, what would this really be good at doing? or it's, you know, it's one of those other things, like either I think it's gonna be, Oh, this would be cool to build and it would be profitable. Uh, or like, I'm scratching my own itch. Yeah. I think, I think those are basically the three sources. [00:46:10] Jeremy: It's, it's interesting about Rust where it seems so trendy, I guess, in lots of people wanna do something with rust, but then in a lot of they also are not sure does it make sense to write in rust? Um, I, I think the, the embedded stuff, of course, that makes a lot of sense. And, uh, you, you've seen a sort of surge in command line apps, stuff ripgrep and ag, stuff like that, and places like that. It's, I think the benefits are pretty clear in terms of you've got the performance and you have the strong typing and whatnot and I think where there's sort of the inbetween section that's kind of unclear to me at least would I build a web application in rust I'm not sure that sort of thing [00:47:12] Victor: Yeah. I would, I characterize it as kind of like, it's a tool toolkit, so it really depends on the problem. And think we have many tools that there's no, almost never a real reason to pick one in particular right? Like there's, Cause it seems like just most of, a lot of the work, like, unless you're, you're really doing something interesting, right? Like, uh, something that like, oh, I need to, I need to, like, I'm gonna run, you know, billions and billions of processes. Like, yeah, maybe you want erlang at that point, right? Like, maybe, maybe you should, that should be, you know, your, your thing. Um, but computers are so fast these days, and most languages have, have sort of borrowed, not borrowed, but like adopted features from others that there's, it's really hard to find a, a specific use case, for one particular tool. Uh, so I often just categorize it by what I want out of the project, right? Or like, either my goals or project goals, right? Depending on, and, or like business goals, if you're, you know, doing this for a business, right? Um, so like, uh, I, I basically, if I want to go fast and I want to like, you know, reduce time to market, I use type script, right? Oh, and also I'm a, I'm a, like a type zealot. I, I'd say so. Like, I don't believe in not having types, right? Like, it's just like there's, I think it's crazy that you would like have a function but not know what the inputs could be. And they could actually be anything, right? , you're just like, and then you have to kind of just keep that in your head. I think that's silly. Now that we have good, we, we have, uh, ways to avoid the, uh, ceremony, right? You've got like hindley Milner type systems, like you have a way to avoid the, you can, you know, predict what types of things will be, and you can, you don't have to write everything everywhere. So like, it's not that. But anyway, so if I wanna go fast, the, the point is that going back to that early, like the JS ecosystem goes everywhere at the same time. Typescript is excellent because the ecosystem goes everywhere at the same time. And so you've got really good ecosystem support for just about everything you could do. Um, uh, you could write TypeScript that's very loose on the types and go even faster, but in general it's not very hard. There's not too much ceremony and just like, you know, putting some stuff that shows you what you're using and like, you know, the objects you're working with. and then generally if I wanna like, get it really right, I I'll like reach for haskell, right? Cause it's just like the sort of contortions, and again, this takes time, this not fast, but, right. the contortions you can do in the type system will make it really hard to write incorrect code or code that doesn't, that isn't logical with itself. Of course interfacing with the outside world. Like if you do a web request, it's gonna fail sometimes, right? Like the network might be down, right? So you have to, you basically pull that, you sort of wrap that uncertainty in your system to whatever degree you're okay with. And then, but I know it'll be correct, right? But and correctness is just not important. Most of like, Oh, I should , that's a bad quote. Uh, it's not that correct is not important. It's like if you need to get to market, you do not necessarily need every single piece of your code to be correct, Right? If someone calls some, some function with like, negative one and it's not an important, it's not tied to money or it's like, you know, whatever, then maybe it's fine. They just see an error and then like you get an error in your back and you're like, Oh, I better fix that. Right? Um, and then generally if I want to be correct and fast, I choose rust these days. Right? Um, these days. and going back to your point, a lot of times that means that I'm going to write in Typescript for a lot of projects. So that's what I'll do for a lot of projects is cuz I'll just be like, ah, do I need like absolute correctness or like some really, you know, fancy sort of type stuff. No. So I don't pick haskell. Right. And it's like, do I need to be like mega fast? No, probably not. Cuz like, cuz so I don't necessarily don't necessarily need rust. Um, maybe it's interesting to me in terms of like a long, long term thing, right? Like if I, if I'm think, oh, but I want x like for example, tight, tight, uh, integration with WASM, for example, if I'm just like, oh, I could see myself like, but that's more of like, you know, for a fun thing that I'm doing, right? Like, it's just like, it's, it's, you don't need it. You don't, that's premature, like, you know, that's a premature optimization thing. But if I'm just like, ah, I really want the ability to like maybe consider refactoring some of this out into like a WebAssembly thing later, then I'm like, Okay, maybe, maybe I'll, I'll pick Rust. Or like, if I, if I like, I do want, you know, really, really fast, then I'll like, then I'll go Rust. But most of the time it's just like, I want a good ecosystem so I don't have to build stuff myself most of the time. Uh, and you know, type script is good enough. So my stack ends up being a lot of the time just in type script, right? Yeah. [00:52:05] Jeremy: Yeah, I think you've encapsulated the reason why there's so many packages on NPM and why there's so much usage of JavaScript and TypeScript in general is that it, it, it fits the, it's good enough. Right? And in terms of, in terms of speed, like you said, most of the time you don't need of rust. Um, and so typescript I think is a lot more approachable a lot of people have to use it because they do front end work anyways. And so that kinda just becomes the I don't know if I should say the default but I would say it's probably the most common in terms of when somebody's building a backend today certainly there's other languages but JavaScript and TypeScript is everywhere. [00:52:57] Victor: Yeah. Uh, I, I, I, another thing is like, I mean, I'm, of ignored the, like, unreasonable effectiveness of like rails Cause there's just a, there's tons of just like rails warriors out there, and that's great. They're they're fantastic. I'm not a, I'm not personally a huge fan of rails but that's, uh, that's to my own detriment, right? In, in some, in some ways. But like, Rails and Django sort of just like, people who, like, I'm gonna learn this framework it's gonna be excellent. It most, they have a, they have carved out a great ecosystem for themselves. Um, or like, you know, even php right? PHP and like Laravel, or whatever. Uh, and so I'm ignoring those, like, those pockets of productivity, right? Those pockets of like intense productivity that people like, have all their needs met in that same way. Um, but as far as like general, general sort of ecosystem size and speed for me, um, like what you said, like applies to me. Like if I, if I'm just like, especially if I'm just like, Oh, I just wanna build a backend, Like, I wanna build something that's like super small and just does like, you know, maybe a few, a couple, you know, endpoints or whatever and just, I just wanna throw it out there. Right? Uh, I, I will pick, yeah. Typescript. It just like, it makes sense to me. I also think note is a better. VM or platform to build on than any of the others as well. So like, like I, by any of the others, I mean, Python, Perl, Ruby, right? Like sort of in the same class of, of tool. So I I am kind of convinced that, um, Node is better, than those as far as core abilities, right? Like threading Right. Versus the just multi-processing and like, you know, other, other, other solutions and like, stuff like that. So, if you want a boring stack, if I don't wanna use any tokens, right? Any innovation tokens I reach for TypeScript. [00:54:46] Jeremy: I think it's good that you brought up. Rails and, and Django because, uh, personally I've done, I've done work with Rails, and you're right in that Rails has so many built in, and the ways to do them are so well established that your ability to be productive and build something really fast hard to compete with, at least in my experience with available in the Node ecosystem. Um, on the other hand, like I, I also see what you mean by the runtimes. Like with Node, you're, you're built on top of V8 and there's so many resources being poured into it to making it fast and making it run pretty much everywhere. I think you probably don't do too much work with managed services, but if you go to a managed service to run your code, like a platform as a service, they're gonna support Node. Will they support your other preferred language? Maybe, maybe not, You know that they will, they'll be able to run node apps so but yeah I don't know if it will ever happen or maybe I'm just not familiar with it, but feel like there isn't a real rails of javascript. [00:56:14] Victor: Yeah, you're, totally right. There are, there are. It's, it's weird. It's actually weird that there, like Uh, but, but, I kind of agree with you. There's projects that are trying it recently. There's like Adonis, um, there is, there are backends that also do, like, will do basic templating, like Nest, NestJS is like really excellent. It's like one of the best sort of backend, projects out there. I I, I but like back in the day, there were projects like Sails, which was like very much trying to do exactly what Rails did, but it just didn't seem to take off and reach that critical mass possibly because of the size of the ecosystem, right? Like, how many alternatives to Rails are there? Not many, right? And, and now, anyway, maybe let's say the rest of 'em sort of like died out over the years, but there's also like, um, hapi HAPI, uh, which is like also, you know, similarly, it was like angling themselves to be that, but they just never, they never found the traction they needed. I think, um, or at least to be as wide, widely known as Rails is for, for, for the, for the Ruby ecosystem, um, but also for people to kind of know the magic, cause. Like I feel like you're productive in Rails only when you imbibe the magic, right? You, you, know all the magic context and you know the incantations and they're comforting to you, right? Like you've, you've, you have the, you have the sort of like, uh, convention. You're like, if you're living and breathing the convention, everything's amazing, right? Like, like you can't beat that. You're just like, you're in the zone but you need people to get in that zone. And I don't think node has, people are just too, they're too frazzled. They're going like, there's too much options. They can't, it's hard to commit, right? Like, imagine if you'd committed to backbone. Like you got, you can't, It's, it's over. Oh, it's not over. I mean, I don't, no, I don't wanna, you know, disparage the backbone project. I don't use it, but, you know, maybe they're still doing stuff and you know, I'm sure people are still working on it, but you can't, you, it's hard to commit and sort of really imbibe that sort of convention or, or, or sort of like, make yourself sort of breathe that product when there's like 10 products that are kind of similar and could be useful as well. Yeah, I think that's, that's that's kind of big. It's weird that there isn't a rails, for NodeJS, but, but people are working on it obviously. Like I mentioned Adonis, there's, there's more. I'm leaving a bunch of them out, but that's part of the problem. [00:58:52] Jeremy: On, on one hand, it's really cool that people are trying so many different things because hopefully maybe they can find something that like other people wouldn't have thought of if they all stick same framework. but on the other hand, it's ... how much time have we spent jumping between all these different frameworks when what we could have if we had a rails. [00:59:23] Victor: Yeah the, the sort of wasted time is, is crazy to think about it uh, I do think about that from time to time. And you know, and personally I waste a lot of my own time. Like, just, just rec
What's up everyone, this is Dariusz Kalbarczyk co-founder of NG Poland, JS Poland, AngularMaster.dev & WorkshopFest.dev. Welcome back to the Angular Master Podcast. https://workshopfest.dev https://ng-poland.pl https://js-poland.pl Today we've got a special guest from Vienna Austria, performance engineer, trainer and consultant, Enthusiast of technologies such as Angular, NestJS, rxjs, TypeScript. He is also GDE ang MVP. Ladies and gentlemen, Michael Hladky! Let's start the show! Topics covered in this episode: ✔ How to record and analyze flame charts ✔ How to document performance issues and measure improvements ✔ How to detect performance bottlenecks ✔ MASTER EXERCISE - Analyze and fix performance bugs ✔ Hands down with Angular's brand new DevTools ✔ Analyze memory usage and active event listeners ✔ Blocking tasks and how to spot scripting bottle necks ✔ Network analysis and improvement strategies ✔ ChangeDetection ✔ Change detection strategies & IVY features ✔ detectChanges vs markForCheck ✔ zone.js & NgZone ✔ MASTER EXERCISE - Refactoring an application to go fully zone-less ✔ ChangeDetection profiling ✔ Subscription handling & memory leaks ✔ Performance Component architecture ✔ Best & Bad performance practices of DOM Structure and css rendering ✔ Runtime performance of scripting, rendering and painting ✔ MASTER EXERCISE - Refactoring an application by leverage browse native features --- Send in a voice message: https://podcasters.spotify.com/pod/show/angular-master/message
What's up everyone, this is Dariusz Kalbarczyk co-founder of NG Poland, JS Poland, AngularMaster.dev & WorkshopFest.dev. Welcome back to the Angular Master Podcast. Today we've got a special guest from Vienna Austria, performance engineer, trainer and consultant, Enthusiast of technologies such as Angular, NestJS, rxjs, TypeScript. He is also GDE ang MVP. Ladies and gentlemen, Michael Hladky! Topics covered in this episode: ✔ Local vs. global state (when to us what) ✔ Derived state (shared computations, distinct changes, and nullish values) ✔ View vs. ViewModel ✔ OOP Design Patterns and Component state (Facade, MVVM, MVC, Adapter) ✔ Observable Inputs without decorators ✔ Observable HostBindings ✔ Managing async data streams with RxJS flattening operators ✔ How to handle error, complete, suspense, and values in the template ✔ Component lazy loading ✔ Improving UX with Reusable reactive helpers (nonFlickerLoader) --- Send in a voice message: https://podcasters.spotify.com/pod/show/angular-master/message
Having things isolated from one another makes more sense to me since scaling the application would be easier to do. Isolate FE and BE apps vs Remix Full Stack
### Topics Nest v9 Bun - new JS runtime Gatsby builds quicker! (on Netlify) Eslint - 9 lat! React Native 0.69 TanStack Table v8 Fresh 1.0 StackOverflow Survey 2022 ### Słuchaj jak Ci wygodnie Youtube https://youtu.be/cUbvsr2Gy3k Spotify http://bit.ly/devspresso_spotify Google Podcast http://bit.ly/devspresso_google_podcast iTunes http://bit.ly/devspresso_itunes SoundCloud https://soundcloud.com/devspresso/js-news-87 ### Prowadzący Sebastian i Łukasz https://www.linkedin.com/in/smysakowski https://www.linkedin.com/in/lukaszapp ### Słuchaj jak Ci wygodnie Youtube https://youtu.be/cUbvsr2Gy3k Spotify http://bit.ly/devspresso_spotify Google Podcast http://bit.ly/devspresso_google_podcast iTunes http://bit.ly/devspresso_itunes SoundCloud https://soundcloud.com/devspresso/js-news-87 ### Timestamps 00:00 - Intro 00:40 - Nest v9 04:23 - bun 10:30 - eslint 9 lat! 12:27 - React Native 0.69 14:37 - TanStack Table v8 18:13 - Fresh 1.0 20:53 - StackOverflow Dev Survey 2022 ### Źródła https://bundlephobia.com NestJS v9 https://trilon.io/blog/nestjs-9-is-now-available Bun https://bun.sh/ [Netflify] Gatsby runner cuts build times by 84% https://www.netlify.com/blog/cut-build-times-with-gatsby-runner React NATIVE 0.69 https://reactnative.dev/blog/2022/06/21/version-069 TanStack Table v8 https://tanstack.com/table/ Fresh 1.0 https://fresh.deno.dev/ Developer Survey stackoverflow 2022 https://survey.stackoverflow.co/2022/
Understanding why its good to continue to use server sider rendering with a custom backend and adding the extra middle layer for Remix to handle
full stack developer, 18650 charging, Power banks, internet cost, 12v Laptop, SSO (Single sign on), about Mastodon, NestJS and more... Download MP3 or Torrent
Doug Martin joins Nick to talk to us about building GraphQL backends in TypeScript with NestJS and his project, nestjs-query. We talk about what NestJS is and its built-in support for GraphQL and REST, and then dive into how NestJS-query extends it to generate code for you.
Doug Martin joins Nick to talk to us about building GraphQL backends in TypeScript with NestJS and his project, nestjs-query. We talk about what NestJS is and its built-in support for GraphQL and REST, and then dive into how NestJS-query extends it to generate code for you.
En este episodio hablaremos sobre NestJS, un framework para construir aplicaciones eficientes, confiables y escalables del lado del servidor. --- Support this podcast: https://anchor.fm/fernando-her85/support
Puntata ricca di opinioni sul futuro dell'IT quella di oggi.Partiamo con un classico giro di news tecniche, dalle nuove API per accedere al File System di Javascript fino alle novità di NestJS 8, passando dall'annuncio dell'end-of-life di Drupal 8, per poi arrivare ai due temi caldi di oggi. Il primo è GitHub Copilot, un progetto di IA di GitHub volto ad alleviare il lavoro dei developer con suggerimenti di snippet di codice generati da Copilot e basati su miliardi di righe di codice già raccolte.Il secondo invece è uno sguardo sulle carriere IT da due fronti diversi, quello di chi ha una laurea in informatica e quello di chi invece non ce l'ha, condito da idee sul futuro della nostra professione.Incredibilmente non parliamo di videogiochi, nonostante gli ospiti in studio.Con: Edoardo Dusi, Christian Boragine, Noemi Mancini e Claudio Serena./* Javascript FS API */https://fjolt.com/article/javascript-new-file-system-api/* Drupal 8 */https://www.drupal.org/psa-2021-2021-06-29https://www.drupal.org/project/upgrade_status/* NestJS 8 */https://trilon.io/blog/announcing-nestjs-8-whats-new/* GitHub Copilot */https://copilot.github.com/https://www.theregister.com/2021/07/06/github_copilot_autocoder_caught_spilling/https://mobile.twitter.com/noradotcodes/status/1412741339771461635/* Get into IT Without a Degree */https://www.comptia.org/career-change/switching-career-path/get-into-it-without-a-degree/* Newsletter & Telegram */https://landing.sparkfabrik.com/continuous-delivery-newsletterhttps://t.me/continuous_delivery/* Link e Social */https://www.sparkfabrik.com/ - @sparkfabrik
React Hook Form is a terrific way to manage state in, from, and through, your forms in React. Since React itself doesn't give you much to manage forms, React Hook Form steps into the gap to help you manage your forms and provide features and functionality to your forms. Our guest, Vijit Ail worked through several of the options out there for managing states and walks the panel through his decision to use React Hook Form. Panel Jack Herrington TJ VanToll Guest Vijit Ail Sponsors React Error and Performance Monitoring | Sentry Dev Influencers Accelerator Links React Hook Form Redux Form Formik BundlePhobia TypeORM NestJS Picks Jack- Nx: Smart, Extensible Build Framework TJ- Super Mario 3D World Vijit- Microservices with Node JS and React | Udemy Contact TJ: TJ VanToll's Blog Progress Software KendoReact Twitter: TJ VanToll ( @tjvantoll ) Contact Jack: Jack Herrington – YouTube Blue Collar Coder Twitter: Jack Herrington ( @jherr )
React Hook Form is a terrific way to manage state in, from, and through, your forms in React. Since React itself doesn't give you much to manage forms, React Hook Form steps into the gap to help you manage your forms and provide features and functionality to your forms. Our guest, Vijit Ail worked through several of the options out there for managing states and walks the panel through his decision to use React Hook Form. Panel Jack Herrington TJ VanToll Guest Vijit Ail Sponsors React Error and Performance Monitoring | Sentry Dev Influencers Accelerator Links React Hook Form Redux Form Formik BundlePhobia TypeORM NestJS Picks Jack- Nx: Smart, Extensible Build Framework TJ- Super Mario 3D World Vijit- Microservices with Node JS and React | Udemy Contact TJ: TJ VanToll's Blog Progress Software KendoReact Twitter: TJ VanToll ( @tjvantoll ) Contact Jack: Jack Herrington – YouTube Blue Collar Coder Twitter: Jack Herrington ( @jherr )
Joaquin Cid is an Argentinian developer who has built a plugin for NGXS state library that allows developers to connect to Firebase and have their queries automatically import into NGXS. Further, it also allows them to define actions that will update their datastore when triggered. The new Adventures in Angular panel dives into the ins and outs of using NGXS and Firebase to build rich applications with Angular and these technologies. Panel Charles Max Wood Richard Sithole Subrat Mishra Guest Joaquin Cid Sponsors Dev Influencers Accelerator Raygun | Click here to get started on your free 14-day trial Links Firebase + NGXS, the perfect couple NGXS loading spinners and actions executing GitHub | ngxs-labs/action-lifecycle-hooks GitHub | ngxs-labs/firestore-plugin GitHub | angular/angularfire Twitter: joaquin cid ( @joaqcid ) Picks Charles- Who Not How Charles- As a Man Thinketh Joaquin- Newell's Old Boys Joaquin- NGXS Richard- Chania, Crete, Greece Richard- My team (Dodo) from Optimal Systems Richard- Building Performance Optimized Web Apps with Angular and Firebase - YouTube Subrat- NestJS Subrat- Lucifer Contact Charles: Devchat.tv DevChat.tv | Facebook Twitter: DevChat.tv ( @devchattv ) Contact Richard: Enterprise Content Management Software Twitter: Ricci Rich ( @sliqric ) LinkedIn: Richard Sithole Contact Subrat: Fun Of Heuristic - YouTube GitHub: Fun Of Heuristic ( funOfheuristic ) Twitter: Subrat Kumar Mishra ( @subrat_msr )
Joaquin Cid is an Argentinian developer who has built a plugin for NGXS state library that allows developers to connect to Firebase and have their queries automatically import into NGXS. Further, it also allows them to define actions that will update their datastore when triggered. The new Adventures in Angular panel dives into the ins and outs of using NGXS and Firebase to build rich applications with Angular and these technologies. Panel Charles Max Wood Richard Sithole Subrat Mishra Guest Joaquin Cid Sponsors Dev Influencers Accelerator Raygun | Click here to get started on your free 14-day trial Links Firebase + NGXS, the perfect couple NGXS loading spinners and actions executing GitHub | ngxs-labs/action-lifecycle-hooks GitHub | ngxs-labs/firestore-plugin GitHub | angular/angularfire Twitter: joaquin cid ( @joaqcid ) Picks Charles- Who Not How Charles- As a Man Thinketh Joaquin- Newell's Old Boys Joaquin- NGXS Richard- Chania, Crete, Greece Richard- My team (Dodo) from Optimal Systems Richard- Building Performance Optimized Web Apps with Angular and Firebase - YouTube Subrat- NestJS Subrat- Lucifer Contact Charles: Devchat.tv DevChat.tv | Facebook Twitter: DevChat.tv ( @devchattv ) Contact Richard: Enterprise Content Management Software Twitter: Ricci Rich ( @sliqric ) LinkedIn: Richard Sithole Contact Subrat: Fun Of Heuristic - YouTube GitHub: Fun Of Heuristic ( funOfheuristic ) Twitter: Subrat Kumar Mishra ( @subrat_msr )
Joaquin Cid is an Argentinian developer who has built a plugin for NGXS state library that allows developers to connect to Firebase and have their queries automatically import into NGXS. Further, it also allows them to define actions that will update their datastore when triggered. The new Adventures in Angular panel dives into the ins and outs of using NGXS and Firebase to build rich applications with Angular and these technologies. Panel Charles Max Wood Richard Sithole Subrat Mishra Guest Joaquin Cid Sponsors Dev Influencers Accelerator Raygun | Click here to get started on your free 14-day trial Links Firebase + NGXS, the perfect couple NGXS loading spinners and actions executing GitHub | ngxs-labs/action-lifecycle-hooks GitHub | ngxs-labs/firestore-plugin GitHub | angular/angularfire Twitter: joaquin cid ( @joaqcid ) Picks Charles- Who Not How Charles- As a Man Thinketh Joaquin- Newell's Old Boys Joaquin- NGXS Richard- Chania, Crete, Greece Richard- My team (Dodo) from Optimal Systems Richard- Building Performance Optimized Web Apps with Angular and Firebase - YouTube Subrat- NestJS Subrat- Lucifer Contact Charles: Devchat.tv DevChat.tv | Facebook Twitter: DevChat.tv ( @devchattv ) Contact Richard: Enterprise Content Management Software Twitter: Ricci Rich ( @sliqric ) LinkedIn: Richard Sithole Contact Subrat: Fun Of Heuristic - YouTube GitHub: Fun Of Heuristic ( funOfheuristic ) Twitter: Subrat Kumar Mishra ( @subrat_msr )
Weil es Facebook ein Bedürfnis war, viele miteinander verknüpfte Daten in unterschiedlichen Ausprägungen an verschiedenste Clients auszuliefern, musste eine neue Technologie her, die sich von klassischen REST-Schnittstellen unterschied. Seit 2012 werden die Mobile Apps des sozialen Netzwerks deswegen über GraphQL mit Daten versorgt. Wenige Jahre später wurde die Abfragesprache als Open Source zur Verfügung gestellt und seither mit großer Beliebtheit von der Community weiterentwickelt. GraphQL ist ein Standard für den Datenaustausch zwischen Front- und Backend-Systemen, der eine sichere Client-Server-Kommunikation ermöglicht. Als effiziente Alternative zu klassischen REST-Schnittstellen nutzt unser Gast Gerd Jungbluth die Abfragesprache bereits seit einigen Jahren in Projekten für seine KundInnen. In dieser Folge erzählt er uns davon, was GraphQL anders löst als die üblichen Angebote da draußen. Gerd war bereits in Folge 71 über NestJS unser Gast. Wenn ihr mehr über ihn erfahren oder mit ihm in Kontakt treten möchtet, könnt ihr das ganz einfach über die Webseite von Engawa oder über Twitter via @gjungb tun. Hier findet ihr GraphQL auf GitHub. Picks of the Day Gerd: Die Elewert Hausschuhe tragen sich sehr angenehm und sind noch dazu ganz hübsch. RedwoodJS bringt “full-stack to the Jamstack”! Jojo: Mit dem Events-Addon für Statamic 3 könnt ihr Ereignisse einmalig oder wiederkehrend in einen Kalender integrieren. Auf dem YouTube-Kanal "the native web GmbH" seht ihr Videos von Golo Roden, unserem Gast in den Folgen 57 und 74, über Konzeption und Architektur von Software sowie Technologie- und Methodenwissen. Sebi: Was man alles mit Iterators and generators machen kann, hat Sebi in seinem Pick of the Day herausgefunden.Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback. podcast@programmier.bar Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen. Twitter Instagram Facebook Meetup YouTube Musik: Hanimo
Adam Wathan, the creator of Tailwind CSS, joins full stack developers Ken Wheeler and Jared Palmer on The Undefined to talk about his path to becoming a developer, the big problems traditional CSS frameworks, what it's like to bootstrap a company, and the future of Tailwind.FeaturingAdam Wathan - Twitter, Github, WebsiteKen Wheeler – Twitter, GitHub, WebsiteJared Palmer – Twitter, GitHub, WebsiteNotes / LinksTailwind CSS: Utility-focused CSS FrameworkTailwind UI: Pre-built Components and Snippets for Tailwind CSSAlpine.jsLaravel PHP FrameworkSponsor: PrismaAs a frontend developer, if you want to become fullstack, you'll find that the hardest part of backend development is working with a database.Prisma is a next-generation ORM and database toolkit that makes working with databases easy and helps frontend developers become fullstack!Visit the prisma-examples repo for lots of ready-to-run starter projects with various frameworks and libraries, like Express, Apollo, NestJS or hapi. If you're a Next.js developer, be sure to visit prisma.io/nextjs to learn more about how easy it is to integrate Prisma in your Next.js apps!Prisma has a very active and welcoming community on Slack and on GitHub where you can find help for any questions about the Prisma ecosystem.ICYMI: The Undefined ShopWe launched an online store! Checkout https://shop.undefined.fm for the dankest swag and accessories. 20% off all items during our Black Friday / Cyber Monday sale.
Evan You, the creator of Vue.js, and Rich Harris, Graphics Editor at The New York Times and creator of Svelte and Rollup, join hosts Ken Wheeler and Jared Palmer on The Undefined to talk about the future of frontend development.FeaturingEvan You - Twitter, Github, WebsiteRich Harris - Twitter, GithubKen Wheeler – Twitter, GitHub, WebsiteJared Palmer – Twitter, GitHub, WebsiteSponsor: PrismaAs a frontend developer, if you want to become fullstack, you'll find that the hardest part of backend development is working with a database.Prisma is a next-generation ORM and database toolkit that makes working with databases easy and helps frontend developers become fullstack!Visit the prisma-examples repo for lots of ready-to-run starter projects with various frameworks and libraries, like Express, Apollo, NestJS or hapi. If you're a Next.js developer, be sure to visit prisma.io/nextjs to learn more about how easy it is to integrate Prisma in your Next.js apps!Prisma has a very active and welcoming community on Slack and on GitHub where you can find help for any questions about the Prisma ecosystem.Sponsor: G2iIf you're building a new product, G2i is a company that can help you find a developer who can build the first version. G2i is a hiring platform run by engineers that matches you with React, React Native, GraphQL, and mobile engineers who you can trust. Whether you are a new company building your first product or an established company that wants additional engineering help, G2i has the talent you need to accomplish your goals. Go to g2i.co to learn more about what G2i has to offer.ICYMI: The Undefined ShopWe launched an online store! Checkout https://shop.undefined.fm for the dankest swag and accessories. 20% off all items during our Black Friday / Cyber Monday sale.
Ionic’s very own Ely Lucas swings by to chat to Alyssa, Chris & Brooks about NestJS, the node framework that’s winning over devs in the Angular community and beyond. The panel dive into the docs, learning about how Nest allows developers to structure powerful backends with a syntax that will make Angular devs in particular feel right at home. Sponsors Audible.com Raygun | Click here to get started on your free 14-day trial CacheFly Panel Alyssa Nicoll Brooks Forsyth Chris Ford Guest Ely Lucas Links https://dev.to/azure/build-your-first-serverless-app-with-angular-nestjs-and-azure-108h Amazing Backends for Angular Devs with NestJS – NG Conference twitter.com/elylucas elylucas.com github.com/elylucas Picks Alyssa Nicoll: CodeItLive Ely Lucas: Star Trek Discovery (TV Show) https://www.youtube.com/ionicframework https://thinkster.io/ Brooks Forsyth: NeuralCam Chris Ford: What We Do in the Shadows (TV series) Follow us on Twitter: @angularpodcast
Ionic’s very own Ely Lucas swings by to chat to Alyssa, Chris & Brooks about NestJS, the node framework that’s winning over devs in the Angular community and beyond. The panel dive into the docs, learning about how Nest allows developers to structure powerful backends with a syntax that will make Angular devs in particular feel right at home. Sponsors Audible.com Raygun | Click here to get started on your free 14-day trial CacheFly Panel Alyssa Nicoll Brooks Forsyth Chris Ford Guest Ely Lucas Links https://dev.to/azure/build-your-first-serverless-app-with-angular-nestjs-and-azure-108h Amazing Backends for Angular Devs with NestJS – NG Conference twitter.com/elylucas elylucas.com github.com/elylucas Picks Alyssa Nicoll: CodeItLive Ely Lucas: Star Trek Discovery (TV Show) https://www.youtube.com/ionicframework https://thinkster.io/ Brooks Forsyth: NeuralCam Chris Ford: What We Do in the Shadows (TV series) Follow us on Twitter: @angularpodcast
Ionic’s very own Ely Lucas swings by to chat to Alyssa, Chris & Brooks about NestJS, the node framework that’s winning over devs in the Angular community and beyond. The panel dive into the docs, learning about how Nest allows developers to structure powerful backends with a syntax that will make Angular devs in particular feel right at home. Sponsors Audible.com Raygun | Click here to get started on your free 14-day trial CacheFly Panel Alyssa Nicoll Brooks Forsyth Chris Ford Guest Ely Lucas Links https://dev.to/azure/build-your-first-serverless-app-with-angular-nestjs-and-azure-108h Amazing Backends for Angular Devs with NestJS – NG Conference twitter.com/elylucas elylucas.com github.com/elylucas Picks Alyssa Nicoll: CodeItLive Ely Lucas: Star Trek Discovery (TV Show) https://www.youtube.com/ionicframework https://thinkster.io/ Brooks Forsyth: NeuralCam Chris Ford: What We Do in the Shadows (TV series) Follow us on Twitter: @angularpodcast
Effiziente, zuverlässige und skalierbare serverseitige Applikationen bauen mit diesem Node.js-Framework: Gemeinsam mit Dr. Gerd Jungbluth geben wir euch in dieser Folge einen Überblick darüber, was NestJS besonders macht. NestJS war im letzten Jahr das am schnellsten wachsende Node.js-Framework und sein erfolgreicher Einsatz in großen Projekten von beispielsweise adidas, Decathlon oder Rewe gibt ihm recht. Es ist vergleichbar mit Koa.js und hat Ähnlichkeiten mit Angular. NestJS ist in TypeScript geschrieben und genießt alle Vorteile von progressivem JavaScript. Als opinionated Framework erleichtert es die Entwicklung von serverseitigen Applikationen, die skalierbar, effizient und zuverlässig sind. Dennoch ist es durch seine Modularität flexibel durch andere Libraries erweiterbar. In dieser Podcastfolge gibt uns unser Gast Gerd einen Einblick in seine Erfahrungen mit dem Framework. Gerd ist Softwareentwickler und Trainer und arbeitet hauptsächlich mit JavaScript, TypeScript und Angular. In seinen Kursen vermittelt er, was er in seinen alltäglichen Projekten mit NestJS umsetzt. Nehmt Kontakt mit Gerd und seiner Kollegin Hanka Schmidt über die Webseite von Engawa oder über Twitter via @gjungb auf und schaut euch auf Workshops.de um. Picks of the DayGerd: Prisma.io - Toolkit zum Zugriff auf Datenbanken mit Node.js, das sich auch zur Pflege und Migration von Datenbankstrukturen eignet. Moccamaster Filterkaffeemaschine für ein analoges Kaffee-Erlebnis an langen Workshoptagen. Dennis: Slack - Direct Messenger im Unternehmensumfeld, der die träge und textlastige Kommunikation per Mail drastisch vereinfacht. Slack ermöglicht reibungslosen, einfachen und schnellen Austausch in Direktnachrichten oder per Channelstruktur, um in Gruppen über spezifische Themen zu diskutieren. Gerd empfiehlt in diesem Kontext die Medienreichhaltigkeitstheorie von Robert H. Lengel und Richard L. Daft aus den 1980er Jahren. Jojo: Komoot zum Planen von Fahrradtouren und Laufstrecken. Die App schlägt euch für eure Region schöne Routen vor. Schreibt uns! Schickt uns eure Themenwünsche und euer Feedback. podcast@programmier.bar Folgt uns! Bleibt auf dem Laufenden über zukünftige Folgen und virtuelle Meetups und beteiligt euch an Community-Diskussionen. Twitter Instagram Facebook Meetup YouTube Musik: Hanimo
Guest Loiane Groner talks about how NestJS and Angular make an excellent Full Stack developer experience.
Nishu Goel joins the Adventure to talk about how Web Components can be used in Angular applications and how to use them to share functionality across multiple applications written in different frameworks. We also dive into how web components are used and compatibility across browsers. Panel Brooks Forsyth Chris Ford Charles Max Wood Eddie Hinkle Guest Nishu Goel "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Angular elements overview manfredsteyer/ngx-build-plus Web Components in Action Stencil Web Components web-component-tester Can I use... Custom Elements Everywhere Dyo is it canceled yet? Picks Charles Max Wood: Step-by-Step Angular Routing by Nishu Goel The Masked Singer Expert Secrets Chris Ford: Rhod Gilbert Clips on Youtube Brooks Forsyth: Capacitor: Universal Web Applications Eddie Hinkle: NestJS Sunlight and Warm Weather Nishu Goel: Follow Nishu on Twitter > @Dcoustawilson WebAssembly WASM game Playing with rabbits Follow Adventures in Angular on Twitter > @angularpodcast
Nishu Goel joins the Adventure to talk about how Web Components can be used in Angular applications and how to use them to share functionality across multiple applications written in different frameworks. We also dive into how web components are used and compatibility across browsers. Panel Brooks Forsyth Chris Ford Charles Max Wood Eddie Hinkle Guest Nishu Goel "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Angular elements overview manfredsteyer/ngx-build-plus Web Components in Action Stencil Web Components web-component-tester Can I use... Custom Elements Everywhere Dyo is it canceled yet? Picks Charles Max Wood: Step-by-Step Angular Routing by Nishu Goel The Masked Singer Expert Secrets Chris Ford: Rhod Gilbert Clips on Youtube Brooks Forsyth: Capacitor: Universal Web Applications Eddie Hinkle: NestJS Sunlight and Warm Weather Nishu Goel: Follow Nishu on Twitter > @Dcoustawilson WebAssembly WASM game Playing with rabbits Follow Adventures in Angular on Twitter > @angularpodcast
Nishu Goel joins the Adventure to talk about how Web Components can be used in Angular applications and how to use them to share functionality across multiple applications written in different frameworks. We also dive into how web components are used and compatibility across browsers. Panel Brooks Forsyth Chris Ford Charles Max Wood Eddie Hinkle Guest Nishu Goel "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Angular elements overview manfredsteyer/ngx-build-plus Web Components in Action Stencil Web Components web-component-tester Can I use... Custom Elements Everywhere Dyo is it canceled yet? Picks Charles Max Wood: Step-by-Step Angular Routing by Nishu Goel The Masked Singer Expert Secrets Chris Ford: Rhod Gilbert Clips on Youtube Brooks Forsyth: Capacitor: Universal Web Applications Eddie Hinkle: NestJS Sunlight and Warm Weather Nishu Goel: Follow Nishu on Twitter > @Dcoustawilson WebAssembly WASM game Playing with rabbits Follow Adventures in Angular on Twitter > @angularpodcast
JavaScript Remote Conf 2020 May 13th to 15th - register now! Brooks Forsyth is an Ionic and Angular developer who has coined a new stack called the IAN stack. The panel discusses the pros and cons of using a combination of Ionic, Angular, and NestJS to build mobile apps and their supporting APIs Panel Charles Max Wood Shai Reznik Chris Ford Guest Brooks Forsyth "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links nestjs/nest LoopBack Picks Charles Max Wood: The Expanse Star Trek: Picard Shai Reznik: http://TestAngular.com Demystifying Dependency Injection: Angular vs NestJS - Kamil Mysliwiec Chris Ford: Green Lantern Ionic 5 Brooks Forsyth: Follow Brooks on Twitter @brooks_forsyth “Pizza is an investment in your future” IAN Stack Follow Adventures in Angular on Twitter > @angularpodcast
JavaScript Remote Conf 2020 May 13th to 15th - register now! Brooks Forsyth is an Ionic and Angular developer who has coined a new stack called the IAN stack. The panel discusses the pros and cons of using a combination of Ionic, Angular, and NestJS to build mobile apps and their supporting APIs Panel Charles Max Wood Shai Reznik Chris Ford Guest Brooks Forsyth "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links nestjs/nest LoopBack Picks Charles Max Wood: The Expanse Star Trek: Picard Shai Reznik: http://TestAngular.com Demystifying Dependency Injection: Angular vs NestJS - Kamil Mysliwiec Chris Ford: Green Lantern Ionic 5 Brooks Forsyth: Follow Brooks on Twitter @brooks_forsyth “Pizza is an investment in your future” IAN Stack Follow Adventures in Angular on Twitter > @angularpodcast
JavaScript Remote Conf 2020 May 13th to 15th - register now! Brooks Forsyth is an Ionic and Angular developer who has coined a new stack called the IAN stack. The panel discusses the pros and cons of using a combination of Ionic, Angular, and NestJS to build mobile apps and their supporting APIs Panel Charles Max Wood Shai Reznik Chris Ford Guest Brooks Forsyth "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links nestjs/nest LoopBack Picks Charles Max Wood: The Expanse Star Trek: Picard Shai Reznik: http://TestAngular.com Demystifying Dependency Injection: Angular vs NestJS - Kamil Mysliwiec Chris Ford: Green Lantern Ionic 5 Brooks Forsyth: Follow Brooks on Twitter @brooks_forsyth “Pizza is an investment in your future” IAN Stack Follow Adventures in Angular on Twitter > @angularpodcast
Santosh Yadav is a software developer from Pune India with 10 years of professional experience and a GDE (Google Developer Expert) for Angular, he shared his story on how the journey to a GDE began after attending his first NgIndia conference in 2019. He also talked about his current series of 20 days of NestJs and shared his secret to writing amazing articles every day. Santosh's Series on NestJS Read Here Link to NgIndia: https://www.ng-ind.com/ --- Send in a voice message: https://anchor.fm/talkoncoffee/message
Dan Shapir is the CTO of PayK, an Australian/Israeli fintech company. He is also the author of the open-source NestJS Zeebe integration. In this interview we talk about NestJS, Zeebe, using a workflow engine to orchestrate microservices, and the effect of technology choices on hiring pressures in a start-up rich economy.PayK's website: www.payk.com.auDan's Zeebe integration for NestJS: @payk/nestjs-zeebeNestJS: nestjs.comZeebe Node package: zeebe-nodeZeebe Project: zeebe.io
In this last episode, Ashleigh will be talking about Communicating between Front end , Micro-services & IOT using NestJS. She will touch on DINO and how this may replace NodeJS. You can connect with her here; https://www.linkedin.com/in/ashleigh-simonelli-01b5a1b6/ https://colchesterdigital.org.uk/speakers/ashleigh-simonelli/ If you liked this episode and want more on this topic click here: https://c2bsolutions.podbean.com/ We would love to stay connected with you Contact us to discuss how we can help you recruit PHP Developers today! Visit our website: www.c2bsolutions.co.uk Call us on - 01582 965330 Email - Info@c2bsolutions.co.uk Linkedin - https://www.linkedin.com/showcase/php-division-c2b/ Twitter - @c2bsolutionsuk
EP#39 - NestJS In this week we will be talking about NestJs, Ashleigh will be explaining what this is and the benefits for PHP developers using NestJS. You can connect with her here; https://www.linkedin.com/in/ashleigh-simonelli-01b5a1b6/ https://colchesterdigital.org.uk/speakers/ashleigh-simonelli/ If you liked this episode and want more on this topic click here: https://c2bsolutions.podbean.com/ We would love to stay connected with you Contact us to discuss how we can help you recruit PHP Developers today! Visit our website: www.c2bsolutions.co.uk Call us on - 01582 965330 Email - Info@c2bsolutions.co.uk Linkedin - https://www.linkedin.com/showcase/php-division-c2b/ Twitter - @c2bsolutionsuk
EP#37 PHP with Ashleigh Simonelli We have a new series and we will be speaking to Ashleigh Simonelli , Ashleigh works for Wi-Q technologies building Mobile ordering apps for hotels and restaurants. We will be discussing her background, how she got into PHP development and some of the reasons she is starting to look into other languages. In the next few weeks we will discussing PHP,TypeScript, communication protocols, Micro services, NestJS etc. You can connect with her here; https://www.linkedin.com/in/ashleigh-simonelli-01b5a1b6/ https://colchesterdigital.org.uk/speakers/ashleigh-simonelli/ If you liked this episode and want more on this topic click here: https://c2bsolutions.podbean.com/ We would love to stay connected with you Contact us to discuss how we can help you recruit PHP Developers today! Visit our website: www.c2bsolutions.co.uk Call us on - 01582 965330 Email - Info@c2bsolutions.co.uk Linkedin - https://www.linkedin.com/showcase/php-division-c2b/ Twitter - @c2bsolutionsuk
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan TripleByte offers a $1000 signing bonus Panel Alyssa Nicoll Joe Eames Charles Wood Episode Summary This weeks panel, Charles Wood, Alyssa Nicholl, and Joe Eames discuss 2 articles: 1st The Great Divide by Chris Coyier and 2nd Tales of a Non-Unicorn by Laura Schenk. These articles tell of the broad meaning for “Front-End Web Developer” talking of how “HTML + CSS along with JavaScript” all fall under the same title causing confusion with job interviews and even once a developer gets into the job. It is neat to hear perspectives of Alyssa Nicholl and Joe Eames together as Alyssa is more on the HTML/CSS side of Web Dev and Joe Eames is more with the JavaScript side. The panel also discusses difficulties with interviewing for jobs. Charles Wood leads a discussion on what the interviewers could improve on in hiring the people they actually want. The panel shares experiences of not getting jobs for reasons that are not super valid. They also touch on the pay difference between the 2 sides of the “WebDev” job description. Links The Great Divide by Chris Coyier The Refactoring UI Youtube Tales of a Non-Unicorn: A Story About The Trouble with Job Titles and Descriptions Why Everyone Is Fighting About CSS/UX and JS Economics CodePen Job Posting Picks Joe Eames: The Refactoring UI Youtube The Refactoring UI Steve Schoger Twitter NestJS Charles Wood: The Checklist Manifesto: How to Get Things Right by Atul Gawandi Alyssa Nicoll: 100 Days CSS Challenge
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan TripleByte offers a $1000 signing bonus Panel Alyssa Nicoll Joe Eames Charles Wood Episode Summary This weeks panel, Charles Wood, Alyssa Nicholl, and Joe Eames discuss 2 articles: 1st The Great Divide by Chris Coyier and 2nd Tales of a Non-Unicorn by Laura Schenk. These articles tell of the broad meaning for “Front-End Web Developer” talking of how “HTML + CSS along with JavaScript” all fall under the same title causing confusion with job interviews and even once a developer gets into the job. It is neat to hear perspectives of Alyssa Nicholl and Joe Eames together as Alyssa is more on the HTML/CSS side of Web Dev and Joe Eames is more with the JavaScript side. The panel also discusses difficulties with interviewing for jobs. Charles Wood leads a discussion on what the interviewers could improve on in hiring the people they actually want. The panel shares experiences of not getting jobs for reasons that are not super valid. They also touch on the pay difference between the 2 sides of the “WebDev” job description. Links The Great Divide by Chris Coyier The Refactoring UI Youtube Tales of a Non-Unicorn: A Story About The Trouble with Job Titles and Descriptions Why Everyone Is Fighting About CSS/UX and JS Economics CodePen Job Posting Picks Joe Eames: The Refactoring UI Youtube The Refactoring UI Steve Schoger Twitter NestJS Charles Wood: The Checklist Manifesto: How to Get Things Right by Atul Gawandi Alyssa Nicoll: 100 Days CSS Challenge
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan TripleByte offers a $1000 signing bonus Panel Alyssa Nicoll Joe Eames Charles Wood Episode Summary This weeks panel, Charles Wood, Alyssa Nicholl, and Joe Eames discuss 2 articles: 1st The Great Divide by Chris Coyier and 2nd Tales of a Non-Unicorn by Laura Schenk. These articles tell of the broad meaning for “Front-End Web Developer” talking of how “HTML + CSS along with JavaScript” all fall under the same title causing confusion with job interviews and even once a developer gets into the job. It is neat to hear perspectives of Alyssa Nicholl and Joe Eames together as Alyssa is more on the HTML/CSS side of Web Dev and Joe Eames is more with the JavaScript side. The panel also discusses difficulties with interviewing for jobs. Charles Wood leads a discussion on what the interviewers could improve on in hiring the people they actually want. The panel shares experiences of not getting jobs for reasons that are not super valid. They also touch on the pay difference between the 2 sides of the “WebDev” job description. Links The Great Divide by Chris Coyier The Refactoring UI Youtube Tales of a Non-Unicorn: A Story About The Trouble with Job Titles and Descriptions Why Everyone Is Fighting About CSS/UX and JS Economics CodePen Job Posting Picks Joe Eames: The Refactoring UI Youtube The Refactoring UI Steve Schoger Twitter NestJS Charles Wood: The Checklist Manifesto: How to Get Things Right by Atul Gawandi Alyssa Nicoll: 100 Days CSS Challenge
Sponsors Sentry- use the code “devchat” for $100 credit Angular Bootcamp Triplebyte CacheFly Episode Summary In this episode of Adventures in Angular, the panelists talk with Kevin Kreuzer on source maps. Kevin is a freelance Software Engineer from Switzerland and currently is a part of the frontend architectural team for a company called Schaltstelle. He also regularly writes blog posts on Angular topics, contributes to opensource projects and is the co-founder of a startup – Trasier. Kevin talks about what led to the development of source maps, how they are generated and explains their working in detail. He elaborates on various approaches of deploying source maps to production without revealing the source code and gives tips on solving issues that come up. The panelists discuss about using these maps for templates (CSS, HTML, etc.) and briefly touch on NestJS. Links Kevin on Medium Kevin’s Twitter Kevin’s blog - Angular in Depth Picks Shai NestJS Capturing stage in events Why We Sleep Alyssa Angular Air - Dry Forms with Sander Elias Charles HubSpot Eero Kevin Trasier Uphill Conference - Bern, Switzerland Enhancement for Medium stats
Sponsors Sentry- use the code “devchat” for $100 credit Angular Bootcamp Triplebyte CacheFly Episode Summary In this episode of Adventures in Angular, the panelists talk with Kevin Kreuzer on source maps. Kevin is a freelance Software Engineer from Switzerland and currently is a part of the frontend architectural team for a company called Schaltstelle. He also regularly writes blog posts on Angular topics, contributes to opensource projects and is the co-founder of a startup – Trasier. Kevin talks about what led to the development of source maps, how they are generated and explains their working in detail. He elaborates on various approaches of deploying source maps to production without revealing the source code and gives tips on solving issues that come up. The panelists discuss about using these maps for templates (CSS, HTML, etc.) and briefly touch on NestJS. Links Kevin on Medium Kevin’s Twitter Kevin’s blog - Angular in Depth Picks Shai NestJS Capturing stage in events Why We Sleep Alyssa Angular Air - Dry Forms with Sander Elias Charles HubSpot Eero Kevin Trasier Uphill Conference - Bern, Switzerland Enhancement for Medium stats
Sponsors Sentry- use the code “devchat” for $100 credit Angular Bootcamp Triplebyte CacheFly Episode Summary In this episode of Adventures in Angular, the panelists talk with Kevin Kreuzer on source maps. Kevin is a freelance Software Engineer from Switzerland and currently is a part of the frontend architectural team for a company called Schaltstelle. He also regularly writes blog posts on Angular topics, contributes to opensource projects and is the co-founder of a startup – Trasier. Kevin talks about what led to the development of source maps, how they are generated and explains their working in detail. He elaborates on various approaches of deploying source maps to production without revealing the source code and gives tips on solving issues that come up. The panelists discuss about using these maps for templates (CSS, HTML, etc.) and briefly touch on NestJS. Links Kevin on Medium Kevin’s Twitter Kevin’s blog - Angular in Depth Picks Shai NestJS Capturing stage in events Why We Sleep Alyssa Angular Air - Dry Forms with Sander Elias Charles HubSpot Eero Kevin Trasier Uphill Conference - Bern, Switzerland Enhancement for Medium stats
Panel Joe Eames Jesse Sanders Mike Dane Dani Sloan Brooke Avery Kent C. Dodds Joined by guest panelist: Alyssa Nicoll Episode Summary In this episode of the Dev Ed podcast, the panelists talk about the importance of staying up-to-date and learning continuously as a developer. They share their own experiences, and stress on the benefits of being a lifelong learner while finding a niche to build expertise in. They discuss the fact that companies should actively arrange learning resources for employees and give insight into ways for people to manage time in order to incorporate continuous education in their daily life, and handling stress in situations where answers/concepts are not known. Joe asks the panelists to what extent they tend to go while learning something, in cases where they know they aren’t getting paid for it, to which they answer that passion and enjoyment are the major influencing factors. They also discuss how to identify what exactly should be learnt in order to advance careers, how to learn things when there is no interest or passion at all, and indicators to detect when one is falling behind and needs to get on track. Finally, they each mention one learning experience where they felt vulnerable and one thing they would like to share with everyone. Links CodePen Kent C. Dodds website Picks Brooke Avery: Being in a Boot Camp Stance Socks Joe Eames: • Working with a really smart programmer • Things I Don’t Know as of 2018 – Dan Abramov Alyssa Nicoll: Answering questions Dev Jesse Sanders: Going to conferences NestJS Mike Dane: Doing CSS challenges We Work Remotely Kent C. Dodds: Working on his website React Hooks Dani Sloan: Reading academic journals Limiting notifications on communication channels such as Slack
Panel Joe Eames Jesse Sanders Mike Dane Dani Sloan Brooke Avery Kent C. Dodds Joined by guest panelist: Alyssa Nicoll Episode Summary In this episode of the Dev Ed podcast, the panelists talk about the importance of staying up-to-date and learning continuously as a developer. They share their own experiences, and stress on the benefits of being a lifelong learner while finding a niche to build expertise in. They discuss the fact that companies should actively arrange learning resources for employees and give insight into ways for people to manage time in order to incorporate continuous education in their daily life, and handling stress in situations where answers/concepts are not known. Joe asks the panelists to what extent they tend to go while learning something, in cases where they know they aren’t getting paid for it, to which they answer that passion and enjoyment are the major influencing factors. They also discuss how to identify what exactly should be learnt in order to advance careers, how to learn things when there is no interest or passion at all, and indicators to detect when one is falling behind and needs to get on track. Finally, they each mention one learning experience where they felt vulnerable and one thing they would like to share with everyone. Links CodePen Kent C. Dodds website Picks Brooke Avery: Being in a Boot Camp Stance Socks Joe Eames: • Working with a really smart programmer • Things I Don’t Know as of 2018 – Dan Abramov Alyssa Nicoll: Answering questions Dev Jesse Sanders: Going to conferences NestJS Mike Dane: Doing CSS challenges We Work Remotely Kent C. Dodds: Working on his website React Hooks Dani Sloan: Reading academic journals Limiting notifications on communication channels such as Slack
Panel Joe Eames Jesse Sanders Jared Stein Mike Dane Dani Sloan Brooke Avery Kent C. Dodds Episode Summary In this first episode of the Dev Ed podcast, the panelists start with giving brief introductions about themselves and their work, most of them being educators and trainers in software development. They then discuss some of the best ways for people to get into programming, focusing on the importance of motivation and passion, while narrating their own experiences. They talk about choosing the right learning resources and paths based on individual needs, effective tools and techniques for current programmers to stay up to date with ongoing developments and retaining learnt concepts. They also discuss benefits of publishing work online thus making it available for the public, significance of teaching and how to get into it, and mention tips and hacks on effective time management so as to continue learning in spite of a busy schedule. They wrap up the episode by each stating what they wish to learn the most, and one thing they would like to share with friends. Links ng-conf Mike Dane - YouTube Kent C. Dodds – YouTube Deciding What Not to Learn - Blog Picks Kent C. Dodds: GraphQL Novel in progress - Shurlan Brooke Avery: Rails Lost Stars Jesse Sanders: NestJS Having a good morning routine with mediation, reading and journaling Joe Eames: NestJS Screen Rant Pitch Meetings Mike Dane: CSS Animations The Coding Train Jared Stein: What makes efficient and productive learning happen Dani Sloan: Meditation Moodrise
Panel Joe Eames Jesse Sanders Jared Stein Mike Dane Dani Sloan Brooke Avery Kent C. Dodds Episode Summary In this first episode of the Dev Ed podcast, the panelists start with giving brief introductions about themselves and their work, most of them being educators and trainers in software development. They then discuss some of the best ways for people to get into programming, focusing on the importance of motivation and passion, while narrating their own experiences. They talk about choosing the right learning resources and paths based on individual needs, effective tools and techniques for current programmers to stay up to date with ongoing developments and retaining learnt concepts. They also discuss benefits of publishing work online thus making it available for the public, significance of teaching and how to get into it, and mention tips and hacks on effective time management so as to continue learning in spite of a busy schedule. They wrap up the episode by each stating what they wish to learn the most, and one thing they would like to share with friends. Links ng-conf Mike Dane - YouTube Kent C. Dodds – YouTube Deciding What Not to Learn - Blog Picks Kent C. Dodds: GraphQL Novel in progress - Shurlan Brooke Avery: Rails Lost Stars Jesse Sanders: NestJS Having a good morning routine with mediation, reading and journaling Joe Eames: NestJS Screen Rant Pitch Meetings Mike Dane: CSS Animations The Coding Train Jared Stein: What makes efficient and productive learning happen Dani Sloan: Meditation Moodrise
Si quieres ver el vídeo con slides: https://youtu.be/7oEV4p8IJVM Si hablamos de javascript del lado del servidor, todos pensamos en Node, pero lo cierto es que prácticamente nadie utiliza Node puro. Lo más habitual es acompañar a Node con otros frameworks que nos faciliten la tarea, como Express o Loopback. Si bien estos frameworks son estupendos, no promueven un código mantenible ni aplican patrones, como la inyección dependencias, que convenza a los desarrolladores enamorados de paradigmas como Java o .NET. NestJS es un nuevo framework para el desarrollo de backends basados en Node que convencerá, por fin, a los más vetustos developers. Talk is cheap...