├── .gitmodules ├── static ├── meta.jpg ├── main.css └── toggle.js ├── layouts ├── partials │ ├── header.html │ └── footer.html ├── terms │ └── single.html └── index.html ├── config.toml ├── content └── terms │ ├── sql.md │ ├── bézier-curve.md │ ├── semi-structured-data.md │ ├── pascal-case.md │ ├── framework.md │ ├── http.md │ ├── proxy-server.md │ ├── snake-case.md │ ├── markdown.md │ ├── application.md │ ├── front-end.md │ ├── singleton.md │ ├── web-server.md │ ├── a-b_testing.md │ ├── camel-case.md │ ├── html.md │ ├── cloud-computing.md │ ├── ruby-language.md │ ├── cloud-storage.md │ ├── css.md │ ├── ide.md │ ├── comment.md │ ├── command-line-interface.md │ ├── internet-of-things.md │ ├── test-driven-development.md │ ├── favicon.md │ ├── dataframe.md │ ├── kluge.md │ ├── debugging.md │ ├── graphical-user-interface.md │ ├── flutter.md │ ├── linter.md │ ├── typed.md │ ├── application-programming-interface.md │ ├── javascript.md │ ├── unicorn.md │ ├── compiler.md │ ├── faang.md │ ├── wiki.md │ ├── back-end.md │ ├── dev-ops.md │ ├── minimum-viable-product.md │ ├── boilerplate.md │ ├── sass.md │ ├── data-transfer-object.md │ ├── react.md │ ├── json.md │ └── agile-software-development.md ├── .github └── workflows │ └── build.yml ├── LICENSE ├── code_of_conduct.md ├── rest.md ├── CONTRIBUTING.md └── README.md /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /static/meta.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/do-community/developer-glossary/HEAD/static/meta.jpg -------------------------------------------------------------------------------- /layouts/partials/header.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /config.toml: -------------------------------------------------------------------------------- 1 | baseURL = "https://www.glossary.dev" 2 | languageCode = "en-us" 3 | title = "Developer Glossary" 4 | copyright = "MIT License, Contribute on GitHub" 5 | 6 | disableKinds = ["taxonomy", "term"] 7 | 8 | buildFuture = true 9 | 10 | [params] 11 | titleEmoji = ":tada:" 12 | description = "A developer's glossary built by the community, for the community." 13 | 14 | [Permalinks] 15 | term = ":slug" 16 | -------------------------------------------------------------------------------- /content/terms/sql.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "SQL" 3 | date: 2020-10-21T23:00:47+05:30 4 | part-of-speech: noun 5 | --- 6 | 7 | SQL is a database computer language designed for the retrieval and management of data in a relational database. 8 | ## Example 9 | 10 | > We use SQL to retrive, insert, update, delete data in relational database. 11 | 12 | ## Further Reading 13 | - Here's a [Wikipedia article](https://en.wikipedia.org/wiki/SQL) that provides detailed description about SQL. 14 | 15 | -------------------------------------------------------------------------------- /content/terms/bézier-curve.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Bézier curve" 3 | date: 2020-10-26 4 | part-of-speech: noun 5 | synonyms: NA 6 | abbreviation: NA 7 | --- 8 | 9 | Bezier curves are used in computer graphics to draw shapes, for CSS animation and in many other places. 10 | 11 | ## Example 12 | 13 | >He used the Bézier curve to control the direction of the vector's animation. 14 | 15 | ## Further Reading 16 | - [MDN Web Docs Glossary](https://developer.mozilla.org/en-US/docs/Glossary/B%C3%A9zier_curve) 17 | -------------------------------------------------------------------------------- /content/terms/semi-structured-data.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Semi-Structured Data" 3 | date: 2020-10-21T23:08:47+05:30 4 | part-of-speech: noun 5 | --- 6 | 7 | Data which has some structure, but does not conform to any data model. 8 | ## Example 9 | 10 | > All markup languages, HTML, XML, etc creates semi-structured data. 11 | 12 | ## Further Reading 13 | - Here's a [Wikipedia article](https://en.wikipedia.org/wiki/Semi-structured_data) that provides detailed description about Semi structured data. 14 | 15 | -------------------------------------------------------------------------------- /content/terms/pascal-case.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "PascalCase" 3 | date: 2020-10-29 4 | part-of-speech: noun 5 | synonyms: ["UpperCamelCase", "Pascal Case"] 6 | --- 7 | 8 | PascalCase, also known as UpperCamelCase, is a type of naming convention in which the first letter of every word is capitalized. 9 | 10 | ## Example 11 | 12 | > NintendoSwitch 13 | 14 | > WaterBottle 15 | 16 | > TypeOfAnimal 17 | 18 | 19 | ## Further Reading 20 | - [PascalCase on TechTerms](https://techterms.com/definition/pascalcase) 21 | -------------------------------------------------------------------------------- /content/terms/framework.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Framework" 3 | date: 2020-10-04T10:10:10-04:00 4 | part-of-speech: noun 5 | --- 6 | 7 | Suite of programs used in website or software development. 8 | This lays the groundwork for the type of programming language used for your site or app development. 9 | 10 | ## Example 11 | 12 | > We used the Django framework to build our website and it was quite satisfying. 13 | 14 | ## Further Reading 15 | - [Software Framework on Wikipedia](https://en.wikipedia.org/wiki/Software_framework) 16 | -------------------------------------------------------------------------------- /content/terms/http.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Hypertext Transfer Protocol" 3 | date: 2020-10-28 4 | part-of-speech: noun 5 | synonyms: ["HTTP"] 6 | abbreviation: HTTP 7 | --- 8 | 9 | Hypertext Transfer Protocol is main communication protocol using for communication between server and browser. HTML files etc. are sent and received by HTTP. 10 | 11 | ## Example 12 | > Please use HTTPS instead of HTTP to improve security. 13 | 14 | ## Further Reading 15 | - [Hypertext Transfer Protocol on Wikipedia](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) 16 | -------------------------------------------------------------------------------- /content/terms/proxy-server.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Proxy Server" 3 | date: 2020-10-15T21:23:17-04:00 4 | part-of-speech: noun 5 | abbreviation: proxy 6 | --- 7 | 8 | A proxy server is an intermediary server that acts as the gateway between you and a website. It can contain functionality, security, and more. 9 | 10 | ## Example 11 | 12 | We use a proxy server to prevent our employees from spacing out on Facebook all day. 13 | 14 | ## Further Reading 15 | 16 | [Proxy Servers and Tunneling](https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling) -------------------------------------------------------------------------------- /content/terms/snake-case.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Snake Case" 3 | date: 2020-10-25 4 | part-of-speech: noun 5 | synonyms: snake_case 6 | abbreviation: 7 | --- 8 | 9 | Snake case (stylized as snake_case) refers to the style of writing in which each space is replaced by an underscore (_) character, and the first letter of each word written in lowercase. 10 | 11 | ## Example 12 | 13 | >"BTW...what *do* you call that naming style? snake_case? That's what I'll call it until someone corrects me." 14 | 15 | ## Further Reading 16 | - [Snake_case on Wikipedia](https://en.wikipedia.org/wiki/Snake_case) 17 | -------------------------------------------------------------------------------- /content/terms/markdown.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Markdown" 3 | date: 2020-10-10 4 | part-of-speech: noun 5 | --- 6 | 7 | Markdown is a lightweight markup languange to help format plain text. The formatted text is then often converted to HTML. 8 | 9 | ## Example 10 | 11 | > The project maintainer should update the README markdown file of the project to reflect the new changes made. 12 | 13 | ## Further Reading 14 | 15 | - [Wikipedia article](https://en.wikipedia.org/wiki/Markdown/) that talks about its history and provides a good overview. 16 | 17 | - [Markdown Guide](https://www.markdownguide.org/) 18 | -------------------------------------------------------------------------------- /content/terms/application.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Application" 3 | date: 2020-10-10T21:23:17-04:00 4 | part-of-speech: noun 5 | abbreviation: App 6 | --- 7 | 8 | An application is a program created to execute various functions, designed with end users in mind. The word *application* is generally abbreviated to `app`, and includes desktop, mobile and smart apps. 9 | 10 | ## Example 11 | 12 | Instagram is an app(lication) that allows users to share visual stories of their lives and interests. 13 | 14 | ## Further Reading 15 | - [Application Software](https://en.wikipedia.org/wiki/Application_software) 16 | -------------------------------------------------------------------------------- /content/terms/front-end.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Front End" 3 | date: 2020-10-25 4 | part-of-speech: noun 5 | synonyms: frontend, front-end 6 | abbreviation: FE 7 | --- 8 | 9 | A front end is the graphical user interface of a computer or software that makes it easier to use for end users. For example, Microsoft Windows 3.11 was a front end for the MS-DOS command line. 10 | 11 | 12 | ## Example 13 | 14 | >For an application, the front end is the part that is exposed to the user. 15 | 16 | 17 | ## Further Reading 18 | - [Front-End and Back-End on Wikipedia](https://en.wikipedia.org/wiki/Front_end_and_back_end) 19 | -------------------------------------------------------------------------------- /content/terms/singleton.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Singleton" 3 | date: 2020-10-31 4 | part-of-speech: noun 5 | --- 6 | 7 | Singleton is a type of software design pattern that restricts the instantiation of a class to one, and only one, single instance. 8 | 9 | ## Example 10 | 11 | > The `java.lang.Runtime.getRuntime` static method, part of the Java library, returns a singleton. 12 | 13 | ## Further Reading 14 | - [Singleton Pattern on Wikipedia](https://en.wikipedia.org/wiki/Singleton_pattern) 15 | - [Singleton on java-design-patterns repo](https://github.com/iluwatar/java-design-patterns/tree/master/singleton) 16 | -------------------------------------------------------------------------------- /content/terms/web-server.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Web Server" 3 | date: 2020-10-25T06:53:17+08:00 4 | part-of-speech: noun 5 | --- 6 | 7 | The term web server can refer to hardware or software, or both of them working together, that can satisfy client requests on the web. It processes incoming network requests over HTTP and several other related protocols. 8 | 9 | ## Example 10 | 11 | Web servers make it possible for websites to be made available on the internet. 12 | 13 | ## Further Reading 14 | 15 | [What is a web server](https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_web_server) 16 | -------------------------------------------------------------------------------- /content/terms/a-b_testing.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "A/B Testing" 3 | date: 2020-10-04T10:10:11-04:00 4 | part-of-speech: noun 5 | --- 6 | 7 | A/B testing is the practice of comparing two versions of online content—websites, apps, marketing emails, etc.—in order to see which version performs better. 8 | The two versions (A and B) are presented to users at random in order to gauge reactions. 9 | 10 | ## Example 11 | 12 | > The A/B testing really helped us decide which version of our software was more preferred. 13 | 14 | ## Further Reading 15 | - More about [A/B Testing on Wikipedia](https://en.wikipedia.org/wiki/A/B_testing) 16 | -------------------------------------------------------------------------------- /content/terms/camel-case.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Camel Case" 3 | date: 2020-10-25 4 | part-of-speech: noun 5 | synonyms: stylized as camelCase or CamelCase; also known as camel caps or more formally as medial capitals 6 | abbreviation: 7 | --- 8 | 9 | Camel Case is the practice of writing phrases without spaces or punctuation, indicating the separation of words with a single capitalized letter, and the first word starting with either case 10 | 11 | ## Example 12 | 13 | >iPhone, eBay, const isUserLogged = true; 14 | 15 | 16 | ## Further Reading 17 | - [CamelCase on Wikipedia](https://en.wikipedia.org/wiki/Camel_case) 18 | -------------------------------------------------------------------------------- /content/terms/html.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "HyperText Markup Language (HTML)" 3 | date: 2020-10-26 4 | part-of-speech: noun 5 | synonyms: ["HTML"] 6 | abbreviation: HTML 7 | --- 8 | 9 | HyperText Markup Language, or HTML, is the markup language used to build the web. It defines the structure and basic layout of web pages, and is often used in tandem with Cascading Style Sheets (CSS) and JavaScript (JS). 10 | 11 | ## Example 12 | > I created my first website in bootcamp using HTML, CSS, and JS. 13 | 14 | ## Further Reading 15 | - [HTML Basics](https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/HTML_basics) -------------------------------------------------------------------------------- /content/terms/cloud-computing.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Cloud Computing" 3 | date: 2020-10-17T23:18:47+05:30 4 | part-of-speech: noun 5 | --- 6 | 7 | Cloud computing is the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet, with pay-as-you-go pricing. 8 | 9 | ## Example 10 | 11 | > Companies like DigitalOcean, Amazon, Microsoft, Google, and more provide cloud computing services. 12 | 13 | ## Further Reading 14 | - Here's a [Wikipedia article](https://en.wikipedia.org/wiki/Cloud_computing) that provides detailed description about cloud computing. 15 | 16 | -------------------------------------------------------------------------------- /content/terms/ruby-language.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Ruby (programming language)" 3 | date: 2020-10-25T02:50:17-03:00 4 | part-of-speech: noun 5 | --- 6 | 7 | A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. 8 | Designed and developed by Yukihiro "Matz" Matsumoto. 9 | 10 | ## Example 11 | 12 | > "My code is written using ruby." 13 | 14 | > "Ruby is my main programming language" 15 | 16 | ## Further Reading 17 | - [Ruby (official site)](https://www.ruby-lang.org/en/) 18 | - [Wikipedia entry](https://en.wikipedia.org/wiki/Ruby_(programming_language)) 19 | -------------------------------------------------------------------------------- /content/terms/cloud-storage.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Cloud Storage" 3 | date: 2020-10-25 4 | part-of-speech: noun 5 | synonyms: ["Virtual Storage", "the cloud"] 6 | abbreviation: Cloud 7 | --- 8 | 9 | Cloud storage is a model of computer data storage in which the digital data is stored in logical pools, said to be on "the cloud". The physical storage spans multiple servers, and the physical environment is typically owned and managed by a hosting company. 10 | ## Example 11 | 12 | > I used cloud storage to save my work. 13 | 14 | ## Further Reading 15 | Here's a [Cloud Storage Wikipedia article](https://en.wikipedia.org/wiki/Cloud_storage) to learn more about cloud storage. 16 | -------------------------------------------------------------------------------- /content/terms/css.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Cascading Style Sheets" 3 | date: 2020-10-29T09:08:47+05:30 4 | part-of-speech: noun 5 | abbreviation: CSS 6 | --- 7 | 8 | Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML. 9 | 10 | ## Example 11 | 12 | > CSS can be used to define the cell padding of table cells, the style, thickness, and color of a table's border, and the padding around images or other objects. 13 | 14 | ## Further Reading 15 | - Here's a [Wikipedia article](https://en.wikipedia.org/wiki/CSS) that provides detailed description about Cascading style sheets. 16 | 17 | -------------------------------------------------------------------------------- /content/terms/ide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Integrated Development Environment" 3 | date: 2020-10-09T21:23:17-04:00 4 | part-of-speech: noun 5 | abbreviation: IDE 6 | --- 7 | 8 | An Integrated Development Environment (IDE) allows developers to execute a number of tasks related to creating a computer program within one environment. A text editor, terminal, debugging tools, and code snippets are tools that may be included in an IDE. 9 | 10 | ## Example 11 | 12 | I am using Visual Studio Code as my IDE of choice because of its ease-of-use, code snippets, and customization options. 13 | 14 | ## Further Reading 15 | - [What Is An IDE?](https://www.codecademy.com/articles/what-is-an-ide) 16 | -------------------------------------------------------------------------------- /content/terms/comment.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Comment" 3 | date: 2020-10-3 4 | part-of-speech: noun, verb 5 | --- 6 | 7 | A comment is a portion of text that you put into the source code of a computer program to help explain what is happening in that piece of code. This text portion is ignored by the compiler/interpreter and is usually considered an understandaing aid to maintainers of the said computer program. 8 | 9 | ## Example 10 | 11 | > Comments are useful to help developers understand design patterns and decisions. 12 | 13 | ## Further Reading 14 | 15 | - Here's a [Wikipedia article](https://en.wikipedia.org/wiki/Comment_(computer_programming)) for more detailed information on comments. 16 | -------------------------------------------------------------------------------- /content/terms/command-line-interface.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Command-Line Interface" 3 | date: 2020-10-02T21:23:17-04:00 4 | part-of-speech: noun 5 | synonyms: ["Command Line"] 6 | abbreviation: CLI 7 | --- 8 | 9 | Refers to the text-input interface commonly used by developers to interact with computers and the services or processes running on them. A command-line interface accepts text input (commands) which execute processes and typically result in text output. 10 | 11 | ## Example 12 | 13 | > System administrators use the command-line interface to SSH into virtual machines running in datacenters. 14 | 15 | ## Further Reading 16 | - [Command-Line Interface on Wikipedia](https://en.wikipedia.org/wiki/Command-line_interface) -------------------------------------------------------------------------------- /content/terms/internet-of-things.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Internet Of Things" 3 | date: 2020-10-18T23:31:25+05:30 4 | part-of-speech: noun 5 | synonyms: ["IOT"] 6 | abbreviation: IOT 7 | --- 8 | 9 | Describes the network of physical objects—“things”—that are embedded with sensors, software, and other technologies for the purpose of connecting and exchanging data with other devices and systems over the Internet. 10 | 11 | ## Example 12 | 13 | > Various smart devices ranging from interconnected home appliances to self-driving cars to smart lights-- there is a new great wave of IOT products coming in this field. 14 | 15 | ## Further Reading 16 | - [Internet of Things on Wikipedia](https://en.wikipedia.org/wiki/Internet_of_things) 17 | -------------------------------------------------------------------------------- /content/terms/test-driven-development.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Test-Driven Development" 3 | date: 2020-10-24T21:25:17-04:00 4 | part-of-speech: noun 5 | synonyms: ["Test-Driven"] 6 | abbreviation: TDD 7 | --- 8 | 9 | Refers to process of software development, where the developer will design and implement test cases first, and later develop the application logic needed to pass the tests. 10 | 11 | ## Example 12 | 13 | > The goal of Test-Driven Development (TDD) is to ensure that the developer always produces testable code. 14 | 15 | ## Further Reading 16 | - [Test driven development on Wikipedia](https://en.wikipedia.org/wiki/Test-driven_development) 17 | - [Test driven example](https://www.guru99.com/test-driven-development.html) 18 | -------------------------------------------------------------------------------- /content/terms/favicon.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Favicon" 3 | date: 2020-10-03T22:18:47+05:30 4 | part-of-speech: noun 5 | --- 6 | 7 | A favicon is a small 16x16 pixels icon used on web browsers to represent a website or a web page. Short for 'favorite icon', favicons are most commonly displayed on tabs at the top 8 | of a web browser, but they are also found on your browser's bookmark bar, history, and more. 9 | ## Example 10 | 11 | > A web designer can create such an icon and upload it to a website (or web page) by several means, and graphical web browsers will then make use of it. 12 | ## Further Reading 13 | - Here's a [Wikipedia article](https://en.wikipedia.org/wiki/Favicon) that talks about its history and provides a good overview. 14 | 15 | -------------------------------------------------------------------------------- /content/terms/dataframe.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "DataFrame" 3 | date: 2020-10-26 4 | part-of-speech: 5 | synonyms: [] 6 | abbreviation: 7 | --- 8 | 9 | A Dataframe represents a table of data in Rows and Columns. It is size-mutable, meaning the structure of the table, i.e. the rows, columns and the values that exist between them can be changed based on requirement of the user of that dataframe. 10 | 11 | 12 | ## Example 13 | 14 | > The New York Stock Exchange data is loaded into a Dataframe for further Analysis. 15 | 16 | ## Further Reading 17 | - [Pandas Dataframe](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) 18 | - [DataFrame by GeeksforGeeks](https://www.geeksforgeeks.org/python-pandas-dataframe/) 19 | -------------------------------------------------------------------------------- /content/terms/kluge.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Kluge" 3 | date: 2020-10-02T21:23:17-04:00 4 | part-of-speech: noun 5 | --- 6 | 7 | A kluge is a term in the developer world for the kind of fix or solution to a problem that is rushed, "hacky" and not well thought out. 8 | 9 | It's used to describe the kind of solution that works, but you're not proud of it. 10 | 11 | ## Example 12 | 13 | > The product manager kept pinging me asking when the fix was deployed, so I shipped a kluge that just hardcoded some of the configuration, I'll fix it properly next week. 14 | 15 | ## Further Reading 16 | - [The appropriately complicated etymology of kluge](https://www.theatlantic.com/technology/archive/2016/09/the-appropriately-complicated-etymology-of-kluge/499433/) 17 | 18 | 19 | -------------------------------------------------------------------------------- /content/terms/debugging.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Debugging" 3 | date: 2020-10-18T01:33:25+05:30 4 | part-of-speech: noun 5 | --- 6 | 7 | Debugging is the process of finding and fixing the bugs or errors present in a block of code. 8 | 9 | When writing code, bugs are errors or faults in a program that prevents it from producing the desired results. Debugging is combing through the code to locate and rectify these faults. 10 | 11 | ## Example 12 | 13 | > Debugging can be a time consuming process as it involves a couple of steps - locating the line number, identifying the type, take the help of google and finally, fixing the error. 14 | 15 | ## Further Reading 16 | - Here's a [Wikipedia article](https://en.wikipedia.org/wiki/Debugging) that covers some interesting things about debugging. 17 | -------------------------------------------------------------------------------- /content/terms/graphical-user-interface.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Graphical User Interface" 3 | date: 2020-10-23 4 | part-of-speech: noun 5 | synonyms: [] 6 | abbreviation: GUI 7 | --- 8 | 9 | A graphical-user-interface allows users to interact with devices and software 10 | through graphical icons such as menus, buttons, and text forms. They were 11 | created to be a user-friendly alternative to the command-line. 12 | 13 | ## Example 14 | 15 | > Using a GUI file explorer to find, edit, or delete a file can be more intuitive than 16 | navigating a terminal. 17 | 18 | ## Further Reading 19 | - [Graphical User Interface on 20 | Wikipedia](https://en.wikipedia.org/wiki/Graphical_user_interface) 21 | - [Web 101: History of the 22 | GUI](https://www.wired.com/1997/12/web-101-a-history-of-the-gui/) 23 | -------------------------------------------------------------------------------- /content/terms/flutter.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Flutter" 3 | date: 2020-10-29T16:59:25+05:30 4 | part-of-speech: noun 5 | --- 6 | 7 | Flutter is a UI software development kit that is used for developing iOS, Android, Linux, Mac, Windows, Google Fuchsia, and web applications. It is based on Dart programming language. 8 | 9 | It provides fast development (with its Stateful Hot Reload feature) and beautiful Material Design and Cupertino widgets which incorporate critical platform differences between Android and iOS. 10 | 11 | ## Example 12 | 13 | > I learned mobile application development using Flutter before beginning an internship. 14 | 15 | ## Further Reading 16 | - The [Official Flutter Website](https://flutter.dev/) features [Useful Documentation](https://flutter.dev/docs) to help novices get started. 17 | -------------------------------------------------------------------------------- /content/terms/linter.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Linter" 3 | date: 2020-10-32T10:06:00-08:00 4 | part-of-speech: noun, verb 5 | --- 6 | 7 | A linter is a tool for static code analysis that flags programming errors, bugs, and mistakes in a given style or programming language. The name originates from the extraneous fluff or lint shed from clothing. 8 | 9 | _Linting_ a program before manually running its code can help to minimize the debugging process, often catching bugs ahead of time. 10 | 11 | ## Example 12 | 13 | > When I ran my code through a linter, I discovered I'd forgotten a closing bracket that would have broken my application. 14 | 15 | ## Further Reading 16 | 17 | - Here's a [Wikipedia article](https://en.wikipedia.org/wiki/Lint_(software)#See_also) for more detailed information on linters and their history. 18 | -------------------------------------------------------------------------------- /content/terms/typed.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Typed" 3 | date: 2020-10-29 4 | part-of-speech: noun, verb 5 | synonyms: ["Statically Typed", "Static Typing"] 6 | abbreviation: 7 | --- 8 | 9 | Typed programming is a programming style for declaring the data type of each variable and functions. It's typically used as required by programming language, or through a programmer's personal style preferences. 10 | 11 | ## Example 12 | 13 | > Typescript is a language that extended from JavaScript to make JavaScript code more typed. 14 | 15 | ## Further Reading 16 | - [Wikipedia](https://en.wikipedia.org/wiki/Type_system) 17 | - [What is strongly typed programming language](https://whatis.techtarget.com/definition/strongly-typed) 18 | - [Introduction To Programming Type Systems](https://www.smashingmagazine.com/2013/04/introduction-to-programming-type-systems/) 19 | -------------------------------------------------------------------------------- /content/terms/application-programming-interface.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Application Programming Interface" 3 | date: 2020-10-17T12:12:14-04:00 4 | part-of-speech: noun 5 | synonyms: ["programming interface"] 6 | abbreviation: API 7 | --- 8 | 9 | An Application Programming Interface (API) specifies how software components should communicate. It defines the kinds of requests that can be made, how to make them, the data formats that should be used, etc. There are a few types of APIs but the most common is REST. 10 | 11 | _REST_ (which stands for Representational State Transfer) is an API type that is used mainly on the web. We call APIs that use REST, *RESTful APIs*. 12 | 13 | ## Example 14 | 15 | > We need to show a map on our site, let's use the Google Maps API. 16 | 17 | ## Further Reading 18 | - [Wikipedia article](https://en.wikipedia.org/wiki/API) 19 | -------------------------------------------------------------------------------- /content/terms/javascript.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "JavaScript" 3 | date: 2020-10-26 4 | part-of-speech: noun 5 | abbreviation: JS 6 | --- 7 | 8 | JavaScript (JS) is a programming language that enables you to create dynamic web content, such as displaying live updates, interactive maps, or animated graphics. 9 | 10 | The first ever JavaScript was created by Brendan Eich at Netscape. 11 | 12 | ## Example 13 | 14 | > Java and JavaScript are both programming languages but they are not the same or related in any way at all. Java is a programming language that needs to be compiled and is object-oriented, while JavaScript is an interpreted language and is prototype-based. 15 | 16 | ## Further Reading 17 | 18 | - [JavaScript via MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript) 19 | - A few [JavaScript examples](https://www.w3schools.com/js/js_examples.asp) 20 | -------------------------------------------------------------------------------- /content/terms/unicorn.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Unicorn" 3 | date: 2020-10-03T21:20:17-04:00 4 | part-of-speech: noun 5 | --- 6 | 7 | A Unicorn software developer is someone who knows web development and also has design skills.
8 | 9 | Employers love a good unicorn developer so it’s always a good idea for a web designer to learn coding skills (and vice-versa)! 10 | 11 | ## Example 12 | 13 | > I’m a unicorn developer — Android developer cum UX consultant + graphic designer & graphic artist. 14 | You might wonder how I can be all that, you may not believe that I can do all the above. But yes, I exist. 15 | 16 | ## Further Reading 17 | - Here's a [blog](https://easternpeak.com/blog/3-in-1-developer-a-jack-of-all-trades-or-a-unicorn/) and here's 18 | a [quora post](https://www.quora.com/What-is-a-unicorn-developer) where you can learn about it in greater detail. 19 | 20 | 21 | -------------------------------------------------------------------------------- /content/terms/compiler.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Compiler" 3 | date: 2020-10-23 4 | part-of-speech: noun 5 | synonyms: [] 6 | abbreviation: 7 | --- 8 | 9 | A compiler is a program that translates code from one language to another - 10 | typically source code to machine code. Some popular compiled programming 11 | languages and associative compilers are: 12 | 13 | - C 14 | - GNU Compiler Collection (gcc), C Language Compiler (clang) 15 | - C++ 16 | - GNC Compiler Collection (gcc), C++ Language Compiler (clang++), MinGw 17 | - Go 18 | - Go's builtin compiler (go run), GNU Go Compiler (gccgo) 19 | 20 | ## Examples 21 | 22 | > A developer wrote a program in C++. In order to generate and run a binary, 23 | they need to compile the C++ source code to machine language. 24 | 25 | ## Further Reading 26 | 27 | - [Compiler on Wikipedia](https://en.wikipedia.org/wiki/Compiler) 28 | -------------------------------------------------------------------------------- /content/terms/faang.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "FAANG" 3 | date: 2020-10-15 4 | part-of-speech: noun 5 | synonyms: ["Big Tech", "Big Five", "GAFAM", "GAFA"] 6 | abbreviation: FAANG 7 | --- 8 | 9 | The acronym *FAANG* refers to the names of the five most popular tech companies in the US: 10 | 11 | - Facebook 12 | - Amazon 13 | - Apple 14 | - Netflix 15 | - Google 16 | 17 | Originally coined as a stock market term to represent the largest tech companies by market capitalization--*FAANG* is the latest alias colloquially used among the software/IT community to describe a collective of pretigious household-name tech companies, known for their highly competitive hiring process and their generous total monetary compensation package. 18 | 19 | ## Example 20 | > Microsoft is a FAANG company based in Redmond, WA. 21 | 22 | ## Further Reading 23 | - [FAANG](https://en.wikipedia.org/wiki/Big_Tech) 24 | -------------------------------------------------------------------------------- /content/terms/wiki.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Wiki" 3 | date: 2020-10-11T23:28:00+02:00 4 | part-of-speech: noun 5 | --- 6 | 7 | Wiki is a hypertext publication collaboratively edited and managed by its own audience directly using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project and may be either open to the public or limited to use within an organization for maintaining its internal knowledge base. 8 | 9 | ## Example 10 | 11 | "Take some more [[tea]]," the March Hare said to Alice, very earnestly. 12 | 13 | "I've had '''nothing''' yet," Alice replied in an offended tone, "so I can't take more." 14 | 15 | "You mean you can't take ''less''," said the Hatter. "It's very easy to take ''more'' than nothing." 16 | 17 | ## Further Reading 18 | - Here's a [Wikipedia article](https://en.wikipedia.org/wiki/Wiki#History) that talks about first wiki page. 19 | 20 | 21 | -------------------------------------------------------------------------------- /content/terms/back-end.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Back End" 3 | date: 2020-10-25 4 | part-of-speech: noun 5 | synonyms: Backend/ server-side 6 | abbreviation: 7 | --- 8 | 9 | The back end of software or an application deals with the servers, databases and applications that power user interactions on the front end. Developers who work in the back end use server-side languages like PHP and Java and databases like MySQL to build applications. 10 | 11 | 12 | 13 | ## Example 14 | 15 | >Back-end development can be much more varied than front-end development, which is largely driven by JavaScript, HTML, CSS, and various front-end frameworks using these languages. 16 | 17 | 18 | ## Further Reading 19 | - [Front-End and Back-End on Wikipedia](https://en.wikipedia.org/wiki/Front_end_and_back_end) 20 | - [60+ Programming Jargon Explained for a Junior Developer](https://medium.com/swlh/60-programming-jargon-explained-for-a-junior-developer-30d0c8413725) 21 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build Test 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - main 7 | pull_request_target: 8 | branches: 9 | - main 10 | 11 | jobs: 12 | build: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v2 16 | with: 17 | submodules: true # Fetch Hugo themes (true OR recursive) 18 | fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod 19 | 20 | - name: Setup Hugo 21 | uses: peaceiris/actions-hugo@v2 22 | with: 23 | hugo-version: 'latest' 24 | # extended: true 25 | 26 | - name: Cache Hugo Modules 27 | uses: actions/cache@v2 28 | with: 29 | path: /tmp/hugo_cache 30 | key: ${{ runner.os }}-hugomod-${{ hashFiles('**/go.sum') }} 31 | restore-keys: | 32 | ${{ runner.os }}-hugomod- 33 | 34 | - name: Build 35 | run: hugo --minify 36 | -------------------------------------------------------------------------------- /content/terms/dev-ops.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "DevOps" 3 | date: 2020-10-16T2:30:45-04:00 4 | part-of-speech: noun 5 | synonyms: ["Development Operations"] 6 | --- 7 | 8 | DevOps is the collaboration between operations and development teams within an organization to achieve shorter development cycles and greater product reliability. 9 | It is the idea that in each stage of an application lifecycle each team has a shared responsbility. This is an ongoing cycle that continues even after the application has been released. 10 | 11 | ## Example 12 | 13 | > My IT team and software development team will bridge the gap between roles by working together as one unit to share accountability for each stage of the development 14 | lifecycle. They will work together through collaboration and automation to build, test, and deploy applications at a higher velocity. 15 | 16 | ## Further Reading 17 | - [What is DevOps on Atlassian](https://www.atlassian.com/devops/what-is-devops) 18 | - [What is DevOps on Amazon](https://aws.amazon.com/devops/what-is-devops/) 19 | -------------------------------------------------------------------------------- /layouts/partials/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 23 | 24 | 25 |
26 | 27 | -------------------------------------------------------------------------------- /content/terms/minimum-viable-product.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Minimum Viable Product" 3 | date: 2020-10-03T21:20:37-04:00 4 | part-of-speech: noun 5 | abbreviation: MVP 6 | --- 7 | 8 | When working in web development, you may hear talk of “MVP” — or minimum viable product. 9 | The minimum viable product is the most pared-down version of a product that can be released to market. 10 | 11 | When adopting an MVP approach, developers will first focus on the core features and functions that are absolutely crucial. Then, once the product has been released and user feedback has been gathered, they will continue to build the complete set of features. 12 | 13 | ## Example 14 | 15 | > That was a good MVP, allowed out team to collect the maximum amount of validated learning about customers with the least effort. 16 | 17 | ## Further Reading 18 | The concept of MVP gained popularity after Eric Ries described it in his book the [Lean Startup](http://amzn.to/2tx5lGi). 19 | Here's a [Wikipedia article](https://en.wikipedia.org/wiki/Minimum_viable_product) that discusses it in greater detail. -------------------------------------------------------------------------------- /content/terms/boilerplate.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Boilerplate" 3 | date: 2020-10-03T21:20:27-04:00 4 | part-of-speech: noun 5 | --- 6 | 7 | A boilerplate is a collection of code snippets and assets that can be reused to boost development. 8 | 9 | When building an application, there are some basic global requirements as setting up the compiler, creating the app structure, setting up Redux or Apollo, etc. 10 | Rather than rebuilding these every time, developers use boilerplates. 11 | 12 | ## Example 13 | 14 | > In the 1890s, boilerplate was actually cast or stamped in metal ready for the printing press and distributed to newspapers around the United States. Until the 1950s, thousands of newspapers received and used this kind of boilerplate from the nation's largest supplier, the Western Newspaper Union. Some companies also sent out press releases as boilerplate so that they had to be printed as written. 15 | 16 | ## Further Reading 17 | - Here's a [Wikipedia article](https://easternpeak.com/blog/3-in-1-developer-a-jack-of-all-trades-or-a-unicorn/) that talks about its history and provides a good overview. 18 | 19 | 20 | -------------------------------------------------------------------------------- /content/terms/sass.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "SASS/SCSS" 3 | date: 2020-10-30 4 | part-of-speech: noun 5 | synonyms: ["the indented syntax"] 6 | abbreviation: SASS, SCSS 7 | --- 8 | 9 | SASS or Syntactically Awesome Stylesheets is a preprocessor stylesheet language that’s compiled into CSS. It gives you more power while writing CSS, and includes variables, functions, nesting, mixins, and more. SCSS (Sassy CSS) is another style of SASS. 10 | 11 | ## Example 12 | 13 | > The following example is implementation of SCSS 14 | > 15 | > /* SCSS */ 16 | > .card { 17 | > padding: 2rem 1rem; 18 | > box-shadow: 0 5px 10px #0002;` 19 | > 20 | > &__title {` 21 | > font-size: 1.3rem; 22 | > } 23 | > } 24 | > 25 | > /* Compiled CSS */ 26 | > .card { 27 | > padding: 2rem 1rem; 28 | > box-shadow: 0 5px 10px #0002;` 29 | > } 30 | > 31 | > .card__title { 32 | > font-size: 1.3rem; 33 | > } 34 | 35 | ## Further Reading 36 | - [Sass Documentation](https://sass-lang.com/documentation) 37 | - [Sass Wiki](https://en.wikipedia.org/wiki/Sass_(stylesheet_language)) 38 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 DigitalOcean Community 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /content/terms/data-transfer-object.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Data Transfer Object" 3 | date: 2020-10-31 4 | part-of-speech: noun 5 | synonym: "DTO" 6 | --- 7 | 8 | A data transfer object is a type of design pattern that enables a client to pass data with multiple attributes to the server. An advantage of this is that this reduces the number of calls that the client makes to the server, and thus decreases the computer resources being used and boosts performance. 9 | 10 | ## Example 11 | 12 | > Below is a simple class that holds a user's information, and can act as a data transfer object. 13 | 14 | ```java 15 | public class User { 16 | public final String name; 17 | public final String email; 18 | public final Integer phoneNumber; 19 | public final String country; 20 | 21 | public User(String name, String email, Integer phoneNumber, String country) { 22 | this.name = name; 23 | this.email = email; 24 | this.phoneNumber = phoneNumber; 25 | this.country = country; 26 | } 27 | } 28 | ``` 29 | 30 | ## Further Reading 31 | - [Data Transfer Object design pattern on java-design-patterns repo](https://github.com/iluwatar/java-design-patterns/tree/master/data-transfer-object) 32 | -------------------------------------------------------------------------------- /content/terms/react.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "React" 3 | date: 2020-10-26 4 | part-of-speech: noun 5 | --- 6 | 7 | React.js (or simply React) is an open-source Javascript library for building user interfaces (UI). React enables the creation of module-like pieces of code called Components, which reflect a particular part of the UI and can be reused across several web pages. 8 | 9 | In contrast to the traditional ways of manipulating the DOM through query selectors, React utilizes the virtual DOM - a localized copy of the DOM - to keep the UI and the state (of the changing data) in sync. It uses reconciliation to compare the current copy to the previous one and only update part of the DOM where there are changes. 10 | 11 | React was originally created by Jordan Walke, a software engineer at Facebook. 12 | 13 | ## Example 14 | 15 | > Although React is defined as a JavaScript library, it has several characteristics of a framework. 16 | 17 | ## Further Reading 18 | 19 | - Learn more via [React Documentation](https://reactjs.org/) 20 | - [A single-page app created through React](https://github.com/ahfarmer/calculator) 21 | - [A complete app built with React](https://github.com/builderbook/builderbook) 22 | -------------------------------------------------------------------------------- /content/terms/json.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "JSON (JavaScript Object Notation)" 3 | date: 2020-10-28 4 | part-of-speech: noun 5 | synonyms: ["JSON"] 6 | abbreviation: 7 | --- 8 | 9 | JSON stands for JavaScript Object Notation. JSON is a lightweight format for storing and transporting data. JSON is often used when data is sent from a server to a web page. 10 | 11 | JavaScript Object Notation is an open standard file format, and data interchange format, that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and array data types. 12 | 13 | Since the JSON format is text only, it can easily be sent to and from a server, and used as a data format by any programming language (i.e. JSON is language independent). JSON is "self-describing" and easy to understand. 14 | 15 | ## Example 16 | 17 | > The following example shows a possible JSON representation describing a person. 18 | 19 | ```JSON 20 | { 21 | "firstName": "John", 22 | "lastName": "Smith", 23 | "isAlive": true, 24 | "age": 27, 25 | "address": { 26 | "streetAddress": "21 2nd Street", 27 | "city": "New York", 28 | "state": "NY", 29 | "postalCode": "10021-3100" 30 | }, 31 | "phoneNumbers": [ 32 | { 33 | "type": "home", 34 | "number": "212 555-1234" 35 | }, 36 | { 37 | "type": "office", 38 | "number": "646 555-4567" 39 | } 40 | ], 41 | "children": [], 42 | "spouse": null 43 | } 44 | ``` 45 | 46 | ## Further Reading 47 | 48 | - [JSON on Wikipedia](https://en.wikipedia.org/wiki/JSON) 49 | - [JSON - Introduction](https://www.w3schools.com/js/js_json_intro.asp) 50 | -------------------------------------------------------------------------------- /code_of_conduct.md: -------------------------------------------------------------------------------- 1 | ## Introduction 2 | 3 | We are dedicated to providing a harassment­ free experience for everyone, and we do not tolerate harassment of participants in any form. We ask you to be considerate of others and behave professionally and respectfully to all other participants. We encourage participation from the most varied and diverse backgrounds possible and want to be very clear about where we stand. 4 | 5 | Our goal is to maintain a safe, helpful and friendly Developer Glossary for everyone. 6 | Let's pledge to keep this free from spam, unwanted content and anything derogatory that devalues the entire project. 7 | 8 | ## Expected Behavior 9 | 10 | - Be professional. 11 | - Be responsible. 12 | - Be welcoming. 13 | - Be kind. 14 | - Be friendly. 15 | - Be patient. 16 | - Be helpful. 17 | - Be respectful of other viewpoints and ideas. 18 | - Be supportive and look out for each other. 19 | 20 | ## Unacceptable Behavior 21 | 22 | Harassment may include but not limited to the following: 23 | 24 | - Offensive, inappropriate, or unwanted comments related to gender, gender identity or expression, sexual orientation, disability, physical appearance, body size, race, ethnicity, national origin, religion, or age, or other protected categories under applicable law. 25 | - Disrespect towards differences of opinion 26 | - Discriminatory or derogatory jokes and language. 27 | - Posting sexually explicit or violent material. 28 | - Posting, or threatening to post, people’s personally identifying information (“doxing”). 29 | - Insults, especially those using discriminatory terms or slurs. 30 | - Behavior that could be perceived as sexual attention. 31 | - Advocating for or encouraging any of the above behaviors. -------------------------------------------------------------------------------- /rest.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "REST (Representational State Transfer)" 3 | date: 2020-10-28 4 | part-of-speech: noun 5 | synonyms: ["RESTful"] 6 | abbreviation: REST 7 | --- 8 | 9 | REST (Representational state transfer) is architectural style used for creating distributed hypermedia systems (Web services). It defines following constraints which must be satisfied if an interface needs to be referred as RESTful. 10 | 11 | > 1. Client–server 12 | > 2. Stateless 13 | > 3. Cacheable 14 | > 4. Uniform interface 15 | > 5. Layered system 16 | > 6. Code on demand (optional) 17 | 18 | RESTful Web services allow the requesting systems to access and manipulate textual representations of Web resources by using a uniform and predefined set of stateless operations, in the form of an HTTP method, or verb (GET, POST, PUT, DELETE etc.). By using a stateless protocol and standard operations, RESTful systems aim for fast performance, reliability, and the ability to grow by reusing components. 19 | 20 | Note - REST is an architectural style. There is no "official" standard for RESTful web APIs, REST is not a standard in itself, but RESTful implementations make use of standards, such as HTTP, URI, JSON, and XML. 21 | 22 | 23 | ## Example 24 | 25 | > REST is a way to access resources which lie in a particular environment. For example, you could have a server that could be hosting important documents or pictures or videos. 26 | > 27 | > 28 | > Following are some example of resources access through REST style - 29 | > 30 | > http://server host:port/TutorialService.svc/Tutorial/Tut102 31 | > 32 | > http://Service hosted server URL/employee/101 33 | > 34 | 35 | 36 | ## Further Reading 37 | - [Representational State Transfer (REST) on Wikipedia](https://en.wikipedia.org/wiki/Representational_state_transfer) 38 | - [RESTful Web Services Tutorial with Example](https://www.guru99.com/restful-web-services.html) 39 | -------------------------------------------------------------------------------- /content/terms/agile-software-development.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Agile Software Development" 3 | date: 2020-10-09T17:15:00-06:00 4 | part-of-speech: noun 5 | synonyms: ["Agile", "Agile Programming"] 6 | --- 7 | 8 | Agile Software Development, or Agile for short, is one of many popular software development methodologies in practice today. Agile encourages flexible planning, early delivery, and continual development within a team and product. Agile is an encompassing term that includes other methodologies such as Scrum and Kanban which also promote Agile values. 9 | 10 | Key to Agile Software Development is the _Agile Manifesto_. This manifesto, crafted by seventeen software developers in 2001, outline Agile values and principles, as shown below: 11 | 12 | > We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: 13 | > 14 | > **Individuals and interactions** over processes and tools 15 | > **Working software** over comprehensive documentation 16 | > **Customer collaboration** over contract negotiation 17 | > **Responding to change** over following a plan 18 | > 19 | > That is, while there is value in the items on the right, we value the items on the left more. 20 | 21 | Agile Software Development is directly opposed to traditional _Waterfall_ development. Whereas Agile is run incrementally and iteratively, Waterfall is sequential in its approach: Requirements are first gathered, then a design is formed, development occurs, then shipping the application. At no point is a step revisted, even if a client is unhappy with the final product. For teams that use an Agile framework, a step is iterated on at any point during the development process, ensuring the client has feeback and recieves value. 22 | 23 | ## Example 24 | 25 | > My team uses Agile Software Development to quickly iterate on our product, providing quick and meaningful value to our customer. 26 | 27 | ## Further Reading 28 | 29 | - [What is Agile?](https://www.atlassian.com/agile) 30 | - [Agile Manifesto](https://agilemanifesto.org/) 31 | - [Scrum](https://www.atlassian.com/agile/scrum) 32 | - [Kanban](https://www.atlassian.com/agile/kanban) 33 | -------------------------------------------------------------------------------- /static/main.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #072540; 3 | color: #ffffff; 4 | } 5 | 6 | main { 7 | max-width: 55em; 8 | margin-left: auto; 9 | margin-right: auto; 10 | } 11 | 12 | .term { 13 | margin-top: 4em; 14 | } 15 | 16 | .character-section ~ .character-section { 17 | margin-top: 8em; 18 | } 19 | 20 | p { 21 | margin-bottom: 2em; 22 | } 23 | 24 | h1, 25 | .h1, 26 | h2, 27 | .h2, 28 | h3, 29 | .h3, 30 | h4, 31 | .h4 { 32 | margin-bottom: 1em; 33 | } 34 | 35 | h2, 36 | .h2 { 37 | color: #93c2db; 38 | } 39 | 40 | h4, 41 | .h4 { 42 | color: #93c2db; 43 | } 44 | 45 | a { 46 | color: #ff8ae2; 47 | text-decoration: underline; 48 | } 49 | 50 | h1 a, 51 | h2 a, 52 | h3 a, 53 | h4 a, 54 | h5 a, 55 | .h1 a, 56 | .h2 a, 57 | .h3 a, 58 | .h4 a, 59 | .h5 a { 60 | text-decoration: none; 61 | } 62 | 63 | hr { 64 | border-style: dashed; 65 | border-color: #ffffff; 66 | } 67 | 68 | .toggle { 69 | margin: auto; 70 | padding: 0.5em 0.7em; 71 | background-color: #ffffff; 72 | color: #031b4e; 73 | border-radius: 25px; 74 | } 75 | 76 | .light { 77 | background-color: #ffffff; 78 | color: #031b4e; 79 | } 80 | 81 | .light header.jumbotron { 82 | background-color: inherit; 83 | } 84 | 85 | .light h4 { 86 | color: #7ea1b3; 87 | } 88 | 89 | .a-light { 90 | color: #9c4668; 91 | } 92 | 93 | .h2-light { 94 | color: #5b6987; 95 | } 96 | 97 | .hr-light { 98 | border-color: #5b6987; 99 | } 100 | 101 | .toggle-light { 102 | color: #ffffff; 103 | background-color: #072540; 104 | } 105 | 106 | .definition { 107 | padding-left: 0; 108 | } 109 | 110 | .definition > ul { 111 | padding-left: 1.5em; 112 | } 113 | 114 | .definition > ul > li { 115 | padding-left: 0.25em; 116 | } 117 | 118 | b, 119 | strong { 120 | font-weight: bolder; 121 | font-size: 1.05em; 122 | } 123 | 124 | .hightlight { 125 | width: 100%; 126 | } 127 | 128 | #page-header { 129 | margin: 3em 0; 130 | padding-bottom: 4em; 131 | background-color: inherit; 132 | text-align: center; 133 | } 134 | 135 | #page-header > h1 { 136 | font-size: em; 137 | margin-bottom: 0.5em; 138 | } 139 | 140 | #page-header > .jumbotron { 141 | background-color: inherit; 142 | } 143 | 144 | 145 | a:hover{ 146 | color: #ff6ada; 147 | } 148 | -------------------------------------------------------------------------------- /static/toggle.js: -------------------------------------------------------------------------------- 1 | const lighterize = ({ links, headers, lines, body, toggler }) => { 2 | body.classList.add("light"); 3 | toggler.classList.add("toggle-light"); 4 | [...links].forEach(({ classList }) => classList.add("a-light")); 5 | [...headers].forEach(({ classList }) => classList.add("h2-light")); 6 | [...lines].forEach(({ classList }) => classList.add("hr-light")); 7 | }; 8 | 9 | const darkerize = ({ links, headers, lines, body, toggler }) => { 10 | body.classList.remove("light"); 11 | toggler.classList.remove("toggle-light"); 12 | [...links].forEach(({ classList }) => classList.remove("a-light")); 13 | [...headers].forEach(({ classList }) => classList.remove("h2-light")); 14 | [...lines].forEach(({ classList }) => classList.remove("hr-light")); 15 | }; 16 | 17 | const toggle = (elements) => { 18 | if (isDark()) { 19 | localStorage.setItem("theme", "light"); 20 | lighterize(elements); 21 | return; 22 | } 23 | if (isLight()) { 24 | localStorage.setItem("theme", "dark"); 25 | darkerize(elements); 26 | return; 27 | } 28 | }; 29 | 30 | const isDark = () => localStorage.getItem("theme") === "dark"; 31 | const isLight = () => localStorage.getItem("theme") === "light"; 32 | 33 | const fixMarkup = () => { 34 | const articleHeaders = document.querySelectorAll('.term > h3'); 35 | articleHeaders.forEach((articleHeader) => { 36 | articleHeader.id = getHeaderId(articleHeader.textContent); 37 | }); 38 | 39 | const examples = document.querySelectorAll('#example'); 40 | const furtherReadings = document.querySelectorAll('#further-reading'); 41 | [...examples, ...furtherReadings].forEach((element) => { 42 | const term = element.closest('.term'); 43 | const header = term.querySelector('h3'); 44 | 45 | const outerHTML = element.outerHTML; 46 | element.outerHTML = outerHTML.replace(/h2/g, 'h4'); 47 | element.id = `${header.id}-${element.id}`; 48 | 49 | // sets class to example / further-reading 50 | element.classList.add(element.id); 51 | }); 52 | } 53 | 54 | const getHeaderId = (textContent) => { 55 | return textContent. 56 | trim() 57 | .toLowerCase() 58 | .replace(/[^a-zA-Z0-9:]/g, '-'); 59 | }; 60 | 61 | window.onload = () => { 62 | const elements = { 63 | body: document.getElementsByTagName("body")[0], 64 | links: document.getElementsByTagName("a"), 65 | headers: document.getElementsByTagName("h2"), 66 | toggler: document.getElementsByClassName("toggle")[0], 67 | lines: document.getElementsByTagName("hr"), 68 | }; 69 | 70 | const toggleButton = document.getElementById("toggler"); 71 | toggleButton.onclick = () => toggle(elements); 72 | 73 | // If the theme is not light or dark, set it to dark by default 74 | if (!['light', 'dark'].includes(localStorage.getItem('theme'))) { 75 | localStorage.setItem('theme', 'dark'); 76 | } 77 | 78 | if (isDark()) { 79 | darkerize(elements); 80 | } 81 | 82 | if (isLight()) { 83 | lighterize(elements); 84 | } 85 | 86 | fixMarkup(); 87 | }; 88 | -------------------------------------------------------------------------------- /layouts/terms/single.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 13 | 16 | 19 | 20 | 21 | 22 | {{ .Site.Title }} 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | {{ partial "header.html" . }} 49 | 50 |
51 |
52 |

{{ .Title }}

53 | 54 | {{ .Content }} 55 | 56 | {{ if isset .Params "synonyms" }} 57 |

Synonyms

58 |
    59 |
  • {{ delimit .Params.synonyms ", " ", and " }}
  • 60 |
61 | {{ end }} 62 | 63 | {{ if isset .Params "abbreviation" }} 64 |

Abbreviation

65 |
    66 |
  • {{ .Params.abbreviation }}
  • 67 |
68 | {{ end }} 69 |
70 | 71 | 72 |
73 | 74 | {{ partial "footer.html" . }} 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Guidance on how to contribute 2 | 3 | > All contributions to this project will be released under the CC0 public domain 4 | > dedication. By submitting a pull request or filing a bug, issue, or 5 | > feature request, you are agreeing to comply with this waiver of copyright interest. 6 | > Details can be found in our [LICENSE](LICENSE). 7 | 8 | 9 | There are two primary ways to help: 10 | - Contribute a new term and definition 11 | - Changing the code-base. 12 | 13 | 14 | ## Contribute a new term and definition 15 | 16 | New terms should be added to the `content/terms` directory as new markdown files, where 17 | the name of the markdown file is the term, lowercased and hyphenated. 18 | 19 | Follow this template for the structure of your new definition: 20 | 21 | TEMPLATE: 22 | ```markdown 23 | --- 24 | title: "" 25 | date: 2020-10-02T21:23:17-04:00 26 | part-of-speech: 27 | synonyms: [""] 28 | abbreviation: 29 | --- 30 | 31 | Write out a definition of the term in markdown here. 32 | 33 | ## Example 34 | 35 | > Use your definition in a sentence. 36 | 37 | ## Further Reading 38 | - [Link Title](https://www.link.com) 39 | ``` 40 | 41 | For example, for the term `Command-Line Interface` the file might be: 42 | 43 | ```markdown 44 | --- 45 | title: "Command-Line Interface" 46 | date: 2020-10-02T21:23:17-04:00 47 | part-of-speech: noun 48 | synonyms: ["Command Line"] 49 | abbreviation: CLI 50 | --- 51 | 52 | Refers to the text-input interface commonly used by developers to interact with computers and the services or processes running on them. A command-line interface accepts text input (commands) which execute processes and typically result in text output. 53 | 54 | ## Example 55 | 56 | > System administrators use the command-line interface to SSH into virtual machines running in datacenters. 57 | 58 | ## Further Reading 59 | - [Command-Line Interface on Wikipedia](https://en.wikipedia.org/wiki/Command-line_interface) 60 | ``` 61 | 62 | If you see that the glossary is missing a term, we would love your help in adding it! 63 | 64 | Here are the steps you need to take to contribute a term: 65 | 66 | ### How to Make a PR from the GitHub web interface 67 | 68 | Go to [content/terms] and click the "Add File" button in the GitHub interface. 69 | 70 | Name the file `.md` for example if you were adding a definition for `Command-Line Interface` you would name the file `command-line-interface.md`. 71 | 72 | 73 | Below the file, fill out the "Propose new file" inputs with information about the term you are adding. 74 | 75 | Your title might be "Add definition for Command-Line Interface" and your extended description might be: "I didn't see this term defined so I added it, I linked to the wikipedia page because it is a pretty good overview of the concept." 76 | 77 | Just share a bit about your reasoning for adding the content. Then click "Propose new file" to create a Pull Request. 78 | 79 | Someone will follow up with questions on your PR if there is anything wrong or unclear, and then they'll approve it and merge it and it will go live on the site! 80 | 81 | ## Changing the code-base 82 | 83 | We'd love improvements to the codebase! 84 | 85 | Generally speaking, you should fork this repository, make changes in your 86 | own fork, and then submit a pull request. The code should follow any 87 | stylistic and architectural guidelines prescribed by the project. In the 88 | absence of such guidelines, mimic the styles and patterns in the existing 89 | code-base. 90 | 91 | ## Syncing a forked repo 92 | Sync a fork of a repository to keep it up-to-date with the upstream repository. 93 | ```bash 94 | git remote add upstream https://github.com/do-community/developer-glossary.git 95 | git fetch upstream 96 | git checkout main 97 | git merge upstream/main 98 | ``` 99 | -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 13 | 16 | 19 | 20 | 21 | 22 | {{ .Site.Title }} 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | {{ partial "header.html" . }} 48 |
49 | 50 | {{ .Content }} 51 | 52 | {{ $letters := split "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "" }} 53 | 54 | 55 | {{ range $index, $page := where .Site.RegularPages.ByTitle "Section" "==" "terms" }} 56 | 57 | {{ $firstChar := substr .Title 0 1 | upper }} 58 | 59 | 60 | {{ if $firstChar | in $letters }} 61 | 62 | {{ $curLetter := $.Scratch.Get "curLetter" }} 63 | 64 | {{ if ne $firstChar $curLetter }} 65 | 66 | {{ $.Scratch.Set "curLetter" $firstChar }} 67 | 68 |
69 |

{{ $firstChar }}

70 |
71 | {{ end }} 72 | 73 | 83 |
84 | 85 | {{ end }} 86 | {{ end }} 87 | 88 |
89 | 90 | 91 | 92 | {{ partial "footer.html" . }} 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |

3 | 4 |

5 |
6 |

7 | 8 |

9 |
10 | 11 | A community-built glossary of technical terms.
12 | See it live at [www.glossary.dev](https://www.glossary.dev).
13 | Kindly refer to our Code Of Conduct [here](https://github.com/do-community/developer-glossary/blob/main/code_of_conduct.md) before contributing. 14 | 15 |
16 |
17 | 18 | ## General Contributions 19 | If you see that the glossary is missing a term, we would love your help in adding it! 20 | 21 |
22 | 23 | ### How to Contribute Terms 24 | 25 | New terms should be added to the `content/terms` directory as new markdown files, where 26 | the name of the markdown file is the term, **lowercased and hyphenated.** So a definition for "Command-Line Interface" would go in a file named `command-line-interface.md`. Examples should include the terms in a sentence, and be relevant and appropriate. 27 | 28 |
29 | 30 | Follow this template for the structure of your new definition: 31 | 32 | TEMPLATE: 33 | ```markdown 34 | --- 35 | title: "" 36 | date: 2020-10-02 37 | part-of-speech: 38 | synonyms: [""] 39 | abbreviation: 40 | --- 41 | 42 | Write out a definition of the term in markdown here. 43 | 44 | ## Example 45 | 46 | > Use your definition in a sentence. 47 | 48 | ## Further Reading 49 | - [Link Title](https://www.link.com) 50 | ``` 51 | 52 |
53 | 54 | 55 | For example, for the term `Command-Line Interface` the file path would be `content/terms/command-line-interface.md` and the contents might be: 56 | 57 | ```markdown 58 | --- 59 | title: "Command-Line Interface" 60 | date: 2020-10-02 61 | part-of-speech: noun 62 | synonyms: ["Command Line"] 63 | abbreviation: CLI 64 | --- 65 | 66 | Refers to the text-input interface commonly used by developers to interact with computers and the services or processes running on them. A command-line interface accepts text input (commands) which execute processes and typically result in text output. 67 | 68 | ## Example 69 | 70 | > System administrators use the command-line interface to SSH into virtual machines running in datacenters. 71 | 72 | ## Further Reading 73 | - [Command-Line Interface on Wikipedia](https://en.wikipedia.org/wiki/Command-line_interface) 74 | ``` 75 | 76 |
77 | 78 | ### How to Submit a PR from Github Desktop 79 | 80 | Go to [content/terms](https://github.com/do-community/developer-glossary/tree/main/content/terms) and click the "Add File" button in the GitHub interface. 81 | 82 | Name the file `.md` for example if you were adding a definition for `Command-Line Interface` you would name the file `command-line-interface.md`. 83 | 84 | 85 | Below the file, fill out the "Propose new file" inputs with information about the term you are adding. 86 | 87 | Your title might be "Add definition for Command-Line Interface" and your extended description might be: "I didn't see this term defined so I added it, I linked to the wikipedia page because it is a pretty good overview of the concept." 88 | 89 | Just share a bit about your reasoning for adding the content. Then click "Propose new file" to create a Pull Request. 90 | 91 | Someone will follow up with questions on your PR if there is anything wrong or unclear, and then they'll approve it and merge it and it will go live on the site! 92 | 93 |
94 |
95 |
96 | 97 | ## Contributing Code Improvements 98 | 99 | We'd also love code contributions that beautify the site, make it more accessible and usable, and help it follow good web standards. 100 | 101 |
102 | 103 | ### Local Development and Installation 104 | 105 | The site is statically generated using the [hugo](https://gohugo.io/) framework. To run it locally follow these steps: 106 | 107 | 1. Fork the repo and clone it down to your local machine 108 | 2. [Install hugo](https://gohugo.io/getting-started/installing#readout) if you don't already have it installed. 109 | 3. Open a terminal in the root directory of the developer-glossary project and run `hugo server -D` 110 | 4. Check that no errors appear in the terminal, it should tell you it is running on localhost:1313. That means you can view the site running locally by going to [http://localhost:1313](http://localhost:1313) in your browser. 111 | 112 | You're off to the races! Reference [hugo docs](https://gohugo.io/about/) to learn more and start making code contributions. 113 | 114 |
115 |
116 |
117 | 118 | ## Syncing a Forked Repo 119 | Sync a fork of a repository to keep it up-to-date with the upstream repository. 120 | ```bash 121 | git remote add upstream https://github.com/do-community/developer-glossary.git 122 | git fetch upstream 123 | git checkout main 124 | git merge upstream/main 125 | ``` 126 | 127 |
128 |
129 |
130 | 131 | ## Language Use Guidelines 132 | 133 | All contributions made towards adding a new term and its definition must adhere to these common guidelines: 134 | 135 | 1. Every contribution made should adhere to the [Code of Conduct](https://github.com/do-community/developer-glossary/blob/main/code_of_conduct.md) 136 | 2. Avoid usage of country specific language when adding a new term, in the term definition and for the examples provided. 137 | 3. [Use simple language](https://plainlanguage.gov/resources/articles/dash-writing-tips/). Avoid idioms and be clear. 138 | 4. Be accurate when providing definitions and examples for a term. 139 | 5. We also adhere to the official [Github Community Guidelines](https://docs.github.com/en/free-pro-team@latest/github/site-policy/github-community-guidelines) which provides additional information on how to collaborate and contribute to projects hosted on Github. 140 | 141 |
142 |
143 |
144 | 145 | ## Project Updates 146 | 147 | You can follow updates on the development of our glossary, here. 148 | 149 | - 10-30-20: 150 | - Added 3+ more terms to the glossary, and an action that performs a test to ensure the site build passes with each PR. 151 | - PRs are open for more terms! Let's build a glossary that helps our community to thrive. 152 | 153 | - 10-28-20: 154 | - [Issue](https://github.com/do-community/developer-glossary/issues/72) being worked on by two contributors- still open to more help! 155 | - Merged 3+ new terms and glossary improvements. Remember to name your file using the **lowercase and hyphenated** convention. 156 | - Updated README to add more whitespace/styling elements. 157 | 158 | - 10-26-20: 159 | - New [Issue](https://github.com/do-community/developer-glossary/issues/72) added for UI help- update our glossary's UI! 160 | - Merged 15+ new terms into the glossary, and fixed issue in file that prevented Hugo site from running. 161 | - Reviewed new and submitted terms for style/content, and submitted edits for various terms. Please follow the guidelines and be sure your terms/examples/links are helpful and appropriate. 162 | 163 | - 10-19-20: 164 | - Merged 10+ new terms into the glossary 165 | --------------------------------------------------------------------------------