Develop197 Git branch Git branch 기존 main branch에서의 작업은 유지하고 새로운 feature branch에서 코드 추가 및 수정 작업을 할 수 있다. branch 생성 및 변경 # feature라는 branch를 새로 생성하는 경우 git switch -c feature git checkout -b feature # 기존에 있던 main branch로 HEAD를 변경하는 경우 git switch main git checkout main branch 합치기 # 기능 개발이 진행 git commit -m "기능1의 세부 기능1" git commit -m "기능1의 세부 기능2" git commit -m "기능1 개발 완료" # 병합을 위해 main branch로 전환 git switch main # main b.. 2022. 12. 16. Github Repository & Github Project 칸반 Gihub Repository 꼭 필요한 파일 README.md .gitignore LICENSE Project 관리 시 활용 가능한 Github 기능 Issue - 새로운 기능 제안 및 버그 제보 등의 이슈 Milestone - task card를 그룹화하는 데 사용 (Bare Minimum, Advanced Challenge, Nightmare 표시) Pull Request - 작업 내용을 branch에 합칠 수 있는지 확인하는 요청 Project - 업무 관리 도움 (칸반 보드 생성) Gihub Project 칸반 칸반 - 작업을 시각화하고, 업무의 병목 현상과 리소스 낭비를 해결하는 업무 관리 방법 칸반 실천법 6가지 업무 시각화 진행 중인 업무 제한 흐름 관리 명확한 프로세스 정책 피드백 루프 .. 2022. 12. 16. Ngrok을 이용한 로컬에서 서버 실행 외부에서 현재 로컬 환경에 접근할 수 있도록 네트워크 방화벽을 설정할 수 있다. - https://learn.microsoft.com/ko-kr/azure/rtos/netx-duo/netx-duo-nat/chapter1 그러나, 이 방법은 보안적으로 많이 위험하다. Ngrok 따로 네트워크 설정을 하지 않아도 방화벽을 넘어 외부에서 내 로컬 환경에 접근할 수 있게 해주는 터널링 프로그램 - https://ngrok.com/docs/secure-tunnels#what-are-ngrok-secure-tunnels (무료 플랜의 경우 2시간 가량 연결 세션 유지, 개발 목적으로 테스팅하기에 유용) 프론트 엔지니어와 백엔드 엔지니어가 일부 기능을 구현한 후 통신 테스트를 진행하는 데에 활용된다. Ngrok 설치.. 2022. 12. 13. Tomcat을 이용한 수동 배포 JAR보단 WAR로 패키징한 경우 더 다양한 설정과 웹 환경을 구성할 수 있다. 다음은 프로젝트를 .war 포맷으로 변환한 후에 Tomcat을 이용해 실행해보는 과정이다. 1. JRE 설치 - https://www.azul.com/downloads/?version=java-11-lts&os=windows&architecture=x86-64-bit&package=jre 2. JRE 환경 변수 설정 변수 이름 : JRE_HOME 변수 값 : C:\Program Files\Zulu\zulu-11-jre 3. Tomcat 설치 - https://tomcat.apache.org/download-90.cgi JDK 11 버전은 Tomcat 9 버전과 가장 호환성이 높다. 다운로드 경로는 편한대로 ex) Mac : .. 2022. 12. 13. CORS(Cross-Origin Resource Sharing) SOP(Same Origin Policy)는 애플리케이션 간의 출처(Origin)이 다른 경우, 스크립트 기반의 HTTP 통신을 통한 리소스 접근이 제한되는 정책이다. CORS는 이러한 접근 제한의 예외 조항으로, 다른 출처의 리소스 공유를 막는 SOP 정책에 대해 접근 권한을 얻을 수 있게 하는 방안이다. 다른 출처의 리소스를 가져오는 과정에서 발생하는 에러는 SOP 정책 때문이고, 이를 해결해줄 수 있는 것이 CORS이다. CORS 정책 동작 방식 프리플라이트 요청(Preflight Request) : 실제 요청을 보내기 전, OPTIONS 메서드로 사전 요청을 보내 해당 출처 리소스에 접근 권한이 있는지부터 확인하는 것을 의미 단순 요청(Simple Request) : 특정 조건이 만족되면 프리플라.. 2022. 12. 12. 서버와 클라이언트 서버는 리소스를 제공하는 주체이고, 클라이언트는 리소스를 제공받는 주체라고 할 수 있다. 서버의 종류 웹 서버 : 웹 서비스를 제공하기 위한 서버 컴퓨터 (Apache, IIS, NginX) 웹 애플리케이션 서버 : 웹 애플리케이션을 제공하기 위한 서버 컴퓨터 (Tomcat, WebLogic, WebSphere) 데이터베이스 서버 : 데이터베이스를 제공하기 위한 서버 컴퓨터 (Oracle, MS-SQL, MySQL) 또, 각각을 개발자가 개발하는 개발 서버와 클라이언트가 사용하는 운영 서버로 나눌 수 있다. 서버와 클라이언트의 통신 서버 클라이언트 서비스 제공한다 제공받는다 통신 요청 요청받는다 요청한다 통신 응답 응답한다 응답받는다 요청과 응답을 각각 Request, Response라고 표현한다. 프론.. 2022. 12. 12. Cloud 운영 전략 프록시 서버 클라이언트가 서버와 소통할 때, 서버에 바로 접근하지 않고 자신을 통해 서버에 접근할 수 있도록 해주는 일종의 대리 서버이다. 프록시 서버 종류 Forward Proxy 클라이언트 가까이에 위치한 프록시 서버로 클라이언트를 대신해 서버에 요청을 전달한다. 캐싱을 통한 빠른 서비스 이용 가능하다. 서버가 응답받은 IP는 프록시 서버의 IP이기 때문에 보안 측면에서 좋다. Reverse Proxy 서버 가까이에 위치한 프록시 서버로 서버를 대신해서 클라이언트에게 응답을 제공한다. 사용자가 많아져 서버에 과부하가 올 경우를 위해 분산 처리를 할 수 있다. 서버가 보내는 IP는 프록시 서버의 IP이기 때문에 보안 측면에서 좋다. 사용자의 증가로 인한 과부하를 대비하기 위한 두 가지 방법 Scale-.. 2022. 12. 9. 리눅스 명령어 - 프로세스 Kill sudo lsof -i :(실행한 포트번호)# 해당 포트 번호로 실행 중인 애플리케이션 확인 ps - aux | grep jar# 실행 중인 jar 파일 확인 (PID 번호 확인) kill -9 (PID 번호)# PID 번호로 실행 중인 애플리케이션 킬 sudo pkill -f 'java -jar'# jar 파일 프로세스 킬 2022. 12. 8. GitHub Actions .yml 파일 추가 후, 빌드 진행 시 발생한 에러 시도 1. 권한 부여하고 다시 커밋, 푸시 2. https://velog.io/@hyoreal51/Error-error-gradle-script-homerunnerworkgradlew-is-not-executable 3. .yml 파일에 직접 chmod 명령어 적용 3번째 시도로 해결!! 2022. 12. 8. 이전 1 2 3 4 5 6 7 8 ··· 22 다음