Intro웹 애플리케이션에서 정적 파일(이미지, CSS, JS 등)의 성능 최적화는 중요하다. 캐시를 활용하면 불필요한 네트워크 요청을 줄여서 성능을 개선할 수 있으며, 파일의 버전 관리를 자동화하면 배포할 때 브라우저가 새로운 리소스를 제대로 가져오게 만들 수 있다. 잘못 캐시해두면 기껏 새로운 정적 파일을 배포했지만 사용자들은 브라우저에 캐시된 엉뚱한 정적자원을 활용하는 사태가 벌어진다.Spring Boot에서는 spring.web.resources.cache.period 및 spring.web.resources.chain.strategy.content.enabled 설정을 활용하면 정적 파일의 캐싱과 버전 관리를 쉽게 적용할 수 있다.이번 글에서는 새로운 Spring Boot 프로젝트를 생성하고, ..
전체 글 506
Intro데이터베이스에 이모지가 포함된 텍스트 데이터를 저장하려 했더니 다음과 같은 에러가 발생했다.org.springframework.orm.jpa.JpaSystemException: could not execute statement [Incorrect string value: '\xF0\x9F\x91\x89 \xEC...' for column 'content' at row 1] INSERT할 때 Incorrect string value 오류가 발생한 것이다. 문자셋은 utf8mb4로 제대로 설정되어있었는데 어떤 문제가 있었는지 알아보자.원인 찾기데이터베이스의 문자셋과 Collation 확인SELECT schema_name AS database_name, default_character_se..
Intro이전 글에서 LLAMA3 로컬 설치 실행 및 테스트 를 해보았다. 최근 제한된 자원으로 뛰어난 성능을 발휘하는 LLM인 Deepseek가 화제다. X(Twitter) 에서 관련 글이 잔뜩 올라오기 시작하더니 얼마 지나지 않아 주식시장에서 엄청난 파장을 일으키는 바람에 모든 사람들이 다 알게 되었다. 안그래도 제한된 자원으로 자체적으로 LLM을 구축하자니 성능이 아쉽고 컴퓨팅파워가 너무 많이 들어가고 그렇다고 상용모델(OpenAI)을 사용하자니 비용이 부담되는 상황에서 굉장히 솔깃한 내용이다.특히 R1 모델의 경우에는 믿거나 말거나 겨우 80억의 비용으로 o1 모델에 대적하는 성능을 만들어냈다는데 뉴스에서는 검열이니 중국이라 믿을 수 없다느니 이상한 소리만 해댄다. 애초에 오픈소스 대형 언어모델로..
IntroiOS Safari에서 텍스트 입력 필드(input text)에 텍스트를 입력하려고 클릭하니, 화면이 강제로 확대(zoom)되는 현상이 있었다.Safari에서 이런 zoom 현상은 기본적으로 font-size가 16px 미만인 input 필드에서 발생한다고 한다. 작은 텍스트 필드를 강조해 사용성을 높이기 위해 확대를 적용한다는 의도지만 개발자에게는 골칫거리가 된다.UI가 깨지거나 모달창이 비정상적으로 작동하게 만들어서 디자인과 사용자 경험을 크게 해칠 수 있다.본 글에서는 이 문제를 해결하기 위해 사용한 한 가지 사례를 소개한다.문제 상황검색창에 텍스트를 입력하면 모바일 Safari에서 화면이 확대되면서 UI가 깨지는 문제보편적으로 아래의 두가지 방법에 제시된다.input font-size 1..
IntroLLM 모델 하면 ChatGPT를 떠올리는 사람들이 많지만, 오픈소스 AI 모델들도 꾸준히 발전하고 있다. LLAMA3는 Meta에서 개발한 대규모 언어 모델로, 오픈소스 모델 중에서도 상당히 주목받고 있다. 이를 로컬 환경에서 실행할 수 있게 도와주는 도구가 Ollama다. Ollama는 간단한 명령어로 LLAMA3 같은 모델을 다운로드하고 실행할 수 있게 해주는 도구로, REST API까지 제공해서 확장성도 꽤 뛰어나다. 이번 글에서는 LLAMA3를 설치하고 실행해 본 경험을 바탕으로 이 모델의 장단점과 활용 가능성을 리뷰해 보려고 한다.설치 및 실행설치리눅스 및 macOS 환경에서는 명령어 한줄로 실행 가능하다.그 외의 환경(Windows)는 아래의 링크를 참고해서 설치한다.https://..