S3 : A service offered by Amazon Web Services (AWS) that provides object storage through a web service interface. S3 uses the same scalable storage infrastructure that Amazon.com uses to run its global e-commerce network. It can be employed to store any type of object which allows for uses like storage for Internet applications, backup and recovery, disaster recovery, data archives, data lakes for analytics, and hybrid cloud storage. S3 was launched in 2006. † ℹ︎ aws.amazon.com/s3
SaaS : → Software as a Service
Safari : A graphical web browser developed by Apple, based on the WebKit engine. First released on desktop in 2003 with Mac OS X Panther, a mobile version has been bundled with iOS devices since the iPhone’s introduction in 2007. Safari is the default browser on Apple devices. A Windows version was available from 2007 to 2012. † ℹ︎ apple.com/safari
SAFe : → Scaled Agile Framework
SAK : Secret → access key
Samba : → MacWWW
Same origin : → Origin
Same-origin policy : An important concept in the web application security model. Under the policy, a web browser permits scripts contained in a first web page to access data in a second web page, but only if both web pages have the same origin. An origin is defined as a combination of URI scheme, host name, and port number. The same-origin policy prevents a malicious script on one page from obtaining access to sensitive data on another web page through that page’s Document Object Model (DOM). †
SAML : → Security Assertion Markup Language
SAN : → Storage area network : → Subject Alternative Name
Sandbox : In computer security, a security mechanism for separating running programs, usually in an effort to mitigate system failures or software vulnerabilities from spreading. A sandbox is often used to execute untested or untrusted programs or code, possibly from unverified or untrusted third parties, suppliers, users or websites, without risking harm to the host machine or operating system. A sandbox typically provides a tightly controlled set of resources for guest programs to run in, such as storage and memory scratch space. Network access, the ability to inspect the host system, or read from input devices are usually disallowed or heavily restricted. † : In software development, a testing environment that isolates untested code changes and outright experimentation from the production environment or repository. †
SAP User Interface for HTML5 : A user interface development toolkit based on HTML, CSS, and JavaScript, providing libraries to build desktop and mobile web applications. SAPUI5, first named Phoenix, was released in 2010 by SAP. ℹ︎ ui5.sap.com
SAPUI5 : → SAP User Interface for HTML5
Sass : A preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets (CSS). SassScript is the scripting language itself. Sass consists of two syntaxes. The original syntax, called the indented syntax, uses a syntax similar to Haml. It uses indentation to separate code blocks and newline characters to separate rules. The newer syntax, SCSS (Sassy CSS), uses block formatting like that of CSS, with braces to denote code blocks and semicolons to separate lines within a block. The indented syntax and SCSS files are traditionally given the extensions .sass and .scss, respectively. Sass was developed in 2006 by Hampton Catlin and Natalie Weizenbaum. † ℹ︎ sass-lang.com
SassScript : The scripting language used with Sass. SassScript provides variables, nesting, mixins, and selector inheritance. †
SAST : → Static Application Security Testing
Scalable and Modular Architecture for CSS : A CSS style guide. SMACSS was developed in 2011 by Jonathan Snook. ℹ︎ smacss.com
Scalable Vector Graphics : An XML-based vector image format for two-dimensional graphics with support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium (W3C) since 1999. SVG images and their behaviors are defined in XML files. This means that they can be searched, indexed, scripted, and compressed. ℹ︎ w3.org/TR/SVG2
Scalar : → Variable
Scaled Agile Framework : A set of organization and workflow patterns intended to guide enterprises in scaling lean and agile practices. Along with Large-Scale Scrum (LeSS), Disciplined Agile Delivery (DAD), and Nexus, SAFe is one of a growing number of frameworks that seek to address the problems encountered when scaling beyond a single team. The primary reference for SAFe was originally the development of a “big picture” view of how work flowed from product management (or other stakeholders), through governance, program, and development teams, out to customers. The framework promotes alignment, collaboration, and delivery across large numbers of agile teams. SAFe was first released in 2011 and is made available by Scaled Agile. † ℹ︎ scaledagileframework.com
Scaled Scrum : → Nexus
Schema stitching : The process of creating a single GraphQL schema from multiple GraphQL services.
SCM : → Source Code Management : → Source Control Management
Scope : The region of a computer program where a name binding is valid, that is, where the name can be used to refer to the entity. Such a region is referred to as a scope block. In other parts of the program the name may refer to a different entity (it may have a different binding), or to nothing at all (it may be unbound). The scope of a binding is also known as the visibility of an entity. A scope is a part of a program that can be the scope for a set of bindings, which in practice largely corresponds to a block, a function, or a file, depending on language and type of entity. The term “scope” is also used to refer to the set of all entities that are visible, or names that are valid within a portion of the program or at a given point in a program, which is more correctly referred to as context or environment. Strictly speaking, “part of a program” refers to “portion of the source code (area of text),” and is known as lexical scope. In some languages, however, “part of a program” refers to “portion of runtime (time period during execution),” and is known as dynamic scope. †
Scoped styles
: A concept to limit otherwise broad styles to a certain element and its children (as opposed to having them affect many other elements of a document as well). The corresponding scoped
attribute was specified but not standardized in favor of other approaches like web components. Frameworks like Vue.js support both concept and attribute.
Screen magnifier : Software that interfaces with a computer’s graphical output to present enlarged screen content. By enlarging part (or all) of a screen, people with visual impairments can better see words and images. This type of assistive technology is useful for people with some functional vision; people with visual impairments and little or no functional vision usually use a screen reader. †
Screen reader : A form of assistive technology that is essential to people who are blind, as well as useful to people who are visually impaired, illiterate, or have a learning disability. Screen readers are software applications that attempt to convey what people with normal eyesight see on a display to their users via non-visual means, like text-to-speech, sound icons, or a Braille device. They do this by applying a wide variety of techniques that include interacting with dedicated Accessibility APIs, using various operating system features (like inter-process communication and querying user interface properties), and employing hooking techniques. †
Script : Code, usually small routines and programs, written in a scripting language.
Scripting language : A programming language for a special runtime environment that automates the execution of tasks; the tasks could alternatively be executed one-by-one by a human operator. Scripting languages are often interpreted (rather than compiled). A scripting language can be viewed as a domain-specific language for a particular environment. The term “scripting language” is also used loosely to refer to dynamic high-level general-purpose languages, such as Perl, PowerShell, Python, and Tcl. The spectrum of scripting languages ranges from small and highly domain-specific languages to general-purpose programming languages used for scripting. Standard examples of scripting languages for specific environments include: Bash, for the Unix or Unix-like operating systems; ECMAScript (JavaScript), for web browsers; and Visual Basic for Applications (VBA), for Microsoft Office applications. †
Scroll Snap : A CSS module that introduces scroll snap positions, which enforce the scroll positions that a scroll container’s scrollport may end at after a scrolling operation has completed. ‡ ℹ︎ w3.org/TR/css-scroll-snap-1
Scrolling : Sliding text, images, or video across a monitor or display, vertically or horizontally. “Scrolling” as such does not change the layout of the text or pictures but moves (pans or tilts) the user’s view across what is apparently a larger image that is not wholly seen. †
Scrollport
: The visual viewport of a scroll container in a document. A scroll container is created by applying overflow: scroll
to a container, or overflow: auto
when there is enough content to cause overflow. The scrollport coincides with the padding box of that container and represents the content that can be seen as the box is scrolled. ‡
Scrum : An agile process framework for developing, delivering, and sustaining complex products, with an initial emphasis on software development, although it has been used in other fields and is slowly starting to be explored for other complex work, like research and advanced technologies. Scrum is designed for small teams which break their work into goals that can be completed within time-boxed iterations, called Sprints, no longer than one month and most commonly two weeks, then track progress and re-plan in 15-minute time-boxed daily meetings, called Daily Scrums. † ℹ︎ scrumguides.org
Scrum Master : A Scrum role that is accountable for guiding, coaching, and helping a Scrum Team and its environment to use Scrum.
Scrum of Scrums : A technique to operate Scrum at scale, for multiple teams working on the same product, allowing them to discuss progress on their interdependencies and to coordinate on delivering software especially in areas of overlap and integration. Depending on the cadence (timing) of the Scrum of Scrums, the relevant Daily Scrum for each Scrum Team ends by designating one member as an ambassador to participate in the Scrum of Scrums with ambassadors from other teams. Rather than a progress update, the Scrum of Scrums should focus on how teams are collectively working to resolve, mitigate, or accept any risks, impediments, dependencies, and assumptions (RIDAs) that have been identified. †
Scrum Team : A self-organizing and cross-functional team consisting of Product Owner, the Development Team, and a Scrum Master.
Scrum Values : The values that the Scrum framework revolves around: Commitment, Focus, Openness, Respect, and Courage.
SCSS : → Sass
SDK : → Software Development Kit
SDLC : → Software Development Lifecycle
SDP : → Service discovery protocol
SEA : → Search Engine Advertising
SeaMonkey : An Internet suite bundling web browser, an email, newsgroup, and feed client, an IRC chat, and an HTML editor. SeaMonkey is the continuation of the former Mozilla Application Suite, based on the same source code, which itself grew out of Netscape Communicator and formed the base of Netscape 6 and Netscape 7. SeaMonkey was created in 2005 after the Mozilla Foundation decided to focus on the standalone projects Firefox and Thunderbird. The development of SeaMonkey is community-driven. † ℹ︎ seamonkey-project.org
Search Engine Advertising : The purchasing and managing of advertisements in online search engines and their content networks.
Search engine indexing : The collecting, parsing, and storing of data to facilitate fast and accurate information retrieval. Index design incorporates interdisciplinary concepts from computer science, informatics, mathematics, linguistics, and cognitive psychology. Popular search engines focus on the full-text indexing of online, natural language documents. Media types such as video, audio, and graphics are also searchable. †
Search Engine Marketing : A form of Internet marketing that involves the promotion of websites by increasing their visibility in search engine results pages (SERPs) primarily through paid advertising. SEM may incorporate search engine optimization (SEO), which adjusts or rewrites website content and site architecture to achieve a higher ranking in search engine results pages to enhance pay-per-click (PPC) listings. †
Search Engine Optimization : The process of increasing the quality and quantity of website traffic by increasing the visibility of a website or web page to users of a web search engine. SEO refers to the improvement of unpaid results (known as “natural” or “organic” results) and excludes direct traffic and visitors as well as the purchase of paid placement. SEO may target different kinds of searches, including image search, video search, academic search, news search, and industry-specific vertical search engines. Optimizing a website may involve editing and adding content as well as modifying HTML and associated code, to both increase its relevance to specific keywords and to remove barriers to the indexing by search engines. Promoting a site to increase the number of backlinks, or inbound links, is another SEO tactic. †
Search Engine Results Page : The results web page(s) of a search engine, in response to a search query.
Searching : A research and navigation strategy. One of the two major ways of interacting with the Web, the other one being browsing or surfing.
Section 508 : United States accessibility regulations. ℹ︎ section508.gov
Sectioning content
: Content that defines the scope of headings and footers, marked up through the article
, aside
, nav
, and section
elements. Each sectioning content element potentially has a heading and an outline. §
Secure context
: A Window
or Worker
for which certain minimum standards of authentication and confidentiality are met. Many web APIs and features are accessible only in a secure context. The primary goal of secure contexts is to prevent MITM attackers from accessing APIs that could further compromise the victim of an attack. ‡
Secure Shell : A cryptographic network protocol for operating network services securely over an unsecured network. Typical applications include remote login and command execution, but any network service can be secured with SSH. SSH provides a secure channel over an unsecured network in a client-server architecture, connecting an SSH client application with an SSH server. The protocol specification distinguishes between two major versions, referred to as SSH-1 and SSH-2. The standard TCP port for SSH is 22. †
Secure Sockets Layer : The deprecated predecessor of Transport Layer Security (TLS), a cryptographic protocol designed to provide communications security over a computer network. SSL was developed from 1995 to 1998. †
Security : → Information Security
Security Assertion Markup Language : An open standard for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. SAML is an XML-based markup language for security assertions (statements that service providers use to make access-control decisions). It is also a set of XML-based protocol messages, protocol message bindings, and profiles. SAML was first published in 2002. † ℹ︎ saml.xml.org
Security hacker : Someone who explores methods for breaching defenses and exploiting weaknesses in a computer system or network. Hackers may be motivated by a multitude of reasons, such as profit, protest, information gathering, challenge, recreation, or to evaluate system weaknesses to assist in formulating defenses against potential hackers. The subculture that has evolved around hackers is often referred to as the “computer underground.” Longstanding controversy surrounds the meaning of the term “hacker” itself. †
Security Operations Center : A centralized unit that deals with security issues on an organizational and technical level. It comprises the three building blocks people, processes, and technology for managing and enhancing an organization’s security posture. Governance and compliance provide a framework tying these building blocks together. A SOC within a building or facility is a central location from where staff supervises the site, using data processing technology. Typically, a SOC is equipped for access monitoring, and controlling of lighting, alarms, and vehicle barriers. †
security.txt : A proposed standard for website security information that is meant to allow security researchers to easily report security vulnerabilities. The standard prescribes a text file called security.txt that is similar to robots.txt but intended to be read by humans wishing to contact a website’s owner about security issues. †
Selector : A pattern matching rule and the first part of a CSS rule. Selectors are used to target HTML elements as well as, generally speaking, elements of other markup languages that are to be styled. The case-sensitivity of selectors depends on the document (markup) language. ‡
Selenium : A cross-platform portable framework for testing websites and apps. Selenium provides a playback tool (Selenium IDE) for authoring functional tests without the need to learn a test scripting language. It also provides a test-specific language (Selenese) to write tests in a number of popular programming languages, including C#, Groovy, Java, Perl, PHP, Python, Ruby, and Scala. The tests can then run against most modern web browsers. † ℹ︎ selenium.dev
SEM : → Search Engine Marketing
Semantic Versioning
: A versioning scheme. SemVer uses a sequence of three digits (Major.Minor.Patch
), an optional pre-release tag, and an optional build meta-tag. In this scheme, risk and functionality are the measures of significance. Breaking changes are indicated by increasing the major number (high risk), new non-breaking features increment the minor number (medium risk) and all other non-breaking changes increment the patch number (lowest risk). The presence of a pre-release tag (-alpha
, -beta
) indicates substantial risk, as does a major number of zero (0.y.z
), which is used to indicate a work-in-progress that may contain any level of potentially breaking changes (highest risk). † ℹ︎ semver.org
Semantic Web : An extension of the World Wide Web through standards set by the World Wide Web Consortium (W3C). The goal of the Semantic Web is to make Internet data machine-readable. To enable the encoding of semantics with the data, technologies such as Resource Description Framework (RDF) and Web Ontology Language (OWL) are used. These technologies allow to formally represent metadata. For example, an ontology can describe concepts, relationships between entities, and categories of things. These embedded semantics offer significant advantages such as reasoning over data and operating with heterogeneous data sources. †
Semantics : For markup languages, the meaning and purpose of elements, element groups, and microformats. : For programming languages, the field concerned with the mathematical study of the meaning of programming languages. It does so by evaluating the meaning of syntactically valid strings defined by a specific programming language, showing the computation involved. In such a case that the evaluation would be of syntactically invalid strings, the result would be non-computation. Semantics describes the processes a computer follows when executing a program in that specific language. This can be shown by describing the relationship between the input and output of a program, or an explanation of how the program will be executed on a certain platform, hence creating a model of computation. †
SemVer : → Semantic Versioning
Sender Policy Framework : An email authentication method designed to detect forging sender addresses during the delivery of the email. SPF alone, however, is limited to detecting a forged sender claim in the envelope of the email, which is used when the mail gets bounced. Only in combination with DMARC can it be used to detect the forging of the visible sender in emails (email spoofing), a technique often used in phishing and email spam. †
SEO : → Search Engine Optimization
Separation of Concerns : A design principle for separating a computer program into distinct sections such that each section addresses a separate concern. A concern is a set of information that affects the code of a computer program. A concern can be as general as the details of the hardware for an application, or as specific as the name of which class to instantiate. A program that embodies SOC well is called a modular program. Modularity, and hence separation of concerns, is achieved by encapsulating information inside a section of code that has a well-defined interface. Layered designs in information systems are another embodiment of separation of concerns (e.g., presentation layer, business logic layer, data access layer, persistence layer). Separation of concerns results in more degrees of freedom for some aspect of the program’s design, deployment, or usage. †
Serialization : The process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer) or transmitted (for example, across a network connection link) and reconstructed later (possibly in a different computer environment). When the resulting series of bits is re-read according to the serialization format, it can be used to create a semantically identical clone of the original object. This process of serializing an object is in some situations also called marshalling an object. †
Serif : A small line or stroke regularly attached to the end of a larger stroke in a letter or symbol within a particular font or family of fonts. A typeface or font family making use of serifs is called a serif typeface (or serifed typeface), and a typeface that does not include them is a sans-serif one. Some typography sources refer to serif typefaces as “roman,” and to sans-serif typefaces as “grotesque” or “gothic.” †
SERP : → Search Engine Results Page
Server : A computer program or a device that provides functionality for other programs or devices, called clients. This architecture is called the client-server model, and a single overall computation is distributed across multiple processes or devices. Servers can provide various functionalities, often called services, such as sharing data or resources among multiple clients, or performing computation for a client. A single server can serve multiple clients, and a single client can use multiple servers. A client process may run on the same device or may connect over a network to a server on a different device. Typical servers are web servers, database servers, application servers, file servers, mail servers, print servers, and game servers. †
Server cluster : → Cluster : → Server farm
Server farm : A collection of computer servers, usually maintained by an organization to supply server functionality far beyond the capability of a single machine. Server farms often consist of thousands of computers which require a large amount of power to run and to keep cool. At the optimum performance level, a server farm has enormous costs (both financial and environmental) associated with it. Server farms often have backup servers, which can take over the function of primary servers in the event of a primary-server failure. Server farms are typically collocated with the network switches or routers which enable communication between the different parts of the cluster and the users of the cluster. †
Server logs : Log files related to server events. Server logs may be generated and stored on the respective servers.
Server Name Indication : An extension to the Transport Layer Security (TLS) computer networking protocol by which a client indicates which hostname it is attempting to connect to at the start of the handshaking process. This allows a server to present multiple certificates on the same IP address and TCP port number and hence allows multiple secure (HTTPS) websites (or any other service over TLS) to be served by the same IP address without requiring all those sites to use the same certificate. SNI is the conceptual equivalent to HTTP/1.1 name-based virtual hosting, but for HTTPS. †
Server push : → Push technology
Server side : Operations on the server as opposed to the client side in a client-server relationship. †
Server-Side Rendering : A technique for rendering client-side single-page applications (SPAs) on the server, sending a fully-rendered page to the client. SSR is used to manage and alleviate the initial rendering when an app is first requested.
Serverless computing : A cloud computing execution model in which the cloud provider runs the server, and allocates machine resources on demand. Serverless computing does not hold resources in volatile memory; computing is rather done in short bursts with the results persisted to storage. When an app is not in use, there are no computing resources allocated to the app. “Serverless” is a misnomer in the sense that servers are still used by cloud service providers to execute code for developers. †
Service discovery : The automatic detection of devices and services offered on a computer network. Service discovery aims to reduce the configuration efforts from users. †
Service discovery protocol : A network protocol that helps accomplish service discovery. Examples for SDPs include the Bluetooth Service Discovery Protocol (SDP), DNS Service Discovery (DNS-SD), and the Dynamic Host Configuration Protocol (DHCP). †
Service Level Agreement : A commitment between a service provider and a client. Particular aspects of the service—quality, availability, responsibilities—are agreed between the service provider and the service user. The most common component of an SLA is that the services should be provided to the customer as agreed upon in the contract. As an example, Internet service providers and telcos will commonly include service level agreements within the terms of their contracts with customers to define the level(s) of service being sold in plain language terms. In this case the SLA will typically have a technical definition in mean time between failures (MTBF), mean time to repair or mean time to recovery (MTTR), identifying which party is responsible for reporting faults or paying fees, responsibility for various data rates, throughput, jitter, or similar measurable details. †
Service Level Expectation : The defining and setting of expectations for a service to be given, like what time it may take for work to be done, or issues to be resolved.
Service worker : A JavaScript file that operates as a type of web worker. Service workers work separately from the main browser thread to handle push notifications, synchronize data in the background, cache or retrieve resource requests, intercept network requests, and receive centralized updates. Service workers are used in an attempt to give progressive web apps the ability to provide the high performance and rich experience of native mobile apps, with the low storage space, real-time updates, and improved search engine visibility of traditional web apps. Service workers go through a three-step lifecycle of registration, installation, and activation. †
Service-oriented architecture : A style of software design where services are provided to the other components by application components, through a communication protocol over a network. A SOA service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online. SOA is also intended to be independent of vendors, products, and technologies. A service has four properties according to one of many definitions of SOA: 1) It logically represents a business activity with a specified outcome; 2) it is self-contained; 3) it is a black box for its consumers, meaning the consumer does not have to be aware of the service’s inner workings; and 4) it may consist of other underlying services. †
Servlet : A Java software component that extends the capabilities of a server. Although servlets can respond to many types of requests, they most commonly implement web containers for hosting web applications on web servers and thus qualify as a server-side servlet web API. †
Session : A temporary and interactive information interchange between two or more communicating devices, or between a computer and a user. A session is established at a certain point in time, and brought to an end at a later point. An established communication session may involve more than one message in each direction. A session is typically stateful, meaning that at least one of the communicating parties needs to hold information about the current state and the session history in order to be able to communicate, as opposed to stateless communication, where the communication consists of independent requests with responses. †
Session affinity : → Sticky session
Session hijacking : The exploitation of a valid computer session—sometimes also called a session key—to gain unauthorized access to information or services in a computer system. In particular, session hijacking is used to refer to the theft of a cookie used to authenticate a user to a remote server. It has particular relevance to web developers, as the HTTP cookies used to maintain a session on many websites can be easily stolen by an attacker using an intermediary computer or with access to the saved cookies on the victim’s computer. After successfully stealing appropriate session cookies, an adversary might use the Pass the Cookie technique to hijack the session. †
Session storage : Web storage that is both per-origin and per-instance (per-window or per-tab) and that is limited to the lifetime of the instance. Session storage is intended to allow separate instances of the same web app to run in different windows without interfering with each other, a use case that’s not well-supported by cookies. †
Set : An abstract data type that can store unique values, without any particular order. A set is a computer implementation of the mathematical concept of a finite set. Unlike most other collection types, rather than retrieving a specific element from a set, one typically tests a value for membership in a set. †
SFTP : → SSH File Transfer Protocol
SGML : → Standard Generalized Markup Language
Shadow DOM : A scoped subtree, or isolated DOM tree, with its own elements and styles. Shadow DOM is one of the web component standards. ℹ︎ w3.org/TR/shadow-dom
Shadow host : The element that a shadow tree is attached to, like the root element of a custom element.
Shadow root : The topmost element of the shadow tree.
Shadow tree : A tree of DOM nodes whose topmost node is a shadow root; that is, the topmost node within a shadow DOM. A shadow tree is a hidden set of standard DOM nodes which is attached to a standard DOM node that serves as a host. The hidden nodes are not directly visible using regular DOM functionality, but require the use of a special Shadow DOM API to access. Nodes within the shadow tree are not affected by anything applied outside the shadow tree, and vice versa. This provides a way to encapsulate implementation details, which is especially useful for custom elements and other advanced design paradigms. ‡
Shared hosting : Infrastructure that is shared between different parties, like a web server that hosts several parties’ websites, or a storage instance that is used by several customers.
Shared tenancy : → Shared hosting
Shared worker
: A special kind of web worker that can be accessed from several browsing contexts, such as several windows, iframes, or even workers. Shared workers implement an interface different from dedicated workers and have a different global scope, SharedWorkerGlobalScope
. ‡
Shebang
: The character sequence consisting of the characters number sign and exclamation mark (#!
) at the beginning of a script. On Unix-like operating systems, when a text file has a shebang, it is interpreted as an executable file. In this case, the program loader mechanism parses the rest of the file’s initial line as an interpreter directive. The loader executes the specified interpreter program, passing to it as an argument the path that was initially used when attempting to run the script, so that the program may use the file as input data. †
Shell : A user interface for access to an operating system’s services. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer’s role and particular operation. It is named a shell because it is the outermost layer around the operating system. CLI shells require the user to be familiar with commands and their calling syntax, and to understand concepts about the shell-specific scripting language (e.g., Bash). †
Shim : A library that transparently intercepts API calls and changes the arguments passed, handles the operation itself, or redirects the operation elsewhere. Shims can be used to support an old API in a newer environment, or a new API in an older environment. Shims can also be used for running programs on different software platforms than they were developed for. †
Shockwave Flash : → Flash
Shortcut icon : → Favicon
Shorthand
: A term for CSS properties that allow to set the values of multiple other properties simultaneously. Using a shorthand property, it is possible to write more concise (and often more readable) style sheets. The CSS specification defines shorthand properties to group the definition of common properties acting on the same theme. For instance, the CSS background
property is a shorthand property that can be used to define the values of background-color
, background-image
, background-repeat
, background-position
, and other background-related properties. ‡
SI : → Speed Index
Siamese twins document
: An HTML document with two head
s and two body
s, an expression coined by Simon Pieters.
SIG : A signature resource record in the Domain Name System (DNS). †
Sign-in : → Login
Sign-on : → Login
Signed HTTP Exchanges : A draft standard to make Internet content portable and distributable while verifying and vouching for its authenticity. SXG is a part of Google’s Web Packaging effort. ℹ︎ github.com/WICG/webpackage
Silk : A web browser for Fire OS. Silk was released in 2011 by Amazon. ℹ︎ amazon.com/dp/B01M35MQV4
Silverlight : A deprecated application framework for writing and running rich Internet applications, similar to Adobe Flash. Silverlight was released in 2007. † ℹ︎ microsoft.com/silverlight
Simple Mail Transfer Protocol : A communication protocol for electronic mail transmission. As an Internet standard, SMTP was first defined in 1982 by RFC 821, and updated in 2008 by RFC 5321 to Extended SMTP additions, which is the protocol variety in widespread use today. Mail servers and other message transfer agents use SMTP to send and receive mail messages. Proprietary systems such as Microsoft Exchange and IBM Notes, and webmail systems such as Outlook, Gmail, and Yahoo Mail may use non-standard protocols internally, but all use SMTP when sending to or receiving email from outside their own systems. SMTP servers commonly use the Transmission Control Protocol (TCP) on port number 25. †
Simple Object Access Protocol : A messaging protocol specification for exchanging structured information in the implementation of web services in computer networks. SOAP’s purpose is to provide extensibility, neutrality, and independence. It uses XML Information Set for its message format, and relies on application-layer protocols, most often Hypertext Transfer Protocol (HTTP), for message negotiation and transmission. SOAP was first released in 1998. †
Single point of failure : A part of a system that, if it fails, will stop the entire system from working. SPOFs are undesirable in any system with a goal of high availability or reliability, be it a business practice, software application, or other industrial system. Systems can be made robust by adding redundancy in all potential SPOFs. †
Single Responsibility Principle : A computer programming principle that states that every module, class, or function should have responsibility over a single part of the functionality provided by the software, and that responsibility should be entirely encapsulated by the module, class, or function. All its services should be narrowly aligned with that responsibility. †
Single-Page Application : A web application or site that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from a server. This approach avoids interruption of the user experience between successive pages, making the application behave more like a desktop application. In an SPA, either all necessary code—HTML, CSS, and JavaScript—is retrieved with a single page load, or the appropriate resources are dynamically loaded and added to the page as necessary, usually in response to user actions. The page does not reload at any point in the process, nor does control transfer to another page, although the location hash or the HTML History API can be used to provide the perception and navigability of separate logical pages in the application. †
Site : → Website
Site isolation : A concept from the Chromium project that ensures that pages from different websites are put into different processes, sandboxed and therefore limiting what processes are allowed to do. Site isolation also enables to block processes from receiving sensitive data from other websites.
Site map : A list of pages of a website. There are three primary kinds of site map: 1) site maps used during the planning of a website by its designers; 2) human-visible listings, typically hierarchical, of the pages on a site; and 3) structured listings (Sitemaps) intended for web crawlers such as search engines. †
Sitemaps : A protocol that allows to inform search engines about URLs on a website that are available for crawling. A sitemap is an XML file that lists the URLs for a site. It allows webmasters to include additional information about each URL: when it was last updated, how often it changes, and how important it is in relation to other URLs of the site. This allows search engines to crawl the site more efficiently and to find URLs that may be isolated from the rest of the site’s content. The Sitemaps protocol is a URL inclusion protocol and complements robots.txt, a URL exclusion protocol. The Sitemaps protocol was first released in 2005. † ℹ︎ sitemaps.org
Skeleton screen : A UI that displays rudimentary placeholders while the actual content is being loaded. The respective placeholders commonly use a similar shape to the actual elements. Skeleton screens contribute to a faster perceived performance. The concept is attributed to a 2013 article by Luke Wroblewski.
Sketch : A vector graphics editor. Sketch is primarily a UI and UX designing tool for website and mobile app design, but focus has been increased on prototyping and collaboration to make it a more comprehensive platform for digital design. Sketch was first released in 2010 for macOS. ℹ︎ sketch.com
Skin : → Theme
Skip navigation : An accessibility technique that consists of placing one or more visually hidden hyperlinks at the beginning of a document to allow users of assistive technology to directly access main or other content sections, thereby bypassing (“skipping”) navigation blocks.
SLA : → Service Level Agreement
SLE : → Service Level Expectation
Sliding Doors : A once-popular obsolete CSS technique to layer background images. It was presented in 2003 by Douglas Bowman. ℹ︎ alistapart.com/article/slidingdoors
SLOC : → Source Lines of Code
Sloppy mode : A colloquial name for the opposite of JavaScript’s strict mode.
Slot
: The HTML slot
element and the respective use with web components.
Slowloris : A denial of service attack tool which allows a single machine to take down another machine’s web server with minimal bandwidth and side effects on unrelated services and ports. Slowloris tries to establish connections to the target web server and to hold these open as long as possible, eventually leading the affected server to deny additional connection attempts. The program was named after slow lorises, a group of primates which are known for their slow movement. Slowloris was released in 2009. †
Slug : The part of a URL that identifies a page in human-readable keywords. A slug is usually the end part of the URL, which can be interpreted as the name of the resource, similar to the basename in a filename or the title of a page. The name is based on the use of the word “slug” in the news media to indicate a short name given to an article for internal use. †
SMACSS : → Scalable and Modular Architecture for CSS
Small integer : An integral data type of 16 bits, with a signed range from –32,768 to 32,767, and an unsigned range from 0 to 65,535.
Smashing Magazine : A popular online magazine for web design and development. Smashing Magazine was founded in 2006 by Vitaly Friedman and Sven Lennartz. ℹ︎ smashingmagazine.com
SME : → Subject-Matter Expert
Smi : → Small integer
SMIL : → Synchronized Multimedia Integration Language
Smishing : A phishing attack performed through SMS/text messages.
Smoke testing : The preliminary testing to reveal simple failures severe enough to, for example, reject a prospective software release. Smoke tests are a subset of test cases that cover the most important functionality of a component or system, used to aid assessment of whether main functions of the software appear to work correctly. When used to determine if a computer program should be subjected to further, more fine-grained testing, a smoke test may be called an intake test. Alternately, it is a set of tests run on each new build of a product to verify that the build is testable before the build is released into the hands of the test team. †
SMTP : → Simple Mail Transfer Protocol
Snake case : The practice of writing compound words or phrases in which the elements are separated with one underscore character (“_”) and no spaces, with each element’s initial letter usually lowercased within the compound and the first letter either upper- or lowercase (“the_quick_brown_fox”). Snake case is commonly used in computer code for variable, function, and sometimes file names. †
Snap position : A point that a scrollport will stop moving at after a scrolling operation is completed. This allows a scrolling experience that gives the effect of paging through content rather than needing to drag content into view. ‡
SNI : → Server Name Indication
Snowpack : A frontend build tool. Snowpack was released in 2020. ℹ︎ snowpack.dev
SOA : → Service-oriented architecture : → Start of Authority
SOAP : → Simple Object Access Protocol
SOC : → Security Operations Center : → Separation of Concerns
Social Web : → Web 2.0
Soft launch : A preview release of a product or service to a limited audience prior to the general public. Soft-launching a product is sometimes used to gather data or feedback regarding its acceptance in the marketplace, prior to making it widely available during an official release or grand opening. A company may also choose a soft launch to test the functionality of a product, allowing adjustments to be made before a wider release and marketing efforts are implemented. †
Soft opening : → Soft launch
Software : A collection of instructions and data that tell a computer how to work. This is in contrast to physical hardware, from which the system is built and actually performs the work. In computer science and software engineering, computer software is all information processed by computer systems, programs, and data. Computer software includes computer programs, libraries, and related non-executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own. †
Software as a Service : A software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. SaaS is sometimes referred to as “on-demand software,” and was formerly referred to as “software plus services” by Microsoft. SaaS applications are also known as web-based software, on-demand software, and hosted software. The term “Software as a Service” (SaaS) is considered to be part of the nomenclature of cloud computing, along with Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Desktop as a Service (DaaS), Managed Software as a Service (MSaaS), Mobile Backend as a Service (MBaaS), Data Center as a Service (DCaaS), and Information Technology Management as a Service (ITMaaS). SaaS apps are typically accessed by users using a thin client, e.g., via a web browser. †
Software crisis : A term used in the early days of computing science for the difficulty of writing useful and efficient computer programs in the required time. The software crisis was due to the rapid increases in computer power and the complexity of the problems that could now be tackled. With the increase in the complexity of the software, many software problems arose because existing methods were inadequate. The term “software crisis” was coined by attendees at the first NATO Software Engineering Conference in 1968 in Garmisch, Germany. †
Software development : The process of conceiving, specifying, designing, programming, documenting, testing, and bugfixing involved in creating and maintaining applications, frameworks, or other software components. Software development is a process of writing and maintaining source code, but in a broader sense, it includes all that is involved between the conception of the desired software through to the final manifestation of the software, sometimes in a planned and structured process. Therefore, software development may include research, prototyping, modification, reuse, re-engineering, maintenance, and other activities that result in software products. †
Software Development Kit : A collection of software development tools in one installable package. SDKs ease creation of applications by having a compiler, a debugger, and perhaps a software framework. They are often used to create applications with advanced functionalities. SDKs are normally specific to a hardware platform and operating system combination, and some SDKs are required for developing a platform-specific app. For example, the development of an Android app on the Java platform requires a Java Development Kit, while for iOS apps, the iOS SDK is required. †
Software Development Lifecycle : The process of planning, analyzing, designing, developing, testing, deploying, and maintaining software.
Software framework : An abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software. A software framework provides a standard way to build and deploy applications and is a universal, reusable software environment that provides particular functionality as part of a larger software platform to facilitate the development of software applications, products, and solutions. Software frameworks may include support programs, compilers, code libraries, tool sets, and application programming interfaces (APIs) that bring together all the different components to enable the development of a project or system. †
Software modernization : The converting, rewriting, or porting of a legacy system to a modern computer programming language, software libraries, protocols, or hardware platform. This transformation aims to retain and extend the value of the legacy investment. †
Software stack : → Solution stack
Software testing : → Testing
SOLID : A mnemonic acronym for five design principles intended to make software designs more understandable, flexible, and maintainable. SOLID refers to 1) the Single Responsibility Principle, 2) the Open-Closed Principle, 3) the Liskov Substitution Principle, 4) the Interface Segregation Principle, and 5) the Dependency Inversion Principle. SOLID represents a subset of software development principles promoted by Robert C. Martin. †
Solution stack : A set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to “run on” or “run on top of” the resulting platform. †
SOP : → Same-origin policy
Source Code Management : → Version control
Source Control Management : → Version control
Source Lines of Code : → Lines of Code
SPA : → Single-Page Application
Spacer : An old and obsolete web design technique of using small transparent images (usually GIF graphics of 1×1 pixels) to achieve a particular layout. Spacer images were typically used together with layout tables.
Spaghetti code : A pejorative phrase for unstructured and difficult-to-maintain source code. Spaghetti code can be caused by several factors, such as volatile project requirements, lack of programming style rules, and insufficient ability or experience. †
Spam : An unsolicited, undesired, or illegal message. †
Spamdexing : The deliberate manipulation of search engine indexes. Spamdexing involves a number of methods, such as link building and repeating unrelated phrases, to manipulate the relevance or prominence of resources indexed, in a manner inconsistent with the purpose of the indexing system. †
Spamming : The use of messaging systems to send an unsolicited message (spam), especially advertising, as well as sending messages repeatedly on the same website. While the most widely recognized form of spam is email spam, the term is applied to similar abuses in other media: instant messaging spam, Usenet newsgroup spam, search engine spam, spam in blogs, wiki spam, online classified ads spam, mobile phone messaging spam, Internet forum spam, junk fax transmissions, social spam, spam mobile apps, television advertising, and file sharing spam. It is named after spam, a luncheon meat, by way of a Monty Python sketch about a restaurant that has spam in every dish and where patrons annoyingly chant “spam” over and over again. †
SPDY : A deprecated networking protocol that was developed primarily at Google for transporting web content. SPDY (pronounced “speedy”) manipulates HTTP traffic, with particular goals of reducing web page load latency and improving web security. SPDY achieves reduced latency through compression, multiplexing, and prioritization, although this depends on a combination of network and website deployment conditions. Throughout the process, the core developers of SPDY have also been involved in the development of HTTP/2, SPDY’s successor. †
Spec : → Specification
Specification : A set of documented requirements to be satisfied by a material, design, product, or service. A specification is often a type of technical standard. There are different types of technical or engineering specifications (specs), and the term is used differently in different technical contexts. They often refer to particular documents or particular information within them. The word “specification” is broadly defined as “to state explicitly or in detail” or “to be specific.” †
Specificity
: A part of the CSS cascade and the mechanism how declarations are applied, as specificity can be the deciding factor. A selector’s specificity is calculated by counting 1) whether it comes from a style
attribute, 2) how many ID attributes it contains, 3) how many other attributes and pseudo-classes it contains, and 4) the number of element names and pseudo-elements involved. The four resulting numbers yield the specificity, as with 1,0,0,0
for a style
attribute, or 0,0,2,1
for a selector like div.message.error
. If specificity decides on whether a declaration is applied, the declaration wins whose selector’s specificity is higher, that is, the individual numbers are compared, from left to right, and whichever selector hits a higher number wins. (Otherwise, per the cascade, order will have the final say.)
Spectre : A vulnerability that affects modern microprocessors that perform branch prediction. On most processors, the speculative execution resulting from a branch misprediction may leave observable side effects that may reveal private data to attackers. Spectre was discovered in 2018. †
Speech synthesis : The artificial production of human speech. A computer system used for this purpose is called a speech computer or speech synthesizer, and can be implemented in software or hardware products. A text-to-speech (TTS) system converts normal language text into speech; other systems render symbolic linguistic representations like phonetic transcriptions into speech. †
Speed Index : A page load performance metric that shows how quickly the contents of a page are visibly populated. Speed Index is the average time at which visible parts of the page are displayed. Expressed in milliseconds, and dependent on the size of the view port, the lower the score, the better. ‡
SPF : → Sender Policy Framework
Spider : → Crawler
Spike : A product-testing method originating from Extreme Programming that is used to determine how much work will be required to solve or work around a software issue. Typically, a “spike test” involves gathering additional information or testing for easily reproduced edge cases. †
Spinner : A UI element that indicates that an action is taking place. : A UI element with which a user may adjust a value in an adjoining text box (numeric up/down). †
Splash screen : A graphical control element consisting of a window containing an image, a logo, and the current version of the software. A splash screen usually appears while a game or program is launching. A splash page can also be an introductory page on a website. A splash screen may cover the entire screen or web page, but it may also be a rectangle near the center of the screen or page. The splash screens of operating systems and applications that expect to be run in full screen usually cover the entire screen. On websites, splash pages are considered an anti-pattern. †
SPOF : → Single point of failure
Spoofing : A situation in which a person or program successfully identifies as another by falsifying data, to gain an illegitimate advantage. †
Spread : An operator that allows an iterable such as an array expression or string to be expanded in places where zero or more arguments (for function calls) or elements (for array literals) are expected, or an object expression to be expanded in places where zero or more key-value pairs (for object literals) are expected. ‡
Sprint : An important, overarching event in Scrum that is to result in a potentially releasable Increment of “Done” product. A Sprint is time-boxed not to be longer than one month.
Sprint Goal : An objective for a Sprint in Scrum that is to guide the Development Team. A Sprint Goal is preferred to be measurable. Per the Scrum framework, a Sprint Goal becoming obsolete makes for the only acceptable reason to cancel a Sprint.
Sprite
: A performance optimization technique implemented with graphics and CSS. A sprite is an image file combining several graphics that may be created automatically or manually. Individual graphics are displayed using CSS background
properties and defining their dimensions. Using sprites saves HTTP requests and, under circumstances, graphics file size.
SQL : → Structured Query Language
SQL injection : A code injection technique, used to attack data-driven applications, in which malicious SQL statements are inserted into an entry field for execution (e.g., to dump database contents to the attacker). SQL injection must exploit a security vulnerability in an application’s software, for example, when user input is incorrectly filtered for string literal escape characters embedded in SQL statements, or when user input is not strongly typed and unexpectedly executed. SQL injection is mostly known as an attack vector for websites but can be used to attack any type of SQL database. †
SQS : A distributed message queuing service introduced in 2004 by Amazon.com. SQS supports programmatic sending of messages via web service applications as a way to communicate over the Internet. It is intended to provide a highly scalable hosted message queue that resolves issues arising from the common producer-consumer problem or connectivity between producer and consumer. † ℹ︎ aws.amazon.com/sqs
Squad : The equivalent of a Scrum Team in Spotify’s Squad framework. ℹ︎ is.gd/SlluqK
Squarespace : A website building and hosting company. It provides software as a service for website building and hosting, allowing users to use pre-built website templates and drag-and-drop elements to create and modify web pages. Squarespace was founded in 2003. † ℹ︎ squarespace.com
Squint test : An improvised test for the effectiveness of a design, involving to squint the eyes when looking at the design to assess visual structure and hierarchy.
src : A name conventionally used for the main folder for source code and files.
sRGB : → standard Red Green Blue
SRI : → Subresource Integrity
SRP : → Single Responsibility Principle
SRV : A service locator resource record in the Domain Name System (DNS). †
SSG : → Static Site Generation : → Static Site Generator
SSH : → Secure Shell
SSH File Transfer Protocol : A network protocol that provides file access, file transfer, and file management over any reliable data stream. SFTP was designed by the Internet Engineering Task Force (IETF) as an extension of the Secure Shell protocol (SSH) version 2.0 to provide secure file transfer capabilities. The protocol assumes that it is run over a secure channel, such as SSH, that the server has already authenticated the client, and that the identity of the client user is available to the protocol. †
SSIM : → Structural Similarity Index Measure
SSL : → Secure Sockets Layer
SSR : → Server-Side Rendering
Stack : An abstract data type that serves as a collection of elements, with the two principal operations push, which adds an element to the collection, and pop, which removes the most recently added element that was not yet removed. The order in which elements come off a stack gives rise to its alternative name, LIFO (Last In, First Out). †
Stack level
: The position of a box on the z-axis, relative to other stack levels within the same stacking context. The CSS z-index
property can be used to define the stack level of the respective box in the current stacking context.
Stack Overflow : A Q&A site for professional and enthusiast programmers. Stack Overflow is a privately held website, the flagship site of the Stack Exchange Network, created in 2008 by Jeff Atwood and Joel Spolsky. The name for the website was chosen by voting. † ℹ︎ stackoverflow.com
Stacking context
: A three-dimensional conceptualization of HTML elements along an imaginary z-axis relative to the user, who is assumed to be facing the viewport or web page. For CSS, each box belongs to one stacking context. The z-index
property establishes whether a box establishes a stacking context, and the level of a box in its stacking context. ‡
Staging : → Staging environment
Staging environment : A deployment environment that reflects the production environment.
Stand-up : A meeting in which attendees typically participate while standing. The discomfort of standing for long periods is intended to keep the meetings short. Stand-ups are sometimes confused with Daily Scrums. †
Standard : → Technical standard
Standard Generalized Markup Language : A standard for defining generalized markup languages for documents. ISO 8879 Annex A.1 states that generalized markup is based on two postulates: 1) declarative, for markup to describe a document’s structure and other attributes rather than specify the processing that needs to be performed, because that is less likely to conflict with future developments; 2) rigorous, in order to allow markup to take advantage of the techniques available for processing strictly defined objects like programs and databases. SGML was first defined in 1986. HTML was theoretically an example of an SGML-based language until HTML 5, which browsers cannot parse as SGML for compatibility reasons. †
standard Red Green Blue : An RGB color space that HP and Microsoft created cooperatively in 1996 to use on monitors, printers, and the Internet. sRGB was subsequently standardized by the IEC as IEC 61966-2-1:1999. It is often the default color space for images that contain no color space information, especially if the images’ pixels are stored in 8-bit integers per color channel. †
Standards mode : → Strict mode
Standby redundancy : The availability of a spare secondary machine, like a server, as a backup for a primary machine. The secondary machine may or may not be in sync with the primary machine, and it may (“hot standby”) or may not (“cold standby”) be under power.
Star : A UI pattern for the (visual) marking of a favorite, like a location (Google Maps) or a software project (GitHub).
Star hack
: A once-popular CSS hack allowing to apply declarations only to Internet Explorer 7 and below. The hack consisted of adding an asterisk (*
) right in front of the property of a declaration so as to apply it in IE, while a declaration using the same—but “unprefixed”—property held for other browsers. The star hack is one of a class of similar hacks for Internet Explorer, as other characters, like an underscore (_
), would have the same effect and would be used as well (underscore hack). ℹ︎ browserhacks.com/#ie
Start of Authority : A type of resource record in the Domain Name System (DNS) containing administrative information about the zone, especially regarding zone transfers. The SOA record format is specified in RFC 1035. †
Start page : → Home page
Start tag
: The opening tag of an HTML or another markup language’s element, like <form>
, a form’s start tag. Not to be confused with an element (like a div
element) or an attribute (like an alt
attribute and its value).
State : The “remembering” of preceding events or user interactions, where the remembered information is called the state of the system. The set of states a system can occupy is known as its state space. In a discrete system, the state space is countable and often finite. The system’s internal behavior or interaction with its environment consists of separately occurring individual actions or events, such as accepting input or producing output, that may or may not cause the system to change its state. Examples of such systems are digital logic circuits and components, automata and formal language, computer programs, and computers. †
Statement : A syntactic unit of an imperative programming language that expresses some action to be carried out. A program written in such a language is formed by a sequence of one or more statements. A statement may have internal components (e.g., expressions). †
Static : A type of web page that is delivered to the user’s web browser exactly as stored, in contrast to dynamic web pages which are generated by a web application. Consequently, a static web page displays the same information for all users, from all contexts, subject to modern capabilities of a web server to negotiate content type or language of the document where such versions are available and the server is configured to do so. †
Static Application Security Testing : Testing tools and techniques to analyze source code, bytecode, and binaries for security vulnerabilities.
Static scope : → Lexical scope
Static Site Generation : → Static Site Generator
Static Site Generator : A usually template-based, often headless system that allows to generate static web pages.
Status code : → HTTP status code
Sticky session : The routing of requests for a particular session to the same specific machine that handled the first request for that session.
Stimulus : → Hotwire
Storage : The recording (storing) of information (data) in a storage medium. Paper, magnetic tapes, and optical discs are examples of storage media. Recording may be accomplished with virtually any form of energy. Electronic data storage requires electrical power to store and retrieve data; computer data storage is one of the core functions of a general-purpose computer. †
Storage area network : A computer network which provides access to consolidated, block-level data storage. SANs are primarily used to access data storage devices, such as disk arrays and tape libraries from servers so that the devices appear to the operating system as direct-attached storage. A SAN typically is a dedicated network of storage devices not accessible through the local area network (LAN). †
Storage engine : → Database engine
Storybook : A tool for building UI components and pages in isolation, to aid UI development, testing, and documentation. Storybook was released in 2016. ℹ︎ storybook.js.org
Strada : → Hotwire
Stream : A sequence of data elements made available over time. A stream can be thought of as items on a conveyor belt being processed one at a time rather than in large batches. Streams are processed differently from batch data—normal functions cannot operate on streams as a whole, as they have potentially unlimited data, and formally, streams are co-data (potentially unlimited), not data (which is finite). Functions that operate on a stream, producing another stream, are known as filters, and can be connected in pipelines, analogously to function composition. Filters may operate on one item of a stream at a time, or may base an item of output on multiple items of input, such as a moving average. †
Streaming media : Multimedia that is constantly received by and presented to an end user while being delivered by a provider. The verb “to stream” refers to the process of delivering or obtaining media in this manner; the term refers to the delivery method of the medium, rather than the medium itself, and is an alternative to file downloading, a process in which the end user obtains the entire file for the content before watching or listening to it. †
Strict mode
: A web browser compatibility mode in which standards are applied strictly and which, compared with quirks mode, only implements a small number of quirks. Strict mode is triggered by particular DOCTYPEs, like the standard HTML DOCTYPE <!DOCTYPE html>
. ‡
: For JavaScript, a way to opt into a restricted variant of JavaScript, thereby implicitly opting-out of “sloppy mode.” Strict mode is not just a subset, it intentionally has different semantics from normal code. Browsers not supporting strict mode will run strict mode code with different behavior from browsers that do, so strict mode is not relied on without feature-testing for support for the relevant aspects. Strict mode code and non-strict mode code can coexist, so scripts can opt into strict mode incrementally. Strict mode is triggered with 'use strict';
. ‡
String : A sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed (after creation). A string is generally considered as a data type and is often implemented as an array data structure of bytes (or words) that stores a sequence of elements, typically characters, using some character encoding. String may also denote more general arrays or other sequence (or list) data types and structures. †
Strong character : A character with a definite direction. Examples of this type of character include most alphabetic characters, syllabic characters, Han ideographs, non-European or non-Arabic digits, and punctuation characters that are specific to only those scripts. †
Structural Similarity Index Measure : A method for predicting the perceived quality of digital television and cinematic pictures, as well as other kinds of digital images and videos. SSIM is used for measuring the similarity between two images. The SSIM index is a full reference metric; in other words, the measurement or prediction of image quality is based on an initial uncompressed or distortion-free image as reference. †
Structure : In web development, the code that deals with how content is organized and weighed. This is usually achieved through HTML (HyperText Markup Language).
Structured Query Language : A domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS). SQL is particularly useful in handling structured data, i.e., data incorporating relations among entities and variables. The scope of SQL includes data query, data manipulation (insert, update, and delete), data definition (schema creation and modification), and data access control. Although SQL is essentially a declarative language (4GL), it also includes procedural elements. SQL was first mentioned in 1974, and became a standard of the American National Standards Institute (ANSI) in 1986. †
Stub : A piece of code used to stand in for some other programming functionality. A stub may simulate the behavior of existing code (such as a procedure on a remote machine, such methods are often called mocks) or be a temporary substitute for yet-to-be-developed code. Stubs are therefore most useful in porting, distributed computing, as well as general software development and testing. †
Style guide : Structured documentation for design particles, elements, and components. A style guide may be part of a design system.
Style sheet : A file or code snippet containing styling instructions. A style sheet represents a form of separation of presentation and content for web design in which the markup of a web page (usually HTML) contains the page’s semantic content and structure, but does not define its visual layout (styling). Instead, that styling is defined in an external style sheet file using a style sheet language such as CSS or XSLT. This design approach is identified as a “separation” because it largely supersedes the antecedent methodology in which a page’s markup defined both style and structure. †
Styled component : A case of CSS-in-JS in which CSS code is embedded (and scoped) within JavaScript components via tagged template literals. ℹ︎ styled-components.com
styled-components : → Styled component
stylelint : A CSS linter with support for CSS-like syntaxes like SCSS, Sass, Less and SugarSS, and capable of automatically fixing issues. ℹ︎ stylelint.io
Styling : The act of designing and implementing a design for a website or app, or the code for the design of a website or app.
Stylus : A dynamic stylesheet preprocessor language that is compiled into Cascading Style Sheets (CSS). Its design is influenced by Sass and Less. Stylus was released in 2010 and is one of the most used CSS preprocessor syntaxes. † ℹ︎ stylus-lang.com
Subject Alternative Name
: An extension to X.509 that allows various values to be associated with a security certificate using a subjectAltName
field. Subject Alternative Names (SANs) can cover email and IP addresses, URIs, DNS names, directory names, and other information. †
Subject-Matter Expert : A person who is an authority in a particular area or topic. The term “domain expert” is frequently used in expert systems software development, and there the term always refers to the domain other than the software domain. A domain expert is a person with special knowledge or skills in a particular area of endeavor (e.g., an accountant is an expert in the domain of accountancy). †
Subnav : → Subnavigation
Subnavigation : A secondary or auxiliary website navigation menu. Visually, a subnavigation is usually less prominent than a main navigation menu.
Subnet : A logical subdivision of an IP network. Computers that belong to the same subnet are addressed with an identical most-significant bit-group in their IP addresses. This results in the logical division of an IP address into two fields: the network number or routing prefix, and the rest field or host identifier. Traffic is exchanged between subnetworks through routers when the routing prefixes of the source address and the destination address differ. The practice of dividing a network into two or more networks is called subnetting. Subnetting may enhance routing efficiency, or have advantages in network management when subnetworks are administratively controlled by different entities in a larger organization. †
Subnet mask
: The bitmask that, when applied by a bitwise AND
operation to any IP address in the network, yields the routing prefix. Subnet masks are expressed in dot-decimal notation like an IP address. For example, “255.255.255.0” is the subnet mask for the prefix “198.51.100.0/24”. †
Subnetwork : → Subnet
Subresource Integrity : A W3C specification to provide a method to protect website delivery. Specifically, SRI validates assets served by a third party, such as a Content Delivery Network (CDN). This ensures these assets have not been compromised for hostile purposes. SRI was created in response to a number of attacks where CDN-served content was injected with malicious code, compromising thousands of websites using it. †
Subroutine : → Routine
Subsetting : → Font subsetting
Subversion : A software versioning and version control system. Software developers use Subversion to maintain current and historical versions of files such as source code and documentation. The goal of Subversion is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). Subversion was created in 2000 by CollabNet, and is now a top-level Apache project being built and used by a global community of contributors. † ℹ︎ subversion.apache.org
SUIT CSS : A CSS methodology for component-based UI development. ℹ︎ suitcss.github.io
Superkey : In the relational model of data, a set of attributes that uniquely identifies each tuple of a relation. Because superkey values are unique, tuples with the same superkey value must also have the same non-key attribute values. That is, non-key attributes are functionally dependent on the superkey. †
Superuser : A special user account used for system administration. Depending on the operating system, the actual name of this account might be “root,” “administrator,” “admin,” or “supervisor.” In some cases, the actual name of the account is not the determining factor; on Unix-like systems, for example, the user with a user identifier (UID) of zero is the superuser, regardless of the name of that account; and in systems which implement a role-based security model, any user with the role of superuser (or its synonyms) can carry out all actions of the superuser account. The principle of least privilege recommends that most users and applications run under an ordinary account to perform their work, as a superuser account is capable of making unrestricted and potentially adverse system-wide changes. †
Support : The (often percentage-based) availability and popularity of a particular software, software feature, or device.
Surface Web : The portion of the World Wide Web that is readily available to the general public, and searchable with standard web search engines. It is the opposite of the Deep Web, the part of the Web not indexed by a web search engine. The Surface Web only consists of 10% of the information that is on the Internet; according to one source, as of 2015, Google’s index of the Surface Web contains about 14.5 billion pages. †
Surfing : → Browsing
Surrogate key : A unique identifier for either an entity in the outside world or an object in a database. The surrogate key is not derived from application data, unlike a natural (or business) key. †
SVG : → Scalable Vector Graphics
SVN : → Subversion
Switchover : → Failover
SXG : → Signed HTTP Exchange
Symbol : A primitive data type whose instances have a unique human-readable form. Symbols can be used as identifiers. In some programming languages, they are called atoms. Uniqueness is enforced by holding symbols in a symbol table. The most common use of symbols by programmers is for performing language reflection (particularly for callbacks). †
Symfony : A PHP web application framework and set of reusable PHP components and libraries. Symfony was released in 2005. † ℹ︎ symfony.com
SYN : A signal to initiate, establish, or synchronize a connection, as with a communications protocol like the Transmission Control Protocol (TCP).
Synchronized Multimedia Integration Language : A markup language to describe multimedia presentations. SMIL defines markup for timing, layout, animations, visual transitions, and media embedding, among other things. SMIL allows presenting media items such as text, images, video, audio, links to other SMIL presentations, and files from multiple web servers. SMIL markup is written in XML, and has similarities to HTML. SMIL 1.0 became a W3C standard in 1999, SMIL 2.0 in 2001, and SMIL 3.0 in 2008. † ℹ︎ w3.org/TR/SMIL3
Synchronous : Real-time communication in which each party receives (and if necessary, processes and replies to) messages instantly (or as near to instantly as possible). A human example is the telephone—during a telephone call one tends to respond to another person immediately. Many programming commands are also synchronous—for example, when one types in a calculation, the environment will return the result instantly, unless programmed not to. ‡
Syndication : As web syndication, a form of syndication in which content is made available from one website to other sites and services. Most commonly, websites are made available to provide either summaries or full renditions of a website’s recently added content. The term “syndication” may also describe other kinds of content licensing for reuse. †
Syntactic sugar : Syntax within a programming language that is designed to make things easier to read or to express. Syntactic sugar makes the language “sweeter” for human use: Things can be expressed more clearly, more concisely, or in an alternative style that some may prefer. †
Syntax : The set of rules that defines the combinations of symbols that are considered to be a correctly structured document or fragment in a language. This applies both to programming languages, where the document represents source code, and to markup languages, where the document represents data. The syntax of a language defines its surface form. Text-based computer languages are based on sequences of characters, while visual programming languages are based on the spatial layout and connections between symbols (which may be textual or graphical). Documents that are syntactically invalid are said to have a syntax error. When designing the syntax of a language, a designer might start by writing down examples of both legal and illegal strings, before trying to determine general rules from these examples. †
Syntax analysis : → Parsing
syslog : A standard for message logging. syslog allows separation of the software that generates messages, the system that stores them, and the software that reports and analyzes them. Each message is labeled with a facility code, indicating the software type generating the message, and assigned a severity level. syslog was developed in the 1980s by Eric Allman. †
Q> Is something important missing, or did you find a mistake? Please share your feedback!