본문 바로가기

분류 전체보기202

API GATEWAY -NCP 보호되어 있는 글 입니다. 2024. 7. 10.
CI/CD 보호되어 있는 글 입니다. 2024. 7. 8.
CCW 알고리즘이란? 점선 세개가 놓여졌을때, 그 점선 세개의 방향이 어디로 가는지를 확인하는 알고리즘  이와 같은 형태로 구현한다.  이 TEMP가 >0시 반시계, =0시 직선   **부록 - 점 4개로 넓이 구하기x1*y2+~~x4*y1 - (y1*x2+~~~)  같은 방식이지만,점 4개로 구하면 넓이가. 3개로 구해서 도형이 되지 않으면 방향이 구해진다.   *주의! 4각형은 불가한 부분이 있다. (시계방향 정렬이 되어있어야. )그떄는 가장 큰 x간 차이, y간 차이를 곱하자 . 2024. 7. 8.
GIT - 1 GIT변경 관리, 공통적인 내용 중복, 불필요한 파일 낭비 해결을 위해만약에 잠수함 패치를 걸면? - ppt로 하면 이 잠수함 패치를 확인하기도 힘듬. (맨날 들어가야댐)이러한 관리를. 몇 번째 버전이 뭘 했는지 → 버전 관리로 관리하자.버전 관리 - 타인과 공유하는 방법?직접 상대방 B와 A가 직접 GIT PROTOCOL 등으로 통신하는 방법도 있다SAAS (GITHUB 등)GITHUB가 BACKUP을 활용하는 방식. → LOCAL에 버전을 담아둔다.GITHUB CLI vs GUI(마우스)CLI : 잘 안바뀜 BUT 어려움. GUI : 레이아웃 위치 변경 가능.명령어 (복습 위주)init → 사실. git/이라는 숨김 폴더를 만들어주는 것이었다.main branch? → 기본 세팅 (master 아닌 .. 2024. 7. 8.
NCP + K8S의 DB를 LOCAL에서 사용하기 현재 NCP를 활용해, 서비스를 배포하는 것을 목표로 하고 있다.허나 이번 공모전에서는 전용 DB를 확보받진 못하였기 때문에, 해당 DB를 LOCAL에서 사용하는 방법을 적어두려 한다.  1. POD + SERVICE 올리기 2. 이제, 해당 SERVICE의 PORT로 연결될 수 있게 해주어야 한다.  포트 포워딩! 3. SPRING의 URL - DATASOURCE 또한 변경하자.  간단하게 연동 완료!  *깨달은 점CLOUD를 활용할 수 있는 무궁 무진한 방법을 깨달았다. 또한 개발을 하다보면, 원하는 스택을 사용하지 못하는 경우가 점점 생길텐데, 그때도 단순하게 포기하지 말고 방안을 찾다보면 해낼 수 있다는 것을 깨달았다. 그 중 하나가, 서버를 구하기 위해 참여했던 이번 K-PAAS 공모전 이기도 .. 2024. 7. 6.
deque를 쉽고 고급지게 쓰기 + 다각형 넓이 구하기 팁 이전까지는 deque를 , 단순히 양쪽 pop & push가 가능한 형태로만 썼다.이를 고급지게 활용해보자 1. deque에서의 pop 일단, from collections import deque로 선언deq = deque()로 선언 deq.popleft() , deq.popright()로 pop(0), pop()을 변경하자.#pop은 기본적으론 가장 오른쪽 pop임을 기억하자 2. rotatedeq.rotate(-1) # 왼쪽 회전deq. rotate(1) # 오른쪽 회전 이러한 rotate는, 특히나 직접 컨테이너벨트나 숫자등을 구현할 때 쓰인다. #활용 예시 백준. 20055 import sys from collections import deque inputlist = list(map(int,sys.. 2024. 7. 4.
NCP로 GCP 활용 부 변경 * 사용자의 프로필 등을 저장하는데 사용하는 기능 0. 왜 사용했는가?우리는 사용자의 프로필, 올린 사진 등을 이미지로써 저장하게 될 것이다.그 방안으로 최초에 DB에 직접 사진을 바이트 변환하여 저장하는 방식을 택했었다.허나, 너무나 길어진 값 때문에 프론트와의 통신에서도 문제가 발생,조회 시의 성능이 크게 감소하는 등의 문제가 있었다.그러므로 이미지를 BUCKET에 저장→ 해당 URL을 DB에 저장하는 형태의 구축을 진행했다. 설정 변경 2. NCP 활용 SERVICE 부 구현 private AmazonS3Client amazonS3Client;@PostConstructprivate void init() { BasicAWSCredentials basicAWSCredentials = new Bas.. 2024. 7. 4.
HEAPQ 1. 선언2. heap 사용(생성) heap을 list로 생성heapq.heappush(heap,넣을값) 3. heapq pop heappop(heap) (heapqlibrary는, heap이라는 객체에 얹어가는 형태)  heapq란? heap을 자료구조 시간에 배웠다.heap은 부모가 자식보다 낫다는 것이고, 가장 위에 있는것은 항상 낮은 값! (오름차순정렬신 -value로 넣으면 된다) 하나씩 pop하고, 다음 pop시 다음 낮은 값이 자동으로 올라오고... 이런 구조이다. 2024. 5. 23.
백트래킹 모든 경우의 수를 확인해야 할때. 하지만, FOR로는 확인이 불가능 할 때 사용한다EX) FOR문의 수를 몇번 써야할지가 , M,N과 같은 변수로 들어올 때(변수 일때) 사용한다. 백 트래킹의 구조를 생각해보자. 1. 재귀 함수로 확인 2. 재귀를 벗어나는 조건 IF NUM == N : BREAK (def rec (num): 일때, if num == N : break와 같은 형태로 주로 사용한다)3.  아닐때 FOR(~~ -> 재귀) 핵심! 이 check 과정에서, 방문 여부를 확인해야한다. 시간 복잡도 확인 방법중복이 가능할때는 N(선택할 수 있는 수) ^ M (깊이)중복이 불가능할때는 N! (알고리즘때 들었던 내용을 기억하자)   방문 여부를 확인하는 자료구조, 입력을 받는 자료구조가 필요하다.++ .. 2024. 5. 17.
MAIL로 첨부파일 JPG를 보내는 과정에서의 문제들 먼저, 로직을 설명하고자 한다 상품 구매 (MEMBER) -> 구매완료 상태로 변경, 검증 (PRODUCT) -> 검증 이후, MEMBER에서 MEMBER의 정보 변경-> 그 이후! 카카오로 로그인 한 대상이 아닌 경우 Mail을 전송한다. 이 'MAIL로 판매자가 GCP에 등록했던 URL의 파일을 첨부파일로 구매자에게 보내는 과정'에서 배운 점들을 정리하고자 한다.  가장 문제가 많이 생긴 부분 . MULTIFILEEXCPETION이 가장 큰 문제가 되었다. 이를 해결위해 CTRL+ENTER(내가 가장 주로 사용하는 방법이다), 그리고 웹을 열심히 활용했다. URL url = new URL(productRepository.findImageRealByProductId(paymentsReqList.get(.. 2024. 5. 16.