전체 글

전체 글

    [WAS] WAS란? 아파치 톰캣 설치하기

    [WAS] WAS란? 아파치 톰캣 설치하기

    ■ WAS(Web Application Server)란? - WAS (Web Application Server) : 클라이언트로부터 웹 서버가 요청을 받으면, 로직을 실행하여 동적인 처리를 해주는 서버 - 웹 서버와 DBMS 사이의 미들웨어 역할 - 웹 서버는 정적인 콘텐츠를 처리(html,css,image 등) - WAS는 동적인 콘텐츠(JSP, ASP, PHP 등)를 요청받아 처리 - 톰캣은 자바 전용 WAS 서버이다. ■ 웹 서버와 웹 어플리케이션의 차이 https://binux.tistory.com/32 웹서버(Web Server) 와 웹 어플리케이션 서버 (WAS) "웹 서버와 웹 어플리케이션 서버의 차이를 아시나요?" 이번 면접의 질문이었다. 서버공부를 한지 오래되지 않은 나로서 매우 기본적인..

    [네트워크/운영체제_스터디] 주말마다 네트워크/운영체제 스터디

    ■ 스터디 방향성 - 5월-6월간 매주 일요일 오전 11시에 각 조원들이 아래 강의를 보고 네트워크/운영체제를 공부 1. 네트워크 - 개념 정리 포커스 : https://dev-coco.tistory.com/161?category=1056309 신입 개발자 기술면접 질문 정리 - 네트워크 💡 HTTP 프로토콜에 대해 설명해주세요. HTTP(Hyper Text Transfer Protocol)이란 데이터를 주고 받기 위한 프로토콜이며, 서버/클라이언트 모델을 따릅니다. HTTP는 상태 정보를 저장하지 않는 Stateless의 dev-coco.tistory.com - 강의 링크 : https://www.youtube.com/playlist?list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlUL..

    [DATABASE] MVC 모델 구현 _ 성적 관리 프로그램

    [DATABASE] MVC 모델 구현 _ 성적 관리 프로그램

    ■ MVC 모델이란? https://m.blog.naver.com/jhc9639/220967034588 구분 내용 모델 애플리케이션의 데이터를 담고 CRUD하는 객체 (DAO 객체) 뷰 데이타를 기반으로 사용자들이 볼 수 있는 화면 컨트롤러 데이터와 사용자인터페이스 요소들을 잇는 다리역할 [개발자 면접준비]#1. MVC패턴이란 오늘은 개발자면접에 많이 나오기도 하는 MVC패턴에 대해서 알아보고자 합니다. 과연 MVC패턴이 무엇... blog.naver.com

    [DATABASE] 자바를 통한 DB 모듈화

    [DATABASE] 자바를 통한 DB 모듈화

    ■ DB 모듈화 전체 구성 * 화살표 방향은 무시하고 전체적인 흐름만 보세요. ■ Connection(서버연결) 관리 객체 드라이버를 로딩하고, DB 서버와 연결하는 객체 - DAO가 Connection 관리 객체에게 DB 연결 곧, Connection을 요청하면, Connection 인스턴스를 DAO에게 전달한다. [코드 예시] package service; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBservice { static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNo..

    [DATABASE] PreparedStatement를 사용하여 시큐어코딩하기

    ■ SQL Injection 공격자가 악의적인 의도를 갖는 SQL 구문을 삽입하여, 데이터베이스를 비정상적으로 조작하는 코드 인젝션 공격 기법 ▶ 해커의 해킹 방식 //아래의 SQL문에 항상 참인 값을 넣으면 모든 정보가 노출이된다. String sql = "SELECT * FROM test_member WHERE id = 'test' AND pwd = '1234'" + "or 1 = 1"; - 위와 같은 방식으로 SQL구문을 삽입하여 DB를 조작하는 공격을 SQL 인젝션이라 한다. - 해결 방법 : PreparedStatement를 사용한다. ■ Statement와 PreparedStatment의 차이점 Statement PreparedStatement 차이점 캐시 미사용 캐시 사용 절차 쿼리 문장 분..

    [DATABASE] JAVA프로그램과 DB 연결하기

    [DATABASE] JAVA프로그램과 DB 연결하기

    ■ JDBC란? - 자바 APP과 DB를 연결하여 프로그래밍을 하기 위한 API (또는 이클립스에선 라이브러리라고도 부른다) - 물리적으로는 jdbcXX.jar 파일을 의미한다. - 우리는 jdbc.jar안의 드라이버를 통해 모든 종류의 데이터베이스를 사용할 수 있다. (EX. 오라클, mySql 등) ■ 데이터베이스를 연결하기 전에 점검할 사항 1. 현재 내가 만들고자 하는 앱은 무엇인가? - 데스크탑 앱 : 로컬에서 설치, 실행되는 앱 프로그램 - 웹 앱 : 브라우저를 통해 실행되는 앱 프로그램 2. 현재 내가 접속하고자 하는 DB 서버의 위치는 어디인가? - 로컬 서버인가? - 외부 클라우드 서버인가? * DB 서버와의 연결 시, 서버 url과 사용자명, 비밀번호가 필요하기에 미리 알아두는 것이 좋..

    [DATABASE] JOIN

    [DATABASE] JOIN

    ■ 데이터의 무결성 - 데이터가 실제 현실 세계의 자료와 차이가 없는 수준의 정확성을 보이는 것 - 여러 사용자가 동일 내용의 테이블을 중복하여 사용할 경우, 데이터에 이상현상 발생 가능성 높음 -> 제약조건으로 데이터 자체의 무결성 유지 -> 정규화를 사용하여 테이블을 분해 -> 동기화 ■ 조인 - 정규화한 테이블을 역정규화하는 키워드 - 원리 : 각 테이블의 Key를 사용하여 연결한다. - 장점 : 중복된 레코드 수를 줄인다. 이상현상을 방지하고 성능이 높아진다. 1) 오라클 조인 - WHERE를 사용한 방법 2) 공통 SQL 조인 - ANSI 방식 ■ 조인의 종류 종류 INNER JOIN 조인 조건(두 테이블의 키)에 일치하는 데이터만 가져온다. OUTER JOIN 조인 조건에 일치하는 데이터 및 ..

    [DATABASE] SEQUENCE, INDEX

    ■ 시퀀스란? 오라클에서 순서를 지정해주는 객체 **오라클에서만 사용 가능 [1] 시퀀스의 생성 CREATE SEQUENCE seq_테이블명_idx START WITH 1 INCREMENT BY 1; -- 또는 CREATE SEQUENCE seq_테이블명_idx; [2] 데이터 추가 시 시퀀스 추가 - 시퀀스명.nextVal INSERT INTO sungtb VALUES(seq_sungtb_idx.nextVal, '일길동', 90, 80, 70); [3] 시퀀스의 삭제 DROP SEQUENCE seq_sungtb_idx ■ 인덱스란? 데이터베이스에서 데이터를 빠르게 탐색하기 위해 붙인 색인(포인터) 인덱스를 사용해야 하는 경우 - 데이터 양이 많고 검색이 수정보다 빈번한 경우 - 도메인의 값이 다양한 값..

    [DATABASE] DB모델링, 정규화와 이상현상, 역정규화

    ■ DB모델링 - ERD란? Entity Relationship Diagram, 개체 관계도라 하며, 개체들 간의 관계를 나타내는 다이어그램이다. - DB 모델링에 대한 자세한 내용은 아래 포스팅 참조 https://mangkyu.tistory.com/27 [Database] 6. 데이터 모델링(Data Modeling) [ 본 사진은 쉽게 배우는 오라클로 배우는 데이터베이스 개론과 실습 ppt에서 캡처했습니다. ] 이번 장에서는 데이터 모델링(Data Modeling), ER 모델(ER Model)에 대해 알아보겠습니다. 1. 데이터 모델링 mangkyu.tistory.com - DB 모델링 툴 - 윈도우용툴 : EXERD, ERWIN (erwin.com) *erwin이 가장 자주 쓰는 툴이라고 한다...

    [DATABASE] 뷰 (VIEW), 인라인 뷰

    [DATABASE] 뷰 (VIEW), 인라인 뷰

    ■ 뷰(VIEW)의 정의 - 뷰는 가상 객체로, 하나 이상의 테이블 또는 뷰의 데이터를 볼 수 있게 한다. - 실제로 테이블은 아니지만 테이블처럼 사용 가능 - 다른 뷰를 참조해 새로운 뷰를 생성할 수 있다. ■ 뷰(VIEW)의 사용 목적 - [1] 편리성 : 복잡한 명령/수식 등을 간결하게 사용 가능 - [2] 보안성 : 중요 데이터를 외부로 제한적으로 제공 * DBO의 원천데이터를 선별적으로 가공하여 사용자에게 (조회)권한 부여 ■ 뷰(VIEW)의 실제 형태 - .bat 파일과 같이 실제로는 Select ~ from SQL문이 들어가있는 형태 ■ 뷰(VIEW)를 생성할 수 있는 권한 부여 *최고 권한자만 권한을 부여할 수 있다. grant create view to 계정 ■ 뷰(VIEW)의 생성 및 ..