Författararkiv codedByMadi.NET

AvcodedByMadi.NET

C++ Standard Template Library in Practice

Pågående kurs – UDEMY 2021-07


C++ is one of the most widely used programming languages. Fast, efficient, and flexible, it is used to solve many problems. In particular, it is the Standard Template Library (STL) that gives C++ its power. In this course, we show you how.

Using real-world examples, we focus on how STL handles and manipulates data. We examine containers and iterators, and how data can be transformed into meaningful information using algorithms. There is coverage of I/O streams, strings and numerical methods, and how performance can be optimized through careful consideration of memory allocation and manipulation. We also demonstrate how multitasking and shared data is handled through concurrency and parallelism classes and utilities.

By the end of the course, you will understand the newer aspects of C++ STL and will be able to overcome tasks that are time-consuming or would break your stride while developing.

About the Author

James Slocum has been a professional developer for over 10 years. He graduated from NJIT with a Bachelor’s degree in Computer Engineering in 2008, and again with a Master’s in Computer Science in 2011. He currently works for Audible as a software engineer and tech lead for the library group. The languages he uses the most are Java, JavaScript, C++, and Dart. In his free time, he enjoys learning about new languages and technology.

What you’ll learn

  • Efficient and effective ways to store data using STL containers
  • Manage application performance using STL memory allocation classes, and enhance these classes by developing your allocation routines
  • How data is structured and how the structure can be traversed using iterators
  • How algorithms are used to transform data into useful and meaningful information
  • Multitasking and managing shared data using concurrency and parallelism
  • Managing input and output (I/O) using streams and the role of stream buffers
  • How the STL has standardized common tasks

Are there any course requirements or prerequisites?

  • This video course is designed for both experienced C++ programmers and people with some knowledge of OOP concepts.

Who this course is for:

  • If you want to overcome difficult phases of development with C++ and leverage its features using modern programming practices, then this course is for you.
AvcodedByMadi.NET

Udemy pågående kurs – Qt 5 C++

About this course

Build Cross Platform C++ GUI Applications with Qt, Run them on Windows, Mac, Linux, Android, iOS and Embedded Devices

This course will take you from zero to a level where you can write any Qt C++ Gui application you may want. It is aimed at complete beginners but people with varying levels of experience wishing to learn Qt C++ Gui will equally find it useful.

Qt is second to none in the field of building cross platform GUI application based on C++. It can currently be used to build software that runs on virtually any platform out there: Windows, Mac, Linux, Android, IOS and even embedded systems. You basically build your software once and all you have to do is build it for your desired platform and voila !

The course starts with a complete beginner to both C++ and Qt in mind, and we take  you through the the process of getting your environment set up on your platform of choice :

  • We do a live install of Qt Creator on Windows
  • We do a live install of Qt Creator on Linux
  • We guide you though how you would install Qt Creator on a Mac
  • We guide you through Qt Creator showing you the tools that work together to get your application built

We then take you on a tour of the C++ programming language, covering the concepts deemed important to start working with Qt to build your shinny GUI applications. You don’t need to be a C++ wizard to start writing your applications using Qt. One of the goals behind Qt itself is to be as easy to use as possible, helping you to focus on your application logic rather than the C++ complex plumbing. This does not mean that you can do with zero C++ knowledge though. That’s why we take you on a tour to cover the basic concepts of the language covering topics like:

  • Running your first console application and understanding the main function
  • Streams that help you write and read data from your C++ applications
  • Variables and Data Types
  • Basic C++ Operators and Control flow where among other things you learn about if clauses and loops
  • Build an app to guess numbers and put together the concepts learned so far
  • C++ Functions
  • C++ classes
  • Building your first Qt C++ GUI Application
  • Building a GUI Version of your Number guessing game

We then visit the fascinating concept signals and slots in Qt where  you learn the most flexible way to respond to events : 

  • We’ll explore lambda functions in C++ in general, we’ll need them to use their SIGNAL SLOT syntax
  • We explore different ways to connect signals to slots in Qt
  • We then do a concept enforcing demo for you to try them out

Next we dive in the Qt Widgets section and visit some of the most important widget classes in Qt : 

  • QWiget
  • QMainWindow
  • QMessageBox
  • QPushButton
  • QLineEdit
  • QTextEdit
  • QLabel
  • QHBoxLayout, QVBoxLayout, QGridLayout
  • We visit size policies and stretches and how they help tie the knots in  your layouts
  • QCheckBox and QRadioButton
  • QList
  • QComboBox
  • QListWidget
  • QTabWidget
  • QMenu, QToolBar, QAction

Dialogs are explored next , we look at QDialog and how to build  your own custom dialog class from scratch , QDialogButtonBox, QMessageBox, QFontDialog, QFileDialog, QInputDialog and how they add a layer of interactivity to your Qt GUI applications.

We then go on and explore how to work with the Qt Resource System , Styling your Qt applications with QStyle, QPalette and Style Sheets, Saving your application settings with QSetting, Working with Files and Directories using QFile and QDir and we wrap up the course with a tour of the network capabilities of Qt where we : 

  • See the different classes that are available to work with networks in Qt
  • Build an application to download web pages in our Qt Applications
  • Build an application to consume Rest APIs in your Qt Applications

This course was designed to help you succeed in becoming a Qt Gui application developer regardless of your current level of expertise. The only requirement is to bring in an open mind and a strong willingness to learn. Now, please check out some of the preview videos andl let’s get you STARTED building cross platform GUI applications using Qt.

What you’ll learn

  • The fundamentals of working with Qt to build C++ Gui Applications
  • Working with Qt Widget Classes
  • Working with Dialog Classes
  • Using the Qt Resource System
  • Styling Qt Applications
  • Working with Networks to fetch HTTP Data
  • Working with the File System
  • Model View Architecture

AvcodedByMadi.NET

Bilens några funktioner med Arduino UNO | MCU Atmega168

Bakgrund:

Bilar är typiska exempel på system som innefattar många mindre system som pratar med varandra. Exempelvis så kan lås, larm och lampor aktiveras/avaktiveras med ett enda knapptryck från fjärrkontrollen och inställningar för motor, antisladd system och så vidare kan reglera sig själva utifrån mätvärden från olika sensorer. 

I bilar pratar man om flera olika ECUs – Electronic Control Units, som har hand om dessa delsystem och som inte är helt olika vår microcontroller. Dessa ECU:er kommunicerar med varandra och interagerar med varandra. Ett vanligt protokoll för kommunikation är CAN BUS.

Det här gör bilar till bra exempel på komplicerade system där många delsystem faktiskt inte har någonting alls att göra med själva körandet av bilen.

Uppgiften:

Tanken med den här uppgiften är att fokusera på kringliggande system i en bil, eller ska vi säga konceptet för kringliggande system i en bil och att bygga ett system med vår microcontroller som hanterar flera mindre bitar i en tänkt bil. 

Det här kommer ske med vad vi har i kit:et och kopplas på vår breadboard, så lite fantasi kommer man ju få använda också. Vi har ju inga hjul t ex, men vi har en motor och en fläkt och den kan visa oss vilket håll motorn snurrar så vi kan avgöra om vi åker framåt eller bakåt. Detsamma gäller för att svänga på hjulen, som får symboliseras av ett servo. Se detta som ett proof-of-concept, som ni får förklara också i samband med redovisningen av projektet. 

Uppgiften består av några obligatoriska delar som SKA vara med i projektet:

  • Bilen ska kunna svänga(med hjälp av servot)
  • Bilen ska kunna köra framåt och bakåt (med hjälp av IC-krets motordrivare och motor)
  • Bilen ska kunna tuta (med hjälp av buzzer)
  • Man ska kunna styra bilen (Styrspaken sköter framåt/bakåt samt svänga höger/vänster + tuta när styrspak trycks ned)

För er som siktar på högre betyg finns det också möjlighet att bygga på med ytterligare system. 

Dessa väljer ni själva, kombinerar eller hittar på, men exempelvis:

  • Backvarnare: (Med hjälp av LEDs, Buzzer och avståndsmätare HC-SR04)
  • Dörrlås: (Med hjälp av fjärrkontroll, IR-mottagare, buzzer och LEDS)
  • Frostvarnare: (Med hjälp av Termometer och LCD)
  • Automatiskt Helljus: (Med hjälp av Fotoresistor och LED)
  • Kupé-dimmer:(Ljuset dimmar ned 5 sekunder efter att dörren stängts; dörr symboliseras av en knapp och belysning av en LED)
  • Heads-up-display: (Visa bensinförbrukning, hastighet osv mha LCD, växla info mha knapp eller potentiometer)
  • Växelindikator: (med 7-segmentsdisplay)
  • Hastighetsmätare: (med 4-siffrig 7-segmentsdisplay)
  • Ytterbelysning (blinkers, bromsljus, backljus, helljus): (Med hjälp av LEDs och knappar

AvcodedByMadi.NET

Hemautomationscentral med Atmega168

Menysystem med LCD

Funktionerna kommer att symboliseras av en LED (för varje funktion) och de funktioner som ska finnas i systemet är:

Belysning:

  • Vardagsrum
  • Kök

Värme:

  • Golvvärme

Vitvaror:

  • Kaffebryggare

BelysningVärme och Vitvaror blir alltså egna kategorier som kommer ha underkategorier under sig. 

Det ska gå att läsa av i menysystemet huruvida ett system är aktivt och dessutom ska respektive LED vara tänd om systemet är aktivt. 

Inlämning:

Det är ok att använda valfria bibliotek i denna uppgift (inklusive Arduino.h ,Liquid Crystal.h eller ert egna LCD-bibliotek)

AvcodedByMadi.NET

Knight Rider med Atmega168

Manipulation av I/O pinnar på MCU Atmega 168 – Lågnivå programmeringsspråk C / C++

I den gamla hederliga serien Knight Rider från 80-talet så kör huvudpersonen runt i en bil med en lysramp i fronten, där ljuset sveper fram och tillbaka från sida till sida.

#include <avr/io.h>
#include <util/delay.h>

void portON(){
  DDRB = 255;
  DDRD = 255;
}

void ledToLeft(){
// LED1  ON
    PORTB |= 1 << PB3;

    _delay_ms(100);

    // LED1  OFF
    PORTB &= ~(1 << PB3);

    // LED2  ON
    PORTB |= 1 << PB2;
    _delay_ms(100);
    // LED2  OFF
    PORTB &= ~(1 << PB2);

    // LED3  ON
    PORTB |= 1 << PB1;
    _delay_ms(100);

    // LED3  OFF
    PORTB &= ~(1 << PB1);

    // LED4  ON
    PORTD |= 1 << PD6;

    _delay_ms(100);

    // LED4  OFF
    PORTD &= ~(1 << PD6);

    // LED5  ON
    PORTD |= 1 << PD5;
    _delay_ms(100);
    // LED5  OFF
    PORTD &= ~(1 << PD5);

    // LED6  ON
    PORTD |= 1 << PD3;
    _delay_ms(100);

    // LED6  OFF
    PORTD &= ~(1 << PD3);
}

void ledToRight(){
    // LED5  ON
    PORTD |= 1 << PD5;
    _delay_ms(100);
    // LED5  OFF
    PORTD &= ~(1 << PD5);

    // LED4  ON
    PORTD |= 1 << PD6;

    _delay_ms(100);

    // LED4  OFF
    PORTD &= ~(1 << PD6);

    // LED3  ON
    PORTB |= 1 << PB1;
    _delay_ms(100);

    // LED3  OFF
    PORTB &= ~(1 << PB1);

    // LED2  ON
    PORTB |= 1 << PB2;
    _delay_ms(100);
    // LED2  OFF
    PORTB &= ~(1 << PB2);
}

int main()
{
  portON();

  while (1)
  {
    ledToLeft();
    ledToRight();
  }
  
}
AvcodedByMadi.NET

Trafikljus med Atmega168

Manipulation av I/O pinnar på MCU Atmega 168 – Lågnivå programmeringsspråk C / C++

Uppgiftsbeskrivning:

1) När din microcontroller startar ska endast röd lysdiod tändas. 

2) Efter 3 sekunder ska röd lysdiod släckas och gul tändas.

3) När endast gul lysdiod varit tänd i 2 sekunder, ska den slockna och grön diod tändas.

4) Endast den gröna lysdioden lyser i 5 sekunder, sen slocknar den

5) Då tänds gul OCH röd lysdiod i två sekunder och sen slocknar den gula

6) Vi är nu tillbaka i ursprungsläget och endast röd lysdiod lyser. 

#include <avr/io.h>
#include <util/delay.h>

int main()
{

  DDRB = 255;

  while (1)
  {
    // LED RED ON
    PORTB |= 1 << PB5;

    // Delay 2sec
    _delay_ms(3000);

    // LED Red OFF
    PORTB &= ~(1 << PB5);

    // LED Yellow ON
    PORTB |= 1 << PB4;

    // Delay 2sec
    _delay_ms(2000);

    // LED Yellow OFF
    PORTB &= ~(1 << PB4);

    // LED Green ON
    PORTB |= 1 << PB0;

    // Delay 5sec
    _delay_ms(5000);

    // LED Green OFF
    PORTB &= ~(1 << PB0);

    // RED & Yellow ON
    PORTB |= 1 << PB5;
    PORTB |= 1 << PB4;

    // Delay 2sec
    _delay_ms(2000);

    // All B ports OFF
    PORTB = 0;
  }
}

AvcodedByMadi.NET

Docker and Containers: The Essentials

About this course

Whether you’re a business user who wants to know more Docker and Containers, or a hard core techie looking to dip her toes into the container waters, you will definitely enjoy and learn from this course. 

No previous knowledge of Docker or containers is necessary to take this course.  We will teach you everything you need to know.

This is not a course that will do a deep technical dive to teach you how to developewith docker. If you would like a course like that please look to my docker for developers course. This course will give you a great high level overview of the container ecosystem and docker but will not go over detailed developer examples.  Once again please look to the Docker for Developers course for this. 

 Docker and containers are a whole new way of developing and delivering applications and IT infrastructure. This course will cover Docker and containers, container registries, container orchestration, understand if this will work for the enterprise, and how to prepare yourself for it. You’ll learn how this is going to impact you as an individual as well as the teams and organizations you work for. 

In this course you will learn about:  

1) What containers are and why you should care  

2) What is Docker and how it is revolutionizing the way we deploy our applications.  

3) How to prepare for containers so you can take your career to the next level.  

4) How to prepare your company for the container revolution  

5)  What type of work containers will help you with.  

6) What a container registry is and how to work with one  

7) The container ecosystem and how to use it to your advantage  

8) What container orchestration is and how you can use it to your advantage.  

And Much More  

What you’ll learn

  • Have a great understanding of Docker and cotainers
  • Prepare their company’s strategy for containers
  • Have engagining talks about Docker and containers
  • Prepare for the coming container-palooza
  • Talk about Docker Hub and container registries
  • Prepare themselves for virutualization 2.0
  • Work with container orchestaion

AvcodedByMadi.NET

Raspberry Pi, Python, and Electronics Bootcamp

About this course

Get Started with Raspberry Pi, Python 3, and innovation!

This is the most comprehensive, yet straight-forward course for the Raspbian OS setup for Raspberry Pi on Udemy! 

With over 3 hours of video lectures, this comprehensive course leaves no stone unturned for Raspbian OS Setup on Raspberry Pi! This course has Video Lectures and downloadable PDFs containing web resources and Linux commands to teach the complete Raspbian OS setup for Raspberry Pi to beginners.

This course will teach you Raspbian OS setup on Raspberry Pi in a very practical, yet easy to understand manner!

This course covers a wide variety of topics, including:

  • Unboxing of Raspberry Pi
  • Various Models of Raspberry Pi
  • Various plastic cases for Raspberry Pi
  • List of download links for various free softwares
  • List of Linux commands used in the video course
  • List of URLs for further exploration of Raspberry Pi
  • Raspbian OS Setup for Raspberry Pi Video Guide
  • Explore various IDEs and software packages in Raspbian OS
  • Learn the basic electronics components
  • Program LEDs in a beautiful way with Python 3 and Raspberry Pi

You will get lifetime access to over 3 hours of video lectures plus corresponding downloadable PDFs for the lectures! 

So what are you waiting for? Learn Raspbian OS Setup for Raspberry Pi to get started with the amazing revolution in learning and innovation!

What you’ll learn

  • Understand what Raspberry Pi is
  • Install and Explore Raspbian OS on Raspberry Pi on your own
  • Get started with Python 3 Programming
  • Create a simple programs for LEDs

AvcodedByMadi.NET

RESTful Web services with ASP.NET Core

About this course


REST is an architectural style that tackles the challenges of building scalable web services. In today’s connected world, APIs have taken a central role on the web. APIs provide the fabric through which systems interact, and REST has become a common style for APIs. The depth, breadth, and ease of use of ASP.NET Coremake it a breeze for developers to work with it to build robust Web APIs. This video course takes you through designing RESTful web services and leverages the ASP.NET Core to implement these services.

Starting from the basic philosophy behind REST, you’ll go through the first steps of designing and implementing an enterprise-grade RESTful web service. Taking a practical approach, each chapter provides code samples that you can apply to your own circumstances. It brings forth the power of the latest .NET Core release, working with ASP.NET Core. It then goes beyond the use of the framework to explore approaches to tackling resilience, security, and scalability concerns.

You will start with the basics of REST and end with building a .NET Application for your RESTful web service.

About The Author :

Fabian Gosebrink is a Software Engineer, Microsoft MVP, Microsoft Technology Ambassador and Microsoft Certified Specialist in web application development as well as a trainer and international speaker.

Fabian develops and teaches developing web applications with Angular, ASP.NET, ASP.NET Core and Typescript/Javascript.

What you’ll learn

  • Explore basic REST principles
  • Build an ASP .NET core project using Visual Studio 2017
  • Work with different environments such as development and production
  • Implement a service interface to read, manipulate, and delete data
  • Extend API functionality with more features
  • Deploy the WebAPI

Are there any course requirements or prerequisites?

  • To make the best use of the code samples included in the video, you should have a basic knowledge of C# and .NET Core.

Who this course is for:

  • This video is intended for those who want to learn to build RESTful web services with the latest .NET Core Version.
AvcodedByMadi.NET

Complete guide to ASP.NET Core MVC (.NET 5)

About this course

Build real world application using ASP.NET Core MVC, Entity Framework Core and ASP.NET Core Identity.

What am I going to get from this course?

  • Learn the structure of ASP NET MVC Core Project
  • Learn the structure of ASP NET Core  Razor Project
  • Learn the fundamentals of ASP NET MVC Core
  • Build 2 Projects throughout the course
  • Integrate Identity Framework and learn how to add more fields to Users
  • Interact with Razor class library for Identity
  • Integrate Entity Framework along with code first migrations
  • Sessions in ASP NET Core
  • Custom Tag Helpers in ASP NET Core
  • View Components and Partial Views in ASP NET Core
  • Bootstrap v4
  • Authentication and Authorization in ASP NET Core
  • Google and Facebook Authentication/Login
  • Role Management in ASP NET Core Identity
  • SMS and Email notifications
  • TempData in ASP NET Core
  • Stripe Payment Integrations
  • Repository Pattern to Access Database
  • Dapper and Stored Procedure Calls
  • Seed Database Migrations Automatically
  • Deploying the website on Microsoft Azure and IIS

What you’ll learn

  • Learn structure of ASP NET MVC Core 3.1 Project
  • Learn structure of ASP NET Core 3.1 Razor Project
  • Learn basic fundamentals of ASP NET MVC Core 3.1
  • Build 2 Projects throughout the course
  • Integrate Identity Framework and learn how to add more fields to Users
  • Interact with Razor class library for Identity
  • Integrate Entity Framework along with code first migrations
  • Sessions in ASP NET Core 3.1
  • Custom Tag Helpers in ASP NET Core 3.1
  • View Components and Partial Views in ASP NET Core
  • Bootstrap v4
  • Authentication and Authorization in ASP NET Core 3.1
  • Google and Facebook Authentication/Login
  • Role Management in ASP NET Core Identity
  • SMS and Email notifications
  • TempData in ASP NET Core 3.1
  • Stripe Payment Integrations
  • Repository Pattern to Access Database
  • Dapper and Stored Procedure Calls
  • Seed Database Migrations Automatically
  • Deploying website on Microsoft Azure and IIS