최근 뉴스에서 데이터3법이 통과되냐 안통과되냐에 대한 이야기가 많습니다. 이것이 통과되지 않으면 IT분야가 다른나라에 비해 뒤쳐지게 되는 현상이 일어날 수 있다고 경영인들은 지적하는데요, 그러면 데이터 3법이 무엇이고 왜 지연되는지에 대해 알아보도록 하겠습니다. 데이터 3법이란 개인정보보호법, 정보통신망법, 신용정보법 개정안을 일컫는 말입니다. 이러한 법들을 개정하는 이유는 개인정보보호에 대한 법들이 부처별로 나뉘어 생기는 불필요한 중복 규제를 없애기 위함입니다. 중복되는 부분은 아래와 같습니다. 데이터 3법 현황 개인정보보호법 - 개인정보 사용에 대한 보든 사안을 취급 정보통신망법 - 온라인 상의 개인정보 신용정보법 - 신용거래에서의 개인정보 이러한 중복 규제를 해소하기 위해 개인정보보호 소관 부처를 ..
최근 토비의 스프링을 공부하는데 enum을 사용하는 경우를 가끔씩 볼 수 있다. enum을 사용할 줄은 알지만 정확히 잘 사용하지는 못하는지라 이참에 enum에 대해서 제대로 숙지하기 위해 블로그 포스팅을 하면서 고찰을 해보고자 한다. 이러한 고찰을 하는 이유는 드라마 브레인에서 이강훈의 대사처럼 할 수 있는것과 잘하는 것은 다르기 때문이다. 잘 숙지하고 의식적으로 필요할 경우 enum을 사용하여 할 수 있는경지가 아닌 잘하는 경지가 되도록 하겠다. 열거 자료형(enumerated type)은 고정 개수의 상수들로 값이 구성되는 자료형이다. 상수들의 모임이라면 내 개인적인 생각으로는 그냥 클래스에 아래와 같이 상수를 넣으면 되지 않을까 생각하였다. ex) public static final int USE..
Service나 DAO 같은 비즈니스 로직과 달리 Controller의 경우 테스트 코드를 만들기가 되게 애매하다. 이유는 Service나 Dao와 달리 Controller의 경우 Http Request나 Response등의 요청이 필요하고 또한 결과값인 Model이나 View등의 정보를 어떻게 받아야 하는지도 애매하다. 그렇기에 스프링에서는 이와같은 것들을 테스트하는데 도움을 주기위해 Mock 오브젝트를 제공하고 있다. Mock이란 아래와 같은 정의를 갖고 있다. Mock이란? 실제 객체를 만들어 사용하기에 시간, 비용 등의 Cost가 높거나 혹은 객체 서로간의 의존성이 강해 구현하기 힘들 경우 가짜 객체를 만들어 사용하는 방법이다. 각설하고, 스프링은 MockHttpServletRequest와 Moc..
이제 이론적인것은 어느정보 배웠겠다. 내 스스로 프로젝트를 조금씩 수행하려고 하는 첫걸음에 문제가 발생하였다. 문제는 바로 jsp에서 한글깨짐 현상이 일어난 것이다. 예전 Java개발자 양성교육때 이러한 버그를 고치는데 상당히 헤맸던 것으로 기억나는 추억마저 생기는 버그다. 초보자 시절 기억을 되살려 jsp / servlet 개발시 한글깨짐 방법에 대해 처리하는 방법에 대해 포스팅 하도록 한다. 현재 내가 사용하고 있는 WAS(Web Application Server)는 Tomcat이고 모든 페이지는 UTF-8로 개발할 예정이다. 1. GET 전송시 파일깨짐 [server.xml] server.xml 파일에서 Connector 태그에 URIEncoding=UTF-8을 추가하여 준다. 2. POST 전송시..
STS를 사용하는데 내가 평소 사용하던 Tomcat이 아닌 다른 Spring에서 제공하는 서버가 깔려있어 해당 서버를 제거하고 내가 익숙한 Tomcat을 사용하고자 한다. 일단 Tomcat서버를 다음의 사이트에 들어가서 다운 받는다. 나 같은 경우에는 톰캣7을 설치할 예정이다. https://tomcat.apache.org/ Apache Tomcat® - Welcome! The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pa..
스프링의 MVC에서 @Controller 어노테이션을 사용하기 이전에는 Controller인터페이스를 구현하고 xml파일등에 등록하여 컨트롤러를 빈으로 등록하였으나 @Controller의 등장으로 @Controller 어노테이션을 클래스 위에 첨가하는 것 만으로 해당 클래스를 컨트롤러의 빈으로 사용할 수 있다. 뿐만 아니라 각 @Controller를 사용하는 클래스의 각 메서드마다 @RequestMapping 어노테이션을 사용하여 URL 매핑을 할 수 있어 클래스의 양을 상당히 줄일 수 있다. 개인적으로 @Controller의 존재와 @RequestMapping의 존재를 알고 있어서 두가지 어노테이션을 개발시 사용하고 있었으나 지금 생각해보면 그 외의 기능들은 스프링의 기능은 사용하지 않고 JSP를 공부..
날짜 : 2019-11-25 날씨 : 흐림 기상시간 : 06:40 컨디션 : 보통 낭비한 시간에 대한 후회는 더 큰 시간 낭비이다. - 메이슨 쿨리 아침일기) 오늘 5시에 일어나려고 하였으나 그렇게 하지 못하였다. 이유는 어제 일찍자려고 하였으나 잠이오지 않아서 1시쯤에 잠이 들었기 때문으로 보인다. 조금씩 잠드는 시간을 앞당겨서 목표시간인 5시 기상을 한번 이뤄보도록 하여야 겠다는 생각을 하게 된다. 오전중의 목표는 개인정비를 하고 난 후에 블로그에 어제 공부한 내용에 대해서 포스팅하고 주안도서관에 팟캐스트를 들으며 간다음에 토비의 스프링을 공부하는 것이다. 그런후 어제 결심한 대로 오침을 30분정도만 취하고 다시 스프링 공부를 이어가는것. 그것이 오늘의 목표인데 항상 이를 인지하며 실행에 옮겨야 겠다..
어제 토비의스프링 vol2 3장 스프링 MVC에 대하여 공부를 하였다. 공부를 수행한 시각은 약 2뽀모도리(1시간 가량)이다. 50분가량 공부하면서 느낀점은 내가 스프링에 대해 빙산의 일각정도의 지식만 갖고 프로젝트를 임해왔었다는 것이다. 토비의 스프링을 보기전에 본 책은 토비의 스프링 1/6분량의 얇은 책이었는데 지금와서 생각해보면 필요한 내용은 모두 담겨있었으나 토비의 스프링처럼 통찰을 갖다주는 책이 아닌 레퍼런스의 번역서 정도로 생각할 수 있을것 같다. 오늘 2뽀모도리동안 공부한 양에 내가 기본적으로 알고있던 내용보다 더 많은 통찰을 얻게되었고 아직 공부할 것이 많이 남아 있다는 점에서 얼마나 모르고 있었는지 반성하게 된다. 스프링의 MVC 패턴은 아래의 그림과 같이 동작한다. 스프링 웹 MVC가 ..
토비의 스프링 vol2 Chapter2 DataAccess에서는 DAO클래스를 어떠한 식으로 작성하며, 추상화 기법을 이용하여 어떻게 DataAccess 기술을 사용하는지에 대해 나와있었다. 특히, 생각을 많이한 부분은 트랜잭션에 대한 설명이었는데, 개발자들이 '선언적 트랜잭션을 사용하기 위해 스프링을 사용하는 개발자가 많다.'라는 글귀에서 많은 생각을 하게 되었다. '선언적 트랜잭션'. vol1 AOP를 공부할 때도 많이 나오는 단어인데, 과연 여기서 말하는 선억적이란 무슨 의미일까 하는 궁금증이 생겨서 네이버 국어사전을 살펴보았다. 선언적의 의미로는 두가지의 동음 이의어를 발견할 수 있었다. 1. 선언적(選: 가릴선, 言: 말씀 언, 的, 과녁적) 몇 개의 배타적 개념이나 빈사(賓辭) 가운데에서 선택..
이제 토비의 스프링에 대한 개념을 어느정도 익혀가고 있으니 Database와 연동하기 위한 빈을 연동하는 작업을 금일 수행할 것이다. Database와 연동하기위해 사용할 기술은 MyBatis인데 SQL코드와 소스코드를 나눠주고 객체와 SQL 간의 매핑을 하는데 쓰이는 퍼시스턴스 프레임워크(데이터의 저장, 조회, 변경, 삭제를 다루는 클래스 및 설정 파일들의 집합)으로 현재 우리나라의 많은 Spring 프로젝트에서 사용되고 있는 기술이다. 마이바티스의 홈페이지는 다음과 같다. https://mybatis.org/ mybatis mybatis.org 마이바티스의 정의 마이바티스(MyBatis)는 자바 퍼시스턴스 프레임워크의 하나로 XML 서술자나 애너테이션(annotation)을 사용하여 저장 프로시저나 ..