Load Balancing Digital Ocean Droplets - Live Coding with Jesse

freeCodeCamp.org · Beginner ·📅 Project Management ·9y ago

Key Takeaways

Sets up load balancing between multiple Digital Ocean droplets running a React site

Full Transcript

hey everybody uh it's Jesse this stream I'm having troubles with uh with my streaming so that's why it was delayed um I'm thinking this this is probably a pretty bad stream so let me know in the live chat um what it's like so I'm I'm streaming from home today and my connection my my upload connection is not nearly as fast uh as it is like I think my my upload speed at work is like I don't know like 25 times faster than what I have at home so I'm not seeing anything in the live chat right now let me see if anybody's actually in here oh okay I see a couple of people my analytics must be uh lagging a little bit because it said nobody was in here all right so that's that's good uh the um the uh control room and and YouTube is just giving me all kinds of red error messages here so I I kept thinking this wasn't going to work so luckily because I I kind of suspected that my uh my quality of my stream might not be as high as normal uh I've decided to just tackle the load balancing issue that we've been talking about you know for I don't know at least a week I I think maybe we've been I've been mentioning it uh so I figure that'll be easier to see uh than a lot of code so it'll be mostly done in the terminal I can make just kind of blow it up really big and you'll really only have to look at me doing one command at a time and actually not even in the terminal there's uh a lot of stuff will just be done right in the browser so that should be easier even if the quality is a little bit lower oh I didn't even noticed how zoomed it was um Sebastian just mentioned in the live chat that it's really zoomed and I I just checked to see what my screen looks like to you all and it does look really zoomed what is going on um wow all right let me let me fix this because it should not be that um it it shouldn't be that [Music] small let's see let me try let me try switch into another display and see how that looks for you it looks like it's not even it's not letting me switch all right so let me um I'm actually let me uh take a second and I'm going to restart the stream so it might go down for a second I'm going to start it right back up again uh I just need to um I know a few minutes ago it was it was displaying fine and then I just switched from one of my displays to another and then now it now I can't switch back I can't change anything so I just want to restart uh I'm using OBS to stream I just want to restart it quickly and and see if that makes a difference hopefully I've never actually stopped and restarted a stream before so hopefully this just picks up right in the same event and it doesn't mess everything up um otherwise I'd hate to have to start a new event but I'll I'll get it started sorry for the delay okay I think I'm back and I'm actually not getting the errors anymore on my stream so let me know if you can hear me if you can see anything okay working video so uh can anybody hear me now but not see the video or can you not hear me at all let me I'm going to type in the chat too okay so it looks like some of you can hear there's there's maybe like a minute delay uh between what I'm doing and and what uh you all see so so some people have video but no audio and some people said they have audio and no video all right it looks like it's it is working um all right so yeah the uh there might be some some buffering or some weird stuff going on that's just because my internet connection I actually have the best connection that I can possibly buy for my location and it's really sad uh I think my um my Max um download speed is like 25 uh megabits per second and maybe I have like five uh for upload so it's not great um at least I'm it's okay for doing pretty mostly what I need to do for my work but when it comes to live streaming it's not not good so sorry for all that that mess I really should have just scheduled the event to start later a half hour later and then saved you all the trouble of uh of watching uh me try to fix it all uh but at least now now I have it set up so I should be able to stream from my laptop from home now if I need to so all right it looks like uh Paul and the live chat says uh he only gets 10 um download and one upload right so that's I feel a little bit better now uh it's actually crazy I think I pay like um like 80 or $90 a month for the 25 uh upload and I I think it's five download but I really can't ever consistently get over like three uh for download my upload usually rates at like I don't know maybe 18 at the highest so you know how that works you never really get as much as they tell you you're going to get oh man Hamza hza has four download and one upload sorry about that oh well I'm hoping you know like Google or Facebook or somebody will come through with one of their uh their plans to beam internet from planes or balloons or something or isn't uh doesn't Elon Musk want to do it from satellites or something so I'm hoping that works out one day and we can all get uh good internet and there won't be a monopoly anymore from uh from the cable companies so but until that time we have to deal with with this internet so yeah uh Shri Shan sorry if I'm mispronouncing the name it looks like Shon says the 4G is faster than the home network that's how my network used to be and when I realized it when I did speed tests on my 4G and on my home network and I realized my 4G was faster that was like the last draw and then I I called and just said what's the fastest I can get uh and that was it uh so now now I have faster it just seemed crazy to me that I'm a web developer and I I would have uh internet that was slower than than 4G so all right so enough about the internet let's um let's get get to work wow this must be a popular topic so I I posted on Twitter right when I started that I was going to do this and um my phone just keeps vibrating uh almost non-stop with uh people on on Twitter liking that so that's really cool I mean maybe we'll get some new viewers um that we haven't had before this is kind of a different topic it's not exactly like web development we're not going to be working with code we're going to be doing load balancing so uh I do want to let you know yesterday um someone I forget who but someone had asked about um see getting access to the Trello board that I use uh for this project so I um I did do that I so I made it public and I put the link to the board in the description for this video and for yesterday's video so this is the trell board that I was using so now you can see it is public so you can check it out I don't know if you guys can hear that vibrating but it's like it's it's a lot I I normally don't get that many interactions uh when I when I announc I'm going to do something on Twitter so um anyway you can check out that board and just kind of see like get an idea for how I manage my projects with Trello and what I still have left to do and what I've done and you'll get a good idea for how long it's taken me to do it so just to bring it back quickly if you want if you're going to check out the Trello board uh these little things they're not really explained here so I'll explain them right now the dark blue is how many Pomodoro sessions I estimated that that would take the light blue is how many it actually took so if you're checking out these tasks and wondering you know what went into that that that's it each Pomodoro session is 25 minutes so it can also give you an idea for how long things took or you know you could you could figure out if I'm a fast worker or a slow worker I don't really know if I'm fast or slow I don't I've never compared myself to anybody else but um uh but you all requested that so that's a ailable to you now so yesterday we did have some some discussion in the live chat about load balancing and what we need to do it so I uh since I'm on digital ocean already so the site is hosted on a droplet on digital ocean I uh decided like well why don't I just see if digital ocean has a tutorial already on it you know they have pretty good documentation for a lot of things so I checked and at first I found some really old tutorials from like 2012 and I I was not really comfortable using that because I'm sure a lot has changed and uh so then finally I found one from uh 2017 and that's the one that I'm going to use so I linked to it it's in the description so if you want to follow along uh you can check it out as well um if you tuned in for the video where I set up like the SS certificate and the servers initially this is probably going to be similar to that so if you thought that was super boring I'm sorry maybe you might want to um do something else or while you're watching this in the background uh but if you were interested in that then this this would be a good video for you so not really frontend something I would consider front-end development which is what I normally do um this I guess you would consider this more on uh the backend uh side of things or maybe devops I'm not sure exact exactly where it would fall um but this is the um this is the instructions that we're going to going to be going off of so sometime recently So within the last I don't know six months or so I I I vaguely remember getting an email or something from digital ocean saying that they were including load balancing and I had forgotten that until I went to look this up uh earlier today so I'm going to follow this I don't they're doing it for three I don't need three I'm only going to set up two droplets so here's the plan the first step is clone my droplet or what I I forget what it's called in digital ocean terminology but the first step's going to be I need a copy of my my droplet running to test it uh we might actually at First just do like two new droplets so we can test the load balancing between those two before I actually move like the real site on onto the load balancer and and because we'll need to point the IP address and everything so before I do that let's let's create two droplets and uh if I can create these if I can just like copy these that'll probably be the fastest way to do it uh copy them get them up and running and then we'll set up the load balancer between those two see if it works we'll point I I think I'm going to even go so far as to point a domain to the uh to the load balance we definitely need to be careful to make sure the SSL still works so that's that's going to be something uh we need to remember to test um and then if it all works and everything's good then we'll uh take down one of the droplets because I don't need three droplets and we'll move the live droplet into the load balancer and at the same time we will point the actual domain for the website to the IP address for the load balancer and not not for the droplets themselves then the load balancer will take care of uh the balancing between the droplets it'll just uh direct traffic to either one unless it detects that one is down I think it's by default it's going to check every 10 seconds to see if one is up and if if it detects that your drop one of the droplets is down it'll just direct everything to the other one and that's perfect that's exactly what we want because when we have one down because we're updating it or if if something crazy would happen it actually did you know legitimately go down for some problem then it would direct it to the other one then once we have the first one back online we'll switch to the other one and update that so it'll be one extra step for updating but for that extra step we will be gaining basically zero downtime for our site which is awesome because uh I think I mentioned yesterday that we have somewhere between 30 seconds and 45 seconds of downtime which is mitigated by the fact that we're doing some aggressive caching um even some some client side things with the Ser service worker so most people don't actually feel that full 45 seconds of downtime but I still would rather not have it oh I just checked the live chat let me check the live chat just quickly before we get started just see if there's any questions if I need to clarify anything and then we'll get into it I expect that this will be a little bit of a longer video one because I wasted the first 20 minutes just trying to get this set up um and if you're just joining me uh sorry about the delay I'm streaming from a different computer and a different location than I normally do so the setup was a little weird uh and uh had some unexpected problems uh so I'm going to check this out it looks like uh so I don't know how to pronounce it q n o x uh um I'm I'm pretty sure that's not really somebody's name if it is let me know how to pronounce that but uh they mentioned that digital ocean retweeted My Stream call out so I did tag digital ocean in uh the Tweet so that explains why I was getting uh so many retweets and likes on that so thanks thanks for letting me know I didn't want to take the time to actually look at my Twitter and figure that out during the video because that would not be helpful for you all I'm sure everybody knows how to use Twitter here and doesn't doesn't need me to demonstrate that um all right so let me check there's not a whole lot in the live stream so this should just take a minute uh after I check the live stream here then I'm GNA kind of leave it alone for a little bit and and get to work um the random shots says nice website just checked out the site thank you uh I appreciate that thanks for checking it out and uh I'm glad you liked it uh also has a question what best La what's the best laptop spec for web developer should I get a Macbook um okay so there are some people already answered that as in terms of laptops uh if you want my opinion I currently am on a MacBook Pro I think it's like a 2015 model MacBook Pro so it was the last one that still had an HDMI port uh which is which is why I wanted it it has like the base specs there not I don't think I got the upgraded Ram or anything like that so I I actually can't even remember I think maybe I'm running like eight eight Mega uh or I'm sorry eight uh gigs of RAM uh so I wish now that I actually got a bigger hard drive but at the time uh I I didn't want to spend a ton of money on a new uh laptop and I just went with a refurbished one so if I was going to get a new laptop top so I I totally I like my MacBook it's great the display is really nice it's the the retina display it's like 2K uh the um the touchpad is the nicest touchpad that I've ever um seen on a laptop that I've ever used so I really like that and I like that it matches you know all the touchpad uh shortcuts and motions that I use match my work computer which is an iMac uh and I use the magic like touchpad thing with that so so that's cool but if my next computer is going to be a Linux computer uh so I have uh desktop PCS I have a Chromebook uh Macbook so I have a lot of other stuff so I don't if I need to use those I have them so I think I'm going to go with Linux uh I actually just read a good article I don't say just maybe it was like two months ago or something but I read an article about the best uh laptops for Developers that that run lenux so I can't remember what that was sorry about that uh I can't I can't even remember where I read it from so maybe if I if I remember during the stream I'll I'll let you know but I would go with that uh simply because I'm get starting to get used to Linux stuff using it on servers uh I the Linux commands are like pretty much for the command line are like the same as for Mac so you have the same stuff for a PC it's a little bit different so I would kind of like to keep that the same I with with the ransomware stuff that's been going around like I've never gotten ransomware and I'm pretty careful uh about things on the internet so I'm not really worried about it but it's nice that you know Linux wasn't affected Mac wasn't either for that reason so uh anyway hopefully I answered your question I I know I didn't give anything specific but uh there's also just uh kind of a factor for me of Linux is the only operating the major operating system that I don't have yet you know I have mac I have PC I have Chrome OS so it would be cool to just have Linux so that I could have all the different environments that I you know that that 99% of people in the world are using for their machines so it that would be kind of cool to have to have experience with all of them uh all right let me scroll down a lot of this is just you all um letting me know that the stream's either working or not working all right Sky VD asks show us some CSS coding uh today there's probably not going to be any CSS so I'm sorry about that but normally there is CSS so uh almost every time I stream I think we've done at least some CSS so we're going to get back to that uh I definitely have on my my Trello board on my list of to-dos there's a ton of stuff in there that will will require some CSS so I'm going to be doing that uh just not today so uh check me out a different day uh uh usually 2 pm Eastern Time Monday through Friday uh if I'm going to be doing it at a different time I will um I'll put that on Twitter and you know I'll schedule the time uh on the free code Camp channel so so you'll know about it um mark says new to free code Camp how good the content from here is compared to different not free content like Udacity um I'm I'm sure you probably uh got some answers from people in the Stream but uh Marcus that's it my brother's name is is Marcus so uh I like that name um I've done a lot of stuff from Udacity and from free code Camp uh Udacity has some some good stuff some of their stuff is really um it's advanced and very like specific so you'll have a course that'll be specific to one you know particular topic or n free code Camp covers like a lot of what you need for front end and back end and it's not like a very deep dive into one particular topic uh so I would say if you're just beginning you'll probably be better off starting with free code camp and then supplementing with some things from Udacity uh but there are some things in Udacity that I would definitely go with like the Linux basic and the uh git and GitHub course you know go with that right off the bat uh because that'll that'll help you out and as far as I know that's not covered in free code cam at least um the last time I was I was in free code Cam doing some things that wasn't really covered so uh I actually use both I I haven't done any training recently uh which kind of stinks I I like to I like to do a little bit you know every I'd love to be able to do it every day but I can't always so uh but when I was doing it I was actually going back and forth between free code camp and mainly Udacity there are some other things like uh like the you don't know JS book that I was going through so uh but that's that's what I recommend and I think in terms of quality free code Camp is good quality I've done a lot of different free um and mostly free resources I haven't I haven't done paid I mean done Udacity but that can be a paid resource but I didn't I just did the free version of it so um I would say quality-wise it definitely Compares it just it depends on what you really need to learn uh and what you what you want to learn all right so let me I want to get to this so I'm just going to kind of skip a little bit Sebastian your name did change to Sebastian in the live stream so uh awesome okay so I'm going to cut it off there and as far as looking at the live stream so at the end when I'm done I'll come back and check out what I missed but now I want to get to work because um we're we're pretty far in uh into the stream now we haven't done very much load balancing all right so the first thing we're going to do is clone our droplets so let me go back to droplets I've never actually cled to drop it like in the same account like I've made a snapshot and then transfer the snapshot to somebody else uh to a client account uh so let's see let's see how we do this or I can I can uh try it the smarter way and just look up how to clone a drop or if somebody in the live um chat has done this um let me know and uh taking five minutes to figure out how to do this is going to save us a lot of time because otherwise we would actually have to set up droplets uh you know manually okay it looks like we can just take a snapshot and and then make droplets based on that snapshot so let's let's try that so I've done that before okay Bart just said the same thing in live chat so thanks uh let's um let's do that snapshot yeah I'm not I'm not going to power it down I don't want to power down the live site I'm just going to take my chances uh with this and hopefully uh it it will all work maybe I should have powered it down I don't remember how long this took the last time I did it uh does it seem normal that it's taking this long there's not really an option to cancel it so I guess we have to wait all right yeah I'm seeing uh I'm seeing some new names in the live chat so uh welcome if this is you know your first time watching or maybe just your first time chatting uh thanks for joining in uh if you haven't joined before uh I'll just let you know kind of while we're waiting for this to work um this this channel is uh this this not the channel itself but this particular show on this channel is pretty much just me doing my my everyday job as a front-end developer and it's not rehearsed and mistakes are are definitely included I'm I don't claim to be an expert in anything so feel free to uh correct me in the live chat or in the comments uh in the video if you if you notice I did something wrong or if you have some suggestions for me uh that would be awesome uh I often have people uh give me a suggestion and it ends up helping me out a lot so hopefully uh we all learn something from this uh I hope you get something out of it and I know I'm definitely getting uh some something out of this as well uh you know a lot of a lot of help and encouragement from you all so I'm getting impatient with this um all right finally I'm glad it did something I was like just about to refresh the page and I'm not sure I'm not sure if I would have messed anything up if I did that I mean digital Ocean's pretty pretty on top of things so I'm I'm sure that they've thought of what happens if some somebody refreshes all right so we got a snapshot created so we should be able to create a droplet from the snapshot yep so let's create a droplet yeah uh Thor said you should have shut down your droplet I know it says you should have shut it down I just didn't want to take the extra like three seconds to shut it down I probably should have so we'll find out really quickly here if if it messed anything up but at least for the purposes of this test if I can just get my my node server uh up and running that's all I need if it's messed up I can fix it later uh but I really just need two droplets uh with something up and running even if it was just hello world uh but since we already had this ready I figured you know why not just clone the the actual droplet so I want to make sure that I get on the same data center I did read through the instructions that I showed you earlier the um uh the digital ocean instruction instructions for load balancing and at some point it mentioned having them on the same uh the same data center so I want to make sure I do that I want to double [Music] check what data center my original droplet is on so this doesn't cause problems later on nyc2 okay that's what I thought uh but good to good to double check uh we definitely want $5 [Music] ones and let's see can I make two yeah I yeah awesome I can make two droplets so I'm just going to name these oops can I all right two and three awesome uh two and three uh yeah I definitely want to add add my SSH keys and these are the keys for um one of the people that I work with and I'm going to add those too CU you know I might get hit by a car or something and somebody else needs to be able to get into this hopefully that doesn't happen but maybe I'm also going to set up monitoring I I forgot to do that on my first droplet you could always set it up later on but uh it's easier just to check that box let me think do I need anything else I don't think I need anything did I set up I did set this I just want to try to make this as close as possible to my original droplet so I think I set that up and I don't tell you truth I'm not sure if I need private networking or not but that's something that like droplet to droplet networking that seems like that has something to do with load balancing so I'm just going to check it it shouldn't mess anything up and better to just have it even if I don't need it I guess uh all right so that's everything looks good I should oh okay Thor says it shouldn't matter for load balancing all right so it won't mess anything up all right cool so uh I'm not g to I'm not going to uncheck it I definitely believe you Thor uh I'm just not going to uncheck it because you know why take another step if it doesn't really matter and who knows maybe I will use it someday all right so these are being created hopefully this uh doesn't take too long okay uh Thor um Thor in the live chat says um it will add an additional uh interface uh so since I check that uh for the droplets to be um to enable private networking awesome good to go you're awesome that's I like digital ocean look at that they just told me I'm awesome that's that's nice I mean I know that's autogenerated but at some point some developer uh thought it would be nice to tell people they're awesome so I appreciate that uh all right so now we can actually get into the part about load balancing I guess maybe we should actually start these servers first so yeah let's start the servers first and make sure that they're actually working so I'm going [Music] to ssh in and hopefully everything is is fine with my keys my SSH keys let me let me make this bigger because I'm this looks small to me so I'm sure it looks really tiny uh whoa that was too big I'm using iterm is my uh my terminal and uh it does a weird thing when I increase the uh font size just by pressing you know like command plus um it actually increases the entire window so if you can see like the whole window is getting bigger so usually that doesn't happen with every other program uh but sometimes it makes it go onto my other screen and and uh messes things up a bit all right so let's SSH into now I don't know if this would cop would actually copy my user or not so I'm G to I'm going to try to use my my username for my other droplet if not I'll just try to go into root and see if that works and cuz I actually I don't think I ever went in a disabled route like the I intended to do so if you remember when we were setting up the droplet originally the plan was get everything set up and then once we were confident we didn't need to mess with root type of stuff anymore uh we would just totally shut it down and we'd still have be able to use pseudo with with my username so uh I think I copied this let me yes it works so good to know if you copy a droplet from a snapshot it does retain your username uh so you see I was able to get right in with my SSH key right into my user so that's awesome so let's see all right um I'm just going to CD in here and just see like okay that looks good that looks like everything that was on the other one so we should be able to do start actually let me see I think is is it status it's already online awesome so no way it's just hello is online let me go to the IP address and see because uh our our instance was not named hello we did have originally a little hello world page so let's see what's going on no way all right it did run amazing whoa that's that's not at all what how is that all right I'm I'm a little bit confused here and sorry if my my inexperience of this might be coming out but I'm I clicked this one did I click the wrong IP address or are all my redirect and things all right so I had not expected this to happen I thought that I would have to do some extra setup but it seems like everything is copied over and working including uh the fact that it's this is just weird uh because I assume my IP address all right or my domain is pointed to an IP address right um it shouldn't be it's just redirecting me right that's what's happening so because my my engine X um reverse proxy is set up to redirect all traffic is that's what H maybe that's what's happening and I'm going to go back to the live chat and see if somebody's that's it yeah so Thor Thor saying yeah I guess the web server is redirecting so yeah if uh a few maybe like two or two weeks ago or something we set this up and we're using engine X as a reverse proxy uh [Music] so it's possible that that is redirecting the the problem that I'm seeing here is well if this is just redirecting me to to this droplet this original droplet then like how how am I supposed to know one if these droplets are really working oh awesome okay uh I sorry I was saying awesome Thor said he found the channel through digital oan retweeting me so that that's awesome uh I I kind of thought maybe I would get some new people um when I when I found out that they had retweeted me so that's cool so yeah and uh some somebody was asking about am my frontend Dev because I'm yeah so this is not front-end stuff but I do have to do some backend stuff occasionally but normally I am um normally I do front end stuff so I would say that's I don't know like 90% 85 90% of my job I think would be uh front end stuff and the rest would be backend and devops and I'm I'm like totally ignoring the fact that I have to do the uh design work as well so I just lump that in with the front end but we I guess you could separate that out all right so let me bring my my terminal in here and we can check check the your projects pointing the new IP be log engine access okay let's go I know this is the slow way of going through here but I like to see the folders to give just like so I can make a mental picture of where everything's at so the more I see it the uh more it'll stick in my mind cool whoa all right so we have some access logs all right so the uh Thor just gave me a nice command here tail um what's I'm I've never used the tail command before what's tail G to do oh awesome okay good to know just learned a new command Tail list the last 10 lines of the file so you can see new lines floating in awesome I like that and the F will do it live cool all right so I'm just copying and pasting that in no did you mean why is this not working okay so it's not installed by default okay so it's just app install okay d uh this is um Ubuntu 16.04 so if you're watching the recording of this later on uh it's probably a little bit hard for you to follow there's a lot of back and forth going on between the people in the live chat uh and and me so uh sorry if it's hard to follow um I'll try to read off what's going on in the live chat as much as I can so this video is at least somewhat intelligible later on okay so I'm going to try so uh uh Bart in the live chat is giving me a command to install um this this package that will let me read my log files and that will give me um an idea of what's actually going on uh with my my server so I'm going to try to install it right now awesome and I already have it so how do I not uh okay so I'm not exactly [Music] sure why it's not working so let me just let me try this command again now it's still giving me that all right so that's so going to work so let's um so you think should I try it let's try it with pseudo no not not F okay I did not expect this part of the load balancing to give me this much trouble so I mean we're literally on like the uh the step one of of the um of the documentation oops and where did it go there we go okay is there something is there something else that I can either use to read that log or can we think of some other way to just see what's going on would it be worthwhile to set up you can fig the points in an IP and restart it so um yeah maybe it's the config this is what I'm thinking um is there something in my engine X config that I should change now that I've changed this uh and will that will that make a difference should I just take out the redirect okay so Bart says maybe there was some corruption in a core file or something like that uh maybe because I did not stop my server and then make the snapshot so that's that's entirely possible all right I'm going to try I'm going to try this one more time nope it's not saying it's going have anything all right so I'm going to go let's see how I'm going to do this um I need to get to I can never remember where the engine X config file live so if somebody knows offand where that is um and can let me know it'll save me some time from trying to look it up um I don't do it often enough uh to remember it so I always just have to look it up uh here here's my plan basically I'm going to go into my engine X config and exet okay that's where it starts at the ETC folder I think I put I have my um default yeah okay all right so let me take [Laughter] Thor says AR Nano uh what's your uh oh you're right I do have to run it to pseudo another thing I frequently forget I'm going to get out of Nano now because I need to run it uh I can view it right now but I can't edit it unless I run it as pseudo okay uh Thor what what editor do you use if if you say them then you're my hero uh all right Jose Joseph said Vim uh I I've tried Vim it's just like I'm not I'm not good with it yet I need more practice so uh I've seen people use them and and it's it's amazing uh it's a skill that I would like to have one day all right we got we got at least three people in here using them so uh so you you all now are um have have my respect for sure um not not that you didn't have it before but um wow okay so uh Thor says Vim actually has syntax highlighting so I'm I'm sold on it for that reason alone uh all this white texting ano drives me crazy uh I actually sometimes just um uh use filezilla and get my files and then open them in my my code editor just to get the syntax highlighting so let me see what I need to do here uh my my idea here is simply to just serve this stuff on Port 80 right or whatever the default Port is yeah Port 80 or I don't I don't really care about the SSL right now I guess uh so we just go with Port 80 and not do a redirect so this is our redirect right yeah if I turn this yeah so let's say I comment this out [Music] and is the server name is the server name something that is required I don't know we'll find out oops what did I just do uh I just switched Windows sorry um okay so what I need to make sure though is that I'm doing where's this stuff this okay so the Root's still here is this in it's hard to tell what um where these brackets start and stop okay so this is the start how about this let's just take I'm going to look at the live chat in a second if if you uh if you're if you're typing in live chat that I'm doing this wrong I'll I'll look in a second my idea is simply This Server block was ending here and this one was beginning but I'm just I'm just going to keep it going so basically it's not going to end it's not going to begin a new one I'm going to comment out this SSL stuff just for the time being um and oops and hopefully I don't do I need this I don't remember yeah I don't want these SSL uh config Snippets so let's see that should that should take me back to what I like had originally before we set up the SSL or at least be close to it okay Thor said I have to comment out the list and stuff too let me go back in quickly oh did you mean this list and stuff maybe that I forgot there was a delay so um it's possible that that was typ before I did that so I'm going to get back out okay um I should really ask questions using the uh by typing in the live chat and then we would be in sync in terms of uh at least you wouldn't see what I'm doing on the screen but at least we could talk back and forth um at the same time uh all right so I need to restart engine X which what is it C engine X I think it's just restart right there's it system control that's it that's it okay now let's try to go to this IP address and see if if I totally messed it up or if we're going to get something so it shouldn't redirect us anymore and it did dang it um okay so how did we still get redirected all right so let's get rid of [Music] these yeah Alberto ask did I restart the server oh shoot Thor mentions uh I used the 301 uh so it that tells it that it's it's a permanent redirect basically so it's possible that this is a cash issue so maybe I just need to let's see did I type it wrong was that who caught that I typed it wrong awesome that's that's a good problem to have okay I didn't all right saying I didn't type it wrong I'll restart it again just to um uh pseudo M CTL r s RT X yeah that was that looks right um all right so let's try a um let's try some things here no that's not I don't want to restart that I don't want to restart this one or I could just try it all right yeah yes progress I got a 502 but that's the most happy I've ever been to see a bad gateway error all right we're getting somewhere all right so progress has been made and let's I assume that I messed something up and that I need to then I need to edit this file uh that I just edited so let me check this out actually do I have yeah so I'm going to open this I'm going to make it big so um uh everybody watching live can see this and check it out and see okay the uh reverse proxy part is wrong that's what I'm uh Thor's saying in the live chat I'm so glad that so many of you who are knowledgeable about this decided to watch today and actually I um I'm check on my other screen I'm I'm checking the um let me see I install engine X I'm checking the setup like the original setup that I used for this uh like when I first tested my Hello World um my Hello World app actually I want to check I'm screen I'm going to check really quick in my server.js file to see to make sure what what port I'm actually running this on on Local Host just to double check just on the off chance I set it on something weird if Dev no it shouldn't all right so as long as my Dev server is Port 3000 but my production is 8080 all right so I was pretty sure that was it but did not want to waste a bunch of time if it was something silly like that so where are we going to at location okay so this block looks like it's exactly the same as what I did have it on at first and H so that's weird I want to run um I just wanted to make sure everything was okay with my syntax at least okay so all right so we I'm getting I'm getting several different um suggestions here so I'm going to check with pm2 again just to see like okay we're running H let's say I'm going to stop that and let's see I need to actually let me do this because I just want to see um I think start let me let me check how I have this in my package Jon here um I think it's just start yeah npm Run start there we go do I just need to be in oh yeah of course that didn't work I need to be in the right folder for that to work all right okay so let me refresh this okay and that was it for whatever reason uh pm2 did start up something uh right off the bat but it whatever it was started up this Hello app um I don't really know what that was or what it was doing going but it was not I guess it wasn't this so yeah so honestly at this point just to continue this I'm just going to leave this here because that's all we really needed to happen we just needed this to run uh so that we can test out uh the load balancing so I'm going to do exactly the same thing that we just did minus all the stuff that didn't work on this other droplet and then we can get on with it so let me grab the IP of this other droplet and let's go in okay Nano and what was that Etc um was it engine x no shoot what was the next one trying to find it I know somebody already typed this in so I'm not even going to going to ask again there we go I think that was it oops why didn't that work there we go and that's that's not we had it in um sites available and it was default correct okay all right so in Nano sorry this is still small on your screen uh I'm only leaving it small because um I'm doing the exact thing that we just did so uh it's just easier for me to see it all at once so we are commenting out this this line and this line we're commenting out this part where it ends that block and begins a new block and then we're commenting out the where it's listening for the SSL and where we included Snippets for the SSL and that should be all we did yep that's all we did so and I'm pretty sure I forgot the pseudo so this is not going to work let's see dang it all right so we're gonna have to not save the changes and I'm going to have to use pseudo this time I told you I always forget that and I I literally forgot it after five minutes all right so let's do this again at least I I'll probably get good at this since I'm having to redo it oops that's not it oops Yeah Nano is not I mean I know we just talked about vim and how I'm no good with themm but it's not really like Nano that much more user friendly seems like uh once you get used to using them people can just fly around and do whatever they need to and then so it seems like that's definitely the way to go if you can learn it okay and that looks like everything that needed to be commented out and now that will work since we use tudo and now all I need to do is go in here and do npm Run start and that should start up this one and we will double check quickly by going this IP address and probably need to refresh oops I'm sure you all caught this I didn't look at the live chat I forgot to restart engine X so let's do that okay now let's see if this will work okay we got the bad gateway so that's what we were looking for oops all right and that's running awesome so at this point we have two copies just a quick recap here's our main site uh it's running and this is fine this has the domain name pointed to it but we've made two exact copies and we've edited the uh config for engine X slightly so that we can reach these at these IP addresses because otherwise it was redirecting us back to this site so now we should be able to continue on with setting up load balancing between these two uh to test it out and hopefully get it working uh on here so let me scroll down here to see see the live chat uh I'm laughing because I just did I scroll down to the bottom of the live chat I scrolled up a little bit to look up a command and uh there are like I don't know maybe 10 messages is saying use pseudo and exclamation points pseudo pseudo so I knew you all caught it uh and and I didn't catch it so uh it's actually if you've never tried live coding before on YouTube or any other place where you can do live coding um I'm it's really nice to have all these people looking at the code when you're coding uh I usually work alone and so I never never have other people looking at my code and at first when I thought about live streaming the thought of other people looking at my code was scary but now I see that I mean I'm sure there are some people that look at my code and think wow this guy is a noob uh but there's a lot of other really nice people like you all uh in in the live chat here that look at my code and offer amazing suggestions and feedback for me and catch my mistakes before I catch them so I appreciate that yeah I will I will be checking the chat there is a delay there's about a minute delay so the stuff that I'm doing you all won't see for another minute so um so part part of the reason why uh uh it seems like I'm not checking the chat is because of that also honestly sometimes I just do forget to check the chat so [Laughter] all right so evidently as I went through and it had uh I I said that you know they were saying pseudo with exclamation points I assume they were just yelling pseudo at me but pseudo with two exclamation points is actually a command so uh I apologize for the frustration that I must be causing you by by misunderstanding what's what's going on here so I don't know what's okay so brings in the previous command and add suit to that line oh my goodness that command is going to change my life okay so this this is um an excellent excellent thing that uh was just brought up here so I don't know how to say this but the users q and Ox so if you're you doing a command with when you want to use pseudo let me let me bring up a window where I actually have I can write in so so let's say you want to do something pseudo uh if you just type in like you've typed in the command once right uh so I don't even know something I could uh trying to think of a long command I could do I can't think of something on the spot that would be long but let's say let's say that I typed in a really long command but I forgot to use pseudo right so I hit enter and I'm like oh man I I forgot to use pseudo instead of having to type that command in again or having to do like I just did where I actually like scrolled back with my arrow keys all the way to the beginning if I just typed in pseudo and then two exclamation points it will actually bring up the previous command and then add the word pseudo at the beginning so I don't have to do that and that is awesome uh that's an amazing tip so if you only get one thing useful out of this live stream today if if it's only that then I think that's worth uh all the time of doing this live stream and thank you so much for telling me that because that that is going to save me I don't know it's going to save me like a few seconds here and there but it's going to add up over the course of time to probably a lot of time and a lot of frustration uh gone because of that command so thank you very much okay so now we can finally get on with actually setting up the load balancing I hope that at least I know there's a lot of people in the live chat and a lot of people watching right now that are you know this has probably been a little bit painful to watch me go through this and you you've already got this down and you know what's going on but I I at least hope that there are some people who have never done this kind of thing before and you're getting some type of value out of this so um I mean hopefully there's some value in me you know kind of fumbling through this for the last hour uh so the droplets are now up and we have a site running on each of them so that get brings us to step two of our documentation if you're following along the link is in the description this is step two so we need to go to load balancers I'm going to move it to my other screen so that I can actually do this on this screen and you all can watch I'm going to make it a little bit bigger for you oops didn't want to do that I need to go here anyway so networking load balancers so now we're going to create a load balancer and create load balancer build hourly at 3 cents no additional bandwidth charges okay so I'm going to create this load balancer I'm assuming that this is within budget $20 a month is not a huge deal and um we're actually saving money um in terms of uh where we were going to host it at before so what was budgeted for uh we're still under that so I'm not too worried about this and if anybody is watching from where I work and you know the budget stuff better than me please warn me now before I purchase this okay awesome I just checked the Stream because I remember you all told me to keep checking so uh let's see okay yeah so some people are getting something out of it and some people saying they're watching because they like to teach and I appreciate you um you watching okay so actually Thor Thor says he never set up load balancing before so you've been helping me out so much in this stream so hopefully you can get something as well out of this and when we can set up um uh load balancing uh Rohan don't worry about it I didn't take offense to your comment so um uh so don't don't worry at all no no offense taken uh Rohan was was he was referencing something else like as a joke but it seemed somewhat rude so uh don't worry about it I'm not really uh I'm I've been pleasantly surprised at how few people have been rude to me since I've started doing this uh so I mean you all have been great I I was actually expecting more people to come in and and be like critical in a mean way so uh don't don't worry about it I'm I'm sure I'm due for some of it someday but uh for now you all have been been awesome all right so we need to make a name for a load balancer so I guess I'm just going to call it ccii load Balance kakal Institute is the uh like the department where I work that I'm making the site for so that's why everything is prefixed with CI uh so I know I'm I'm really unique with my names but um it says what it does so it'll work so we need both we prefixed everything with CI our droplets so this should be easy yep we got two and three awesome so we already have the right regions oh okay Thor says he's when he sees CI he thinks continuous integration so it's confusing honestly before I started this project I thought the same thing CI always meant continuous integration and in the first couple of meetings when people were using CI that's what I thought too but now that I've been working on this so much uh my brain has shifted and now I do think of uh CI as cakal Institute but I'm glad you brought up continuous integration because that's something I'm really interested in so if anybody listening now has any good resources or something that you use for continuous integration please put it in the comments or uh direct message me on Twitter uh I think there's a link to my Twitter in the description uh or you can put it in the live chat because I would love to know what you all use or what your suggestions are for that all right so we need to load balance set how traffic will be routed from the load balancer to your drop droplets okay so for now I think this will work at some point we do need https but but right now our um our droplets aren't using htps so just to test I'm going to leave it like this I'm assuming that I can change this later on if not I'll have to just make another load balancer which you I guess I'll do I I won't do it live I won't make you go through all that but um maybe I'll okay so this looks good let's look at our um our default values so uh round robin um if you're not familiar with some of these uh I'll go through a little bit and I'm not an expert I've just read up on it a bit before this round robin means like it's just going to pass off each session to a different server it's not going to check like the load on the servers or anything like that so uh it's just kind of spreading things out uh Zach asks is this an advanced topic um I guess so I don't know it it depends on where you're coming from I'm if somebody was a backend developer this is probably not that advanced for them uh but for me as a front-end developer this seems pretty Advanced for me because it's not what I usually do I I have to do it occasionally when I first set up a site but then I usually don't have to mess with it again uh so um depends on where you're at I don't know maybe you all have a better um idea of um what kind of the level that I'm I'm working at here uh whether it's Advanced or not okay cool thanks a few people are putting their preferences for continuous integration uh and um cool that's helpful I'll I'll go back after this video um I'll make sure I go back into the uh chat and um check out your suggestions uh I'll look them up and see um uh because I I haven't even heard of some of these ones that you're suggesting so I'm interested to find out what they're what they're like um for right now I guess this would be fine I kind of want to click this just to show you let's let's do it uh so just for the sake of learning I'll just show you these options so it looks like we could do round robin like I said it just splits everything up evenly um this actually kind of more intelligently routes things so whatever droplet has the least load it it goes to I actually kind of like that one better I wonder what the uh if there's some type of performance tradeoff for this as opposed to the other one they don't really explain it but uh I think I'm going to go with this one because I I could see this being of more value um I mean I there's got to be some trade-off with performance or something because otherwise everyone would just pick this one uh okay I don't need to track people so I'm not going to worry about this cookie thing we're not I'm not doing any anything with that currently uh let's see health checks okay so we could actually set our own interval right now it's in 10c intervals so um cool I think I'm not going to mess with that at some point we will need to change this to use https but not right now and we're not going to redirect this right now so right now like we commented out all our https stuff anyway so I don't want to do this now but at some point we will probably set those so let's create this load balancer great it seems like we've just fast forwarded through so much now after that struggle in the beginning so uh if you want to know more about all that stuff that I just we just saw um those options check out the uh Link in my description to the digital ocean documentation for load balancing uh it actually it explains in more depth uh each one of those options all right so now if you are following along as soon as this this bar gets all the way up here we're going to be on step three which is testing okay I'm going to check back in the live stream now since while we're waiting or the live chat sorry okay so some of the continuous integration stuff that uh that you that are being suggested here in the live chat just in case you're you uh can't view the chat right now or you're watching the recording later on uh is a circle CI um appveyor Jenkins I have heard of Jenkins I haven't heard of the other two yet okay so um Sean says in terms of backend uh he says this is fairly simple because digital ocean does all the heavy lifting for you automatically it would be Advanced if if you had to set up all manually yeah definitely when I was first thinking about doing this and I I didn't realize the digital ocean did all this I'm I mean you pay more right it's like 20 bucks a month for them to handle it all but um honestly like in terms of how many hours it would take me to probably set it up manually that $20 is not really a big deal compared to you know what what my company would have to pay me to to set that up and maintain it all myself so I'm I think they're saving money uh by me going this route so um yeah I was a little bit afraid of having to do it all manually I mean it was like fear mix with excitement you know sometimes it's cool to like tackle some big difficult thing but at the same time you know uh there's just so many hours in the day I have other projects so I wasn't sure I'd have the time to get to it uh Alex asks do you recommend uh JavaScript for a programmer he says do you recommend lean JavaScript for programmer I'm assuming you said meant learn JavaScript or is there something called lean JavaScript and I'm just misunderstanding so assuming you're meaning do you recommend learning JavaScript I'm going to say yeah but I mean I'm this is coming from somebody who primarily uses JavaScript so I think most people would recommend that you learn you know the thing that they that they know so the reason that I am going with JavaScript is because uh there are a lot of jobs for JavaScript right now and there are a lot of things being that can be built with JavaScript and JavaScript can be used on both the client side and the server side so it offers me the opportunity to focus my time and my training on one language instead of multiple languages and be able to build apps completely you know front end and backend with just one language so for me it's like it's a timesaving thing of you know I I know I don't have all the time in the world uh to spend learning things so why not just learn one language that I can build complete things with instead of having to learn two different languages uh I have done some stuff with I built a calculator once in C+ plus I've done some things with c i do word press type stuff with uh so I've done very very basic minor stuff in other languages uh the majority of what I do is in JavaScript all right so this is now up we're going to check out this IP address now and it should route us to a site and it did it did and I have a big smile on my face right now so technically at this point we've we've done load balancing all right there's definitely still some some testing right I W to I we want to actually stop one of our servers and then try it again to make sure it's it's actually switching the right way uh and then we need to get it working with the domain name and with the SSL the domain name thing is actually going to be really easy and I can do that right now uh I already have a test domain name set up so I'm going to point it to that to that address let me see I'm going to do the login and stuff on my other screen and then I can show you what uh what I'm doing yeah okay all right so let me let me make sure I copy this IP so that I get the right one and I'll bring over um just in in case you haven't seen how to how to work with domains or not I'll bring over this uh screen it's this your screen's going to look a little bit different depending on where you're where you purchase your domain and where you're managing it from uh let's see okay so check this out if you watched I don't know maybe a few weeks ago we we worked with this before I'm going to bring this up just a bit Thor I just checked the live chat Thor mentioned C and C++ not really a great idea for beginners yeah uh I mean I did a good I did well in the class I got a really good grade uh this was in college I took a course on it uh is one of my few computer uh related courses that I took because my degrees in business but uh I did really well in it I got a good grade and I always got the assignments done you know really quickly but it didn't it didn't make me want to do uh any type of programming all right so basically here's our records this is just a list of our this is our main domain right so we have this is pointed to our main digital ocean droplet all right that's live right now it's just at and we're using the a address this is a w ww version so you do have to have a separate www version if you want people to be able to get to there after from typing in www and then these are all the subdomains so we have um our WP subdomain is where our WordPress backend for this site is is living and um then we have this test one so I'm going to change the test one if you remember that used to be pointed to to here it used to have this IP address uh but now we're going to we're going to change that I'm going to save it and if this if this takes a while to uh uh for it to work you know like let's say it's still cached on the other one uh then I'm not going to stick around for that I'm just going to skip to the next part of testing and then if it kicks in and starts working later on then that's great we can we can test it uh there we go maybe all right so I'm just going to go back like I said I I don't know if uh if that'll kick in but at least I have it pointed there so it'll it'll it'll kick in at some point uh if you remember last time we tried to point a domain it was like it was a while it was way longer than I I thought it would be I think it was we waited around for like a half an hour um okay so Thor said it is working fine uh fine there so uh awesome so yeah it's probably just some sort of caching on my end and uh so not really a big deal I didn't it's not like I expected that that would not work that's pretty uh pretty simple so uh so let's just stop one of these servers and I mean obviously it should work but you know let's test it where am I at um soor I'm trying to find my um there it is uh all right so let's go to one of these and I just stopped stop that and let's see well actually actually have to shut down engine X here's what I want to know do does it need to completely shut down or if it gets an error because my node server is shut down will that be enough and I I don't know if I'll know that for sure I'm assuming that it would take an error message yeah so let's let's try this out uh I just uh check the analytics quickly and uh we have 40 two viewers still I'm I'm uh pleasantly surprised and impressed because this has been a really long stream so far so um okay I get Patrick says I get the 502 without the node server so that should work okay so that's um that's what I want so it I don't think I explained what I was just talking about properly so uh I was kind of thinking out loud so basically in the um documentation for digital ocean to test this they recommend just stopping engine X to test but that's not what will will happen like for me for this site I'm not I don't completely stop engine X when I update the site it stays running what I do stop temporarily is the node server so what I want to happen is if engine X is still running on a droplet but the node server is down I want the load balancer to go to the other server that has everything still up and running so that's I'm I'm not exactly [Music] sure the only way I know how to test that is to change something on one of these sites and then um then I could actually tell which one I'm being directed to anybody have a better idea I kind of don't I don't really want to take the time yeah um uh trollman or I assume it's trollman uh is says https is not working so yeah that's fine I didn't set up the um https oh the access log yes awesome so Thor says check the access log so uh um that all right so let's I don't know if I even want to attempt checking this access log before since I I failed at it last time um let's [Music] see I'm just I'm thinking for a second like is it worth it to take the time to really change stuff and try to test this now uh because otherwise I will eventually I will actually have to change something like and by eventually I mean like either later today or tomorrow morning I will really actually make an update to the site and then it will be obvious whether or not this is working uh so I guess I could so th Thor actually just gave me the exact command uh so I can copy and paste so thank you for that uh it's definitely going to be easy enough now H pseudo right so let's do I need pseudo nice oh wow okay and then shift okay all right so this is telling me all the um the right the traffic that I'm getting so what I should do now uh correct me if I'm wrong is go back here a few times and keep track of what's going on so let me let me make sure I know what this last one is okay so 1958 45 uh so I'm going to go to this this site a few times I have to reopen okay so this one this one doesn't do the live reloading so I have to reopen it okay good all right so the other one that I was trying to use that wouldn't work earlier uh in in this stream it would have live reloaded so I actually do have to stop this one and what's how do I get out of this one what's the uh the proper command here um Q all right Q there's only like four different options to get out of something on the command line so just I just try them all okay so let's just try this again and what was that command G was that it or shift shift G okay hm okay so some stuff was definitely happening uh we're definitely getting [Music] some some traffic now I know it's it's every 10 seconds it's going to be sending checks so I'm assuming most of these are probably those 10sec checks right because these are all 10-second intervals oh okay let's see uh it says I can reload by typing how do I do that so I press and I just type e and then enter is that it didn't seem to do anything for me maybe I'm doing it wrong uh I got a suggestion to try to refresh this it doesn't look like it's working yeah um let's um Sho I tell you what I don't want to spend a ton of time uh because I like I don't want to waste your time with this I just had a thought let's just say that this doesn't work and and it in fact engine X itself has to be down for the load balancing to work properly and recognize the servers down that's not necessarily a big deal when I go to update um I just have like a string of update commands anyway like that I copy and paste and I can just add to that to uh stop engine X temporarily so that that stops as well everything gets updated and and it it restarts as the last thing and so if worse comes to worse and it doesn't work like I wanted to I can just stop engine next at the same time uh and you know it doesn't really matter so since I'm having trouble with this uh I'm sure that you all um could probably figure out probably you get theame okay actually I'm going to try one more thing cuz I had something in uh so it's hold on I think I was in there no what did I do shoot I hit WR file e and then okay awesome so that actually work so here's a cool trick um this does not live reload if you use left to access this but uh if you see what I just did I typed in um uh colon and then e uh and then just random uh characters and hit enter says no such file or directory but when it goes back in it actually updates it so I don't have to go back out and come back in it is updated and I think we're getting the same thing here which is basically uh five or I'm sorry 10c intervals uh which makes sense because it's set to check at 10 seconds so these these are not like people checking this obviously uh you know we wouldn't have such nice intervals so I'm going to assume and this isn't we have I don't think this is like a decisive test but I think it's at least somewhat safe to assume that the traffic is not coming from from outside yet uh and that this is all just coming from our load balancer so that's at this point in in the process uh that's okay uh for me um okay um let's see per is it per na is that it sorry can't uh I have the live chat up on my uh one of my old monitors that's the uh resolution is low so the text is kind of weirdly squished together but uh so I having trouble reading that name but somebody in the live chat just said isn't tail F more useful it's definitely is more useful but for some reason it's not working and I I say I've never used it but based on what you all have said it would be more useful definitely so all right so let me get out of here and let's just go on with uh what what we need to do here um I'm I'm skipping down if you're following along I'm skipping down because some of these are just basic engine X commands that we don't even need you know we don't need right now uh it doesn't necessarily have anything to do with load balancing so I'm on step oh step five doesn't matter um basic stuff okay so actually we've completed the entire um guide on no shoot I was on the wrong guide wasn't I sorry sorry sorry that seemed too easy okay um where's I at actually we did yeah so we completed both guys I had two guyses open up at the same time one was a guide that was just on engine X the other was on on load balancing but also using engine X on the servers so I was switching back and forth between the two that's why I was confused for a second but basically um we've gone through uh step three we've we've pretty much kind of tested it right I I'm not like I'm I'm maybe like 90% sure that it's working the way that I wanted to work and I'll have confirmation soon about that um put a test fail over oh man let's let me let me check this out on digital ocean here for a second um let's go in here and see if I had just read farther in the instructions this would have saved so much time our uh our number two droplet that we took down um node on but not engine X is actually reading is down and it's been down for a while so that is confirmation that we needed that in fact as long as we node is down even if engine X is still up it's still going to count it is down that's what we need so excellent that's what we want wanted [Music] now adding more droplets basically the process to add more droplets seems really simple you literally just go to add more droplets and you add a droplet and then it'll work so the um basically what we need to do now which I'll probably I'm probably not going to do it now because this has been such a long stream um if you're just joining for the first time I try to my goal was to keep my streams to half an hour but I usually fail with that and my streams are closer to an hour uh sometimes like somewhere between a half an hour an hour so this stream's definitely been way longer than normal I did get started late because uh I was streaming on a new uh on a different computer than I normally do and so I had some some issues uh or it wasn't the AUD or the uh video wasn't displaying properly uh so I think this is going to probably be a two-parter so tomorrow at 2 pm unless something weird happens I should be able to stream again tomorrow 2m uh I will go over how to configure the SSL to work so I'm not going to work on this anymore we'll pick up right where we left off the only thing I'm going to do is I'm going to read up on how to do configure the SSL so at the bottom of the instructions that we've been going through that I have Linked In the description it actually has links to configuring uh your SSL uh so that there can um you know we can have encryption uh like we need to so I don't know does that sound like a plan uh I had hoped to get through everything I thought that was kind of ambitious since I've never done it before so I really didn't have a way to tell how long it was going to be so all right so it seems like this worked I'm uh right now um I'm going to go through the live chat quickly just to see if anybody had any questions that I missed and after that then uh I'm going to I'm going to end the uh the chat and or the live stream and uh I'll be back uh tomorrow so if you're just here for the actual you know the demo of doing this then and you don't care to stay around for the questions then uh thanks for watching and uh you know what you know join me again uh tomorrow to see the rest of it or some other day uh 2 pm Eastern Time Monday through Friday uh otherwise if you want to stick around or if you have any questions put them in the live chat chat now uh I'll try to get to them if you if you can't stick around but you still want to ask a question you can put it in the comments to this video or you can direct message me on Twitter and I'll try to get uh get you an answer as soon as I can okay so I'm just kind of scrolling through here the live chat and there's a lot so I'm going to be scrolling through quickly so there's a good chance I might miss something something I apologize in advance if I missed your question it looks like there's a lot of good back and forth discussion between you all in the live chat which is awesome I I like that e okay um I'm just going to read this comment because it's nice positive comment um Bren brentor uh I don't know how uh I'm assuming that this three in the middle of this name is meant to be an e so I'm going to say brentor uh it says I find setting up and configuring this stuff super fun awesome I'm glad I'm glad you do uh the last time I did something like this uh I I think I did have some comments that like it was uh a boring or something I don't know if it was as harsh as that but uh some some people I think were expecting more of like uh CSS JavaScript stuff and we were doing a lot of just command line things so I'm glad you enjoyed it I think this stuff's kind of fun I don't know if I'd want to do this day in day out like everything but I enjoy it when I when I do have to do it Sean commented this is a really interesting video glad to be able to see this being done uh for forever need to set up myself yeah I mean I think I made a lot of mistakes during this and uh it took a lot longer than it should have but you know hopefully like if you just see where I messed up at and that helps you to avoid it then that's uh I'm I'm happy that I could at least help in that way so even my my mistakes could hopefully help uh help somebody out okay we have another continuous integration uh solution here that mentioned is Travis so there were I mentioned a few other ones earlier on uh I had asked um IID asked everyone in the live chat to uh you know if they're using continuous integration you know how are they doing it what are they using so I didn't mention Travis before uh Thor Thor mentioned Travis oh some mentions gitlab who else uh get C nice so that's that QX uh I'm I'm going to call you cukes because it's easier than spelling the name out uh so cukes mentions gitlab uh is nice for continuous integration Sebastian said I can hear your macbook's fans I couldn't I actually I always have headphones on playing music so that uh I have a tendency to speak kind of low you know and and maybe Mumble a little bit so I want to make sure you all can hear me so I put headphones on and play music and uh it helps me to talk louder because I can't really hear myself that well uh and also it helps me to not be distracted by other noises which I actually I think somebody is mowing their lawn my neighbor is which is like constant I I can't stand it there's always somebody mowing their lawn next to me so there's never any like quiet so I apologize if you're hearing the background noise uh but I believe it I I'm actually I'm proud of my laptop now I was wondering how it would stand you know the uh the live stream but so far it's been fine earlier today it just totally froze up I had to completely restart it and I wasn't even doing anything you I was I had some browser windows open the code editor and Spotify and I mean that was you know not not that much um Zach asks is dig ocean similar to Heroku Firebase or AWS uh and uh Zach also got lots of answers there uh so uh some answers AWS uh definitely Sim yeah I I would say um it's most similar now I'll I'll say this I haven't I've only played around with Heroku and I haven't ever used Firebase uh but I would say agree it's definitely the most similar to a ws and I think AWS came out with like a direct competitor to digital ocean that's like super simple to use uh I think they came out with that sometime within the last I don't I don't know for sure it was for sure within the last year though I don't remember what it's called Everything has a weird name on AWS I can't keep them straight uh Jose asks when deploying updates to production what's the best tool pushing code to multiple servers and let's see I I know he probably uh got some answers here so um Thor says some kind of continuous integration Patrick um Heroku is nice um oh shoot Thor said my voice was gone hopefully it wasn't it didn't go out for too long uh I haven't I haven't been paying attention to the uh stream health so I I apologize hopefully it didn't cut out um didn't didn't cut out at all hopefully or at least not too too much um yeah I think Jose uh when deploying updates to production for multiple servers I don't know what I'm going to use now that I do have multiple servers that are need to be like mirrored and have the same thing uh so I'm still thinking about what I'm going to use at at this point right now my process for updating this this server uh this droplet on digital ocean is to actually um use SSH to go into the server and then I do a get pull and then I rebuild the app and I start it again so I would love to be able to have a more automated way to do that like let's say every time I push code to GitHub on Master Branch it automatically does all that I think that that is possible I just don't know how to do it so if anybody knows how to do something like that or knows of like a totally different solution that would be even better let me know please um that I I would like to know so I'm I'm still kind of trying to figure that out myself uh Zach asked does anyone have some good recommendations on books about getting better at problem solving um H I'm not sure about problem solving in general I mean because I guess that doesn't even have to be related to coding at all I don't have I don't know of anything off the top of my head for problem solving if you want something that's more coding related I would say like uh a book that has like challenges for you uh maybe like algorithm challenges or things will force you to solve problems so the more you do that the better you'll get now I'm there's probably a resource out there I just don't I don't necessarily know about it but I assume there's a resource out there that will teach you techniques for problem solving like how do you actually approach an algorithm that you've never solved before like a challenge you you know um you know what steps do you take to break that down and to solve it faster I know that that exists I've I've read articles about stuff like that before I don't know a really good book about that to recommend to you but uh hopefully maybe somebody else in the in the live chat has mentioned something okay there's a good conversation here about different languages for beginners and things so um I'm kind of skipping over it though but uh it seems like the basic consensus is you know lower level languages are nice to start out and teach you basic concepts and then you can move on to higher level languages and they feel easy that's kind of my thing like when you look at a language like C um you really like start to appreciate some of the things that are just done for you in like JavaScript like oh I don't have to like say what kind of variable this is you know I can just say it's a variable and it just happens like I don't have to declare that you know it's a string or you know it's um uh all the different I mean see you even have to there are like several different types if you want to use a number that's bigger I think they call it a double I don't remember for sure but um I I agree with that definitely uh you will appreciate more kind of modern languages uh if you do learn some of the older ones uh Sean recommends python for beginners uh yeah I I've done some stuff with python it's really cool uh because there's not like it's a lot with uh indentation and not necessarily like semicolon so uh that's kind of it was kind of fun uh python syntax is like so easy to type I was able to do python uh algorithm challenges on my phone on the regular keyboard and it wasn't annoying because I didn't have to add all these special characters that I would normally have to add like let's say if I were doing JavaScript so I thought that was really cool okay I'm getting towards the end of the live chat okay there's a lot of chat about um how I I couldn't get the uh command to work for for less and uh so I'm kind of skipping through that okay Patrick says you can change the health checks to hit the node server Port so that's cool it looks like I won't have to do that but that's actually good to know that that feature is uh is available um uh BOS soon it's a b o s u n so sorry if I mispronounced that let me know if if I did and how to pronounce it correctly and I I will pronounce it correctly next time but uh bosen says uh nice to be part of this really very insightful discussions on here yeah I I I feel like in this stream it wasn't so much me uh giving anything helpful but the uh live chat was just super helpful so if you are watching later on and you don't really have access to the live chat um sorry about that I'm trying to read off as much as I can from the live chat so you can you know get something out of that uh but yeah it's just you you all have been amazing uh in the live chat I'm definitely going to you know save this chat and and reference it uh in the future uh Rohan ask uh no questions but what's your handle on Twitter I'd love to follow you um it's uh it's just it's e r Wile uh so J SS e r w i g l and I just look down two lines and um some someone already put it in there so uh if you've watched any of my other streams you know that I frequently do that I I I don't read down farther and I answer a question that's already been answered so I also link to my Twitter in the description for the video so it's it's there if you don't want to have to typee it in you can link right right there to my Twitter account I have my own YouTube channel as well and there's a link to that and I have my other Social Media stuff linked from there so if you care to follow me on any other social media you can I I'm on like most of the main social media things but I'm primarily active on you know YouTube and uh Twitter and I do some Instagram stuff too but not really a lot of code I just like take pictures of the food that I cook and put it up there occasionally I do some code stuff but uh that's pretty much it you you're free to you know follow me on link into if you want uh for connections but I don't uh other than for networking I don't I'm not really on there that often and I'm not on yeah I'm I'm like on most of the other networks but I don't really do anything with [Music] them all right cool Thor it looks like Thor followed me so everybody who's following me on either my my YouTube channel or Twitter or anything else uh thank you uh thanks for following um I don't I don't get any money off of subscribers or followers or anything like that but I I just really appreciate uh that you know you you care enough to to want to know what's uh you know when I'm streaming and what's going on and that and you you've been helping me out so I really appreciate that Umberto says I'm in an HR office that is more like a sports club with the atmosphere my co-workers prefer prefer I miss my cave yeah I I understand that uh when I'm uh I am I'm at home today so it's a different atmosphere than I'm used to and uh actually my my wife took the kids to their grandparents house and she took um one of my daughters out to lunch with her and the other ones with her grandparents so normally my house would be super noisy uh cuz I have four kids and they're all under eight years old but uh right now it's actually pretty quiet other than the lawnmowers and uh but when I am at work I just like lock myself in my office and my co-workers call it the cave uh I keep the lights out and I stay I stay locked in with headphones on so I'm not antisocial I just uh get a lot more done without interruptions so okay so uh the uh the person that I said um say my name is Q qox okay so I I I don't even remember how I pronounced it but uh the name is qox so I will do my best to try to remember that and pronounce it correctly qox that definitely makes more sense than what I was trying to uh to say so thanks for letting me know how to pronounce that uh if I ever mispronounce anybody's name on here let me know I I don't want to um I don't want to be mispronouncing your name uh Patrick said Dinner Bell just rang thanks for the stream Jesse I'll be back tomorrow all right yeah awesome uh thanks for watching uh Patrick and uh for hanging in here for you know what was ended up being a really long stream uh Hugo says you can use get hooks uh so I think that's probably in response to me talking about uh ways to um push code to um uh to multiple drop lists multiple servers so I have I've read a little bit about get hooks but I haven't I haven't been too successful with them so maybe I'm GNA have to read some more uh some more about that uh Sean ask any good lists of programming problems to try in any language H actually I I can't remember offand what I've seen but I definitely have seen some websites uh that have programming problems like there's a site called hacker rank that does a lot of like programming competitions uh I subscribe to a newsletter that gives me a new programming algorithm like I don't know if it's once a week or once a day or something but um maybe I'll um maybe I'll do a video about that that sounds like a good topic so uh I'm going to make a note about that uh actually right now uh I keep a um I keep a list of topics that you all have either requested or uh I kind of noticed that a lot of people ask about uh in the live chat to do videos on so I I hope to be doing some videos and putting them on my YouTube channel very soon so I will add that to the list because that sounds like a really useful a useful thing to maybe highlight some some places with good um resources good challenges uh to code in in different languages uh not just specifically for you know JavaScript or something like that okay all right let me get through almost to the very end here uh of the live chat qox says you can use a script that SSH into all servers and pulls and restarts not best practice but a good start okay that's yeah I never thought about that but you're right yeah that that might be um a good like kind of thing to use before I can really figure out what I you know how I how I want to do like a more permanent you know solution so um okay Thor says anible can do that okay yeah I noticed Patrick G mention anible I forgot to say that so I I haven't done anything with anible other than I I know that I've heard the name before but I haven't uh done anything with that so I'll have to check that out um let's see in response to Sean's question about list of programming problems uh Thor recommends exorcism do exor yeah is that exorcism. yeah for some reason it looked weird to me like it was spelled differently but I think it's exorcism. so that's a funny name but um or uh Advent of code Thor says advant of code is for more advanced things but it has a nice story around it okay Thor says uh anible is actually uh really easy to set up uh and fast so maybe I will have to give that uh give that a look oh yeah qo says uh can do it via VIA stream uh and uh and you all can help me I I didn't think about that but that's that actually that would make for a good stream and I would appreciate the help so maybe I'll I'll have to I'll have to remember that uh when when I do try to set up something there to uh to update for some type of continuous integration thing I'll stream it Chad says hey everyone uh Chad's coming in at the end there uh nice to have you here sorry that you missed most of it the recording is going to be available just a few minutes after I end the stream so you can uh check that out it's it's pretty long you could probably skip through a lot of the beginning I'm going to have to I don't know maybe I can cut out the beginning or at least put like a Tim stamp somewhere in the description so people can skip that uh because I I was having a lot of issues uh with my streaming at the beginning oh cool Thor Thor just follow follows me everywhere so awesome Rohan followed as well um okay Rohan says hacker rank is good and project uler i e l r i don't know exactly how to say that um are great actually I did hear project uler I I've heard of that before I'll have to check it out again because I can't remember what exactly it was like but I now that I see it I remember that um there's also a subreddit but Rohan says there's also subreddit don't know how active it is okay and last comment um oh now it's not the last one I had one more one more sneak in there um but I can't we still have 27 viewers even after uh after this kind of epic length stream here uh so we've been going for almost two and a half hours uh so for all of you uh 27 viewers thanks for sticking around for this long uh so Hugo says for computer programming challenges project uh uler is good um and then URI online judge I've never heard of that one so can check that oh it's pronounced Oiler I guess I guess it's German oh okay oil okay cool yeah I'm not my German pronunciation is not super great I didn't realize that was a German word my last name is German so I know how to pronounce that but um other than that I'm not uh I did attempt to learn German at one time but um I always try to learn a lang like a a speaking language like you know French or you know Italian or German or something and I never get past like the Basics so um oh awesome uh Thor is from from Germany so cool yeah my my ancestors at some point were from Germany um but they uh they moved to the United States um before it was the actually called the United States so they they've been over here for for a long time uh so uh that's cool though uh um I like that people from all over the world uh watch this I think that's that's really awesome um all right so that's it that's the end of the uh the live chat uh so hopefully I covered every all the questions um and uh I'll be back tomorrow I'll probably be streaming from home again so hopefully I won't have the same technical issues and maybe I can do some testing earlier on and and get that all worked out um but uh I really appreciate all the help you gave me this has been uh amazing um I it would have taken me so much longer to get through all this without you so it already took longer than I thought it would uh but it it really would have I I probably would have been lost at some point so uh thank you so much and uh I hope you all got something out of this as well uh and Thor says thanks for the stream you're welcome um and uh yeah so everybody thanks for watching and I'll be back tomorrow at 2 pm eastern time uh I'll be streaming again and we'll be setting up the uh the SSL to work and actually making this load balancer go live uh on on the real live site so um uh let me I can't find the window to stop the stream I have too many windows open uh so have a great day and uh it looks there are people still going on the on the live chat so I don't know how long the live chat stays open but for as long as it stays open feel free to keep keep it up and and talk to each other uh but uh I really appreciate everybody watching I'll be back tomorrow have a great day thanks

Original Description

I am going to make my first attempt at setting up load balancing between multiple droplets running my React site. See a professional front-end developer at work. Unscripted. Mistakes included. Load Balancing Docs: https://www.digitalocean.com/community/tutorials/how-to-create-your-first-digitalocean-load-balancer Live Site: https://catechetics.com Repo: https://github.com/fus-marcom/ci-react Trello Board for this Project: https://trello.com/b/oD4BYdZk React: https://facebook.github.io/react/ Next.js: https://github.com/zeit/next.js/ Materialize: http://materializecss.com/ Twitter: https://twitter.com/JesseRWeigel Youtube: https://www.youtube.com/c/JesseWeigel29 Code Editor: https://atom.io/ Terminal: https://www.iterm2.com/ Project Management: https://trello.com - Learn to code for free and get a developer job: https://www.freecodecamp.com Read hundreds of articles on programming: https://medium.freecodecamp.com
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from freeCodeCamp.org · freeCodeCamp.org · 13 of 60

1 React: Production Server Setup Part 2 - Live Coding with Jesse
React: Production Server Setup Part 2 - Live Coding with Jesse
freeCodeCamp.org
2 cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
freeCodeCamp.org
3 Browser history tutorial - Beau teaches JavaScript
Browser history tutorial - Beau teaches JavaScript
freeCodeCamp.org
4 Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
freeCodeCamp.org
5 React: Parameterized Routing with Next.js - Live Coding with Jesse
React: Parameterized Routing with Next.js - Live Coding with Jesse
freeCodeCamp.org
6 React: Dealing with jQuery Issues - Live Coding with Jesse
React: Dealing with jQuery Issues - Live Coding with Jesse
freeCodeCamp.org
7 setInterval and setTimeout: timing events - Beau teaches JavaScript
setInterval and setTimeout: timing events - Beau teaches JavaScript
freeCodeCamp.org
8 Browser and Device Testing - Live Coding with Jesse
Browser and Device Testing - Live Coding with Jesse
freeCodeCamp.org
9 Last Minute Updates - Live Coding with Jesse
Last Minute Updates - Live Coding with Jesse
freeCodeCamp.org
10 Post Launch Updates - Live Coding with Jesse
Post Launch Updates - Live Coding with Jesse
freeCodeCamp.org
11 React: Setting Up Google Analytics - Live Coding with Jesse
React: Setting Up Google Analytics - Live Coding with Jesse
freeCodeCamp.org
12 React: Masonry Layout - Live Coding with Jesse
React: Masonry Layout - Live Coding with Jesse
freeCodeCamp.org
Load Balancing Digital Ocean Droplets - Live Coding with Jesse
Load Balancing Digital Ocean Droplets - Live Coding with Jesse
freeCodeCamp.org
14 try, catch, finally, throw - error handling in JavaScript
try, catch, finally, throw - error handling in JavaScript
freeCodeCamp.org
15 Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
freeCodeCamp.org
16 Graphs: breadth-first search - Beau teaches JavaScript
Graphs: breadth-first search - Beau teaches JavaScript
freeCodeCamp.org
17 React: Masonry Layout Part 2 - Live Coding with Jesse
React: Masonry Layout Part 2 - Live Coding with Jesse
freeCodeCamp.org
18 React: WordPress API Live Search - Live Coding with Jesse
React: WordPress API Live Search - Live Coding with Jesse
freeCodeCamp.org
19 Creating WordPress Custom Post Types - Live Coding With Jesse
Creating WordPress Custom Post Types - Live Coding With Jesse
freeCodeCamp.org
20 Dates - Beau teaches JavaScript
Dates - Beau teaches JavaScript
freeCodeCamp.org
21 Miscellaneous Front End Updates - Live Coding with Jesse
Miscellaneous Front End Updates - Live Coding with Jesse
freeCodeCamp.org
22 Merging a Pull Request from GitHub - Live Coding with Jesse
Merging a Pull Request from GitHub - Live Coding with Jesse
freeCodeCamp.org
23 React + Prettier + Standard JS - Live Coding with Jesse
React + Prettier + Standard JS - Live Coding with Jesse
freeCodeCamp.org
24 React: Sortable Responsive Table - Live Coding with Jesse
React: Sortable Responsive Table - Live Coding with Jesse
freeCodeCamp.org
25 Geolocation Sorting by Distance - Live Coding with Jesse
Geolocation Sorting by Distance - Live Coding with Jesse
freeCodeCamp.org
26 Tradeoff Matrix - Agile Software Development
Tradeoff Matrix - Agile Software Development
freeCodeCamp.org
27 The Definition of Ready - Agile Software Development
The Definition of Ready - Agile Software Development
freeCodeCamp.org
28 Getting first React job without experience - Ask Preethi
Getting first React job without experience - Ask Preethi
freeCodeCamp.org
29 React: Google Analytics Click Tracking - Live Coding with Jesse
React: Google Analytics Click Tracking - Live Coding with Jesse
freeCodeCamp.org
30 Submitting a PR to an Open Source Project - Live Coding with Jesse
Submitting a PR to an Open Source Project - Live Coding with Jesse
freeCodeCamp.org
31 Should I go back to school to get CS degree? - Ask Preethi
Should I go back to school to get CS degree? - Ask Preethi
freeCodeCamp.org
32 Hero Section CSS Changes - Live Coding with Jesse
Hero Section CSS Changes - Live Coding with Jesse
freeCodeCamp.org
33 Working Agreement - Agile Software Development
Working Agreement - Agile Software Development
freeCodeCamp.org
34 A day at Pennybox with Co-Founder Reji Eapen
A day at Pennybox with Co-Founder Reji Eapen
freeCodeCamp.org
35 React: Sorting and Filtering Data - Live Coding with Jesse
React: Sorting and Filtering Data - Live Coding with Jesse
freeCodeCamp.org
36 React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
freeCodeCamp.org
37 React: Building a New UI - Live Coding with Jesse
React: Building a New UI - Live Coding with Jesse
freeCodeCamp.org
38 Definition of Done - Agile Software Development
Definition of Done - Agile Software Development
freeCodeCamp.org
39 Getting started with jQuery (tutorial) - Beau teaches JavaScript
Getting started with jQuery (tutorial) - Beau teaches JavaScript
freeCodeCamp.org
40 Making a React Blog with WordPress Content - Live Coding with Jesse
Making a React Blog with WordPress Content - Live Coding with Jesse
freeCodeCamp.org
41 React, NextJS, CSS - Live Coding with Jesse
React, NextJS, CSS - Live Coding with Jesse
freeCodeCamp.org
42 jQuery events - Beau teaches JavaScript
jQuery events - Beau teaches JavaScript
freeCodeCamp.org
43 React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
freeCodeCamp.org
44 React: Working with API Data - Live Coding with Jesse
React: Working with API Data - Live Coding with Jesse
freeCodeCamp.org
45 React: Refactoring Components - Live Streaming with Jesse
React: Refactoring Components - Live Streaming with Jesse
freeCodeCamp.org
46 jQuery effects - Beau teaches JavaScript
jQuery effects - Beau teaches JavaScript
freeCodeCamp.org
47 More React Refactoring - Live Coding with Jesse
More React Refactoring - Live Coding with Jesse
freeCodeCamp.org
48 animate in jQuery - Beau teaches JavaScript
animate in jQuery - Beau teaches JavaScript
freeCodeCamp.org
49 "Finishing" My React Site - Live Coding with Jesse
"Finishing" My React Site - Live Coding with Jesse
freeCodeCamp.org
50 Starting a New React Project (P2D1) - Live Coding with Jesse
Starting a New React Project (P2D1) - Live Coding with Jesse
freeCodeCamp.org
51 React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
freeCodeCamp.org
52 The Agile Manifesto - Agile Software Development
The Agile Manifesto - Agile Software Development
freeCodeCamp.org
53 jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
freeCodeCamp.org
54 React Project 2 Day 3 - Live Coding with Jesse
React Project 2 Day 3 - Live Coding with Jesse
freeCodeCamp.org
55 The INVEST approach to product backlog items
The INVEST approach to product backlog items
freeCodeCamp.org
56 React Project 2 Day 4 - Live Coding with Jesse
React Project 2 Day 4 - Live Coding with Jesse
freeCodeCamp.org
57 Chickens and Pigs - Agile Software Development
Chickens and Pigs - Agile Software Development
freeCodeCamp.org
58 React Project 2 Day 5 - Live Coding with Jesse
React Project 2 Day 5 - Live Coding with Jesse
freeCodeCamp.org
59 jQuery: add and remove DOM elements - Beau teaches JavaScript
jQuery: add and remove DOM elements - Beau teaches JavaScript
freeCodeCamp.org
60 React Project 2 Day 6 - Live Coding with Jesse
React Project 2 Day 6 - Live Coding with Jesse
freeCodeCamp.org

Related Reads

📰
Give a Dead Side Project an Exit Report, Not an AI Eulogy
Learn to shut down side projects effectively with a compact exit report, preserving valuable assets and lessons
Dev.to · Sam Rivera
📰
How I’d Scope a Project Before Writing a Single Line of Code
Learn how to scope a project before writing code to ensure clarity and success
Medium · Startup
📰
Where to Start with my Project Idea
Learn how to break down your project idea into manageable parts and identify the necessary skills to get started
Reddit r/learnprogramming
📰
A Gantt where the bar's width IS the task's duration — built into WordPress, on live records
Learn how to integrate a Gantt chart into WordPress, displaying task duration as bar width, and apply it to live records for streamlined project management
Dev.to · Project Flash Build
Up next
How to Schedule a Message in Slack | Flowium
Flowium - eCommerce Email Marketing
Watch →