📍 Kubernetes 📍
Kubernetes is an open-source container-orchestration system for automating application deployment, scaling, and management.
It was originally designed by Google, and is now maintained by the Cloud Native Computing Foundation.
It aims to provide a "platform for automating deployment, scaling, and operations of application containers across clusters of hosts".
It works with a range of container tools, including Docker. Many cloud services offer a Kubernetes-based platform or infrastructure as a service (PaaS or IaaS) on which Kubernetes can be deployed as a platform-providing service.
Many vendors also provide their own branded Kubernetes distributions.
https://kubernetes.io
#ProgrammerPlus
Kubernetes is an open-source container-orchestration system for automating application deployment, scaling, and management.
It was originally designed by Google, and is now maintained by the Cloud Native Computing Foundation.
It aims to provide a "platform for automating deployment, scaling, and operations of application containers across clusters of hosts".
It works with a range of container tools, including Docker. Many cloud services offer a Kubernetes-based platform or infrastructure as a service (PaaS or IaaS) on which Kubernetes can be deployed as a platform-providing service.
Many vendors also provide their own branded Kubernetes distributions.
https://kubernetes.io
#ProgrammerPlus
Kubernetes
Production-Grade Container Orchestration
Kubernetes, also known as K8s, is an open source system for automating deployment, scaling, and management of containerized applications.
It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds…
It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds…
⭕️ Best Hybrid App Development Frameworks ⭕️
https://flutter.dev
https://facebook.github.io/react-native
https://ionicframework.com
https://phonegap.com
https://visualstudio.microsoft.com/xamarin
#ProgrammerPlus
https://flutter.dev
https://facebook.github.io/react-native
https://ionicframework.com
https://phonegap.com
https://visualstudio.microsoft.com/xamarin
#ProgrammerPlus
flutter.dev
Flutter - Build apps for any screen
Flutter transforms the entire app development process. Build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase.
🔴 The Billion Dollar Mistake 🔴
"I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years."
- Tony Hoare
#ProgrammerPlus
"I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years."
- Tony Hoare
#ProgrammerPlus
🔼 Heroku 🔽
Heroku is a cloud platform as a service (PaaS) supporting several programming languages.
Heroku, one of the first cloud platforms, has been in development since June 2007, when it supported only the Ruby programming language, but now supports Java, Node.js, Scala, Clojure, Python, PHP, and Go.
For this reason, Heroku is said to be a polyglot platform as it has features for a developer to build, run and scale applications in a similar manner across most languages.
Heroku was acquired by Salesforce in 2010 for $212 million.
#ProgrammerPlus
Heroku is a cloud platform as a service (PaaS) supporting several programming languages.
Heroku, one of the first cloud platforms, has been in development since June 2007, when it supported only the Ruby programming language, but now supports Java, Node.js, Scala, Clojure, Python, PHP, and Go.
For this reason, Heroku is said to be a polyglot platform as it has features for a developer to build, run and scale applications in a similar manner across most languages.
Heroku was acquired by Salesforce in 2010 for $212 million.
#ProgrammerPlus
⭕️ The Zen of Python ⭕️
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
- Readability counts.
- Special cases aren't special enough to break the rules.
- Although practicality beats purity.
- Errors should never pass silently.
- Unless explicitly silenced.
- In the face of ambiguity, refuse the temptation to guess.
- There should be one-- and preferably only one --obvious way to do it.
- Although that way may not be obvious at first unless you're Dutch.
- Now is better than never.
- Although never is often better than *right* now.
- If the implementation is hard to explain, it's a bad idea.
- If the implementation is easy to explain, it may be a good idea.
- Namespaces are one honking great idea -- let's do more of those!
#ProgrammerPlus
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
- Readability counts.
- Special cases aren't special enough to break the rules.
- Although practicality beats purity.
- Errors should never pass silently.
- Unless explicitly silenced.
- In the face of ambiguity, refuse the temptation to guess.
- There should be one-- and preferably only one --obvious way to do it.
- Although that way may not be obvious at first unless you're Dutch.
- Now is better than never.
- Although never is often better than *right* now.
- If the implementation is hard to explain, it's a bad idea.
- If the implementation is easy to explain, it may be a good idea.
- Namespaces are one honking great idea -- let's do more of those!
#ProgrammerPlus
⏺ Recommender System ⏺
A recommender system or a recommendation system is a subclass of information filtering system that seeks to predict the "rating" or "preference" a user would give to an item.
They are primarily used in commercial applications.
Recommender systems are utilized in a variety of areas, and are most commonly recognized as playlist generators for video and music services like Netflix, YouTube and Spotify, product recommenders for services such as Amazon, or content recommenders for social media platforms such as Facebook and Twitter.
#ProgrammerPlus
A recommender system or a recommendation system is a subclass of information filtering system that seeks to predict the "rating" or "preference" a user would give to an item.
They are primarily used in commercial applications.
Recommender systems are utilized in a variety of areas, and are most commonly recognized as playlist generators for video and music services like Netflix, YouTube and Spotify, product recommenders for services such as Amazon, or content recommenders for social media platforms such as Facebook and Twitter.
#ProgrammerPlus
⭕️ Deep Learning ⭕️
DL is a machine learning technique that teaches computers to do what comes naturally to humans: learn by example.
Deep learning is a key technology behind driverless cars, enabling them to recognize a stop sign, or to distinguish a pedestrian from a lamppost.
In deep learning, a computer model learns to perform classification tasks directly from images, text, or sound. Deep learning models can achieve state-of-the-art accuracy, sometimes exceeding human-level performance.
#ProgrammerPlus
DL is a machine learning technique that teaches computers to do what comes naturally to humans: learn by example.
Deep learning is a key technology behind driverless cars, enabling them to recognize a stop sign, or to distinguish a pedestrian from a lamppost.
In deep learning, a computer model learns to perform classification tasks directly from images, text, or sound. Deep learning models can achieve state-of-the-art accuracy, sometimes exceeding human-level performance.
#ProgrammerPlus
🛑 Bitcoin 🛑
Bitcoin is a decentralized digital currency that enables instant payments to anyone, anywhere in the world.
Bitcoin uses peer-to-peer technology to operate with no central authority: transaction management and money issuance are carried out collectively by the network.
The original Bitcoin software by Satoshi Nakamoto was released under the MIT license.
Bitcoin is the first successful implementation of a distributed cryptcurrency.
#ProgrammerPlus
Bitcoin is a decentralized digital currency that enables instant payments to anyone, anywhere in the world.
Bitcoin uses peer-to-peer technology to operate with no central authority: transaction management and money issuance are carried out collectively by the network.
The original Bitcoin software by Satoshi Nakamoto was released under the MIT license.
Bitcoin is the first successful implementation of a distributed cryptcurrency.
#ProgrammerPlus
➡️ 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.