0% found this document useful (0 votes)
79 views9 pages

Technical Glossary

Uploaded by

Loredana Preduna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views9 pages

Technical Glossary

Uploaded by

Loredana Preduna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Back-end technologies  

PHP 5.*  

PHP frameworks Symfony (2), Zend Framework (2), CakePHP, Yii, Laravel, CodeIgniter

CMS (content
management system) Joomla, Drupal, Wordpress, Magento (for e-commerce)

LAMP Linux + Apache + MySQL + PHP

Twig (templating), PHPUnit (testing), Doctrine (ORM), PHPStorm (IDE),


PHP keywords Pear, Smarty

   

Ruby  

Ruby frameworks Rails/Ruby on Rails, Sinatra, Padrino, JRuby

Ruby testing tools RSpec, Capybara, Watir, Cucumber

Ruby deployment Passenger, Capistrano

   

Java  

Java SE frameworks Swing, Play, JavaFX, JSF, Netty, Spring MVC, Wicket

Java EE frameworks JSP, Servlets, EJB, JMX, JAF

ORM Hibernate, EJB, JPA

Java build tools Ant, Maven, Gradle

Java deployment Tomcat, JBoss, GlassFish, WebLogic

Java testing tools jUnit, TestNG, Cactus, EasyMock, Mockito, Cucumber

   

C# (.NET) Microsoft

C# frameworks .NET 1.0 - .NET 4.5.*

ASP.NET (web framework


connected with HTML,
CSS, JS) ASP.NET Web API (2), ASP.NET MVC, ASP.NET Web Forms (old school)

WPF - graphical subsystem for rendering user interfaces, WCF - tool to


WPF, WCF build Service-Oriented applications

ORM nHibernate, Entity Framework, Linq2SQL, ADO.NET


C# testing tools nUnit, SpecFlow, MStest

   

Python  

Python frameworks Django, Flask, Pyramid, Pylons, SQLAlchemy, web2py, Kivy

   

С++  

STL, Boost, QT (for user interfaces), vxWidgets, Loki, POCO, OpenCV (for
C++ frameworks imaging)

   

Scala  

Scala frameworks Akka, Cats, Lift, Play, Scalaz, Slick, Shapeless, Spray

   

Front-end technologies  

JavaScript  

JavaScript frameworks jQuery, extJS, Angular, React, Ember.js, Backbone, Knockout.js, ...

JavaScript Back-End
frameworks Node.js, Sails, Express, Grunt/Gulp (build tools for Node.js)

Node.js-based build tools Grunt, Gulp, Brocolli, Webpack

JavaScript testing tools Jasmine, Karma, Mocha

AJAX Dynamic requests to server without reloading a webpage

HTML HTML4, HTML5, Zurb, Bootstap, Canvas, WebGL

CSS CSS2, CCS3, Bootstrap, Compass, LESS, SASS, YAML, Zurb

Approach for optimal viewing and interaction across a wide range of


Responsive web design devices (from monitor to mobile/tablets)

   

Mobile development  

iOS Objective C, Swift

iOS frameworks CoreData (DB in iOS), Cocoa, Cocoa Touch, UIKit, CoreLocation,
CoreFoundation, CoreImage, CoreGraphics

Cocoa Pods (dependency manager), Flurry (for analytics), TestFlight (for


iOS tools installation and testing iOS apps), HockeyApp (platform for apps)

   

Android  

Android SDK, Android NDK, Android IDE, Gradle (build tool), AndEngine,
Android keywords Robotium (testing) + a lot of Java keywords

   

Cross-platform Mobile jQuery Mobile, PhoneGap, Sencha Touch, Dojo Mobile, Titanium, Xamarin
(mostly JavaScript) (C#)

   

Testing (Quality
Assurance)  

Functional, Regression Selenium (browser automation), WebDriver, SoapUI (for API testing),
testing tools Watir, Watin, QTP, Cucumber

Load, Stress and


Performance testing toolsJMeter, NeoLoad, LoadRunner, LoadUI, Siege, Gatling,

Load, stress, performance, regressional, functional, security, cross-browser,


Types of testing black-box, etc

   

Databases (DB)  

Programming languare for managing data held in a relational database


SQL management system (RDBMS)

MySQL, Oracle, Access, MS SQL Server (mostly for Microsoft stack),


Relational DB PostgreSQL, SQLite

NoSQL Cassandra, MongoDB, Berkeley DB, Redis, Riak, CouchDB, DynamoDB

Object-related mapping Programming technique that connects databases with object-oriented


(ORM) principles)

Stored procedures, triggers, replication, performance optimization,


Magic keywords for DBA clustering, back-up, deadlocks, tuning, configuration

   

Programming paradigms  
Programming paradigm based on the concept of "objects" (which are data
OOP (object-oriented structures that contain data, in the form of fields) often known as
programming) attributes; and code (in the form of procedures) often known as methods

Languages with OO
features C++, C#, Java, JavaScript, Objective C, Perl (v5), PHP5, Python, Ruby, Scala,

Style of building the structure and elements of computer programs, that


treats computation as the evaluation of mathematical functions and avoids
Functional programming changing-state and mutable data.

Functional languages Scala, Erlang, OCaml, Haskell, F#, Clojure, Elixir, R

Programming language that supports scripts, programs written for a special


run-time environment that can interpret (rather than compile) and
automate the execution of tasks that could alternatively be executed one-
Scripting language by-one by a human operator

Scripting languages Perl, Shell, Bash, AWK, Python, Ruby, JavaScript, Lua

   

Architecture  

OOD (object-oriented Object-oriented design patterns typically show relationships and


design) interactions between classes or objects

Formalized best practices that the developer can use to solve common
Design Patterns problems when designing an application

Software architectural pattern for implementing user interfaces. An easy


MVC (model view way to understand MVC: the model is the data, the view is the window on
controller) the screen, and the controller is the glue between the two

Observer, Iterator, Strategy, Factory, Singleton, Composite, Facade, Proxy,


Design Patterns examples etc

   

SOA (Service-Oriented Architectural pattern in which application components provide services to


Architecture) other components via a communications protocol, typically over a network

UML (Unified Modeling


Language) Way to visualize the design of a software (in diagrams)

REST - software architecture style with guidelines and best practices for
Webservices creating scalable web services, SOAP, JSON-RPC, XML-RPC

Markup (formatting and XML, XSLT, xPath, XMPP (for messaging)


processing of text)

Connector (bridge) for websites/mobile apps with your software -


API Facebook API, Google API, Twitter API, etc

   

Tools  

Memcached (for caching), Nginx (web server for high-load), Varnish, Squid
High-load tools (reverse proxies), haproxy (load balancer), CDN

Big Data tools Hadoop, Hive, Pig, Apache HBase, Cassandra, MapReduce (method), Spark

   

Continious Integration Merging all developer working copies with a shared mainline several times
(CI) a day.

Jenkins, Teamcity, TFS (mainly C#), CruiseControl (C#), Bamboo, Hudson,


CI tools Travis

Continious Deployment Updating а server with automated schedule. These updates include code
(CD) revision, auto/unit test running

   

Bug/Issue Tracking Tracking bugs, reports. Issue tracking - software for project management,
system tasks in team, etc

Bug/Issue Tracking tools Jira, Mantis, Confluence, RedMine, YouTrack, Trello, BaseCamp

   

Version Control System


(VCS) Team of developers may change the same files

VCS tools Git, Mercurial, SVN, CVS, Perforce

VCS services Github, Bitbucket, Gitlab

   

Visual Studio (C#), Eclipse, NetBeans, Aptana, xCode (iOS), WebStorm,


IDE (editors for code) IntelliJ IDEA

   

DevOps  

OS Linux, Unix, BSD, Windows, MacOS

Linux Distributions Ubuntu, RedHat, CentOS, Suse, Debian


Software development method that emphasizes communication,
collaboration, integration, automation. The method acknowledges the
interdependence of software development, quality assurance (QA), and IT
DevOps (Development + operations, and aims to help an organization rapidly produce software
Operations) products and services and to improve operations performance

Refers to the act of creating a virtual (rather than actual) version of


something, including virtual computer hardware platforms, operating
Virtualization systems, storage devices, and computer network resources.

Virtualization tools VMware, KVM, Xen, VirtualBox , Vagrant

Systems engineering process for establishing and maintaining consistency


Configuration of a product's performance, functional and physical attributes with its
Management requirements, design and operational information throughout its life.

Puppet / MCollective, Chef, Ansible, CFEngine, SaltStack, RANCID, Ubuntu


CM tools Juju

Monitoring tools New Relic, Nagios, Icinga, Graphite, Ganglia, Cacti, PagerDuty, Sensu

TCP/IP (transfering data in computers and internet), HTTP (internet


Network protocols protocol), HTTP/2, WebSockets

Web servers Apache, Tomcat (mainly for Java), IIS (mainly for C#), jBoss (Java)

   

Development
Methodologies  

Iterative and incremental agile software development methodology for


managing product development. It defines "a flexible, holistic product
development strategy where a development team works as a unit to reach
a common goal, challenges assumptions of the "traditional, sequential
approach" to product development, and enables teams to self-organize by
encouraging physical co-location or close online collaboration of all team
members, as well as daily face-to-face communication among all team
members and disciplines in the project. A key principle of scrum is its
recognition that during production processes, the customers can change
their minds about what they want and need, and that unpredicted
challenges cannot be easily addressed in a traditional predictive or planned
Scrum manner.

XP Type of Agile software development methodology which is intended to


improve software quality and responsiveness to changing customer
requirements. It includes: frequent "releases" in short development cycles,
programming in pairs or doing extensive code review, unit testing of all
code, avoiding programming of features until they are actually needed, a
flat management structure, simplicity and clarity in code, expecting
changes in the customer's requirements as time passes and the problem is
better understood, and frequent communication with the customer and
among programmers.

Software development process that relies on the repetition of a very short


development cycle: first the developer writes Automated Test Case that
defines a desired improvement or new function, then produces the
minimum amount of code to pass that test, and finally refactors the new
TDD code to acceptable standards.

Emerged from TDD. The idea is provide software development and


management teams with shared tools and a shared process to collaborate
BDD on software development

Kanban is a method for managing knowledge work with an emphasis on


just-in-time delivery while not overloading the team members. In this
approach, the process, from definition of a task to its delivery to the
customer, is displayed for participants to see. Team members pull work
from a queue. Kanban can mean a visual process-management system that
Kanban tells what to produce, when to produce it, and how much to produce

   

Magic Keywords  

Widespread programming and execution model that allows multiple


Multithreading threads to exist within the context of a single process

Several computations are executing simultaneously, and potentially


Concurrency interacting with each other.

Cloud computing, also known as on-demand computing, is a kind of


internet-based computing, where shared resources and information are
provided to computers and other devices on-demand. It is a model for
enabling ubiquitous, on-demand access to a shared pool of configurable
Cloud computing computing resources.

Software system in which components located on networked computers


communicate and coordinate their actions by passing messages. Three
significant characteristics of distributed systems are: concurrency of
Distributed system components, lack of a global clock, and independent failure of components

Processes and mechanisms by which digital equipment, information and


services are protected from unintended or unauthorized access, change or
Security destruction
Cache is a component that stores data so future requests for that data can
Caching be served faster

Ability of a system, network to handle a growing amount of work in a


capable manner or its ability to be enlarged to accommodate that
growth.The capability of a system to increase its total output under an
Scalability increased load when resources (typically hardware) are added.

Guarantee that every request receives a response about whether it


Availability succeeded or failed

Performance
optimization Performance tuning is the improvement of system performance.

Failover is a backup operational mode in which the functions of a system


component (processor, server, network, or database) are assumed by
secondary system components when the primary component becomes
Failover unavailable.

Grouping a set of objects in such a way that objects in the same group
Clustering (called a cluster)

Computer or network system components that are installed to back up


primary resources in case they fail. Redundant data can protect a storage
Redundant array against data loss in the event of a hard disk failure.

Robust Ability of a computer system to cope with errors during execution

Restructuring existing computer code without changing its external


behavior. Code refactoring may also resolve hidden, dormant, or
undiscovered computer bugs or vulnerabilities in the system by simplifying
Refactoring the underlying logic and eliminating unnecessary levels of complexity.

Tuning Improvement of system performance.

Process of planning and implementing products and services so that they


can easily be adapted to specific local languages and cultures.
Internationalization Internationalisation - an adaptation of the product for potential use
(i18n) virtually anywhere. Reduction of «i18n».

Addition of special features for use in a particular region. «L10n», the


Localization (l10n) number 10 - the number of letters between «L» and «n».

Accessibility (a11y) Web accessibility means that people with disabilities can use the Web

Asynchronous is a form of input/output processing that permits other


Asynchronous (Async) processing to continue before the transmission has finished. Asynchronous
requests is used to improve throughput, latency, and/or responsiveness.

Web sockets Providing full-duplex communication channels over a single TCP


connection. Web Socket protocol makes more interaction between a
browser and a website possible, facilitating live content and the creation of
real-time games.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy