소행성이야기 37

화려한 자바스크리트 차트 amchart

화려한 자바스크리트 차트 amchart 저장된 로그 파일을 표형식이 아닌 그래프 형식으로 보여주기위해여러가지 차트 js 파일중 amcharts 가 가장 화려한것 같습니다.차트종류도 많고 사용메뉴얼도 쉽습니다.사이트 : https://www.amcharts.com/demos/ 날짜별 그래프의 경우 x 축에 날짜 포맷에 jul 7 형식으로 출력이되는데 숫자로 변경하기 위해서는아래와 같이 labelFuncion 추가해주면 됩니다."categoryAxis": { "parseDates": true, "dashLength": 1, "minorGridEnabled": true, "labelFunction": function(valueText, date, categoryAxis) { return date.toLocal..

소행성이야기 2018.07.12

logstash json 파일 input 방법

logstash json 파일 input 방법 logstash 에서 apache log 자동으로 입력하는 방법 외에 파일로 저장되 json 파일을 입력하는 방법입니다.보통 POST GET 으로 요청하는 Request 와 API 에서 응답받은 Response 데이타를 logstash 를 이용하여 엘라스틱 서치에 입력해보도록 하겠습니다. 로그파일 위치 는 아래와 같은 경로이구요. 실제로를 절대경로로 사용하시면 됩니다. 1logs/2018/07/log-logstash-2018-07-10.phpcs logstash 설정파일은 임시로 config/json_input.conf 이렇게 하겠습니다. 12345678910111213141516171819202122232425262728293031input { file {..

소행성이야기 2018.07.10

Logstash를 사용하여 Apache 로그를 분석

Logstash를 사용하여 Apache 로그를 분석 제일 먼저 해야할 할 가장 중요하고 일반적인 단계 중 하나는 Apache 로그를 향상시키는 것입니다.이것은 Kibana에서 로그를보다 이해하고 분석 할 수 있도록 로그를 구문 분석하도록 Logstash 필터를 구성하는 것과 관련이 있습니다.다음은 Apache 로그 라인과 본인 환경에서 이러한 로그를 구문 분석하는 데 사용하는 Logstash 구성의 예입니다.123 httpd.conf common 설정"%h %l %u %t \"%{uniqueid}i\" \"%r\" %>s %b"cs 샘플 Apache 액세스 로그 항목 12 192.168.0.34 - - [10/Jul/2018:14:15:41 +0900] "W0RA-bdd2MEYBj@0ozrTWAAAAAc..

소행성이야기 2018.07.10

엘라스틱 서치와 Relational DB 비교표

엘라스틱 서치와 Relational DB 비교표 다음은 Elastic Search와 Relational DB를 비교한 표이고, 개념이 이런식으로 매핑됩니다. Elastic Search Relational DB Index Database Type Table Document Row Field Column Mapping Schema ElasticSearch를 REST API를 사용하여 관계형 데이터베이스간 관계를 나타내면 다음과 같습니다. Elastic Search Relational DB CRUD GET SELECT READ PUT UPDATE UPDATE POST INSERT CREATE DELETE DELETE DELETE Elastic Search (엘라스틱서치) 입문 from SeungHyun Eom

소행성이야기 2018.07.10

엘라스틱 서치 클러스터 상태 확인

엘라스틱 서치 클러스터 상태 확인 엘라스틱 서치는 curl 명령을 사용하여 조회할수 있습니다.상태확인을 위해서는 아래와 같이 실행하면 됩니다.1curl -XGET 'localhost:9200/_cat/health?v&pretty'cs 1234[ya@localhost ~]$ curl -XGET 'localhost:9200/_cat/health?v&pretty'epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent1531196084 13:14:44 elasticsearch yellow 1 1 14 14 0 0 10 0 -..

소행성이야기 2018.07.10

javascript 익명함수

javascript 익명함수란? 함수를 정의함과 동시에 바로 실행되는 함수를 즉시 실행 함수라고 한다. 이 함수도 익명 함수를 응용한 형태. 익명 함수를 정의함과 동시에 결과가 출력. 1234567(function(name){ alert(name); })('naya'); cs 즉시 실행 함수를 만드는 방법은 간단.우선 함수 리터럴을 괄호() 로 둘러싼다.이때 함수 이름이 있든 없든 상관없다.함수가 바로 호출될수 있게 ()괄호 쌍을 추가한다.이때 괄호 안헤 값을 추가해 즉시 실행 함수 인자로 넘길수 있다.예제의 경우 ('naya')로 즉시 실행 함수를 호출했으며 이때 'naya' 를 인자로 넘겼다.이값은 즉시 실행 함수의 name 매개변수로 넘겨지게 된다. 이렇게 함수가 선언되자마자 실행되게 만든 즉시 실..

소행성이야기 2018.07.10

php 에서 다차원 배열 정열하기

다차원 배열 정렬하기1차원 배열은 알파벳 순서라든가 크기 순으로 정렬할 수 있었지만 다차원 배열에서는 배열 자체를 비교해야 하기 때문에 좀 더 복잡해진다.사용자 정의 정렬 usort()1234// 2차원 배열$products = array( array('TIR', 'Tires', 100), array('OIL', 'Oil', 10), array('SPK', 'Spark Plugs', 4) );위의 배열을 어떻게 정렬해야 할까? 여러 가지 방법이 있겠지만 물품의 설명을 알파벳 순서로 정렬한다거나 가격을 기준으로 정렬하는 방법 등을 생각해 볼 수 있다. 어떤 쪽이든 usort() 함수를 사용하기 위해서 우리가 직접 비교 함수를 만들어 주어야 한다. 여기서는 두 번째 데이터(설명)을 기준으로 알파벳 순으로 정..

소행성이야기 2018.07.10

객체지향의 사실과 오해 를 읽고

객체지향의 사실과 오해 실생활의 예를 들어서 개념적이고 알기쉽게 설명해준 책입니다. 객체지향이란 말처럼 정말 객체를 지향하는데 필요한 내용을 담고 있습니다. 데이터의 관점에서 본 것이 아닌 역할, 책임, 협력의 관점에서 본 객제지향의 전체 그림을 그려볼수있도록 설명한 책입니다. Roles, Responsibilities, Collaborations from YoungHo Cho 애플리케이션 아키텍처와 객체지향 from YoungHo Cho 참고 : https://www.slideshare.net/lahuman1/ss-64383169

소행성이야기 2018.07.09

[part 4] PHP로 좋은 객체 지향(OOP) 습관을 가집시다. 부제: 가장 약한 링크를 받아 들이자(느슨한 결합)

[part 4] PHP로 좋은 객체 지향(OOP) 습관을 가집시다. 부제: 가장 약한 링크를 받아 들이자(느슨한 결합) 느슨하게 모듈을 연결 하는 것은 좋은 일입니다.변경 사항을 캡슐화 할 수 있는 속성 중 하나입니다.느슨하게 클래스를 연결하려면 클래스의 종속성을 낮추는 습관을 구축하여 최종 목적을 개발하세요. 도데체 이게 무슨 말이냐!하나의 클래스 에서는 하나의 역할만 하는걸 말하는것 같습니다. 나쁜 습관 : 밀접한 결합 아래 예제는 주소를 출력하는 부분에 대해서 타이트하게 연결되어 있습니다.객체의 format() 메소드 를 호출하는 아래 코드는 멋지게 보일 수 있습니다.Address 클래스 호출을 사용하면 format() 됩니다. 반대로 다른 포맷을 적절하게 사용되는 다양한 포맷터에 대해 알아야 합니..

소행성이야기 2018.07.09