본문 바로가기

분류 전체보기에 해당하는 글들

201 Articles matched
목록이 없습니다.
[apache2] virtualhost로 여러 사이트 배포하기 spring framework가 올라가있는 소스를 배포할 때 보통 Tomcat을 올려 Maven을 통해 배포하는데 최근에 서버를 이전하면서 나누어져있던 어플리케이션들을 통합하는 작업이 있었습니다. 각 어플리케이션들의 도메인이 전부 달랐지만 한 서버에 어떻게 해야할지 고민이 될텐데 이럴 때 Tomcat 앞에 Apache를 두어 가상호스트(VirtualHost)를 통해서 iptables 설정 없이 라우팅을 해주면 됩니다. 해당 작업은 root 권한으로 수행해주기 위해서 root 사용자로 변경해줍니다. $ su root apache 설치 우선 apache를 설치해줍니다. # apt-get update # apt-get install apache2 정상적으로 설치되었다면 서버 ip로 접속해보면 아파치기본화면이 ..
jenkins 버전업 회사에서 젠킨스를 활용해서 배포를 하고 있는데 최근에 SonarQube라는 정적 코드 분석 플러그인을 붙이기 위해서 플러그인을 설치하려고 보니 젠킨스 버전이 낮아서 플러그인이 설치가되지 않는 상황이 벌어졌습니다. 그래서 젠킨스 버전업 하는김에 버전업하는 방법을 정리해놓으려고 합니다. 우선 jenkins.war 파일이 어디있는지 찾아야 하는데요 설치했던 사람이라면 어디있는지 알겠지만 모른다면 find 명령어를 통해서 찾아야합니다.. (어디있는지 아시는분은 생략하셔도 됩니다) jenkins.war 파일 찾기 # find / -name 'jenkins.war' 새로운 jenkins.war 파일 다운로드 jenkins를 다운로드 받을 수 있는 경로는 http://mirrors.jenkins-ci.org/ 입니다..
[AngularJS] $apply 이미 실행중 ($apply already in progress) AngularJS를 사용하다가 보면 어떤 경우에는 $scope.$apply 함수를 사용해주어야 위의 로직에서 변경한 변수들이 제대로 적용되는것을 볼 수 있습니다. 어떤 경우에 $apply함수가 자동으로 동작하지 않고 어떤 경우에 자동으로 동작하는지는 아직 파악이 되지 않지만 보통 directive에서 상속받은 scope의 변수들을 변경했을 경우 $apply 함수가 자동으로 동작하지 않는 것을 자주 봐왔습니다. 그런데 어느 날 directive를 구현하는데 어떤 경우에는 $apply 가 이미 동작중이라는 오류 메시지가 보이는 것 ($apply already in progress). 찾아보니 이 문제를 해결할 수 있는 방법이 있었습니다. 해결방법 if ($scope.$$phase !== '$apply' &&..
[영화] 시동 후기 (킬링타임용으로 적절) 포스터부터 강렬하다. 최근에 배우 마동석이 출연하는 영화가 부쩍 많아진 것 같다는 생각이 든다. 개봉하는 영화마다 어디에서는 나쁜 깡패 어디에서는 착한 깡패 다른 곳에서는 깡패잡는 경찰 등 다양한 역할들을 소화하지만 모두 느낌은 비슷비슷하다는 것을 지울 수 없다. 기존과 다른 마동석 하지만 이번에는 조금 다르다. 이라는 독특한 영화 제목과 함께 독특한 포스터 그리고 그 안에 있는 가장 독특한 마동석의 캐릭터가 눈길을 사로잡는다. 드라마 스카이캐슬로 고급진 사모님 역할을 완벽히 소화하던 염정아 역시 츄리한 츄리닝을 입고 등장한다. 개인적으로 좋아하는 배우 박정민도 나온다. 딱 봐도 양아치 캐릭터. 무슨 내용이지? 영화관에서 시청했는데 개인적으로 기대를 많이 안하고 봐서 그런지 영화에 몰입이 되서 시간가는 ..
[HTTP] 프로토콜 버전 오늘날 쓰이고 있는 HTTP 프로토콜은 버전이 여러 가지다. HTTP 프로토콜의 여러 변형을 모두 잘 다루려면 HTTP 애플리케이션이 일을 열심히 해야한다. 그 버전들이란 다음과 같다. HTTP/0.9 1991년의 HTTP 프로토타입은 HTTP/0.9로 알려져 있다. 이 프로토콜은 심각한 디자인 결함이 다수 있고 구식 클라이언트하고만 사용할 수 있다. HTTP/0.9는 오직 GET 메서드만 지원하고, 멀티미디어 콘텐츠에 대한 MIME 타입이나, HTTP 헤더, 버전 번호는 지원하지 않는다. HTTP/0.9는 원래 간단한 HTML 객체를 받아오기 위해 만들어진 것이다. HTTP/0.9는 금방 HTTP/1.0으로 대체되었다. HTTP/1.0 1.0은 처음으로 널리 쓰이기 시작한 버전이다. 1.0버전은 버전번..
[MySQL] 테이블 복사 테이블 구조만 복사 CREATE TABLE NEW_TABLE_NAME LIKE OLD_TABLE_NAME; 테이블 데이터만 복사 INSERT INTO DESTINATION_TABLE_NAME (SELECT * FROM SOURCE_TABLE_NAME); 테이블 구조 및 데이터 복사 CREATE TABLE NEW_TABLE_NAME (SELECT * FROM OLD_TABLE_NAME);
[Ubuntu] 용량 확인 전체 용량 확인 # df -h 디렉토리별 용량 확인 # du -h 현재 목록 용량 확인 # du -h --max-depth=1
[Spring Framework] 멀티 서버에서 Spring 스케줄러 중복실행 방지 Spring의 @Scheduled 어노테이션은 Spring Framework에서 쉽게 cron을 구성할 수 있는 유용한 기능입니다. 그런데 WAS를 늘리게 되면 상당히 골치아픈 상황이 벌어집니다. cron작업이 WAS마다 실행되기 때문에 WAS의 개수만큼 중복된 cron이 실행되기 때문인데요 이러한 상황을 해결할 수 있는 방법을 정리해보려고 합니다. Scheduler Lock 위와 같이 2개 이상의 서버로 구성된 환경에서 중복된 Schedule이 실행되지 않도록 Lock을 걸 수 있게 만들어놓은 라이브러리입니다. maven repository에 shedlock이라는 이름으로 올라와있습니다. 그 중에 shedlock-spring과 shedlock-provider-jdbc-template을 추가합니다. sh..