분류 전체보기 171

Exception - javax.mail.SendFailedException

javax.mail.SendFailedException - address 를 보고email값을 먼저 확인해본 결과요청한 이메일이 null값으로 넘어오는 것을 확인 민감한 정보라고 생각해, POST 요청을 했지만servlet에서 GET으로 받음 또한 url로 요청을 하고 있었기 때문에 json으로 맵핑 후 post 요청servlet에서는 post로 받아서 응답 해결 해야할 일 요청 값이나 응답 데이터를 적어두고하나하나 꼼꼼하게 확인하자

DB - 데이터 모델링의 이해

데이터 모델링의 이해 데이터 모델링의 중요성 및 유의점- 중복 : 같은 시간 같은 데이터 제공- 비유연선 : 사소한 업무변화에 데이터 모델이 수시로 변경되면 안됨   데이터 정의를 사용 프로세스와 분리- 비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의해야 함 데이터 모델링개념적, 논리적, 물리적 데이터 모델링 데이터 독립성 요소외부 스키마 : 개개 사용자가 보는 개인적 DB 스키마개념 스키마 : 모든 사용자 관점을 통합한 전체 DB내부 스키마 : 물리적 장치에서 데이터가 실제적 저장 데이터 독립성논리적 독립성 : 개념스키마 변경, 외부스키마에 영향 X물리적 독립성 : 내부스키마 변경, 외부 / 개념스키마에 영향 X Mapping(사상) : 상호 독립적인 개념을 연결시켜주는 다리논리적 사상 : ..

Web - 비동기 처리) Ajax

WEB비동기 처리와 웹 개발의 기본웹 개발에서 비동기 처리(Asynchronous Processing)는 사용자가 웹 애플리케이션과 상호작용할 때 중요한 역할을 함.비동기 처리를 통해 페이지가 새로 고쳐지지 않고도 서버와 데이터를 주고받을 수 있으며, 사용자 경험을 매끄럽게 할 수 있음비동기 처리의 개념비동기 처리란, 서버에 요청을 보내고 응답을 기다리는 동안 다른 작업을 계속 수행할 수 있는 기술임.예를 들어, 사용자가 데이터베이스에 이미 존재하는 아이디를 입력했을 때, 해당 아이디가 유효한지 확인하기 위해 서버에 요청을 보내야 할 수 있고, 이 과정에서 화면이 깜빡이거나 새로고침되는 것을 방지하는 것이 비동기 처리의 핵심임 전통적인 처리 방식전통적인 웹 애플리케이션에서는 서버 요청 후 응답을 기다리는..

javaboiii의 Web 2024.08.22

Spring - MVC 핸들러맵핑과 싱글톤패턴

SpringFrontController와 MVC 패턴 개요웹 애플리케이션을 설계할 때, MVC(Model-View-Controller) 패턴을 활용하면 구조적이고 유지보수가 쉬운 애플리케이션을 만들 수 있음 이 패턴에서 FrontController는 사용자의 요청을 중앙에서 처리하고 적절한 액션을 실행하며, 결과를 클라이언트에게 전달함현재 FrontController의 구조와 동작public class FrontController extends HttpServlet { private static final long serialVersionUID = 1L; public FrontController() { super(); } protected void doGet(HttpServl..

javaboiii의 Spring 2024.08.21

DB - 다중 행 함수(Multi-Row Function)

DataBase다중 행 함수(Multi-Row Finction) - 여러 행의 그룹에 대해 적용되는 함수 - 다중 행 함수의 종류    그룹 함수(Group Function)          집계 함수(Aggregate Function) : COUNT, SUM, AVG, MAX/MIN 등          고급 집계 함수 : ROLLUP, CUBE, GROUPING SETS, PIVOT, UNPIVOT    윈도우 함수(Window Function) 집계 함수 - 여러 행의 그룹에 대한 연산을 통해 하나의 결과를 반환함 - SELECT, HAVING, ORDER BY 절에 사용 가능      WHERE 절에는 사용 불가 - GROUP BY 절을 통해 그룹핑 기준 명시  집계 함수 - NULL을 제외하고 계..

Spring - 스프링 프레임워크

Spring스프링 프레임워크: 스프링은 자바 기반의 애플리케이션 프레임워크로, DI(의존성 주입), AOP(관점 지향 프로그래밍) 등을 통해 객체 간의 의존성을 관리하고 애플리케이션의 유지보수를 용이하게 함전자정부 프레임워크: 전자정부 프레임워크는 정부의 전자적 행정을 지원하기 위해 개발된 프레임워크로, 스프링 기반의 모듈과 유사한 구조를 가짐스프링 기반 자체 프레임워크: 스프링을 기반으로 만들어진 다른 프레임워크들도 구조적으로 스프링과 비슷한 패턴을 따름Controller와 JSP: JSP 페이지에서 모든 로직을 처리하는 것은 좋지 않음 대신, 서블릿(Servlet) 혹은 스프링의 컨트롤러를 통해 요청을 처리하는 것이 좋음이때 FrontController 패턴을 사용하면, 모든 요청이 중앙 컨트롤러(홈..

javaboiii의 Spring 2024.08.19

DB - 서브쿼리(Subquery)

DataBase서브쿼리 - SQL문 안에 포함된 SQL문기준유형서브쿼리 위치SELECT절, WHERE절, FROM절 (=> Inline View)결과 컬럼 / 행의 수단일행 서브쿼리 / 다중행 서브쿼리단일컬럼 서브쿼리 / 다중컬럼 서브쿼리메인 쿼리와의 연관성연관(상관) 서브쿼리 / 비연관 서브쿼리 - 서브쿼리는 메인쿼리의 컬럼 모두 사용 가능- 메인쿼리는 서브쿼리의 컬럼 사용 불가   Inline View에 정의된 컬럼만 사용 가능 결과 컬럼 / 행의 수에 따른 구분서브쿼리 종류설명Single Row(단일행)서브쿼리의 실행 결과로 항상 1건 이하의 행을 반환단일행 비교 연산자(=, , >=, )와 함께 사용Multi Row(다중행)서브쿼리의 실행 결과로 여러 건의 행 반환 가능다중행 비교 연산자(IN, ..

Web - Javascript) jQuery

JavaScript기존 코드에 기능을 추가하는 방법기존 프로젝트에 기능을 추가하고 싶을 때 가장 일반적인 방법은 라이브러리, .jar 파일, 그리고 import 문을 사용하는 것임.라이브러리: 특정 기능들을 미리 코드로 작성해둔 파일 모음 자바스크립트에서는 이런 라이브러리를 사용해 자주 사용되는 기능을 쉽게 가져올 수 있음 예를 들어, 복잡한 계산이나 DOM 조작을 손쉽게 처리하는 자바스크립트 라이브러리들이 있음.jar 파일: 주로 자바에서 사용되는 압축 파일로, 필요한 라이브러리들이 이 파일에 포함되어 있음 자바 환경에서 추가적인 기능을 도입할 때 .jar 파일을 프로젝트에 추가하여 사용함import 문: 자바스크립트와 같은 프로그래밍 언어에서 외부 라이브러리나 파일을 불러오는 데 사용됨 이 impor..

javaboiii의 Web 2024.08.16

DB - DCL(Data Control Language)

DataBaseDCL(Data Control Language)- 사용자의 계정 생성/ 삭제, 권한 부여 / 회수에 대한 명령CREATE USER 계정(ID) IDENTIFIED BY 비밀번호; -- 계정생성ALTER USER -- 계정 (변경)수정GRANT ~ TO ~ -- 권한 부여REVOKE ~ TO ~ -- 권한 회수DROP USER ~ -- 계정 삭제 SESSION 생성 권한 - 로그인을 위해 CREATE SESSION 권한 필요(가장 기본 권한 필수) Object 권한 - 테이블 생성을 위해 CREATE TABLE 권한 필요 DROP 연산 수행 시 - CASCADE 옵션 사용시 사용자가 생성한 객체도 함께 삭제됨 - CASCADE 옵션 미사용시 사용자가 객체를 갖고 있지 않은 경우에만 삭제 실행..

Web - Javascript

JavaScript자바스크립트를 사용하는 이유자바스크립트를 쓰면 페이지가 이동하지 않으면서도 서버의 개입 없이 특정 기능을 수행할 수 있음 예를 들어, 아이디 중복 검사, 광고 그만 보기, 검색 및 정렬 같은 작업을 페이지 리로드 없이 수행 가능함 이는 사용자 경험을 개선하고 서버 부하를 줄이는 데 유리함자바스크립트의 특징스크립트 언어: 자바스크립트는 인터프리터 언어로, 한 줄씩 바로 실행됨 자바와는 달리 페이지 전체를 컴파일하지 않음 스크립트 실행 중 오류가 발생하면 해당 줄 이후의 코드는 실행되지 않음동적 타이핑 언어: 변수의 타입을 명시하지 않고 선언 가능, 형변환이 자유로움 연산자를 잘못 사용하면 변수의 타입이 바뀔 수 있음 자바스크립트의 주요 타입에는 number, string, boolean,..

javaboiii의 Web 2024.08.14