Java2024. 2. 28. 13:52Java를 이용한 한국 휴대전화 번호 형식 확인 방법

프로그래밍을 하다 보면 다양한 형식의 데이터를 검증해야 할 때가 있습니다. 오늘은 Java를 사용하여 한국 휴대전화 번호의 형식을 확인하는 방법에 대해 알아보겠습니다. 휴대전화 번호 형식이란? 한국의 휴대전화 번호는 특정한 형식을 따릅니다. 보통 '010', '011', '016', '017', '018', '019' 등으로 시작하며, 전체 길이는 10자리 또는 11자리입니다. Java 코드를 이용한 검증 방법 우리는 Java에서 이러한 형식을 간단한 함수를 통해 검증할 수 있습니다. 아래는 그 예시 코드입니다: import java.util.Arrays; import java.util.List; public class..

Java2024. 2. 28. 13:50Java에서 전화번호 형식화 - 실용적인 예제

안녕하세요! 오늘은 Java에서 전화번호를 형식화하는 방법에 대해 알아보겠습니다. 이 예제는 실제 애플리케이션에서 유용하게 사용될 수 있는 코드로, 다양한 형태의 전화번호를 일관된 형식으로 변환하는 방법을 다룹니다. public static String toPhoneType(String arg) { if (arg == null || arg.length() 8) { phoneNumbers.add(formatPhoneNumber(phone)); } } return String.join(" | ", pho..

Java2024. 2. 6. 16:40자바 웹 애플리케이션을 위한 XSS 필터링

웹 애플리케이션 보안은 항상 중요한 주제입니다. 특히 크로스 사이트 스크립팅(XSS) 공격을 방지하는 것은 웹 개발자들에게 중요한 과제 중 하나입니다. 이번 글에서는 자바 웹 애플리케이션을 위한 XSS 필터링 방법 중 하나인 xxsFilter 함수에 대해 소개하고, 그 구현 방법을 알아보겠습니다. 기본 원리 xxsFilter 함수는 사용자로부터 입력받은 데이터에서 XSS 공격에 사용될 수 있는 스크립트나 키워드를 필터링하는 역할을 합니다. 이 함수는 주로 자바 기반의 웹 애플리케이션에서 요청 매개변수를 정화하는 데 사용됩니다. 소스 코드 해설 public static String xxsFilter(String str) { if(StringUtils.isNotEmpty(str)) { String filst..

Java2024. 2. 6. 16:28자바로 작성된 퓨니코드 소스

Punycode란? Punycode는 인터넷 도메인 이름에 사용되는 유니코드 문자열을 ASCII 문자만으로 구성된 문자열로 변환하는 인코딩 방식입니다. 이 방식은 유니코드 문자를 포함하는 국제화된 도메인 이름(Internationalized Domain Names, IDNs)을 지원하기 위해 사용됩니다. 이 코드의 주요 구성 요소 변수 선언: 클래스의 시작 부분에는 Punycode 인코딩에 사용되는 여러 상수들이 선언되어 있습니다. 이들은 Punycode 알고리즘의 핵심 파라미터로 작용합니다. encode 메소드: 유니코드 문자열을 Punycode로 인코딩하는 메소드입니다. 이 메소드는 기본 ASCII 문자를 그대로 두고 나머지 문자들을 특별한 형식으로 변환합니다. decode 메소드: Punycode로..

Java에서 HTML Select Box Options 생성하기
Java2024. 2. 2. 09:34Java에서 HTML Select Box Options 생성하기

개요 웹 애플리케이션에서 날짜를 선택하는 인터페이스는 사용자 경험의 중요한 부분입니다. 특히, 사용자가 특정 연도와 월을 선택해야 하는 경우, 효율적이고 직관적인 UI를 제공하는 것이 중요합니다. Java에서 HTML 박스의 태그를 동적으로 생성하는 방법을 알아봅시다. Java 메소드: generateSelectBoxOptions generateSelectBoxOptions 메소드는 시작 연도와 월부터 종료 연도와 월까지의 모든 조합을 태그로 생성합니다. 이 메소드는 웹 페이지에서 드롭다운 메뉴를 통해 날짜 범위를 선택할 때 유용합니다. 파라미터 설명 int startYear, int startMonth: 선택 범위의 시작 연도와 월. int endYear, int endMonth: 선택 범위의 종료 연..

Java2023. 12. 1. 09:26스프링부트에서 TTD를 적용하는 법

TDD는 "테스트 주도 개발"의 약자로, 소프트웨어 개발 방법 중 하나입니다. TDD의 핵심 아이디어는 코드를 작성하기 전에 테스트 케이스를 먼저 작성하고, 그 테스트 케이스를 통과하는 코드를 작성하는 것입니다. TDD는 주로 다음과 같은 세 가지 단계로 진행됩니다: 테스트 작성 (Test): 기능이나 모듈에 대한 테스트 케이스를 작성합니다. 이때 아직 해당 기능이나 모듈이 구현되지 않았으므로 테스트는 실패합니다. 코드 작성 (Code): 테스트를 통과하는 최소한의 코드를 작성합니다. 이때 목표는 테스트를 통과하는 코드를 작성하는 것이며, 최소한의 기능만을 구현합니다. 리팩토링 (Refactor): 작성한 코드와 테스트를 리팩토링하고, 코드의 구조를 개선합니다. 이때 리팩토링은 기능을 변경하지 않으면서 ..

Java2023. 11. 27. 14:13스프링부트 새로 만들시 자바11, 자바17 중에 어떤걸 선택해야 할까?

스프링 부트를 사용할 때 어떤 Java 버전을 선택해야 하는지는 몇 가지 고려해야 할 사항이 있습니다. 현재로서는 Java 11과 Java 17이 LTS(Long-Term Support) 버전으로 지원되고 있으므로 둘 다 안정적으로 사용할 수 있습니다. 선택은 프로젝트의 요구 사항, 팀의 선호도, 및 사용하려는 라이브러리 및 프레임워크의 호환성에 따라 다를 수 있습니다. 일반적으로, LTS 버전은 장기적인 안정성과 지원을 제공하므로, 프로덕션 환경에서 안정성이 중요한 경우에는 LTS 버전을 고려하는 것이 좋습니다. Java 11은 2018년 9월에 출시되었고, Java 17은 2021년 9월에 LTS로 출시되었습니다. 다음은 선택 시 고려해야 할 몇 가지 사항입니다: 프로젝트 요구 사항: 프로젝트의 요구..

Java2023. 3. 15. 11:32PlantUML 기본 예제 소스

PlantUML의 기본 예제는 다음과 같은 간단한 클래스 다이어그램입니다. @startuml class ClassName { -field1 : type +method1(param1 : type) : return_type } ClassName -- AnotherClass : Relationship @enduml 이 예제에서는 ClassName이라는 클래스를 정의하고, 그 안에 필드 field1과 메소드 method1을 추가합니다. AnotherClass라는 다른 클래스와의 관계도 표시하고 있습니다. 위 텍스트를 PlantUML 도구에 입력하면 간단한 클래스 다이어그램이 생성됩니다. PlantUML을 사용하려면 설치가 필요한 경우가 있습니다. 또는 웹 기반 편집기를 사용할 수도 있습니다. 예를 들어, 공식 ..

image