BACKEND 68

SQL 튜토리얼 - ORDER BY, INSERT INTO, NULL 이해하기

ORDER BY. 쿼리 결과를 정렬하는 데 사용 ORDER BY 절은 SELECT 문에서 마지막에 작성 결과를 특정 열을 기준으로 오름차순 또는 내림차순으로 정렬 SELECT column1, column2, ... FROM table_name ORDER BY column1, column2, ... ASC|DESC; SELECT * FROM Customers ORDER BY Country; -- 디폴트값은 오름차순 'A' -> 'Z' 순으로 정렬 SELECT * FROM Customers ORDER BY Country DESC; -- 내림차순 'Z' -> 'A' 여러 열 ORDER BY. 예시 1. "Customers" 테이블에서 모든 열을 선택하고, 먼저 "Country" 열을 기준으로 오름차순으로 정렬..

BACKEND/DATABASE 2023.06.16

SQL 튜토리얼 - SELECT, DISTINCT, WHERE, 비교/논리연산자 이해하기

SELECT. SELECT 문은 데이터베이스에서 데이터를 선택하는데 사용. 반환된 데이터는 결과 집합이라는 결과 테이블에 저장됨 SELECT column1, column2, ... -- 필드 이름 FROM table_name; -- SELECT * -- 모든 필드 선택 FROM table_name; SELECT DISTINCT. 고유한(서로 다른) 값만 반환하는데 사용 테이블 내부의 중복값을 제외한 고유값만 반환 SELECT DISTINCT column1, column2, ... FROM table_name; WHERE. 레코드를 필터링하는데 사용, 지정된 조건을 충족하는 레코드만 추출 SELECT column1, column2, ... FROM table_name WHERE condition; WHER..

BACKEND/DATABASE 2023.06.16

재귀 알고리즘 기초 이해하기

재귀란? 어떤 사건이 자기 자신을 포함하고 있거나 또는 자기 자신을 사용하여 정의하고 있을 때 이를 재귀적(recursive)이라고 합니다. 재귀적 정의를 사용하여 무한으로 존재하는 자연수를 정의한다면 - 1은 자연수입니다. - 자연수 n의 바로 다음 정수도 자연수입니다. 재귀를 효과적으로 사용하면 이런 정의뿐만 아니라 프로그램도 간결하게 작성할 수 있습니다. 팩토리얼 구하기. 재귀를 사용한 예로 가장 먼저 음이 아닌 정수의 팩토리얼(factorial) 값을 구하는 프로그램을 살펴봅시다. 음이 아닌 정수 n의 팩토리얼은(n!) 다음과 같이 재귀적으로 정의할 수 있습니다. - 0! = 1 - n > 0 이면 n! = n * (n-1)! 즉, 5! 은 5 * 4! 이고 4! 은 4 * 3! 입니다. impo..

Database 기본 용어, 특징 그리고 언어 종류

데이터베이스(Database). 체계화된 데이터의 집합으로, 여러 응용 시스템들이 공유하여 사용할 수 있도록 저장된 데이터의 집합 Table, Row, Column, Key. 파일 시스템 데이터베이스 모델링 관계형 데이터베이스 파일 시스템은 컴퓨터 시스템에서 파일을 구조화하고 저장하는 방식. 일련의 파일과 디렉토리로 구성되며, 파일에 데이터를 저장하고 읽고 쓸 수 있는 기능을 제공. 전통적으로 파일 시스템은 단일 컴퓨터에 사용되었으며, 파일 및 디렉토리의 계층 구조를 기반으로 함 데이터베이스 모델링은 현실 세계의 데이터를 추상화하고 표현하는 프로세스. 데이터베이스의 구조, 특성, 관계 등을 설계하기 위해 사용되며 개체(Entity), 속성(Attribute), 관계(Relationship) 등의 개념을 ..

BACKEND/DATABASE 2023.06.15

Database, DBMS, SQL 개념 이해하기

데이터, 정보, 지식, 지혜의 의미와 차이. 데이터(Data). 데이터는 단순히 사실이나 숫자, 기호 등의 원시적인 형태로 표현된 값들의 집합 데이터는 의미를 가지지 않으며, 가공되거나 해석되기 전에는 그 자체로 유용한 정보를 제공하지 않음 예) 트래픽 데이터 - 1초 동안의 전송된 패킷 수는 1000개라는 데이터 정보(Information). 정보는 데이터에 의미를 부여한 결과물로, 일련의 데이터가 가공되어 가지를 가지고 의미를 전달 할 수 있는 형태로 변환 된것이며 정보는 정확하고 유용한 내용을 제공해 결정을 내릴 수 있도록 도와줌 예) 트래픽 분석 결과 - 네트워크 부하가 높아지는 특정 시간대 라는 패턴을 발견했다면, 이는 정보 이 정보는 네트워크 관리자가 문제를 식별하고 조치를 취할 수 있도록 도..

BACKEND/DATABASE 2023.06.15

스택과 큐 - 스택이란?

스택(Stack)이란? 스택은 데이터를 일시적으로 쌓아놓는 자료구조로 데이터의 입력과 출력 순서는 후입선출(LIFO) 입니다. 가장 나중에 넣은 데이터를 가장 먼저 꺼냅니다. 스택에 데이터를 넣는 작업을 push라고 하며 꺼내는 작업을 pop이라고 합니다. 가장 상단의 값을 top이라고 하고 가장 아랫부분은 bottom이라고 합니다. 자바 프로그램이 실행 될 때도 이와 같은 방식으로 스택 구조에 의해 함수가 실행됩니다. 스택 만들기. 고정 길이 스택을 만들어 필드, 생성자, 메서드 순으로 살펴봅시다. package june2023.day11.stack; import java.util.Scanner; class IntStack { private int[] stack; private int capacity;..

제네릭(Generic) 프로그래밍 이해하기

제네릭 자료형 정의. 자바 제네릭(Generic)은 자바에서 도입된 타입 매개변수화 기능입니다. 제네릭을 사용하면 클래스나 메서드를 정의할 때 타입을 매개변수로 받아서 재사용할 수 있습니다. 이는 코드의 재사용성과 유연성을 높여줍니다. - 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정 할 수 있도록 선언 - 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식 - 컬렉션 프레임워크에서 많이 사용되고 있음 제네릭 자료형을 사용하는 예시. 술을 만들 때 다양한 재료를 기반으로 만들 수 있습니다. 와인은 포도, 맥주는 맥아를 주된 재료로 만들어 집니다. 이를 코드로 만들어 ..

BACKEND/JAVA 2023.06.11

자바 클래스 - Class 클래스

Class 클래스. 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일이 생성 됩니다. Class 클래스는 컴파일 된 class 파일을 로드하여 객체를 동적 로드하고, 정보를 가져오는 메서드가 제공됩니다. Class.forName("클래스 이름")메서드로 클래스를 동적으로 로드합니다. 우리가 모르는 클래스 정보를 사용할 경우에 Class 클래스를 활용합니다. Class 클래스를 선언하고 클래스 정보를 가져오는 방법은 다음과 같습니다. Class.forName("클래스 이름") 메서드 사용하기 Object 클래스의 getClass() 메서드 사용하기 클래스 파일 이름을 Class 변수에 직접 대입하기 class MyClass { } public class ClassClassTest { public..

BACKEND/JAVA 2023.06.11

인터페이스 여러가지 요소와 인터페이스의 상속

인터페이스의 여러가지 요소. 추상 메서드 (Abstract Methods). 인터페이스는 하나 이상의 추상 메서드를 선언할 수 있습니다. 추상 메서드는 구현 내용이 없으며, 인터페이스를 구현하는 클래스에서 반드시 구현되어야 합니다. 예: void method1(); 상수 (Constants). 인터페이스는 상수를 선언할 수 있습니다. 상수는 public, static, final로 선언되어야 하며, 인터페이스를 구현하는 클래스에서 상수를 사용할 수 있습니다. 예: public static final int MAX_VALUE = 100; 디폴트 메서드 (Default Methods). Java 8부터 도입된 개념으로, 인터페이스에서 메서드의 기본 구현을 제공할 수 있습니다. 인터페이스를 구현하는 클래스에서..

BACKEND/JAVA 2023.06.09

인터페이스와 다형성(DAO) 활용하기

인터페이스(Interface). 인터페이스(Interface)는 객체 지향 프로그래밍에서 클래스나 다른 인터페이스와의 상호 작용을 정의하는 추상 형태의 구조입니다. 인터페이스는 메서드, 상수 또는 추상 메서드의 집합으로 구성됩니다. 클래스가 인터페이스를 구현하면, 해당 클래스는 인터페이스에서 정의된 메서드를 모두 구현해야 합니다. 인터페이스는 다음과 같은 특징을 가지고 있습니다: 추상화: 인터페이스는 실제 구현을 갖지 않는 추상적인 개념입니다. 인터페이스는 어떤 클래스가 가져야 하는 메서드와 상수의 목록을 정의하며, 해당 클래스는 인터페이스를 구현하여 이를 실제로 구현해야 합니다. 다중 상속: 클래스는 하나의 클래스만 상속받을 수 있지만, 인터페이스는 여러 개의 인터페이스를 구현할 수 있습니다. 이를 통..

BACKEND/JAVA 2023.06.09