發表文章

目前顯示的是 2023的文章

Select2

是一個 jQuery 套件,官方介紹是「提供了一個可自訂的選擇框,支援搜尋、標記、遠端資料集、無限滾動和許多其他常用選項」,但我自己最常用的是自動完成。

JavaScript 上傳檔案 - axios

說是 axios 但其實 $.ajax 也是類似作法。 Html↓ <input type="file" class="upload"> JavaScript↓ $(".upload").change(function (event) { var formData = new FormData(); formData.append("upload", event.target.files[0]); axios .post("your_upload_url", formData, { headers: { "Content-Type": "multipart/form-data" } }) .then(function (response) { // 上傳後要觸發的程式 }); });

PHP AES 加密筆記

主要重點為: hex2bin 函數 openssl_encrypt 已經是 PKCS7 padding $key = hex2bin($key); $iv = hex2bin($iv); $data = hex2bin($data); $data = openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv); 參考文件 AES 256 encryption PHP with Padding

Laravel-admin Form linkage 多選問題

圖片
多選搭配 ->when() 在編輯資料的時候都會出現 addslashes() expects parameter 1 to be string, array given 問題,新增資料則正常。

PHP 判斷寫法

一般寫法 if ($a) { $a = $a; } else { $a = $b; } 簡寫 $a = $a ? $a : $b; PHP 5.3 以後可以寫的更簡單一點 $a = $a ?: $b; PHP 7.0 開始支援兩個問號 ( ?? ),兩個問號是什麼意思? $a = $a ?? $b; 兩個問號不是單純的 if 判斷,他是 isset,等同於: $a = isset($a) ? $a : $b;

強制使用手機瀏覽器開啟 LINE 裡面的連結

在網址最後加上 openExternalBrowser=1,例如: https://girlwebdeveloper2.blogspot.com?openExternalBrowser=1 只要把這個連結貼到 LINE 裡面,點的時候就會使用外部瀏覽器開起而不是原本的 LINE 內鍵瀏覽器。 參考文件 行銷細節控

手機電話費多 1 元

圖片
我的手機帳單每兩個月會被多收 1 元簡訊費,我不記得自己有傳簡訊,在被多收好幾個月才想到要來處理。

外包商真的可以再積極一點

最近一個外包商的程式出現錯誤請他們處理,結果居然回說:先看看你們傳的 API 資料,因為以往發生錯誤都是 API 傳錯值。然後就放著不處理了... = = 我看到整個火都上來了,我都沒嫌你們程式 bug 多,好意思說我們 API 有問題。 為了證明不是我們的 API 問題,我他 X 的花快兩個小時在幫外包商 debug,並且把查詢後的結果、log、截圖貼给他們,本來我主管還問要不要跟他們說怎麼處理,我就說沒道理幫他們 debug 還要教他們寫程式吧,又不付錢。

Laravel Excel Import 記憶體不夠問題

圖片
大量資料匯入實出現 Allowed memory size of 1073741824 bytes exhausted 錯誤。

lightGallery

輕量、模組化的燈箱畫廊套件。

[Laravel 8.x] 不在 middleware 判斷是否需要登入後才能看

平常要讓 route 登入後才能使用,會直接使用 auth middleware,如果未登入該 middleware 會導向登入頁進行登入後再回來,在這種情況下程式不會進入 controller。

Laravel [8.x] 不啟用外鍵檢查

圖片
資料表有設定關聯時,如果要刪除或清空資料表時會出現 Syntax error or access violation: 1701 Cannot truncate a table referenced in a foreign key constraint 錯誤,即使關聯是設定 cascade,還是會觸發。

Ziggy

在 JavaScript 中使用 Laravel route。

手機節省數據用量 - Youtube 篇

圖片
點首頁右上角的照片開啟選單。 點「設定」。 點「節省數據用量」。 開啟「數據節省模式」,他會同步開啟下面一連串的設定。

手機節省數據用量 - PTT 篇

圖片
上方選單滑到最右邊「更多功能」,點「設定」。 進入「設定」後,上方選單滑到「閱讀」,開啟「只在wifi下自動載入圖片」。 開啟「只在wifi下預覽連結」。

手機節省數據用量 - LINE 篇

圖片
點「主頁」右上角的齒輪進入設定。 點「照片‧影片」。 「自動播放影片」改成「僅Wi-Fi連線時」。

手機節省數據用量 - Instagram 篇

圖片
經過一段時間實測沒用,不管是不是在有 wifi 的環境,影片都會自動撥放。 點右下角的照片進入個人檔案。 點右上角的「≡」開啟選單。 點「設定和隱私」。 點「數據用量和影音內容品質」。 開啟「資費節省幫手」,高解析度影音素材改成「僅限 wifi」。

手機節省數據用量 - Facebook 篇

圖片
點右上角的「≡」。 開啟「設定」。 選擇「影音內容」。 開啟「資費節省幫手」和「僅使用 wifi 時開啟」。

手機節省數據用量 - 手機篇

圖片
我的月租費每個月只有 12G 的網路流量,換新手機後忘記調整設定,結果這幾個月一直爆流量。

Laravel + Vue3 + Pinia 筆記

npm install 以下套件 "pinia": "^2.0.36", "vue": "^3.3.2", "vue-loader": "^16.8.3", "vue-template-compiler": "^2.7.14" resources/js/counterStore.js 範例 import { defineStore } from 'pinia'; export const useCounterStore = defineStore('counter', { state: () => ({ count: 0 }), getters: { double: (state) => state.count * 2, }, actions: { increment() { this.count++ } } }); 在 resources/js/app.js 加上 import { createApp } from 'vue'; import { createPinia } from 'pinia'; import { mapStores } from 'pinia'; import { useCounterStore } from './counterStore.js'; const pinia = createPinia(); window.app = createApp({ computed: { ...mapStores(useCounterStore), } }) .use(pinia) .mount('#app'); 執行 npm run prod

Laravel + Vue3 + Vuex 筆記

npm install 以下套件 "vue": "^3.2.37", "vue-loader": "^16.8.3", "vue-template-compiler": "^2.7.10", "vuex": "^4.0.2" resources/js/exampleStore.js 範例 export default { state () { return { count: 0 } }, mutations: { increment (state) { state.count++ } } }; 在 resources/js/app.js 加上 import { createApp } from 'vue'; import { createStore } from 'vuex'; import exampleStore from './exampleStore.js'; window.store = createStore({ modules: { example: exampleStore } }); window.app = createApp({ // }) .use(store) .mount('#app'); 執行 npm run prod

[Laravel 8.x] 分頁筆記及應用

圖片
一、筆記 1. 自訂分頁樣板 {{ $paginator->links('admin::pagination') }} 2. 每頁多個分頁 $teachers = Teacher::paginate(15, ['*'], 'teacher-page'); $students = Student::paginate(15, ['*'], 'student-page'); 3. Url 附加 hash $teachers = Teacher::paginate()->fragment('teacher-tab'); $students = Student::paginate()->fragment('student-tab'); 二、應用 1. Tab + 分頁 情境如下圖,要在同一個畫面顯示老師和學生的資料,老師和學生分別放在不同 Tab,有各自的表格和分頁。 如果程式只單純的寫↓,我們點學生的其他頁碼,老師也會同步顯示一樣的頁碼。 $teachers = Teacher::paginate(); $students = Student::paginate(); 要區別兩者 paginate 需設定第三個參數 pageName。 $teachers = Teacher::paginate(15, ['*'], 'tab1-page'); $students = Student::paginate(15, ['*'], 'tab2-page'); 再來是我們點的是學生的頁碼,所以畫面載入之後應該回到學生的 Tab,而不是顯示老師的,所以要在 Url 加上 hash,讓前端的 JavaScript 去判斷要顯示哪個 Tab,完整程式如下: $teachers = Teacher::paginate(15, ['*'], 'tab1-page')->fragment('tab-1'); $students = Student::paginate(1...

Captcha for Laravel

想替網站加上簡易的圖形驗證,這個套件就非常合適。基本上照著 GitHub 上的說明就可以無腦安裝和使用。

SweetAlert2

圖片
上次介紹了通知的套件,這次來分享 Alert 套件。他可以用來取代傳統 alert 視窗,讓 alert 也可以美美的。

Google Pixel Stand (第 2 代)

圖片
去年 10 月我買了一隻 Google Pixel 7,有拿到 Google 商店抵用金 5000 元,我一直不知道要買什麼好,最後買了兩個無線充電器,折下來才付了 198 元。

[Laravel 8.x] 套件開發

圖片
近期在公司分享怎麼開發 Laravel 套件,就順便整理一下放上來。

toastr

圖片
簡單的 javascript 通知。要看他有什麼樣的造型可以參考 Demo 網頁。

CSS Layout

圖片
前陣子在 FB 上看到有人分享文章 給網站開發者:7 個值得在 2023 年用看看的免費工具 ,其中第七點 CSS Layout 我還滿喜歡的,分享給大家。

[Windows10] 更新並關機無法切斷電源

又是我爸的那台 NUC 主機,上篇文章 自動休眠無法喚醒 目前已經沒有再發生,現在有新問題,執行「更新並關機」時沒有切斷電源,螢幕已經沒訊號,但電腦就是沒關機完全,前面的燈還是一直再閃,最後只能長按電源鍵強迫關機。

Jquery.flowchart

圖片
最近想到一個新文章主題,身為網頁工程師幾年來也碰過不少套件,針對這些我覺得不錯的套件做個整理和超沒誠意的簡單介紹,陸陸續續分享給大家。

SMART detected HDD/SSD failure,關閉 SMART Self Test

圖片
今天早上發現電腦因為更新自動重開機,但他卡住沒開成功,我立刻拍照貼給主管,原本以為可以放假回家了,沒想到有救回來,只好繼續上班。