サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
johnresig.com
Today marks the 10th anniversary of the release of jQuery. I announced it back at BarCamp NYC 2006 when I was still in college. It’s incredible to think of how far it’s come and just how many people have contributed to its success. To them I am forever grateful, thank you. Last year I wrote up an annotated version of the original jQuery release in which I dumped many of my thoughts regarding the w
In my spare time I’ve been working on a database of Japanese prints for a little over 3.5 years now. I’m fully aware that I’ve never actually written about this, personally very important, project on my blog — until now. Unfortunately this isn’t a post explaining that project. I do still hope to write more about the intricacies of it, some day, but until that time you can watch this talk I gave at
Recently I was prompted by Daniel Lamb to try and find old versions of jQuery for his jQuery Archive project. Thankfully I was able to find one in the Internet Archive from just a couple weeks after its release, in January 2006. I then took that opportunity to put that code online and I used the new Genius annotation beta to mark it up with a bunch of thoughts and memories around the release of th
Last fall, work on my coding side projects came to a head: I wasn’t making adequate progress and I couldn’t find a way to get more done without sacrificing my ability to do effective work at Khan Academy. There were a few major problems with how I was working on my side projects. I was primarily working on them during the weekends and sometimes in the evenings during the week. This is a strategy t
This summer I had the opportunity to attend NodeConf and it was a fantastic experience. I really appreciated how every session was a hands-on coding session: I felt like I walked away knowing how to put a bunch of advice directly into practice. One of my favorite sessions was the one run by James Halliday and Max Ogden exploring Node streams. Specifically they sat us down and had us run through th
For a while now I’ve been a huge fan of Gittip. I think they’ve created one of the most interesting models for funding Open Source development. One of the missing pieces, for most Open Source developers, is having consistent, reliable, income backing your development. Some developers are sponsored by their work place, others have a job but do Open Source work on the side. Even others may not have
Like many developers I’ve been excited by the promise of Asm.js. Reading the recent news that Asm.js is now in Firefox nightly is what got my interest going. There’s also been a massive surge in interest after Mozilla and Epic announced (mirror) that they had ported Unreal Engine 3 to Asm.js – and that it ran really well. Getting a C++ game engine running in JavaScript, using WebGL for rendering,
The news has just come out that Opera is switching all of their browsers (both mobile and desktop) to use WebKit (specifically, Chromium). I’ve seen a lot of gnashing of teeth on Twitter and I feel like I can respond because I use to feel the same way back in 2008-2009. However this is 2013 and the Chrome/Chromium team has made it obvious that any form of stagnation or lack of innovation does not
As an avid user of Ghostery, which blocks all sorts of tracking scripts, pixels, and other web bugs I frequently run across a surprising issue: The case in which the Google Analytics ga.js script has been blocked from loading (which is intended) but then some critical piece of functionality on the site is broken. The most common place I see this is when a site adds some event tracking to a signup
Happy news! My book, Secrets of the JavaScript Ninja is finally in stock on Amazon! It’s been available on Manning.com for over a month now but I think Amazon has been struggling to keep the books consistently in stock. You can get an ePub or Kindle version of the book at Manning.com. I’ve written about the writing process for this book previously (and why it’s taken so long to get out). I especia
I learned a neat tip from my co-worker, Craig Silverstein (more on Craig joining Khan Academy), recently and I thought others might find it to be useful. It has to deal with the eternal question: How do you store sensitive configuration options (such as usernames, passwords, etc.) in source control? Typically what I’ve done is to just punt on the problem entirely. I create a dummy configuration fi
As a follow-up to my post from last week on a strategy for i18n and Node.js I’ve published my module for handling internationalization in Node and, specifically, Express.js. The module is now available on NPM and can be installed by running: npm install i18n-2 The code and documentation for the module is available on Github here: https://github.com/jeresig/i18n-node-2 I’ve designed the API to work
Recently I internationalized a Node/Express web application that I’ve been working on and it seems to have gone fairly well (users in multiple languages are using it happily and I’m seeing a marked increase in traffic because of it!). Not much of what I’m writing up here is particular to Node, per se, just a general strategy for internationalizing a web application. I’ve used enough internationali
This past weekend I gave a talk at EmpireJS on the Computer Science platform that I’ve been developing at Khan Academy. The talk explores that platform and then goes into deeper technical details about how the real-time execution on the site was achieved. I recorded the talk on my laptop (so please excuse the echo as it wasn’t properly mic’ed up) and you can watch it here: A slightly older (stats
I’m incredibly excited to take this opportunity to announce a new project that I’ve been leading here at Khan Academy: Khan Academy Computer Science. We’re releasing a completely new platform that targets people with no programming knowledge and gives them an engaging and fun environment to learn in. Over everything else we wanted to emphasize creativity and exploration and make it approachable fo
Jeff Atwood wrote up a post today on the merits of writing a technical book in this day-and-age and specifically called out my past post on programming book profits and my work-in-progress Secrets of the JavaScript Ninja. I wanted to give a brief status update on the book and how it’s going. I started the book in early 2008 and was actually quite productive, finishing nearly the entire book that y
At Khan Academy we’ve been investigating teaching Computer Science to students in some new and interesting ways. The most interesting aspect of which is that we’re likely going to be teaching them JavaScript as their first language. We’re in a very unique position as we’re primarily aiming to teach students who’ve been through our previous math and science-centric curriculum. Because of this we ca
jQuery 1.6 and 1.6.1 are out the door. Congrats to the team and everyone that was involved with the release! A relatively controversial change in 1.6 was regarding how attributes and DOM object properties were handled. In 1.6 we wanted to take the major step of completely separating the two, allowing us to create an .attr() method that wasn’t quite so mealy-mouthed with regards to how attributes w
Today I’m announcing a major change in my life: I’m leaving Mozilla Corporation and joining Khan Academy. I joined the Mozilla Corporation in January of 2007, just over 4+ years ago, as a JavaScript Evangelist. During my time at the company I had an amazing opportunity to promote JavaScript. It’s been an incredible experience working with everyone at Mozilla. The company is easily one of the most
I’ve created a simple tool for landing pull requests from Github, which I’m calling “Pulley“. Landing a pull request from Github can be annoying. You can follow the instructions provided by Github (pulling the code, doing a merge) but that’ll result in a messy commit stream and external ticket trackers that don’t automatically close tickets. The series of commands that you run will typically look
After my two previous posts discussing dictionary lookups in JavaScript and JavaScript Trie performance analysis even more excellent feedback came in from everyone. Out of all the results two techniques seemed to be most interesting – and promising for reducing general memory usage and load time. String-based Binary Search The first technique proposed was left as a comment by a commenter named Ran
After my last post discussing dictionary lookups in JavaScript the unanimous consensus seemed to be that utilizing Trie would result in additional space savings and yield performance benefits. A Trie is a relatively simple data structure. At its simplest form you’re building a tree-like structure where each final leaf results in a complete word. This allows for some very efficient use of file size
I’ve been working on a browser-based word game, naturally written in JavaScript, and have been encountering some interesting technical challenges along the way. I’ve written up my thought process here for others to learn from (note that most of this happened over the course of a month, or so). I’ve often found that while a final solution to a problem may be rather elegant and “make perfect sense”
An issue popped up on Twitter this past week that caused the web site to be generally unusable for many users. It appears as if attempts to scroll were unbearably slow and caused the site to be unresponsive. The Twitter team investigated and determined that if they reverted the version of jQuery that they used back to 1.4.2 from 1.4.4 the site would be responsive again. After more investigation th
The other day I saw the announcement for the new Chrome OS test laptop and decided to sign up on the off-chance that I might be able to snag one. In the request form I made it very clear that I would be attempting to use this laptop for development (easily my primary activity). Surprisingly the laptop arrived this morning and I’ve been having fun putting it through its paces. (Note: There doesn’t
I’ve been saving this technique for a while now – it’s simple, but it’s good. What’s the fastest way to find the largest, or smallest, number in an array? There’s a bunch of implementations floating around – including some nicely object-oriented approaches in Prototype. However, none of them can compare to the raw simplicity of this: Array.max = function( array ){ return Math.max.apply( Math, arra
Creating Elements jQuery provides an alternative to the traditional DOM createElement. You get to just write straight up HTML. $("<li/>"); Creating Elements If you wish to modify the element or bind events to it, just use jQuery methods. $("<li/>") .click(function(){}) .attr("id", "test") .addClass("clickable"); Improved Creation In jQuery 1.4 we provided a new way to create an element and then mo
Load up this page in your browser. http://ejohn.org/apps/workshop/intro/ Not required, but good: Download and Install Firefox and Firebug. All code here: http://github.com/jeresig/jquery-workshop What is jQuery? An open source JavaScript library that simplifies the interaction between HTML and JavaScript. Created by John Resig in 2005, released in January of 2006. Built in an attempt to simplify t
I gave a number of talks this spring on jQuery and especially on some of the recent additions made in jQuery 1.4. Below are all the slides and demos that I’ve given. The conferences / meetups that I spoke at (or will speak at, in the case of MIX), and the talks that I gave, are as follows: Webstock (Wellington, NZ) (Introduction to jQuery Workshop, Things You Might Not Know About jQuery) Future of
次のページ
このページを最初にブックマークしてみませんか?
『John Resig - JavaScript Programmer』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く