API: Difference between revisions

Content deleted Content added
Roger
Tag: references removed
m Reverting possible vandalism by 2407:7000:8820:BD01:2936:AB7A:3867:4254 to version by WikiMacaroons. Report False Positive? Thanks, ClueBot NG. (3748914) (Bot)
Line 152:
On February 19, 2020, [[Akamai Technologies|Akamai]] published their annual “State of the Internet” report, showcasing the growing trend of cybercriminals targeting public API platforms at financial services worldwide. From December 2017 through November 2019, Akamai witnessed 85.42 billion credential violation attacks. About 20%, or 16.55 billion, were against hostnames defined as API endpoints. Of these, 473.5 million have targeted financial services sector organizations.<ref name="VentureBeat">{{Cite web |url=https://venturebeat.com/2020/02/19/akamai-cybercriminals-are-attacking-apis-at-financial-services-firms/ |title=Akamai: Cybercriminals are attacking APIs at financial services firms |last=Takanashi |first=Dean |date=19 February 2020 |website=Venture Beat |access-date=27 February 2020}}</ref>
 
==Documentation==
I don’t <sup>know <sub></sub></sup>
API documentation describes what services an API offers and how to use those services, aiming to cover everything a client would need to know for practical purposes.
I don’t know ya ya know ya I don’t know ya ya know ya I don’t know ya ya know ya
 
Restrictions and limitations on how the API can be used are also covered by the documentation. For instance, documentation for an API function could note that its parameters cannot be null, that the function itself is not [[Thread safety|thread safe]],<ref name="MonperrusEichberg11">{{C–ÅÁÈite journal |last1=Monperrus |first1=Martin |last2=Eichberg |first2=Michael |last3=Tekes |first3=Elif |last4=Mezini |first4=Mira |date=3 December 2011 |title=What should developers be aware of? An empirical study on the directives of API documentation |journal=Empirical Software Engineering |volume=17 |issue=6 |pages=703–737 |arxiv=1205.6363 |doi=10.1007/s10664-011-9186-4}}</ref> or that a decrement and cancel protocol averts self-trading.{{Clarify|reason=explanation required|date=February 2018}}
Documentation is crucial for the development and maintenance of applications using the API.<ref name="DekelHerbsleb9">{{Cite journal |last1=Dekel |first1=Uri |last2=Herbsleb |first2=James D. |date=May 2009 |title=Improving API Documentation Usability with Knowledge Pushing |journal=Institute for Software Research, School of Computer Science |citeseerx=10.1.1.446.4214}}</ref>
API documentation is traditionally found in documentation files but can also be found in social media such as blogs, forums, and Q&A websites.<ref name="ParninTreude11">{{Cite journal |last1=Parnin |first1=Chris |last2=Treude |first2=Cristoph |date=May 2011 |title=Measuring API Documentation on the Web |url=https://www.xmedo.com/measuring-api-documentation-web/ |journal=Web2SE |pages=25–30 |doi=10.1145/1984701.1984706 |isbn=9781450305952 |access-date=22 July 2016}}</ref>
 
Traditional documentation files are often presented via a documentation system, such as Javadoc or Pydoc, that has a consistent appearance and structure.
However, the types of content included in the documentation differs from API to API.<ref name="MaalejRobillard12">{{Cite journal |last1=Maalej |first1=Waleed |last2=Robillard |first2=Martin P. |date=April 2012 |title=Patterns of Knowledge in API Reference Documentation |url=https://mobis.informatik.uni-hamburg.de/wp-content/uploads/2013/03/TSE-2012-04-0081.R2_Maalej.pdf |journal=IEEE Transactions on Software Engineering |access-date=22 July 2016}}</ref>
 
In the interest of clarity, API documentation may include a description of classes and methods in the API as well as "typical usage scenarios, code snippets, design rationales, performance discussions, and contracts", but implementation details of the API services themselves are usually omitted.
 
Restrictions and limitations on how the API can be used are also covered by the documentation. For instance, documentation for an API function could note that its parameters cannot be null, that the function itself is not [[Thread safety|thread safe]],<ref name="MonperrusEichberg11">{{C–ÅÁÈiteCite journal |last1=Monperrus |first1=Martin |last2=Eichberg |first2=Michael |last3=Tekes |first3=Elif |last4=Mezini |first4=Mira |date=3 December 2011 |title=What should developers be aware of? An empirical study on the directives of API documentation |journal=Empirical Software Engineering |volume=17 |issue=6 |pages=703–737 |arxiv=1205.6363 |doi=10.1007/s10664-011-9186-4}}</ref> or that a decrement and cancel protocol averts self-trading.{{Clarify|reason=explanation required|date=February 2018}}
Because API documentation tends to be comprehensive, it is a challenge for writers to keep the documentation updated and for users to read it carefully, potentially yielding bugs.<ref name="researchgate.net" />
 
Little dog dog is going to go to the gym then go to gym then I don’t want you going back and go back then I don’t know ya ya know ya I don’t know ya ya know ya I don’t know 🤔 I was going to go to the gym and then I go to the gym and I don’t want you going back and go to the gym and then I don’t know ya ya know ya I don’t know ya ya know ya I know you’re cute but I know you’re cute I love ya know ya ya know ya I don’t know ya ya know ya I know you’re going to go
API documentation can be enriched with metadata information like [[Java annotation]]s. This metadata can be used by the compiler, tools, and by the ''run-time'' environment to implement custom behaviors or custom handling.<ref>{{Cite web |url=http://download.oracle.com/javase/1,5.0/docs/guide/language/annotations.html |title=Annotations |publisher=[[Sun Microsystems]] |access-date=2011-09-30 |archive-url=https://web.archive.org/web/20110925021948/http://download.oracle.com/javase/1,5.0/docs/guide/language/annotations.html |archive-date=2011-09-25 |url-status=dead }}.</ref>I <ref>don’t know </ref>I don’t know ya ya know ya I
 
I know you’re not cute and then I don’t want you to go to the gym and then I go to the
It is possible to generate API documentation in a data-driven manner. By observing many programs that use a given API, it is possible to infer the typical usages, as well the required contracts and directives.<ref>{{Cite book |last1=Bruch |first1=Marcel |title=2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010) |last2=Mezini |first2=Mira |last3=Monperrus |first3=Martin |year=2010 |isbn=978-1-4244-6802-7 |pages=141–150 |chapter=Mining subclassing directives to improve framework reuse |citeseerx=10.1.1.434.15 |doi=10.1109/msr.2010.5463347}}</ref> Then, templates can be used to generate natural language from the mined database of the flash flash of the gym data.
I don’t know ya ya know ya I don’t know ya ya know ya I don’t know ya ya know ya I don’t know ya ya know ya I know you’re cute I love ya know ya ya know ya I don’t know ya ya know ya I know <ref name="I don’t know ya ya know ya I don’t know ya ya know ya I don’t know ya ya know ya I don’t " />
 
==Copyright controversy==