background preloader

Mbostock.github.io/d3/talk/20111018/tree.html

Mbostock.github.io/d3/talk/20111018/tree.html
Related:  LooseLeaf FrontEnd Lib

Data Visualization Libraries Based on D3.JS - Mike McDearmon There are a lot of ways to visualize data on the Web (with more emerging every day), but the flexibility, versatility, and energized development community surrounding D3.js makes it a great option to explore. The following list of D3 plugins, extensions, and applications below is by no means comprehensive, but oughta be enough to keep you busy for a while. If you’re just getting your feet wet with D3.js, here are some great learning resources to get you acclimated:D3 for mere mortals: Great introductory lessons for those starting from scratch.Try D3 Now: Another great resource for learning about core D3 concepts.Data-Driven Documents (paper): An academic article by Mike Bostock with loads of footnotes.Learning D3, Scott Becker: A quick and effective tutorial series to get yourself up and running.Dashing D3: A very thorough tutorial series covering a LOT more than just D3.Interactive Data Visualization for the Web is a fantastic book by Scott Murray.

ignacioola/insights filter.js – Client side search filtering using JSON and jQuery Speed for search result filtering is critical. Its fine for site users to wait for some time (maybe a few seconds) to load the search results but after that filtering better be fast otherwise people lose interest. To give a simple example of how things are not user friendly is if you go to ebay.com or ebay.in. On the other hand, have a look at snapdeal.com or groupon.com and it tells a different story. We did client-side search filtering in a couple of portals we built and realized that we should generalize this. Some key features are: Category and sub-category based filteringSlider based filteringTrigger on any HTML element.Date filtering (in process) To use filter.js is simple. There are dependencies on how to render HTML components. Defining the search criteria and the JSON objects You can generate JSON data in any way you wish. Defining the view function We have some custom code for rendering HTML components. A more detailed example is available in the examples given on github. Update1

JavaScript Garden Although JavaScript deals fine with the syntax of two matching curly braces for blocks, it does not support block scope; hence, all that is left in the language is function scope. function test() { // a scope for(var i = 0; i < 10; i++) { // not a scope // count } console.log(i); // 10} There are also no distinct namespaces in JavaScript, which means that everything gets defined in one globally shared namespace. Each time a variable is referenced, JavaScript will traverse upwards through all the scopes until it finds it. The Bane of Global Variables // script Afoo = '42'; // script Bvar foo = '42' The above two scripts do not have the same effect. Again, that is not at all the same effect: not using var can have major implications. // global scopevar foo = 42;function test() { // local scope foo = 21;}test();foo; // 21 Leaving out the var statement inside the function test will override the value of foo. // global scopevar items = [/* some list */];for(var i = 0; i < 10; i++) { subLoop();}

Anonymous function Anonymous functions originate in the work of Alonzo Church in his invention of the lambda calculus in 1936 (prior to electronic computers), in which all functions are anonymous. In several programming languages, anonymous functions are introduced using the keyword lambda, and anonymous functions are often referred to as lambda functions. Uses[edit] Sorting[edit] When attempting to sort in a non-standard way it may be easier to contain the comparison logic as an anonymous function instead of creating a named function. Consider sorting a list of strings by length of the string: a = ['house', 'car', 'bike'] a.sort(lambda x,y: cmp(len(x), len(y)))print(a)['car', 'bike', 'house'] The anonymous function in this example is the lambda expression: The anonymous function accepts two arguments, x and y, and returns the comparison between them using the built-in function cmp(). a = [10, 'number', 11.2] a.sort(lambda x,y: cmp(x. Closures[edit] def comp(threshold): return lambda x: x < threshold Map[edit]

Application programming interface In computer programming, an application programming interface (API) specifies how some software components should interact with each other. Detailed explanation[edit] API in procedural languages[edit] In most procedural languages, an API specifies a set of functions or routines that accomplish a specific task or are allowed to interact with a specific software component. The Unix command man 3 sqrt presents the signature of the function sqrt in the form: SYNOPSIS #include <math.h> double sqrt(double X); float sqrtf(float X); DESCRIPTION sqrt computes the positive square root of the argument. ... This description means that sqrt() function returns the square root of a positive floating point number (single or double precision), as another floating point number. Hence the API in this case can be interpreted as the collection of the include files used by a program, written in the C language, to reference that library function, and its human readable description provided by the man pages.

Related: