2021年2月23日 星期二

如何開啟Google信件服務備份的檔案


        現在將開啟Google備份分頁.BAT與Windows MBox Viewer打包成一個壓縮檔。提供大家方便下載。
       檔案下載,解壓密碼:demo1234

        教學影片:

其流程為

進行步驟: 1.下載Windows MBox Viewer 2.解壓縮 mbox-viewer.exe-v1.0.3.19.zip 3.進入資料夾 mbox-viewer.exe-v1.0.3.19 4.點選 mboxview.exe 5.下載信件備份 或是 點選 開啟Google備份分頁.BAT,取得信件備份。 6.解壓縮信件備份。 7.開啟信件備份。


        如何取得信件備份?

        請對 開啟Google備份分頁.BAT 點兩下,其程式碼如下

檔案名稱:開啟Google備份分頁.BAT
檔案內容:
@echo off
start C:\"Program Files (x86)\Google\Chrome\Application"\chrome.exe https://takeout.google.com/settings/takeout

就會進入Google備份分頁,其樣式如下:
下載後,解壓縮。

      如何開啟郵件備份下來的檔案?要用Windows MBox Viewer來開啟。

下載網址Windows MBox Viewer,點選Windows MBox Viewer,進入下載頁面,如下:


下載後的檔案為壓縮檔,需解壓縮。解壓縮後的檔案如下:
點選mboxview.exe,即可進入程式頁面。
接下來開啟信件備份,其操作方法如下圖:
或是




如何用滑鼠點兩下,進入Google 備份分頁,進行郵件備份

       最近Google 取消教育單位無限空間容量,那要如何備份?上網查一下,發現有Google TakeOut 的工具。那要如何指導老師使用這項工具?希望能建立一個BAT,讓老師點兩下就能進入Google TakeOut 備份分頁進行備份。另外。下載後的檔案要如何開啟?

       現在將開啟Google備份分頁.BAT與Windows MBox Viewer打包成一個壓縮檔。提供大家方便下載。
       檔案下載,解壓密碼:demo1234


       開啟Google備份分頁.BAT使用方法:
                         
其流程如下:
1.請先登入 2.開新分頁 3.輸入網址:https://takeout.google.com/settings/takeout 或是 點選批次檔:開啟Google備份分頁.BAT 4.取消全選 5.點選 要備份的google服務 6.點選 包含所有郵件資料 7.取消 納入「郵件」中的所有訊息--全選 8.針對要備份的部分打勾 --確定 --下一步 9.選擇僅匯出一次--建立匯出作業


檔案下載,解壓密碼:demo1234。內有一個BAT,其功能為開啟Google備份分頁。
檔案名稱:開啟Google備份分頁.BAT
檔案內容:
@echo off
start C:\"Program Files (x86)\Google\Chrome\Application"\chrome.exe https://takeout.google.com/settings/takeout



       那接下來的問題就是...如何開啟?如何開啟Google信件服務備份的檔案


資料來源:

2021年2月22日 星期一

如何用shell快速建立自己的docker-nginx-php-mysql開發環境

 前一篇:建立在CentOS上的 docker 與 mongodb 介紹

經過陳瑩光老師指導後,希望能夠用shell快速完成自己專案開發環境
一、安裝前準備
1.確認安裝版本:
    docker 會呼叫 linux kernel 的 Namespace 與 Cgroup,所以建議使用 CentOS 7。
2.使用虛擬機

二、shell檔案快速完成
檔名:DockerEnvInstall.sh
檔案內容:
#!/bin/bash
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
yum install git
mkdir test
cd test
git clone https://github.com/mark2470mark/docker-nginx-php-mysql.git
cd ~/test/docker-nginx-php-mysql
docker-compose up -d
docker-compose ps

三、設定DockerEnvInstall.sh為可執行
$sudo chmod 755 DockerEnvInstall.sh
$sudo sh DockerEnvInstall.sh

四、設定git
1.命令列建立新的repository
echo "# docker-nginx-php-mysql" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/mark2470mark/docker-nginx-php-mysql.git
git push -u origin main

2.命令列上傳到既有的repository
git remote add origin https://github.com/mark2470mark/docker-nginx-php-mysql.git
git branch -M main
git push -u origin main


只要會用滑鼠點兩下,一鍵下載Google Drive 的檔案

 

檔案下載 解壓密碼demo1234

如何使用?
1.請先取得FILEID與FILENAME
   那要如何取得FILEID與FILENAME?
2.檔案下載,解壓密碼demo1234
3.解壓縮WgetGoogleDriver.rar->產生資料夾WgetGoogleDriver
4.修改資料夾WgetGoogleDriver內的WgetGoogleDriver.bat,將FILEIDFILENAME填入
5.對WgetGoogleDriver.bat點兩下,即可完成下載。


檔案名稱:WgetGoogleDriver.bat
檔案內容:
@echo off
REM -----------------可設定FILEID與FILENAME----------------
set FILEID=1kz6WWMz0KNCQD0QV8A6AK8bYZZTh2UZQ
set FILENAME=5a88tni.7z
REM -----------------以下不用變更--------------------------

REM 產生下載cookies
wget --save-cookies cookies.txt "https://docs.google.com/uc?export=download&id=%FILEID%" -O-

REM 將下載的網址加上confirm參數
for /f "skip=5 tokens=7" %%i IN (cookies.txt) do echo https://docs.google.com/uc?export=download^&id=%FILEID%^&confirm=%%i > url.txt

REM 開始下載檔案
wget --load-cookies cookies.txt -O %FILENAME% -i url.txt

REM 刪除額外產生的檔案
del cookies.txt url.txt .wget-hsts


以下是初始想法與頂番國小李清展老師指導過程

檔案名稱:WgetGoogleDriver.bat
檔案內容:
@echo off
REM -----------------可設定FILEID與FILENAME----------------
set FILEID=1njaoL11f5fLjORBriyaH3wRmwd_vSir7
set FILENAME=MouseSetting.rar
REM -----------------以下不用變更--------------------------
%~dp0EXE/wget --no-check-certificate -r "https://docs.google.com/uc?export=download&id=%FILEID%" -O %FILENAME%
PAUSE

影片中下載的檔案為7z壓縮檔,可用winrar解壓縮。若要用7-zip解壓縮,64位元作業系統請用下圖所示



問題:這個程式要下載Google 雲端硬碟內.7z的檔案,可以完成下載。但是無法用7-zip解壓縮。需要將檔案的副檔名.7z改為.zip。下載完成後,才能用7-zip解壓縮。換句話說,無法用7-zip解壓縮.7z的檔案。

解答:感恩頂番國小李清展老師指導,提出問題與解決方案。
內提到

export fileid=1sNhrr2u6n48vb5xuOe8P9pTayojQoOc_
export filename=combian.rar

## WGET ##
wget --save-cookies cookies.txt 'https://docs.google.com/uc?export=download&id='$fileid -O- \
     | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1/p' > confirm.txt

wget --load-cookies cookies.txt -O $filename \
     'https://docs.google.com/uc?export=download&id='$fileid'&confirm='$(<confirm.txt)

在linux 執行,會出現兩個檔案分別為cookies.txt與confirm.txt
其內容為
換句話說,要擷取cookies.txt內四碼,並將此四碼存入confirm.txt

頂番國小李清展老師的解決方案如下:
@echo off

SET "w10pe_id=1-dimpG6Ih7tYTEzy_0VcIQIJHJCqkFDl"
SET "w10pe_target=w10pe_C_NTBOOT.7z"

REM 產生下載cookies
wget --save-cookies cookies.txt "https://docs.google.com/uc?export=download&id=%w10pe_id%" -O-

REM 將下載的網址加上confirm參數
for /f "skip=5 tokens=7" %%i IN (cookies.txt) do echo https://docs.google.com/uc?export=download^&id=%w10pe_id%^&confirm=%%i > url.txt

REM 開始下載檔案
wget --load-cookies cookies.txt -O %w10pe_target% -i url.txt

REM 刪除額外產生的檔案
del cookies.txt url.txt .wget-hsts

經過測試之後,完全可以解決原先的問題。
所以改用頂番國小李清展老師的解決方案。






如何用shell在lubuntu 16.04快速安裝GitLab

 1.套件更新

$sudo apt-get update
2.安裝 curl openssh-server ca-certificates postfix tzdata
$sudo apt-get install -y curl openssh-server ca-certificates postfix tzdata
3.下載與安裝GitLab package server
$curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
4.安裝gitlab-ce,檔案很大 8百多M
$sudo apt-get install -y gitlab-ce
5.設定gitlab-ce 
$sudo gitlab-ctl reconfigure
6.修改/etc/gitlab/gitlab.rb
$sudo pico /etc/gitlab/gitlab.rb 
現在將其設定為
external_url 'http://192.168.1.150'


7.重新配置gitlab
$sudo gitlab-ctl reconfigure
8.用chrome瀏覽 http://192.168.1.150




網路收集到CSS 相關文章與響應式網站的無障礙設計與建置實務資料整理

 範例檔案下載,解壓密碼demo1234


1.(常用)在網頁中加入 CSS 設定的方式:外部樣式表 (external style sheet)

外部樣式表是將 CSS 設定寫在另外一個檔案中,再從 HTML 頁面中引入,如下
<link rel="stylesheet" type="text/css" href="./css/style.css">

2.CSS 的虛擬碼

selector {
    property: value;
}
意義:
Selector:該 CSS 設定的目標標籤,ex:body
Property:該 CSS 設定的特性,像是顏色、大小、位置等,ex:background-color
Value:該 CSS 設定的值,ex:blue
body {
    background-color:yellow;
}
那我們將1.跟2.的重點彙整成一個圖片來說明:
檔案名稱:page01.html
檔案內容:
<!DOCTYPE html>
<html>
  <head>
    <title>網頁標題</title>
    <link rel="stylesheet" type="text/css" href="./css/style.css">
  </head>
  <body>
    <h1>這是一級標題</h1>
    <p>這是一個段落</p>
  </body>
</html>

檔案名稱:style.css
檔案內容:
body {
    background-color:yellow;
}

3.關於字體 (Font)的CSS範例

結果:
檔案名稱:page02.html
檔案內容:
<!DOCTYPE html>
<html>
  <head>
    <title>網頁標題</title>
    <link rel="stylesheet" type="text/css" href="./css/page2.css">
  </head>
  <body>
    <h1>Page Title</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing ...</p>
  </body>
</html>

檔案名稱:page02.css
檔案內容:
h1 {
  font-family: sans-serif;
  text-align: center;
}

p {
  font-family: serif;
  font-size: large;
}
接下來,將sans-serif;與serif;交換
將上述兩途合併成一張圖,其內容如下:
檔案名稱:page02_1.html
檔案內容:
<!DOCTYPE html>
<html>
  <head>
    <title>網頁標題</title>
    <link rel="stylesheet" type="text/css" href="./css/page2_1.css">
  </head>
  <body>
    <h1>Page Title</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing ...</p>
  </body>
</html>

檔案名稱:page02_1.css
檔案內容:
h1 {
  font-family:  serif;
  text-align: center;
}

p {
  font-family: sans-serif;
  font-size: large;
}

4.關於Box Model的CSS範例

接下來要談到Box Model。那要借用chrome的開發者工具,其設定如下






資料來源:
01.CSS 入門教學




介接CloudSchool服務平台,JWT 實作驗證機制

 0.安裝特殊字型

$sudo yum install -y fonts-courier-prime

1.shell快速安裝開發環境
檔名:DockerEnvInstall.sh
檔案內容:
#!/bin/bash
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
yum install git
mkdir test
cd test
git clone https://gitlab.cloudschool.com.tw/hami/jwt_test.git
cd ~/test/jwt_test
cp env-sample .env
docker-compose up -d
docker-compose ps
cd ~/test/jwt_test/
docker exec -i jwt_test_php_1 composer install 
cp ~/test/jwt_test/config/local.php.dist ~/test/jwt_test/config/local.php
sed -i 's/root/stern123/2' ~/test/jwt_test/config/local.php
chmod 777 ~/test/jwt_test/data/  -R

重開機後,需要啟動docker,才能執行docker-compose up -d 等指令。
$sudo systemctl start docker

        現在要將data內部的db、mongodb、radis的部分搬家(理由chmod 777 ~/test/jwt_test/data),將mysqldbredismongodb移到mydata
只需要在docker-compose.yml 做修正,
然後下指令 
docker-compose down
docker-compose up -d --build
重新建立mydata即可。

檔案名稱:docker-compose.yml
檔案內容:
version: '3.3'

services:
  php:
    image: hamichen/php-fpm-7.3.14
    volumes:
      - .:/var/app
    ports:
      - "9000:9000"

  nginx:
    build: .docker/nginx/
    depends_on:
      - php
      - mysqldb
    ports:
      - "9011:80"
    links:
      - php
    volumes:
      - .:/var/app

  mysqldb:
    image: mariadb
    env_file:
      - ".env"
    environment:
      - MYSQL_DATABASE=${MYSQL_DATABASE}
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
      - MYSQL_USER=${MYSQL_USER}
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
      - MAX_CONNECTIONS=1024
    volumes:
      - "./mydata/db/mysql:/var/lib/mysql"
      - "./etc/mysql/conf:/etc/mysql/conf.d"
    command: mysqld --sql_mode=""

  myadmin:
    image: phpmyadmin/phpmyadmin
    ports:
      - "9012:80"
    volumes:
      - .docker/php/upload.ini:/usr/local/etc/php/conf.d/php-phpmyadmin.ini
    environment:
      - PMA_ARBITRARY=1
      - PMA_HOSTS=mysqldb
      - UPLOAD_LIMIT= 300000000
    depends_on:
      - mysqldb
  redis:
    image: redis
    command: redis-server --requirepass cs-pass
    ports:
      - "6379"
    volumes:
      - ./mydata/radis:/data

  mongodb:
    image: library/mongo:3.4.9
    volumes:
      - ./mydata/mongodb:/data/db
      - ./mydata/backup:/backup
    command: mongod --auth
    privileged: true
    environment:
      MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
      MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
      MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE}

2.手動將資料庫匯入
(1)建立資料庫
     網址輸入http://伺服器IP:9012,打開phpmyadmin的網頁。
     

(2)匯入資料庫sql
這個問題就是要設定cache權限為777,所以下指令
$chmod 777 ~/test/jwt_test/data/ -R


(3)Cloudschool服務平台


        這個平台成立的目的。在過去SFS3的時期,有許多熱血的老師付出自己的時間完成許多模組,比方說運動會檢錄系統。在資安法成立之後,許多服務要向上集中。但不可能把所有過去的模組向上集中,太多也太雜。所以CloudSchool才有後來的API架構,讓大家可以利用API來建立自己的服務。現在更利用這個平台,讓大家介接來完成模組,提供服務。

架構
  
測試流程如下:
2.選擇測試平台->測試國小 13
3.輸入帳號密碼
4.認證完成後,導回服務平台,選擇 協力伙伴測試
5.會進入 http://localhost:9011/login.php?token=xxxx ,即可讀出資料

那上述
2.選擇測試平台->測試國小 13
3.輸入帳號密碼
4.認證完成後,導回服務平台
在架構上為
4.選擇 協力伙伴測試
5.會進入 http://localhost:9011/login.php?token=xxxx ,即可讀出資料
則在架構上為

在docker-nginx-php-mysql開發環境,建立一個簡單的 PHP REST API (一)

 後篇:在docker-nginx-php-mysql開發環境,建立一個簡單的 PHP REST API (二)      

        看了資料來源01 ,竟然第一關就卡關。就開始找資料,希望可以進行實作。
        先來實作,再來處理理論的部分。那以影片1.How To Create A Simple REST API in PHP來實作。
         首先建立開發環境,以docker來做。使用資料依據為
一、shell檔案快速完成
檔名:DockerEnvInstall.sh
檔案內容:
#!/bin/bash
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
yum install git
mkdir test01
cd test01
git clone https://github.com/mark2470mark/docker-nginx-php-mysql.git
cd ~/test01/docker-nginx-php-mysql
docker-compose up -d
docker-compose ps

重開機後,需要啟動docker,才能執行docker-compose up -d 等指令。
$sudo systemctl start docker

二、設定DockerEnvInstall.sh為可執行
$sudo chmod 755 DockerEnvInstall.sh
$sudo sh DockerEnvInstall.sh
此時的開發環境


三、在mysql建立資料庫,其資料庫名稱為 api 與建立資料表 users
     (1)建立資料庫 api
     (2)建立資料表 users
     (3)建立欄位id(int(10))、name(varchar(20))、age(int(2))
     (4)新增資料
四、建立php檔案
     (1)在~/test01/docker-ngnix-php-mysql/web/public/新增兩個檔案,分別是 config.php與index.php
           檔案名稱:index.php
           檔案內容:
            <?php
               require_once __DIR__.'/config.php';
                class API {
                  function  Select() {
                    $db = new Connect;
                    $users = array();
                    $data = $db->prepare('SELECT * FROM users ORDER BY id');
                    $data->execute();
                       while ($OutputData = $data->fetch(PDO::FETCH_ASSOC)) {
                                    $users[$OutputData['id']] = array(
                                     'id' =>  $OutputData['id'],
                                     'name' =>  $OutputData['name'],
                                      'age' =>  $OutputData['age']
                           );
                       }
                        return json_encode($users);
                     }
                    }
                   $API = new API;
                   header('Content-Type:application/json');
                   echo $API->Select();
                 ?>           
           檔案名稱:config.php
           檔案內容:
           <?php
              class Connect extends PDO {
                  public function __construct() {
                  parent::__construct("mysql:host=mysql;dbname=api",'root','a123456',
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
                  $this->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
                  $this->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
                   }
                  }
                  ?>
五、結果呈現


在虛擬機VirtualBox安裝Windows Server 2019 評估版與設定Hyper-V

         最近開始學習 Windows Server 2019,發現Windows 的發展非常快速。所以將所找到的資料記錄下來,做為日後學習的依據。安裝過程中,沒想到自己卻忽略許多細節。如今透過虛擬機,將畫面擷取。提示自己要注意。




2.設定VirtualBox後安裝









Laravel 12 Model 資料庫中的資料表,並提供與資料庫互動的介面

相關系列文章: 1. 在 windows 10 安裝 laravel 12 studentManagement環境與設定 2. laravel 12 route 路由 3. laravel 12 Blade Templates 網頁模版 4. laravel 12 Control...