Kosta 교육 (17) 썸네일형 리스트형 [미니 프로젝트 회고] Servlet JSP를 활용한 프로젝트(편마카세) 미니 프로젝트 회고 - JSP, Servlet을 이용한 웹페이지 제작 - 프로젝트 명 : 편마카세 프로젝트 진행 기간 : 23.10.10 ~ 23.10.19 (약 9일) - 주어진 기간은 9일이지만, 화면 구성 / HTML / CSS 는 미리 만들어서 진행 프로젝트 인원 : 총 4명 내가 맡은 역할 : 게시글 등록/수정/디테일 페이지, 카카오톡 소셜 로그인 깃허브 : https://github.com/Yummsters/pyeonmakase 코드 분석 1. 게시판 등록 및 수정 * 게시판 등록 및 수정은 UI 및 기본적인 기능은 유사하며, 수정 시 기존 게시글에 대한 정보 가져오는 부분만 다름 [체크박스 및 내용 입력 필수 스크립트] - 게시글의 모든 내용을 필수로 입력해야 하야 했기 때문에 스크립트를 통.. [Day20 - DB] FK(FOREIGN KEY), DML : 데이터 조작어 제약조건 - FOREIGN KEY : 2개 이상의 테이블이 관계를 맺는 것 CREATE TABLE USER( id VARCHAR(20) PRIMARY KEY, name VARCHAR(20) NOT NULL); -- 테이블 생성 시 설정 CREATE TABLE ARTICLE( num INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(50), content VARCHAR(1000), writer VARCHAR(20) REFERENCES USER(id) -- 이름만 가지고는 작성자를 명확히 파악할 수 없어 USER 테이블의 FK를 참조하도록 설정 ); -- 추후 설정 ALTER TABLE article ADD CONSTRAINT 지정할 칼럼명(생략가능) FOREIGN KEY 참.. [이론 - DB] 데이터 모델링 데이터 모델링 [요구사항 분석] 현행 업무 분석, 요구 기능 분석 산출물 - 요구사항 명세서 [논리적 설계] 개체/관계 도출 산출물 - 개체-관계 모형 개체 관계 모델(ERD; Entity Relationship Diagram)이 일반적으로 사용되는 모델링 : 데이터 모델링 시 구조, 연산, 제약 조건이 결정되어야 하며, 이를 이용하여 개체- 관계 모델을 구성 개체(Entity) : 실 세계에서 기본적으로 표현할 수 있는 항목으로, 관리 대상이 되는 독립적 특징을 갖는 사람, 사물, 개념 등 명사형으로 표현하며, ERD에서 사각형으로 표시 속성(Attribute) :성질이나 상태 등 개체가 가질 수 있는 세부적 특성으로 실선으로 연결하여 표시 인스턴스(Instance) : 개체의 구체적인 하나의 예로 개.. [Day19 - DB] 서브쿼리, Structure Query Language(DDL, DML, DCL, TCL) 기본 이론 서브쿼리 : 메인 쿼리 내에 또 다른 쿼리문을 작성하는 것 : 서브쿼리는 괄호 안에 작성 : 주로 WHERE 절에 쓰임 : SELECT문에 작성하는 서브쿼리는 조인과 동일하며, 조인이 더 효율적 : FROM 절에서도 사용 가능 SELECT 칼럼명1, 칼럼명2 ... FROM 테이블명 WHERE 조건문 (SELECT 칼럼명3, 칼럼명4 FROM 테이블명 WHERE 조건문); [단일행 서브쿼리] : 서브 쿼리의 결과가 단일 행 : 연산자 - =, (!=), >, >=, (SELECT AVG(weight) FROM student WHERE deptno1='201'); -- student 테이블에서 주전공이 전자공학과인 학과의 평균 몸무게보다 몸무게가 많은 학생들의 이름과 몸무게 조회 SELECT s.name,.. [Day18 - DB] 날짜 함수, 숫자 함수, GROUP BY, CASE, JOIN 날짜 함수 1. CURDATE(), CURRENT_DATE() : 현재 날짜 반환 SELECT CURDATE(); SELECT CURRENT_DATE(); 1-1. ADDDATE(기준일 INTERVAL 숫자 DAY/MONTH/YEAR), DATE_ADD(기준일 INTERVAL 숫자 DAY/MONTH/YEAR) : 날짜 형식을 유지하면서 날짜 더하기 : 만약 CURDATE()+1과 같이 그냥 더할 경우 문자열로 출력(형식 유지X) SELECT ADDDATE(기준일 INTERVAL 숫자 DAY/MONTH/YEAR) FROM [테이블명]; SELECT DATE_ADD(기준일 INTERVAL 숫자 DAY/MONTH/YEAR) FROM [테이블명]; SELECT ADDDATE(CURDATE(), INTERVAL .. [Day17 - DB] SELECT/FROM, WHERE, 문자열 함수 시작 전 알면 좋은 것들 1. 문자열의 타입은 VARCHAR(문자 크기)로 선언됨 단, 30으로 크기를 지정한다고 하더라도 30을 다 채우는 것이 아닌 5를 채우면 5만 생성되며, 30이 넘어가면 에러 발생 2. 날짜 타입은 DATE / DATETIME 타입이며, 입력시 형식을 맞춰서 작성해줘야 하며 형식이 맞지 않을 경우 에러가 발생. 크기 비교도 가능함. 3. 문자열은 기본 왼쪽 정렬, 숫자는 기본 오른쪽 정렬이 디폴트 4. 문자열을 사용 시에는 작은 따옴표를 이용하며, 큰 따옴표는 alias에서 별칭 지정시에만 사용 가능 5. 배열과 달리 순서를 지정할 때 1번이 첫 번째 SELECT SELECT FROM : 테이블의 데이터를 조회할 때 사용 SELECT [조회할 칼럼명] FROM [테이블명]; -.. [Day17 - DB] 데이터베이스 및 DBMS 기본 DBMS 개요 1. 데이터베이스의 정의와 특징 데이터베이스란? : 데이터의 집합 : 여러 명의 사용자, 응용 프로그램이 공유 : 동시 접근이 가능해야 함 : MariaDB에서는 '데이터의 저장공간' 자체를 의미하기도 함 DBMS : 데이터베이스를 관리/운영하는 역할 : 대부분 우리가 알고 있는 DB인 MySQL, MariaDB, Oracle 등이 DBMS임 : Excel의 경우 대용량을 관리하지 않고, 여러 명의 사용자가 공유하지 않으므로 DBMS가 아님 : 제일 많이 사용하는 DBMS는 테이블 형태의 데이터베이스인 관계형 데이터베이스임 2. 데이터베이스 및 DBMS 특징 1) 데이터 무결성 - 오류가 없는 무결성 : 경로에 상관없이 데이터에 오류가 없어야 함 - 제약조건을 통한 무결성 구현 : 반드시 .. [Day16 - JAVA] 입출력 1.1 표준 입출력 : 콘솔을 통한 데이터의 입출력 : JVM이 시작되면서 자동적으로 생성되는 스트림 System.in // 콘솔로부터 데이터를 입력받는데 사용 System.out // 콘솔로 데이터를 출력하는데 사용 System.err // 콘솔로 데이터를 출력하는데 사용 1.2 RandomAccessFile : 하나의 스트림으로 파일에 입력과 출력을 모두 수행할 수 있는 스트림 : 다른 스트림과 달리 Object의 자손 1.3 File [생성자와 경로관련 메서드] [파일의 속성, 생성, 삭제, 목록] 2.1 직렬화(serialization) : 객체를 연속적인 데이터로 변환하는 것 : 객체의 인스턴스 변수 값을 일렬로 나열하는 것 : 객체를 저장하기 위해 직렬화 해야하며, 객체를 저장한다는 것은 객체.. 이전 1 2 3 다음 목록 더보기