background preloader

Source code repository

Source code repository
A source code repository is a file archive and web hosting facility where large amounts of source code are kept, either publicly or privately. They are often used by open-source projects and other multi-developer projects to handle various versions. They help developers submit patches of code in an organized fashion. People who write software retain their copyright when their software is posted to any open-source software hosting facilities, including the "non-gnu" section of GNU Savannah—with the exception of contributors to FSF-copyrighted programs at GNU Savannah.[1][2][3] Overview[edit] General information[edit] Features[edit] Other features[edit] Available version control systems[edit] Popularity[edit] Note 1: GitHub Blog: Those are some big numbers. Specialized hosting facilities[edit] The following are open-source software hosting facilities that only serve a specific narrowly-focused community or technology. See also[edit] Notes[edit] References[edit] External links[edit]

Crowd soucing internet marketplace The Amazon Mechanical Turk (MTurk) is a crowdsourcing Internet marketplace that enables individuals or businesses (known as Requesters) to co-ordinate the use of human intelligence to perform tasks that computers are currently unable to do. It is one of the sites of Amazon Web Services. The Requesters are able to post tasks known as HITs (Human Intelligence Tasks), such as choosing the best among several photographs of a store-front, writing product descriptions, or identifying performers on music CDs. Requesters can ask that Workers fulfill Qualifications before engaging a task, and they can set up a test in order to verify the Qualification. Name[edit] The name Mechanical Turk comes from "The Turk", a chess-playing automaton of the 18th century, which was made by Wolfgang von Kempelen. History, HIT types, and user demographics[edit] The service was initially invented for Amazon's in-house use by Peter Cohen, to find duplicates among its web pages describing products.[4] API[edit]

Ruby on Rails Ruby on Rails emphasizes the use of well-known software engineering patterns and principles, such as active record pattern, convention over configuration (CoC), don't repeat yourself (DRY), and model–view–controller (MVC). History[edit] On December 23, 2008, Merb, another web application framework, was launched, and Ruby on Rails announced it would work with the Merb project to bring "the best ideas of Merb" into Rails 3, ending the "unnecessary duplication" across both communities.[7] Merb was merged with Rails as part of the Rails 3.0 release.[8][9] Rails 3.2 was released on January 20, 2012 with a faster development mode and routing engine (also known as Journey engine), Automatic Query Explain and Tagged Logging.[11] Rails 3.2.x is the last version that supports Ruby 1.8.7.[12] Rails 3.2.12 supports Ruby 2.0[13] Technical overview[edit] Like many web frameworks, Ruby on Rails uses the model–view–controller (MVC) pattern to organize application programming. Framework structure[edit]

SpringSource.org Spring Framework The Spring Framework is an open source application framework and inversion of control container for the Java platform. The framework's core features can be used by any Java application, but there are extensions for building web applications on top of the Java EE platform. Although the framework does not impose any specific programming model, it has become popular in the Java community as an alternative to, replacement for, or even addition to the Enterprise JavaBean (EJB) model. Version history[edit] Modules[edit] The Spring Framework includes several modules that provide range of services: Inversion of control container (dependency injection)[edit] Objects created by the container are also called managed objects or beans. In many cases one need not use the container when using other parts of the Spring Framework, although using it will likely make an application easier to configure and customize. Aspect-oriented programming framework[edit] Data access framework[edit]

Web development Web development is a broad term for the work involved in developing a web site for the Internet (World Wide Web) or an intranet (a private network). Web development can range from developing the simplest static single page of plain text to the most complex web-based internet applications, electronic businesses, and social network services. A more comprehensive list of tasks to which web development commonly refers, may include web design, web content development, client liaison, client-side/server-side scripting, web server and network security configuration, and e-commerce development. Among web professionals, "web development" usually refers to the main non-design aspects of building web sites: writing markup and coding. For larger organizations and businesses, web development teams can consist of hundreds of people (web developers). Web development as an industry[edit] Since the commercialization of the web, web development has been a growing industry. Typical areas[edit] Basic[edit]

Web application framework History[edit] Around the same time, full integrated server/language development environments first emerged, such as WebBase and new languages specifically for use in the web started to emerge, such as ColdFusion, PHP and Active Server Pages. Types of framework architectures[edit] Most web application frameworks are based on the model–view–controller (MVC) pattern. Model–view–controller (MVC)[edit] Push-based vs. pull-based[edit] Three-tier organization[edit] In three-tier organization, applications are structured around three physical tiers: client, application, and database.[7][8][9][10] The database is normally an RDBMS. Framework applications[edit] General-purpose website frameworks[edit] For example, Zend Framework. Discussion forums, wikis and weblogs[edit] For example, WikiBase/WikiWikiWeb. Organizational portals[edit] For example, JBoss Portal or eXo Platform. Content management systems (CMS)[edit] Features[edit] Web template system[edit] Caching[edit] Security[edit] Scaffolding[edit] Ajax[edit]

Java (programming language) Duke, the Java mascot Sun Microsystems released the first public implementation as Java 1.0 in 1995.[1] It promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times on popular platforms. Fairly secure and featuring configurable security, it allowed network- and file-access restrictions. In 1997, Sun Microsystems approached the ISO/IEC JTC1 standards body and later the Ecma International to formalize Java, but it soon withdrew from the process.[16] Java remains a de facto standard, controlled through the Java Community Process.[17] At one time, Sun made most of its Java implementations available without charge, despite their proprietary software status. On November 13, 2006, Sun released much of Java as free and open source software, (FOSS), under the terms of the GNU General Public License (GPL). There were five primary goals in the creation of the Java language:[23] Major release versions of Java, along with their release dates: Garbage collection may happen at any time.

JUnit Copyright © 2007, 2008, 2009, 2010, 2011, 2012 Lars Vogel Unit testing with JUnit This tutorial explains unit testing with JUnit 4.x. This tutorial is part of this Kindle book: 1. 1.1. A unit test is a piece of code written by a developer that executes a specific functionality in the code which is tested. Unit tests ensure that code works as intended. Typically unit tests are created in their own project or their own source folder to avoid that the normal code and the test code is mixed. 1.2. JUnit unit test in version 4.x is a test framework which uses annotations to identify methods that specify a test. The following code shows a JUnit test method which can be created via → → → . @Test public void testMultiply() { MyClass tester = new MyClass(); assertEquals( "10 x 5 must be 50" , 50 , tester.multiply( 10 , 5 )); } JUnit assumes that all test methods can be executed in an arbitrary order. 1.3. The following table gives an overview of the available annotations in JUnit 4.x. Table 1. 1.5.

osx - Open multiple Eclipse workspaces on the Mac JavaScript JavaScript is classified as a prototype-based scripting language with dynamic typing and first-class functions. This mix of features makes it a multi-paradigm language, supporting object-oriented,[6] imperative, and functional[1][7] programming styles. JavaScript has been standardized in the ECMAScript language specification. History[edit] Beginnings at Netscape[edit] JavaScript was originally developed by Brendan Eich, while working for Netscape Communications Corporation. Although it was developed under the name Mocha, the language was officially called LiveScript when it first shipped in beta releases of Netscape Navigator 2.0 in September 1995, but it was renamed JavaScript[10] when it was deployed in the Netscape browser version 2.0B3.[11] The change of name from LiveScript to JavaScript roughly coincided with Netscape adding support for Java technology in its Netscape Navigator web browser. Server-side JavaScript[edit] Adoption by Microsoft[edit] Standardization[edit] Trademark[edit]

Programming languages The earliest programming languages preceded the invention of the digital computer and were used to direct the behavior of machines such as Jacquard looms and player pianos.[1] Thousands of different programming languages have been created, mainly in the computer field, and many more still are being created every year. Many programming languages require computation to be specified in an imperative form (i.e., as a sequence of operations to perform), while other languages utilize other forms of program specification such as the declarative form (i.e. the desired result is specified, not how to achieve it). Definitions[edit] A programming language is a notation for writing programs, which are specifications of a computation or algorithm.[2] Some, but not all, authors restrict the term "programming language" to those languages that can express all possible algorithms.[2][3] Traits often considered important for what constitutes a programming language include: Function and target Abstractions

TIOBE Software: Tiobe Index TIOBE Index for January 2016 January Headline: Java is TIOBE's Programming Language of 2015! Java has won the TIOBE Index programming language award of the year. This is because Java has the largest increase in popularity in one year time (+5.94%). Java's rise goes hand in hand with Objective-C's decline (-5.88%). So what is the outlook for 2016? The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. TIOBE Programming Community IndexSource: www.tiobe.com Java Python Visual Basic .NET JavaScript Assembly language Ruby Other programming languages The complete top 50 of programming languages is listed below. The Next 50 Programming Languages The following list of languages denotes #51 to #100. This Month's Changes in the Index Very Long Term History

Google programming languages failing to gain traction | Application Development Oracle, Microsoft, and Apple all have a programming language ranked prominently in an industry index that monitors language use, but Google's efforts have yet to yield results, according to an official with Tiobe, which publishes the monthly Tiobe Programming Community Index. In the March index, released over the weekend, Google saw its Go language drop out of the top 50 while Google's Dart language was ranked 78th. Oracle's Java language ranked first, used by 17.1 percent of developers, while Microsoft's C# came in at the third spot, used by 8.24 percent of developers. The Microsoft Visual Basic language was ranked 7th, used by 4.37 percent of developers. Objective-C, preferred by Apple and used for developing applications for the iPhone and iPad tablet, was ranked 5th, used by 7.38 percent of developers. [ See Oracle's two-year road map for Java, as well as an interview about Google Dart. | Subscribe to InfoWorld's Developer World newsletter for more news about software development. ]

Concurrency (The Java™ Tutorials > Essential Classes) Computer users take it for granted that their systems can do more than one thing at a time. They assume that they can continue to work in a word processor, while other applications download files, manage the print queue, and stream audio. Even a single application is often expected to do more than one thing at a time. For example, that streaming audio application must simultaneously read the digital audio off the network, decompress it, manage playback, and update its display. Even the word processor should always be ready to respond to keyboard and mouse events, no matter how busy it is reformatting text or updating the display. The Java platform is designed from the ground up to support concurrent programming, with basic concurrency support in the Java programming language and the Java class libraries.

Related: