분류 전체보기

· Git
기존 Git Repository를 복사하여 다른 프로젝트로 활용하기 위해서는 git clone 의 mirror 옵션으로 모든 이력을 복사한다. 그 후에 새로운 repository에 push 하면 된다. git clone --mirror {old_repository_url} --mirror 옵션을 넣으면 커밋이력까지 함께 복제한다. 내부로 이동한다. cd {old_repository 이름}.git push할 레포지토리를 새로운 레포지토리로 변경한다. git remote set-url --push origin {new_repository_url} --mirror 옵션으로 통째로 push한다. git push --mirror 끗. 도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟 비밀댓글과 ..
· Git
💋 인트로 안녕하세요. 우아한테크코스 5기 깃짱이라고 합니다. 서브모듈이란, 레포지토리 안에 또다른 레포지토리를 디렉토리로 분리해 넣은 것이다. 왜 필요할까? 우리는 프로젝트에서 사용하게 될 각종 Secrets들을 절대로 깃허브의 public 레포지토리에 Push해서는 안된다. 지울 수 없고, 로봇이 지나가면서 다 내 정보를 털게 될 것이다. 서브모듈을 사용해서 통째로 중요한 설정 정보를 관리하자! 이 포스팅에서 내가 사용하는 메인 레포지토리는 backend-server이고, 메인 레포지토리의 설정 정보만을 담은 레포지토리는 backend-server-submodule 이다. 이 포스팅은 간단히 따라할 수 있도록 방법에 대해서만 포스팅할 것이다. 💋 Git Submodules 설정 방법 ✔️ 서브모듈 추..
💋 인트로 안녕하세요. 우아한테크코스 5기 깃짱이라고 합니다. 리팩터링 미션을 통해서, 메뉴, 주문, 테이블로 이루어져 있는 코드를 객체 지향 관점에서, 의존성의 관점에서, 그리고 그 연장선으로 모듈로 분리하게 되는 과정까지의 리팩터링 경험을 하게 되었습니다. 처음에는 단지 손가락 노동 뿐인 귀찮은 미션이라고 생각했는데, 미션 진행할 수록 객체지향에 대해서 제가 가지고 있던 일종의 강박 같은 것들을 깨뜨렸습니다. 단지 어떤 코드가 안좋다는, 근거 없이 느낌적인 느낌으로만 내리던 말도 안되는 판단을 버리고, 어떤 코드가 정말로 좋은 코드인지에 대해서 상황을 생각하며 더 입체적으로 판단을 내릴 수 있게 되었습니다. 💋 1단계: 테스트를 통한 코드 보호 1단계 Pull Request: https://githu..
안녕! 우아한테크코스 5기 [스탬프크러쉬]팀 깃짱이라고 합니다. 스탬프크러쉬 서비스의 소스 코드 바로가기 사장모드: stampcrush.site/admin 고객모드: stampcrush.site [우테코] 무중단 배포 자동화(1): Github Actions workflow 생성, Secrets 설정 앞선 포스팅에 계속 이어서, 무중단 배포 자동화 파이프라인을 만들어 보려고 한다. 💋 무중단 배포 계획 ✔️ 인프라 구조 무중단 배포를 위해서, 서버를 2대 둘 수도 있겠지만, 우리 팀은 돈을 못 벌고 있기 때문에 아래와 같은 구조를 사용하기로 했다. Nginx가 리버스 프록시 서버 역할로, 서버로 들어오는 모든 요청을 받는다. 매 배포마다 8080, 8081 포트에 톰캣 서버를 번갈아가면서 하나씩 띄우고,..
안녕! 우아한테크코스 5기 [스탬프크러쉬]팀 깃짱이라고 합니다. 스탬프크러쉬 서비스의 소스 코드 바로가기 사장모드: stampcrush.site/admin 고객모드: stampcrush.site 💋 스탬프크러쉬의 무중단 배포 자동화 방식 ✔️ 기존: Jenkins 사용한 CI/CD 스탬프크러쉬는 사실 이전의 포스팅에서 확인할 수 있듯, Jenkins를 사용해 무중단 배포 파이프라인을 구축했습니다. 다만, 이번에 Github Actions를 사용한 방식으로 변경하기로 다짐한 데는 아래와 같은 이유가 있었습니다. ✔️ Github Actions 도입 배경 현재 젠킨스가 실행되고 있는 서버는 우아한테크코스의 AWS 계정을 이용하고 있는 서버입니다. 그런데, 한 달 정도 이후에 우테코를 수료하게 되는데 그때부터..
💋 지난 3개월 간의 소감 우테코 레벨3부터 레벨4까지 약 3개월 간의 시간 동안 매일같이 10시부터 6시, 7명의 팀원들과 함께 생활했습니다. 이전에 프로젝트 경험이 좀 있는 크루도 있었지만, 나는 아직 개발을 시작한지 만 1년도 되지 않았고 따라서 매우 떨렸습니다. 모든 것이 새롭고 어려웠습니다. AWS 설정할 때 인바운드 규칙부터, ssh, scp 같은 Linux 명령어들, 무중단 배포라는 개념, submodule 관리하기, 우리 팀에서 기술 스택으로 선택한 JPA도, 부하 테스트, HikariCP Connection Pool Size 설정, 배포 시에 사용했던 Docker, Jenkins, nginx, 인프라 설계도 그리기 등등 나열하자면 끝도 없지만 그냥 다 처음이고 혼란 그 자체였습니다. 하지..
· DevOps/AWS
💋 IAM이란? ✔️ 개념 IAM(Identity and Access Management) 어떤 사용자가 리소스를 사용할 수 있는지 접근 레벨이나 권한을 관리하는 기능 ✔️ IAM의 필요성 회사에 아래와 같은 팀이 있다고 생각해 봅시다. 데이터 엔지니어팀 소프트웨어 엔지니어팀 데이터 분석팀 각각의 팀은 AWS 리소스 중 일부만 사용하게 됩니다. 데이터 엔지니어팀 → 데이터 읽어와서 전처리 로직 구현 소프트웨어 엔지니어팀 → 데이터베이스 구축, 스키마/테이블 생성, 데이터베이스 모니터링 데이터 분석팀 → 대시보드 구현, 데이터 기반 리포트 제작, 데이터 분석 모두가 AWS 리소스의 모든 권한을 가지는 것은 좋지 않습니다. 사람은 누구나 실수를 하기 때문에, 각자 자신의 업무에 따라서 AWS 리소스 중 오직..
· Linux
💋 EC2(Ubuntu)에 Docker 설치 Ubuntu EC2를 사용한다면, 아래 명령어를 간단히 복사 붙여넣기 해서 설치할 수 있다. ✔️ Docker의 apt Repository 세팅 통째로 한번에 붙여넣으면 빠르게 설치할 수 있다. # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a..
· MySQL
💋 인트로 기존 EC2의 MySQL에서 사용중이던 데이터를 모두 신규 EC2의 MySQL로 옮겨야 하는 일이 발생했다. 기존 EC2 MySQL stampcrush 데이터베이스 → 신규 EC2 MySQL stampcrush 데이터베이스 💋 mysqldump 명령어 ✔️ 기존 데이터베이스의 정보 백업해서 덤프파일 생성 기존 MySQL이 설치된 EC2에 접속할 수 있는 위치로 이동한다. 나는 기존 MySQL에 외부 접속이 가능한 EC2로 이동했다. 이 경우에는 별도로 -h 명령어를 통해서 MySQL이 설치되어 있는 EC2의 IP까지 명시해야 한다. mysqldump -h 192.168.X.XXX -u root -p stampcrush > stamp_crush_dump.sql 192.168.X.XXX: MySQ..
· TIL/2023
💋 TODO✔️ 23.10.18 미션) 2단계 서비스 리팩터링 → 골치아파서 못하겠슴.. 수업) 워니의 이력서 특강 듣기 프로젝트) 기획/영업/마케팅 팀원 이력서 3건 검토 공부) MySQL 8.0 - 1 옵티마이저와 힌트 읽기 공부) AWS 이관 관련 공부 ✔️ 23.10.19 미션) 2단계 서비스 리팩터링 (일부) 프로젝트) 기획/영업/마케팅 팀원 이력서 1건 검토 최종데모데이용 내 명함용 카페 개설하기 프로젝트) 백엔드 팀원 추가모집 성공 → 말랑🌟
깃짱
'분류 전체보기' 카테고리의 글 목록 (13 Page)