CSS 限制內容字數寬度或行數,超過顯示刪節號...
CSS 限制內容字數寬度或行數,超過顯示刪節號…
簡單記錄透過 CSS 來限制字數寬度或行數做法,可以將長篇的文章進行截斷,並且結尾以點點點方式呈現
在版面需要對其實,是相當好用的方式。
Continue ReadingMarketing, SEO, Web trends, Programming tutorial, Web design, and Life event...
簡單記錄透過 CSS 來限制字數寬度或行數做法,可以將長篇的文章進行截斷,並且結尾以點點點方式呈現
在版面需要對其實,是相當好用的方式。
Continue Reading在某次更換主機的公鑰之後,拿變更後的 ssh keygen 登入主機,卻發生登入錯誤訊息
ssh -i ~/.ssh/mykeygen.pem root@xxx.xx.xxx.xx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Please contact your system administrator.
Add correct host key in /Users/elite/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/elite/.ssh/known_hosts:10
ECDSA host key for xxx.xx.xxx.xx has changed and you have requested strict checking.
Host key verification failed.
Mac OS X 預設安裝了 Python 2.7.10 版本
$ python --version
Python 2.7.10
這裡說明如何安裝 python3
Continue ReadingK8s 是以 Google 的內部使用十多年的容器編排管理平台 Borg 為基礎原形所實現
萬個機器節點,以及幾千個到幾十萬個 pod (容器組),每週都會部署20多個容器
單一個 container 並不能提供開發者太多的好處,因為開發及生產場景往往需要複雜的交互,需要多個容器同時並行協同工作,以及跨組織的管理
因此,K8s 就作為 container 編排,可跨主機管理的最佳利器
K8s 以 Pod 為基本容器組,每個 Pod 只做一件事,可以將 Pod 進行編排調度,以及聲明他的物件配置模型(Controller, configmap, secret…)
在管理過程中,可以用 controllers 進行資源分配調度,整體健康檢查,修復,彈性伸縮及滾動升級等。
服務發現,服務編排及內部路由支持
服務快速部署
自動負載平衡
對有狀態的服務的支持
K8S 在 2017年戰勝了 Docker Swarm, Apache Mesos ,成為各大雲平台原生應用的支持
K8S 在現有的軟體雲服務之上,又建立一個可移植的雲平台
為用戶提供一個一致的容器部署管理模型
外部請求 -> [ K8s 群集( Service -> 多個 Pod) ]
K8s 群集由一個 Master 節點及多個 Node 節點組成
kubectl get nodes
https://www.imooc.com/video/17048
Continue Reading最近,需要處理學生考試系統希望能將筆試的內容轉出為 word 格式,以利於批改老師能夠使用追蹤修訂功能進行批改。
在這裡做一個紀錄及範例,如何將 Textarea 文字內容
首先,在Laravel 專案直接安裝 PHPWord Library
composer require phpoffice/phpword
先建立好 Controller 之後,直接實作範例如下:
<?php
...
// Creating the new document...
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Adding an empty Section to the document...
$section = $phpWord->addSection();
// Adding Text element to the Section having font styled by default...
$section->addText(
'"Hi 這是我的文件,請問你看得到嗎?Learn from yesterday, <w:br/> live for today, <w:br/> hope for tomorrow. '
. '<w:br/>The important thing is not to stop questioning." '
. '<w:br/>(Albert Einstein)'
);
// Saving the document as OOXML file...
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
header("Content-Disposition: attachment; filename=WordTest.docx");
$objWriter->save("php://output");
目前,前端學生輸入是使用 textarea ,在作答時文字內容會包含換行
Continue ReadingAWS 目前系統工作流程已經非常簡單
對於EBS硬碟容量不夠,需要擴充時,只要三個步驟就能完成:
instance 停機
Elastics block store > Volumes > 勾選 volume,並於 Action 下拉選單選取 Modify volume > 調整數值(單位GB)
啟動 instance
在資料庫存取的連結,需要將所有 http 開頭的連結改為 https
可以透過以下方法直接一次完成
UPDATE table_name
set url_columns = REPLACE(url_columns, 'http:', 'https:')
WHERE url_columns like 'http:%';
例如
pdf 資料表的 path 欄位需要行搜尋http並取代為https:
UPDATE pdfs
set path = REPLACE(path, 'http:', 'https:')
WHERE path like 'http:%';
如果有些欄位並非單純連結,例如,用 json 來存取網址
{"url":"http://xxx.xxx.xxx","url2":"http://yyy.yyy.yyy"... }
則直接將 WHERE 條件設定較為寬鬆即可
例如
UPDATE pdfs
set path = REPLACE(path, 'http:', 'https:')
WHERE path <> '';
這裡說明如何避免 SSH 連線超時自動中斷的問題
這裡使用的方式,是透過固定時間發送一個“Keep Alive”訊號給 server
設定方式,MAC OS 及遠端server 都要設定
先在 ~/.ssh/ 新增或編輯 config 檔案
Continue ReadingID is me, even my door key.
GO-Trust 是 FIDO (Fast Identity Online)聯盟的成員,聯盟的主要目的是以“消滅密碼”為首要任務。
目前,GoTrust 已擁有9項認證及25項專利,並且在2018年獲得阿里巴巴創投基金融資,有望讓未來無密碼登入有更近一步的突破。
Continue ReadingGoogle 提供了免費的寄信服務,但天下沒有白吃的午餐
在每日寄信的數量還是有一定的限制
只要超過指定數量,就會收到 Google 寄來的提示信,說明「您已經達到郵件傳送數量上限」
關於服務,則主要可以區分為 Gmail 一般用戶與 G Suit Gmail 用戶
Continue Reading以 HTML5 技術進行開發,點開即玩的軟體概念,在微信的小程序, Facebook的 Instant Games, Line 的 Line Quick Game(LQG)都是如出一徹。
但這項軟體開發利多,後來產生了一些變革,原因主要在於蘋果針對支付方面的策略進行調整,導致多提供相關服務的平台,不得不跟著調整或者下架。
Facebook 由於以自家廣告盈利為主,因此在iOS策略還是小心翼翼的方式配合著蘋果策略演進,但 Line Quick Game 在 2018年10月遇過支付的問提,進行停擺一段時間,而微信也難免受到影響,以下進行大致說明:
Continue ReadingKubernets (k8s) 是一個開源的系統,可以用於自動部署,彈性拓展,以及管理容器應用程式。
可以將 containers 統整成 group,並且統一放到一個 Node 的邏輯單元進行管理,及直接用在各種正式的 server 環境。而 Google 就是以這樣的管理模式,每週管理超過數十億個容器,並且在不增加負擔的情況下,輕鬆地完成擴大規模。
在 Docker for mac 預設就提供了 k8s 的安裝
只要開啟 preferences 介面,就會看到 k8s 選項
在這裡我們將它直接啟動,並且同時勾選 Show system containers(advanced) ,就能看到自動安裝 Kubernetes 相關的 containers
安裝 kubernetes-dashboard 服務:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
看到以下內容代表安裝完成
serviceaccount "kubernetes-dashboard" created
role.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" created
rolebinding.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" created
deployment.apps "kubernetes-dashboard" created
service "kubernetes-dashboard" created
透過以下指令可以查看目前部署的容器及服務
kubectl get deployments --namespace kube-system
#顯示以下訊息
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
kube-dns 1 1 1 1 22m
kubernetes-dashboard-head 1 1 1 0 1m
透過以下指令啟用 cluster
Continue Reading在 laradock 包含的 nginx 預設最大上傳檔案限制在 20Mb
假設需要將限制調整到 40Mb
作法如下:
Continue Reading在現有維護的專案中,其中一個教學系統提供影片單元,
可以讓學生觀看教學影片,並且紀錄學生在各單元影片的學習進度及完成度。
卻發現有部分學生透過開啟多個瀏覽器,或者跨不同裝置來同時播放教學影片的方式快速累積完成度。
為了防止這種狀況,針對這個問題,設計了 Page keygen 的方式來進行處理:
Continue ReadingElectron 可以用來將 HTML, CSS, Javascript 建構成桌面應用軟體
並且可以支援不同的平台,像是 windows, Mac, Linux….
在運行過程,主要透過 Chromium 及 NodeJS 來讓 HTML, CSS, JS 運作
如果,是透過原生的 Electron ,想要結合目前流行的前端框架,像是 Vue, React, Angular
Continue ReadingNginx 模組可分成三類: handler, filter 以及 upstream
handler 以及 filter 主要用於單機,可以讓 Nginx 方便的管理單機運作。
upstream 則是主要用於分布式的處理,負責處理連線請求及代理。
從根本來說,upstream 其實是屬於 handler 的一部份,
他主要的工作是負責將請求轉發到 nginx 內部
Continue ReadingPWA (Progressive Web Apps) 可以讓網頁以 Web App 的形式運用在移動裝置及桌機
以仿原生APP的用戶體驗,可以支援離線操作,推播等APP功能,
以及仍保持 Web 的本質優點(開放,易於訪問,可索引),
這裡要說明如何在 Chrom 要將 PWA 添加到桌面,當作桌面應用軟體來使用
Continue Reading