"Engineer to a streaming giant. Husband to a beautiful wife. Father of 4 kids. King of the rustaceans. And I will have my vengeance against JavaScript frameworks in this life or the next."
Dear FrontendMasters , please implement a regional pricing or course based pricing to your site , 39$ a month is a little steep price considering im only interested in some of the courses.
This is something we'd love to do. In the meantime, we do have a discount for countries with lower purchasing power! Email support@frontendmasters.com to inquire.
@4:31 are you modyfing outer loop control value using i--(post decrement) ? it wii be very hard to understand for next person. From my personal experience using while for outer loop can give more understandable code in such case. But other way if some one will grasp what happen with array with this splicing he shoud grasp this too.
I'm just starting to learn programming and i'm focusing on javascript, it would be of great help if someone explain to me all that is happening on this video. what are those programs that he is using? What do they do? What are they purpose? How can i be good at it?where can i learn it? What are those (in my perspective)advanced programming functions that are in his code? Thanks in advance for everyone who takes the time to answer me.
The program where you see him editing code is the Vim text editor - a special terminal text editor for advanced users where you memorize a bunch of ergonomic keystrokes for moving through the code which seem weird at first ("hjkl" instead of arrow keys for moving around) but supposedly make you faster at typing and moving through the code. Other alternatives are VSCode, Sublime Text, etc. The program which shows the graphs and which allows profiling is Google Chrome, specifically with the Chrome Dev Tools sidebar opened. This allows you to test your code for performance, network, and memory usage, along with much more. It has many options and is extremely useful. The place where he types things like "cargo run" or otherwise runs the actual programs is the terminal emulator - this is the most basic way to communicate with your computer where you type commands that run programs and give back results. The commands he runs are (I'm assuming) a benchmarking program written in Rust powered by the Cargo package manager, and the actual Node.js process itself which is being tested. He can run both of these commands at the same time by having 2 terminals opened. The website where he draws shapes in order to explain concepts is Excalidraw. The functions in his code (I'm assuming) are for a video game example program, or at least a simulation of a video game (you simulate things like player movement and shooting bullets but don't actually draw/render anything to the screen). The actual code itself seems to be written using classes and in a standard JS manner using modern ES6 methods and no special libraries. He uses a special "logger" variable in his code which I'm not sure is a 3rd party library or his own custom class, but all it does is write text to a file in a temporary directory in the system, which I'm not sure what is used for. There is also another file specifically for testing the code - this is where you see function calls like test() and expect(). This code runs a simulation of the main program (which is already a video game simulation - simulationception!) and tests whether certain variables are what they should be. For example if you add an item to an empty array, then we should expect that array to now have exactly one item. If not, the program exits and show you where you went wrong. These tests are hand-written and help you avoid mistakes in the logic of your code.
"I wrote one unit test, one integeration test. Might not work on mac. It just spawns bunches of processes and one zombie process". LMAO can't stop laughing
"people hate this idea of for loops", it's amazing how javascript contaminated the programming world, people would rather spawn some closure bois instead of just using a base programming concept
Set to Array refactoring seems a bit misleading, grouping 3 loops into 1 and then going 3x faster I'm wondering what would be the result with the same loop and a set, probably still faster with the array tho
In raw machine code you can do branch on zero and save a clock cycle instead of first doing a comparison and then branch on equal, can you do that with javascript too, by counting downwards instead of upwards?
The answer to your question is both simple and stupidly non-performant: you use functions that return either objects or object properties, then compose them together. const name = (x) => { name: x } const bullets = (y) => { bullets: [y] }; const makeGuy = (x,y) => { name(x), bullets(num) }; const partyLeader = makeGuy( Morpheus, 100000 ); To be fair, composition is both a clever and “functional” approach. If you like that, you need a clever functional language. Otherwise you’re just doing dumb fringe sh*t.
I was just about to ask how many jobs does "The Prime.." have , but now that his intro has told us that he has 4 children, I kind of understand why , he's at Netflix, Posting Twitch/YT vids every day and creates courses like this ,...kids chew on finances . Lucky man but it must be such hard work keeping up with all of that and a big family.
why you have to say you are a "husband" and a "father" like if that would have any relevance on what you do as a developer? why not say you have a mustache also? add more irrelevant shit while you're at it.
no, TS is per definition not JavaScript. you can arguee it is, but the language specification proofs its not. Most TS code cannot be executed in an ECMASctipt engine and that is the requirement, whatever you like it or not.
@xoskvr its not. its it however popular myth. Every expirenced developer knows TS is a limitation if you are good. it produce more bugs, slow down development and add a bunch of complexity. Even Microsoft knows it themselves. It only shine if you are medium/avarage in skill.