본문 바로가기

모바일에서 웹사이트 천지인 자판 입력 오류 천지인의 미들닷 ㆍᆢ은 특수문자로 인식되어 일반적인 정규 표현식의 특수문자 제거형식에서는 제한되고 있었다. 특수문자에 대한 입력제한을 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..
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 파일의..
람다식(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..
중첩 클래스 중첩(Nested) 클래스 중첩(Nested=Inner) 클래스의 특징 - 클래스 내부에 또 다른 클래스를 가짐으로 클래스 관리의 효율을 높인 것. - 내부 클래스는 외부 클래스의 모든 멤버들을 마치 자신의 멤버처럼 사용할 수 있다. - 서로 관련 있는 클래스를 논리적으로 묶어서 표현함으로써, 코드의 캡슐화를 증가시킨다. - static 내부 클래스를 제외하고는 다른 내부 클래스는 항상 외부 클래스를 통해야 생성할 수 있다. 중첩(Nested=Inner) 클래스의 종류 Member는 인스턴스 클래스. Anonymous를 가장 많이 사용하며 로컬의 변형된 메소드. 중첩(Nested) 클래스  중첩(Nested=Inner) 클래스의 종류 인스턴스 멤버 클래스 - 인스턴스 멤버 클래스는 static 키워드 ..
컬렉션 프레임워크(사용빈도 최상) 목차 자료구조 자료구조 클래스들 컬렉션 프레임워크 Collection과 Map 자료구조 자료구조 - 데이터를 효율적으로 사용할 수 있도록 만들어진 구조. - 데이터 추가, 삭제, 검색의 효율성을 제공 자료구조 종류 - 리스트(List) : 데이터를 1차원으로 늘어놓은 형태의 자료구조. - 배열리스트 : 데이터가 연속적으로 저장되므 검색에 용이하지만 삭제/삽입에는 용이하지 못하다. - 연결리스트 : 데이터가 연속적이진 않지만 서로간에 연결되어있어 삭제/삽입에 용이하나 검색에는 용이하지 못하다. - 스택(Stack) : 마지막에 넣은 데이터부터 순서대로 꺼낼 수 있는 자료구조.(LastInput/FirstOut:LIFO)(설거지때 쌓는 그릇과 쌓여진 최상단의 그릇먼저 사용되는 예.) - 큐(Queue) : ..
기본 API 목차  자바 API 도큐먼트  java.lang 패키지  Object 클래스  System 클래스  Class 클래스  String, StringBuffer, StringTokenizer 클래스  Wrapper 클래스  java.util 패키지  Date, Calendar 클래스  Format 클래스 자바 API 도큐먼트 - 자바 API (Application Programming Interface) - API는 라이브러리(library) 라고 부르며, 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말한다. - ${JAVA_HOME}\jre\lib\rt.jar 라는 압축 파일(jar은 자바 아카이브의 준말. 즉, 압축파일) - java.lang 패키지는 자바 프로그램의 기..
예외 처리 자바의 에러  컴파일 타임 에러(Compile-Time Error) - 자바의 문법적 오류로 컴파일이 되지 않는 구문상의 오류. 예 : int a;  실행 타임 에러(Run-Time Error) - 컴파일은 되지만 실행이 되지 않는 로직(Logic) 상의 오류. - Error 와 Exception으로 구분  예외(exception)란? - 예외(exception)란 컴퓨터 시스템이 동작하는 도중에 예상하지 못한 오류가 발생하는 것을 의미합니다. - 이렇게 발생한 예외 상황은 실행되고 있던 프로그램을 비정상적으로 종료시킵니다. - 따라서 예외 처리(exception handling)를 통해 이러한 예외 상황을 처리할 수 있도록 코드의 흐름을 바꾸는 행위가 필요합니다. - 자바는 언어 차원에서 예외 처..
패키지와 접근제어 패키지  package 정의 - 서로 연관된 클래스나 인터페이스를 한 데 묶어서 관리하는 단위(폴더와 유사) - package 사용시 클래스 이름 중복, 충돌을 피할수있음.  package 선언 - 파일의 최고 상위에 위치 - 예) package library; 또는 package kr.or.nextit.common;  package 컴파일(-d 옵션) - javac –d 저장경로 파일명.java - Javac –d ../bin Hello.java  타 패키지의 클래스 사용법 : import 및 절대경로명 - import java.io.*; or java.io.InputStream; ex: 세종시.종촌동.김지현 처럼 패키지 명이 진짜 이름임. 접근제어  접근 제어 수식어(access contro..
상속  상속이란?  이미 존재하는 클래스를 확장해서 새로운 클래스를 만드는 기술  기존 클래스가 가지고 있는 데이터 구조(필드)와 기능(메소드)을 그대로 물려받아서 사용하는 기술.  기존에 작성된 클래스를 재활용할 수 있다.  클래스 간의 계층적 관계를 구성함으로써 다형성의 문법적 토대를 마련.  extends 키워드 사용  class SubClass extends(확장) SuperClass{}  상속과 생성자  생성자를 통한 슈퍼 클래스 필드 초기화 방법  생성자가 있는 슈퍼 클래스 상속하는 방법  super  현재 객체의 바로 상위인 super클래스(부모클래스)를 참조할 수 있는 미리 정의된 상위 클래스의 객체변수.  부모 클래스로부터 상속 받은 필드나 메서드를 자식 클래스에서 참조..
자바 객체와 클래스 (시험범위.)  객체 지향 프로그래밍(OOP, Object Oriented Programming) 객체 지향 프로그밍에서는 모든 데이터를 객체(Object)로 취급하며, 이러한 객체가 프로그램의 중 심이 된다.  객체(여러 고양이들, 개들, 여거라지 객체들)  객체란 어떤 대상이 상태(state)와 행위(behavior)를 갖는 것.  소프트웨어 객체는 상태를 나타내기 위해 변수(variable)를 사용하며, 행위들은 메서드(method)로 표현된다.  클래스(고양이, 개 등등 객체의 묶음)  클래스는 상태와 행위가 같은 객체들을 대표하는 것.  객체의 상태를 나타내는 필드(field)와 객체의 행위을 나타내는 메서드(method)로 구성된다.  개념적(추상적)이며 종합적이다.  객체를 정의하는 모체(..