[SAP GUI] 드래그를 통한 복사 활화
·
SAP
Quick Cut And Paste : 활성화해주면 GUI에서 드래그를 통해 ABAP Dictionary의 필드를 복사할 수 있게된다. 1. 좌측 상단의 Customize Local Layout (단축키 : Alt + F12) 클릭 2. Quick Cut And Paste 클릭 [결과]- 아래와 같이 Ctrl을 누르고 필드를 드래그하면 검정색으로 바뀌는데, 이 때 Ctrl + C를 누르면 복사된다.
[ABAP] DO
·
ABAP
기본 문법특정 구문을 반복 실행할 수 있는 루프문이다.DO 문 옆에 반복할 횟수, TIMES 키워드를 쓰고, ENDDO 키워드로 닫아준다.DO [횟수 TIMES]. " 실행할 구문ENDDO.[예시]DO 8 TIMES. WRITE '이 문장은 8번 반복됩니다.'.ENDDO. sy-index시스템 변수의 index를 do문에 사용할 수 있다.해당 변수의 Short Description에 Loop Index라고 설명되어있으며, 10자리까지 가능하다. 아래 코드로 직접 확인해보자.9번 반복되는 루프문이다.DO 9 TIMES. WRITE : sy-index, /.ENDDO.[결과]특이하게 0이 아닌 1부터 시작한다.예제간단히 구구단을 실행하는 예제 코드이다.단, 입력값은 9 이하까지만 허용한다고 가정.P..
[Infra] Nginx 리버스 프록시 설정 중 도메인 요청이 특정 포트로 포워딩되지 않는 이슈
·
이슈
결론 : 방화벽 문제상황가비아에서 도메인을 구매했는데, 구매한 도메인(예를 들어 example.com)을 통해 요청하면 현재 서버의 8080포트에서 돌아가고있는 Spring 어플리케이션으로 자동 포워딩되게 하고 싶었다. 이를 위해 아래와 같이 Nginx 파일을 작성했다.events { worker_connections 768;}http { client_max_body_size 5M; server { listen 80; server_name {구입한 도메인}; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; ..
[Nginx] Nginx 사용 시 413 ERROR (413 Request Entity Too Large)
·
이슈
환경Nginx를 통한 Reverse Proxy 구축문제 상황프론트 팀원 분으로부터 dev 서버에 사진 업로드 시 413 error가 난다는 메시지를 받았다.프론트팀은 iOS이고, 아래는 전달받은 에러 메시지이다.StatusCode: Optional(413) responseValidationFailed(reason: Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(code: 413))  yml에 max size를 설정해두었기 때문에 이 문제인가 하고 그라파나를 확인해보았다.... 생략spring: servlet: multipart: enabled: true max-file-size: 10MB ..
[이슈/Infra] EC2가 지속적으로 터지는 문제
·
이슈
요약 : EC2 디스크 용량(8G) 문제였다. 운영하고 있는 서비스에서 EC2가 지속적으로 중단되는 문제가 발생했다……우리의 문제 상황은 다음과 같았다.브랜치에 머지된 후 git workflow를 통한 CI/CD과정 중 중단서비스 사용 중 갑자기 중단. 서치를 해보니 swap 메모리 부족… 코드 자체 문제(무한 루프)등등.. 많은 문제 상황과 해결방법이 나왔지만 우리에게 적용되지는 않았다.우리는 AWS에서 인스턴스를 재부팅했을 때 다시 정상적으로 구동되었고, 시간이 흘렀을 때 1, 2의 상황에서 EC2가 중지되었다.  현재 운영 중인 서비스인데 계속 중단되어 PM과 프론트 팀에게 너무 미안했다ㅜㅜ… 어떻게든 해결해보려 다시 미친듯이 구글링을 했지만 뚜렷한 문제 파악을 못했다….  결국 모니터링 도구(프로..
[회고] 2주간 합숙 개발 했던 프로젝트 한끼족보 회고
·
회고
SOPT 34기 면접보고 나온 직후 떨어지겠군….생각하고 인스타 언팔한지가 엊그제인데 벌써 9월이다. 곧 있으면 35기 신입 회원 합격자 발표날이던데 미루고미루다가 회고를 이제서야 작성해본다… SOPT 자체의 회고는 아니고, SOPT에서 참여했던 프로젝트 회고이다. 여러모로 난 운이 좋은 사람이라는 것을 느낀 프로젝트였다.팀빌딩 SOPT의 팀빌딩은 [기획 경선]을 통해 많은 투표수를 받은 일부 아이디어들이 선발된 후 이루어진다. 아이디어가 선발되면 그 아이디어의 기획자는 TL(Team Leader)가 된다.  아무튼 이렇게 선발된 아이디어에 기획, 개발, 디자인 파트가 지원하는 식이다. 기획경선 ~ 팀빌딩까지 약 일주일의 시간이 있었는데, 이 일주일동안 합류하고 싶은 아이디어의 TL에게 자신을 어필하면 ..
[JPA] JPA 톺아보기
·
톺아보기
💡 프로젝트를 앞두고 JPA를 공부했을 때 작성했던 글  프로젝트를 앞두고 JPA에 대해 예제를 통해 한번 다시 톺아보려고 한다. 간단히 설계한 ERD는 아래와 같다.예시요구사항학생은 학과 1개에 소속된다.학생은 여러 게시글을 소유한다.더미데이터 더미데이터는 아래와 같이 넣었다.학과는 2개이고, 학생은 3명으로 그 중 2명이 DEPT1에, 1명이 DEPT2에 소속된다. STU1은 post를 3개, STU2는 post를 2개 소유한다. department poststudent Entity 코드DataGrip을 사용해 더미데이터를 넣을 것이기 때문에 @Getter 외에 불필요한 Lombok 어노테이션은 선언하지 않았다. 모두 양방향 매핑했고, 지연로딩(FetchType.LAZY) 설정을 해주었다. Depa..
[고민/JPA] JPA 특성을 고려한 쿼리문 작성 고민하기
·
고민
동일한 내용을 프로젝트 팀블로그에도 게시하였습니다.  https://teamhankki.tistory.com/9 쿼리 최적화 고민(feat.JPA)작성자 | 서버 팀원 박서진   사용 기술JPASpring boot(3.3.1)Database : PostgreSQL   한끼족보 서버는 이번에 데이터베이스에 접근하는 프레임워크로 JPA를 채택하였는데, 요구사항 변화에 따라 JPA의 한teamhankki.tistory.com  사용 기술JPASpring boot(3.3.1)Database : PostgreSQL   서버로 참여한 팀에서 이번에 데이터베이스에 접근하는 프레임워크로 JPA를 채택하였는데, 요구사항 변화에 따라 JPA의 한계에 대응하며 쿼리 최적화를 해보았다. 특히 짧은 개발 기간 동안 고민과 변화..
[GIT] 실수로 한 commit 수습을 위해 patch 파일 이용해보기
·
GIT
IDEA : IntelliJ환경 : MAC M1 문제상황remote의 main 브랜치에 변경사항이 생겨서 rebase 했는데 내 이전 commit에 git에 올라가면 안 되는 정보가 포함되어 있었다.  특정 코드가 prod 환경에서만 돌아가도록 Environment를 주입받고 Spring profile이 prod인지 검사하는 코드가 포함되어있었다. 그런데 테스트 하느라 기존의 application.yml의 이름을 application-prod.yml로 바꾸었는데, 원래 commit할 땐 제외했지만 rebase하는 과정에서 충돌 해결하고 다시 commit하는 과정에서 포함되어버린듯하다. .gitignore을 확인해보니 [application.yml] 파일만 제외하도록 되어있었다. 다행히 아직 push하지 ..
[이슈/Docker, EC2] Docker Image 새로 갱신 안되는 현상 (no space left on device)
·
이슈
문제계속 develop에 코드를 머지하고 CI/CD가 정상적으로 돌아갔음에도 Swagger에서 해당 API가 나오지 않는 현상이 나타났다. 분명히 controller에 추가했음에도 Swagger 어디에서도 찾아볼 수가 없었다. 아무래도 서버에 반영되지 않는 것 같았다….  고민 1 - 캐시문제?Docker를 빌드할 때 기존의 Image 레이어가 캐시로 남아서 그런 현상이 있을 가능성이 있다는 글을 보았다.해당 현상은 아래의 명령어로 해결할 수 있다.docker build --no-cache -t ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_IMAGENAME }} . 그런데 나는 아무리 생각해도 이 문제는 아닐 것 같다는 느낌이 들었다. 이런 이슈가 ..
픽쳐팍
악깡버 | 블로그 이사 중