LOADING

Đang tải

dinhkarate

Kitlab lại lỗi?

Issue 2025/12/5

Lần này thì lỗi nằm ở Payment

Thì cái này cũng cơ bản là lỗi đăng nhập SMTP của Google. Còn vấn đề cốt lõi thì mình thật sự cũng chả hiểu lắm? Theo như được biết như cái Code nó có một luồng Workflow sẽ gửi Email về.

Thôi coi như mình không quan tâm. Coi nó là Blackbox. Mình chỉ giải quyết phần việc của mình thôi.

Cách giải quyết

Trước kia trong .ENV có một đoạn quy định về tài khoảng SMTP và mình chỉ cần thay đổi nó là xong. Về cách làm thì tham khảo Video này. Làm theo rồi thay vào .ENV là chạy được.

Còn một cái nữa cần phải làm. Sau khi thay xong thì chạy cái này để clear cache của phpfm8.2.

1
2
3
php artisan config:clear
php artisan cache:clear
php artisan config:cache

Sau đó reset lại phpfm8.2 và nginx.

1
2
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx

Để tìm ra solution cũng tốn khoảng 30p để giải quyết. Document lại để đỡ hơn trong tương lai.

Đọc thêm

Fix bug 3h sáng

Issue 2025/12/3

Tranh thủ không ngủ được thì mới Fix xong cái NAS giờ thì qua sửa nốt cái vụ lỗi register ở website cái nào.

Pipeline CI/CD đã triển khai

Căn bản mình không code cái này chỉ chịu trách nhiệm Deploy thôi. Và cũng có thiết kế một pipeline CI/CD lên VPS và kèm tên miền nữa. Khà khà, mừng vì nó chạy tốt đấy chứ!! Chỉ cần commit lên là lên server luôn. Tất nhiên nếu ở môi trường chuyên nghiệp thì cái này chỉ là server development thôi. Hiện giờ cũng chỉ cần có thế

Pipeline hoạt động quá tuyệt vời!!!

Về lỗi

Ban đầu nó báo lỗi này

Cũng chả hiểu gì, qua tìm hiểu tí Gemini thì mới biết (Tại ChatGPT nó bị down, hơi khốn nạn)

Nó cứ bảo lỗi ràng buộc cái quỷ quái gì đấy.

Mình cũng chẳng hiểu lắm, nhưng mà mình suy luận. UNIQUE thì sẽ chỉ áp dụng với username thôi. Mà trong cái file nó báo lỗi RegisteredUserController.php thì cái hàm store nó chả có cái username nào? Và cả cái form đăng ký cũng chả có cái username nào.

OK thì có cơ sở để prompt tiếp rồi đấy

Thế là nó chỉ cho hai cách. Một cách dùng Logic Mutator (đây chắc chắn là nguyên nhân lỗi đây), cách còn lại là Trim trực tiếp trong Controller. Mình chả hiểu cái Logic Mutator lắm. Thế nên mình Trim theo cách còn lại, cho trực tiếp vào Controller.

Ở đây mình hiểu là cái Controller này sẽ trực tiếp xử lý Request JSON mà mình POST lên. Thế nên nhét thẳng vào cái hàm mà mình đã phân tích

Logic Mutator là gì?

Mutator (Bộ biến đổi) trong Laravel là một tính năng cực kỳ hữu ích giúp bạn can thiệp và thay đổi dữ liệu trước khi nó được lưu vào cơ sở dữ liệu.

Hãy tưởng tượng Mutator giống như một “bộ lọc đầu vào” hoặc một “người gác cổng”. Khi bạn gán giá trị cho một thuộc tính của Model, Mutator sẽ chặn giá trị đó lại, xử lý nó (cắt khoảng trắng, mã hóa, đổi định dạng…), rồi mới cho phép lưu vào Database.

Quy trình bình thường không có Mutator: Controller (Dữ liệu thô) ➔ Model ➔ Database (Lưu dữ liệu thô)

Quy trình có Mutator: Controller (Dữ liệu thô) ➔ Mutator (Xử lý/Biến đổi) ➔ Model ➔ Database (Lưu dữ liệu sạch)

OK thì về cơ bản nó là một bộ lọc dữ liệu. Cơ mà hình như cái Project này không có thì phải? Nhớ ngày xưa mình host lên bằng Cloudflare Tunnel và chạy bằng artisan run dev thì cũng đâu có vụ này. Nhưng chắc là ảo giác rồi. Mới test lại thì nó ú òa lỗi kinh hoàng luôn.

Thế thì do lần trước Deploy không có test lại đây mà. Mặc dù trong ký ức mình nhớ là có…

Có kiểm tra lại git luôn thì toàn bộ các file báo lỗi đều không có chỉnh sửa gì cả. Rốt cuộc là tại saooooooo nhỉiiii? Lạ thật sự!

Đọc thêm

Homelab 23: NAS bị lỗi gì đó?

Homelab 2025/12/3

Lỗi này xảy ra cũng khá lâu rồi, nhưng mà chưa có dịp sửa. Có quả Google One bị hết hạn nên bị vào thế buộc phải làm. Thế thì làm thôi.

Chi tiết lỗi

Cơ bản thì lúc trước có detach một ổ đĩa ra khỏi NAS để làm một ổ Local Backup. Nên là giờ nó không nhận đủ ổ => Bị lỗi Package. Cụ thể là Package Node.js v20 rồi dẫn đến Synology Drive Server và một số Package khác như trong hình.

Chi tiết của lỗi được hiển thị tại Tab Notification

Ban đầu dự định là Detach từ Proxmox nhưng có lẽ là NAS không nhận được. Thế nên phải Hard Reset từ bên Proxmox. Ai da, thật sự chẳng muốn dùng biện pháp Reset này tí nào cả.

Tiện đây nói lan man chút về một lỗi. Khi login NAS qua domain thì dường như nó gặp một lỗi khi đó khiến cho việc bị Disconnect liên tục, không login được. Còn khi login bằng IP Local thì chạy được bình thường. Lỗi gì được nhỉ?

Nguyên nhân

OK, sau 30 phút thì cũng tìm ra. Do các Package này được cài tại ổ Storage Pool 3. Tức là cái ổ mình đã tháo ra để nghịch linh tinh trên Proxmox về Backup. Có hai ổ 500GB và mình tháo sạch cả hai ổ. Về lý thuyết thì Synology chưa bị Detach một ổ còn lại. Ổ có tên sata 4 dưới này.

Cách giải quyết

  1. Xóa các Package đi và cài lại trong Storage Pool 2 - Ổ 1TB Sata 2 ở hình trên.
  2. Restart lại Synology trên điện thoại.
  3. Bắt đầu Sync các thư mục lại thôi. Xong rồi đấy.

Tương lai

Ổ 1TB này cũng chỉ là tạm thời, thật sự rất sợ nó gặp sự cố gì rồi mà mất dữ liệu. Căn bản là con nhà nghèo, muốn mua ổ để đạt tốc độ RAID cũng khó. Nên giải pháp tạm bợ cho tương lai sẽ là Backup định kỳ data vào ổ còn lại. Còn khi nào làm thì cũng chưa biết.

Đọc thêm

Học tiếng Nhật - Ngày 16

Kỳ thi giữa kỳ đã qua cũng được gần 1 tuần rồi. Đạt được con số điểm là 71/100 khá mong đợi. Coi như là đạt mục tiêu.

Đợt thi cuối kỳ lần này sẽ vào ngày 24 - thi nói và ngày 26 thi lý thuyết.

Tình hình học tập

Vẫn là câu chuyện Burn-out huyền thoại và những ngày la lết ở nhà chỉ để đọc truyện tranh. Đọc được bộ “Bậc thầy thiết kế điền trang” khá vui.

Giờ giấc thì thất thường, dễ gây ra hiện tượng “phản phệ” do lệch giờ ngủ. Ngủ ngày cày đêm.

Ăn uống thì toàn ăn chay, do kinh tế đang khó khăn, không dám mua đồ ăn ngoài. Nào là cơm chiên, rồi mì, và tất nhiên không thiếu trứng.

Mấy cái đấy làm cho tình hình học hành siêu tệ, kể cả việc duy trì máy chủ còn không thèm làm. Nằm một cục và đọc truyện.

Hôm nay ở thư viện viết những dòng này mà bản thân có chút xấu hổ. (恥ずかしい)

Mục tiêu

Mục tiêu lần này là sẽ ôn sạch các bài 36 - 40 và luyện thêm việc nghe. Số điểm mong muốn 75/100. Còn bài nói thi hên xui quá, chẳng biết thế nào. Do phản ứng với tiếng Nhật của mình thuộc loại siêu dở. Thôi thì bài nói tới đâu thì tới vậy.

Đặt mục tiêu nhỏ chút, không dám mơ tưởng nữa!

Có ba cái cần quan tâm là bài nghe, bài nói và bài đọc. Ba cái này cái nào cũng đau đầu dữ dội hết.

Dạo gần đây có hai câu khá hay tự tạo ra.

一所懸命べんきょうします。
死ぬまで勉強します。

Một cái là cố gắng hết sức, cái còn lại thì cố gắng tới chết.

Đọc thêm

Học tiếng Nhật - Ngày 3

Mình bắt đàu học từ ngày 2/11/2025. Đến nay là đã được 3 ngày rồi. Ban đầu mình cũng không nghĩ là sẽ viết lách để ghi lại, nhưng có lẽ mình nên viết, như cách mình viết các bài về Homelab vậy. Một phần là để ôn tập lại, một phần nữa sẽ là kim chỉ nam.

Động lực đầu tiên để mình bắt đầu viết là nhờ anh Thuận Bùi. Những bài viết của anh thực sự rất truyền cảm hứng cho em. Em thật sự biết ơn vì điều đó và xin cảm ơn!

Học tiếng Nhật để làm gì?

Mình muốn học tiếng Nhật để có thể sinh sống và làm việc tại Nhật. Mình là một kẻ đã từng lầm lỡ trên con đường này. Thế nên lộ trình và phương pháp học của mình sẽ có phần hơi khác một chút. Số lượng bài viết chắc cũng sẽ nhiều hơn theo từng giai đoạn.

Mục tiêu lần này

Mình sử dụng bộ Minna no Nihongo II vì mình bắt đầu lại từ bài 30. Mục tiêu là cho đến tối ngày 7/11 mình sẽ hoàn thành đến bài 35 để chuẩn bị cho kỳ thi giữa kỳ. Do trước đó mình đã chểnh mảng và mất gốc rất nhiều. Hôm nay là ngày thứ 3, mình bắt đầu học đến bài 32

Phương pháp học

Khi mới bắt đầu mình đã soạn ra quy trình cho một bài như thế này.

Bắt đầu với Anki để ôn lại từ vựng (chẳng nhớ đây là lần thứ bao nhiêu mình đã học lại rồi). Sau đó sẽ đến với việc đọc trực tiếp Kanji để quen mặt chữ và cách đọc. Do bài mình cũng đã học qua (hời hợt) nên giờ đơn giản là phải trả giá!

Có những con gió sẽ phải trả giá!

Sau đó thì mở sách ra tổng ôn lại ngữ pháp, viết ghi chép tay lại

Rồi vào vnjpclub học tiếp

Bắt đầu học từ phần 2 bỏ phần 7 và phần 8 vì đã học ở lúc đầu. Cái khoai nhất chắc là phần 9: Đọc hiểu.

Sau khi xong thì luyện sách bài tập, sách luyện mẫu câu và sách bài tập chữ hán.

Học theo kiểu này thật sự tốn thời gian!!! Nhưng bù lại là nó giúp mình ôn tập sâu hơn (chắc thế)

Đọc thêm

Punny 1 Bắt đầu làm dự án Punny

Coding 2025/11/2

Đây là một dự án kết hợp giữa game Gunny và Python => Punny. Mục đích là để làm đồ án cho môn Kỹ thuật lập trình Python và cả môn Đồ án. Tổng cộng là 6 tín chỉ.

Mục tiêu

  • Có thể chơi hai người
  • Chơi hai người qua Link mời (Web game), được truyền cảm hứng bởi Lichess
  • Có khả năng chịu tải với performance trên J2Team mà không sập

Tổng quan

Dự án được chia thành 6 giai đoạn
Giai đoạn 0. System Design, suy nghĩ các luồng hoạt động của dữ liệu
Giai đoạn 1. Tổng quan về Core Logic. Gồm các góc bắn, lực bắn, gió,…
Giai đoạn 2. Demo lên Pygame hoặc Terminal
Giai đoạn 3. Cho lên WEB UI cơ bản.
Giai đoạn 4. Thiết kế và kết nối BE với FE.
Giai đoạn 5. Kiểm thử performance và scale up.

Ngày 1.

Thực sự thì nhìn nó làm mình chẳng hiểu gì. Cái này sẽ để lại vấn đề tech debt cực lớn sau này => Cần phải giải quyết càng sớm càng tốt.

Cơ bản thì Vibe Coding một hồi thì ra một đống như thế này

Tạm ngưng đã!!! Thật sự không hiểu gì!!!

Tìm hiểu thêm

Gunny là game thuộc dòng Artillery games. Việc tạo ra nguyên cái hệ thống như Gunny thật sự rất khó. Có thể làm giống game Ghét nhau ném đá hoặc các game Artillery trên Itch.io trông thế này thì dễ hơn nhiều đấy.

Nếu làm theo hệ thống của Gunny thì Player sẽ cần thêm một số module sau.

Trong khi đó nếu làm hệ thống cơ bản như các game Artillery thì nó sẽ đơn giản hơn rất nhiều.

Vậy thì chắc là sẽ thiết kế theo hướng Artillery nhưng vẫn để các khoảng trống cho các module kia có thể thêm vào.

Xác định lại mục tiêu

Sẽ sử dụng pygame và propotype sao cho con game sẽ hoạt động chuẩn chỉnh.
Có turn-base, có thể chọn góc, vẽ đường đạn, vận lực, sức gió. Nói chung là đáp ứng được 5 tính năng cơ bản này. Sau đó sẽ có hai quyết định.
Hoặc là tiếp tục thêm các module còn lại. Hoặc là tiến hành qua giai đoạn tạo Website.

OK coi như kết thúc ngày đầu tiên làm punny đi.

Đọc thêm

Kết thúc của một chuyến đi

Sự nghiệp 2025/10/26

Chà thế mà đã hơn 2 tuần trôi qua kể từ ngày nhận được tin đậu vòng hồ sơ. Nay đang ở hội trường Tiktak 1152 Đường Láng để viết những dòng này. Vừa kết thúc vòng 2 xong. Bản thân có thật nhiều trải nghiệm hay sau lần chạm trán với cô gái siêu đẹp, giàu có MKI này.

Tình đầu là tình dang dở, có lẽ vậy.

Dẫu vậy vẫn cám ơn MKI, đã cho tôi một 2 tuần để nghiệm lại về những gì mình có, những gì mình muốn đi, hiểu bản thân mình hơn. Khiến cho tôi có một lộ trình rõ ràng và quyết tâm hơn để đạt được mục tiêu.

Dù có thể nào đi nữa thì tôi đã cố gắng hết mình rồi. Các xử lý tình huống khi đó nếu nghĩ tại chỗ thì nó sẽ không đúng đắn. Nhưng nếu suy nghĩ kỹ, thì tôi đã xử lý đúng, tại khi đó buộc phải xử lý như vậy rồi.

Dù thế nào đi nữa thì cũng vẫn bước tiếp trên cái con đường gap year này thôi.

Vấn đề cốt lõi vẫn là tiếng Nhật. Sau này việc làm Homelab chắc chỉ còn là niềm vui thôi, không nên toàn tâm quá!

Đọc thêm

Mua một vài tên miền mới

2025/10/7

Hôm qua có làm một Ticket gửi đến VPSRe, hỏi sao cái tên miền của mình lâu quá chưa thấy có. Dù gì cũng gần 1 tuần hơn rồi chưa thấy gì. Thì được phản hồi là
Dịch vụ tên miền đang bị lỗi
Thế là mình được refund tiền vào… vào tài khoảng VPSRe ?

Ờ, thôi cũng kệ, sau này mình vẫn dùng nên để đó luôn.

Nay xúc hai cái tên miền trong khá vui

thembu.lol và thatnghiep.dev =))

Cái thatnghiep.dev thì sau này sẽ làm trang Blog luôn, nghe tên miền chất quá, đem đi tạo chút thương hiệu cũng hay đó!! Đó cũng là quyết định của mình khi mua tên miền này.

Còn cái thembu.lol kia để làm DDNS nội bộ vui vẻ thôi. Không có dự định Public ra ngoài, cơ mà ai thấy bài này thì cũng… =))

Đọc thêm

Tản mản một chút về Conoha - Tiểu thư nhà GMO

2025/10/5

Phải công nhận mới nhìn vào thôi đã thấy cute rồi. Tìm hiểu kỹ thì đây là con gái của nhà GMO. Trông cứ như tiểu thư dạo chơi ấy.

Mấy anh Nhật Bổn đúng là cái gì cũng có thể nghĩ ra được. Mình thậm chí còn bị em hút hồn =)) LOL.

Styles của mình vốn không phải thế này nhưng mà, thôi thì cứ dùng tạm vậy. Bao giờ rảnh thì CSS lại, reborn lại toàn bộ Page.

Trước cũng nghĩ đến việc thuê Conoha VPS để dùng làm Load Balancing, High Avaibility cho Dashboard Homelab. Mà cân đo đong đếm thì cuối cùng cũng tèo. Tại 800k/năm là con số hơi thốn với mình hiện tại. Mà chỉ được cấu hình cũng khá khiêm tốn.

1vCPU - 512Mb

Mức này thì quá khiêm tốn rồi! Nhưng bù lại Conoha dễ thương quá!!!

Đọc thêm

Kẻ về từ cõi chết 2

2025/10/5

Mong là lần Reborn này sẽ thuận lợi hơn. Themes cũng đổi rất nhiều rồi. Blog trên Viblo cũng viết được 22 bài rồi.

Chúc bản thân ở tương lai có thật nhiều tốt đẹp, để không phải nói lên câu

“Đời này hài thật”

Đọc thêm
avatar
dinhkarate

Sinh viên năm cuối - UIT
Thất nghiệp vì tiếng Nhật quá kém.