본문 바로가기
728x90
반응형

분류 전체보기279

[Java] Gson이란? 💡Gson은 Java 객체를 Json 형식으로 변환하는데 사용할 수 있는 Java 라이브러리 이다. Gson은 Google에서 제공하는 java용 Json 라이브러리로, Java 객체를 Json 형식으로 직렬화(serialize), Json 형식의 데이터를 Java 객체로 역직렬화(deserialize)를 간단하게 할 수 있게 해준다. Gson을 사용하기 위해서는 라이브러리를 추가해줘야 한다. # Gradle dependencies { implementation 'com.google.code.gson:gson:2.10.1' } # Maven com.google.code.gson gson 2.10.1 Java 객체 -> Json 형식 직렬화 import com.google.gson.Gson; public .. 2023. 9. 24.
[CS] Regular Expression. 정규 표현식 💡정규 표현식이란? 정규 표현식(Regular Expression, RegExp)은 문자열에서 특정한 규칙(패턴)을 갖는 문자열을 찾거나, 대체하거나, 추출하는 데 사용되는 문자열 패턴의 표현 방법이다. 특징 - 일반적으로 텍스트 검색과 문자열 처리에 사용되며, 다양한 프로그래밍 언어에서 지원된다. - 특정한 패턴을 나타내는 문자열을 일괄적으로 처리하거나, 특정한 패턴에 대한 검색 또는 추출을 쉽게 수행할 수 있다. 문자 정규 표현식에서는 다양한 문자를 조합하여 표현할 수 있다. 1. 일반문자 a, b, c, ..., z, A, B, C, ..., Z: 알파벳 소문자와 대문자 0, 1, 2, ..., 9: 숫자 _, -, ., +, 등: 기호 2. 메타문자 . (점): 어떤 문자 하나와 일치합니다. (별.. 2023. 9. 23.
[CS] Garbage Collection. 가비지 컬렉션 💡가비지 컬렉션(Garbage Collection) 이란? 프로그램에서 동적으로 할당된 메모리 중에서 더 이상 사용하지 않는 메모리를 탐지하고 해제하는 자동화된 메모리 관리 기술이다. 사용 이유 프로그램에서 메모리를 사용하다보면, 메모리를 해제하는 코드를 작성하지 않으면 사용되지 않는 메모리가 계속 쌓여서 메모리 누수(Memory leak)가 발생할 수 있다. 이러한 문제를 해결하기 위해서 가비지 컬렉션은 필수적이다. 가비지 컬렉션은 프로그램에서 사용 중인 메모리 영역에서 더 이상 사용하지 않는 객체(인스턴스)를 탐지하고, 자동으로 해당 객체가 차지하고 있는 메모리를 해제한다. 이 과정에서 프로그램이 일시 중단되는 시간(Stop the World)이 발생할 수 있으며, 이 시간이 길어지면 성능 문제가 발.. 2023. 9. 23.
[SQL] SQL Cookbook - 04.삽입, 갱신, 삭제 1. 새로운 레코드 삽입하기 모든 열을 추가할 때는 열 목록을 생략할 수 있다. # 단일 행 삽입 insert into dept (deptno, dname, loc) values (50, 'PROGRAMING', 'BALTIMORE') # 여러 행 삽입 insert into dept (deptno, dname, loc) values (1, 'A', 'B'), (2, 'B', 'C') 2. 기본값 삽입하기 default를 명시한 열은 insert시 값을 지정하지 않으면 디폴트 값으로 저장된다. # default create table D (id integer default 0, foo varchar(10)) insert into D (name) values ('Bar') 3. null로 기본값 오버라이딩하.. 2023. 9. 18.
[Language] Compile과 Interprete의 개념과 차이 컴퓨터는 0 / 1(전류가 입력되면 1, 없으면 0)로 밖에 판단할 수 없다. 그렇기 때문에 개발자가 작성한 소스코드를 0과 1로 구성된 기계어(binary code)로 변환해 줘야 컴퓨터가 코드를 이해하고 실행할 수 있는데 코드를 기계어로 변환하는 방법에는 compile, interpret 두 가지가 있다. 컴파일러 (Compiler) Compile은 번역하면 '집대성'이라고 한다. 즉, 여럿을 모아 하나로 크게 완성하는 것이라는 뜻이다. 컴파일러는 소스코드를 모아서(묶어서) 미리 컴파일(번역)해 두었다가 한번에 실행한다. C, C++, C#, JAVA 등 장점: 한번 스캔을 마치면 실행파일을 만들어 놓고 계속 사용하기 때문에 인터프리터보다 실행속도가 빠르다. 컴파일 과정에서 오류를 검출할 수 있기 때.. 2023. 9. 17.
[Java] JVM - JRE - JDK 📌JVM, JRE, JDK의 이해와 관계 JVM (Java Virtual Machine) jvm이란 자바 가상 머신으로 자바 프로그램 실행환경을 만들어주는 소프트웨어이다. 프로그램을 실행하기 위해서는 개발자가 작성한 코드를 컴파일을 통해 컴퓨터가 이해할 수 있는 기계어로 번역하는 과정을 거쳐야 한다. 만약 C언어로 개발한 프로그램을 윈도우에서 사용하려면 .exe 로 컴파일하여 실행시킬 수 있다. 하지만 해당 프로그램을 리눅스나 맥 등 다른 운영체제에서 사용하려면 다시 실행할 운영체제에 맞는 파일로 컴파일 해줘야 한다. Example > 하지만 Java는 코드를 자바 컴파일러를 통해 Java Bytecode로 .class 확장자를 가지는 파일로 변환하여 각 운영체제에 설치되어 있는 JVM에 전달하기만 하면.. 2023. 9. 17.
[Java] Optional 클래스 java.util.Optional은 Java 8에서 도입된 클래스로, 값이 존재하지 않을 수 있는 상황에 사용하면 NullPointerException을 방지하고 코드를 더 안전하게 만들 수 있다. 즉, 값이 존재하는 상태(NOT NULL)와 값이 존재하지 않는 상태(NULL)를 체크하며 에러를 발생시키지 않고 예외처리를 통해 코드의 안전성을 높인다. Optional 문법 사용 방법 1. Optional 객체 생성 : Optional.of(value): 만약 값이 null이라면 NullPointerException이 발생. Optional.ofNullable(value): 값이 null인 경우 빈 Optional을 반환. Optional optionalWithValue = Optional.of("Hell.. 2023. 9. 11.
[Java] Builder Pattern과 Method Chaining 빌더 패턴 (builder pattern) Java에서의 빌더 패턴(Builder Pattern)은 객체 생성 과정을 더 직관적이고 유연하게 만들기 위한 디자인 패턴이며, 주로 객체의 생성 과정이 복잡하거나 매개변수가 많을 때 사용된다. 특징 객체의 생성과 구성을 분리한다. 가독성이 높아진다. 메서드 이름을 통해 생성되는 객체의 구성 요소를 명확히 알 수 있다. 필수적인 매개변수와 선택적인 매개변수를 구분할 수 있다. 객체의 불변성을 보장할 수 있다. 메서드 체이닝 (method chaining) Method chaining은 객체의 메서드를 연이어 호출하는 프로그래밍 패턴을 말한다. 이 패턴을 통해 한 줄에 여러 메서드를 호출하여 객체를 설정하거나 조작할 수 있다. Method chaining은 코드의.. 2023. 9. 11.
[Uml] Class Diagram. 클래스 다이어그램 Unified Modeling Language (UML)의 Class Diagram(클래스 다이어그램)은 소프트웨어 시스템의 구조를 시각적으로 표현하는 모델링 도구이다. Class Diagram은 시스템의 클래스, 인터페이스, 관계 등을 나타내어 시스템을 이해하고 설계하는 사용된다. 주요 구성 요소 클래스 (Class) : 시스템 내의 객체를 나타냅니다. 클래스 이름은 위에 표시되고, 클래스의 속성과 메서드가 아래에 나열됩니다. 클래스는 일반적으로 직사각형으로 표현되며, 클래스 이름이 맨 위에 위치합니다. 속성 (Attribute) : 클래스가 가지는 특징이나 데이터를 나타냅니다. 일반적으로 변수의 형태로 표현됩니다. 속성은 클래스의 내부 상태를 나타냅니다. 메서드 (Method) : 클래스가 수행하는 .. 2023. 9. 11.
728x90
반응형