전체 글 347

오라클 - 프로시저의 COMMIT

프로시저에 BEGIN 이 여러가 있을 때 COMMIT이 붙어있는 곳도 있고 없는 곳도 있는 이유?? => - `COMMIT`이 있는 블록은 해당 작업을 즉시 반영하는 중간 저장 역할을 함.- `COMMIT`이 없는 블록은 전체 작업이 완료될 때까지 기다리며, 트랜잭션의 일관성을 유지하기 위해 사용- 트랜잭션 제어와 비즈니스 로직의 요구사항에 따라 각 `BEGIN` 블록에서 `COMMIT`을 사용할지 말지가 결정됨   1. 트랜잭션 (Transaction)트랜잭션은 하나의 작업 단위로, 논리적으로 연관된 작업을 묶어서 실행하는 것.트랜잭션은 ACID(Atomicity, Consistency, Isolation, Durability) 속성을 따라야 하며, 데이터베이스 작업이 부분적으로 실행되거나 데이터가 불..

오라클 - 프로시저, 커서

● CURSOR (커서)- 오라클 서버에서 SQL문 실행할때마다 처리를 위한 메모리공간- Oracle은 프로시저 내부에서 커서Cursor를 사용할수 있음.- 행의 집합을 다루기에 많은 편리한 기능을 제공- 테이블에서 여러개의 행을 쿼리한 후 , 쿼리의 결과인 행 집합을 한 행씩 처리하기 위한 방식 *처리 순서커서 선언 (CURSOR 커서이름 )  --> 커서열기 ( OPEN 커서이름) --> LOOP문으로 ( 커서에서 데이터 가져오기(FETCH) --> 데이터 처리  ) -->커서 닫기 (CLOSE 커서이름 )    - FETCH문을 통해 커서에서 한행씩 데이터를 읽고, LOOP문을 통해 모든 행을 처리한 후 커서를 닫음  %NOTFOUND  :  커서 영역의 자료가 모두 FETCH 됐었다면 TRUE%F..

Mybatis - Result Type

● ResultType: resultType은 퀴리 결과가 맵핑될 Java의 객체 타입을 지정한다.예 ) resultType="java.util.Map" 으로 설정하면, 쿼리 결과가 Map 형태로 반환된다.       이때 데이터베이스 컬럼 이름이 Map의 키가 되고, 각 키의 값이 맵핑된 행의 값이 된다.    - lowerMap : resultType="lowerMap"은 일반적으로 사용자 정의 타입으로 정의된 타입 핸들러를 통해 제공되는 기능이다. LowerMap의 경우, 반환된 Map의 모든 키가 자동으로 소문자로 변환되도록 설정된다.    마이바티스 select 쿼리문 예시SELECT A.USER_ID AS USER_ID , A.USER_NM AS USER_NM , A.DEPT_C..

TICTACTOE 만들기 3 (State, Super, 불변성)

- 리액트에서 데이터가 변할 때 화면을 다시 렌더링 해주기 위해서는 React State를 사용해야한다. ● React State란 ?  컴포넌트의 렌더링 결과물에 영향을 주는 데이터를 갖고 있는 객체이다.State가 변경되면 컴포넌트는 리랜더링(Re-rendering)된다. 또한, State는 컴포넌트 안에서 관리된다.  ● State 추가하기컴포넌트 안에서 무언가를 기억하기 위해서 state를 사용한다.state를 생성할 때는 constructor 안에서 생성해주면 된다.   ● Constructorconstructor(생성자)를 사용하면 인스턴스화된 객체에서 다른 메서드를 호출하기 전에 수행해야 하는 사용자 지정 초기화를 제공할 수 있다. 클래스를 new를 붙여서 ( new User("John"))..

리액트/TicTacToe 2024.07.31

TicTacToe 앱 만들기 2 (Props, 사용자와 상호작용)

● Props (Properties)Props는 상속하는 부모  컴포넌트로부터 자녀 컴포넌트에 데이터 등을 전달하는 방법Props는 읽기 전용(immutable)으로 자녀 컴포넌트 입장에서는 변하지 않는다. (변하게 하고자 하면 부모 컴포넌트에서 state를 변경시켜줘야 한다.)  A 부모 컴포넌트state = { a : "a" }       B 자식 컴포넌트 a state 필요this.props.aProps         ex) 부모인 Board 컴포넌트에서 이렇게 보내주고 자식인 Square 컴포넌트에서 {aprops} 1 이렇게 받아오면 됨     Board 컴포넌트에서 0 ~ 8 까지의 숫자를 Square에 넘겨줘야 한다. Board.js에서 value라는 props 명을 사용하여 숫자를 보내주..

리액트/TicTacToe 2024.07.31

tictactoe 앱 만들기

기존에 만들어진 파일들을 사용할 것이므로 깨끗한 상태로 만들어 준다. 우선, App.js 파일의 div 부분을 지워주고 맨 위의 2줄도 지워서 밑의 상태로 만들어 준다.  두번째로는 App.css와 Index.css 파일의 내용을 모두 삭제 시켜준다. 마지막으로 App.test.js 파일이 현재 필요없으므로 완전히 삭제시켜준다.    tictactoe 를 구현하기 위해 App Component와 Board Component, Square Component가 필요하다.   ● App 컴포넌트 UI 만들기 App.js에서 리액트 화면에 나타낼 큰 틀을 만들어 준다.App.css를 import 할 것이므로 맨 위에 import도 작성해준다.   그리고 App.css와 index.css 를 스타일링 해준다. 여..

리액트/TicTacToe 2024.07.30

리액트 시작

vscode에 리액트 앱을 create 했으면 여러 파일들이 생기는데 여기서 이름 변경하면 안되는 파일은 public > index.html 과 src > index.js 파일이다. index.html 은 페이지의 템플릿을 나타내며 index.js 는 자바스크립트의 시작점으로 이름을 절대 변경하면 안된다.      ● 리액트 시작하기 터미널 창에 npm run start 를 입력한다.끄려면 터미널 창에 ctrl + c 를 누르면 다시 터미널 창에서 명령어를 입력할 수 있다.( 코드를 작성하면서 중간중간 확인하고 싶을 땐 제일 처음 프로그램에 들어가서 프로그램의 콘솔창에 npm run start를 입력해준 뒤 ctrl + s를 눌러 중간저장하여 새로고침 해주면 바로바로 확인 할 수 있다.)  엔터를 하면 ..

리액트/이론 2024.07.30