[Github] Pull Request
·
Server/ETC.
Pull Request 협업을 진행하다 보면 Pull Request, PR을 많이 이용하게 된다. 바로 Main에 Merge를 때리는 것이 아닌, 해당 브랜치를 Main에 합쳐도 되겠습니까?라고 함께 작업하는 사람들에게 동의 요청하는 것이다. 이 과정에서 리뷰를 나누고, 수정한 다음 모두의 승인(Approve)이 떨어지게 되면 우리는 Main에 Merge를 진행하게 되는 것이다. (Main에서 해당 Branch를 Pull 하는 것이다.) PR 진행 일단, 브랜치를 만들어서 작업을 진행해야한다. 모든 작업을 마쳤으면 커밋과 push를 진행한다. 다음과 같이 feature/sign -> origin: feature/sign이라는 브랜치로 push를 진행하게 된다. main에 push 하는 것이 아닌, 작업 ..
[Github] Issue 생성
·
Server/ETC.
Github Issues Github를 통해서도 이슈관리를 진행할 수 있다. 물론 Jira 등의 이슈 관리 툴에 비하면 부족한 것은 사실이나, 브랜치 생성 등을 바로 진행할 수 있다는 장점도 존재한다. 실제로 이슈를 위해 사용하기도 하나, 이미지 업로드 등을 위한 목적으로 사용하기도 한다. Issue 등록 Repository의 Issue탭에 들어가서 New issue 버튼을 클릭한다. 제목과 내용을 입력하고, Assignees에서 해당 이슈를 처리할 사람, Labels를 통해 어떤 종류의 이슈인지 등록한다. 우측의 Development 칸의 Create a branch를 만들게 되면 해당 이슈의 브랜치를 생성할 수 있다. 어느 레파지토리에, 어떤 소스를 선택하여 새로운 브랜치를 만들지 메뉴를 확인할 수 ..
[Python] Function Parameter Tip
·
Server/Python
Keyword Argument def add_resume_info(name: str, age: int, city: str): print(f"안녕하세요. {name}입니다.") print(f"{age}살이며, 현재 {city} 거주중입니다.") add_resume_info("코드플리", 23, "서울") 파이썬에서 함수를 정의하면 다음과 같이 파라미터를 입력하여 함수를 진행할 수 있다. 위의 방법도 좋지만, 작업을 하면서 파라미터가 계속 바뀌기 때문에 keyword argument를 사용하여 함수를 불러오는 것이 더 용이하다. def add_resume_info(name: str, age: int, city: str): print(f"안녕하세요. {name}입니다.") print(f"{age}살이며, 현재..
[Python] black, pyright, isort, refurb, flake8 설치 및 적용
·
Server/Python
HomeBrew 기반 설치 black 설치 brew install black pyright 설치 brew install pyright isort 설치 brew install isort flake8 설치 brew install flake8 Python Settings(Preference)
동시성을 해결하기 위한 방법
·
Server/Java
온보딩 과제를 진행하던 도중, 동시성에 관한 문제를 직면하고 싶었다. auto increase를 사용하여 추가하는 no와 달리, 마지막 순서를 찾아 해당 순서에서 +1을 진행하는 로직에서는 동시성 문제가 발생하지 않을까?라는 생각에 도달했고, 스레드를 만들어 테스트를 한 결과. Pk였던 no는 1, 2, 3, ... 순서에 맞춰 생성되고 있었지만, orderId는 1, 1, 1, 2, 2, 2, 2, 2,... 순서가 겹쳐지기 시작했다. 접근 목록 트랜잭션 격리 수준 격상 MySQL 락 사용 Synchronized 사용 Redis Lettuce Lock 사용 Redis Redisson Lock 사용 트랜잭션 격리 수준 격상 트랜잭션의 격리 수준을 최상으로 올렸다. SERIALIZABLE을 사용하여 테스트..
[Java] Javadoc Export 명령어
·
Server/Java
아무 설정을 하지 않고 export 명령어를 사용하게 되면 인코딩 오류가 발생할 수 있으므로 먼저 build.gradle(java)에 javadoc 인코딩과 관련된 옵션들을 작성하자. javadoc { options.addStringOption("locale","ko_KR"); options.addStringOption("encoding","UTF-8"); options.addStringOption("charset","UTF-8"); options.addStringOption("docencoding","UTF-8"); } 그 후, IntelliJ Terminal에 아래와 같은 명령어를 입력한다. ./gradlew javadoc 그 후 build 폴더를 들어가게 되면 javadoc들이 생겨난 것을 확인할 ..
[Java] ResponseEntity<> 사용 이유?
·
Server/Java
ResponseEntity? Java Spring의 문서를 보면 ResponseEntity를 다음과 같이 이야기한다. Extension of HttpEntity that adds an HttpStatusCode status code. Used in RestTemplate as well as in @Controller methods. HttpStatusCode 상태 코드를 추가한 HttpEntity의 확장이라고 설명하고 있다. HttpEntity public class HttpEntity { public static final HttpEntity EMPTY = new HttpEntity(); private final HttpHeaders headers; @Nullable private final T bod..
[원티드 프리온보딩] AWS - 0
·
Server/Infra
AWS? On-premise vs Cloud Computing On-premise: 서버 팜, 클라우드가 아닌, 개인 또는 기업의 서버를 자체적으로 보유한 전산실 서버에 직접 설치하여 운영. Cloud Computing: 인터넷을 통하여 데이터를 저장하거나 데이터베이스, 서버, 네트워킹, 소프트웨어와 같은 도구, 애플리케이션 등 다양한 서비스를 제공 Cloud Computing의 이점 서버 관리가 간편해짐. 트래픽이 증가하면 확장하고, 감소하면 축소하는 것이 상대적으로 유연하다. 사용 기반으로 과금하기 때문에 비용 절감이 가능하다. AWS 인프라의 전체적인 모습 인프라 관련 AWS API Gateway, AWS S3, AWS ELB, AWS CloudFront, AWS Secret Manager, 스냅샷..
코드플리
'Server' 카테고리의 글 목록 (4 Page)