ProgrammerPlus
2.31K subscribers
180 photos
3 videos
1 file
31 links
💡 Get More Insight

👉 *The* Programmer Community

📍 Redefined Quality for Developers & Geeks
Download Telegram
🔴 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
🔼 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
⭕️ 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
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
⭕️ 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
🛑 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
➡️ 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
⭕️ 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
➡️ 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
🛑 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
⭕️ 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
🔻 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
🔴 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
➡️ 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
⭕️ 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
🔴 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
🔻 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
➡️ 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
🔴 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
🔼 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
⭕️ 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