
Wednesday, April 24, 2019
Chapters
- Getting started with C# Language
- Literals
- Operators
- Conditional Statements
- Equality Operator
- Equals and GetHashCode
- Null-Coalescing Operator
- Null-conditional Operators
- nameof Operator
- Verbatim Strings
- Common String Operations
- String.Format
- String Concatenate
- String Manipulation
- String Interpolation
- String Escape Sequences
- StringBuilder
- Regex Parsing
- DateTime Methods
- Arrays
- O(n) Algorithm for circular rotation of an array
- Enum
- Tuples
- Guid
- BigInteger
- Collection Initializers
- An overview of C# collections
- Looping
- Iterators
- IEnumerable
- Value type vs Reference type
- Built-in Types
- Aliases of built-in types
- Anonymous types
- Dynamic type
- Type Conversion
- Casting
- Nullable types
- Constructors and Finalizers
- Access Modifiers
- Interfaces
- Static Classes
- Singleton Implementation
- Dependency Injection
- Partial class and methods
- Object initializers
- Methods
- Extension Methods
- Named Arguments
- Named and Optional Arguments
- Data Annotation
- Keywords
- Object Oriented Programming In C#
- Recursion
- Naming Conventions
- XML Documentation Comments
- Comments and regions
- Inheritance
- Generics
- Using Statement
- Using Directive
- IDisposable interface
- Reflection
- IQueryable interface
- Linq to Objects
- LINQ Queries
- LINQ to XML
- Parallel LINQ (PLINQ)
- XmlDocument and the System.Xml namespace
- XDocument and the System.Xml.Linq namespace
- C# 7.0 Features
- C# 6.0 Features
- C# 5.0 Features
- C# 4.0 Features
- C# 3.0 Features
- Exception Handling
- NullReferenceException
- Handling FormatException when converting string to other types
- Read & Understand Stacktraces
- Diagnostics
- Overflow
- Getting Started: Json with C#
- Using json.net
- Lambda expressions
- Generic Lambda Query Builder
- Properties
- Initializing Properties
- INotifyPropertyChanged interface
- Events
- Expression Trees
- Overload Resolution
- BindingList<T>
- Preprocessor directives
- Structs
- Attributes
- Delegates
- File and Stream I/O
- Networking
- Performing HTTP requests
- Reading and writing .zip files
- FileSystemWatcher
- Access network shared folder with username and password
- Asynchronous Socket
- Action Filters
- Polymorphism
- Immutability
- Indexer
- Checked and Unchecked
- Stream
- Timers
- Stopwatches
- Threading
- Async/await, Backgroundworker, Task and Thread Examples
- Async-Await
- Synchronization Context in Async-Await
- BackgroundWorker
- Task Parallel Library
- Making a variable thread safe
- Lock Statement
- Yield Keyword
- Task Parallel Library (TPL) Dataflow Constructs
- Functional Programming
- Func delegates
- Function with multiple return values
- Binary Serialization
- ICloneable
- IComparable
- Accessing Databases
- Using SQLite in C#
- Caching
- Code Contracts
- Code Contracts and Assertions
- Structural Design Patterns
- Creational Design Patterns
- Implementing Decorator Design Pattern
- Implementing Flyweight Design Pattern
- System.Management.Automation
- System.DirectoryServices.Protocols.LdapConnection
- C# Authentication handler
- Pointers
- Pointers & Unsafe Code
- How to use C# Structs to create a Union type (Similar to C Unions)
- Reactive Extensions (Rx)
- AssemblyInfo.cs Examples
- Creating a Console Application using a Plain-Text Editor and the C# Compiler (csc.exe)
- CLSCompliantAttribute
- ObservableCollection<T>
- Hash Functions
- Generating Random Numbers in C#
- Cryptography (System.Security.Cryptography)
- ASP.NET Identity
- Unsafe Code in .NET
- C# Script
- Runtime Compile
- Interoperability
- .NET Compiler Platform (Roslyn)
- ILGenerator
- T4 Code Generation
- Creating Own MessageBox in Windows Form Application
- Including Font Resources
- Import Google Contacts
- Garbage Collector in .Net
- Microsoft.Exchange.WebServices
- Windows Communication Foundation

C# Notes for Professionals book
Chapters
- Getting started with C++
- Literals
- operator precedence
- Floating Point Arithmetic
- Bit Operators
- Bit Manipulation
- Bit fields
- Arrays
- Iterators
- Basic input/output in c++
- Loops
- File I/O
- C++ Streams
- Stream manipulators
- Flow Control
- Metaprogramming
- const keyword
- mutable keyword
- Friend keyword
- Type Keywords
- Basic Type Keywords
- Variable Declaration Keywords
- Keywords
- Returning several values from a function
- Polymorphism
- References
- Value and Reference Semantics
- C++ function "call by value" vs. "call by reference"
- Copying vs Assignment
- Pointers
- Pointers to members
- The This Pointer
- Smart Pointers
- Classes/Structures
- Function Overloading
- Operator Overloading
- Function Template Overloading
- Virtual Member Functions
- Inline functions
- Special Member Functions
- Non-Static Member Functions
- Constant class member functions
- C++ Containers
- Namespaces
- Header Files
- Using declaration
- std::string
- std::array
- std::vector
- std::map
- std::optional
- std::function: To wrap any element that is callable
- std::forward_list
- std::pair
- std::atomics
- std::variant
- std::iomanip
- std::any
- std::set and std::multiset
- std::integer_sequence
- Using std::unordered_map
- Standard Library Algorithms
- The ISO C++ Standard
- Inline variables
- Random number generation
- Date and time using <chrono> header
- Sorting
- Enumeration
- Iteration
- Regular expressions
- Implementation-defined behavior
- Exceptions
- Lambdas
- Value Categories
- Preprocessor
- Data Structures in C++
- Templates
- Expression templates
- Curiously Recurring Template Pattern (CRTP)
- Threading
- Thread synchronization structures
- The Rule of Three, Five, And Zero
- RAII: Resource Acquisition Is Initialization
- RTTI: Run-Time Type Information
- Mutexes
- Recursive Mutex
- Semaphore
- Futures and Promises
- Atomic Types
- Type Erasure
- Explicit type conversions
- Unnamed types
- Type Traits
- Return Type Covariance
- Layout of object types
- Type Inference
- Typedef and type aliases
- type deduction
- Trailing return type
- Alignment
- Perfect Forwarding
- decltype
- SFINAE (Substitution Failure Is Not An Error)
- Undefined Behavior
- Overload resolution
- Move Semantics
- Pimpl Idiom
- auto
- Copy Elision
- Fold Expressions
- Unions
- Design pattern implementation in C++
- Singleton Design Pattern
- User-Defined Literals
- Memory management
- C++11 Memory Model
- Scopes
- static_assert
- constexpr
- One Definition Rule (ODR)
- Unspecified behavior
- Argument Dependent Name Lookup
- Attributes
- Recursion in C++
- Arithmitic Metaprogramming
- Callable Objects
- Client server examples
- Const Correctness
- Parameter packs
- Build Systems
- Concurrency With OpenMP
- Resource Management
- Storage class specifiers
- Linkage specifications
- Digit separators
- C incompatibilities
- Side by Side Comparisons of classic C++ examples solved via C++ vs C++11 vs C++14 vs C++17
- Compiling and Building
- Common compile/linker errors (GCC)
- More undefined behaviors in C++
- Unit Testing in C++
- C++ Debugging and Debug-prevention Tools & Techniques
- Optimization in C++
- Optimization
- Profiling
- Refactoring Techniques

C++ Notes for Professionals book
Chapters
- Getting started with C Language
- Comments
- Data Types
- Operators
- Boolean
- Strings
- Literals for numbers, characters and strings
- Compound Literals
- Bit-fields
- Arrays
- Linked lists
- Enumerations
- Structs
- Standard Math
- Iteration Statements/Loops: for, while, do-while
- Selection Statements
- Initialization
- Declaration vs Definition
- Command-line arguments
- Files and I/O streams
- Formatted Input/Output
- Pointers
- Sequence points
- Function Pointers
- Function Parameters
- Pass 2D-arrays to functions
- Error handling
- Undefined behavior
- Random Number Generation
- Preprocessor and Macros
- Signal handling
- Variable arguments
- Assertion
- Generic selection
- X-macros
- Aliasing and effective type
- Compilation
- Inline assembly
- Identifier Scope
- Implicit and Explicit Conversions
- Type Qualifiers
- Typedef
- Storage Classes
- Declarations
- Structure Padding and Packing
- Memory management
- Implementation-defined behaviour
- Atomics
- Jump Statements
- Create and include header files
- <ctype.h> — character classification & conversion
- Side Effects
- Multi-Character Character Sequence
- Constraints
- Inlining
- Unions
- Threads (native)
- Multithreading
- Interprocess Communication (IPC)
- Testing frameworks
- Valgrind
- Common C programming idioms and developer practices
- Common pitfalls

C Notes for Professionals book
Chapters
- Getting started with Bash
- Script shebang
- Navigating directories
- Listing Files
- Using cat
- Grep
- Aliasing
- Jobs and Processes
- Redirection
- Control Structures
- true, false and : commands
- Arrays
- Associative arrays
- Functions
- Bash Parameter Expansion
- Copying (cp)
- Find
- Using sort
- Sourcing
- Here documents and here strings
- Quoting
- Conditional Expressions
- Scripting with Parameters
- Bash history substitutions
- Math
- Bash Arithmetic
- Scoping
- Process substitution
- Programmable completion
- Customizing PS1
- Brace Expansion
- getopts : smart positional-parameter parsing
- Debugging
- Pattern matching and regular expressions
- Change shell
- Internal variables
- Job Control
- Case statement
- Read a file (data stream, variable) line-by-line (and/or field-by-field)?
- File execution sequence
- Splitting Files
- File Transfer using scp
- Pipelines
- Managing PATH environment variable
- Word splitting
- Avoiding date using printf
- Using "trap" to react to signals and system events
- Chain of commands and operations
- Type of Shells
- Color script output (cross-platform)
- co-processes
- Typing variables
- Jobs at specific times
- Handling the system prompt
- The cut command
- Bash on Windows 10
- Cut Command
- global and local variables
- CGI Scripts
- Select keyword
- When to use eval
- Networking With Bash
- Parallel
- Decoding URL
- Design Patterns
- Pitfalls
- Keyboard shortcuts

Bash Notes for Professionals book

Chapters
- Getting started with Angular 2+
- Components
- Component interactions
- Directives
- Page title
- Templates
- Commonly built-in directives and services
- Directives & components : @Input @Output
- Attribute directives to affect the value of properties on the host node by using the @HostBinding decorator.
- How to Use ngif
- How to use ngfor
- Angular - ForLoop
- Modules
- Pipes
- OrderBy Pipe
- Angular 2 Custom Validations
- Routing
- Routing (3.0.0+)
- Dynamically add components using ViewContainerRef.createComponent
- Installing 3rd party plugins with angular-cli@1.0.0-beta.10
- Lifecycle Hooks
- Angular RXJS Subjects and Observables with API requests
- Services and Dependency Injection
- Service Worker
- EventEmitter Service
- Optimizing rendering using ChangeDetectionStrategy
- Angular 2 Forms Update
- Detecting resize events
- Testing ngModel
- Feature Modules
- Bootstrap Empty module in angular 2
- Lazy loading a module
- Advanced Component Examples
- Bypassing Sanitizing for trusted values
- Angular 2 Data Driven Forms
- Angular 2 In Memory Web API
- Ahead-of-time (AOT) compilation with Angular 2
- CRUD in Angular 2 with Restful API
- Use native webcomponents in Angular 2
- Update typings
- Mocking @ngrx/Store
- ngrx
- Http Interceptor
- Animation
- Zone.js
- Angular 2 Animations
- Create an Angular 2+ NPM package
- Angular 2 CanActivate
- Angular 2 - Protractor
- Example for routes such as /route/subroute for static urls
- Angular 2 Input() output()
- Angular-cli
- Angular 2 Change detection and manual triggering
- Angular 2 Databinding
- Brute Force Upgrading
- Angular 2 provide external data to App before bootstrap
- custom ngx-bootstrap datepicker + input
- Using third party libraries like jQuery in Angular 2
- Configuring ASP.net Core application to work with Angular 2 and TypeScript
- Angular 2 using webpack
- Angular material design
- Dropzone in Angular 2
- angular redux
- Creating an Angular npm library
- Barrel
- Testing an Angular 2 App
- angular-cli test coverage
- Debugging Angular 2 TypeScript application using Visual Studio Code
- unit testing

Angular 2+ Notes for Professionals book
Monday, April 22, 2019
Chapters
- Getting started with iOS Development
- UILabel
- UILabel text underlining
- attributedText in UILabel
- UIButton
- UIDatePicker
- UILocalNotification
- UIImage
- Convert NSAttributedString to UIImage
- UIImagePickerController
- UIImageView
- Resizing UIImage
- Cut a UIImage into a circle
- UITableView
- UITableViewController
- UIRefreshControl TableView
- UITableViewCell
- Custom methods of selection of UITableViewCells
- Custom methods of selection of UITableViewCells
- UIView
- Snapshot of UIView
- UIAlertController
- UIColor
- UITextView
- UITextField Delegate
- UINavigationController
- UIGestureRecognizer
- UIBarButtonItem
- UIScrollView
- UIStackView
- Dynamically updating a UIStackView
- UIScrollView with StackView child
- UIScrollView AutoLayout
- UITextField
- Custom UITextField
- UIViewController
- UISwitch
- UICollectionView
- UISearchController
- UITabBarController
- UIWebView
- UIActivityViewController
- UIControl - Event Handling with Blocks
- UISplitViewController
- UISlider
- UIStoryboard
- UIPageViewController
- UISplitViewController
- UIFont
- UIDevice
- Make selective UIView corners rounded
- Custom UIViews from XIB files
- UIBezierPath
- UIPickerView
- UIFeedbackGenerator
- UIAppearance
- UIKit Dynamics with UICollectionView
- UIPheonix - easy, flexible, dynamic & highly scalable UI framework
- UIKit Dynamics
- UI Testing
- Change Status Bar Color
- UISegmentedControl
- Passing Data between View Controllers
- Managing the Keyboard
- Checking for Network Connectivity
- Accessibility
- Auto Layout
- MKMapView
- NSArray
- NSAttributedString
- Convert HTML to NSAttributed string and vice verse
- NSTimer
- NSDate
- NSNotificationCenter
- NSURLSession
- NSUserDefaults
- NSHTTPCookieStorage
- NSURLConnection
- NSURL
- NSData
- NSInvocation
- NSUserActivity
- NSPredicate
- NSBundle
- CAAnimation
- Concurrency
- CAGradientLayer
- Safari Services
- CALayer
- iOS - Implementation of XMPP with Robbie Hanson framework
- Swift and Objective-C interoperability
- Custom fonts
- AVSpeechSynthesizer
- Localization
- Alamofire
- iBeacon
- CLLocation
- Checking iOS version
- Universal Links
- PDF Creation in iOS
- In-App Purchase
- CGContext Reference
- Core Location
- FacebookSDK
- AFNetworking
- CTCallCenter
- Push Notifications
- Extension for rich Push Notification - iOS 10.
- Rich Notifications
- Key Value Coding-Key Value Observation
- Initialization idioms
- Storyboard
- Background Modes and Events
- Fastlane
- CAShapeLayer
- WKWebView
- UUID (Universally Unique Identifier)
- Categories
- Handling URL Schemes
- Realm
- ARC (Automatic Reference Counting)
- Dynamic Type
- SWRevealViewController
- DispatchGroup
- GCD (Grand Central Dispatch)
- Size Classes and Adaptivity
- IBOutlets
- AWS SDK
- Debugging Crashes
- CloudKit
- GameplayKit
- Xcode Build & Archive From Command Line
- XCTest framework - Unit Testing
- AVPlayer and AVPlayerViewController
- Deep Linking in iOS
- Core Graphics
- Segues
- EventKit
- SiriKit
- Contacts Framework
- iOS 10 Speech Recognition API
- StoreKit
- Code signing
- Create .ipa File to upload on appstore with Applicationloader
- Size Classes and Adaptivity
- MKDistanceFormatter
- 3D Touch
- GameCenter Leaderboards
- Keychain
- Handle Multiple Environment using Macro
- Set View Background
- Block
- Content Hugging/Content Compression in Autolayout
- iOS Google Places API
- Navigation Bar
- App wide operations
- CoreImage Filters
- Face Detection Using CoreImage/OpenCV
- MPMediaPickerDelegate
- Graph (Coreplot)
- FCM Messaging in Swift
- Create a Custom framework in iOS
- Custom Keyboard
- AirDrop
- SLComposeViewController
- AirPrint tutorial in iOS
- Carthage iOS Setup
- Healthkit
- Core SpotLight in iOS
- Core Motion
- QR Code Scanner
- plist iOS
- WCSessionDelegate
- AppDelegate
- App Submission Process
- FileHandle
- Basic text file I/O
- iOS TTS
- MPVolumeView
- Objective-C Associated Objects
- Passing Data between View Controllers (with MessageBox-Concept)
- MVVM
- Cache online images
- Chain Blocks in a Queue (with MKBlockQueue)
- Simulator
- Background Modes
- OpenGL
- MVP Architecture
- Configure Beacons with CoreBluetooth
- Core Data
- Profile with Instruments
- Application rating/review request
- MyLayout
- Simulator Builds
- Simulating Location Using GPX files iOS
- SqlCipher integration
- Security
- App Transport Security (ATS)
- Guideline to choose best iOS Architecture Patterns
- Multicast Delegates
- Using Image Aseets
- Runtime in Objective-C
- ModelPresentationStyles
- CydiaSubstrate tweak
- Create a video from images
- Codable
- Load images async
- Adding a Swift Bridging Header
- Creating an App ID
- Swift: Changing the rootViewController in AppDelegate to present main or login/onboarding flow











