Python
Java
Go
C
C++
HTML5
Apache HTTP server
MySQL
Apache ZooKeeper™
Linux
Top backend technologies
Languages and their frameworks
Java
•Spring
•Grails
•Java Server Faces
Python
•Django
•Flask
•Web2py
PHP
•Laravel
•Codeigniter
•Symfony
Node.js
•Express.js
•Koa.js
•Meteor.js
Ruby
•Ruby on Rails
•Hanami
•Sinatra
C#
•.NET Framework
Technology stack of Facebook
Client Side/Front End:
Javascript, HTML, CSS, React, Flux
Server Side/Back End:
PHP, Linux, Apache, C++, Facebook's custom HHVM , Python
App Development:
Java, Swift, React Native, Xamarin.Forms
Database:
MySQL, Cassandra, Memcache, MariaDB, SQL
Big Data:
HBase, Apache Hadoop, Hive, Thrift, Presto
What Makes An App Great?
Meet user's needs : Delivers content that users want or need
Solves user's problems : helps solve user's problems more efficiently
Keep it simple : includes only the most vital features and information
Keeps it accesible : Doesn't ask too much information of users at sign up
Adapts all devices : Offer different designs according to devices
Adapts to user behaviour : Displays content in ways appropriate to user's behaviour
Prioritize high performance : Doesn't include features that slow down the app no matter how appealing they are
Tech stack of Google
Application : Java, Dart, Android SDK
Database : LevelDB
Backend : Python, Java, Go, C++
Frontend : Angular, Material Design
Big Data : G Suite, Kubernetes
Things you could build with C++
GUI Based Applications :
Adobe
Win Amp Media Player
Maya
Database Software :
MYSQL server
Postgres
Bloomberg RDBMS
Operating Systems :
Apple OS
Microsoft Windows
Symbian OS
Browsers :
mozilla Firefox
mozilla Thunderbird
Google Chrome
Games :
PUBG
Snake
Half Life 2
Technologies used by YouTube
2006 Google bought YouTube for $1.65 billion
2021 YouTube generates 1.65 billion from ad revenues for google every 3 weeks
YouTube is the world’s second largest search engine and second most visited site after Google.
720,000 Hours of Video Uploaded to YouTube Daily
Things you could build with Python
django + django CMS Web Development
PySoy or Pygame Game Development
Keras or TensorFlow Machine Learning
Tkinter or PyQT Desktop GUI
Kivy Mobile App Dev.
Instagram still uses Django today. If it's good enough for the multi billion dollar social media wonder, it's probably good enough for the rest of us.
Besides multiple components, libraries and so on, all of YouTube is written in Python.
If that's not enough of a recommendation for you, nothing will be.
Python is responsible for a solid 21% of Facebook's infrastructure's codebase. Given the sky high requirements of this tech giant, 21% is definitely nothing to sneeze at!
One of Netflix's strength is its powerful recommendation and analystics engine.
What's the engine based on?
It's Python
Web Designer:
Learn graphic designing, HTML, CSS, JS, web server management etc.
Do executing all visual design stages from concept to final hand off to engineering website ideas that bring simplicity and user friendliness to complex operations.
Are creative and artistic minded, quality conscious, adaptive and good in communications.
Web Developer:
Learn front end technologies like html, CSS, js & it's frameworks backend technologies like php, django, node js
Do creates user friendly and responsive websites according to business requirements. They also maintain the frontend/backend of websites. Optimizes websites for faster execution.
Are creative minded, patient, flexible to work on various platforms, problemsolving etc.
Mobile App Developer:
Learn various mobile app frameworks like ionic, phonegap, react native, xamarin etc.
Do create, maintain and implement the source code to develop mobile apps and programs that meet the needs and requirements of the clients, test and upgrade the app.
Are creative, problem solving, analytical thinker proficient in programming.
What is java? —
• A general purpose programming language.
• Influenced a lot of newer languages.
• Widely used and well documented.
• Statically typed.
• Runs on any machine with java virtual machine.
• More than 3 billion devices run java programs.
Used for tasks like:
-Web development
-Android development
-Software development
-Software testing
Things you could build with Java:
Java J2EE Application servers
JSP or Servlets Web applications
Java + Android studio Android applications
Swing or FX Desktop applications
Java EE Enterprise app.
libGDX Games
Javascript
A high-level, just-in-time compiled, multi-paradigm programming language.
Used to make web pages more interactive.
One of the core technologies of the World Wide Web.
In demand across all industries.
USED FOR TASKS:
Web Development
Machine learning
Desktop apps
Mobile apps
USED BY COMPANIES:
PayPal
Netflix
ebay
Front-End Web Development
Back-End Web Development
Building Mobile apps
Machine Learning
Deep Learning
TECH STACK
Engine:
Unreal Engine 4
Front End/Interface:
JavaScript
Game Development:
C++
Java
Swift
Framework:
Blueprints Visual Scripting, Epic's custom framework
Graphics Development:
Maya
ZBrush
Database:
Amazon AWS
Angular JS
AngularJS is a framework which boasts a wide variety of native features. It enables you to take advantage of a range of options directly, making it possible for you to commence any project faster. The architecture of AngularJS allows automatic data synchronization between its components. It comprises of an inbuilt dependency injection subsystem which enables quick and easy Angular app development and testing. It also comes with extended HTML terminologies which provide instructions for how a model can be projected into the view. It is also testable in its initial development stages.
React JS
React.jsis maintained by Facebook that makes use of its components on a lot of pages. It is also used by many famous websites such as Twitter, Yahoo, Airbnb, Uber, Netflix, Reddit, Pinterest, PayPal, Wix, Imgur, Udemy, Feedly, Walmart, Tumblr, Stripe and more. Its components are highly reusable and enable the use of JS to write Native IOS applications. The framework allows both servers as well as customer-side rendering. There is a virtual React DOM which randomly updates all the parts that need to be updated or have been changed. You can find a separate option for creating a pure JavaScript template. It is easy for beginners as it has a small API.
Node.js
Node.js can act as a server in itself rather than a framework which works with Google Chrome V8 JavaScript engine. It has a unique callback concept that enables you to achieve an entirely new concept of single-threaded event-driven server programming. Node.js can simplify the development of complicated web applications. With the capability of workload distribution to different service providers and clients, there is a lot you can extract from NodeJs.
Vue.js
It is a progressive framework which is mainly used for creating user interfaces. This framework mainly focuses on the view layer that enables the developers to integrate it into the on-going projects in a hassle-free manner. It is an ideal choice for building single-page applications and it provides developers with the capability to build applications with modern technologies. Vue.js has become quite popular due to its gentle learning curve and scalability. The framework can be used in single-page applications and small components on large websites. It has easy adaptability and can be integrated with bulky projects for front-end development without much difficulties.
VueJs can code robust apps without any need for external libraries and additional plugins. Due to its simple coding, it ensures better maintainability of codes that ultimately decreases the bugs and eventually saves the developers’ time that could be wasted in fixing bugs. The framework comprises of detailed documentation which is quite comprehensive so that any user who has even little knowledge of JavaScript and HTML can easily develop apps on their own.
Principles of object oriented programming
•Encapsulate what varies.
•Code to the interface, not to the implementation.
•Favor composition over inheritance.
•Strive for loosely coupled designs between objects that interact.
•Classes should be open for extension but closed for modifications.
•Depend on abstractions. Do not depend on concrete classes.
•A class should have only one reason to change.
PHP stands for Hypertext Pre-Processor. PHP is a scripting language used to develop static and dynamic webpages and web applications. Here are a few important things you must know about PHP:
PHP is an Interpreted language, hence it doesn't need a compiler.
To run and execute PHP code, we need a Web server on which PHP must be installed.
PHP is a server side scripting language, which means that PHP is executed on the server and the result is sent to the browser in plain HTML.
PHP is open source and free.
PHP is open source and free, hence you can freely download, install and start developing using it.
PHP has a very simple and easy to understand syntax, hence the learning curve is smaller as compared to other scripting languages like JSP, ASP etc.
PHP is cross platform, hence you can easily develop and move/deploy your PHP code/project to almost all the major operating systems like Windows, Linux, Mac OSX etc.
Popular Content Management Systems like Joomla, Drupal etc are developed in PHP and if you want to start your own website, you can easily do that with PHP.
With PHP, you can create static and dynamic webpages, perform file handling operations, send emails, access and modify browser cookies, and almost everything else that you might want to implement in your web project.
PHP has in-built support for MySQL, which is one of the most widely used Database management system.
It can be used to create Web applications like Social Networks(Facebook, Digg), Blogs(Wordpress, Joomla), eCommerce websites(OpenCart, Magento etc.) etc.
Comman Line Scripting. You can write PHP scripts to perform different operations on any machine, all you need is a PHP parser for this.
Create Facebook applications and easily integrate Facebook plugins in your website, using Facebook's PHP SDK.
Sending Emails or building email applications because PHP provides with a robust email sending function.
Wordpress is one of the most used blogging(CMS) platform in the World, and if you know PHP, you can try a hand in Wordpress plugin development.
What is aws?
AWS has data centers around the world to provide on demand cloud computing services to organizations.
AWS lowers the barriers to entry into tech
for innovators & entrepreneurs.
Companies don't need on site data centers and can rely on AWS redundancies & high availability.
USED FOR TASKS LIKE:
Web Hosting
Storing Persistent Data
Game Development
Augmented Reality
COMPANIES USING AWS:
CIA
NETFLIX
SLACK
EXPEDIA
NASA
What beginners should know to use AWS?
Client server technology
Network protocols
Domain name services
IP addresses
Want to Learn UNITY?
Development of both 2D and 3D games and interactive content.
Understanding the basic structure and interaction with unity.
Basic C# Scripting for unity.
Deep knowledge of how unity works.
Benefits:
The biggest benefit is productivity.
You can easily create AR/VR apps using appropriate packages.
Easy to find documentation to run unity engine hassle-free.
Game development using unity easily be shared on Mobile, PC, and web platform.
High paying job opportunities.
Power to create whatever you imagine.
VS CODE
Visual Studio Code is a free and open-source code editor made by Microsoft for windows , linux and macOS and first released in 2015. VS Code is written in HTML, CSS and JS and its official website is code.visualstudio.com
Evolution of Instagram Mobile App
Some facts about Instagram:
Burbn app (Instagram’s former name) app idea seeded funding worth $500K
Instagram collected $57.5M funds in total
MVP of Instagram -adhering a photo in a square with a few filters
UPS of Instagram -a combination of photo-sharing and editing tools
95 million pictures are posted on Instagram daily
1 billion users are active on Instagram monthly
Net worth Instagram is more than $100 billion US
These days, Instagram is a complex platform which can be viewed through the lens of photo-editing app, e-commerce portal, and messenger.
Moreover, the Instagram project never stands still. The most recent version of Instagram experienced a design update as well as some new features, namely:
IGTV
Stories
Shoppable posts
Nametags
New quick replies in Direct
Explore page
Technologies applied in Instagram are:
React Native -iOS & Android apps
Python (Django framework) & HTML5JavaScript -server-side
Computing services -Amazon S3, Amazon, EBS, Amazon EC2
Database -PostgreSQL
Key concepts of IOT
Hardware
The heart of IoT is billions of interconnected devices with attached sensors and Actualators that sense and control the physical world.
In addition to network connectivity to transmit the data they collect these devices require some basic processing and storage capabilities provided by a micro controller Or by an integrated circuit such as a System on a Chip Or a field programmable gate array.
Embedded programming
IoT devices are embedded devices and may be prototyped using commoditized micro controller platforms such as Arduino with custom printed circuit boards developed at a later stage.
The embedded programs are often developed using c++ or c. However python and javacript are becoming more popular for prototyping IoT devices.
Security
Security is one of the most critical concerns in IoT closely related to data ethics privacy and liability with millions of new devices connected every day the number of potential points of attack grows daily.
With so much at stake security engineering skills including threat assessment ethical hacking encryption to ensure data integrity securing the network and more move to the foreground of the IoT development projects.
Networking and cloud integration
Network design and management are essential within IoT due to the sheer volume of connected devices and due to the impact that network design decisions can have at scale.
Connectivity enables devices to communicate with other as well as with applications and services that are running in the cloud.
Data analystics and prediction
The number of IoT devices transmitting data increases on the daily basis which turns big data into huge data developers will need securely and reliably ingest, store and query the vast quantities of heterogeneous data originating from these device.
Besides as many IoT devices generate latency or time sensitive data it is also necessary to filter or discard irrelevant data.
Machine Learning and AI
To deliver value and make sense of the huge volumes of data that is generated by IoT devices machine learning and Al skills are the ultimate must have skill for IoT developers.
To be truly intelligent big data analytics needs to apply cognitive computing techniques drawn from data mining, modeling, statistics, machine learning and AI.
Tech stack of Amazon
Common frontend development terms —
Frameworks
Packages containing pre-written , standardized codes in files and folders. They provide you with a base to build your code and design.
Examples: Angular, React, jQuery, Vue
Static Site Generator
A static site generator is a software application that creates HTML pages from templates or components and a given content source.
Examples: Gatsby, Hugo, Next.js, Gridsome
Jamstack
Jamstack is an architecture designed to make building websites and apps faster, more secure, easier to scale and a better experience. It typically comprises 3 components: Javascript, APIs and Markup.
API
It stands for Application Programming Interface. It is a simple and structured mechanism that allows applications to talk to one another.
GRAPHQL
GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. It is used to load data from a server to a client-It's a way to get data from an API into your application.
How Compiler works in JAVA
First, the source '.java' file is passed through the compiler, which then encodes the source code into a machine-independent encoding, known as Bytecode.
While converting the source code into the bytecode, the compiler generates a '.class' file.
The main class file is passed to the Java Virtual Machine
In JVM Class Loader loads the .class file.
Bytecode Verifier then verifies the Bytecode.
Just-In-Time compiler
Finally, the computer reads this translated code and performs the tasks.