Backend

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.

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 之後,直接實作範例如下:

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

Voyager - 客製化 Widgets 教學

Voyager 在管理員登入後,Dashboard 就會出現三個預設的 Widgets

這裡記錄客製化 Widgets 的方式

修改預設 Widgets config

首先,開啟 config/voyager.php

Continue Reading

Voyager - 客製化 Controller

客製化 Controller

要在指定的 BREAD 套用客製化 Controller 設定,流程如下:

Continue Reading

Laravel Json回應及錯誤處理

Laravel Json回應及錯誤處理 Laravel 再遇到錯誤時,多數會拋出錯誤在介面顯示,並且中斷 這時可以透過 try catch 來捕捉拋出錯誤,自定義要做什麼處理 下方式簡易的錯誤處理範例: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Exception; class ErrortestController extends Controller { public function index(){ try { throw new Exception('When Error Happened'); } catch (Exception $e) { echo $e->getMessage(); } } } 這裡列出 Exception 可用的方法

Continue Reading

Voyager - Bread Create relationships

對於 Voyager 建立關係的項目中,這裡舉例子來說明: 範例 以送養人可以擁有多隻寵物,對於這些寵物則對應同一個送養人 這裡我們希望在新增寵物時,可以下拉選單選取他所屬的送養人是誰 送養人會自動產生關聯,得知他一共擁有多少隻寵物 Has Many 送養人 (guardian) 會擁有許多寵物 (Adoptee) ,Adoptee 的 Model 空間命名位置 : App\Adoptee 從哪一列…? Adoptee 被引用於(reference) Guardian? guardian_id 顯示向詳細訊息 顯示 Adoptee: name Belongs To 寵物 (adoptee) 原始送養人 (guardian) ,Guardian 的Model空間命名位置: App\Guardian

Continue Reading