본문 바로가기

전체 글

(61)
모바일에서 웹사이트 천지인 자판 입력 오류 천지인의 미들닷 ㆍᆢ은 특수문자로 인식되어 일반적인 정규 표현식의 특수문자 제거형식에서는 제한되고 있었다. 특수문자에 대한 입력제한을 js로 설정해놓고 input에 class를 지정해줘서 사용하고 있다. 현재 ㅓ ㅕ ㅗㅛ 등 입력이 안되는 오류가 발생되어 확인해보니 특수문자에서 제한이 걸려 발생된 문제였다. 기존 $('body').delegate('.nospecial1', 'keyup', function (event) { var inputValue = $(this).val(); $(this).val(inputValue.replace(/[^(가-힣ㄱ-ㅎㅏ-ㅣa-zA-Z0-9\-)]/gi,'')); }); 수정 후 $('body').delegate('.nospecial1', 'keyup', function ..
[Tibero] Cannot create JDBC driver of class 'net.sf.log4jdbc.DriverSpy' for connect URL 'jdbc:log4jdbc:tibero:thin:@URL:PORT:tibero' 얼떨결에 다른회사에서 개발했던 프로젝트를 넘겨받았다. 어떤 인수인계도 없었기에 개발 환경부터 시작하는데 제목과 같은 에러가 났다. Cannot create JDBC driver of class 'net.sf.log4jdbc.DriverSpy' for connect URL 'jdbc:log4jdbc:tivero:thin:@URL:PORT:HOST' pom.xml에 DBMS, Log4jdbc 있는지 확인하였고 등록된 라이브러리는 이미 프로젝트에 import 되어있었다. 없을 시 첨부파일에 있는 jar 파일을 lib폴더에 넣고 pom 정보도 추가해준다. 나는 둘다 있었는데도 뭐가 문제였나 싶었는데 Java VM Arguments에 아래와 같은 내용이 빠져있었다. -Dlog4jdbc.drivers=com.tma..
Unix Time계산하기 회사에서 프로토콜 통신을 위하여 시간데이터는 UTC시간으로 전송한다. 무선통신의 프로토콜이기때문에 패킷의 사이즈가 한정적이었고 이를위해 시간은 전체의 시간을 표시하는것이 아닌 2020년 1월 1일 00시 00분 00초를 기준으로 Date를 초로 계산을 했다. 때문에 시간에 대한 기준점이 필요했고 Unix Time(UTC 1970년 1월 1일 00시 00분 00초 : 이하 Epoch라 칭함)을 기준잡았다. 2020년 1월 1일 00시 00분 00초의 Epoch는 1577804400000ms 이 나왔다. 이때 아래의 코드로 원하는 Date의 Epoch값을 구할수있다. // 현재 Epoch long epoch1 = System.currentTimeMillis(); // 원하는 시간 Epochlong epoch..
이클립스 SVN 설치하기. 이클립스 help의 marketplace에서 svn을 검색해준다. 맨위에 Subversive - SVN Team Provider 4.0.5를 인스톨해준다. 설치 완료후 재부팅이후 Window탭에서 Preferences GetConnect에서 SVNKit 1.8.14 버전을 선택해 설치해준다. 설치이후 Window탭에 Show view에서 other를 눌러 SVN Repositories를 실행시켜주면 콘솔 옆에 SVN Repositories가 실행된다. SVN Repositories창에서 우클릭하여 Repository Location을 선택하여 URL설정과 User, Password를 입력해준뒤 완료 시켜주면 트리형태의 svn이 잡힌다.
MVC 실습. 참고로 webapp에 jsp를 놔도 된다.우선 잡힘.. Context Path 설정 변경하기.1.어플리케이션 자체에서 변경하기.프로젝트 우클릭하여 Properties를 선택한뒤 Web Project Settings에서 변경가능 2. 서버에서 변경하기.서버를 열면 Modules에서 Path경로를 변경해준다. 로그인 정보를 받아올때.HomeController.java에서 아래와같이 추가해준다.@RequestMapping("/login")// 변수명만 넣어줘도 된다. public String login( String mem_id, String mem_pw, Model model// 화면에 뿌려질 데이터(직접 생성x 파라미터로 받아올것.) //HttpServletRequest request // JSP방식으로 ..
리눅스 우분투 oracle-java8-installer에러 해결(자바 라이센스 변경으로 발생) sudo rm /var/lib/dpkg/info/oracle-java8-installer.postinst -fsudo dpkg --configure oracle-java8-installer sudo apt upgrade로 확인
SpringMVC springMVC 프로젝트를 새로 생성했다. Other에서 Spring Legacy Project를 선택해주었다. 생성이후 pom.xml에서 아래부분만 설정변경 해주었다.4.0.0 kr.or.nextit springmvc springmvc war 1.0.0-BUILD-SNAPSHOT 1.8 4.3.9.RELEASE 1.7.4 1.7.5 JSP를 지워줬다(톰캣에서 가져다 쓸거기때문에 상관이 없다.) javax.servlet servlet-api 2.5 provided javax.servlet.jsp jsp-api 2.1 provided 플러그인에서 source와 target을 1.8로 변경해줬다. org.apache.maven.plugins maven-compiler-plugin 2.5.1 1.8 1.8 ..
DI AOP MVC DI빈등록 @Controll, @Service, @Repository 주입 @Autowired, @Resource AOP(한번 설정하면 손댈일이 별로없음) 로깅, 보안 : 굳이 AOP로 잘 사용하지 않는다.)트랜잭션(AOP를 사용해야 한다.) 전자정부 표준 프레임 워크 실행환경(화면처리)MVC(Model-View-Controller)패턴은 코드를 기능에따라 M, V, C 3가지 요소로 분리한다.-Moder(VO, JavaBeans) - 어플리케이션의 데이터와 비즈니스로직을 담는 객체-View - Medel의 정보를 사용자에게 표시. 하나의 Model을 다양한 View에서 사용할수있다.-Controller - Moderl과 View의 중계역할. 사용자의 요청을 받아 Model에 변경된 상태를 반연하고 응답..
스프링 4회차. 생성자 주입방식 / springbasic 프로젝트 우클릭하여 properties에서 Project Facets에 들어가서Dynamic Web Module 3.1버전으로 설정(설정 저장이 안되서2.3버전으로 사용)Java 1.8버전 springbagic 프로젝트에 Java Resources안에 src/main/java안에 패키지생성을 해준다kr.or.nextit/boardkr.or.nextit/memberkr.or.nextit/member/daokr.or.nextit/member/service 이렇게 패키지 생성을 하였고 첫번째로 dao 패키지안에 MemberDao 클래스를 생성했다. 두번째로 service안에 MemberService인터페이스를 생성하고 MemberServiceImpl클래스를 같이 생성했..
BoardDao를 BoardMapper로 바꿔준다. board패키지 안에 mapper패키지를 생성후 BoardMapper라는 인터페이스를 생성한다. 기존에 있던 IBoardDao에 있는 내용을 BoardMapper인터페이스에 그대로 붙여넣어준다.// 게시판 건수 조회 (R:Read) int getBoardCount(BoardSearchVO searchVO) throws SQLException; // 게시판 목록조회(R:Read) List getBoardList(BoardSearchVO searchVO) throws SQLException; // 게시판 글 상세조회(R:Read) BoardVO getBoard(int bo_no) throws SQLException; // PreparedStatement.executeUpdate() => n개가 update ..
mybatis에서 로그를 보기위해 Log4j 설치하기. mybatis에서 로그를 안보여주기때문에 로그를 보기위해 Apache Log4j를 설치해준다. 개발할때는 println을 찍어서 볼수있지만 사실상 실무에서는 서버를 따로두기때문에 println은 사용하면 안된다. 그렇기때문에 로그를 찍어주는 log4j를 설치한다. log4j는 log for java를 뜻한다. http://logging.apache.org/log4j/1.2/download.html 이곳에서 설치가 가능 현재 log4j2 가 나왔지만 spring에서 1버전을 사용하기때문에 log4j1 버전을 다운받는다 jar 파일을 WEB-INF/lib에 넣어준다.설정파일인 log4j.xml은 src에 넣어주면 자동으로 잡힌다. Logger(category) 로깅 메세지를 Appender에 전달. log4..
스프링 2회차. 게시판 페이지처리하기 위한 카운트를 재정의해준다. 우선 BoardMapper.xml에 getBoardCount를 생성해준다. SELECT count(*) as cnt FROM board WHERE 1=1 AND bo_mem_id LIKE '%' || #{search_word} || '%' AND bo_title LIKE '%' || #{search_word} || '%' AND bo_content LIKE '%' || #{search_word} || '%' 기존 BoardDao의 getBoardCount에 아래에 있던 내용들이 필요없게됐다.// 게시판 건수 조회 (R:Read) @Override public int getBoardCount(BoardSearchVO searchVO) throws SQLEx..
MyBatis이용한 기존 쿼리문 변경. Dao에 들어있는 쿼리문을 간단하게 줄이기위해 MyBatis를 설치한다. 구글에 MyBatis 검색시 제일 위에나옵니다.(http://www.mybatis.org/mybatis-3/ko/getting-started.html) 현재 최신버전인 3.5.2버전을 다운받았습니다. 압축을 해제하면 파일 4개가 있는데 mybatis-3.5.2.jar파일만 프로젝트파일에 Web Content/WEB-INF/lib 폴더에 넣어줍니다 src 밑에 mappers라는 패키지를 만들고,src 밑에 mybatis-config.xml파일을 생성했다. mybatis-config.xml에 mybatis홈페이지에있는 환경설정을 입력해준다. src밑에 db.properties파일을 생성했다.driver=oracle.jdbc.driver..
JavaFX 속성 감시 및 바인딩, 컨트롤 JavaFX 속성 감시와 바인딩 속성 바인딩JavaFX 속성은 다른 속성과 바인딩될 수 있다.바인딩된 속성들은 하나가 변경되면 자동적으로 다른 하나도 변경된다.xxxProperty() 메서드가 리턴하는 Property 구현 객체의 bind() 메서드를 이용하면 된다.단방향 바인딩 : bind() 메서드, 바인딩 받는 쪽은 변경 불가함양방향 바인딩 : bindBidirectional() Bindings 클래스Bindings의 정적 메서드는 속성을 연산하거나, 다른 타입으로 변환한 후 바인딩하는 기능을 제공한다. JavaFX 컨트롤 버튼 컨트롤버튼 컨트롤은 마우스로 클릭할 수 있는 컨트롤로 ButtonBase를 상속하는 하위 컨틀롤을 말한다.Button, CheckBox, RadioButton, Toggle..
JavaFX 이벤트 처리 JavaFX 이벤트 처리 이벤트 핸들러(EventHandler)JavaFX는 이벤트 발생 컨트롤과 이벤트 핸들러(EventHandler)를 분리하는 위임형(Delegation) 방식을 사용한다.위임형 방식이란 컨트롤에서 이벤트가 발생하면, 컨트롤이 직접 처리하지 않고 이벤트 핸들러에게 이벤트 처리를 위임하는 방식이다.컨트롤에 EventHandler 등록은 이벤트 이름에 해당 하는 setOnXXX() 이름을 가진 메서드로 등록한다. FXML 컨트롤러(Controller)FXML 레이아웃은 FXML 파일당 별도의 컨트롤러(Controller)를 지정해서 이벤트를 처리할수 있기 때문에 FXML 레이아웃과 이벤트 처리 코드를 완전히 분리할 수 있다. fx:controller 속성과 컨트롤러 클래스FXML 파일의..
SQL Developer 유저 생성 및 삭제. 오라클의 유저 생성 방법입니다. sql developer에서 새로운 계정을 생성하기 위해서는 계정생성과 권한을 부여해줘야합니다. SQL PLUS를 실행후 관리자계정으로 로그인 그이후 아래 타이핑을 쳐주시면 됩니다. 계정 생성 CREATE USER ID IDENTIFIED BY 비밀번호 ex) CREATE USER KIMG IDENTIFIED BY 0000; 권한 부여 GRANT CONNECT, RESOURCE, DBA TO ID; ex) GRANT CONNECT, RESOURCE, DBA TO KIMG; 권한설정을 안하게되면 접근이 불가할수도 있습니다. 이때 CONNECT는 접속권한, RESOURCE는 데이터 갱신권한. 즉 생성, 수정, 삭제와같은 작업에 대한 권한을 GRANT해준다. 유저 삭제 DROP..