목록개발/이것 저것 (5)
개발 공부 & 정리
동기 : commit과정에서 modified 된 파일 중 의도치 않게 수정된 파일의 commit을 하고 싶지 않아서 modified file 리스트에서 제거하기 위해 git stash를 사용하였으나, 잘못 사용하여 commit 된 내용들이 삭제되고 git history가 꼬이게 됨. 해결 방안 : git checkout (해당 파일의 경로와 파일명)을 해주면 해당 파일을 커밋하지 않고 작업 진행 가능 -> 따라서 git stash에 대해 학습하고자 함. git stash란 ? 아직 마무리하지 않은 작업을 스택에 잠시 저장하는 명령어. -> 아직 완료하지 않은 일을 commit 하지 않고, 나중에 꺼내와 마무리 가능. git stash 명령을 사용하면 워킹 디렉터리에서 수정한 파일들 저장 아래에 해당하는 ..

목표 : Google cloud 에서 Spring을 Jenkins를 활용해 자동으로 배포하는 CI를 구축하기 환경 : Google compute engine, ubuntu 18.04 기술 스택 : Spring-boot, maven, GitHub, Jenkins Google Cloud 세팅 & Jenkins 설치 순서 : 포트 설정( 8080 포트 열기) 젠킨스를 Google cloud instance 내에 설치해준다. 기본적으로 Jenkins는 8080 포트를 사용한다. 때문에 spring 기본 포트와 충돌하므로, Jenkins와 통신할 포트를 임의로 설정해 준다. (대개 1024~ 49151 까지의 포트는 유저가 이용해도 되는 포트이므로 사이의 포트를 열어준다.) 임의로 37000 포트를 열어주도록 하..
오늘 특정사이트에 리뷰글을 수집하는 모듈과 모듈의 테스트 코드를 작성하며 TDD을 했을 때 이러한 장점이 있었을 까 라는 생각이 들었다. 요구사항에 대해 다양한 케이스를 검토할 수 있으므로 더 명확하고 확장 가능한 개발이 가능하다. 예를 들어 리뷰글을 긁어오는 모듈을 개발한다고 할 때 , 그냥 개발할 경우, 리뷰글을 긁어오고 시행착오를 통해서 예외처리를 했을 것이다. 하지만 만약 테스트 주도 개발을 한다면, 리뷰글을 읽어오는 모듈의 테스트를 위해 수많은 리뷰글을 모두 긁어올 필요는 없디. 대부분의 경우 모든 리뷰글을 긁어오지만, 이 모듈이 주기적 작동할 경우 새로생긴 n개의 리뷰글 혹은 상위 n개의 리뷰글을 긁어오면 충분하다. 또한 테스트 코드를 동작 시킬때도 리뷰글을 잘 수집하는 지에 초점을 맞춰서 테..

selenium 닫는 기능으로는 두가지 명령어 close()와 quit() 이 존재합니다. 하지만 두 명령어 사이에는 차이가 있습니다. 하나의 webdriver를 이용한 작업을 하면 괜찮지만, 여러개의 webdriver을 이용해서 작업을 한다면,특히 클라우드 환경에서 no sandbox 옵션으로 실행 할 경우, 종료했다고 생각한 webdriver이 종료되지 않아 생각지도 못한 메모리 누수를 야기할 수 있습니다. 동일한 페이지로 quit() 과 close()를 사용하여 종료하였을 때의 차이점을 비교해 보겠습니다. 우선 3개의 탭을 띄운 webdriver를 켜고 각각의 방법으로 종료했을 때, webdriver의 화면과 process의 차이점을 비교해보겠습니다. close()는 현재 selenium webdr..
Webpack과 Browserify는 Javascript module Dependency를 관리하는 도구이다. NodeJS 코드를 다루는 상황이 많아지고 있어, 모듈관리를 한가지 스타일로 유지하고 싶을때 사용한다. 이것을 사용할 경우, 또한 추가적으로 여러개의 javascript 파일을 브라우져에서 로딩하는 것은 그만큼 네트워크 비용이 많아진다. 하지만 위와같은 빌드툴을 통해 여러개의 js 파일을 하나의 js 파일로 bundle하여 로드할경우 네트워크 비용을 절약할수 있다. 또한 다수의 js 파일을 개발자의 실수로 잘못 작성할 경우 서로의 스코프를 침범하여 변수 충돌의 위험이 있다.