Backend

Laravel 上線環境設定

Laravel 上線環境設定

這裡記錄一下 Laravel專案上線常用設定

Continue Reading

Golang - Gin router 基本介紹

Go - Gin router 基本介紹

這裡針對 Gin routers 進行基本介紹,後續會針對個部分進行探討。

Gin 基本的一個架構如下方代碼:

Continue Reading

Golang - Go Module 套件管理 & 初始化及安裝 gin

Go - go module 初始化及安裝 gin

Gin 是一個 Golang 網頁架構,具有相當好的效能,高於 httprouter 40 倍的速度,是一個兼具效能與實用的架構。

這裡首先會針對 go module 初始化 如何透過 Go Module 管理套件,以及說明如何透過 Go Module 安裝 gin 的流程。

Continue Reading

Failed to decode response: zlib_decode(): data error 解法

Failed to decode response: zlib_decode(): data error 解法

composer clear-cache

把下方這段加到 composer.json

    "repositories": [
        {
            "type": "composer",
            "url": "https://packagist.org"
        },
        { "packagist": false }
    ],

執行

sudo composer update

Continue Reading

Golang 技術方向紀錄

簡記一些學習 Go 的技術方向

Web Framework

Gin https://github.com/gin-gonic/gin Echo https://echo.labstack.com/guide BeeGo https://beego.me/

Gin Websocket

https://github.com/gin-gonic/gin/issues/1305 example: https://github.com/gin-gonic/gin/issues/1305

go module

類似 php vender 動套件管理工具: 透過 go mod init 會產生 go.mod

Drone CI/CD

透過 Drone 來實現 Go CI/CD https://drone.io/

Vim go

vim 的擴充 https://github.com/fatih/vim-go

Go Package

https://godoc.org/

Go WebTool

https://www.gorillatoolkit.org/

Continue Reading

EC2 安裝 composer

EC2 安裝 composer

這裡記錄如何在 AWS EC2 安裝 composer

cd ~
sudo curl -sS https://getcomposer.org/installer | sudo php
sudo mv composer.phar /usr/local/bin/composer
sudo ln -s /usr/local/bin/composer /usr/bin/composer
sudo componstall
composer -v

Continue Reading

Golang 入門教學 tutorial

Golang - 語言基礎 Slice

Golang 入門教學 tutorial

Go 是現代化、速度相當快且擁有豐富的標準庫 透過 goroutine 併發非常有效率,單一線程可以執行多個 goroutine。 在設計併發架構最困難的部分在於如何確保多個併發進程、線程及groutine 不會同時針對同一資料進行操作。透過 Go 可以簡單地實現併發過程數據一致性。 Go 提倡組合(composition),而不是傳統繼承方式;因此,可直接多個類型組合成類型,並且引用這個類型就能使用整個組合的功能。 Go 在內存管理也處理得相當好,使用現代化的回收機制。

Continue Reading

Go - Hello world

首先,建立第一個 Hello world

建立資料夾 hello-go/

mkdir hello-go

cd hello-go

Continue Reading

Go - CentOS 安裝 golang

這裡指令皆使用 root 身分執行,若其他身分請使用 sudo

安裝環境為 CentOS 7 以上版本

這裡會介紹兩種安裝方式,第一種較為簡單,是直接透過 yum 安裝,另一種方式是直接下載安裝(推薦)

方法一、直接使用 yum 安裝

yum 安裝方式

# yum install golang

Continue Reading

Laravel 5.8.18-17 新擴充功能說明

Laravel 5.8.18-17 新擴充功能說明

這裏分別針對 Laravel 5.8 (至今年五月)所發佈的一些功能項目進行說明,關於完整的發布紀錄可以參考這裡:

[v5.8.18](https://laravel-news.com/laravel-5-8-18?utm_medium=email&utm_campaign=Laravel v5818 Laracon Australia 2019 PHP Array Redactor and more - 258&utm_content=Laravel v5818 Laracon Australia 2019 PHP Array Redactor and more - 258+CID_a921ac9032531484d27f82e90d45f469&utm_source=email marketing&utm_term=Read More)

v5.8.17

或者參閱完整的 v5.8 更新歷程

Continue Reading

Laravel - PHP Insights

PHP Insights 介紹

PHP Insights 可以用來分析PHP專案的程式品質,可以很簡單的方式從 terminal 直接進行分析。

支援 PHP 7.2+ 以上版本。 並且適用於 Laravel, Symfony, Yii, WordPress, Magento2, 等架構。

這裏主要針對 安裝及 Laravel 使用方式進行說明。

Continue Reading

Laravel - Request Lifecycle

Laravel - Request Lifecycle

簡單整理一下 Laravel request 的生命週期

Continue Reading

NodeJs 在正式環境運行的對應方式

在這裡要探討關於 node 到底適不適合在正式環境運行,在一開場首先說明我**“過去”**對於這個問題的看法,答案是:不適合。

原因在於,過去有見過幾個專案是由 node 開發,最終都因為穩定性不佳造成極大的損失的案例

當然,這經驗確實是我常建議團隊不要輕易決定使用 node 的原因。

事實上,為什麼 node 不適合在正式環境運行。針對這個問題其實真的探討過的人很少。

這裡參考 Burke Holland 所彙整的一些方法,進行來聊聊這個議題:

首先,關於造成 node 不適合的一些狀況進行探討:

如果透過 Express server 直接運行主機環境

Continue Reading

Laravel 建立 package 流程

這裡記錄如何建立 Laravel 可使用的 packages,以及如何透過私人 git repositroy 來透過 composer 安裝。

首先,建立 Laravel Project 來做示範:

composer create-project --prefer-dist laravel/laravel getter

建立 package 相關資料夾

Continue Reading

Laravel - PHP 將 Textarea 文字內容轉出 Word docx 格式

Laravel - PHP 將 Textarea 文字內容轉出 Word docx 格式

最近,需要處理學生考試系統希望能將筆試的內容轉出為 word 格式,以利於批改老師能夠使用追蹤修訂功能進行批改。

在這裡做一個紀錄及範例,如何將 Textarea 文字內容

安裝 Library

首先,在Laravel 專案直接安裝 PHPWord Library

composer require phpoffice/phpword

輸出文字為 Word 檔案

先建立好 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 文字轉換輸出為 word

目前,前端學生輸入是使用 textarea ,在作答時文字內容會包含換行

Continue Reading

如何設定 laradock nginx & php 上傳檔案限制

如何設定 laradock nginx 上傳檔案限制 (error 413 Request Entity Too Large)

在 laradock 包含的 nginx 預設最大上傳檔案限制在 20Mb

假設需要將限制調整到 40Mb

作法如下:

Continue Reading

Laradock 如何自訂義 port 端口映射

Laradock 如何自訂義 port 端口映射

首先,開啟

vim docker-compose.yml

尋找 Workspace 設定

Continue Reading

Laravel asset() 如何支援 http & https

Laravel asset() 如何支援 http & https

在 laravel 使用 asset() 來設定一些 public/ 靜態文檔相關位置

在本機主要使用 http,但是更新到正式機需要ssl 憑證

現在有一個情況是,在使用 laravel asset path ,更新到線上主機仍套用 http

底下說明如何在線上及本地切換 http, https

Continue Reading

Laravel View composer 介紹

Laravel - View Composer

在開始介紹 View composer 之前

首先關於 View 的一些用法為,指定 Template 以及要帶入的參數

Continue Reading

主機 Web server log, Laravel log 查詢流程紀錄

主機 log 查詢流程紀錄

簡記常用的 web service log 查詢紀錄流程

Continue Reading