목록분류 전체보기 (14)
eyesofkhepri
1. Os Reboot시에 명령어 실행하기.안녕하세요. Eyesofkhepri입니다. Centos7을 사용할때 OS가 재기동 되거나 켜질때 원하는 명령어를 실행하는 방법에 관해서 정리 하도록 하겠습니다. (1) Root 계정으로 접속합니다.sudo su(2) "/etc/rc.d/" 폴더에 접근합니다.cd /etc/rc.d(3) rc.local 파일안을 vi편집기로 열어주신후 실행하실 스크립트를 넣어주시고 저장합니다.vi rc.local(4) rc.local파일에 실행 권한을 줍니다.chmod +x rc.local 위 처럼 rc.local에 실행하려는 스크립트를 작성하고 서버를 reboot하면 작성한 스크립트가 실행 됨을 확인 하실수 있습니다. 잘 동작하기를 바랍니다. 좋은 하루 보내세요.
4. NginX 설치 (1) 설치에 필요한 라이브러리 설치 sudo yum install gcc libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev pcre pcre-devel openssl openssl-devel (2) 컴파일을 위한 설정 ./configure --prefix=/home/allympuskr/env/nginx --with-http_ssl_module --with-http_stub_status_module --user=allympuskr (3) 빌드 make install
MariaDB 한글 깨짐 수정 최초 MariaDB를 설치를 하게 되면 테이블 생성 후 한글 데이터 입력시 데이터가 깨지게 됩니다. 여러번 설치를 해보신 분들이라면 아 character set이 utf8이 아니라서 그렇구나 하고 대뜸 수정하지만 처음 설치를 하시거나 지식이 없으신분들은 아마도 아래와 같이 맨붕에 빠지기 되실겁니다. 실제 한번 해보면 별거 없으니 아래와 같이 설정을 해주세요. 우선 윈도우 기준에서 설명을 합니다. 아래와 같이 제어판 > 관리도구 > 서비스를 열어주세요 서비스가 띄워졋으면 아래와 같이 MySQL을 찾아서 서비스를 중지 시킵니다. 이후 MariaDB가 설치된 곳으로 가서 아래와 같이 data폴더 밑에 my.ini파일을 메모장이나 편집기 도구를 통해서 엽니다. my.cnf파일을 열..
1. Public Cloud 서비스에서는 multicast, broadcast를 지원하지 못하는가?대표적인 하나의 이유는 Cloud 서비스에서 네트워크 부하로 인한 문제로 Layer 2단계에서 i/g bit가 1인것(MultiCast, BroadCast)을 모두 필터링 해서 제거해버린다는 점입니다. 왜 제거를 해버리는 이유를 찾아보았더니 네트워크의 부하를 최소하 하기 위한 Cloud서비스의 노력에서 비롯된 이유인데 UnitCast같은 경우 ARP를 통해서 직접 MAC를 찾아서 연결하고 통신하지만 BroadCast나 Multicast에서는 Unicast와 다르게 별도 처리를 하기 때문입니다. 이런 부하를 줄이고자 Cloud Server 구조에서는 UniCast만을 사용하도록 설정하고 그것으로 인해서 mul..
3. ngx_http_realip_module일반적으로 웹서버/WAS위에 Proxy나 L4를 두고 사용한다. 이런 경우 nginx의 access로그에서는 nginx를 요청한 proxy나 L4의 IP주소를 남기게 된다. 이것을 해결하기 위한 방법으로는 L4나 Proxy의 주소가 아닌 L4나 Proxy주소를 호출한 Client의 주소를 log로 남겨야 하는데 ngx_http_realip_module은 간단한 설정으로 Client IP를 로그로 남길 수 잇도록 도와준다.주소http://nginx.org/en/docs/http/ngx_http_realip_module.html주의점이 모듈은 기본적으로 빌드 되지 않으며 컴파일시에 --with-http_realip_module 옵션을 넣어줘야 한다.사용법 set_..
2. X-Content-Type-Options: nosniff잘못된 MIME형식 혼동을 기반으로 하는 공격을 차단하기 위해서 X-Content-Type-Options가 nosniff응답 해더를 보내면 잘못된 MIME형식이 포함된 요청건에 관해서 서버는 응답을 거부합니다. 서버에서 X-Content-Type-Option이 nosniff 해더를 전송하면 브라우저에선 아래와 같이 동작합니다.stylesheet브라우저에서 styleSheet를 요청할때 MIME 형식이 text/css가 아니면 파일을 로드하지 않습니다.scriptscript를 요청할때 MIME 형식이 아래와 같지 않으면 파일을 로드하지 않습니다. application/ecmascriptapplication/javascriptapplication/..
1. X-Frame-Options과 ClickJackingClickJacking과 같은 공격을 무력화 하기 위해서 X-Frame-Option 같은 헤더를 사용해야 한다.X-Frame-Options는 브라우저가 , 혹은 항목을 렌더링 해야하는지 아니면 막아야 하는지 알려준다. X-Frame-Option은 아래와 같은 3가지 값 중 하나를 사용 할 수 있다.Deny해당 페이지는 frame을 랜더링 하지 않는다.SAMEORIGIN해당 페이지와 동일한 origin에 해당하는 frame만 렌더링 한다.ALLOW-FROM {uri}해당 페이지는 지정된 uri(orgin)에 해당하는 frame만 렌더링 한다.예제 add_header X-Frame-Options SAMEORIGIN;
1. Nginx log를 logrotate를 사용하여 일자별로 관리하기(1) 서버별로 로그를 남기도록 설정한다.파일명: ${NGINX_HOME}/nginx.conf ...server {...access_log /home/user/log/nginx/access;...}...(2) 로그를 위한 logrotate 설정 파일을 만든다.파일명: /etc/logrotate.d/nginx-access-log /home/user/log/nginx/access { create 0644 nginx nginx daily rotate 30 missingok notifempty dateformat .%Y-%m-%d.log dateext sharedscripts postrotate /etc/init.d/nginx reopen_l..
01. List값에서 다중 키값으로 여러 필드들을 그룹화 예제코드 - GroupingExam1 /** * 특정 객체를 갖는 List값에서 특정 다중 ID값으로 여러 데이터를 그룹화 하는 예제 */ public class GroupingExam1 { public static void main(String[] args) { List result = Arrays.asList( new DeptSales("AOrga","ADept", 100000L, 2000L, 300L), new DeptSales("AOrga","ADept", 27000L, 560000L, 31000L), new DeptSales("AOrga","BDept", 6010000L, 20000L, 5000L), new DeptSales("AOrga"..
LifeCycle (https://angular.io/guide/lifecycle-hooks) ngInit컴포넌트가 초기화를 마치고 완전한 상태를 지닐때 호출된다.ngDestroyed컴포넌트가 View에서 제거될때 호출된다.ngAfterContentInitContent Projection으로 전달받은 템플릿이 초기화 완료시점에 호출된다.(ng-content)ngAfterViewInit컴포넌트의 템플릿이 완전히 초기화 된 시점에 호출된다.ngOnChanges어떠한 이벤트에 의해서 컴포넌트 상태 변경시 호출된다. 여기서 상태변경이란 부모컴포넌트로 부터 프로퍼티 바인딩을 통해서 값을 전달 받는 것을 의미한다.ngDoCheckAnguar에서 감지하지 못하는 변경사항이 발생했을 때 호출, 예를 들어 외부라이브러리..