Hi! 160

[ElasticSearch] _update_by_query (update by query)

특정 쿼리에 해당하는 데이터들을 한번에 update 하는 쿼리 index_name/_update_by_query [POST] { "script":{ "source":"ctx._source.USER_LOCATION = params.location", "params":{ "location":"경기도" } }, "query":{ "term":{ "USER_LOCATION":"서울특별시" } } } index_name에 있는 document 들 중에 USER_LOCATION 값이 서울특별시 인 데이터들을 경기도로 변경 주의할점!!! update 시킬 데이터가 지나치게 많을 경우 처리하는 개수를 정할 수 있는지 모르겠는데 일정량씩 처리를 해서 오래 걸릴 수 있으니 생각하고 사용해야함 전에 데이터 몇만개 짜리를 _..

ElasticSearch 2019.07.22

[ElasticSearch] op_type option

데이터를 생성할 때 이미 있으면 등록 못하게하는 옵션 op_type=create 예) user_data/doc/admin?op_type=create 이렇게 해서 사용 update로 이레스틱에 넣을 때 _id가 없으면 데이터를 insert시키는데 동일 한게 있으면 해당 데이터를 업데이트 시켜버림 만약 등록할 의도로 했는데 기존껄 덮어버리면 곤란한 일이 생길 수 있으니 상황에 맞춰 사용하면 좋을듯함

ElasticSearch 2019.06.07

[ElasticSearch] _update로 데이터 update

세레브로에서 1개의 도큐먼트를 수정하고 싶을 때 indexName/doc/_id/_update [POST] indexName : 수정하고자 하는 도큐먼트가 들어있는 인덱스명 _id : 수정하고자 하는 도큐먼트의 _id값 requestBody에 해당 도큐먼트 값 전부를 넣고 수정한뒤 send해야함 이렇게 다 넣고 수정해야하는데 특정 몇개만 수정하고 싶다고 그것만 넣고 수정하면 그 값만 들어가지고 나머지는 다 사라짐 특정 필드만 수정 하고 싶으면 아래와 같이 하면 된다. doc를 넣고 해야함

ElasticSearch 2019.06.07

[AngularJS] controller 2번 실행 현상

작업 중 페이지 별로 접근 권한 기능을 구현하기위해 이런 저런 방법을 생각해보다가 app_main.js 안에 선언 되어 있는 main_ctrl 컨트롤러는 어느 페이지에서나 항상 유지하게 구현 되어 있어서 이곳에서 계정 권한 값을 추출 한 후 $rootScope.auth = 받아온 계정 권한 값 이렇게 선언하고 각 페이지별 js파일에서 사용하려고 했더니 잘 안되었다. 그래서 html단에다가 ng-controller="main_ctrl"을 선언 해주니 잘 먹히길래 됬구나! 하고 다른 작업을 추가 진행 했었는데 app_main.js안에 들어 있는 함수 중에 1분단위로 함수가 돌아가는게 있는데 크롬 개발툴 중에 Network를 보니 이 함수가 엄청 많이 실행되어 있는 것을 확인했다. 페이지 이동중에도 무조건 한..

AngularJS 2019.06.05

[JavaScript] 데이타테이블(DataTables) 유동적으로 높이 변경과 출력 갯수 바꾸기

데이타 테이블을 구현하고 sScrollY를 이용해 높이를 고정했다가 유동적으로 변경하고 싶어서 페이지 화면이 늘어나거나 줄어들면 테이블에 정보가 뿌려지는 dataTables_scrollBody 부분도 같이 변경되도록 구현 했다. dataTables_scrollBody의 값이 늘면 뿌려지는 갯수도 추가되고 줄면 줄어들어야 한다. var oSettings = table.fnSettings(); var table_row_h = 26; var show = table_h / table_row_h; oSettings._iDisplayLength = parseInt(show.toFixed(0)); table.fnDraw(); table_h는 dataTables_scrollBody의 높이 table_row_h는 테이블..

JavaScript 2019.06.05

[JAVA] Calendar 함수를 이용한 날짜 구하기

Calendar cld= Calendar.getInstance( ); //년 cld.get(Calendar.YEAR)); //월 (월값은 0부터 시작이라 +1을 해주어야함) cld.get(Calendar.MONTH) + 1); //일 cld.get(Calendar.DAY_OF_MONTH); //시 cld.get(Calendar.HOUR_OF_DAY); //24시간제 cld.oCalendar.get(Calendar.HOUR); //12시간제 //분 cld.get(Calendar.MINUTE); //초 cld.get(Calendar.SECOND); - 참고 월, 일, 시, 분, 초 표시할 때 0~9까지는 한자리로 표현됨 예) 2018.08.07 01:02:03 인경우 위에 표기된 방법으로 출력시 2018.8..

JAVA 2019.06.05

로그인 관련해서 IP를 사용할 때 0:0:0:0:0:0:0:1 뜨는 이유

각 계정마다 허용 IP를 지정해 주었고 로그인 할 때 IP를 읽는 걸 구현 하는 중에 자바단에서 로그인 할 때의 계정 IP를 읽었더니 0:0:0:0:0:0:0:1 이런 식으로 뜬다... 보통 프로젝트를 시작하면 주소가 localhost/주소~ 이런식인데 localhost일 때 IPv6의 정보를 읽게 된다는 것 같다. localhost를 개인 로컬 IP 주소를 치고 들어가서 진행하면 해결 된다. localhost/주소~ 가 아닌 내 로컬 IP 주소/주소~ 이런식으로! localhost/login.html -> 0.0.0.0/login.html

JAVA 2019.06.05

[Node] node를 이용한 ElasticSearch에 데이터 넣기

기본적으로 elasticsearch라는 모듈이 설치 되어 있어야함 없다면 설치 npm install elasticsearch var elasticsearch= require('elasticsearch'); var els_id = "test"; var els_pw = "test": var els_ip = "192.168.0.222"; var client = new elasticsearch.Client({ hosts: ["https://" + els_id + ":" + els_pw + "@" + els_ip + ":9200"] }); function run () { client.index({ index: 'indexName', type: 'doc', id: '_id', //_id값이 없으면 입력된 값으로 i..

Node.js 2019.06.05

[JavaScript] 랜덤함수 (random())

단일 랜덤 뽑기 function randomNum (a) { var result = Math.floor(Math.random() * a) + 1; return result } console.log(randomNum(9)); 1~9 사이의 숫자가 랜덤으로 나옴 범위로 랜덤 뽑기 function between (a, b) { var result = Math.floor(Math.random() * (b - a) + 1) + a; return result; } console.log(between(5, 9)); 5와 9사이의 숫자가 랜덤으로 나옴 [(max - min) + 1] + min 요것만 잘 기억해두면 ㅇㅋ!

JavaScript 2019.06.05