반응형

전체 글 73

[git] Branch 브랜치 끝장내기 2

Branch 끝장내기 1에서 기본적인 Branch 명령어를 정리하였습니다. 이번엔 원격 브랜치에 대해서 간단히 정리하도록 하겠습니다. 깃은 다수의 개발자와 협업으로 코드를 유지할 수 있습니다. 주요 개발 작업들은 로컬 저장소에서 하지만 협업은 원격 저장소도 공유 합니다. 로컬 저장소도 하나의 저장소이고, 원격 저장소도 하나의 저장소 입니다. 깃은 분산형 버전 관리로서 다수의 저장소를 만들어 연결할 수 있기 때문입니다. 이번에는 브랜치를 이용하여 협업하는 것을 정리합니다. 원격 브랜치를 제공하는 git hosting 업체중 대표적인 회사가 github입니다. 추후에 github enterprise에 대해서 정리하도록 하겠습니다. 1. 리모트 브랜치 저장소는 각자의 고유한 브랜치를 생성하고 관리합니다. 원격..

[git] Branch 브랜치 끝장내기 1

소스 코드 이력을 관리하는 Version 외에 git과 같은 VCS 도구를 사용하는 또 다른 이유는 브랜치 작업 때문입니다. 각설하고 꼭 필요한 기능 위주로 정리하였습니다. 1. 브랜치 생성 깃의 브랜치를 생성하는 동작과 이동하는 동작은 별개입니다. 브랜치 생성은 branch 명령어를 사용하고, 브랜치 이동은 checkout 명령어를 사용합니다. $ git branch 'feature' 이라는 이름으로 브랜치를 만들어 봅시다. $ git branch feature 2. 브랜치 이동(전환) 아래와 같이 입력하여 'feature' 브랜치를 체크아웃 해 봅시다. $ git checkout feature Switched to branch 'feature' 생성과 함께 생성된 BRANCH로 이동 $ git che..

[istio] Circuit Break 구현

마이크로 서비스 아키텍처에서 문제중 일반적인 것은 cascading failure을 꼽을 수 있습니다. 어떤 이유로 서비스가 응답하지 않는 경우, 서비스에 request를 계속해서 보내면 latency가 길어지고 그에 따른 서비스에 불필요한 부하가 발생할 여지가 있습니다. 마이크로 서비스의 경우 다양한 서비스로 구성되는데, A 서비스와 B 서비스가 연계되어 있을 경우 다른 서비스의 부하로 이어지는데 이런 현상을 cascading failure라 한다. 이런 현상을 circuit breaking을 통해 과부하된 서비스의 연결을 끊고 서비스가 회복할 시간을 줄 수 있게하여 장애를 처리할 수 있게 됩니다. Destination rule에서 또는 value에서 이용하여 circuit break 설정이 가능합니다..

[CORS] AWS API GW Setting하여 CORS 문제 해결하기

AWS내에서 CORS (Cross-origin resource sharing)를 설정하는 방법을 설명합니다. 먼저 CORS 이해를 위해 아래 참조 바랍니다. 교차 출처 리소스 공유(Cross-origin resource sharing, CORS), 교차 출처 자원 공유는 웹페이지 상의 제한된 리소스를 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청할 수 있게 허용하는 구조이다. 다만 특정 교차 도메인 간(cross-domain) 요청, 특히 Ajax 요청은 동일-출처 보안 정책에 의해 기본적으로 금지된다. CORS는 교차 출처 요청을 허용하는 것이 안전한지 아닌지를 판별하기 위해 브라우저와 서버가 상호 통신하는 하나의 방법을 정의한다. 순수하게 동일한 출처 요청보다 더 많은 자유와 기능을 허용..

[Backend] 개발 환경 구성 : 끝장내기

AWS상에서 Backend 개발을 위한 기본 환경 구성에 대해서 간단한 예제를 정리하였습니다. Getting Started 로컬 환경 구성 로컬 project-서비스 Spring boot 환경 구성 General Project Structure VS Code IDE 설치 개발툴은 개별 취향에 맞게 선택 여기서는 vscode 기준 VS Code(https://code.visualstudio.com/) eclipse intelliJ 등 VS Code Extensions 개발을 위한 필수 Extention Spring Initializr Java Support - 스프링 프로젝트 만들때 템플릿 Spring Boot Extension Pack - 스프링 개발에 필요한 익스텐션 Spring Boot Tools -..

티스토리-구글 서치 콘솔 등록 방법(tistory-google)

애드센스를 통해 수익을 위해서는 작성한 글이 외부에 많이 노출되어야 효과가 좋습니다. 많은 사람들이 본인의 블로그에 유입되고 중간 중간 광고도 삽입하고 클릭을 통해 수익이 되니까요. 티스토리는 카카오에서 운영하는 것이니 당연히 다음에서는 자동 노출이 되지만, 구글과 네이버에서는 그렇지 않으니, 노출되게끔 직접 지정해 주어야 합니다. 지금 그 방법을 보러 가지죠... 돈 버는 방법이니 가즈아~~~~ 1. 본인의 tistory 주소 복사 먼저 구글에 노출이 필요한 티스토리 주소를 복사합니다. 2. 구글 서치 콘솔 로그인(google search consol) google에서 구글 서치 콘솔로 검색하여 해당 page로 들어갑니다.(search.google.com) 3. 구글 로그인 4. 소유권 확인 - 속성 ..

[Git]Conflict(충돌) 해결하기

git merge명령어의 주요 책임은 개별 분기를 결합하여 충돌하는 편집 내용을 해결하는 것입니다. 병합(Merge) 충돌(conflict) 이해 Marge와 conflicts는 Git 익스피리언스의 공통적인 부분입니다. SVN과 같은 다른 버전 제어 도구와의 충돌은 비용과 시간이 많이 소요될 수 있습니다. Git은 매우 쉽게 병합할 수 있습니다. 대부분의 경우 Git은 새로운 변경 사항을 자동으로 통합하는 방법을 알아냅니다. 일반적으로 두 사람이 파일의 동일한 행을 변경하거나 다른 개발자가 파일을 수정하는 동안 한 개발자가 파일을 삭제했을 때 충돌이 발생합니다. 이 경우 Git은 자동으로 무엇이 옳은지 판단할 수 없습니다. 충돌은 병합을 수행하는 개발자에게만 영향을 미치며, 나머지 팀원들은 충돌에 대해..

[Git] 개념잡기 1 (시작하기)

Git 설치. 깃을 사용하려면 먼저 깃 프로그램을 설치해야 합니다. 윈도, 리눅스, 맥등 여러 운영 체제에서 깃을 설치하고 사용할 수 있습니다. Mac OS X – Download .dmg file and install the Git core. Windows – Download .exe file and install. Linux – For Linux, we have many ways and multiple package managers are allowing us to install GIT core easily. Debian/Ubuntu – apt-get install git Fedora – up to Fedora 21 yum install git and for Fedora 22 and later dnf..

[Git]cherry-pick : 끝장내기

git cherry-pick은 브랜치 A에 있는 커밋을 선택하여 브랜치 B에 적용시킬 때 사용하는 명령어입니다. rebase도 원하는 커밋을 선택할 수 있지만 현재 브랜치 위에서만 가능합니다. 다른 브랜치의 commit을 가져오고 싶다면 해당 브랜치를 현재 브랜치로 merge 후 rebase 해야하는 제약사항이 있습니다. cherry-pick은 같은 내용을 가지고 있는 커밋을 여러개 생성하기 때문에 꼭 사용해야만 할 때 진행하는 것이 좋습니다. 커밋 체리픽 아래와 같이 있다고 가정할 때, develop 브랜치의 커밋 중 B,D,E 를 현재 master 브랜치에서 적용한다고 하면 다음과 같이 진행할 수 있습니다. # git cherry-pick {커밋 해시} git cherry-pick 34b4cab gi..

Code Convention

‘Code Convention(코드 컨벤션)’이란, 특정 프로그래밍 언어에 권장되는 프로그래밍 스타일에 대한 가이드를 의미합니다. 소프트웨어 유지보수성이 요구되는 Microservice에서는 반드시 설정 및 자동화하기를 권장합니다. 요약 개발팀이 얻는 이익 팀 내 표준 코딩 방식 적용: 코드 품질 향상화 기반 제공 코드 변경 복잡도 감소: 리랙토링 시 형식이 아닌 내용에 집중할 수 있도록 하여 커뮤니케이션 비용 절약 의미있는 코드 볼륨 정보 제공: 일관된 형식으로 변경 사항이 저장된 커밋에서 DevOps 지표 수집 가능 도입시 고려할 지점 오픈소스 검토: 해당 언어의 커뮤니티에서 공통적으로 선택하는 옵션 고려 개발팀이 선택한 패키지 매니저와의 연동 여부: build 프로세스로 자동화할 수 있도록 적용 개..

반응형