Get Started. It's Free
or sign up with your email address
Rocket clouds
OJT'S by Mind Map: OJT'S

1. Plesk

1.1. Why Plesk?

1.1.1. Pros

1.1.1.1. It's Linux and Windows-capable

1.1.1.1.1. Offers greater control at the OS level

1.1.2. Cons

1.2. Managing a WEBSITE/DOMAIN

1.2.1. DNS related Tasks

1.2.1.1. types of DNS records

1.2.1.1.1. A records

1.2.1.1.2. MX records

1.2.1.1.3. TXT records

1.2.1.1.4. SRV records

1.2.1.1.5. NS records

1.2.1.1.6. CNAME records

1.2.1.1.7. PTR records

1.2.1.1.8. DS records

1.2.1.1.9. AAAA records

1.2.1.2. we add a domain name

1.2.1.2.1. e.g. www.example.com

1.2.1.2.2. check if domain name is still available

1.2.1.2.3. if available, pay the registration fee to register the domain with the registrars

1.2.1.2.4. Master/Slave

1.2.1.3. DNS Setting

1.2.1.3.1. Add DNS Records

1.2.1.3.2. Disable DNS

1.2.1.3.3. Remove DNS

1.2.1.3.4. Reset to default

1.2.2. web hosting related tasks

1.2.2.1. provisioning a new website

1.2.2.1.1. removing a website

1.2.2.2. Applications

1.2.2.2.1. adding an application

1.2.2.2.2. removing an application

1.2.2.3. IMPORT/EXPORT DATABASE

1.2.2.3.1. Import

1.2.2.3.2. Export

1.2.2.4. suspending an account

1.2.2.5. reactivating an account

1.2.2.6. Website Directory Structure

1.2.2.6.1. Custom Document Root

1.2.2.6.2. Linux

1.2.2.6.3. Windows

1.2.2.7. Custom Virtual Host Template

1.2.2.7.1. To create a custom virtual host template, create a directory on your local file system, and then create one or more of the following directories inside it:

1.2.2.8. Website Preview

1.2.2.8.1. Default Quick Preview

1.2.2.8.2. Quick Preview on a domain name in Plesk

1.2.2.8.3. Quick Preview on an external domain name

1.2.2.8.4. Disable Quick Preview.

1.2.2.9. PHP Management

1.2.2.9.1. Multiple PHP Versions

1.2.2.9.2. Configuring the PHP settings

1.2.3. email related tasks

1.2.3.1. register domain and create MX records (see DNS related tasks)

1.2.3.2. How to create an email address

1.2.3.2.1. How to delete an email account

1.2.3.3. how to suspend and unsuspend an email account

1.2.3.3.1. how to change webmail

1.2.3.4. setup a catch-all account

1.2.3.4.1. configure email limits

1.2.4. Security related Tasks

1.2.4.1. how to restrict site to IP address/es

1.2.5. web monitoring tasks

1.2.5.1. WEB STATISTICS

1.2.5.1.1. Webspace Name

1.2.5.1.2. System User

1.2.5.1.3. Disk Space

1.2.5.1.4. Traffic

1.2.5.2. usage statistics

1.2.5.2.1. sample screen

1.3. User Management

1.3.1. CREATE A USER ACCOUNT

1.3.2. change Password

1.3.3. Modify User account

1.3.3.1. c

1.3.4. delete user account

1.3.5. User Role

1.3.5.1. Administrator

1.3.5.2. Accountant

1.3.5.3. Application User

1.3.5.4. Web Master

1.4. Backup and Restore

1.4.1. Perform a manual backup

1.4.1.1. export the backup

1.4.2. Schedule an automated backup

1.4.2.1. restoring your backup

1.5. All About Extensions and Plugins

1.5.1. File manager

1.5.1.1. Upload a file

1.5.1.1.1. remove a file

1.5.1.2. creating a new directory

1.5.1.2.1. Create a file

1.5.1.3. extract archive

1.5.1.3.1. Adding files to an archive

1.5.2. File Sharing

1.5.2.1. personal file

1.5.2.2. Shared file

1.5.2.3. Public File

1.5.2.4. Password Protected File

1.5.2.5. Store Files on Server

1.6. Plesk Updates and Upgrades

1.6.1. Plesk Versioning

1.6.1.1. Improving and making it more modern for easy use.

1.6.2. Plesk Updates

1.6.2.1. Updating Plesk and System Components Automatically

1.6.2.2. Updating System and Third-Party Components Manually(Linux)

1.6.3. Plesk Upgrades

1.6.3.1. Plesk Upgrades and Release Tiers

1.6.3.2. Applying Plesk Upgrades

1.6.3.3. Plesk Upgrades and License Keys

1.6.4. Changing the Updates/Upgrades Source

1.6.5. Reporting Upgrade Problems

2. TEAM BUILDING

2.1. We learned and discussed on how to enhance our ability to decide faster in a critical condition as a group.

3. Docker

3.1. pros

3.1.1. 1. Isolation

3.1.2. 2. Lightweight

3.1.3. 3. Resource-effective

3.1.4. 4. Security

3.1.5. 5. Low overhead

3.1.6. The containers share the kernel with the hostl hence it is lightweight and can start and stop quickly.

3.1.7. 6. Mirror production & Dev't environment

3.2. cons

3.2.1. 1. Same architecture

3.2.2. 2. Resource-heavy apps

3.3. Udemy Training

3.3.1. Introduction

3.3.1.1. What does this course cover

3.3.1.1.1. what you can build with docker and how to do it

3.3.1.2. Dealing with issues

3.3.1.2.1. The art of debugging issues

3.3.1.2.2. Reporting an issue

3.3.1.3. Life without Docker

3.3.1.3.1. [B]. Three times the effort to manage the deployment while from with docker it takes single effort

3.3.1.4. Quiz

3.3.2. Getting setup

3.3.2.1. Preparing your system for Docker

3.3.2.1.1. [B]. Before the docker came along, the development of the pipeline typically consisted of combinations of various technologies for managing the movement of software

3.3.2.1.2. Download Virtual Box

3.3.2.1.3. Download Xubuntu Linux

3.3.2.2. Using Docker in Plesk

3.3.2.2.1. Plesk Documentation and Help Portal link (click here)

3.3.2.2.2. For the tutorial video (click here)

3.3.2.3. Installing Docker

3.3.2.3.1. 3. Open the repo folder,pool folder,main folder,d folder,docker engine folder

3.3.2.3.2. 1. Open the web browser of Xubuntu

3.3.2.3.3. 2. Type apt.dockerproject.org

3.3.2.3.4. 4.Click the http://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_1.8.3-0~trusty_amd64.deb

3.3.2.4. Installing Sublime Text 3

3.3.2.4.1. 1. Open terminal emulator

3.3.2.4.2. 2. Type "sudo add-apt-repository ppa:webupd8team/sublime-text-3"

3.3.2.4.3. 3. Type "sudo apt-get update"

3.3.2.4.4. 4. Type "sudo apt-get install sublime-text-installer"

3.3.2.4.5. 5. Type "subl " to run sublime

3.3.3. Docker Basics

3.3.3.1. Build, Ship, and Run Any App, Anywhere

3.3.3.2. 5 benefits of Docker

3.3.3.2.1. 1. Scale up quickly

3.3.3.2.2. 2. Expand your development team painlessly

3.3.3.2.3. 3. Use whatever technology fits best

3.3.3.2.4. 4. Cross environment consistency

3.3.3.2.5. 5. Docker is a framework

3.3.3.3. What does docker do?

3.3.3.3.1. Packages a service into a standardized unit

3.3.3.3.2. Everything is included to make it run

3.3.3.3.3. Runs the same way on multiple machines

3.3.3.4. Docker Image vs Docker Container

3.3.3.4.1. An image contains everything your service needs to run

3.3.3.4.2. A container is a running instance of an image

3.3.3.4.3. As a developer, think about a class vs instance of that class

3.3.3.4.4. Docker image

3.3.3.5. [B]. Docker Subcommands

3.3.3.5.1. [B]. Docker Build

3.3.3.5.2. [B]. Docker run

3.3.3.5.3. [B]. Docker Commit

3.3.3.5.4. [B]. Docker tag

3.3.3.5.5. Docker --help

3.3.3.5.6. Docker --version

3.3.3.6. What is Docker good for?

3.3.3.6.1. why would you use Docker, and for what? The short answer to the “why” is that for a modicum of effort, Docker can save your business a lot of money quickly.

3.3.3.7. [B]. Building a docker application

3.3.3.8. [B]. Creating docker images

3.3.3.8.1. Docker commands

3.3.3.8.2. Dockerfile

3.3.3.8.3. Configuration management tool (CM)

3.3.3.8.4. Scratch image and import set of files

3.3.3.9. Create a Docker Images

3.3.3.9.1. 1. Open Terminal Emulator

3.3.3.9.2. 2. Type "docker run --rm busybox:latest"

3.3.3.9.3. 3. Type "docker images"

3.3.3.10. Delete a Docker Image

3.3.3.10.1. 1. Open Terminal Emulator

3.3.3.10.2. 2. Type "docker images"

3.3.3.10.3. 3. Type "docker rmi <image id from running the above command>"

3.3.3.10.4. 4. Type "docker images" again

3.3.4. Building a dockerized webapp

3.3.4.1. Create the MobyDock folder inside of a new Projects folder in your home directory

3.4. Upload Docker Images in the Docker Hub

3.4.1. Pushing and Pulling to and from Docker Hub(click here)

4. Kotlin

4.1. for Server Side

4.2. for Android

4.3. for Javascript

4.4. Advantages of Using Kotlin

4.4.1. Compatibility

4.4.2. Performance

4.4.3. Interoperability

4.4.4. Footprint

4.4.5. Compilation Time

4.4.6. Easy to Learn

4.4.7. Reliability

4.4.8. Better effeciency as a programmer

4.4.9. Friendly adapters around many of the standard Android API's

4.4.10. Free and Open Source

4.4.11. Terrific Support and Great tools

4.4.12. Kotlin comes from industry,not academia. It solves problems faced by working programmers today.

4.5. Kotlin language features

4.5.1. Static typing

4.5.1.1. STATICALLY TYPED LANGUAGE

4.5.1.1.1. types are known compile time and can be cheked

4.5.1.1.2. JVM support dynamicaly

4.5.1.2. Advantages of Static Typing

4.5.1.2.1. Performance is better because there is no need at runtime to figure out what methods needs to be called

4.5.1.2.2. Programs are more reliable because of fewer crashes at runtime(compiler finds errors.)

4.5.1.2.3. Codes is easier to maintain because you can identify types better.

4.5.1.3. kotlin does not require you to specify the type of every tyoe of variable

4.5.1.3.1. Determined from context (type Inference)

4.5.2. Object oriented and functional

4.5.2.1. Purely functional but supports many concepts from functional programming

4.5.2.1.1. Lambda expression

4.5.2.1.2. First class function

4.5.2.2. It is designed around Objects supports concepts such as inheritance,polymorphism and Generics

4.5.3. Null Safety

4.5.3.1. Java code is defensive, need to check continously whether an object is null before using it(NullPointerException)

4.5.3.2. Kotlin solves this problems

4.5.3.2.1. Using safe call operators and many other ways.

4.5.3.3. Can only cause NullPointerExceptions in Kotlin by:

4.5.3.3.1. An explicit call to throw NullPointerException()

4.5.3.3.2. External Java code has caused it

4.5.4. Generics

4.5.4.1. Classes and interfaces

4.5.4.1.1. Parameters provide a way for you to re-use the same code with different output

4.5.4.1.2. The inputs to type parameters are types

4.5.4.2. Opposite of polymorphism

4.5.4.3. Similar to c++ templates

4.5.5. Extension Functions and Operator Overloading

4.5.5.1. Extension Functions

4.5.5.1.1. Extend any class with new features even if we do not have access to the source code

4.5.5.1.2. Kotlin does this quite a bit wtih the Java Collections package

4.5.5.2. Operator Overloading

4.5.5.2.1. Provide implementations for a predefined set of operators like +, = or ==

4.5.6. Data Classes

4.5.6.1. Simplify classes, adding equals(), hashcode(), copy(), and toString() methods automatically

4.5.6.2. Clarify the intention of the model and separates pure data from business logic.

4.5.7. Comparison to Java

4.5.7.1. Java features that Kotlin lacks

4.5.7.1.1. Checked exceptions

4.5.7.1.2. Primitives types that are not classes

4.5.7.1.3. Static members

4.5.7.1.4. Non-private fields

4.5.7.1.5. Wildcard types

4.5.7.2. Kotlin features that are not in Java

4.5.7.2.1. Lambda Expressions(inline functions

4.5.7.2.2. Extension Functions

4.5.7.2.3. Null Safety

4.5.7.2.4. Smart Casts

4.5.7.2.5. String Templates

4.5.7.2.6. Properties

4.5.7.2.7. Singletons

4.5.7.2.8. Operator Overloading

4.5.7.2.9. Companion Objects

4.5.7.2.10. Data Classes

4.5.7.2.11. Coroutines

4.6. Installing the jdk (JAVA DEVELOPMENT KIT)

4.6.1. http:/www.oracle.com/technetwork/java/javase/downloads/index.html

4.6.1.1. Download jdk

4.7. Installing the intellij Idea (Integrated Development Environment)

4.7.1. https:/www.jetbrains.com/idea/download

4.7.1.1. Download intellij idea

5. Slack

5.1. Slack is a cloud-based set of team collaboration tools and services. Founded by Stewart Butterfield, slack began as an internal tool used by their company - Tiny Speck, in the development of Glitch - a now defuct online game.

5.2. A messaging app for teams

5.3. Works with other apps too, including Skype for video calls.

6. Planned Projects

6.1. dump in here all suggestion as to what the capstone project will be for each of the two groups

6.1.1. Document Management System (DMS)

6.1.1.1. DMS is a system used to track, manage, and store documents and reduce paper. Most are capable of keeping a record of the various versions created and modified by different users (history tracking). The term has some overlap with the concepts of content management systems. It is often viewed as a component of enterprise content management (ECM) systems and related to digital asset management, document imaging, workflow systems and records management systems.

6.1.1.2. MySQL

6.1.1.2.1. Stores the ocr text

6.1.1.3. Docker

6.1.1.3.1. Serves as a container

6.1.1.4. Android Studio

6.1.1.4.1. we will use this to build our app

6.1.1.5. Kotlin Language

6.1.1.5.1. Programming language that will use to create the android application

6.1.1.6. Camera

6.1.1.6.1. we will use this to capture images

6.1.1.7. Google Drive

6.1.1.7.1. This is where the uploaded images automatically goes after capturing an image.

6.1.1.8. Project Objective

6.1.1.8.1. It gives less effort to the user and easy to use.

6.1.2. Driver's Driving Patterns Mobile App

6.1.2.1. A system and method for monitoring the performance of a driver

6.1.2.2. first you need to get the drivers information

6.1.2.2.1. Drivers Name

6.1.2.2.2. Current location

6.1.2.2.3. Plate number

6.1.2.3. Drivers pattern

6.1.2.3.1. Sudden breaking

6.1.2.3.2. swerving

6.1.2.3.3. acceleration

6.1.2.3.4. speed

6.1.2.3.5. travel distance

6.1.2.3.6. GPS

6.1.2.3.7. Time

6.1.2.4. Docker image

6.1.2.4.1. As a container

6.1.2.5. Kotlin language

6.1.2.5.1. Programming language that we will use to create our android application

6.1.2.6. MQ Telemetry Transport

6.1.2.6.1. A protocol ideal of the emerging “machine-to-machine” (M2M) or “Internet of Things” world of connected devices, and for mobile applications where bandwidth and battery power are at a premium

6.1.2.7. Android studio

6.1.2.7.1. We will use this to build our project

6.1.2.8. Our project objective

6.1.2.8.1. To evaluate the driving performance of the driver

6.1.2.9. MYSQL

7. Notes: [B] means the content came from the book

8. Installing Ubuntu in Virtual Box

8.1. 1. Download the iso-image

8.1.1. 2. Create the virtual server

8.1.1.1. 3. Specify the name for the virtual machine, the os and the memory size.

8.1.1.1.1. 4. Configure the memory size. Click 'create' to complete the creation of the virtual server

8.2. 6. Choose the hard disk file type

8.2.1. 7. Configuration of the hard disk. The click Create to complete the creation of the virtual server

8.2.1.1. 8. Set the file location and size

8.2.1.1.1. 9. Pick your language

8.3. 12. Select timezone

8.3.1. 13. Pick the keyboard type

8.3.1.1. 14. Create a username, password, and computer name. You will log in with this userid after the installation.

8.3.1.1.1. 15. Installation complete

9. Android studio

9.1. Android Studio provides the fastest tools for building apps on every type of Android device

9.2. World-class code editing, debugging, performance tooling, a flexible build system, and an instant build/deploy system all allow you to focus on building unique and high quality apps

9.2.1. Instant Run

9.2.1.1. Push code and resource changes to your app running on a device or emulator and see the changes instantly come to life

9.2.1.2. Instant Run dramatically speeds up your edit, build, and run cycles, keeping you "in the flow.

9.2.2. Fast and feature-rich emulator

9.2.2.1. Install and run your apps faster than with a physical device and test your app on virtually any Android device configuration: Android phones, Android tablets, Android Wear, and Android TV devices

9.2.3. Develop for all Android devices

9.2.3.1. Target multiple form factors with a single project to easily share code among your different versions of your app

9.2.4. Code templates and GitHub integration

9.2.4.1. Start projects with code templates for patterns such as navigation drawer and view pagers, or import Google code samples from GitHub

9.2.5. Robust and flexible build system

9.2.5.1. Easily configure your project to include code libraries and generate multiple build variants from a single project

9.2.6. Code templates and GitHub integration

9.2.6.1. Start projects with code templates for patterns such as navigation drawer and view pagers, or import Google code samples from GitHub

10. MQTT

10.1. Internet of things

10.2. Machine-to-machine messaging MQTT is the machine-to-machine protocol of the future. It's minimal design makes it perfect for built-in systems, mobile phones and other memory and bandwidth sensitive applications

10.3. publish/subscribe messaging transport

10.4. small size, low power usage, minimised data packets, and efficient distribution of information to one or many receivers