본문 바로가기

모바일에서 웹사이트 천지인 자판 입력 오류 천지인의 미들닷 ㆍᆢ은 특수문자로 인식되어 일반적인 정규 표현식의 특수문자 제거형식에서는 제한되고 있었다. 특수문자에 대한 입력제한을 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..
이클립스 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이 잡힌다.
리눅스 우분투 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..
람다식(Lambda Expressions in Java) Lambda Expressions Lambda Expressions- 식별자 없이 실행 가능한 함수 표현식.- 람다식은 익명 함수(anonymous function)를 생성하기 위한 식으로 객체 지향 언어보다는 함수 지향 언어에 가깝다.- 람다식의 형태는 매개 변수를 가진 코드 블록이지만, 런타임 시에는 익명 구현 객체(Anonymous)를 생성한다.- 기존의 불필요한 코드를 줄이고 가독성을 향상시키는 것에 목적을 두고 있다.- 자바 8에서 추가된 가장 특징적인 기능. Lambda Expressions Example - 자바에서 람다식을 사용하려면 다음과 같은 방법으로 사용이 가능합니다. 기존방식- "Hello World."라는 단어를 출력하고 종료하는 쓰레드 Lambda Expressions Code-..
멀티쓰레드 스레드의 개념 프로세스(process)란? - 프로세스(process)란 단순히 실행 중인 프로그램(program)이라고 할 수 있습니다. - 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것을 말합니다. - 이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성됩니다. 스레드의 개념 스레드(thread)란? - 스레드(thread)란 프로세스(process) 내에서 실제로 작업을 수행하는 주체를 의미합니다. - 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행합니다. - 또한, 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-threaded process)라고 합니다. 스레드의 생성과 실행 Thread..