neo@nebuchadnezzar : ~/postslast login: 2199.04.21

How Deep
Does The Rabbit Hole Go?

> Notes from the wire. Real systems, real bugs, real fixes. Laravel, Next.js, Docker, Redis, và những thứ production dạy bạn lúc 3am.

ALLFRONTENDBACKENDDEVOPSSECURITY[ 08 ENTRIES ]
// 0x01 BACKEND

Laravel Clean Architecture

class UserService {
  public function __invoke(UserRepo $repo){
    return $repo->findActive();
  }
}
2025.11.10 · 14 mincat > open ⟶
// 0x02 FRONTEND

Next.js App Router — cơ bản đến nâng cao

export default async function Page() {
  const data = await fetch(API).then(r=>r.json());
  return 
}
2025.11.02 · 22 mincat > open ⟶
// 0x03 FRONTEND

Vue 3 Composition API thực chiến

const count = ref(0)
const double = computed(() => count.value * 2)
watch(count, n => console.log(n))
2025.10.25 · 11 mincat > open ⟶
// 0x04 SECURITY

Authentication JWT trong Laravel

$token = JWTAuth::fromUser($user);
return response()->json([
  class="s">"token" => $token
]);
2025.10.12 · 9 mincat > open ⟶
// 0x05 FRONTEND

State management trong React

const store = create((set) => ({
  count: 0,
  inc: () => set(s => ({ count: s.count+1 }))
}))
2025.09.30 · 12 mincat > open ⟶
// 0x06 DEVOPS

Docker cho developer — từ container đến compose

services:
  app:
    build: .
    ports: [class="s">"3000:3000"]
    depends_on: [db]
2025.09.14 · 16 mincat > open ⟶
// 0x07 BACKEND

Redis hoạt động như thế nào?

await redis.set(class="s">"key", class="s">"value", class="s">"EX", 60);
const v = await redis.get(class="s">"key");
2025.08.28 · 10 mincat > open ⟶
// 0x08 BACKEND

GraphQL vs REST — chọn đúng cho dự án

query Feed($limit: Int!) {
  posts(limit: $limit) { id title }
}
2025.08.10 · 8 mincat > open ⟶