➡️ Ionic ⬅️
Ionic is a complete open-source SDK for hybrid mobile app development created by Drifty Co. in 2013.
The original version was built on top of AngularJS and Apache Cordova. However, The latest release was re-built as a set of Web Components, allowing the user to choose any user interface framework, such as Angular, React or Vue.js.
It also allows the use of Ionic components with no user interface framework at all.
https://ionicframework.com/
#ProgrammerPlus
Ionic is a complete open-source SDK for hybrid mobile app development created by Drifty Co. in 2013.
The original version was built on top of AngularJS and Apache Cordova. However, The latest release was re-built as a set of Web Components, allowing the user to choose any user interface framework, such as Angular, React or Vue.js.
It also allows the use of Ionic components with no user interface framework at all.
https://ionicframework.com/
#ProgrammerPlus
Ionic Framework
Ionic Framework - The Cross-Platform App Development Leader
Ionic empowers web developers to build leading cross-platform mobile apps and Progressive Web Apps (PWAs)
⭕️ Compiler ⭕️
A compiler is a computer program that translates computer code written in one programming language (the source language) into another programming language (the target language).
The name is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language, object code, or machine code) to create an executable program.
#ProgrammerPlus
A compiler is a computer program that translates computer code written in one programming language (the source language) into another programming language (the target language).
The name is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language, object code, or machine code) to create an executable program.
#ProgrammerPlus
➡️ Turing Test ⬅️
Turing test, developed by Alan Turing in 1950, is a test of a machine's ability to exhibit intelligent behaviour equivalent to, or indistinguishable from, that of a human.
Turing proposed that a human evaluator would judge natural language conversations between a human and a machine designed to generate human-like responses.
The evaluator would be aware that one of the two partners in conversation is a machine, and all participants would be separated from one another
The conversation would be limited to a text-only channel such as a computer keyboard and screen so the result would not depend on the machine's ability to render words as speech.
If the evaluator cannot reliably tell the machine from the human, the machine is said to have passed the test.
#ProgrammerPlus
Turing test, developed by Alan Turing in 1950, is a test of a machine's ability to exhibit intelligent behaviour equivalent to, or indistinguishable from, that of a human.
Turing proposed that a human evaluator would judge natural language conversations between a human and a machine designed to generate human-like responses.
The evaluator would be aware that one of the two partners in conversation is a machine, and all participants would be separated from one another
The conversation would be limited to a text-only channel such as a computer keyboard and screen so the result would not depend on the machine's ability to render words as speech.
If the evaluator cannot reliably tell the machine from the human, the machine is said to have passed the test.
#ProgrammerPlus
🛑 Disjoint-Set Data Structure 🛑
A disjoint-set data structure (also called a union–find data structure or merge–find set) is a data structure that tracks a set of elements partitioned into a number of disjoint (non-overlapping) subsets.
It provides near-constant-time operations to add new sets, to merge existing sets, and to determine whether elements are in the same set.
In addition to many other uses, disjoint-sets play a key role in Kruskal's algorithm for finding the minimum spanning tree of a graph.
#ProgrammerPlus
A disjoint-set data structure (also called a union–find data structure or merge–find set) is a data structure that tracks a set of elements partitioned into a number of disjoint (non-overlapping) subsets.
It provides near-constant-time operations to add new sets, to merge existing sets, and to determine whether elements are in the same set.
In addition to many other uses, disjoint-sets play a key role in Kruskal's algorithm for finding the minimum spanning tree of a graph.
#ProgrammerPlus
⭕️ PWA ⭕️
Progressive web applications (PWAs) are a type of mobile app delivered through the web, built using common web technologies including HTML, CSS and JavaScript.
They are intended to work on any platform that uses a standards-compliant browser. Functionality includes working offline, push notifications, and device hardware access, enabling creating user experiences similar to native applications on mobile devices.
Since they are a type of webpage or website known as a web application, there is no requirement for developers or users to install the web apps via digital distribution systems like Apple App Store or Google Play.
#ProgrammerPlus
Progressive web applications (PWAs) are a type of mobile app delivered through the web, built using common web technologies including HTML, CSS and JavaScript.
They are intended to work on any platform that uses a standards-compliant browser. Functionality includes working offline, push notifications, and device hardware access, enabling creating user experiences similar to native applications on mobile devices.
Since they are a type of webpage or website known as a web application, there is no requirement for developers or users to install the web apps via digital distribution systems like Apple App Store or Google Play.
#ProgrammerPlus
🔻 BST 🔺
Binary Search Tree (sometimes called ordered or sorted binary trees) is a particular type of container: a data structure that stores "items" (such as numbers, names etc.) in memory.
It allows fast lookup, addition and removal of items, and can be used to implement either dynamic sets of items, or lookup tables that allow finding an item by its key (e.g., finding the phone number of a person by name).
Each node in BST must be greater than or equal to any key stored in the left sub-tree, and less than or equal to any key stored in the right sub-tree.
#ProgrammerPlus
Binary Search Tree (sometimes called ordered or sorted binary trees) is a particular type of container: a data structure that stores "items" (such as numbers, names etc.) in memory.
It allows fast lookup, addition and removal of items, and can be used to implement either dynamic sets of items, or lookup tables that allow finding an item by its key (e.g., finding the phone number of a person by name).
Each node in BST must be greater than or equal to any key stored in the left sub-tree, and less than or equal to any key stored in the right sub-tree.
#ProgrammerPlus
🔴 Computer Science VS Software Engineering 🔴
Computer Science is the study of how computers work, mostly from the theoretical and mathematical perspective.
You should choose Computer Science if you like math, logic, or if you want to get into a specialized field in CS such as artificial intelligence, machine learning, security, or graphics.
Software Engineering is the study of how software systems are built, including topics such as project management, quality assurance, and software testing.
You should choose Software Engineering if you are more interested in the hands-on approach, and if you want to learn the overall life cycle of how software is built and maintained.
Both Computer Science and Software Engineering teach fundamentals of programming and computer science, so you can choose either one to become a software developer.
#ProgrammerPlus
Computer Science is the study of how computers work, mostly from the theoretical and mathematical perspective.
You should choose Computer Science if you like math, logic, or if you want to get into a specialized field in CS such as artificial intelligence, machine learning, security, or graphics.
Software Engineering is the study of how software systems are built, including topics such as project management, quality assurance, and software testing.
You should choose Software Engineering if you are more interested in the hands-on approach, and if you want to learn the overall life cycle of how software is built and maintained.
Both Computer Science and Software Engineering teach fundamentals of programming and computer science, so you can choose either one to become a software developer.
#ProgrammerPlus
➡️ Cryptography ⬅️
Cryptography or cryptology is the practice and study of techniques for secure communication in the presence of third parties called adversaries.
More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages.
Cryptography prior to the modern age was effectively synonymous with encryption, the conversion of information from a readable state to apparent nonsense.
Modern cryptography is heavily based on mathematical theory and computer science practice.
#ProgrammerPlus
Cryptography or cryptology is the practice and study of techniques for secure communication in the presence of third parties called adversaries.
More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages.
Cryptography prior to the modern age was effectively synonymous with encryption, the conversion of information from a readable state to apparent nonsense.
Modern cryptography is heavily based on mathematical theory and computer science practice.
#ProgrammerPlus
⭕️ Computer Architecture ⭕️
Computer Architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer systems.
Some definitions of architecture define it as describing the capabilities and programming model of a computer but not a particular implementation
In other definitions computer architecture involves instruction set architecture design, microarchitecture design, logic design, and implementation.
#ProgrammerPlus
Computer Architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer systems.
Some definitions of architecture define it as describing the capabilities and programming model of a computer but not a particular implementation
In other definitions computer architecture involves instruction set architecture design, microarchitecture design, logic design, and implementation.
#ProgrammerPlus
🔴 Cross-Platform Software 🔴
Cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms.
Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.
#ProgrammerPlus
Cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms.
Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.
#ProgrammerPlus
🔻 Doubly Linked List 🔺
A doubly linked list is a linked data structure that consists of a set of sequentially linked records called nodes.
Each node contains three fields: two link fields (references to the previous and to the next node in the sequence of nodes) and one data field
The beginning and ending nodes' previous and next links, respectively, point to some kind of terminator, typically a sentinel node or null, to facilitate traversal of the list.
#ProgrammerPlus
A doubly linked list is a linked data structure that consists of a set of sequentially linked records called nodes.
Each node contains three fields: two link fields (references to the previous and to the next node in the sequence of nodes) and one data field
The beginning and ending nodes' previous and next links, respectively, point to some kind of terminator, typically a sentinel node or null, to facilitate traversal of the list.
#ProgrammerPlus
➡️ NodeJS ⬅️
NodeJS is an open source server environment that uses JavaScript on the server.
Node is free and runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.)
Node files contain tasks that will be executed on certain events. A typical event is someone trying to access a port on the server. Files must be initiated on the server before having any effect and they have extension ".js".
https://nodejs.org
#ProgrammerPlus
NodeJS is an open source server environment that uses JavaScript on the server.
Node is free and runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.)
Node files contain tasks that will be executed on certain events. A typical event is someone trying to access a port on the server. Files must be initiated on the server before having any effect and they have extension ".js".
https://nodejs.org
#ProgrammerPlus
nodejs.org
Node.js — Run JavaScript Everywhere
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
🔴 Phishing 🔴
Phishing is the fraudulent attempt to obtain sensitive information such as usernames, passwords and credit card details by disguising oneself as a trustworthy entity in an electronic communication.
Typically carried out by email spoofing or instant messaging, it often directs users to enter personal information at a fake website which matches the look and feel of the legitimate site.
Phishing is an example of social engineering techniques being used to deceive users. Users are often lured by communications purporting to be from trusted parties such as social web sites, auction sites, banks, online payment processors or IT administrators.
#ProgrammerPlus
Phishing is the fraudulent attempt to obtain sensitive information such as usernames, passwords and credit card details by disguising oneself as a trustworthy entity in an electronic communication.
Typically carried out by email spoofing or instant messaging, it often directs users to enter personal information at a fake website which matches the look and feel of the legitimate site.
Phishing is an example of social engineering techniques being used to deceive users. Users are often lured by communications purporting to be from trusted parties such as social web sites, auction sites, banks, online payment processors or IT administrators.
#ProgrammerPlus
🔼 NoSQL 🔽
A NoSQL (originally referring to "non SQL" or "non relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases.
Such databases have existed since the late 1960s, but did not obtain the "NoSQL" moniker until a surge of popularity in the early 21st century, triggered by the needs of Web 2.0 companies.
NoSQL databases are increasingly used in big data and real-time web applications.
NoSQL systems are also sometimes called "Not only SQL" to emphasize that they may support SQL-like query languages, or sit alongside SQL databases in polyglot persistent architectures.
#ProgrammerPlus
A NoSQL (originally referring to "non SQL" or "non relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases.
Such databases have existed since the late 1960s, but did not obtain the "NoSQL" moniker until a surge of popularity in the early 21st century, triggered by the needs of Web 2.0 companies.
NoSQL databases are increasingly used in big data and real-time web applications.
NoSQL systems are also sometimes called "Not only SQL" to emphasize that they may support SQL-like query languages, or sit alongside SQL databases in polyglot persistent architectures.
#ProgrammerPlus
⭕️ Algorithm ⭕️
In mathematics and computer science, an algorithm is a set of instructions, typically to solve a class of problems or perform a computation.
Algorithms are unambiguous specifications for performing calculation, data processing, automated reasoning, and other tasks.
As an effective method, an algorithm can be expressed within a finite amount of space and time.
The word algorithm itself is derived from the 9th-century Persian mathematician Mohammad Kharazmi, Arabized as al-Khwarizmi with al- and formerly Latinized as Algorithmi.
#ProgrammerPlus
In mathematics and computer science, an algorithm is a set of instructions, typically to solve a class of problems or perform a computation.
Algorithms are unambiguous specifications for performing calculation, data processing, automated reasoning, and other tasks.
As an effective method, an algorithm can be expressed within a finite amount of space and time.
The word algorithm itself is derived from the 9th-century Persian mathematician Mohammad Kharazmi, Arabized as al-Khwarizmi with al- and formerly Latinized as Algorithmi.
#ProgrammerPlus
🔴 XML 🔴
Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.
The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.
The design goals of XML emphasize simplicity, generality, and usability across the Internet. It is a textual data format with strong support via Unicode for different human languages.
#ProgrammerPlus
Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.
The World Wide Web Consortium's XML 1.0 Specification of 1998 and several other related specifications—all of them free open standards—define XML.
The design goals of XML emphasize simplicity, generality, and usability across the Internet. It is a textual data format with strong support via Unicode for different human languages.
#ProgrammerPlus
➡️ SQL Injection ⬅️
SQL injection is a code injection technique, used to attack data-driven applications, in which malicious SQL statements are inserted into an entry field for execution.
SQL injection must exploit a security vulnerability in an application's software, for example, when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or 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.
#ProgrammerPlus
SQL injection is a code injection technique, used to attack data-driven applications, in which malicious SQL statements are inserted into an entry field for execution.
SQL injection must exploit a security vulnerability in an application's software, for example, when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or 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.
#ProgrammerPlus
🔺 Text Mining 🔻
Text mining is the process of deriving high-quality information from text.
High-quality information is typically derived through the devising of patterns and trends through means such as statistical pattern learning.
Text mining usually involves the process of structuring the input text, deriving patterns within the structured data, and finally evaluation and interpretation of the output.
#ProgrammerPlus
Text mining is the process of deriving high-quality information from text.
High-quality information is typically derived through the devising of patterns and trends through means such as statistical pattern learning.
Text mining usually involves the process of structuring the input text, deriving patterns within the structured data, and finally evaluation and interpretation of the output.
#ProgrammerPlus
▶ Automata Theory ◀
Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them.
Automata theory is closely related to formal language theory. An automaton is a finite representation of a formal language that may be an infinite set.
Automata are often classified by the class of formal languages they can recognize, typically illustrated by the Chomsky hierarchy, which describes the relations between various languages and kinds of formalized logic.
#ProgrammerPlus
Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them.
Automata theory is closely related to formal language theory. An automaton is a finite representation of a formal language that may be an infinite set.
Automata are often classified by the class of formal languages they can recognize, typically illustrated by the Chomsky hierarchy, which describes the relations between various languages and kinds of formalized logic.
#ProgrammerPlus
◽ MongoDB ◽
MongoDB is a cross-platform document-oriented database program.
Classified as a NoSQL database program, MongoDB uses JSON-like documents with a schema.
MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).
https://www.mongodb.com
#ProgrammerPlus
MongoDB is a cross-platform document-oriented database program.
Classified as a NoSQL database program, MongoDB uses JSON-like documents with a schema.
MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).
https://www.mongodb.com
#ProgrammerPlus
MongoDB
MongoDB: The World’s Leading Modern Data Platform
Get your ideas to market faster with a flexible, AI-ready database. MongoDB makes working with data easy.
◾ DRY Principle ◾
Don't Repeat Yourself is a principle of software development aimed at reducing repetition of software patterns, replacing it with abstractions or using data normalization to avoid redundancy.
When the DRY principle is applied successfully, a modification of any single element of a system does not require a change in other logically unrelated elements.
#ProgrammerPlus
Don't Repeat Yourself is a principle of software development aimed at reducing repetition of software patterns, replacing it with abstractions or using data normalization to avoid redundancy.
When the DRY principle is applied successfully, a modification of any single element of a system does not require a change in other logically unrelated elements.
#ProgrammerPlus