dev. (140) 썸네일형 리스트형 [DB기초] 트랜잭션(Transaction) 이란? 트랜잭션이란? 트랜잭션(Transaction)은 데이터베이스 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한번에 모두 수행되야야 하는 일련의 연산을 의미 합니다. 트랜잭션의 특징 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위 트랜잭션의 특성 Atomicity(원자성) Consistency(일관성) Isolation(독립성, 격리성) Durablility(영속성, 지속성) Atomicity 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 합니다. 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않.. [Oracle/SQLD 공부] Nested Loop Join, Sorted Merge Join, Hash Join 오라클 옵티마이저 : SQL을 위한 최적의 실행계획을 생성하는 알고리즘 RDBMS에서는 정규화에 의해 연관된 데이터를 여러개의 테이블로 나누는데 원하는 형식의 데이터를 받아오기 위해 Join을 통해서 테이블을 연결해서 받아옵니다. 데이터베이스 내부적으로 어떻게 조인을 하는지 아래 3가지 방식에 대해 정리해보겠습니다. Nested Loop Join Sorted Merge Join Hash Join Join에서는 driving table 과 driven 테이블이 있습니다. 실행계획에서 먼저 실행되는 테이블이 driving table이고 나중에 실행되는 것이 driven 테이블입니다. 1. Nested Loop Join의 특징 두개의 테이블의 행을 각각 모두 확인하여 조인하는 방법 (중첩된 for문 느낌) d.. [Java] request.getRequestURI(), request.getContextPath() 등 url 주소 가져오는 함수 ex) http://localhost:8080/myWeb/mvc/message.do (위 주소를 사용해서 url 주소를 얻어오겠습니다.) request.getContextPath() : 프로젝트 path 출력 : /myWeb request.getRequestURI() : 프로젝트 + 파일경로 출력 : /myWeb/mvc/message.do request.getRequestURL() : 전체 경로 출력 : http://localhost:8080/myWeb/mvc/message.do request.getServletPath() : 파일명 출력 : /mvc/message.do request.getRealPath("/WEB-INF") : 서버 또는 로컬의 절대경로 출력 : C:\pmProject\myJSP\.m.. 객체지향(OOP) 과 절차적 프로그래밍(PP) 절차적 언어와 객체지향 언어를 나누는 기준 1. 캡슐화, 다형성, 클래스 상속을 지원하는가? 2. 데이터 접근 제한을 걸 수 있는가? 절차적 프로그래밍 & 객체지향 프로그래밍 절차적 프로그래밍 장점 객체나 클래스를 만들 필요 없이 바로 코딩할 수 있다. 필요한 기능을 함수로 만들기 때문에 같은 코드를 복사하지 않고 호출하여 사용할 수 있다. 프로그램의 흐름 추적이 쉽다. 절차적 프로그래밍 단점 각 코드가 매우 유기성이 높기 때문에 수정하기가 힘들다 (새로운 데이터나 기능 추가가 어려움) 프로그램 전체에서 코드를 재사용 할 수 없다. 오류 검사 (디버그)가 어렵다. 객체지향 프로그래밍 장점 모듈화, 캡슐화로 인해 유지보수에 용이하다. 객체 지향적이기 때문에 현실 세계와 유사성에 의해 코드를 이해하기 쉽게 .. [Spring/IntelliJ] java version 설정 (java 11 버전 설정) java: warning: source release 11 requires target release 11 현재 환경변수는 java 8버전으로 세팅되어있는 상태고 이클립스에서는 java 8을 사용중입니다. 하지만 intelliJ에서 java 11버전을 사용하기 위해 세팅해야 할 것들에 대해 정리해보겠습니다. File - Settings - Build, Execution, Deployment - Maven - Gradle 에 들어가면 위와 같은 화면이 보이게 되고 제 화면처럼 바꿔주면 됩니다. Gradle JVM을 java 11버전으로 바꿔준 다음 프로젝트를 돌려봤습니다. ** java: warning: source release 11 requires target release 11 위와 같은 에러가 나오게 되고 몇가지를 더 세팅 해줘야 합니다. File - Project Structure - Project S.. [oracle/error] ERROR: ORA-28009 에러 sqlplus 에서 sys 계정으로 로그인하기 위해 sys를 입력하면 위와 같은 에러메세지가 나옵니다. 위와 같이 sys 대신에 sys as sysdba를 입력하고 데이터베이스 설치시 자신이 입력했던 비밀번호를 넣어주면 정상적으로 접속 가능합니다. [oracle/error] ORA-01033 에러 배경 : VMWare 에 Window10을 설치하고 Oracle을 깔았는데 위와 같은 에러가 발생했습니다. C:\>sqlplus 사용자명 입력: system 비밀번호 입력: ** 비밀번호 입력시 에러가 났다. 사용자명 입력: /as sysdba SQL> recover database; ** 에러 SQL> alter database open; ** 에러 SQL> shutdown immediate; ** 정상적으로 수행 SQL> startup ** 정상적으로 인스턴스 시작 열심히 찾아본 결과 위의 구문을 실행하라는 것을 알아냈지만 맨 위의 2개의 구문은 에러가 났습니다. 하지만 밑의 두가지 구문은 정상적으로 실행되면서 에러가 해결됐습니다. [Window] 작업관리자 창 확인하는 법 ctrl + alt + delete를 누르면 파란화면에 선택할 수 있는 창이 보입니다. 거기서 작업관리자를 클릭하면 작업 관리자창을 확인 할 수 있습니다. 위 창을 통해 컴퓨터가 사용중인 프로그램을 확인 할 수 있고 cpu 성능도 확인할 수 있습니다. 이전 1 ··· 13 14 15 16 17 18 다음