background preloader

JSON: What It Is, How It Works, and How to Use It

JSON: What It Is, How It Works, and How to Use It
This week I want to cover a topic that I feel has become an important part of any developer’s toolkit: the ability to load and manipulate JSON feeds from other sites via AJAX. Many sites are sharing data using JSON in addition to RSS feeds nowadays, and with good reason: JSON feeds can be loaded asynchronously much more easily than XML/RSS. This article will cover the following: What is JSON? We’ll also use our newfound skills with JSON at the end of this project to build a quick app that loads photos from Flickr without requiring a page refresh. What Is JSON? JSON is short for JavaScript Object Notation, and is a way to store information in an organized, easy-to-access manner. Storing JSON Data As a simple example, information about me might be written in JSON as follows: This creates an object that we access using the variable jason. Storing JSON Data in Arrays Summary

Uniform - Sexy forms with jQuery Playing with JQuery Validation library | Elegant Code New job (2 weeks in), new responsibilities, new tools to play with. Amazingly (for me), one of the new tools is the JQuery Validation Library. My diving into this also coincides with ScottGu’s announcement that Microsoft is creating their own CDN for JQuery and JQuery Validation. Bad news is that this means I’m behind. And you can add the JQuery Validation library like this: Note: see those end tags, great annoyance of my life, but you have to have them, you can’t do <script src=” />. Anyway, back to validation. The more I play with this library, the more I like it. Getting Started with JQuery Validation: The JavaScript Way: OK, assuming you have JQuery and the JQuery Validation library included, lets start with a simple customer form: 1: <form id="CustomerForm"> 2: <p> 3: <label for="firstNameEdit">First Name:</label> 4: <input id="firstNameEdit" type="text" /> 5: </p> 6: <p> 7: <label for="LastNameEdit">Last Name:</label> 8: <input id="LastNameEdit" type="text" /> 9: </p> 10: <p> 13: </p>

The Clean Architecture Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems. These include: Hexagonal Architecture (a.k.a. Ports and Adapters) by Alistair Cockburn and adopted by Steve Freeman, and Nat Pryce in their wonderful book Growing Object Oriented Software Onion Architecture by Jeffrey Palermo Screaming Architecture from a blog of mine last year DCI from James Coplien, and Trygve Reenskaug. BCE by Ivar Jacobson from his book Object Oriented Software Engineering: A Use-Case Driven Approach Though these architectures all vary somewhat in their details, they are very similar. Each of these architectures produce systems that are: Independent of Frameworks. The diagram at the top of this article is an attempt at integrating all these architectures into a single actionable idea. The Dependency Rule The concentric circles represent different areas of software. The overriding rule that makes this architecture work is The Dependency Rule. Entities Use Cases Conclusion

Useful Glossaries For Web Designers and Developers Advertisement In a day in age where there are just as many freelancers as there are university educated designers, developers, and all around web gurus, it is amazing to me how much many of us don’t know or have forgot about our trade. As a self-taught designer, I will admit to you upfront that there is a lot I don’t know when it comes to official jargon or certain aspects of things like typography and graphic design. It is these reasons that I call upon glossaries from time to time. These glossaries are also especially useful for those of you who are just getting started in the online business world. By understanding that basics of the core materials that make up whatever it is you are getting into, you will be able to have a better understanding of what’s going on in your industry, as well as be able to learn faster. But glossaries aren’t just for brushing up on old terms or for calling upon while you learn new things. Typography Glossaries Usability, UX and IA Glossaries SEO Glossaries

Why Arc Isn't Especially Object-Oriented There is a kind of mania for object-oriented programming at the moment, but some of the smartest programmers I know are some of the least excited about it. My own feeling is that object-oriented programming is a useful technique in some cases, but it isn't something that has to pervade every program you write. You should be able to define new types, but you shouldn't have to express every program as the definition of new types. I think there are five reasons people like object-oriented programming, and three and a half of them are bad: Object-oriented programming is exciting if you have a statically-typed language without lexical closures or macros. I personally have never needed object-oriented abstractions. Maybe I'm just stupid, or have worked on some limited subset of applications.

jQuery Enlightenment | by Cody Lindley | 1st Edition | based on jQuery 1.3.2 Architecture Patterns Introduction | US Treasury Architecture Development Guidance (TADG) | IBM Patterns for e-Business | Some Pattern Resources This chapter provides guidelines for using architecture patterns. Introduction Patterns for system architecting are very much in their infancy. They have been introduced into TOGAF essentially to draw them to the attention of the systems architecture community as an emerging important resource, and as a placeholder for hopefully more rigorous descriptions and references to more plentiful resources in future versions of TOGAF. They have not (as yet) been integrated into TOGAF. Background A "pattern" has been defined as: "an idea that has been useful in one practical context and will probably be useful in others" [Analysis Patterns - Reusable Object Models]. In TOGAF, patterns are considered to be a way of putting building blocks into context; for example, to describe a re-usable solution to a problem. Content of a Pattern Name Problem Context Forces Solution Resulting Context

ie7-js - Project Hosting on Google Code IE7.js is a JavaScript library to make Microsoft Internet Explorer behave like a standards-compliant browser. It fixes many HTML and CSS issues and makes transparent PNG work correctly under IE5 and IE6. Current version: 2.1 beta4. IE7.js Upgrade MSIE5.5-6 to be compatible with MSIE7. IE8.js Upgrade MSIE5.5-7 to be compatible with MSIE8. You do not need to include IE7.js if you are using IE8.js IE9.js Upgrade MSIE5.5-8 to be compatible with modern browsers. You do not need to include IE7/IE8.js if you are using IE9.js The script only fixes images named: *-trans.png If you want the fix to apply to all PNG images then set a global variable as follows: var IE7_PNG_SUFFIX = ".png"; You must set this variable before including the IE7.js script. <script src="IE8.js">IE7_PNG_SUFFIX=".png";</script> The suffix will ignore query string parameters. var IE7_PNG_SUFFIX = ":"; By default, the PNG will be stretched (this simulates tiling). You may link directly to these files if you wish:

Python to Javascript translation I'm currently doing a project with a backend in Python and a client mostly in Javascript -- still not public, but if everything turns out right I'll post about it later on -- and there are some algorithms I'd like to reuse in both, but without going to a full Python in browser style (such as Pyjs or brython)... Ideally I'd like something like Coffescript (but with a Python-like syntax so that a subset of Python can be used for both Python and Javascript generation). -- Sidenote: I decided I really have to grasp Javascript in order to find out how things work before trying an alternative language which compiles down to Javascript -- so far my experience has been nice.