Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Raspberry Pi Computer Architecture Essentials

You're reading from  Raspberry Pi Computer Architecture Essentials

Product type Book
Published in Mar 2016
Publisher
ISBN-13 9781784397975
Pages 232 pages
Edition 1st Edition
Languages
Authors (2):
Andrew K. Dennis Andrew K. Dennis
Profile icon Andrew K. Dennis
Teemu O Pohjanlehto Teemu O Pohjanlehto
Profile icon Teemu O Pohjanlehto
View More author details
Toc

Table of Contents (18) Chapters close

Raspberry Pi Computer Architecture Essentials
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
1. Introduction to the Raspberry Pi's Architecture and Setup 2. Programming on Raspbian 3. Low-Level Development with Assembly Language 4. Multithreaded Applications with C/C++ 5. Expanding on Storage Options 6. Low-Level Graphics Programming 7. Exploring the Raspberry Pi's GPIO Pins 8. Exploring Sound with the Raspberry Pi 2 9. Building a Web Server 10. Integrating with Third-Party Microcontrollers 11. Final Project Index

Index

A

  • Acorn RISC Machine (ARM)
    • about / Back to basics
    • reference link / Registers, If else statements
  • addresses
    • about / Memory and addresses, The addresses
  • Amixer
    • reference link / Configuring the audio output
  • Apache
    • about / Apache
    • reference link / Apache
  • application
    • compiling / Compiling and running our application, Compile and run
    • running / Compiling and running our application, Compile and run
  • apt-get
    • about / Installing Screen and Vim
    • reference link / Installing Screen and Vim
  • Arduino
    • reference link / Genuino/Arduino microcontroller
    • website link / Genuino/Arduino microcontroller, Setting up the Arduino software, Communication over I2C
    • integrating with / Integration with Arduino
    • serial communication, over USB / Serial communication over USB
    • and Raspberry Pi communication, via GPIO / Communication between the Arduino and Raspberry Pi via GPIO
    • communication over I2C / Communication over I2C
    • communication over Web / Communication over the Web
  • Arduino IDE
    • about / A quick guide to the Arduino IDE
  • Arduino shields
    • reference link / Cooking Hacks Arduino bridge shield
  • Arduino software
    • setting up / Setting up the Arduino software
    • reference link / Setting up the Arduino software
  • ARM architecture reference manual
    • download link / CPU
  • ARM instruction set
    • reference link / The assembler
  • ARM v7 architecture
    • reference link / Assembly language
  • assembler
    • about / The assembler
  • assembling
    • about / Assembling and linking
  • assembly language
    • about / Assembly language
  • audio interactions, through GPIO
    • about / Interacting with audio through GPIO
    • audio drivers, installing / Installing the audio drivers
    • hardware setup / Hardware setup
    • drivers, loading / Loading drivers
    • drum tracks, obtaining / Getting some drum tracks
    • Python drum machine / Python drum machine
    • reference link / Python drum machine
    • audio shields, for Raspberry Pi / Audio shields for the Raspberry Pi
  • audio output, Raspberry Pi
    • reference link / Audio
  • audio setup
    • reference link / Setting the audio output
  • available web servers
    • about / Popular web servers available on the Raspberry Pi
    • Apache / Apache
    • NGINX / NGINX

B

  • .balign directive
    • about / The .balign directive
    • reference link / The .balign directive
  • basic website
    • about / A basic website
  • baud rate / Serial communication over USB
  • BCM
    • about / Standard GPIO
    • reference link / Python blinking LED program
  • board pin modes
    • reference link / Python blinking LED program
  • booting up / Booting up
  • Bourne Again Shell (bash)
    • about / Installing Screen and Vim
    • reference link / Installing Screen and Vim
  • branching
    • about / Branching
  • Bresenham's line algorithm
    • reference links / Plotting pixels and drawing lines

C

  • C
    • about / The C and C++ languages, C – a brief introduction
    • example / An example in C
    • and Linux Sound Architecture (ALSA) / C and ALSA
  • C++
    • about / The C and C++ languages, A quick look at C++
  • C++ code
    • about / A C++ equivalent
    • URL / A C++ equivalent
    • g++ command / The g++ command
  • C++ compiler
    • about / The C (and C++) compiler
  • C, versus C++
    • reference link / A quick look at C++
  • C compiler
    • about / The C (and C++) compiler
  • chmod
    • reference link / Running a Python program from a file
  • circuit
    • setting up, for LED / Building the circuit – a recap
    • integrating, with Python app / Integrating with our Python app
  • Cirrus device
    • reference link / Audio shields for the Raspberry Pi
  • C libraries
    • about / C libraries – a trove of reusable code
  • comment blocks
    • about / Multiline comments
  • conditional variables
    • about / Synchronization
    • reference link / Synchronization
  • config.txt
    • reference link / Booting up
  • control structures
    • about / Adding power to our program – control structures
    • if else statements / If else statements
    • iteration / Iteration
    • testing / Testing our control structures
  • Cooking Hacks Arduino bridge shield
    • reference link / Cooking Hacks Arduino bridge shield
  • C program
    • about / Our first C program
    • creating / Creating a new C program
    • writing, for turning screen red / A C program to turn the screen red
    • compiling / Compile and run the C program
    • running / Compile and run the C program
  • CPU registers
    • reference link / Assembly language
  • cryptographic theory
    • reference link / RSA key generation for SSH
  • C standard library
    • reference link / Compiling and running our application

D

  • .data directive
    • about / The .data directive
    • .balign directive / The .balign directive
    • word / Words
    • labels / Labels
  • database support
    • adding / Adding database support
    • SQLite / SQLite
    • SQL / SQL – a quick overview
    • Python program, with SQLite support / Python program with SQLite support
    • Flask / Flask – displaying database data via Python
    • data, entering / Next steps
  • default gateway
    • about / Assign a static IP to your Raspberry Pi 2
  • diagnostic tests
    • about / Diagnostic tests
  • digital touch screen, Raspberry Pi Foundation
    • reference link / Replace the LED with a screen
  • directive
    • about / Assembly language, Directives
    • benefits / Directives
  • docstring / Python drum machine
  • drum MP3 samples
    • reference link / Getting some drum tracks

E

  • Element 14
    • reference link / Preinstalled microSD card versus creating your own
  • eLinux Raspberry Pi troubleshooting page
    • reference link / Troubleshooting
  • eLinux website, peripherals guide
    • reference link / Basic hardware needed
  • email
    • implementing, via Python / E-mail support
  • email support functionality
    • reference link / E-mail support
  • Ethernet to USB adapters
    • reference link / Ethernet port
  • example servo projects
    • reference link / PWM and PPM
  • Extensible Markup Language (XML) / Introduction to web servers
  • external HDD
    • setting up / Setting up the external HDD, Setting up the HDD
    • disk name, obtaining / Getting the disk name
    • cmdline.txt, modifying / Modifying cmdline.txt

F

  • favicon
    • adding, to Python web server / Adding an index page and a favicon
    • reference link / Adding an index page and a favicon
  • fb.h library
    • reference link / Check the display settings
  • fibers / User level threads
  • file
    • Python program, running from / Running a Python program from a file
  • File Allocation Table (FAT)
    • about / Setting up your microSD card and installing the Raspbian operating system
    • reference link / Setting up your microSD card and installing the Raspbian operating system
  • file descriptor
    • reference link / Check the display settings
  • filesystem
    • reference link / Setting up the HDD
  • Flask
    • about / Flask – displaying database data via Python
    • reference link / Flask – displaying database data via Python, Next steps
  • Flask-based website
    • building / Building a Flask-based website
    • database, adding / Adding a database
  • Flask documentation site
    • reference link / Building a Flask-based website
  • for loop
    • reference link / Iteration
  • frame buffer
    • accessing / Accessing the frame buffer
    • display settings, checking / Check the display settings
    • C code, testing / Testing our C code

G

  • g++ command / The g++ command
  • GCC compiler
    • reference link / The C (and C++) compiler, The linker
  • Geany
    • about / Geany – a handy text editor and development environment
    • reference link / Geany – a handy text editor and development environment
  • Genuino/Arduino microcontroller / Genuino/Arduino microcontroller
    • reference link / Genuino/Arduino microcontroller
  • Git
    • reference link / C blinking LED program
  • GNU assembler man page
    • reference link / The assembler
  • GPIO
    • audio interactions / Interacting with audio through GPIO
  • GPIO pins
    • about / GPIO pins, Introduction to GPIO pins
    • testing / Going further – testing the GPIO pins
    • reference link / Introduction to GPIO pins, PWM and PPM
    • standard GPIO / Standard GPIO
    • I2C / I2C
    • Tx / Serial Rx and Tx
    • Rx / Serial Rx and Tx
    • Serial Peripheral Interface(SPI) / SPI
    • Pulse Width Modulation (PWM) / PWM and PPM
    • PPM / PWM and PPM
    • Pulse Position Modulation (PPM) / PWM and PPM
    • power voltages / GPIO power voltages
    • direct connection / Connecting directly to the GPIO pins
    • data, reading / Reading data from the GPIO pins in Python
  • GPIO power voltages / GPIO power voltages
  • graphics processing unit (GPU) documentation, Broadcom
    • reference link / GPU

H

  • H.264/MPEG-4 AVC
    • reference link / Sample programs
  • hardware options
    • about / Hardware choices
    • shields, prototyping / Prototyping shields and boards
    • boards, prototyping / Prototyping shields and boards
    • Cooking Hacks Arduino bridge shield / Cooking Hacks Arduino bridge shield
  • hardware specifications, Raspberry Pi / Raspberry Pi hardware specifications
  • HiFiBerri
    • reference link / Audio shields for the Raspberry Pi
  • Humble Pi
    • reference link / Prototyping shields and boards
  • hybrid threads
    • reference links / Hybrid threads
  • Hyper Text Markup Language (HTML)
    • about / HTML
    • document styling, reference link / HTML
    • reference link / HTML, Adding an index page and a favicon
  • Hypertext Transfer Protocol (HTTP)
    • about / HTTP requests
    • reference link / HTTP requests

I

  • I2C
    • about / I2C
    • reference link / I2C
    • in Python applications, reference link / I2C
    • real time clock, reference link / I2C
    • used, for communication between Arduino and Raspberry Pi / Communication over I2C
  • I2C Bus
    • reference link / Communication over I2C
  • IEEE standards association
    • URL / POSIX threads
  • if else statements
    • about / If else statements
  • index page
    • adding, to Python web server / Adding an index page and a favicon
  • input/output control(ioctl) / Accessing the frame buffer
  • Integrated Development Environment (IDE)
    • about / Setting up the Arduino software
    • installing, on Raspberry Pi 2 / Installing the IDE on your Raspberry Pi 2
  • Integrated DeveLopment Environment (IDLE) / A simple Python program
  • Inter-IC Sound (I2S) / Audio
    • about / Introduction to the Raspberry Pi's sound
    • specification, reference link / Introduction to the Raspberry Pi's sound
  • interpreted languages
    • reference link / The Python language
  • iteration
    • about / Iteration

J

  • JavaScript Object Notation (JSON) / Introduction to web servers
  • Jinja
    • reference link / A basic website
  • JOIN
    • reference link / SQL – a quick overview
  • joins
    • about / Synchronization, Going further – mutexes and joins
    • reference link / Synchronization
    • compiling / Compile and test
    • testing / Compile and test

K

  • kernel level threads / Kernel level threads

L

  • LDR command
    • about / LDR and SUB
  • LED
    • switching on / Switching an LED on and off
    • switching off / Switching an LED on and off
    • hardware, setting up / Setting up the hardware
    • C blinking program / C blinking LED program
    • Python blinking program / Python blinking LED program
    • adding / Adding in an LED
    • circuit, setting up for / Building the circuit – a recap
    • replacing, with screen / Replace the LED with a screen
  • lines
    • drawing / Drawing a line, Plotting pixels and drawing lines
  • linker
    • about / The linker
  • Linker
    • about / Assembly language
  • linking
    • about / Assembling and linking
  • Linux
    • connecting, to Network-attached storage(NAS) / Linux
  • Linux commands
    • about / Some handy Linux commands
    • cd command / Some handy Linux commands
    • touch command / Some handy Linux commands
    • cp command / Some handy Linux commands
    • mv command / Some handy Linux commands
    • rm command / Some handy Linux commands
    • reference link / Some handy Linux commands
  • Linux RSA key generation / Linux and Mac RSA key generation
  • Linux Sound Architecture (ALSA)
    • and C / C and ALSA
    • reference link / C and ALSA
    • examples / ALSA examples
    • examples, reference links / ALSA examples
  • loadable kernel modules (LKM) / Loading drivers
  • looping
    • about / If else statements

M

  • Mac
    • connecting, to Network-attached storage(NAS) / Mac
  • Mac RSA key generation / Linux and Mac RSA key generation
  • make application
    • about / Geany – a handy text editor and development environment
  • Make command
    • reference link / Makefiles
  • Makefile
    • about / Makefiles
  • makefiles
    • about / Geany – a handy text editor and development environment, Makefiles
  • master / Communication over I2C
  • memory
    • about / Memory and addresses, The memory
  • Message Passing Interface (MPI) / What are threads?
  • microSD card
    • about / The microSD card – the main storage and boot device of the Raspberry Pi 2
    • setting up / Setting up your microSD card and installing the Raspbian operating system
  • mmap function
    • reference link / A C program to turn the screen red
  • multiline comments
    • about / Multiline comments
  • munmap function
    • reference link / A C program to turn the screen red
  • mutex
    • reference link / Creation and termination, Synchronization
    • about / Synchronization, Going further – mutexes and joins
    • testing / Compile and test
    • compiling / Compile and test

N

  • Network-attached storage (NAS)
    • about / Network-attached storage (NAS)
    • Samba, installing / Installing Samba
    • testing / Testing the NAS
    • Mac, connecting to / Mac
    • Linux, connecting to / Linux
    • Windows, connecting to / Windows
  • New Out Of the Box Software(NOOBS) / The microSD card – the main storage and boot device of the Raspberry Pi 2
  • NGINX
    • about / NGINX
    • reference links / NGINX
  • NOOBS
    • references / The NOOBS operating system installation manager
  • NOOBS operating system installation manager
    • about / The NOOBS operating system installation manager
  • numbering format
    • reference link / Standard GPIO

O

  • opcode
    • about / Assembly language
  • OpenGL-based programs
    • reference link / Next steps – polygons
  • OpenGL ES
    • reference link / Sample programs
  • OpenMax
    • reference link / Sample programs
  • operand
    • about / Assembly language
  • OS
    • tests, running on / Running tests on the OS and configuration changes
  • overclocking
    • reference link / Over and underclocking the Raspberry Pi

P

  • packets
    • about / Python web server code
    • reference link / Python web server code
  • Pageant
    • download link / Windows RSA key generation
  • Pentatonic Beeps / Experimenting with Sonic Pi
  • physical pin listings
    • reference link / Standard GPIO
  • pigpio library
    • download link / Going further – testing the GPIO pins
    • references / Going further – testing the GPIO pins
  • pin layout cheat sheet
    • reference link / Communication between the Arduino and Raspberry Pi via GPIO
  • Pinout project
    • reference link / GPIO pins
  • pip
    • reference link / Flask – displaying database data via Python
  • piscope
    • reference link / Going further – testing the GPIO pins
  • pixels
    • plotting / Plotting pixels and drawing lines
  • plate
    • reference link / Prototyping shields and boards
  • polygon mesh
    • reference link / Next steps – polygons
  • polygons
    • creating / Next steps – polygons
  • POSIX threads
    • about / POSIX threads
    • functions / POSIX threads
    • attributes, URL / An example in C
  • preinstalled microSD card
    • about / Preinstalled microSD card versus creating your own
  • program
    • running / Running our program
  • programming languages
    • need for / Which programming languages?
  • project
    • extending / Extending the project further
  • Pulse Code Modulation (PCM)
    • about / C and ALSA
    • reference link / C and ALSA
  • Pulse Position Modulation (PPM)
    • about / PWM and PPM
    • reference link / PWM and PPM
  • Pulse Width Modulation (PWM)
    • about / PWM and PPM
    • reference links / PWM and PPM
  • PuTTY
    • download link / Windows RSA key generation
  • PuTTYgen
    • download link / Windows RSA key generation
  • PySerial
    • about / Integration with Arduino
    • website link / Integration with Arduino
  • Python
    • about / The Python language
    • references / The Python language
    • data, reading from GPIO pins / Reading data from the GPIO pins in Python
    • database data, displaying via / Flask – displaying database data via Python
  • Python app
    • circuit, integrating with / Integrating with our Python app
  • Python program
    • about / A simple Python program
    • running, from file / Running a Python program from a file
  • Python quick reaction game
    • reference link / Reading data from the GPIO pins in Python
  • Python runtime services
    • reference link / Running a Python program from a file
  • Python web server
    • building / Building a Python web server
    • code / Python web server code
    • index page, adding / Adding an index page and a favicon
    • favicon, adding / Adding an index page and a favicon

R

  • Raspberry Pi
    • background / History and background of the Raspberry Pi
    • history / History and background of the Raspberry Pi
    • hardware specifications / Raspberry Pi hardware specifications
    • dimensions / Dimensions
    • System on Chip (SoC)architecture / System on Chip
    • central processing unit / CPU
    • graphics processing unit (GPU) / GPU
    • SDRAM / SDRAM
    • USB 2.0 ports / 4 USB 2.0 ports and 1 SoC on-board USB
    • SoC on-board USB / 4 USB 2.0 ports and 1 SoC on-board USB
    • microSD card port / MicroSD card port
    • Ethernet port / Ethernet port
    • audio / Audio
    • GPIO pins / GPIO pins
    • video - analog TV out / Video – analog TV out
    • video - HDMI port / Video – HDMI port
    • hardware requisites / Basic hardware needed
    • reference link / Downloading the latest version of Raspbian
    • underclocking / Over and underclocking the Raspberry Pi
    • overclocking / Over and underclocking the Raspberry Pi
    • reference link, for forums / Troubleshooting
    • sound / Introduction to the Raspberry Pi's sound
    • audio shields / Audio shields for the Raspberry Pi
    • web servers available / Popular web servers available on the Raspberry Pi
    • and Arduino communication, via GPIO / Communication between the Arduino and Raspberry Pi via GPIO
  • Raspberry Pi 2
    • static IP, assigning to / Assign a static IP to your Raspberry Pi 2
    • setting up / Installing the IDE on your Raspberry Pi 2
  • Raspberry Pi 2, versus Raspberry Pi B+
    • reference link / Raspberry Pi hardware specifications
  • Raspberry Pi firmware
    • reference link / Booting up
  • Raspberry Pi section, of Stack Exchange
    • reference link / Troubleshooting
  • Raspberry Pi website, guide to microSD card
    • reference link / The microSD card – the main storage and boot device of the Raspberry Pi 2
  • Raspbian
    • latest version, downloading of / Downloading the latest version of Raspbian
  • Raspbian operating system
    • installing / Setting up your microSD card and installing the Raspbian operating system
    • installation, wrapping up / Raspbian installation wrap-up
  • Read Only Memory (ROM) / Booting up
  • Reduced Instruction Set Computing
    • about / Back to basics
    • reference link / Back to basics
  • registers
    • about / Registers
  • Relational Database Management System (RDBMS)
    • about / SQL – a quick overview
  • request methods
    • reference link / HTTP requests
  • RKPT Lucia
    • reference link / Prototyping shields and boards
  • rpi-update
    • reference link / Booting up
  • RPi Software
    • reference link / Booting up
  • RSA key generation, for SSH
    • about / RSA key generation for SSH
  • RSA keys
    • reference link / RSA key generation for SSH
  • Rx pin / Serial Rx and Tx

S

  • Samba
    • about / Network-attached storage (NAS)
    • URL / Network-attached storage (NAS)
    • installing / Installing Samba
    • reference link / Linux
  • Screen
    • about / Installing Screen and Vim
    • installing / Installing Screen and Vim
    • references / Installing Screen and Vim
  • screen
    • filling, with color / Filling the screen with a color
    • LED, replacing with / Replace the LED with a screen
  • SD card, formatting for Linux
    • reference link / Setting up your microSD card and installing the Raspbian operating system
  • SD card, formatting for Mac OS X
    • reference link / Setting up your microSD card and installing the Raspbian operating system
  • SD card, formatting for Windows
    • reference link / Setting up your microSD card and installing the Raspbian operating system
  • Secure Shell(SSH)
    • about / Check SSH is running
  • serial communication
    • about / Serial Rx and Tx
    • reference link / Serial Rx and Tx
  • Serial Peripheral Interface(SPI)
    • about / SPI
    • reference link / SPI
  • servomechanisms (servos) / PWM and PPM
  • short-term scheduler / What are threads?
  • single line comments
    • about / Single line comments
  • slave / Communication over I2C
  • Sonic Pi
    • about / Introducing Sonic Pi
    • reference link / Introducing Sonic Pi
    • example, reference link / Introducing Sonic Pi
    • setup / Setup
    • experimenting with / Experimenting with Sonic Pi
  • sound
    • playing / Playing a sound
  • sound, Raspberry Pi
    • about / Introduction to the Raspberry Pi's sound
    • audio output, configuring / Configuring the audio output
    • audio output, setting / Setting the audio output
  • Sparkfun
    • URL / Communication between the Arduino and Raspberry Pi via GPIO
  • SQLite
    • about / SQLite
    • reference link / SQL – a quick overview
    • Python program, using with / Python program with SQLite support
  • standard GPIO / Standard GPIO
  • static IP
    • assigning, to Raspberry Pi 2 / Assign a static IP to your Raspberry Pi 2
  • storage mechanism
    • selecting / Choose your storage mechanism
  • Structured Query Language (SQL)
    • about / SQL – a quick overview
  • styling guide, CSS
    • reference link / Edit
  • SUB command
    • about / LDR and SUB
  • subnet mask
    • about / Assign a static IP to your Raspberry Pi 2
  • sudo command
    • reference link / Raspbian installation wrap-up
  • sys/mman.h file
    • reference link / A C program to turn the screen red
  • system level header files
    • reference link / C libraries – a trove of reusable code
  • System on Chip (SoC) / System on Chip

T

  • tests
    • running, on OS / Running tests on the OS and configuration changes
  • threads
    • about / What are threads?
    • types / Thread types
    • implementing, steps / Steps involved in implementing threads
    • in C, example / An example in C
    • program, testing / Trying out our program
    • reference link / Compile and test
  • threads, implementing
    • steps / Steps involved in implementing threads
    • creation step / Creation and termination
    • termination step / Creation and termination
    • creation, reference link / Creation and termination
    • synchronization step / Synchronization
    • scheduling step / Scheduling
  • threads, types
    • user level threads / User level threads
    • kernel level threads / Kernel level threads
    • hybrid threads / Hybrid threads
  • thread termination process
    • reference link / A C++ equivalent
  • tools
    • reference link / I2C
  • troubleshooting
    • about / Troubleshooting
  • Tx pin / Serial Rx and Tx

U

  • Uniform Resource Locator (URL)
    • example, reference link / HTTP requests
  • up-to-date overview, of Raspbian installation procedure
    • reference link / Setting up your microSD card and installing the Raspbian operating system
  • USB
    • serial communication over / Serial communication over USB
  • user level threads / User level threads

V

  • vcgencmd
    • reference link / Diagnostic tests
  • VideoCore IV GPU
    • about / VideoCore IV GPU
    • reference link / VideoCore IV GPU
    • sample programs / Sample programs
  • Vim
    • about / Vim – an optional handy text editor
    • installing / Vim – an optional handy text editor
    • reference link / Vim – an optional handy text editor
  • voltage divider / Communication between the Arduino and Raspberry Pi via GPIO

W

  • web forms
    • about / Web forms
    • Add function / Add
    • Edit function / Edit
  • web servers
    • about / Introduction to web servers
    • Hypertext Transfer Protocol (HTTP) requests / HTTP requests
    • Hyper Text Markup Language (HTML) / HTML
  • while loop
    • reference link / Iteration
  • Windows
    • connecting, to Network-attached storage(NAS) / Windows
  • Windows RSA key generation
    • about / Windows RSA key generation
  • Wiring
    • website link / Genuino/Arduino microcontroller
  • wiringPi
    • code, reference link / C blinking LED program
    • website link / C blinking LED program
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at ₹800/month. Cancel anytime}