java

🚩 1. [Lv.0] 분수의 덧셈 📌 1-1. 문제 설명 두 분수의 합을 구하는 문제 구한 합을 기약 분수로 나타내고 분자와 분모를 순서대로 담은 배열을 반환 📌 1-2. 문제 풀이 📍 주어진 코드 두 분수의 분자(numer)와 분모(denom)를 인자로 받고 두 분수의 합을 int배열[분자, 분모] 로 반환한다. class Solution { public int[] solution(int numer1, int denom1, int numer2, int denom2) { } } 📍 통분하여 두 분수의 합을 계산 두 분모의 곱을 공통분모로 통분한다. int newNumer = numer1 * denom2 + numer2 * denom1; int newDenom = denom1 * denom2; 📍 유클리드..
🚩 1. 들어가며... 팀 프로젝트를 진행하면서 사용자의 입력을 검증하기 위해여 @Valid 어노테이션과 BindingResult 객체를 통해 간단한 검증을 수행하고 있었다. 하지만 태그 하나당의 글자 길이나 각 필드의 값을 서로 비교해야 하는 상대적으로 복잡한 검증이 필요했다. 그때 사용한 방법이 ' BindingResult'의 'rejectValue()' 메소드다. 이 둘을 적절하게 혼용하는 방법과 장단점에 대해서 포스팅할 것이다. 🚩 2. @Valid어노테이션 '@Valid' 어노테이션은 주로 사용자로부터 데이터를 처리하는 곳인 Controller 또는 Service계층에서 사용한다. 적용의 대상은 DTO나 Form클래스이며, 검사할 요청 파라미터 앞에 '@Valid'어노테이션을 붙여 유효성 검사를..
🚩 1. jQuery의 AJAX API $.get(url, data, function, dataType) GET방식 AJAX 요청을 서버로 보낸다. data에는 서버로 보내는 정보를 지정한다. GET 방식에서는 쿼리스트링으로 변환되어 서버로 보내진다. $.post(url, data, function,dataType) POST방식 AJAX 요청을 서버로 보낸다. data에는 서버로 보내는 정보를 지정한다. POST방식에서는 요청메세지으 바디부에 포함되어 서버로 보내진다. $.getJSON(url, data, function) GET방식 AJAX 요청을 서버로 보낸다. 서버가 응답으로 JSON을 보낼 때 사용한다. $.ajax({ type:요청방식, url:요청URL, contentType:요청메세지의 바디..
🚩 1. 리포지토리 인터페이스(Repository Interface)로 데이터 베이스 액세스 재사용 실현하기 📌 1-1. 인터페이스 정의 공통 리포지토리 인터페이스를 정의 이 인터페이스는 애플리케이션의 데이터 액세스 로직을 추상화하며, 메소드 시그니처를 제공 public interface MemberRepository { Member save(Member member); Optional findById(Long id); // ... 기타 메소드들 } 📌 1-2. JDBC 구현 MemberRepository 인터페이스를 확장하여 JDBC를 사용하는 구현체를 작성 public class JdbcMemberRepository implements MemberRepository { // ... JDBC를 사용하여..
📌 1. 자바 버전별 특징 자바는 여러가지 버전이 존재하고, 버전마다 주요한 기능들이 업데이트가 된다. 특히 8, 11, 17 버전은 LTS버전이기 때문에 많은 개발자들이 이용한다. LTS버전: 장기 지원 버전으로 안정성에 중점을 둔 버전으로, 최신 기능보다 안정성이 더 요구되는 곳에서 많이 쓰이며, 이용중인 다른 소프트웨어가 영향을 받는 것을 피하기 위해 기존의 버전을 유지하며 이용하기도 한다. LTS버전 기준으로 각 버전별 주요 기능을 알아보도록 한다. 📌 2. Java 8 람다 표현식: 함수형 프로그래밍을 지원한다. 코드를 간결하고 읽기 쉽게 만들어주는 기능이다. List names = Arrays.asList("가", "나", "다", "라", "마", "바", "사"); names.sort((o..
🚩 1. 내부 클래스(Inner Class) 내부 클래스는 클래스 안에서 정의된 클래스다. 내부 클래스의 종류는 인스턴스 내부 클래스, 스태틱 내부 클래스, 로컬 내부 클래스 그리고 익명 내부 클래스가 있다. 아래의 모든 내부 클래스의 코드를 가볍게 확인해보자. packge ### public class OuterClass { // 외부 클래스 private int x = 10; // 인스턴스 내부 클래스 public class InnerClass { public void printX() { System.out.println("Value of x is " + x); } } // 스태틱 내부 클래스 public static class StaticNestedClass { private int y = 20; ..
🚩 1. 들어가며... 객체 지향 프로그래밍(OOP)는 현대 소프트웨어 개발의 핵심이며, 이에 대한 이해는 모든 프로그래머에게 필수적이다! 자바와 같은 객체 지향 언어에서는 캡슐화, 상속, 다형성 추상화와 같은 기능들을 제공하여 객체 지향 프로그래밍이 가능하도록 만들고, 이에 따라 더 효율적이고 유지보수가 쉬운 코드를 작성할 수 있다. 이렇듯 자바의 중요한 핵심 개념들을 하나씩 짚어보고자 포스팅한다. 🚩 1. 객체 지향 프로로그래밍의 핵심 개념들 📌 1-1. 캡슐화 캡슐화는 객체의 상태를 외부의 접근으로부터 보호하고, 객체의 기능만을 외부에 노출하는 프로그래밍 기법이다. 프로그램의 유지 보수를 용이하게 하고, 오류의 가능성을 줄여준다. 접근 제어자(private, public, protected)를 사용..
❓1. 기술 부채란? 기술 부채(Technical Debt)는 소프트웨어 시스템의 설계 또는 구현등에서 사용하는 소프트웨어 엔지니어링에 관련한 은유적 표현이다. 이 단어는 컴퓨터 개발자인 워드 커닝햄(Ward Cunningham)에 의하여 처음 만들어진 단어다. (워드 커닝햄은 최초로 위키(Wiki)의 개념을 만들었다.) 금융업에서 말하는 부채와 같이 시간이 지남에 따라 이자가 누적되는 것처럼 기술 부채는 보통 코드의 완성도, 가독성, 유지 관리성, 확장성과 같은 장기적인 고려 사항보다 기한 준수 또는 비용 절감과 같은 단기 목표를 우선시할 때 발생한다. 빠른 개발을 위하여 지름길을 선택하거나 비용적인 면에서 무리하게 타협하기 위해 코드를 작성하다 보면 기술 부채가 늘어나게 되는 것이다. 🚩 2. 기술 ..
🚩 1. 자바의 연산자 📌 1-1. 산술 int a = 10 - 3;// 7 int b = 10 + 3;// 13 int c = 10 * 3;// 30 int d = 10 / 3;// 3 타입이 int이기 때문에 소숫점자리의 값은 버려진다. int e = 10 % 3;// 1 📌 1-2. 부호 // 각각의 변수에 양수 혹은 음수를 나타낼 때 int a = + 10;// 10 사실상 여기에선 +부호가 생략되어도 된다. int b = - 10;// -10 // 이미 할당된 변수의 양수 혹은 음수 값을 바꿀 때 int a = 10; a = -a; // a의 값은 이제 -10 int b = -20; b = -b; // b의 값은 이제 20 📌 1-3. 문자열 String a = "안녕"; String b = "..
🚩 1. 자바의 데이터 타입이란? 자바의 데이터 타입은 변수에 저장되는 값의 종류와 크기를 정의하는 역할을 한다. 데이터 타입은 변수 또는 표현식이 메모리에 할당될 때, 어떤 종류의 데이터를 저장할 수 있는지를 결정한다. 자바는 기본형 데이터 타입과 참조형 데이터 타입으로 나뉜다. 기본형 데이터 타입은 실제 값을 저장하고, 참조형 데이터 타입은 객체의 주소를 저장한다. 📌 1-1. 기본 데이터 타입(Primitive) 기본 데이터 타입(원시 데이터 타입)은 변수에 직접 값을 저장하는 데이터 타입이다. 변수가 실제 값을 가지고 있으며, 해당 값을 직접 조작할 수 있다. 특징 변수에는 실제 값이 저장되고, 메모리 상에서 해당 값을 직접 보관한다. 고정된 크기를 가지며, 메모리 사용이 효율적이다. 연산이 빠르..
모험가 죠
'java' 태그의 글 목록 (2 Page)