Programing Language

Programing Language/Java

Lambda Expression

Lambda Expression람다식이란 함수를 하나의 식으로 표현한 것이다.  함수를 람다식으로 표현하면 메소드의 이름이 필요없기 때문에, 익명 함수의 한 종류라고 볼 수 있다.  // 람다 방식(매개변수, ... ) -> { 실행문 ... }// 예시() -> "Hello World!"; 해당 람다식을 통해 다음과 같은 장점을 얻을 수 있다. 불필요한 코드를 줄이고, 가독성을 높힘함수를 만드는 과정없이 한번에 처리가능하여 생산성 증대병렬 프로그래밍에 용이  Java에서 제공하는 함수형 인터페이스Java에서는 자주 사용될 것 같은 함수형 인터페이스가 이미 정의되어 있다.   Supplier 매개변수 없이 반환값만 갖는 함수형 인터페이스이다. get() 함수를 이용하여 함수를 실행한다.// 정의@Func..

Programing Language/Java

Enum

최근 프로젝트를 진행하다가 "이건 Enum으로 빼서 처리하면 좋을 것 같은데요?"라는 조언을 들었다. Enum을 자바 공부하면서 들어보긴 했는데 어떠한 점이 좋은지, 어떻게 쓰면 되는지에 대해서는 명확하게 잘 알지는 못하기에 오늘은 Java의 Enum에 대해서 알아보고자 한다.   EnumEnum은 Enumeration의 약자로 열거, 목록의 뜻을 가지고 있으며 "상수의 데이터 집합"이라고 생각하면 된다. 일반적으로 상수를 정의하는 방법은 여러 가지가 존재하는데 이는 다음과 같다.  final 상수변수를 final 제어자를 이용해 변수를 상수화 한다. 동시에 static을 사용하여 메모리에 한 번만 할당 되게 설정한다는 장점을 가지지만 접근 제어자들 때문에 가독성이 좋지 못하다는 단점이 있다. priva..

Programing Language/Java

Optional

오늘은 Optional에 대해서 알아보자 OptionalJava8에서 나온 문법으로 NullPointerException(NPE)을 방지하도록 도와주는 클래스이다. Optional 을 이용하여 사용할 수 있으며 null이 올 수 있는 값을 감싸는 Wrapper 클래스로 나타낸다. 아래 코드와 같이 값을 저장하기 때문에, 참조하더라도 NPE가 발생하지 않도록 도와준다.public final class Optional { // If non-null, the value; if null, indicates no value is present private final T value; ...}  사용방법Optional.empty() : 값이 null인 경우Optional은 Wrapper 클래스이기 때문에..

Programing Language/Sql

SQL 숫자 처리

이번에는 SQL의 숫자 처리 기능에 대해 알아보고자 한다.   반올림, 올림, 버림 (ROUND, CEILING, FLOOR)ROUND : 반올림을 할 때 사용한다. ROUND(NUMBER, 소수점으로 나타낼 숫자 영역)-- 예ROUND(234.123, 2) -> 234.12 CEILING : 올림을 할 때 사용한다.CEILING(87.8) -> 88 FLOOR : 버림을 할 때 사용한다.FLOOR(87.8) -> 87 주의점 : CEILING, FLOOR 함수는 항상 정수를 반환한다는 점을 잊지 말자      최대, 최소 (MAX, MIN)MAX : 해당 칼럼에서 최대 값을 가져올 때 사용한다. MAX(COLUMN) MIN : 해당 칼럼에서 최소 값을 가져올 때 사용한다. MIN(COLUMN)

Programing Language/Sql

SQL 날짜 처리

이번에는 SQL을 통해 날짜를 처리하는 방식에 대해서 다뤄보고자 한다.  날짜 출력 (DATE_FORMAT)SQL에서는 날짜를 다루는 포맷 함수를 제공한다. select date(date) date_type, datefrom payments 해당 데이터 포맷을 다루기 위해서는 아래 조건을 사용하면 된다.년 : Y (4자리), y(년도 끝 2자리)월 : M, m일 : d, e요일 : wselect date(date) date_type, date_format(date(date), '%Y') "년", date_format(date(date), '%m') "월", date_format(date(date), '%d') "일", date_format(date(d..

Programing Language/Java

Stream

오늘은 Java Stream에 대해서 알아보고자 한다.   Stream스트림(Stream)이란 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소로 정의 할 수 있다. 데이터 처리 연산 : 스트림은 함수형 프로그래밍 언어에서 일반적으로 지원하는 연산(filter, map, reduce, find, match, sort...) 등으로 데이터를 조작할 수 있으며, 스트림 연산을 데이터를 순차적으로 또는 병렬적으로 실행 할 수 있다. 소스 : 스트림은 컬렉션, 배열, I/O 자원 등의 데이터 제공 소스로부터 데이터를 소비한다. 정렬된 컬렉션으로 스트림을 생성하면 정렬이 그대로 유지된다. 연속된 요소 : 컬렉션과 마찬가지로 스트림은 특정 요소 형식으로 이루어진 연속된 값 집합의 인터페이스를 제공한다. 컬..

Programing Language/Sql

SQL 정리

SELECT, FROM어떤 테이블에서 데이터를 가져올 때 사용한다. select * from 테이블select 컬럼 from 테이블select 컬럼1, 컬럼2 from 테이블 때로는 칼럼을 뽑았을 때, 사용하는 명칭과 다를 때가 있다. 이때는 칼럼 명에 별명을 지정하여 변경할 수 있는데 2가지 방법이 존재한다. 별명을 지을 때 주의점은 특수문자나 한글이 별명 안에 있을 경우 큰 따옴표 안에 적어주어야 한다. 칼럼 1 as 별명 1칼럼 2 별명 2select order_id as ord_no, restaurant_name "식당 이름" from food_orders     WHERE데이터 중에 특정 조건을 필터링할 때 사용한다. 문자를 사용할 때에는 작은따옴표를 사용한다. select * from cust..

Programing Language/Java

Thread (수정중)

오늘은 자바를 이용한 Thread 프로그래밍에 대해서 알아보고자 한다.   프로세스 vs 쓰레드프로세스 : 운영체제로 부터 자원을 할당받는 작업의 단위쓰레드 : 프로세스가 할당받은 자원을 이용하는 실행의 단위 쉽게 이야기하면 프로세스는 실행중인 프로그램을 의미하며, 이런 프로그램은 OS위에서 실행된다. OS는 프로그램 실행을 위한 프로세스를 할당해줄때, 프로세스 안에 프로그램 Code와 Data 그리고 메모리영역(Stack, Heap)을 함께 할당해준다. Code : Java main 메소드와 같은 코드 Data : 프로그램이 실행 중 저장 할 수 있는 저장 공간(전역변수, 정적변수, 배열 ..)Memory(메모리 영역) : Stack: 지역변수, 매개변수 리턴 변수를 저장하는 공간Heap: 프로그램이 ..

Programing Language/Java

String 객체

오늘은 자바의 String 클래스에 대해서 정리하고 관련 알고리즘 문제를 해결 할 때 쓰는 패턴들을 정리해보고자 한다.    java String 아래는 java String 객체에서 사용할 수 있는 메소드와 기능을 정리한 표이다. 여기서 몇가지 헷갈리는 점을 몇개 체크해 보자면 아래와 같다. python에서 문자열을 접근할때 string[0] 처럼 인덱스 접근이 안되고, charAt()을 통해 접근한다. java collection에서 객체 배열의 길이는 size() String에서 길이는 length()로 구한다.문자열 함수설명참고equal해당 함수는 문자열 간의 “대소문자를 구분”하여서 비교하여 진위형(true/false)값으로 반환을 해주는 함수입니다.단, String과 StringBuffer간의..

JHeaon
'Programing Language' 카테고리의 글 목록