Programming (165) 썸네일형 리스트형 디자인패턴(Design Pattern)이란? 디자인패턴이란? 프로그래밍을 하다보면 디자인패턴이란 용어를 접하게 된다.디자인 패턴은 객체지향 언어에서 클래스와 클래스의 메서드를 사용하는 패턴, 즉 특정 의도를 가지는 방법을 의미한다.실무에서 실력이 뛰어난 사람의 코드를 보면 같은 동작을 하는 코드지만 심플하고 이해하기 쉽고 잘 짜여저 있다.어떻게 그런게 가능할까? 개발을 하다보면 요구사항을 수용하고 자신이 만든 클래스를 수정하다보면 코드는 누더기가 되고도무지 이게 무슨 코드인지 알수가 없다.이런 경험들을 한 사람들은 이에대해 고민했고 프로그램안의 클래스들이 갖는 구조에서 일정한 형태를 찾아내게 되었다.이럴 정리하여 객체지향적인 설계에 대한 노하우를 쌓기 시작하였고 이것이 정립되었다.이것이 바로 디자인 패턴이다. 나는 디자인패턴을 공부하기전에 개발을 .. Singleton패턴 위키를 보면 아래와 같이 정의되어 있다. 소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다. 자바에서 생성자를 통해서 객체를 생성하면 생성한 객체들이 모두 다른 객체들이다.하지만 싱글턴패턴을 이용하면 하나의 객체만 생성이 된다. 객체를 하나만 생성하게 된다면 어떠한 장점이 있기에 이 패턴을 사용하는 것일까?스레드 풀, 캐시, 대화상자, 사용자 설정, 디바이스 드라이버 등등 객체가 전체 프로그램에서 오직 하나만 생성되어야 하는 경우이 패턴을 사용하면 된다. 짐작대로 메모리의 효율.. FACADE패턴 이번장은 FACADE패턴이다.FACADE패턴은 코드없이 이론적으로만 정리하겠다. 자바의 장점은 막강한 API를 제공하는 것에 있다.이 API를 사용하여 프로그램을 작성하다보면 문제점이 생길 수 있다.객체지향의 장점이자 단점인데 재사용을 함으로써 다양한 방법으로 적용할 수 있지만 다양한 방법으로 적용을 하다보니 너무 다양한 옵션들이 생겨서개발자가 어디서 시작해야 될지 모르는 문제가 발생한다는 점이다.FACADE패턴은 이를 해결하기 위해 고안된 패턴이다.우리가 개발을 하면서 흔히 쓰는 방법이기도 하다.기본 API 또는 복잡하고 잘 설계 되어지지 않은 라이브러리들과 어플리케이션의 중간점에 위치하는 클래스이며위의 라이브러리들을 간편하게 사용할 수 있도록 해준다. FACADE의 목적은 서브 시스템을 사용하기 쉽도.. MVC패턴 MVC 패턴에 대한 정의를 위키에서 검색해보면 아래와 같다.MVC 패턴 모델-뷰-컨트롤러(Model–View–Controller, MVC)는 소프트웨어 공학에서 사용되는 아키텍처 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. MVC에서 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다. 정리하면 Model 애플리케이션의 비즈니스 로직과 사용되는 데이터를 다루는 영역 View 사용자에게 보여줄 프리젠.. java filedownload(jsp filedownload, jsp 파일 다운로드) 자바 파일다운로드이다. 일반적으로 application/octet-stream만 선언해도 다운로드가 되지만ms office같은 경우 파일오류가 발생한다.하지만 아래와 같이 MimeType를 지정해 줌으로써 오류를 방지할 수 있다.서칭을 하다 정석 파일 다운로드 소스가 있어서 공유한다.원본 : http://www.codejava.net/frameworks/spring/spring-mvc-sample-application-for-downloading-files@RequestMapping(method = RequestMethod.GET) public void doDownload(HttpServletRequest request, HttpServletResponse response) throws IOExcepti.. IOException while loading persisted sessions: java.io.EOFException IOException while loading persisted sessions: java.io.EOFException Exception loading sessions from persistent storage 톰캣을 종료할때 세션을 저장해 두었다가 restart 할때 저장된 세션을 복구할때 실패할 경우 발생하는 에러 1. 톰캣설치위치/work/catalina/ 이하 디렉토리에서 SESSIONS.ser 파일을 삭제 2. Context.xml 파일에 추가해 주기 [출처] http://www.ischo.net/1651 JSP Client OS, Browser Check(JSP 클라이언트 OS, Browser Check) 사용자 OS와 브라우저를 체크해야 할 일이 생겼다.마땅한 코드가 보이지 않아서 대충 만들었다. 테스트를 해보지 않아서 아직 부족한 부분이 있지만 조금씩 보안해야겠다. 아직 체크하지 않은 다양한 userAgent가 있을텐데 조금씩 버전을 높여가면서 유지할 생각이다.ver 0.0.1 betapublic static String getClientOS(String userAgent) { String os = ""; userAgent = userAgent.toLowerCase(); if (userAgent.indexOf("windows nt 6.1") > -1) { os = "Windows7"; } else if (userAgent.indexOf("windows nt 6.2") > -1 || userAgent.i.. 와이어샤크 필터(wireshark filter) 사용법 네트워크 패킷 분석할 필요가 생겨서 와이어 샤크를 설치했다.특정 ip를 검사하고 싶은데 필터를 입력하는 형식이 존재했다.잘 정리된 사이트가 있어서 가져왔다.eth.addr == 00:30:f9:00:00:01 출발지나 목적지 MAC 주소로 검색eth.src == 00:30:f9:00:00:01 출발지 MAC주소 검색eth.dst == 00:30:f9:00:00:01 목적지 MAC주소 검색ip.addr == 10.1.0.1 출발지나 목적지 IP주소로 검색ip.src == 10.1.0.1 출발지 IP주소로 검색tcp.port == 1470 TCP 출발지나 목적지 포트 번호로 검색tcp.dstport == 1470 TCP 포트 목적지 포트 번호로 검색tcp.srcport == 1470 TCP 포트 출발지 포트.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 21 다음