프로젝트 60

인덱스(INDEX)에 대한 설명, 예시 코드[ORACLE]

인덱스는 데이터베이스에서 자료를 더 찾기 쉽게 만들어주는 자료구조이다. 예를 들어 가위 라는 단어를 찾을때 ㄱ -> 가 -> 가위 이런 순서대로 찾으면 더욱 쉽게 찾을 수 있다. 하지만 모든 테이블을 인덱스로 만들면 좋지 않냐 라고 물어볼 수 있지만 그러면 좋지 않다. 책이 3권만 있을 경우 보이는 상태에서 하나 찾는게 훨씬 빠르다. 그러므로 인덱스를 사용하는 상황은 규모가 큰 테이블, 생성,수정,삭제가 드문 테이블이 적합하다. 인덱스 생성 인덱스는 기본적으로 오름차순으로 되기 때문에 내림차순으로 만들기 위해 뒤에 DESC를 선언한다. CREATE INDEX 인덱스 이름 ON 정렬할테이블(정렬 방법); 이 문법으로 코드를 생성하면 다음과 같다. CREATE INDEX NAME_DSC ON STUDENT_..

트리거(Trigger)에 대한 설명, 사용법, 예시코드[ORACLE]

트리거란??? 트리거의 뜻은 데이터베이스에서 1이라는 쿼리가 실행 되면 여기에 영향을 받아 다른 쿼리가 실행 되는 과정을 뜻한다. 트리거 생성하기(문법 설명) 트리거 이름을 정해준다. CREATE OR REPLACE TRIGGER 트리거명 트리거를 어느때 발생시킬지 정해준다. BEFORE AFTER INSERT UPDATE DELETE 어떤 컬럼이 변경되었을 때를 감지하고 싶다면 이렇게 정해준다. OF 대상컬럼 이벤트를 감지할 테이블을 설정해준다. ON 테이블 변경되기 전 값, 변경된 후의 값 사용 방법. REFERENCING NEW AS N OLD AS O 데이터를 행마다 하나한 처리해야 한다면 아래와 같이 입력. FOR EACH ROW 트리거 실행 구문 작성 BEGIN 실행구문 END; 예시코드 CR..

프로시저(Procedure)에 대한 기초 설명, 사용법, 예시[ORACLE]

일단 Procedure 라는 영어 뜻은 순서라는 의미를 가지고 있다. 하지만 데이터 베이스에서 쓰는 뜻은 약간 다른다. 하나의 쿼리를 저장하고 함수처럼 이름을 지정하여 원할때 꺼내서 사용할 수 있는 쿼리의 집합을 뜻한다. 프로시저의 장점 하나의 요청으로 프로시저 명만 불러오면 됨으로 네트워크 부하 감소가능 API 처럼 제공되어 여러 어플리케이션과 공유가능 변경이 용이하다. 프로시저의 단점 수식이나 계산같은 기능이 들어가면 속도가 느려진다. 프로시저의 위치를 찾기가 어려워서 유지보수 어렵다. 프로시저 생성 CREATE OR REPLACE PROCEDURE 프로시져이름 (파라미터1,파라미터2...); IS 변수 BEGIN 쿼리문 END 프로시져 이름; 이 코드를 바탕으로 학생의 성적을 알아내는 프로시저를 만..

리액트 기초(하나하나 따라해보기) 3편

이제 글 목록을 조금 늘려보자. App.js 파일에 이렇게 코딩을 하자. 7번째줄부터 있는 useState 안에 배열 형식으로 3개의 데이터를 입력하고 a라는 변수에 해당 배열이 대입된다. 따라서 a배열의 0번째 인덱스에는 고양이 간식 추천 이라는 문장이 들어간다. 해당 코드는 이렇게 된다. 필요한 사람을 복붙해서 가져가면 된다. import logo from "./logo.svg"; import "./App.css"; import { useState } from "react"; function App() { let post = "쿠키도 배우는 코딩"; let [a, b] = useState([ "고양이 간식 추천", "강아지 간식 추천", "병아리 간식 추천", ]); return ( 블로그입니당 글 ..

프로젝트/React 2022.09.21

자바 SVN을 이용해서 PULL 받아오는 방법

깃으로만 사용해서 형상관리를 해보다가 SVN을 사용하게 되었다. 그래서 이에 대한 방법을 서술한다. 프로젝트에서 오른쪽 마우스를 클릭한 후 팀 -> 싱크로나이즈를 클릭한다. 그러면 이러한 이러한 창을 볼 수 있는데 여기서 프로젝트에서 오른쪽 마우스 클릭을 한 뒤 라이언 주먹이 가르키는 오버라이드 앤 업데이트를 누르면 PULL 받을 수 있게 된다.

프로젝트/JAVA 2022.09.21

리액트 기초(하나하나 따라해보기) 2편

첫 시작할 때 1편에서 만든 부분을 다 삭제하고 빈페이지에서 시작해야한다. 블록지정한 부분을 지운다. 여기에 이제 블로그 만들 예정이다. 상단 메뉴를 만들어보자! 이렇게 자바 스크립트 파일 안에 html 문법을 사용해서 더 편리하게 한 것을 JSX 문법이라고 한다. 스타일을 집어넣기 위해서는 App.css 파일을 열어서 편집한다. App.css 파일에 이 코드를 .black-nav{ display:flex; background : black; width:100%; color :white; padding-left:20px; } 추가해주고 블로그입니당을 감싸고 있는 div태그에 해당 클래스를 추가해 주면 이러한 코드가 되고 이에 대한 화면은 이렇게 변한다. 주의 : JSX 문법내에서는 div class 를 ..

프로젝트/React 2022.09.20

리액트 기초(하나하나 따라해보기) 1편

리액트 사용하는 이유 부드러운 html을 만들어 낼 수 있다. 물론 생 자바 스크립트로도 구현이 가능하지만 그렇게 하면 너무 코드가 길어진다. 뷰같은 다른 방법들도 있지만 가장 대중적인것이 리액트이다. 리액트는 같은 문법으로 리액트 네이티브 라는 모바일 어플도 만들 수 있다. 개발환경 세팅 https://nodejs.org/ko/ 해당 웹사이트에 접속 후 여기서 16.17.0 버전을 다운로드 해준다. 이후 vs코드라는 에디터도 사용하기 때문에 https://code.visualstudio.com/ 여기에 접속 후 다운로드를 해준다. Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and op..

프로젝트/React 2022.09.20

컨트롤러에서 게시판 list 반환이 안될 경우

간단한 게시판 만들기를 하고 있는 도중 컨트롤러에서 list 를 받아오지 못하는 상황이 생겼다. 원인은 sql developer 에서 커밋버튼을 누르지 않아 디비에 저장이 안되었다. 항상 sql 을 실행하면 디비에 커밋되는 환경에서 프로젝트를 경험하다보니 한번씩 실수를 하는 것 같다... 어쨋든 잘 해결되서 기분이 좋다. 이 버튼을 꼭 알아두자!

프로젝트 2022.09.20

모델앤뷰에서 JSP로 list 형태 보내고 받는 방법 정리

컨트롤러에서 모델앤뷰를 사용하여 JSP에 list 형태를 보내려고 했지만 JSP에서 해당 데이터를 꺼내는 과정에서 자꾸 오류가 떳다. 방법으로는 JSTL을 사용하여 for each 문을 돌리는 방법이 있었지만 왠지 오기가 생겨서 JSTL을 사용하기 싫어졌다... 그런데 다양한 자료들을 찾아보니 다들 JSTL을 사용했다. JSTL에 대해서는 나중에 자세히 다루려고 하는데 일단 기본만 잡고 가자면 HTML내의 자바코드를 조금더 편하게 쓸수 있게 만들어준다. 원래 HTML에서 자바코드를 사용하기 위해서는 형태로 감싸야 하지만 JSTML을 사용하면 나 처럼 간편하게 사용이 가능하다. 추가로 JSTML은 라이브러리이기 때문에 사용하기 전에 위 내용을 JSP 파일 헤더에 추가해주어야한다. javascript 이후 ..

프로젝트 2022.09.14