找 AI 寫的最簡單串接 不確定流程是否為 best practice ``` <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; class ShopifyController extends Controller { public function index(Request $request) { // Shopify 必定傳入 shop=xxxxx.myshopify.com $shop = $request->query('shop'); if (!$shop) { return 'Missing ?shop=xxxxx.myshopify.com'; } // 從 DB 找現有 token (POC 用 session 模擬) $token = session("token_{$shop}"); // 已安裝 → 直接進入 app 面板 if ($token) { return "已安裝 App,商店 {$shop} 的 Token 是:<br>".$token; } // 尚未安裝 → 跳 OAuth Flow $clientId = '6b7001530576df226f1e8d6773eea438'; $scopes = 'read_products'; // $redirectUri = route('shopify.redirect'); $redirectUri = 'https://demo-connect.turn.tw/redirect'; $authorizeUrl = "https://{$shop}/admin/oauth/authorize?".http_build_query([ 'client_id' => $clientId, 'scope' => $scopes, 'redirect_uri' => $redirectUri, ]); return redirect($authorizeUrl); } public function redirect(Request $request) { $shop = $request->get('shop'); $code = $request->get('code'); if (!$shop || !$code) { return 'Missing shop or code.'; } $clientId = '6b7001530576df226f1e8d6773eea438'; $clientSecret = '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'; // 呼叫 Shopify 換永久 access token $response = Http::post("https://{$shop}/admin/oauth/access_token", [ 'client_id' => $clientId, 'client_secret' => $clientSecret, 'code' => $code, ]); if ($response->failed()) { return 'Token exchange failed: '.$response->body(); } $accessToken = $response->json('access_token'); // POC → 先存在 Session session(["token_{$shop}" => $accessToken]); return redirect('/?shop='.$shop); } } ```
一下 client id + client secret 一下 api key + api secret 是在哭? 答案其實很簡單: 🧨 Shopify 內部團隊 → 不同部門搞兩種說法 1️⃣ Developer Dashboard(Platform 團隊) 負責 App 資料、App 建立流程 → 他們遵循 OAuth 2.0 標準用語 → 就叫 Client ID / Client Secret 這是「平台管理後台」那邊的人在開發。 2️⃣ App SDK / API(Shopify API 團隊) 負責 Node / Remix / Ruby / PHP SDK → 早期從 2016 就用 API key / API secret → 文件 & SDK 也都是這樣稱呼 → 如果硬改會: 破壞所有舊專案 破壞所有 NPM package 破壞所有教學內容 破壞所有 sample apps 所以 SDK 團隊堅持 繼續用 apiKey / apiSecretKey。
神文! **軟體的極限並不是計算資源,而是人類的認知資源。** 很有啟發性!
一起加油
短時間上傳太多圖片 被 pinterest ban 了  幹  明天繼續試試看 不會真的到處被封殺吧幹
第一次聽到這個說法,是在一個美國企業家(Jason Fried)的部落格,他想強調賺錢就只是技能的一種。不斷練習、熟能生巧、持續學習,僅此而已。 當時我覺得這個說法很新鮮,很有意思,但同時也覺得這個比喻未免誇飾的太嚴重了。 那些彈鋼琴到專業等級的人,動輒苦練七年十年起跳。學習在網路上做生...
身為自由工作者,這些年在不同場合,恰好有機會認識了很多自由工作者。 我發現一件有趣的事情。包括我自己在內,根本沒有人曾經下過決心,説一定要成為自由工作者。 每個人經驗幾乎都是這樣:當時在轉換工作的空擋,想說休息一下,先不找工作。這時剛好有個案子的機會,想說先做一下、賺一點,做完再找工作。...
工程師如果可以自己開發產品來賺錢,一定很好玩。 但是沒錢不敢創業,又怕失敗之後上班會找不到工作。 我2013年退伍的時候,希望能有折衷的方法,於是設計了我稱之為「兩把梯子」的職涯策略。 想像有AB兩把梯子,A主要是工程師的職涯,B主要是創業者的職涯。 A梯子的第一階,A1,是...
最近開始整理一些以前的文章 都統整到 codelove 這邊來
歡迎最近新註冊的用戶 @linepp2263 @snaptubeapp59 @Raymond @snaptiktokapk @inaSarah @mm35053 @saz15975331 @YHCHANS @youcineapk452 @pp7486 @tww9666 @smithlin197...
看到一篇貼文,寫得很清楚 > 出處:[沛思特 FB](https://www.facebook.com/pesty.yichi/posts/pfbid02eCKFhvNv4NwAAxiqjZ1YPvKiaQTJF8fwYweDSH7Zrx2CdZcedvbRZs4nc64QFtpul) ...
在批踢踢看到一個討論,簡單參與討論如下 - https://www.ptt.cc/bbs/Tech_Job/M.1724552932.A.5B7.html --- 安安,小弟奈米軟體創業者,先不聊教育、台灣人腦袋之類,文化的面向 光就客觀的地理、歷史狀態,台灣要發展軟體產業,...
在寫 SEO/SMO 相關程式碼的時候,我發現很多使用 laravel/php 的開發者會在 layout 相關檔案這樣寫: ``` @if (isset($product)) <title>{{ $product->name }}產品資訊</title> <meta n...
近幾年跟不同團隊合作,我發現大家似乎都不再使用 global functions 了。 前人的經驗告訴我們,濫用 global functions 會讓程式碼變得很難維護。 大家有改過 wordpress 的 source code 嗎? 滿滿的 global functions。...
前陣子寫了一則簡單的 PR 改善提案,給合作的其中一個技術團隊。 順手分享一下,或許會有幫助。 ## 當前問題 現在發出 PR 之後,幾乎只有 author 跟 reviewer 會互相討論,然後就 merge 了。 其他人可能也對各種 PR 有興趣,但是沒辦法參與討論。因為...
身為一個年輕熱血又有一些專業技能的你,在找新案子的時候,遇到了一個好像很厲害的商務人士前輩。 這個前輩感覺資源很多、人脈很廣、很會談判,他對你說:「我很看好你,要不要一起創業?你薪水拿一點就好,股權給你多一點。」 你心動了,但又覺得好像哪裡怪怪的。 其實,這等於是你跟陌生網友約碰面...
在我的接案生涯當中,曾經試著尋找類似「榜樣」或說「態度」的東西。 如果有個長期目標、或說工作信條的話,只要長期朝它邁進,就會越來越好,那該是什麼呢? # 提供客戶最好的服務、最高的CP值、讓客戶最滿意,如何? 首先我直覺上想到這樣的標語。 對於接案來說,實務上卻相當不可行。這...
接案有很多種報價方法,不管哪種都需要評估自己收費的「時薪」。 我之前介紹的「週薪式兼職」報價,會需要評估時薪。 或是常見的「固定價格式」報價,也是以時薪乘上預計工時來報價。 那麼這個時薪該如何決定呢?今天跟大家簡單聊聊。 # 上班族的時薪 假設你是一個月薪 40,000...
接網站開發的案子,特別是新創團隊的案子,用週工時的兼職方式報價,比報固定價格的傳統接案方式好很多。 報價方式會像這樣: - 接案者每週工作 N ~ M 個小時 - 每週收費為新台幣 X 元 - 預估案件大概 Y 週會做完 - 每 Z 週結帳一次 N、M、X、Y、Z 的原理如下...
source: [Manny YH Li 整理](https://www.facebook.com/mannyyhl/posts/pfbid02JeA1fPuVbQev6Eii9VKodAhuUxBVnaSMU5SkWs8kD3VMdSa1APy3jSC42R1UyWc7l) --- h...
 再次呼籲 各位同行 避免串接臉書API登入 很悲劇
看到有人在討論 2FA 以及疑惑必要性,簡單分享一些看法 先講結論:**請假設你在網路上、APP 上的所有密碼都已經外洩了** 用這種態度來使用各種網路服務! 你註冊過的一些不重要的網站、你根本沒打算再去用的網站,這些沒有關係 但是牽涉到金錢、金融、個資、重要基礎服務的網站、...
研究了一下,有兩款看起來很新潮、漂亮 ## Best - https://github.com/statamic - https://github.com/area17/twill 另外有幾款比較老牌的,感覺生態系、各種功能也滿成熟的 ## Others - http...
前陣子比較忙,關閉了一陣 最近有些人私下在詢問我 所以重新開啟教練服務頁面 有需要的朋友可以參考 https://codelove.tw/coaching
強烈建議不要再串接 FB 登入功能😏 我也會建議未來所有客戶避免使用 FB 登入功能😏 --- 大家最近應該也有發現,越來越多手遊、APP、網站,開始拿掉「FB 登入」功能😏 因為 FB 越來越強勢,串接登入功能要有「公司營登證明」並提供「隱私權政策網址」😏😏 附上「A...
剛剛在優化主機硬碟使用 使用 `du -sh` 檢查多個專案資料夾 發現在 php 跑這指令時 有些資料夾沒有設定好 `write` permission 結果算出來的硬碟使用大小 跟直接 ssh root 進去跑指令 會完全不同 上網查了一下 都是提到 execute 指令...
在研究 TwillCMS 的時候 發現他的多語系 model 功能很好用 比方說 `posts` 的資料表 可以建立 `post_translations` 資料表 然後多語系資料存裡面 就能用一般存取 eloquent attribute 的方式取得翻譯 這是怎麼做到的呢? ...
回頭看之前跳過的教材 https://twillcms.com/guides/page-builder-with-blade/configuring-the-page-module.html 我先跳過圖片設定的段落,直接在 PageController 加入以下內容 試試看會不會壞...
繼續研究比較進階的功能吧 假設客戶是一間設計顧問公司好了 在台北、台中、高雄都有辦公室,存在 offices 模組 然後官網有許多 pages 要展示,每個 page 是由不同的辦公室設計 要如何建立這種關聯呢?又該如何在前台存取關聯模組呢?操作起來就跟 laravel 原生...
再來新增一個模組試試看,假設官網要顯示各地辦公室的資訊 來建立辦公室模組,這次選「不用支援多語」 ``` php artisan twill:make:module offices ``` 其餘參數都按照教材輸入 https://twillcms.com/guides/p...
已經可以在後台管理資料、也可以在前台顯示頁面了 接下來我想知道:如何替模組新增欄位呢?這是 CMS 的核心功能 目前的 pages 模組,編輯的後台有 title 與 description 兩個欄位(都是用 `<input type="text" />` 管理) 在 `resou...
已經在後台建立資料了,我想要立刻做出前台頁面看看 所以官方教材我跳到 https://twillcms.com/guides/page-builder-with-blade/building-a-front-end.html 建立前台控制器 ``` php artisan mak...
繼續跑官方教材 https://twillcms.com/guides/page-builder-with-blade/creating-the-page-module.html 執行指令 ``` php artisan twill:make:module pages ``` ...
在開始研究模組之前 先來安裝 twill 官方有一份簡易教材 https://twillcms.com/guides/page-builder-with-blade/index.html 安裝 twill 可以分成三步驟: - 安裝 laravel - 安裝 twill ...
首先 來看一下這款 CMS 的現成應用 以及資料模型 Pentagram 真正的官網前台 https://www.pentagram.com/ 以及 CMD 的示範後台 https://demo.twill.io/ --- 稍微逛一下 會看到前台導覽列有 `work` `ab...
最近需要設計系統,想研究看看有沒有架構漂亮的 CMS 找到這款 https://twillcms.com/ 稍微看了一下,覺得非常喜歡 首先 官網很漂亮 稍微看一下 repo 連檔案名稱那些 都很漂亮 再來 創作團隊「AREA 17」看起來是一間接案公司 官網展示的客戶名單 ...
站長最近要寫一些筆記、技術文章 單篇單篇發佈的話,會有點混亂 因此需要找方法整理在一起 於是就開發了系列設定功能 歡迎大家使用!
在發佈貼文的介面,會看到一個「系列設定」的按鈕 按下按鈕,就可以設定系列文章名稱! 也可以把舊有的文章,整理成系列!
這幾天站長開發了一個新功能 就是系列文章寫作功能 我來首先創作一個系列文章,作為示範
最近因為換新筆電 要裝開發環境 想把主機上的多個資料庫 複製到本機 寫了一個可以重複使用的腳本 會直接讀取 `.env` 檔案 把主機的 mysql db 複製到本機 laradock 內的 mysql `clone_production_database.sh` ...
舊的 macbook pro 2020 有點小問題 入手了新的 macbook air M3 來用 開發環境遷移,花了兩個下午,簡單記錄一下 --- ## iCloud 首先,我有許多重要的商業文件,放在 `Desktop`&`Documents` 非常慶幸,有 ...
歡迎最近新註冊的用戶 @gbwhatsapp12 @alienmarsxdev @snaptubeapp7 @Yacinetv092 @linxiying1204 @dongdongyang @freedolm @HDStreamz1 @pikashowapp3 @abei0614 @char...
最近買了一台 macbook air 使用 m3 晶片 使用 docker 以及 npm 裝套件、裝 image 時,會出現各種警告 x86、x64、amd64、arm64 到底是怎樣? 簡單研究,結論如下: --- - x86 是 32 位元的,因為初始產品線命名都是...
租了一台新的主機 跑 laravel app 預設的參數 很容易出現 nginx request payload too large 錯誤 調整之後 又會遇到超過 php.ini 的 post body limit 錯誤 筆記一下,必調的參數 --- ## nginx ...
最近要做一個小網站,主要目標市場為北美的用戶 網站同時會有繁體中文版,所以台灣的用戶也要可以使用、速度不能太慢 為了挑選適合的主機區域,使用 Linode Speed Test https://www.linode.com/speed-test/ 來記錄一下測試結果,測試時間...
站長收到學員來信詢問,寫篇文章簡單回答如下 --- 在你翻閱「自學網頁の嬰兒教材:JavaScript」教學系列時,應該會發現七、八、九的內容,好像都在用舊版語法? 為什麼站長的教材,看起來是教 Vue 2,不是教 Vue 3? 學過時的東西,不是浪費時間嗎?為什麼不教大家最...
我在論壇上看到有人發問:免費提供網頁 對方賺得網站 我賺得經驗 這套流程可行嗎? https://codelove.tw/@JsLover0018/post/n3VdEq 我認為很多年輕的工程師可能都曾有過類似念頭 今天分享幾點個人看法 --- 先講結論,我認為這是一個...
這篇作者強烈偏好 promise 並排斥寫 async/await https://uniqname.medium.com/why-i-avoid-async-await-7be98014b73e 留言區有清楚的相反論點 不用對這議題有特定立場,但就是要知道注意事項: **即...
歡迎最近新註冊的用戶 @id3p6688 @katiewilson8210 @linejkf552 @tws9666 @8945689 @swotoutty @leemotseng @bear645 @jf76501 @assdee @kk00336 @Adjutle @imxp978 @je...
之前推出的春節全面鼓勵自學活動,今天告一段落囉! https://codelove.tw/@howtomakeaturn/post/rqED0a 希望有幫助到一些朋友,認識到 web 開發的樂趣! 也歡迎還沒寫完的朋友,把一些沒寫完的組合包,購買起來、繼續寫完! 祝大家新年一...
收到 FreeCodeCamp 電子報 大吃一驚 豐富內容 而且免費 ## Learn Generative AI in 30 Hours https://www.freecodecamp.org/news/learn-generative-ai-in/ ## Goog...
這文章很有趣 https://mp.weixin.qq.com/s/vL5NSp3W-974Szn32uhvsA C++ 社群遭點名不安全,社群也出面辯解
今天在 reddit 看到一則貼文 https://www.reddit.com/r/webdev/comments/1b14bty/netlify_just_sent_me_a_104k_bill_for_a_simple/ 某工程師做了一個小網站放在 Netlify 收到帳單 ...
https://www.futurepedia.io/ https://theresanaiforthat.com/ 這兩個網站 分類整理大量AI工具 對AI有興趣的話可以慢慢逛 看看目前AI走到哪裡了
簡易的指南 很有幫助 https://drive.google.com/file/d/1_grQXLHV_SQUmGMdi6dacBZI7seMCzcL/view 可以學一下
每週二晚上《CodeLove Talk》直播! 開放觀眾 Call-in,一起討論軟體開發相關的話題!