데이터베이스 사용의 의미 데이터 사용자가 데이터를 저장하는 곳에 직접 접근하지 않고 , 모든 것들은 데이터베이스에 일임해서 실질적으로 데이터에 접근하는 건 데이터베이스만 가능하도록 만든것이 데이터베이스의 사용의미이다. 즉, 데이터 사용과 데이터 관리 영역을 분리하여 바로 넘나들지 못하도록 못하도록 만든 것이 큰 의미이다. 데이터베이스의 특징 1. 데이터베이스 시스템의 자기 기술성 ▶ 데이터와 데이터의 정의 및 설명(메타데이터)을 포함 2. 프로그램과 데이터의 격리 및 추상화 ▶ 사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상 3. 다중 뷰 제공 ▶ 각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능 제공 4. 데이터 공유와 다수 사용자 트랜잭션 처리 ▶ 다수의 데이터 조..
선택구조 선택구조의 구문형식 - 구문형식 → 들여쓰기는 코드 블럭을 표현 → 특정 동작을 수행하는 한 라인 이상의 명령문 집합 → 스페이스 4칸 권고 (PEP-8) if 불리언식 : 명령문 1 명령문 2 선택구조의 실행흐름 → if 라는 선택구조에 의해서 명령문이 실행될수도 , 안될 수도 있다. 불리언식 - 비교연산자를 사용하여 결과가 불리언 타입으로 생성되는 표현식 불리언 타입 - 논리값이 참(True) 과 거짓 (False)의 값만 표현할 수 있는 데이터 타입 → True 또는 False 예약어를 사용하여 표현 → 비교 연산자를 사용한 표현식의 결과로 생성 원뿔 계산 프로그램 개선 - 기존 코드 # 반지름 사용자 입력 rad = int(input("반지름을 입력하세요 : ")) # 높이 사용자 입력 ..
제어구조의 이해 구조적 프로그래밍 패러다임 - 절차적 프로그래밍 패러다임의 하위개념 - goto문을 사용하지 않고 프로그램을 3가지 제어만으로 구성하는 프로그래밍 패러다임 → 순차 (sequence) 구조 → 선택(selection)구조 → 반복(interation) 구조 - 프로그램 실행흐름이 간결하고 작은 규모로 조직화하기 쉬움 순차구조 설계 > 생산 > 조립 - 실행의 흐름을 주어지는 명령의 위치적 흐름에따라 수행하는 구조 → 명령 라인 위에서 아래로 흐르는 가장 직관적인 구조 선택구조 검사 > 정상 ? > 배송 > 불량 ? > 재생 - 특정 영역 내의 명령문에 대한 실행 여부를 프로그램 실행 과정 중 결정하는 구조 → 실행 여부는 조건에 따라 결정 반복구조 설계 > 배송 > 설계 > 배송 > 설계..
프로그래밍 기초 숫자와 문자 숫자 - 정수(integer) : 소수점이 없는 숫자 - 실수(floating point) : 소수점이 포함되는 숫자 문자 - 유니코드(unicode) 기반 문자 또는 문자열 - 인용부호 " 또는 '를 사용하여 표 >> 문자가 하나이든, 여러개이든 파이썬에서는 모두가 문자타입 * unicode? → ASCII 코드 표는 실제 영국, 미국에서 사용하는 영문자와 특수기호만을 다룬다. 그 외 한글, 일본어, 중국어 등 영문자 외의 다른 나라의 언어들에도 별도의 코드표가 필요한데, 전 세계의 모든 문자들을 표현하기 위해 가변길이의 4byte로 문자를 표현하는 코드 체계를 유니코드(unicode) 라고 하며, 파이썬 3.0 부터는 모든 문자를 유니코드로 처리한다. 기본연산자와 표현식 ..
ls -l - 리눅스 시스템의 모든 파일과 디렉터리에는 접근권한(permission)과 소유권(ownership)이 부여된다. - 명령어 ls -l 은 파일 속성을 나타낸다. ls -l 명령어를 입력하면 위와 같이 파일 속성이 나온다. 예시로 파일 하나만 뽑아서 살펴보도록 하자 ! drwxr-xr-x@ 7 oyoon staff 224 12 7 2022 IdeaProjects 1. drwxr-xr-x - 파일 허가권(permission) - 파일 유형과 파일 접근 권한으로 구성 2. 7 - 물리적 파일 연결 개수 3. oyoon - 파일 소유자 명(USer Ownership) 4. staff - 파일 소유 그룹 명 (Group Ownership) 5. 224 - 파일 크기 (바이트 단위) 6. 12 7 2..
개요 배치 작업을 맡고 난 뒤 35만건 까지는 mybatis 문으로 어떻게든 만회했으나.. 4000만건 이상의 데이터를 배치작업 해야할수도 있는 상황이 생겨서 트랜젝션 관련 고민을 하게 되었다. 그래서 모든 동작이 끝나고 난 뒤 commit 하는 방식 대신, 수동으로 만들어서 for문 돌면서 insert 해줄때마다 commit을 수동으로 해주는 방법을 해야겠다고 생각했다. 1차로 작성한 코드 public Boolean excuteJob (){ Boolean result = false; List exampleVo = new ArrayList(); try{ mybatisEdbConfig.edbSqlSessionTemplate().getConnection(); deleteMenualTransactionExam..