자바스크립트 클로저란(javascript Closure)?지난 포스트에서 함수선언과 함수표현식 그리고 익명함수에 대해 정리하였습니다.함수선언과 함수표현식 그리고 익명함수에 대해 잘모르시는 분들은 아래 링크를 클릭하세요바로가기 클로저는 간단하게 생각하면 내부함수가 외부함수의 값을 변경 할 수 있는 것을 말합니다.이렇게만 정리하면 이해가 가지 않으므로 코드를 통해서 설명하겠습니다.일단 아래는 클로저를 이해할 수 있는 코드로 만들어진간단한 프로그램입니다. 위에는 텍스트 박스와 버튼이 있습니다. 숫자를 넣으신 후 실행버튼을 클릭하세요.위의 프로그램은 html코드와 script를 밑에 공유하겠습니다. 위에는 html코드입니다. var text = document.getElementById("text"); var ..
스프링프레임워크로 개발시 빈을 등록할때 빈의 의존관계로 인해 빈의 의존관계에 등록되어있는 빈들의 등록되는 순서를 지정할 필요가 있다. 순서를 정하는 방법은 아주 간단합니다. (이 포스트에서는 어노테이션을 통해 순서를 정하는 방법을 포스팅하겠습니다.) 1. 순서를 정하실 빈의 name을 지정합니다. @Component("testDao1") public class TestDAO1 { @Component("testDao2") public class TestDAO2 { @Component("testDao3") public class TestDAO3 { 2. 빈의 등록되는 순서를 @DependsOn을 통해 지정한다. (빈이 등록되는 순서를 TestDAO1 - > TestDAO2 -> TestDAO3) @Compo..
몽고디비 로우 자동소멸(TTL) 걸기몽고디비에서 DOCUMENT 별로 TTL(TIME TO LIVE)을 사용하여 자동소멸이 가능합니다저는 studio 3t라는 툴을 사용하여 적용해보았습니다.해당 기능을 사용하기 위해서는 첫번째로 collection에 인덱스를 설정해야합니다.두번째로는 document에 date 타입의 현재시간을 담을 필드가 필요합니다.위의 사진은 collection에 처음 이야기했던 인덱스 설정 화면입니다.이 부분에서 중요한 것은document의 date타입을 담을 필드명과 동일하게 인덱스를 지정해야합니다.그리고 expire after라는 속성이 있는데요. 저는 일주일 후에 소멸시키기 위하여 604800초를 입력했습니다.(초 기준이므로 60 * 60 * 24 * 7 )자동소멸을 위해 지정..
리눅스 포트 포워딩 간략정리 1. 리눅스 vi를 통하여 밑의 경로로 들어가서 편집을 합니다.vi /etc/sysconfig/iptables 2. vi를 통해서 포트포워딩 목록을 입력합니다.-A PREROUTING -i eth0 -p tcp -m tcp --dport [포워딩 서버 포트주소] -j DNAT --to-destination [타겟 서버 아이피와 포트번호 EX: 192.168.1.1:4445] 3. 수정완료 후 편집기를 저장한다. 이후 서비스를 재시작 한다./etc/init.d/iptables restart '공감' 및 '좋아요'는 글쓴이에게 큰 힘이 됩니다!(바로가기) 블로그 구독도 부탁드려요.(네이버이웃 추가)
mongodb yum으로 간단 설치yum install mongodb mongodb-server mongodb community 버전 가져오기 몽고디비 공식사이트 클릭관련 가이드 문서 클릭 mongodb 실행(콘솔 종료시 종료)mongod --dbpath "/home/db" mongodb 백그라운드로 실행(데몬 실행) mongod --fork --logpath /var/log/mongodb.log --dbpath /home/db --logpath 데몬 실행하는 동안 서비스 콘솔 로그 출력하는 부분 --dbpath몽고디비 저장소 지정.
메이븐에서 제공하는 프로젝트 이력 프로필에 대해서 알아보자.모든 프로젝트는 사람이 만든 소스 및 파일로 구성됩니다. 프로젝트는 다른 시스템과 마찬가지로 프로젝트 참여자도 프로젝트에 이해 관계가 있습니다. 개발자는 아마도 프로젝트의 핵심 개발 멤버가 될 것입니다. 이러한 이해관계에 대한 정의를 메이븐에서는 제공하고 있습니다.pom.xml에서주로 위쪽으로 정의합니다.각 태그는 그냥 보시면 알 수 있을 것 같습니다.약간 헷갈릴수 있는 부분만 설명드리자면roles는 프로젝트 참여자가 어떠한 역할을 했는지를 정의하는 것 입니다.한 사람이 개발 및 설계를 동시에 진행했다면developer와 architect를 기입하면 됩니다.timezone은 현재 지역이나 UTC기준 차이시간을 입력하면 됩니다.현재지역이 서울이라면..
자바스크립트 window 객체의 전체 속성 알아보자안녕하세요. 모든 브라우저에서는 window객체를 지원하고 있습니다. 덕분에 우리가 쓰고 있는 자바스크립트에서는 window객체에 내장된 함수를 실행할 수 있는거죠. window객체에는 브라우저의 이벤트를 처리하기 위해 얼마나 많은 속성을 가지고 있고 또 그 속성 내부에는 다른 Object가 있어서 어떤 것을 지원하고 있을까 궁금했습니다. 그래서 자바스크립트로 직접 window객체를 2단계까지 속성을 펼쳐보았습니다. (직접 블로그에서 올릴려고 했지만 너무 많은 속성때문에 브라우저가 멈추는 현상이 있어서 직접 스크립트를 첨부파일로 해서 업로드합니다.) 아래 첨부 파일을 다운로드 받으세요첨부 받으실 파일을 html입니다. 실행을 시킨 후 브라우저에서 펼치기 ..
자바스크립트 JSON의 이해 JSON은 네트워크 데이터 전송방식의 표준 Format으로 사용되고 있습니다. (이외에는 xml, html) Json은 String 문자열이므로 실제 자바스크립트에서 사용하기 위해서는 파싱을 하여 객체로 사용할 수 있는데요. 자바스크립트에서 이럴때 사용하는 객체가 JSON 객체입니다. JSON객체에는 parse와 stringify가 내장되어 있어서 String - > Object로 Object -> String으로 변환해 주는데요. JSON 객체의 parse (String - > Object 변환)JSON객체에는 parse라는 함수가 있습니다. Json 포멧 방식을 가지고 있는 String 데이터를 parse를 통해 Object로 변환하는 것입니다. var jsonStr = ..
자바스크립트는 함수를 어떻게 정의하느냐에 따라함수 선언 및 함수 표현식 그리고 익명함수로 분리됩니다. 1. 함수 선언함수 선언이란 script 내부에서 아래와 같이 함수를 정의할 때 함수선언이라고 불립니다. function javaScriptTEST(){ //함수 선언 //구현 로직 } 함수선언은 기존의 프로그래밍에서 가장 명시적이고 많이 쓰이는 방식입니다.브라우저에서 코드를 인식하는 과정 중 제일 처음으로 해석되는 것이 함수 선언입니다.그러므로 함수 선언은 script의 위치가 어느 곳에 있어도 브라우저가 인식할 때가장 먼저 해석하게 됩니다. 프로그램의 순서는 무조건 위에서 아래로, 왼쪽에서 오른쪽으로 흘러간다는 개념으로 볼 때함수 선언이 밑에 있고 함수 사용을 위에서 해도 문제가 되지 않는 다는 의미..
1. 배열은 List와 다르게 크기를 지정해야 한다.배열은 크기를 지정해야 하지만ArrayList는 해당의 유형 객체를 넣거나 제거한다면 저절로 커지거나 작아지므로 크기를 지정하지 않아도 됩니다. 2. 객체를 일반 배열에 넣을 때는 인덱스를 지정해야 한다.배열은 처음 객체를 생성시 크기를 지정하고크기 안에서 [0], [1], [2] 인덱스를 지정하여 값을 대입해야 한다.하지만 ArrayList는 객체의 인스턴스 메서드를 통해서(add)를 통해서자동으로 인덱스를 생성하여 값을 대입한다. 3. 배열의 내부의 값을 사용할 때는 [index] 문법을 통해 사용가능하다.Arraylist는 객체의 인스턴스 메서드를 통해 값을 대입하거나 가져오지만배열은 [index] 문법을 통해서만 값을 넣거나 가져올 수 있다. '..