본문 바로가기

분류 전체보기

(120)
0804 servlet [Class.forName없이 오라클연결하기][MariaDB설치] 서블릿은 was에서 동작 규칙이 있어 규칙을 맞춰줘야한다. MIME숙제 오라클드라이버 등록하기 https://atoz-develop.tistory.com/entry/Tomcat-%EC%84%9C%EB%B2%84-DataSource-%EC%84%A4%EC%A0%95-%EB%B0%A9%EB%B2%95-JNDI Tomcat 서버 DataSource 설정 방법 (+JNDI) 환경 정보 IntelliJ IDEA 2019.3 Ultimate, Amazon Corretto 11, Tomcat 9, JDBC 4.2, 의존성 관리 환경 X Tomcat 서버 DataSource 설정 방법 (+JNDI) ❕ 포스트 상단에는 DataSource, JNDI의 이론적인 내용이 포함되어 있으므로 atoz-develop.tistor..
0803날 servlet 직전의 수업[웹프로젝트를 이클립스 없이 띄우기] web-inf 밑에 classes라는 폴더가 만들어진다. 자바파일 컴파일 되는곳 외부로부터 보호되는 파일들을 보관하는 곳이다. webapp에 넣는건 다 공개임ㅋㅋㅋ meta-inf 도 비공개 내부에서만 접근가능 해킹의 위험이 있어서 모든 파일들을 web-inf 밑으로 옮겨줘야한다. model2부터는 jsp를 다이렉트로 실행하지 않기 때문에 jsp 파일도 옮겨주어야한다. webapp밑에 바로 있으면 안됨 WAS : Tomcat 동적인 애들 jsp WAS 의 종류 찾아보기 웹서버 : 정적인 애들만 처리 html css, js, 이미지, 텍스트 파일 웹서버가 앞단 wAS가 뒷단 웹컨터이너 : 프로젝트 하나하나가 다 이거임 공통된 라이브러리를 넣어주는게 lib --> 실행할때 사용하는부분 여기에만 있으면 컴파일..
git[이클립스에 git연동하고 GUI로 이용하기] https://opentutorials.org/module/3762 GIT2 - CLI - 버전관리 수업소개 소위 git이라고 하면 command line에서 사용되는 프로그램을 말합니다. 이 수업에서는 바로 이 프로그램의 사용법을 살펴봅니다. 수업대상 이 수업은 아래와 같은 상황에 있는 분들을 opentutorials.org https://opentutorials.org/module/3733 GIT1 수업소개 이 수업은 버전관리 시스템 git을 소개하는 수업입니다. 수업대상 이 수업은 아래와 같은 상황에 있는 분들을 위한 수업입니다. 아래에서 문서란 일반적인 텍스트 문서에서부터 이미 opentutorials.org https://youtube.com/playlist?list=PLuHgQVnccGMCNJ..
게시판만들기 테이블 [교수님이 코드리뷰해주신부분까지] Optional srt = Optional.ofNullable("test!!") https://pamyferret.tistory.com/57 null일수도 잇는 값을 optional로 감싸주는 함수 null 처리를 도와주는 Optional 개발을 하다보면 null 값 때문에 이런저런 오류들을 마주한다. 당연히 null 값이 아닐거라고 생각해서 사용하지만 객체의 경우는 기본적으로 nullable 하므로 얼마든지 null 일 수 있다. 만일 아래와 pamyferret.tistory.com https://rabbitchris.tistory.com/40 java.sql.ResultSet 작업시 쿼리한 값이 있는지 없는지 확인, isBeforeFirst() ResultSet 에 쿼리 결과를 가져온 다음에, 도대체..
SQL 15일차[물리 모델링][반정규화] https://livesql.oracle.com/apex/f?p=590:1000 view scripts and tutorials 들어가면 테이블 샘플 다 만들어둠 , 참고하면 좋다 파티셔닝은 여기서 진행한다. 우리가 다운받은 dB는 express 버전으로 파티션기능을 사용할 수 없기때문에 슈퍼타입과 서브타입을 반정규화하는방법 2. 수직분할과 수평분할 수평분할 수평분할은 자주 참조되는 튜플에 대해서 파티션을 나눠서 관리한다. 이렇게 되면 필요한 튜플을 빠르게 조회할 수있다. 테이블 분할관점 데이터 모델링 수행을 수행하고 DB용량에 따른 대량의 데이터처리 패턴을 분석하여 트랜잭션이 컬럼단위로 집중조회하면 수직분할이고 로우 단위로 집중하면 수평분할한다. 테이블 수평 분할 테이블이 대량의 데이터를 가질 것으로 ..
SQL 14일차 [논리모델링][반정규화] 반정규화(역정규화) 4. PK분리 컬럼 차량번호를 통해서 차량들을 관리했지만 사용하다 보니 지역별로 조회를 할때가 많았다. 그래서 역정규화를 통해서 지역을 관리하는 컬럼을 추가 해주었다 이제 조회는 쉬워졌지만 삽입할때 차량번호를 substr을 통해 조작된 지역을 넣어줘야하기 때문에 관리의 불편함이 있다. 5. 테이블 복구를 위한 컬럼추가 어떤 테이블의 속성의 값을 변경하고 난 다음 이전의 값을 저장할 컬럼을 추가한다. 이렇게 쓰면 쓸데 없는 값을 많이 저장하게 되서 쓰지는 않는다. 반정규화 1. 관계병합(슈퍼 타입, 서브타입) 병합 학생의 직업이 학부생인지 대학원생인지에 따라 나누는 등 배타적관계에 해당하는 관계에서 구분코드를 사용해서 테이블을 분리하고 나면 조회를 할때 조인해서 검색해야하므로 성능저하의..
SQL13일차[논리모델링][정규화] 면접 질문 정규화 : 이상현상 제거 삽입 , 삭제, 수정, 문제 이상현상 1NF : 원자(중복성) 제거 2NF : 부분함수 종속제거 3NF : 이행함수 종속제거 답변: 간결하게 더이상추가질문 못하게 물어본것만 대답 추가질문하면 그거에 대해서 답변 정규화를 왜 해야할까? 정규화를 안하게 되면 insert delete update에 대해서 불편함이 발생한다. insert 할때 불필요한 값까지 넣어 줘야 한다. delete할때는 만약 하나의 과목을 한명의 수강생만 수강하고 있다면 수강생을 삭제하면 과목도 사라지게 된다 update 할때는 학생한건에 대해서만 수정하면 되는 부분을 수강하고 있는 과목까지 포함해서 바꿔야하니까 300건씩 수정해야한다 정규화 안한거의 장점 조회시 조인을 안하기 때문에 모든 컬럼을 가..
SQL 12일차 [모델링][속성][개념적설계] 역정규화는 무결성에 대한 책임이 따라붙는다 사원의 부서이동이 이력 속성을 만들때 고려사항 1. 엔티티가 관리할 대상인가? - >컬럼이 엔티티를 표현하는 의미를 갖는가? 2. 의미적으로 독립적인 최소 단위인가? ->한 도메인을 표현할수있는 최소단위의 컬럼인가? 3. 하나의 값만을 가지고 있는가? -> 여러개의 값을 통해서 의미를가지게 되면 원자성을 지킬 수없기때문이다. 4. 원본인가? 파생인가? -> 컬럼을 설계할때 기본 속성으로 있는 것인지 아니면 계산해서 들어가야하는 컬럼인지 분포도가 좋은 속성은 우선순위가 높다 --> 데이터가 적어야한다 분포도가 좋다 -> 식별성이 뛰어난 속성 , 값들이 반복되지 않는다 -> 이들은 기본키일 가능성이 많다 기본키는 중복 되지 않고 한 튜플을 단독으로 구별하기 때문이다..