일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Documentation
- windows 11
- Drupal
- 지도
- 인ㄴ공지능
- 바안
- ChatGPT
- Drulal
- window defender
- 메모리 프로파일링
- Apache Solr
- vite
- Swagger-PHP
- dnsmasq
- 서버
- wsl2
- docker
- 메모리 문제
- 개발환경
- 문서화
- backup
- WSL
- Infra
- php
- API
- Laravel
- MYSQL
- #Apache solr
- 인프라
- Arcylic DNS Proxy
- Today
- Total
목록php (8)
J-한솔넷

제가 유지보수 중인 사이트는 Drupal 7.x 구성되어 있습니다. 최신버전으로 판올림하기에는 사이트의 중요도나 기존 기능을 완벽하게 지원해주는 모듈이 없어 엄두를 내지 못하고 있습니다. 최근 사이트 유지보수 작업을 진행하는데 검색관련 문제가 발생했습니다. 아래와 같이 영문 콘텐츠 화면에 생뚱만게 한글 콘텐츠가 출력됩니다. 해당 콘텐츠를 클릭하여 열람한 후 번역 상태를 보니 원본은 한길이고, 다른 언어로는 변역되지 않은 상태입니다. 그런데 Apache Solr 색인 내용을 보면 영어로 번역된 것이 없는데, 영어로 콘텐츠가 색인되어 있습니다. 해당 콘텐츠를 다시 한 번 더 저장(수정)하면 아래와 같이 2개의 색인이 생기게 됩니다. 위 그림에 이어 아래와 같이 색인 내용이 하나 더 생깁니다. 이렇게 오류가 ..

오늘 제가 작업중인 프로젝트를 외주업체와 협업을 위해 테스트서버에 설치하는 작업을 했습니다. 이 과정에 몇가지 문제가 있었고, 일부는 해결이 되지 않아 급히 커뮤니티에 내용을 욜렸습니다. 해당 내용에 답을 해주신 분이 "메모리 프로파일링부터 해봐야 원인을 알수 있을 것 같다"는 메시지와 함께 링크를 하나 올려주셨습니다. 해당 링크를 따라 시도를 해보고 있었습니다. 이 과정에서 문제가 해결되어 더 이상 진행하지는 않고, 추 후 공부를 위해 메모를 해두려고 합니다. 발생했던 문제들 패키지 설치 과정에서 maatwebsite/excel 패키지로 인한 오류가 발생했습니다. 이 오류의 원인은 psr/simple-cache가 설치되지 않아 생긴 문제로 이 패키지를 설치하고 다시 설치를 시도하니 문제가 해소되었습니다..
오늘 매우 간만에 오프라인 교육을 들었습니다. 교육 중에 "ChatGPT를 이용하여 코딩하는 사람이 있다"라는 이야기를 듣고, "그게 가능해?~"라는 의문이 들었습니다. 그래서 집에 돌아와 한번 테스트를 해봤습니다. 아래 내용은 그 결과입니다. PHP 기반 DTO + Controller + Service + Repository 구조를 가지는 Laravel 프레임워크용 예시 프로그램을 보여줄 수 있어? 물론이죠. Laravel은 PHP 웹 애플리케이션을 빠르게 개발하고 유지보수할 수 있도록 도와주는 인기있는 프레임워크입니다. 아래 예시는 Laravel에서 DTO(Data Transfer Object), Controller, Service, Repository 구조를 구현한 간단한 프로그램입니다. UserD..

지난달에 WSL2 + Docker 개발환경이 너무 느리다고 글을 적었는데, 이번에는 다시 WSL2를 이용해야 하는지 고민되는 내용을 적습니다. 다름이 아니라 최근 Laravel의 자바스크립트 스타일시트 빌드를 위해 NodeJS를 설치하는데 문제가 생겼습니다. 예전에는 로컬에 NodeJS를 별도로 설치해서 사용하다가 최근에는 Docker 컨테이너에 포함시켜 이용하고 있습니다. 진행중인 프로젝트의 자바스크립트 패키지를 설치하던 중 아래와 같은 오류가 발생했습니다. WSL2를 사용하지 않는 Docker 컨테이너 WSL2를 사용하지 않으면 Docker는 Hyper-V 기반에서 컨테이너를 실행되고, bind mount 형태로 공유된 폴더의 경우 심블릭 링크를 만들 수 없고, 리눅스 파일 시스템의 권한 문제에 영향..
제가 API 문서화에 관심을 가진 것이 컨트리를 앱을 개발하면서 인듯 합니다. 제가 서버와 백엔드를 맞고, 서울에 있는 개발자가 안드로이드 앱을 개발하기로 하고 시작했는데, API 개발 후 Postman 등에서 읽을 수 있는 Json 형식의 문서로 만들어 달라는 요청에 문서화를 하기 시작했습니다. 단순히 Postman에만 국한 할 것이 아니라 나중에 유지보수 등을 위해서 프로젝트 내에 문서화되어 Swagger UI를 통해 지속적으로 관리되고, UI를 톷해 바로 테스트가 가능하도록 하기 위해 Swagger PHP를 사용하여 문서화를 하기로 결정했습니다. 그리고 제가 주로 사용하는 프레임워크가 Laravel을 이용하다보니 프레임워크를 지원하는 도구가 있었으면 해서 찾아보니 L5-Swagger가 있었습니다. ..

일전에 커뮤니티에서 WSL과 Arcylic DNS Prox 충동 물제 해결 후 WSL2를 이용하여 Docker를 실행하고 있습니다. 그런데, 얼마전에도 "아! 너무 느리다."라는 생각이 들었었는데, 지금 작업에서는 느린 정도가 아니네요. 무엇이 문제인지 인터넷을 검색해보니 WSL2 + Docker 조합이 매우 느리다는 이야기가 있습니다. 다들 WSL 의 I/O 문제로 이야기들을 하고 있습니다. 검색을 해보니 bind mount로 인해 속도 저하가 생기다는 이야기가 가장 신빙성이 있는 것 같습니다. 이것을 해결하기 위해 docker-sync를 사용하라고 되어 있는데, 문제가 되는 환경이 Windows이고, Windows용은 아직 베타고 버그가 많다고 합니다. 하나의 방편으로 WSL을 이용한 방법이 있기는 ..
Docker 개발환경으로 변경하면서 Vite의 HMR 기능이 오류가 발생해서 매우 불편했습다. 이 문제는 WSL2의 문제만이 아니라 Docker 개발환경에서도 문제가 되었습다. Laravel 공식 문서 Asset Bundling 문서의 Running The Development Server In Sail On WSL2 부분의 내용을 적용해도 해결되지 안습다. 최근에야 이 문제를 해결할 수 있었다. 문제의 원인은 요청을 수신하는 IP 주소가 지정되지 안아 생기(?)는 문제로 보입니다. 이 문제를 해결하기 위해 아래와 같이 vite.config.js 파일에 아래의 내용을 추가했습니다. server: { https: false, // HTTPS 비활성화 host: true, // 요청 수신 IP 설정 hmr:..

웹개발을 본격적으로 시작한 것이 2000년 7월부터입니다. APM과 FTP를 이용한 원격 개발로 시작하여 특정 프레임워크 개발환경(정확히는 Drupal 개발 도구인 Acquia Dev Desktop)을 이용하다, 특정 프레임워크가 아닌 범용 개발환경을 구성하고 싶어 Vagrant와 VirtualBox를 이용해 개발환경을 구성해서 사용하다 마지막에는 Docker를 이용해서 개발환겨을 구축하여 사용하고 있습니다. 앞의 두 형태의 개발환경은 오래되고, 현 시점에서는 사용하지 않는(?) 관계로 생략하고, 후자의 두 개발환경은 도구의 차이가 조금 있을 뿐이고, 기본 개발환경 골력은 매우 유사합니다. 다만 최근 Docker를 이용한 환경은 전자보다 점도 개선하고 보완했지만 기본적인 골력은 비슷합니다. 이기서는 Do..