본문 바로가기

전체 글252

CI / CD 기본 개념 CI (Continuous Integration) : 지속적인 통합 -> 빌드와 테스트 자동화 모든 개발이 끝난 후 코드 품질을 관리하는 고전적인 방식의 단점을 해소하기 위해 나타난 개념 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 (가능하면 매시간 or 매일) 공유 리포지토리에 통합되는 과정을 통해 계속 품질을 유지하며 개발을 진행하는 방법 CI가 필요한 환경 1. 다수의 개발자가 형상관리 툴을 공유하여 사용하는 환경 -> 자동화된 빌드 & 테스트는 원천 소스코드의 충돌 등을 방어하는 이점 2. MSA (Micro Service Archietecture) 환경 -> MSA는 작은 기능별로 서비스를 잘게 쪼개어 개발하는 형태를 의미 MSA 환경에서는 대부분 Agile(소규모 기능 단위로 빠르.. 2024. 1. 19.
즉시로딩과 지연로딩 @ManyToOne, @OneToOne과 같은 어노테이션은 기본이 즉시로딩(EAGER) -> 꼭 LAZY로 명시해서 사용 ! 참고 https://mr-popo.tistory.com/234 2024. 1. 4.
Git push 오류) Permission denied 403 에러 이렇게 뜨면서 remote branch에 push가 안 됐다. 현재 git에 등록된 원격 저장소 리스트 확인 $ git remote -v 원격 repository의 연결 url 변경 $ git remote set-url origin https://[YourGitUserName]@github.com/[RepositoryName].git 다시 확인할 때 내 UserName이 붙은 리스트가 출력되면 이거 해줘도 잘 안 돼서 다시 되돌림 깃허브 PersonalAccessToken을 재발급 받고 소스트리 -> 도구 -> 옵션 -> 인증 -> 내 계정에서 Persona lAccess Token 새로 발급 받은 거 넣어주니까 된다 ! ㅠ 2024. 1. 3.
STOMP 프로토콜 STOMP란 ? Simple Text Oriented Messaging Protocol 의 약자로 메세징 전송을 효율적으로 하기 위해 탄생한 프로토콜이다. 기본적으로 pub/sub 구조로 되어있어 메세지를 전송하고 메세지를 받아 처리하는 부분이 확실히 정해져 있어 개발자가 명확하게 인지하고 개발할 수 있음. STOMP 프로토콜은 WebSocket위에서 동작하는 프로토콜로, 클라이언트와 서버가 전송할 메세지의 유형, 형식, 내용들을 정의하는 매커니즘. STOMP는 TCP 또는 WebSocket 같은 양방향 네트워크 프로토콜 기반으로 동작. 이름에서 알 수 있듯이 Text 지향 프로토콜이나, Message Payload에는 Text or Binary 데이터를 포함할 수 있다. pub/sub는 메세지를 공급하.. 2024. 1. 2.
Git clone을 이용한 협업 멘토님께서 fork보다 clone으로 협업하는 방식을 추천해주셨다. 그래서 이전에 fork떠온 것들을 제거하고 clone으로 다시 해보려고 한다. 1. Repository clone $ git clone [Repository_URL] [폴더명(생략가능)] 클론이 되었다 ! 인텔리제이로 해당 프로젝트를 열어준다. 2. branch 생성 $ git checkout -b [브랜치이름] 3. 작업 후 Commit & Push 4. PR 요청과 Merge 참조 https://velog.io/@rkio/git-clone%EC%9C%BC%EB%A1%9C-%ED%98%91%EC%97%85%EC%9D%84-%ED%95%B4%EB%B3%B4%EC%9E%90 2024. 1. 2.
Websocket 프로토콜 웹 소켓 (Web Socket) 서버와 클라이언트 간의 메세지 교환을 위한 통신규약 (프로토콜) 웹 소켓의 특징 1. 양방향 통신(Full-Duplex) - 데이터 송수신을 도잇에 처리할 수 있는 통신 방법 - 클라이언트와 서버가 서로에게 원할 때 데이터를 주고 받을 수 있다. - 통상적인 Http 통신은 client가 요청을 보내는 경우에만 server가 응답을 하는 단방향 통신 2. 실시간 네트워킹(Real Time-Networking) - 웹 환경에서 연속된 ㄴ데이터를 빠르게 노출하는 것 ex) 채팅, 주식 웹 소켓 이전의 기술 1. Polling : 서버로 일정 주기에 요청을 송신 - real-time 통신에서는 언제 통신이 발생할지 예측 불가능 - 불필요한 request와 connection을 .. 2024. 1. 1.
Keyword) Github organization repository와 상호작용(push, fetch, pull) * 기본 용어 정리 - fetch : remote repository -> local repository - merge : local repository -> working directory - pull : remote repository -> working directory (fetch + merge) [pull이 일어나는 상황] 원격 저장소는 여러 프로젝트 개발 인원들이 동시에 사용 다른 개발자가 변경상태를 push해 원격 저장소에 반영한다면 내 입장에서 원격 저장소에 변경이 생겼으니 내려받아서 같은 상태를 유지 해야함. fetch를 이용해서 팀 remote repository(upstream)의 변경사항을 내 remote repository에 가져옴. merge를 이용해서 내 remote repos.. 2024. 1. 1.
협업 프로젝트 Keyword) Github Organization Repository 초기 설정 (fork, clone, upstream) 드디어 부트캠프의 마지막 과정인 협업 프로젝트에 들어섰다. 이전에 나 혼자만 github 형상 관리를 하던 것에서 이젠 팀원들과 하게 되었다. 정신 바짝 차리고 잘못 올리지 않게 주의해야겠다. 1. [Fork 복제] 팀 Remote Repository ➡️ 내 Remote Repository 일단 팀장님이 만들어놓은 remote repository에서 fork를 누르면 아래와 같은 화면이 뜬다. 리포지토리 이름을 입력하고 아래 체크박스의 체크를 해제했는데 이는 팀장님이 만들어놓은 main을 포함한 develope 브랜치를 갖고올 수 있게 한다. (체크 할 경우 main 브랜치만 가져오게 됨) 2. [Clone] 내 Remote Reposiotry ➡️ 내 Local Repository 통상적인 Local.. 2023. 12. 29.
data.sql 실행 안 될 때 개인 프로젝트를 진행하면서 상품 정보는 미리 db에 넣어주고 사용하기 위해서 data.sql을 사용해 데이터를 넣어주었는데 DB에 제대로 입력이 되지 않았다. insert into mail_template (ID, TEMPLATE_ID, TITLE, CONTENTS) values (1, 'expiredate_remain_3_day', '펀딩 상품 마감일 3일 전 안내' ,'{USER_NAME}님의 {FUNDING_ID}항목의 펀딩 마감일이 3일 남았습니다.'), (2, 'funding_expired', '펀딩 상품 마감 안내' ,'{USER_NAME}님의 {FUNDING_ID}펀딩이 완료되었습니다.배송 받을 주소를 확인해주세요.'); insert into product(id, price, product_.. 2023. 12. 15.
728x90