대규모 AI 시스템 프로젝트
·
개인공부/TIL
API 명세서공통 요청/응답 형식//성공시{ "code": 200, "status": "success", "message": "성공적으로 처리되었습니다.", "data":{ "name" : "송송 숯불 양념구이", "price" : 19900, "content": "맛깔나는 고추장 베이스에 밥 두공기 순삭 가능~", "category_id" : "123e4567-e89b-12d3-a456-426614174000", "restaurant_id" : "123e4567-e89b-12d3-a456-426614174000" }}//실패시{ "code": 403, "status": "fail", "message": "상품을 찾지 못했습니다."}usershubsordersdeliveriesco..
Spring Boot Test Config 설정하기
·
개인공부/TIL
필요에 따라 테스트시 테스트 전용 Config를 사용해야 할 필요가 있었다.@SpringBootApplication( scanBasePackages = { "com.mjy.coin.config", "com.mjy.coin.service" }, exclude = {KafkaAutoConfiguration.class})public class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); }}테스트 패키지에서 애플리케이션을 생성하고 스캔할 패키지 ..
젠킨스(Jenkins)로 Git 프로젝트 빌드 자동화하는 방법
·
이전자료/웹개발
enkins : 빌드, 테스트, 배포 등 모든 것을 자동화해주는 자동화 서버 build : 컴파일을 포함해 war, jar 등의 실행 가능한 파일을 뽑아내기까지의 과정 release : 같은 제품을 새롭게 만드는 것 deploy : 애플리케이션을 서버에 배포하여 작동 가능하도록 만드는 것 distribute : 제품을 사용자들이 사용할 수 있도록 서비스 등을 제공하는 것 ​ AWS 프리 티어를 사용하는 저에게는 소스코드 업데이트할 때마다 매번 build 하고 sftp로 deploy 하기 너무 번거로워서 알아보니 Jenkins라는 유용한 툴이 있어서 사용해봤습니다. ​ 먼저 결과 화면입니다. intellij commit, push > git webhooks > Jenkins Build ​시작하겠습니다. J..
docker(도커)로 centos + apm + mail 서버 구축 완료 후 배포
·
이전자료/서버
첨부파일 메일 전송 코드를 테스팅을 하다가 클라우드 개발서버의 이미지를 손상시켜버렸습니다. ​ 매번 이런 식으로 작업하기에는 너무 설정할 것도 설치할 것도 많아 도커를 이용하여 개발서버를 처음부터 끝까지 직접 구현하고 이미지화하였습니다. ​ 클라우드 서버에 개발서버 이미지를 생성하면 되지만 제 담당도 아니고 문제가 생길 때마다 매번 부탁하기도 그렇더라고요. ​ 먼저 구축 완료한 결과 화면입니다. qmail 서버를 구축하여 메일 전송 및 웹서버를 통해 사이트 출력까지 이상 없이 완료하였습니다. ​ 저의 private 도커 이미지입니다. 태그 1.0은 apm 구축 1.1은 메일 서버 구축으로 docker 이미지화하였습니다. 구축한 리포지토리는 저만 사용할 수 있도록 private 화하였고 pull을 받기 위..
php-fpm으로 메일 UI 변경 및 사이트 속도 개선
·
이전자료/서버
웹메일 UI 단은 PHP를 사용하고 있는데요 기존에 PHP 버전이 너무 낮어서 최신 UI를 적용할 수 없었습니다. 이에 따라 해결 방법을 모색 중 php-fpm을 통해서 최신 UI를 적용할 수 있었습니다. 먼저 결과 화면입니다. 좌측이 최신 UI를 적용한 사진입니다. 기존에는 PC 외에는 사용이 힘들었으나 새로운 UI 적용으로 모바일, 태블릿 등 과 같이 반응형으로 동작합니다. ​ 기존 apache2.2 php 5.3 mysql 5.1 신규 apache2.4 php 5.5 mysql 5.8 로 변경하였으며 테스트로 php 버전을 많이 올리진 않았지만 php-fpm으로 설정한다면 향후 버전을 다르게 적용하여도 유연하게 대처 가능할 것으로 보입니다. ​ ​ 모든 테스트는 도커에서 진행이 되었으며 도커허브에 ..
PhpStorm IDE에서 Xdebug 설치 및 설정 방법
·
이전자료/웹개발
자바의 intellij와 다르게 php는 디버깅을 하기 위해 Xdebug 확장 모듈을 설치해야 하고 몇 가지 설정이 필요합니다. ​ 먼저 결과 화면입니다. php 소스코드에서 중단점을 걸면 해당 부분에서 break가 걸려 해당 부분까지의 Variables를 받아오게 됩니다. 이후 F7,F8등의 키보드 입력으로 소스를 추적할 수 있습니다. 더 이상 print_r, echo 등을 찍어보지 않아도 됩니다. ​ 먼저 phpinfo()를 사용하여 자신의 php 버전, 아키텍처, php.ini의 위치가 정보를 얻어냅니다. ​ 그리고 난 뒤 아래의 Xdebug 공식 사이트에서 자신의 정보와 맞는 라이브러리를 설치합니다. ​ 저는 PHP 5.4. VC9 TS(32bit)를 설치하였습니다. https://xdebug.o..
Java Profiling을 위한 JVM 구조 알아보기
·
이전자료/웹개발
자바를 하면서 JVM의 구조를 조금 알고 싶었습니다. 혼자 공부하면서 끄적거리는 내용입니다. 체스 게임의 서버 클래스를 컴파일 하게 되면 오른쪽의 그림과 같이 바이트코드로 변경됩니다. JVM은 해당 바이트 코드를 OS 특화된 코드 즉 Native Code로 변환하여 실행합니다. ​ JVM의 구조는 다음과 같습니다. ​ 더 자바, 코드를 조작하는 다양한 방법/백기선 이 중에서 클래스 로더 시스템을 좀 더 알아보겠습니다. 클래스로더 시스템 더 자바, 코드를 조작하는 다양한 방법/백기선 사진과 같이 클래스 로더 시스템은 로딩 > 링크 > 초기화 순으로 진행이 됩니다. ​ 로딩 그중 로딩은 BootStrap > Extension > Application 순서로 우선권을 가지게 되며 이는 상속관계입니다. 이를 통..
HTTP/1.1에서 HTTP/2로 변경, 웹페이지 1초 단축
·
이전자료/웹개발
로컬에서 openssl을 적용 후 apache 2.4에서 http2 적용했을 때 결과입니다. 확실히 드라마틱 한 효과가 있네요. 좀 더 빡센 테스팅 후 운영서버에 반영할 예정입니다. ​ HTTP/1.1 HTTP/2, QUIC 관련 설명은 우아한 Tech의 쿨라임님의 강의가 굉장히 잘 정리 되었습니다.