Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of JavaScript Patterns

    JavaScript Patterns

    Stoyan Stefanov · 2010

    Annotation This text identifies key problem areas you might face when working with the language, and provides coding and design patterns as solutions. JavaScript expert Stoyan Stefanov includes several examples for each pattern as well as practical advice for implementing it.

    Web & Internet
    Open LibraryAmazon
    Stats for nerds
    29recommend
    35mentions
    33people
    2010–2024years
    86% recommend14% neutral

    Mentions per year

    20102012201420162018202020222024

    What Hacker News says

    1. tonyFeb 2020
      I believe one reason buying books is so popular is the reader leans the direction of being spoon fed. How many times have we picked up books and never actually read em?

      My anecdote, since I already had projects in mind and just wanted to synthesize how things were glued together A to Z: I went to SourceForge/GitHub/BitBucket and cloned repos for projects for the language of choice, build them, run the tests.

      Also, https://github.com/search and lookup stuff of similar topic / using the same libraries (words like MIT, ISC, Apache 2, BSD are a good sign). Then check if it's permissively licensed. Also, in the end, you likely won't ever end up forking or copying. You're just getting the knowledge of how it's glued, and probably will wire stuff in uniquely for your case.

      Building these projects in itself teaches the ropes of getting an environment setup (googling build errors, checking issue tracker), dependencies, test suites, and building a production-ready package.

      I kept the best projects I found at https://github.com/tony/.dot-config/blob/master/.vcspull.yam.... Purely for studying the source of.

      Python : Flask, Werkzeug, Django, SQLAlchemy

      JS : Express, Backbone, blog posts by Addy Osmani and JS enterprise architecture and Derick Bailey on Marionette (but i don't think the backbone would be as relevant today, it def paved the way to modern frontend we see today)

      C++ : OpenTTD

      In the end, there weren't many books I found espoused building projects. I already had an idea of what to build - I just needed enough to "ramp up", but if you want books:

      JavaScript Patterns: Build Better Applications with Coding and Design Patterns

      Examples applied directly to the task at hand. All about scoping.

      A python book, that hits different areas than this JS book would be The Hitchhiker's Guide to Python: https://docs.python-guide.org/

      C++: Scott Meyer books are great

      General programming: Code Complete

      thread
    2. git-pullAug 2017
      Books (free):

      - Javascript Patterns https://shichuan.github.io/javascript-patterns/: Good for wrapping your brain around scoping and how things flow in JS. It's a very nimble language. While you won't use every single one, internalizing their concepts are central to be efficient in wrangling JS and reading other's.

      - Patterns For Large-Scale JavaScript Application Architecture https://addyosmani.com/largescalejavascript/

      Docs / Articles:

      - Callback functions: https://developer.mozilla.org/en-US/docs/Glossary/Callback_f... Absolutely mandatory.

      - Currying: https://www.sitepoint.com/currying-in-functional-javascript/

      - 'return this' for method chaining: https://schier.co/blog/2013/11/14/method-chaining-in-javascr...

      Annotated Source:

      (soak these in 10-20 minutes every day over a month or two)

      - http://backbonejs.org/docs/backbone.html

      - http://underscorejs.org/docs/underscore.html

      Frameworks:

      - None. Webpack 3 + jQuery + babel + pjax

      Tips:

      - The longer you hold off on a framework, the better. Focus on getting your stuff out the door, test coverage + CI feedback loop, core business data schemas, and trimming off technical debt. After a couple of iterations and months of stability, consider a/b testing a framework.

      - Most libraries are still in ES5. Wrap your brain around ES5 is a sure thing. Not everyone is using newer JS features.

      - In many programming languages in your webstack, you're likely going to be dealing with node for build utilities and compilation.

      - Webpack, while it seems unintuitive at first, can be pretty nice once you get over the hump. It's like a miss of the old r.js configs and the declartive-ness of grunt.

      - As a parting note, don't feel a necessity to buy into single page application and frameworks. They're a tremendous time sink and the ROI just isn't there.

      thread
    3. dijkstra123Jun 2017
      If you need to read and understand the source code powering popular frameworks then following is the best book.

      JavaScript Patterns / Build Better Applications with Coding and Design Patterns / By Stoyan Stefanov

      thread
    4. dutchrapleyFeb 2015
      The industry needs more people like you, passionate and eager to learn.

      Start networking. You never know who you might meet. You have a better chance at landing your first job through an acquaintance as opposed to answering a help wanted ad.

      Start attending meetups, now. My top recommendation would be OpenHack http://openhack.github.io/new_york/ While you don't have a portfolio of projects on a website, you most likely still have them on your computer. OpenHack may be good place to showcase what you're working on if someone shows interest. Those projects also come in handy for when you start landing interviews. I always took a computer to job interviews to showcase what I was working on and even did some live coding. There's also another advantage to doing it this way: You are in control of the interview and I feel it's a much better approach than sitting through a Q & A with a hiring team. It says, "I came prepared."

      For your first job, don't undercut yourself on salary. At least make enough to live. Even if you find a company is horrible, you can still leave yourself open to other options. You might even land your next job, doubling your salary, through someone you worked with and recently left said horrible company. It may take your 2-3 employers to get to your desired salary.

      I landed my first job through a random conversation with a neighbor (before that I was college dropout and an office temp for two months trying to land said job). It paid $28k and half of my month's pay went to cover rent for a studio apartment. I ate PB&J and an apple every day for lunch. The job was copying text from Word documents and PDFs, marking them up with HTML. At the time, the company was building a hosting subsidiary. 2-3 nights a week, I spent 3-4 hours volunteering my time with that effort, through which I picked up Linux. I landed my second job through a previous co-worker. Every job offer I've ever taken started with an acquaintance.

      My recommendation is to pick an area/skill set and focus on building that out. Looking at what you listed, I'd most likely recommend JavaScript for you. Take a look at a front end JS framework like Angular, Backbone, Knockout, or React. Maybe even try all of them out. Eventually, you might have questions. As you do, Open Hack might be a great place to get help and pick up a few pointers. As you become familiar with JavaScript, look to expand your horizons with a JS backend technology like NodeJS and look at exploring frameworks/platforms like Meteor, DerbyJS, or Express.

      If you do decide to go the JavaScript route, here are some resources to get you started.

      http://jsbooks.revolunet.com/

      http://eloquentjavascript.net/1st_edition/contents.html

      http://bonsaiden.github.io/JavaScript-Garden/

      http://www.addyosmani.com/resources/essentialjsdesignpattern...

      JavaScript: The Good Parts by Douglas Crockford

      Secrets of the JavaScript Ninga by John Resig

      JavaScript Patterns by Stoyan Stefanov

      As a side note, some of the most brilliant people I've worked with didn't have CS degrees (Music, History, English, etc). Their key strength was that they were passionate about what they were doing and were constantly learning.

      “Education is the kindling of a flame, not the filling of a vessel.” ― Socrates

      thread
    5. rudimentalDec 2014
      What're your goals? It can help to direct you to the best place for what you're looking for out of JavaScript. I think it's useful to learn vanilla JavaScript well before learning libraries and frameworks.

      Useful books. The first is online and free (the other two are as well, somewhere): http://eloquentjavascript.net/

      http://www.amazon.com/Professional-JavaScript-Developers-Nic...

      http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp...

      Solve toy problems to solidify knowledge of methods and syntax: http://coderbyte.com/CodingArea/Challenges/

      Good material- lots of video and problems. Not free but worth it: https://www.codeschool.com/ (makers of the jQuery videos below)

      Bootstrap - popular front-end framework: http://getbootstrap.com/

      Actually build something! A To Do List, a website, a game.

      See some different frameworks do the same things: http://todomvc.com/

      jQuery: http://try.jquery.com/

      Here is a good free node tutorial: http://nodeschool.io/

      Some tracks to learn, and get connected with non-profits to make useful things: http://www.freecodecamp.com/

      Contributing to open source projects is another route.

      thread
    6. declandewetApr 2014
      The factorial example is used in many programming tutorials, not to teach you that you need to understand complicated mathematical theory to become a programmer (you don't, so don't worry), but instead to teach you one of the more advanced paradigms of beginner programming: recursion (having a function call itself again and again until it's to-be-returned value is adequate enough to finally be returned).

      Learning more about the language is always going to help, though. I would suggest doing the CodeCademy track a second time to see if you've improved. Focus on writing efficient solutions that are better than what you would have done your first time around. Once that is done, give these resources a go:

      - http://codeschool.com - http://lynda.com - http://teamtreehouse.com

      I would also suggest purchasing these books, as they are somewhat the standard learning and reference resources:

      - JavaScript: The Good Parts - JavaScript: The Definitive Guide

      There are other books that will help tremendously, and a list of free ones can be found at http://jsbooks.revolunet.com

      Other books I recommend:

      - Eloquent JavaScript - Effective JavaScript - High Performance JavaScript - Maintainable JavaScript - Principles of Object-Oriented Programming in JavaScript - JavaScript Patterns - The Past, Present and Future of JavaScript - JavaScript Enlightenment - Secrets of the JavaScript Ninja

      thread

    Related

    Cover of High Performance JavaScript
    2010–2016

    High Performance JavaScript

    Nicholas C. Zakas
    14 recommend · 21
    Cover of Javascript Web Applications
    2011–2013

    Javascript Web Applications

    Alex MacCaw
    8 recommend · 13
    Cover of JavaScript
    2008–2026

    JavaScript

    Douglas Crockford
    72 recommend · 104
    Cover of Eloquent Javascript
    2007–2026

    Eloquent Javascript

    Marijn Haverbeke
    226 recommend · 356
    Cover of Effective JavaScript
    2013–2022

    Effective JavaScript

    David Herman
    20 recommend · 29
    Cover of Object-Oriented JavaScript
    2010–2017

    Object-Oriented JavaScript

    Ved Antani
    9 recommend · 12
    Cover of Javascript Enlightenment
    2011–2017

    Javascript Enlightenment

    Cody Lindley
    recommend · 10
    7
    Cover of Functional JavaScript
    2013–2023

    Functional JavaScript

    Michael Fogus
    25 recommend · 32