분류 전체보기 165

[DB] TCL(트랙잭션 제어어, Transaction Control Language)

트랜잭션이란?- an Atomic Unit of Work, Business Rule- 어떤 작업을 수행하는데 있어 분리될 수 없는 단계의 묶음- 작업의 단계 중 하나라도 실패하면 전체 작업이 실패 (All or Nothing) --------------------------------------------------------------------------------------------------------------COMMITDML 작업들이 문제가 없어서 데이터베이스에 영구적으로 반영 ROLLBACKDML 작업 중 문제가 있어 모든 변경사항을 없었던 일로 되돌림트랜잭션 시작 전으로 되돌림 SAVEPOINT트랜잭션의 중간으로 되돌릴 수 있도록 중간 지점 설정------------------------..

데이터베이스 2024.09.25

선언형(Declarative) 언어와 명령형(Imperative) 언어

Declarative Language (ex. SQL)해법을 정의하기보다는 문제를 설명하는 고급 언어무엇(What)을 할 것인지에 중점기능이 이미 갖춰져 있음매뉴얼해법을 정의하기보다는 문제를 설명하는 고급 언어무엇(What)을 할 것인지에 중점기능이 이미 갖춰져 있음(제품 또는 기능에 대한) 매뉴얼다수의 명령어Imperative Language (ex. C, Java, Python)프로그래밍의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명어떻게(How) 할 것인지에 중점기능을 구현해야 함도구소수의 명령어

데이터베이스 2024.09.25

[DB] 데이터의 종류

구조적 데이터 (정형 데이터)Structured Data테이블 형태(열과 행)로 정리된 데이터데이터 분석에 유리한 구조데이터베이스의 테이블, 엑셀의 워크시트, 장부/문서 등의 표CSV, TSV와 같은 구분자가 있는 텍스트 파일반구조적 데이터 (반정형 데이터)Semi-Structured DataSelf-Describing StructureXML - json보다 무거움JSON - 가볍고 데이터 교환에 자주 이용됨 (변형될 필요가 없는 텍스트 데이터이기 때문)비구조적 데이터 (비정형 데이터)Unstructured Data미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보소셜 데이터, 전자메일, 웹페이지, 위키, 사진, 영상, 소리 등

데이터베이스 2024.09.25

브루트 포스(brute force) 알고리즘

브루트포스 알고리즘은 완전탐색알고리즘의 하나이다.해가 존재할 수 있는 모든 경우의 수를 탐색하는 방법으로 '무식한' 알고리즘이라고도 할 수 있다. 브루트 포스의 구현 방법으로는 다음과 같은 것이 있다.순차 탐색 - 선형 구조를 전체적으로 탐색깊이 우선 탐색(DFS)  - 비선형 구조를 전체적으로 탐색너비 우선 탐색(BFS)  - 비선형 구조를 전체적으로 탐색백트랙킹(backtracking) - 해를 찾는 도중 해가 아니어서 막히면, 되돌아가서 다시 해를 찾아가는 기법  브루트 포스의 장점 - 예외가 없이 100%의 정확성 - 알고리즘의 설계와 구현이 간단 브루트 포스의 단점  - 메모리를 비효율적으로 사용  - 실행시간이 길다(시간복잡도가 높음)  >>> 백준의 1436번의 '영화감독 숌' 문제도 브루트..

Algorithm 2024.09.24

[Java] 오버플로, 언더플로, BigInteger

오버플로우(Overflow), 언더플로우(Underflow)가 발생해도 오류가 나지 않고 실행이 되기 때문에아주 큰 숫자나 아주 작은 음수를 다룰 때 주의 깊게 처리해야한다!!!---> BigInteger를 사용하는 방법도 있다.package basic.type;import java.math.BigInteger; // 큰 숫자를 다루기 위한 확장형 BigIntegerpublic class TypeEx02 { public static void main(String[] args) { int c =1234; long d = 123456; // 123456L : 자동형식변환 // 오버플로, 언더플로 System.out.println(Long.MAX_VALUE); // 9223372036..

Java 2024.09.24

[Java] 자바의 메모리 구조

메모리에 올릴 수 있는 것     →  숫자(정수, 실수) , 논리(true, false) , 문자 3가지뿐!!---------------------------------------------------------------------------------------------------------------------------스택- 기본형 (숫자, 문자, 논리형)이 저장됨- 힙 영역에 생선된 객체들을 참조하는 주소값이 할당됨 힙- 인스턴스 변수(객체)가 저장됨- new 연산자로 생성된 객체가 저장됨 Method(Static) 영역- 상수 풀... 전역변수와 정적 멤버변수가 저장됨

Java 2024.09.24

[Java] 리터럴(Literal)

long a = 12345678900;// 오류 발생 (int형으로 인식)// 리터럴을 사용해주어야 한다long b = 12345678900L;long c = 1324;// long형으로 변환됨고정된 값 자체를 표현할 때 사용하는 방법이다.문자열 및 정수, 실수 데이터 등을 표현할 수 있다.추가적으로 논리, 시퀀스, 매핑, None 등이 있다. 10int기본 정수형10L, 10llong 3.14double기본 실수형 (정밀도를 위해 권장)3.14ffloat "Hello World"string쌍따옴표'A'char홑따옴표   trueBoolean falseBoolean    null값 없음    0b10102진수 01448진수 0x6416진수

Java 2024.09.24

[Java] 자료형

기본형(Primitive type), 참조형(Reference type)으로 구분한다.기본형(Primitive type)종류자료형 크기 값문자char2byte유니코드정수형byte1byte-128 ~ 127short2byte-32768 ~ 32767int4byte-2147483648 ~ 21483647long8byte-9223372036854775808 ~ 9223372036854775807 실수형float4byte1.40239846E-45f ~ 3.40282347E+38fdouble8byte4.94065645841246544E-324 ~ 1.79769313486231570E+308 논리형boolean1bytetrue, false* double형의 크기가 float형보다 더 큼 ==> 정밀도가 더 큼!**..

Java 2024.09.24

[Java] 자바 첫걸음

코드를 텍스트 파일로 작성// HelloWorld.javapublic class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!!!"); }}※ 파일명 == "클래스명" + (확장자) ".java" (HellowWorld.java) DOS에서 경로로 이동해서 다음 명령 실행으로 컴파일한다.** Java Compile >> javacjavac HelloWorld.java그러면 경로 폴더안에 HelloWorld.class라는 바이트 코드로 컴파일된 파일이 생성된다. 이제 DOS에서 다음 명령으로 자바 프로그램을 실행할 수 있다. java HelloWorld결과 >> Hello World

Java 2024.09.23