Best products from r/FreeCodeCamp
We found 14 comments on r/FreeCodeCamp discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 14 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
1. Design Patterns: Elements of Reusable Object-Oriented Software
- The space mouse compact was developed to deliver an intuitive, effortless and precise 3D navigation in CAD applications that cannot be experienced by using a standard mouse and keyboard.
- Six-degrees-of-freedom (6Dof) sensor - intuitively and precisely navigate digital models or views. Operating system - Windows 10, Windows 8.1, Windows 7 SP1,Apple macOS 10.14, Apple macOS 10.13, Apple macOS 10.12, Apple OS X 10.11, Apple OS X 10.10. Linux Red Hat Enterprise Linux Workstation 4, 5, Linux Novell SUSE Linux 9.3, 10, 11
- Each of the space mouse compact's two buttons opens its own 3Dconnexion radial menu. They provide direct access to up to 8 of your favorite application commands.
- With its iconic, pure design, the space mouse compact is small enough to fit on every desk while the brushed steel base ensures the device stability for precise 3D navigation.
- 2-Year manufacturer's warranty
Features:
3. The Pragmatic Programmer: From Journeyman to Master
- Save up to 15% when buying these two titles together.
- The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users.
- It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse.
Features:
5. Acer Aspire 1, 14" Full HD, Intel Celeron N3450, 4GB RAM, 32GB Storage, Windows 10 Home, A114-31-C4HH
- Intel Celeron N3450 Quad-Core Processor (Up to 2.2GHz)
- 14" Full HD 1920 x 1080 Widescreen Display. 300 Kilopixel (Front camera)
- 4GB Onboard Memory, 32GB Internal Storage
- 2-cell Li-Ion (4810 mAh) Battery, Up to 9 Hours Battery Life
- Windows 10 Home
Features:
6. Acer Aspire 5 Slim Laptop, 15.6 inches Full HD IPS Display, AMD Ryzen 3 3200U, Vega 3 Graphics, 4GB DDR4, 128GB SSD, Backlit Keyboard, Windows 10 in S Mode, A515-43-R19L,Silver
AMD Ryzen 3 3200U Dual Core Processor (Up to 3.5GHz); 4GB DDR4 Memory; 128GB PCIe NVMe SSD15.6 inches Full HD (1920 x 1080) Widescreen LED backlit IPS Display; AMD Radeon Vega 3 Mobile Graphics802.11ac Wi-Fi; Backlit Keyboard; Up to 7.5 Hours Battery Life1 USB 3.1 Gen 1 Port, 2 USB 2.0 Ports & 1 HDM...
7. Web Design with HTML, CSS, JavaScript and jQuery Set
- Brand: Wiley
- Set of 2 Volumes
- A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
Features:
8. A Smarter Way to Learn JavaScript. The new tech-assisted approach that requires half the effort
- Get Stronger and maximize your pull-up workout
- Improve your Form with adjustable assistance allowing you to focus on technique
- Versatile System attaches to any pull-up bar
Features:
9. JavaScript and jQuery: Interactive Front-End Web Development Hardcover
Wiley
10. Clean Code: A Handbook of Agile Software Craftsmanship
- PHP Objects, Patterns, and Practice
- PHP Books
Features:
12. ASUS MB168B 15.6" WXGA 1366x768 USB Portable Monitor,Black/Silver
- 15 6-Inch HD portable USB-powered monitor with a single USB 3 0 cable for power and data transmission
- Aspect Ratio is 16:9; Viewing Angle (CR≧10, H/V) is 90°/ 65°; Brightness (Typ) is 200cd/㎡
- World's slimmest and lightest USB monitor with a sleek and metallic finish It needs just one USB cable for both its video signal and power to deliver up to a full HD resolution
- Auto-rotating Display bundled with the Asus Smart CASE – a two-way adjustable stand and protective sleeve
- Asus Rapid replacement 3 Years 2 Way free SHIPPING
- Blue light filter – Blue Light filter minimizes Blue light to reduce eyestrain Please refer the user manual before use
- Industry leading 3 years with rapid replacement
Features:
> Felt pretty good about myself.. until I got to the algorithm section.
This is VERY normal. These are hard math concepts that take everyone a little bit to get used to. The only way you will learn these concepts is by implementing them, over and over and over and over and over.
> I would say I was getting stuck probably about half the time and would turn to read-search-ask method.
If this were not the case, then there would be no need to learn. I am a web developer and I look up the most inane shit on a daily basis because it is something that I either have never used/implemented or something I rarely use/implement (my big one here is PHP's array functions, I can never remember if the array comes before the callback or not with
array_map()
but I remember that it is the exact opposite ofarray_filter()
andarray_reduce()
). Embrace this, build your Google-fu because you will always need it.> A lot of times I was missing some small operator (code error) or somewhat minor step in the thought process, other times I would be lost entirely. Basically I wasn't thinking about how to implement my code well enough, imo.
This is 100% normal. Have you ever heard of a code review? This is where other developers review your code before it goes live. The point of this is that you cannot be 100% perfect with your code, maybe you forgot a semicolon or maybe your code is tough to read, that is what the code review process is like. I write code in iterations to make sure that I never 'get in too deep' and the fear of removing code sets in, each of these phases I go through a mini code review to see what is working at what isn't. I ALWAYS find some half-baked logic in my first few iterations before I really get into it and over the last couple years I find that I need fewer and fewer iterations and that I am able to get a better 'big picture.'
Don't be afraid to scrap some code and go back at it, this is your education and only you know when you understand the material. I have a bajillion abandoned side projects and so does every developer that I know.
Advice
Links
I did FCC up through the frontend section, I started my web dev career path in 2014 and picked up FCC in mid 2015 right before getting a job in web development. The most important part of FCC is that you are coding, getting practice and making mistakes, TONS of mistakes. Just keep it up, don't get burned out and remember that it is about your education, not how many challenges you complete. Code and read and read code.
It depends on how much programming experience you have. If FreeCodeCamp is all you've done and have only worked with JavaScript, then I think that CS50 would be worth going through. For the first few lectures, he goes material which uses C and talks about low-level memory management and how many things work under the hood. While this isn't necessary to the daily work of a web developer, it is still good to write code while being conscious of what's happening under the hood through all those abstractions.
As /u/artotal said in his reply, learning the fundamentals of data structures and basic algorithms and complexity really go a long way. I don't think CS50 goes very in-depth with regards to this, but there's a few different sources you could learn from. You could go the hands-on route and hop straight onto sites like HackerRank and Kattis and start working your way up the problem ladders if you already have some basic familiarity. If learning from scratch, FreeCodeCamp has a nice set of videos on their YouTube channel talking about different data structures implemented in JS.
As for general progression after FreeCodeCamp, keep building projects. I'm not sure how far you're into the curriculum, but it's quite long and it's got many projects even in the curriculum if you do both front and back end curriculums. With your currently existing projects, go back and see if you can make improvements to any of them. Maybe try and move them off of Codepen (if you did them there) and to your own personal portfolio site. Refine your portfolio page and have links to your projects, your Github, resume, etc. You can have free hosting through Github Pages and you should be able to host all the front end projects there. For Node projects, you can try hosting them through Heroku, or see about free hosting through Google Cloud or get trial credits on AWS or Digital Ocean.
I hope this gave you a general idea of how to progress. Choose what you want to do depending on your immediate goal. Looking for a job? Polish that resume, get your portfolio site and projects up and running, maybe get a domain name for it. Go on HackerRank and LeetCode and practice some common interview problems. Have a bit of free learning time? Dive into the fundamentals of CS. Consider taking a look at some of the tried and true CS textbooks like this one (I'm sure that with some Googling you can find links to a pdf of it for free).
Programming folks are SUPER opinionated. I think knowledge is knowledge, how you get to the source(or sauce) is irrelevant. Such as some folks love Stack Overflow, some hate it.
w3schools is a good entry point into some of the concepts, they do examples that make sense to me-- so I use them. I also use books, other websites, blogs, podcasts, and other programmers. Just find something that works for you. Find the tasty sauce :D
One thing you'll realize is how much people who seem to know things don't actually know as much as they think. There is this book pragmatic programmer that examines the idea of being less opinionated since tech constantly evolves. It's kind of like this, when you start learning things it kind of crystalizes how you think about programming. Kind of like on average folks like music from their high school years the best since that's when they were into music the most. Much like music, there will be better artists, there will be better songs, or even better compilers, higher concept languages, and there will be better frameworks. Whatever helps you drink from the fount, use that.
I hope that wasn't too self-congratulatory and here are some links to a podcast I listen to, a youtube channel, and that book I mentioned:
http://www.codenewbie.org/
http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X
https://www.youtube.com/watch?v=IalgBQQKROU
For one of my projects, I decided to just use vanilla JavaScript AJAX and for the rest, I ended up using jQuery. I felt this gave me a better handle of what was going on behind the scenes.
For vanilla JavaScript resources, the MDN documentation was helpful to get going. Using vanilla JavaScript was hard and it isn't super intuitive. This is why I think most people just end up using a library to call out to APIs. There's also a good Lynda course that's called "AJAX and JavaScript." It's pretty fast paced, and the course assumes you already know basic JavaScript, but I found it helpful with learning vanilla js ajax.
As far as jQuery goes, this video was also really helpful. Again, fairly fast pace but overall, good info. Once again, using the jQuery documentation is ESSENTIAL. I've found that in general, if I am stuck, asking myself the right questions, going to the documentation, and finding the answers is usually best.
I also read through the book Secerts of the JavaScript Ninja which had a few things to say about asynchronous code. Hope this helps!
I found that the Codecademy course helped me a little, but I also picked up these books by Jon Duckett. I'm the type who likes to have a book handy for reference and these have been great so far.
Funny because I'm on the same one. It definitely is tough and for one, I'm definitely going to redo the Basic Javascript section at least one or two more times. I've never learned JS before so I don't expect it to come "easy" to me and I kind of expected to have to put in extra effort.
I did pick up a textbook on the side A Smarter Way to Learn JavaScript, I don't know how it is because it was just delivered yesterday.
I've also been parsing through parts of this guide.
Thanks for your feedback and for digging into the code! It was a big help. Also sorry for the late response.
> Only found one 'bug'
I will fix it.
> You also might want to rework your 'blocks' array
You are right, this will make it easier.
I wanted to make the enemies move around the map, maybe this might ease things out.
> readability + maintainability
I agree! I will fix it. Some concepts that you pointed out I remembered (but forgot while coding) from Clean Code (Robert Cecil Martin) about conditional encapsulation and the magical numbers.
Yeah for sure! This is the amazon link to exactly what I bought: http://www.amazon.com/dp/1118871650/ref=rdr_ext_tmb
I am on page 195 and I like it a lot! It's very visual.
This one is pretty good.
Last year, I got myself a USB 3.0 monitor for my laptop. Awesome for coding on the go.
This is the one I got. I think there are newer models out now.
http://www.amazon.com/gp/product/B00FE690DI?psc=1&redirect=true&ref_=oh_aui_search_detailpage
> https://hackdesign.org/
I'd add the "The Non-Designer's Design Book" by Robin Williams as another brilliant resource for programmers trying to make their designs look a bit more professional.
Learning Web Design by Jennifer Robbins is a really good book for learning CSS.
Also, for me, learning CSS takes a ton of practice. Take a site you like and recreate it from scratch. You'll bang your head against the wall but you'll learn practical skills that might not sink in if you just watch videos and read tutorials.