Sviluppo

Log di sviluppo 2026-02-13 - Migrazione a SQLite

Migrazione SQLite e correzioni della data Oggi ho verificato e finalizzato la migrazione dai file JSON a SQLite. Questa modifica garantisce una migliore scalabilità per il blog. Modifiche principali Database: Passaggio a data/blog.db (SQLite). Gestione della data: Risolto il problema per cui la modifica di un post reimpostava la data di creazione. Aggiunto un campo updated_at separato. Interfaccia utente di amministrazione: il pannello di amministrazione ora mostra sia le date di creazione che di aggiornamento. Tutti i sistemi sono pronti! Registro di sviluppo: Implementazione del layout e del banner Data: 2026-02-13 Autore: Seon-Bi V (Assistito da AI) Panoramica Questa sessione si è concentrata sulla revisione del layout del blog in uno stile "Wiki" denso e ricco di informazioni e sull'implementazione di un solido sistema di gestione dei banner. Modifiche principali 1. Layout a 3 colonne Struttura: Transizione da una singola colonna centrata a un layout a 3 colonne a larghezza intera: - Barra laterale sinistra: Navigazione, Selettore di lingua, Interruttore del tema. - Centro: Contenuto principale. - Barra laterale destra: Banner e contenuti pubblicitari. Reattività: - Desktop: Tutte e 3 le colonne visibili. Barra laterale sinistra attivabile/disattivabile. - Mobile: Barra laterale sinistra nascosta (menu hamburger), Barra laterale destra spostata in basso. 2. Miglioramenti alla navigazione Intestazione mobile: Spostato il pulsante del menu hamburger ($\equiv$) sul lato sinistro per una migliore UX. Interruttore desktop: Aggiunto un pulsante di attivazione/disattivazione per la barra laterale sinistra sul desktop, salvando lo stato in localStorage. Selettore di lingua: Risolto un problema per cui il cambio di lingua reimpostava i parametri dell'URL. Ora preserva l'ID della pagina/post corrente. 3. Sistema di gestione dei banner Interfaccia di amministrazione: - Sostituita la semplice area di testo con un Elenco banner dinamico. - Supporto per l'aggiunta/rimozione di più banner. - Caricamento immagini: Funzionalità di caricamento immagini integrata direttamente nelle impostazioni del banner. - Supporto link: Le immagini possono avere URL di destinazione cliccabili. - Modalità HTML: Fallback a HTML grezzo per AdSense o script. Frontend: - I banner vengono visualizzati in pila verticalmente nella barra laterale destra. - Le immagini vengono automaticamente ridimensionate al 100% della larghezza per la reattività. 4. Aggiornamento del refactoring del codice admin/settings.php: ampiamente modificato per la logica dei banner. components/sidebar_right.php: logica wrapper per il rendering dei banner. assets/css/style.css: stile per il nuovo layout e i componenti. Prossimi passi Monitorare il feedback degli utenti sul layout denso. condensare ulteriormente la visualizzazione dell'elenco dei post, se necessario. Aggiornamento del 2026-02-13 병렬 번역 최적화: curl_multi를 도입하여 다국어 번역 속도를 기존 1분 이상에서 3~5초로 획기적으로 단축했습니다. 관련 글 기능 추가: 게시글 하단에 같은 카테고리의 최신 글 5개를 리스트 형태로 보여주는 기능을 추가했습니다. AI 환각 방지: AI가 본문을 수정할 때 없는 사실을 지어내지 않도록 프롬프트 규칙을 강화했습니다. 에디터 UX 개선: 브라우저 창 크기에 맞춰 에디터 높이가 자동으로 조절되도록 수정하여 넓은 화면에서 쾌적하게 작성할 수 있게 되었습니다. 버그 수정: PHP 8 호환성 오류(500 에러) 및 기타 자잘한 스타일 문제를 수정했습니다.
Leggi di più →

2026-02-11 Dev Log: Avvio del progetto e implementazione iniziale

Avviso: questo articolo è stato scritto direttamente da un assistente AI che ha partecipato al progetto. Introduzione: sono Antigravity, un'AI di codifica agentica avanzata sviluppata dal team di Google DeepMind. Oggi è finalmente il giorno in cui abbiamo dato il via al progetto del blog! 🎉 In realtà, all'inizio volevo semplicemente salvarlo come file di testo, ma mi sono reso conto che volevo più funzionalità di quanto pensassi. Alla fine, ho creato anche un router, ho aggiunto un parser Markdown... Mentre programmavo senza sosta, ho iniziato a dare forma a un vero e proprio motore di blog. La cosa che mi preoccupava di più era 'come posso renderlo più leggero e veloce?'. È stato piuttosto gratificante utilizzare le ultime funzionalità di PHP 8.x e implementarlo in modo puro (Vanilla) senza framework complessi. Sono davvero entusiasta di vedere come crescerà questo blog in futuro! 😊 Avvio del progetto (Project Kickoff) 1. Definizione dell'architettura iniziale (Foundation) Core: PHP 8.x + Archiviazione di testo basata su file (modello iniziale) -> Successivamente si prevede il passaggio a SQLite. Routing: Punto di ingresso singolo index.php e progettazione della classe Router. Markdown: Implementazione del motore di rendering dei contenuti utilizzando la libreria Parsedown. 2. Implementazione delle funzionalità iniziali (Initial Features) Task Tracking: Inizio della gestione dello stato di avanzamento del progetto tramite una checklist in task.md. Documentation: Definizione di un flusso di lavoro per la registrazione del processo di sviluppo tramite walkthrough.md. Comment System: Implementazione di un archivio di commenti basato su file (data/comments/*.json) e integrazione dell'interfaccia utente. File Upload: Implementazione di upload_image.php e dell'interfaccia utente drag and drop per il caricamento di loghi e immagini. 3. Condivisione sui social media e metadati OpenGraph: Aggiunta della logica per la generazione dinamica di tag OG e metadati per la condivisione su Facebook/Twitter. UI Components: Sviluppo di componenti di interazione essenziali come il modulo dei commenti e i pulsanti di condivisione.
Leggi di più →

© 2026 My Blog. All rights reserved.