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. This specification is presented in a human readable format in paper books, or in electronic formats like ebooks or as man pages. For example, the math API on Unix systems is a specification on how to use the mathematical functions included in the math library. 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.
. . . . $ perldoc -f sqrt sqrt EXPR sqrt #Return the square root of EXPR. API in object-oriented languages[edit] 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. Most languages provide a generic sort function that implements a sort algorithm that will sort arbitrary objects.
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(). Map[edit] 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. In the case that it reaches the global scope and still has not found the requested name, it will raise a ReferenceError. The Bane of Global Variables // script Afoo = '42'; // script Bvar foo = '42' React vs. Ember - Alex Matchneer - EmberNYC meetup - Google Slides. 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. Its frankly appalling! For every click and every selection, the entire page refreshes.
Though its good for showing Ad impressions (which I hate) when browsing an e-commerce site, the usability is lost. 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) JqTree, Spring MVC, GoogleAppEngine; Example: Mbostock.github.io/d3/talk/20111018/tree.html. 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.
Vega: A Visualization Grammar. JSNetworkX. Ignacioola/insights.