본문 바로가기

전체 글

(229)
정규식 개념 : 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 언어형식. 전화번호, 주민등록번호, 이메일 등과 같이 정해져있는 형식이 있고 사용자가 그 형식대로 제대로 입력했는지 검증을 해야 하는 경우가 종종 있다. 이런 입력값을 정해진 형식에 맞는지 검증해야 할 때에는 정규표현식을 사용하면 쉽게 구현할 수 있다. Pattern 클래스 정규표현식에 대상 문자열을 검증하는 기능은 Pattern 클래스의 matches() 메소드를 활용하여 검증할 수 있다. matches() 메소드의 첫번째 매개값은 정규표현식이고 두번째 매개값은 검증 대상 문자열이다. 검증 후 대상문자열이 정규표현식과 일치하면 true, 그렇지 않다면 false값을 리턴한다. package regular; import java.util...
synchronized 멀티스레드를 잘 사용하면 프로그램적으로 좋은 성능을 낼 수 있지만, 멀티스레드 환경에서 반드시 고려해야할 점인 스레드 간 동기화라는 문제는 꼭 해결해야 한다. 예를 들어 스레드 간 서로 공유하고 수정할 수 있는 data가 있는데 스레드간 동기화가 되지 않은 상태에서 멀티스레드 프로그램을 돌리면, data의 안정성과 신뢰성을 보장할 수 없다. 따라서 data의 thread-safe를 하기 위해 자바에서는 synchronized 키워드를 제공해 스레드간 동기화를 시켜 data의 thread-safe를 가능케한다. 자바에서 지원하는 synchronized 키워드는 여러 개의 스레드가 한 개의 자원을 사용하고자 할 때, 현재 데이터를 사용하고 있는 해당 스레드를 제외하고 나머지 스레드들은 데이터에 접근할 수 없..
사용자 정의 메소드 jQuery 객체에 사용자 정의 메소드를 추가하여 사용하는 방법 $.fn 우리는 다음과 같이 jQuery를 통해 미리 제작된 다양한 메소드를 간편하게 사용하고 있었다. $("button").eq(0).text("첫 번째 버튼"); 이렇게 jQuery.Selector를 이용하는 메소드를 추가하려면 $.fn.메소드명을 통해 추가하면 된다. 다음 소스코드는 서버에서 특정 문자열이 XSS 필터링되어 변환된 문자열을 다시 복원하는 메소드의 예시이다. (& 문자열 다음의 띄어쓰기는 티스토리에서 자동으로 치환하여 의도된 띄어쓰기이다.) 보는 바와 같이 input 또는 textarea 태그일 경우 해당 기능을 수행한다. 메소드 바디안에 this 키워드가 가리키는 부분은 $("셀렉터")를 통해 들어온 jQuery Obj..