サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
www.bocoup.com
Did you know that in the process of standardizing JavaScript, TC39 publishes notes for each of their regular meetings? Every other month, over 50 “delegates” convene to discuss the future of the language, and the minutes they publish provide an incredible view into their discussions. Here’s what you can expect to find: a list of all attendees an account of all substantive comments, annotated with
Today we’re launching Test262 Report to provide JavaScript developers with up-to-date information on the state of new and existing language features across implementations. Test262 Report is based on daily runs of Test262, the ECMA-262 (“ECMAScript” or “JavaScript”) test suite, in nightly builds of JavaScript engines, and visualizes at-a-glance status of feature implementation progress. Taking a l
If you’ve had any contact with JavaScript code, you’re probably very familiar with how to define and call functions, but are you aware of of how many different ways you can define a function? This is a common challenge of writing and maintaining tests in Test262—especially when a new feature comes into contact with any existing function syntax, or extends the function API. It is necessary to asser
Since starting our work on Test262, the official test suite for the ECMAScript programming language, we’ve seen our fair share of strange tests. For nerds like us, every test has the promise to teach us something new, make us laugh, or bury our head in our hands. But unlike choosing between movies, books, or 18th century shoe makers, I’ve never had trouble picking a favorite JavaScript test. No, i
Illustration courtesy Matt McLaughlin. It is 9:18 AM on August 21, 2021. You have just finished eating your space-breakfast, and you’re ready to get back to work maintaining the web presence for Omni Consumer Products. After about an hour, you find your latest change fails an acceptance test. It turns out to be a bug in “RedactSelect”, an open source “multiselect” web component you’ve been using.
They tried to cover this up. In designing ECMAScript 2015 (a.k.a. ES6, a.k.a. ES2015), the authors identified a number of undesirable side effects of their work. “Why worry?” they asked. “People will be so smitten with arrow functions and block-scope bindings that they won’t care about a few measly backwards-breaking changes.” Well I care, and I have evidence that suggests I’m not alone. Through a
We build a lot of software at Bocoup. Like other types of builders, we tend to grow attached to the particular sets of tools and scripts we use in our work. We don’t play favorites: my colleagues support Grunt, contribute to Gulp, and maintain stand-alone tools such as JSHint. It’s easy to take familiarity with these tools for granted, but for our clients (or new project contributors) every new to
Look, I like good typography as much as the next person—maybe even a little more. When a CSS property came along with promises to doctor all my type with ligatures and carefully calculated kerning—not some half-assed tracking, but real kerning—I jumped at it. I put text-rendering: optimizeLegibility on headings, body copy, navigation links; I slapped it on images just in case a ligature might appe
Stabilizing ECMAScript 2015 (ES6): Teaming up with TC39 and Google on Test262 August 14, 2015. Mark your calendars. That’s my next birthday. Another important date is June 18, 2015–it’s when the ECMA General Assembly will vote on and approve the 6th edition of Ecma-262 and usher in the next era of JavaScript. On that day, all those new language features we’ve been coveting/dreading will officially
Every time I contribute to JSHint, I learn a little more about JavaScript. My most recent fantastical knowledge adventure led me to the behavior of the name attribute of function objects. JSHint has an interesting but lesser-known feature: code analysis reports. When used programatically, JSHint will return an object with some data about the code it has analyzed. This includes (but is not limited
Update: This proposal now has two open bugs for implementation, on V8 and SpiderMonkey. https://code.google.com/p/v8/issues/detail?id=3915 https://bugzilla.mozilla.org/show_bug.cgi?id=1135708 In this article, I’ll explore the process of adding syntax to a programming language by going through the process of designing a new JavaScript exponentiation operator, which I’ve submitted to TC39 for consid
We can create charts quickly when working with D3.js and standard DOM elements, but that comes with a key limitation: the number of nodes we can render is fairly small. Have you ever tried to render a scatterplot with 1000+ circles in SVG? If you have, then you’ve probably seen your browser crumble under the weight of its own DOM. Thankfully, using D3.js with canvas (or really any other renderer)
For many developers, writing tests is a hassle that would be best put off till tomorrow. For one, nothing can compete with the direct impact of writing great application logic. No user ever shared feedback like, “The UI was really pleasant and the functional tests were well-organized and readable.” There’s not much I can say to change that. Another common hurdle is that maintaining tests can just
For the CSS overflow property, should auto or hidden be the default instead of visible? If you write a lot of CSS, there is a good chance your immediate response would be “no way!” But hear me out! There are several awesome benefits to one of these being the default, and in my opinion, many or all of the drawbacks are based around the fact that it’s just not what we’re used to, rather than being r
One of my favorite things about programming in node is the package management system. In almost all instances, the practice of locally installing modules for each project has simplified my life as a developer. However, as a long time contributor to Grunt, I have become intimately familiar with one edge case where this practice breaks down. In the hope of mitigating the annoyance for everyone, I cr
AMD (short for Asynchronous Module Definition) is a JavaScript API specification for structuring modular code. The web abounds with blog posts illustrating its use in front-end application development (and there’s plenty of healthy debate around its necessity, too). The topic of unit testing (despite being integral to the process of software development) does not receive much attention in these di
Introducing Grunt v0.4 For the last nine months, I’ve been working with Ben and our team of fantastic contributors to modularize the Grunt codebase. Today, we’re happy to announce that Grunt v0.4 has been published to npm. Hold on to your hats, a lot has changed! Architectural Improvements The primary focus of this version can be summarized by the venerable words of Doug McIlroy, “Do one thing and
This post is the first in a three-part series describing our investigations into scalability for a second screen application we built with PBS. You can read more about the project in the series introduction here. Some Background We built the Map Center second-screen application in Node.js with the help of a number of open-source libraries. The most pertinent to this discussion is Socket.io, an int
Introduction Flexbox is a new layout mode in CSS3 that is designed for the more sophisticated needs of the modern web. This article will describe the newly-stablized Flexbox syntax in technical detail. Browser support is going to grow quickly, so you’ll be ahead of the game when support is wide enough for Flexbox to be practical. Read on if you want to know what it does and how it works! Why is Fl
GitHub offers a great feature called WebHook URLs. You can add a url to take advantage of git’s post-receive hook and get a POST request containing data related to a repository push (e.g., commits, tags, and head-resets). While the data is very detailed and thorough, its complexity and focus on mimicking the git operations make it harder to use. For example, files added are listed per commit inste
Building a back-end API layer introduces a whole new layer of coordination between server and client code. While there are many aspects to this delicate dance of communication, one key ingredient to minimizing back-and-forth-confusion-about what-call-does-what, is consistently communicating about your API endpoints. This is by no means rocket science, but over time I’ve created a template that I n
00000001 // 1 — truthy, so LED 7 is ON Throw in the iteration from 0 to 255, a timeout, and some Johnny Five code, and we end up with this: Part 2: Learning to Write If all we wanted to do was count from 0 to 255 in blinking lights, then the best we can say about bitwise operators is that they save us a few lines. A few days after I got the LEDs blinking, I saw this code for making a two-line liqu
I’ve just returned from the future, and I have a lot to share with you. World news, sports scores, market changes, all that stuff can wait. First, we need to talk about third-party JavaScript. There’s a great deal of browser technology on the way that will affect the way you write code. Here, I’ll focus specifically on tech that has relevance to third-party JavaScript (3PJS) developers. I’ve edito
I’ve been working on a new open-source project lately. To be honest, I’ve been so busy coding that I haven’t had time to write about it, but since everyone at Bocoup got together the other day and told me I had to write a blog post—apparently they’re pretty excited—I’d like to introduce grunt. What is grunt? Grunt is a task-based command line build tool for JavaScript projects. Why did I create gr
Yesterday, Opera announced and released the latest version of its mobile browser, Opera Mobile 12. Today, while running the browser against the Ringmark suite, I noticed that it was now passing the WebRTC detection tests. Very exciting, indeed! To test drive the first ever mobile browser implementation of WebRTC, I decided to use dmv — my super simple Node.js served, socket.io enabled, navigator.g
Over the past year Bocoup has worked on several production applications that utilize the MVC library Backbone.js. We’ve worked hard to give back to the community through informative blog posts, core contributions, support & evangelism through various mediums such as meetups, IRC and Twitter. Over the course of the past year, we created small boilerplates to share around the office and across proje
Updated on August 20th, 2015 – This blog post was originally written to use the Twitter public API. That API has since changed to not allow unauthenticated queries. We’ve updated this post to utilize the GitHub API instead which still allows a minimal amount of unauthenticated queries (60 an hour.) The linked jsFiddles have been updated to reflect this but you may encounter the rate limiting rathe
If you have spent any time looking at Backbone.js, like many others, you are probably amazed by how lightweight, flexible and elegant it is. Backbone.js is incredibly powerful, but not prescriptive in how it should be used. With great power comes great responsibility, and if you’ve tried to use Backbone.js for a large project you might be asking yourself: how do I organize my code? When thinking a
I gave a talk in February on Advanced jQuery Templates that had an interesting and unique twist. Instead of changing slides using traditional presentation delivery methods such as a clicker or a laptop keyboard, I used my smartphone which made asynchronous calls to a Node.js server. The server then propagated events to all connected viewers, regardless of Internet connection or device. This post p
次のページ
このページを最初にブックマークしてみませんか?
『Inclusive Technology Consulting - Bocoup』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く