목록관련 지식 (27)
봉봉의 개인 블로그
SSL VPN 이란 무엇인가? IT 관련 직종에 계신분이라면 특히 네트워크와 보안 관련된 직종에 계신분이라면 이 용어가 상당히 익숙하실테지만 일반적인 시선으로 볼 때에는 생소할 수도 있습니다.ssl vpn 에 대해 알아보기 전에 vpn이란 무엇인지에 대해 먼저 알아보겠습니다. vpn이란 무엇일까?하나의 기술 용어를 알아가다보면 그와 연관된 다른 용어를 이해 해야만 하는 경우가 많습니다. VPN도 같은데, 먼저 회선에 대한 이해가 필요합니다. 회선의 종류에는 전용 회선을 의미하는 사설망 (private network) 과 일번적인 인터넷을 말하는 공중망(public network)가 있습니다. 대규모 회사(소규모 회사는 일반적으로 공중망 만을 이용함), 행정 전산망, 금융기관에서는 대부분 전용회선을 이용하..
구글 크롬 모바일 모드 user-agent switcher for chrome크롬 사용자는 확장 프로그램 설치를 통해 PC에서도 모바일 모드를 이용할 수 있는데, 이것을 가능하게 해주는 user-agent switcher for chrome의 설치 방법과 사용법chrome 의 설정을 열어줍니다.그런다음 아래 표시된 곳으로 들어갑니다.다음 검색창에 user agent switcher 를 검색하여 추가해줍니다. 다음으론 사용법이다 오른쪽 상단에 아이콘을 클릭해줍니다.원하는 것으로 바꿔서 사용하면 된다.
많은 개발자들이 OOP(객체지향 프로그래밍, Object Oriented Programming)를 처음 접하는 것은 아마도 C++나 자바를 통해서일 것이다. 보통 C++/자바 입문서는 OOP란 무엇인가를 설명하는 챕터로 시작되기 마련인데, 하나같이 객체지향 프로그래밍의 핵심을 상속(Inheritance), 캡슐화(Encapsulation), 다형성(Polymorphism)이라고 설명하고 있다.나중에 Objective-C, Smalltalk, 자바스크립트 등을 접하면서 이같은 설명이 얼마나 엉터리인지 깨닫게 되었다. 이 글에서는 내가 지난 수년간 객체지향 프로그래밍에 관해서 이해하게 된 것을 한 번 정리해 보려고 한다.조금 규모가 있는 프로그램을 작성하다 보면, 가장 골치아픈 이슈 중의 하나가 소스코드의 ..
객체 지향 개발 (OOP)의 특성은 크게 추상화, 캡슐화, 상속성, 다형성이 있다. 1) 추상화 (Abstraction)-공통의 속성이나 기능을 묶어 이름을 붙이는것-객체 지향적 관점에서 클래스를 정의하는 것을 바로 추상화라고 정의 내릴수 있다.-좀더 살펴보면 물고기, 사자, 토끼, 뱀이 있을때 우리는 이것들을 각각의 객체라 하며 이객체들을 하나로 묶으려 할때, 만약 동물 또는 생물이라는 어떤 추상적인 객체로 크게 정의한다고 하자. 이때 동물 또는 생물이라고 묶는 것을 추상화 라고 한다. 2) 캡슐화 (Encapsulation)-데이터 구조와 데이터를 다루는 방법들을 결합시켜 묶는것, 다시 한번 말하자면 변수와 함수를 하나로 묶는것을 말한다.-ex)public String test(){String aa ..
java 에서 특정 로직이 얼마나 소요되는지 체크를 하는 방법을 소개한다.1.JDK에서 제공하는 System 클래스의 currentTimeMillis() 메소드를 이용해서 확인할수 있다.예제long startTime = System.currentTimeMillis();Thread.sleep(1000);long estimatedTime = System.currentTimeMillis() - startTime;System.out.println("took" + estimatedTime + "ms"; 결과값은 밀리세컨드(ms)로 다음과 같다took 1000 ms 2.JDK에서 제공하는 System 클래스의 nanoTime() 메소드를 이용해서 확인할 수 있다. 아주 정확한 시간을 측정할 때 많이 활용한다.예제l..
ⓐ Spring Framework-spring 은 경량 컨테이너이다. spring은 java 객체를 담고있는 컨테이너 이다. spring은 이들 java 객체의 생성, 소멸과 같은 라이프사이클을 관리하며, 스프링으로부터 필요한 객체를 가져와 사용할 필요가 없다.-spring 은 DI(Dependency Injection) 패턴을 지원한다. spring은 설정파일을 통해서 객체 간의 의존관계를 설정할수 있도록 하고 있다. 따라서 객체는 직접 의존하고 있는 객체를 생성하거나 검색할 필요가 없다.-spring 은 AOP(Aspect Oriented Programming)를 지원한다. spring은 자제적으로 AOP를 지원하고 있기 때문에 트랜잭션이나 로깅,보안과 같은 여러 모듈에서 공통으로 필요로 하지만 실제..
이벤트 ------- e.preventDefault() - 대상을 클릭했을때 발생하는 이벤트를 방지(링크 이동 등등 막기)$(this) - 현재 이벤트가 적용된 개체 (DOM).ready(fn); - 페이지 로딩시 fn 실행.click(fn); - 클릭시 fn 실행.one(fn); - 딱한번만 이벤트가 실행되고 해제됨.dblclick(fn) - 더블클릭시 fn실행.blur(fn) - 포커스를 잃었을때 fn실행.focus(fn) - 포커스를 얻었을때 fn실행.toggle(fn1,fn2); - 클릭시 fn1 과 fn2을 번갈아 실행.scroll(fn) - window 창에서 scroll 이벤트가 발생할때마다 콜백함수 fn 을 실행.change(fn) - 대상이 바뀌는 지 감지하여 fn을 실행.keyUp(fn..
Mybatis 란?-객체 지향 언어인 자바의 관계형 데이터 베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크-자바에선 데이터베이스 프로그래밍을 하기 위해 JDBC(자바에서 제공하는 데이터 베이스 프로그래밍 API)를 제공-JDBC는 관계형 데이터 베이스를 사용하기 위해 다양한 API를 제공-다양한 관계형 데이터베이스를 지원하기 위해 JDBC는 세부적인 작업이 가능하게 작업별로 각각의 메소드를호출하게 된다. 이러한 사항들은 다수의 메소드를 호출하고 관련된 객체를 해제해야 하는 단점이 존재 *결론적으로 Mybatis는 JDBC보다 좀더 편하게 사용하기 위해 개발되었음 Mybatis의 특징-간단하다 : 간단한 퍼시스턴스 프레임워크-생산성 : 62%정도 줄어드는 코드, 간단한 설정-성능 ..
Listener란Listener는 특정 상황을 모니터링 하다가 해당 상황이 발생하면 동작하는 일종의 servlet 으로 웹애플리케이션 시작 및 운영 종료 과정에서 발생하는 일련의 과정에서 특정 상황에 필요한 작업을 처리하기 위해 사용한다. (Listener class) (모니터링 내용)javax.servlet.ServletContextAttributeListener : 서블릿 컨텍스트에 속성의 추가/삭제/수정javax.servlet.http.HttpSessionListener : 세션상태변화(사용자 접속현황)javax.servlet.ServletRequestListener : 사용자 요청 발생시javax.servlet.ServletRequestAttributeListener : Request 속성의 추가..
웹 어플리케이션에서는 기존의 MVC Model를 MVCD(Model-View-Controller-Dispatch) 또는 MVC Model 2+1 라고 불러야 한다는 소리가 있다. 그 이유는 웹 어플리케이션에서는 View 화면이 Controller에 의해서 Dispatch되기 때문이다.MVC에는 다음과 같은 특징이 있다. 장점 • 표준에 맞는 개발이 이루어지므로 확장성이 뛰어나다. • 모듈별 검색이 쉽다. • 표준화된 코드를 이용하기 때문에 공동 작업이 용이하고 유지보수가 쉽다.단점 • 개발 과정이 복잡해 초기 개발 속도가 늦다. • 프로그램 로직을 별도의 자바 클래스나 서블릿을 이용해 처리(소스 변경에 따른 재컴파일, 컨테이너 재시동 등 불편) • 초보자가 이해하고 프로그래밍하기에는 다소 어렵다또 Web..