There are no items in your cart
Add More
Add More
Item Details | Price |
---|
All you need to be excel in one place
CoursesProgramming & Teaching are my Passion, Embedded industries are different compare to other software industries. My mission is to help all my students to be a proffesional programmers in this Embedded world and to be successfull in their career
Passionate Programmer | Teacher | Youtuber | Tech Blogger
Learning Programming Language is not only enough to be a professional programmer. We should also be aware of other things such as build systems, Test Driven Development, Version control etc
Fundamentals of Linux Operating System, How to use Linux as a application developer, setting up the development environment which include IDE setup, alias, installing packages etc.
Fundamentals of C programming and its syntax. Compiler, linker, loader, binaries, libraries, Pointer, Array, Data structures, using external libraries, external linkages etc.
System Programming involves knowledge about Linux kernel, Architecture, File API's, Process, Process Control, Signals and Daemon Processes, Inter Process Communications, Network & sockets Posix threads etc.
C++ being a application level programming, knowing about OOPS, Inheritance, Polymorphism, Abstraction, Classical & Modern C++, STLS's Templates, References, R Value, L Values etc.
Fundamentals of Makefile system, autoconf. Modern build system generators like CMake with different generators like Unix Makefile, Ninja, Visual Studio etc.
There are mainly two widely used Version Controls, SVN and Git. Git is the must and should for any programmer irrespective of embedded or non embedded developers. How to create repo, fork, clone, commit, push etc.
TDD is the best way of developing any software where in we write test case first then develop. The most used unit test framework is Xtest and Google Test. Knowing a Google test framework and save you lot of bug fixing cost later in point
Similar to drawings in Civil engineering we also have various drawings for software development like Class diagrams, Sequence diagram, Component diagram, Flow charts etc.
Knowing S O L I D design principles, idioms like pimpl, factory & 23 design patterns makes a more professional in Embedded industries, which can save lot of your time and development cost if design is proper in place from day one
Using GNU Debugger (gdb), objdump, nm, readelf, postmortem analysis using coredumps, gdb servers, Logging using log4cplus. All these are handy tools every Linux application developer must know
What are toolchains, how program written in X86 host machine can work on ARM using toolchains and cross compilers. How to download them, use them, develop one for your self
Code formatter using clang-format, static analysis tools like clang-tidy, clang-check, cppcheck, Code coverage tools like gcov, lcov. Perforamance analysis tools like lttng, htop, top, etc. Dependency charts generators like Graphiz with CMake
A library or software developed without the documentation & diagrams are of no use, So know about various documentations tools likes Markdown, plantuml, Doxygen etc.
Knowing every thing without sharing is a waste of having the knowledge, So know about how to purchase domain, creating blog, hosting a blog, committing a blog all with spending as less penny which you never thought about
Mastering Linux Application Development
Bhavith C Achar
© Copyright 2023 E-GRASP