Backend/Java Example 5

자바에서 줄바꿈 \n 개행문자 치환하는 예제

개행문자(newLine) 개행문자는 컴퓨터에서 줄바꿈을 나타내는 제어 문자를 말하며, 줄바꿈문자라고도 부른다. 개행문자에는 크게 두가지 종류가 있다. LF (new Line Feed) 라인피드, 뉴라인으로 부르며, 커서를 한 칸 아래로 이동해 새로운 라인을 추가한다. \n 아스키코드 : 10 CR (Carriage Return) 캐리지리턴, 리턴으로 부르며, 커서를 맨 왼쪽으로 이동(시작 위치로 복귀)한다. 엔터키와 동일하다. \r 아스키코드 : 13 개행문자는 운영체제마다 다름 윈도우 : CRLF (\r\n) 맥 : CR (\r) 유닉스 : LF (\n) 자바 개행문자 사용하기 자바에서 개행을 처리할 때 \r\n 으로 처리하는 것이 가장 간단한 방법이긴 하지만, 개행문자는 운영체제별로 다르게 처리될 수..

Java에서 jsoup을 이용하여 HTML parsing 하기

자바에서 jsoup 라이브러리는 HTML 문서를 파싱 하여대부분의 사이트의 원하는 정보만 뽑아낼 수 있는 라이브러리이다. 파이썬의 BeautifulSoup와 비슷한 기능이다.jsoup 라이브러리 추가(pom.xml) org.jsoup jsoup 1.15.3 파싱할 대상 페이지 찾기w3schools 사이트에서 상단 메뉴에 나열된 프로그래밍 언어 목록을 파싱 하여 가져오려고 한다. F12로 개발자도구를 열어 메뉴를 선택해서 가져올 selector 키워드를 찾는다. 태그로 감싸져 있는 목록을 가져올 것이다. 참고로 홈페이지가 리뉴얼되어 모양이 바뀌면 selector 역시 바뀔 수 있다. Parser 클래스HTML을 파싱 하여 페이지 정보를 가져올 클래스를 작성하자. selector 변수는 CSS selecto..

Java에서 Generator 규칙에 따라 거래코드 만들기 (SecureRandom 난수 생성)

거래코드 생성 규칙이 아래와 같다고 가정하자. => 거래날짜yyyyMMdd(8)+난수(10) Generator 파일을 만들어서 타 서비스에서 거래코드를 쉽게 가져다 쓸 수 있도록 소스를 만들어보았다. 이때 난수는 SecureRandom 클래스를 이용해서 알파벳, 숫자내에서 랜덤으로 10자리 생성된다.Generator.javaimport java.security.SecureRandom; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Generator { private final static String CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr..

Java에서 UUID를 이용해서 난수 생성하기 (feat. SecureRandom)

UUID UUID (Universally Unique Identifier) 는 말그대로 범용 고유 식별자로 사용할 수 있는 ID를 말한다. 보통 다른 값과 중복되지 않는 유니크한 값을 생성해야 할 때 사용하는데, 예를 들어 세션 식별자, 쿠키 값, 무작위 데이터베이스 키 등에 사용하곤 한다. UUID를 통해 생성된 난수는 중복될 수도 있다. 하지만 중복되는 확률이 굉장히 희박해서 사실상 중복이 아니라고 볼 수 있는 셈이다. UUID를 활용한 예제를 보자. import java.util.UUID; public class Sample { public static void main(String[] args) { UUID uuid = UUID.randomUUID(); System.out.println(uuid...

Java에서 서버 호스트(host) 정보 가져오는 법

로컬, 개발, 운영 서버간 다르게 동작을 처리해야 할 경우가 있다. 이럴 때 InetAddress.getLocalHost()를 이용하여 호스트 정보를 가져와서, 로컬 서버인지 구분할 수 있다. 호스트 정보 가져오는 예제 import java.net.InetAddress; import java.net.UnknownHostException; import lombok.extern.slf4j.Slf4j; public class Sample { public static void main(String[] args) { System.out.println("호스트 정보 : " + getHostInfo()); } public static String getHostInfo() { String hostName = ""; S..