분류 전체보기 117

Spring 컨테이너

Spring 컨테이너란? 주입을 이용하여 객체를 관리하는 컨테이너이다. 컨테이너의 사전적 의미는 무언가를 담는 용기, 즉 그릇을 의미한다. 이를 통해 접급하자면 컨테이너는 객체관리를 주로 수행하는 그릇정도로 이해할 수 있다. 빈의 생성과 관계, 사용, 생명 주기등을 관장한다. 컨테이너를 통해 시스템 전반에서 언제는 사용가능하다. 주요용어 POJO 어플리케이션의 핵심 코드를 담고 있는 클래스 Plain Old Java Object, 직역하면 오래된 방식의 자바 객체라는 뜻으로 특정 환경에 종속없는 단순 클래스이다. 종속되지 않는 다는 것은 코드를 간결히 할 수 있고, 객체지향 설계를 충실히 이행하고 있음을 보여준다. Bean 스프링 컨테이너가 생성하고 관리하는 어플리케이션 객체

JAVA 2021.01.14

Mybatis

MyBatis란? 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크로서 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복작업을 제거 합니다. Mybatis에서는 프로그램에 있는 SQL쿼리들을 한 구성파일에 구성하여 프로그램 코드와 SQL을 분리할 수 있는 장점을 가지고 있습니다. MyBatis 특징 복잡한 쿼리나 다이나믹한 쿼리에 강하다 - 반대로 비슷한 쿼리는 남발하게 되는 단점이 있다. 프로그램 코드와 SQL 쿼리의 분리로 코드의 간결성 및 유지보수성 향상 resultType, resultClass등 Vo를 사용하지 않고 조회결과를..

JAVA 2021.01.13

Security

Security란? 허가된 사용자만이 특정 웹페이지에 접근할 수 있도록 제한하는 보안 기능 - 인증(Authentication) : 사용자가 웹 페이지에 접근할 때, JSP 컨테이너는 요청된 페이지에 보안 제약 사항이 있는지 확인하고, 사용자의 이름과 암호를 확인한다. - 권한 부여(Authorization) : 특정 사용자가 해당 페이지에 접근할 수 있는지 확인한다. (= 허가) 처리 방법 1) 선언적 시큐리티 : 코드 작성 없이 web.xml 파일에 보안 구성을 작성하여 사용자 인증을 수행한다. 2) 프로그래밍적 시큐리티 : request 내장 객체의 메소드를 통해 사용자의 권한을 부여한다. ① 선언적 시큐리티 - web.xml 파일은 보안 역할, 보안 제약 사항, 인증 처리 등을 설정하여 보안을 구..

JAVA 2021.01.12

트랜잭션(Transaction)이란?

트랜잭션(Transaction 이하 트랜잭션)이란? 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다. 간단하게 말해서 아래의 질의어(SQL)를 이용하여 데이터베이스를 접근 하는 것을 의미한다. SELECT INSERT DELETE UPDATE 착각하지 말아야 할 것은, 작업의 단위는 질의어 한문장이 아니라는 점이다. 작업단위는 많은 질의어 명령문들을 사람이 정하는 기준에 따라 정하는 것을 의미한다. 게시판을 예로 들어보자. 게시판 사용자는 게시글을 작성하고, 올리기 버튼을 누른다. 그 후에 다시 게시판에 돌아왔을때, 게시판은 자신의 글이 포함된 업데이트된 게시판을 보게 된다. 이러한 상황을 데이터베이스 작업으로 옮기면, 사용자가 올리기 버튼을 눌렀을 시, Insert 문을 사용하여 사..

웹개발 2021.01.11

JAVA 스터디 : JDBC 간단 설명

# DataSource 란? DataSource는 JDBC 명세의 일부분이면서 일반화된 연결 팩토리이다. 즉 DB와 관계된 connection 정보를 담고 있으며, bean으로 등록하여 인자로 넘겨준다. 이 과정을 통해 Spring은 DataSource로 DB와의 연결을 획득한다. DataSource는 JDBC Driver vendor(Mysql, Oracle 등) 별로 여러가지가 존재한다. DataSource가 하는 일 DB Server와의 기본적인 연결 DB Connection Pooling 기능 트랜젝션 처리 출처: gmlwjd9405.github.io/2018/05/15/setting-for-db-programming.html

JAVA 2021.01.08

중앙처리장치 CPU

CPU 레지스터 : 중앙처리장치(CPU) 내에 위치한 기억장치로 많은 수의 레지스터를 CPU내에 포함시키는 것은 어렵기 때문에 특수 목적용 레지스터들과 몇몇 일반 목적용 레지스터만 존재한다. 대표적인 레지스터의 종류 : PC (Program Counter) : 다음 인출(Fetch) 될 명령어의 주소를 가지고 있는 레지스터 AC (Accumulator) : 연산 결과 데이터를 일시적으로 저장하는 레지스터 IR (Instruction Register) : 가장 최근에 인출된 명령어(현재 실행 중인 명령어)가 저장되어 있는 레지스터 SR (Status Register) : 현재 CPU 의 상태를 가지고 있는 레지스터 MAR (Memory Address Register) : PC 에 저장된 명령어 주소가 사용..

웹개발 2021.01.07

스터디 : 컴퓨터 구조

컴퓨터 시스템은 개념적으로는 하드웨어와 소프트웨어, 그리고 펌웨어의 결합으로 이루어진다. 하드웨어(Hardware) 하드웨어는 인간으로 비유하자면 눈, 코, 입, 뼈, 장기, 혈관과 같은 신체 기관과 같으며 가정용 PC의 각종 본체 부품(하드디스크, CPU, 그래픽카드 등등)과 모니터, 키보드 등이 모두 하드웨어에 속한다. 이는 컴퓨터의 기능을 수행하기 위해 전기적인 신호로 구성된 정보, 즉 데이터를 이동하거나 처리하는 물리적인 실체를 의미한다. 하드웨어의 품질은 컴퓨터의 정보처리 능력을 결정한다. (CPU의 클락이 몇 Hz이냐, 코어가 몇 개냐, RAM이 몇 GB냐, 하드디스크의 용량이 몇 TB냐 등등) 당연하지만 여기서 컴퓨터의 뇌에 해당하는 부분인 중앙처리장치(CPU)의 성능이 좋을수록 사람으로 치..

웹개발 2021.01.06

MarkDown 사용법 (1)

마크다운의 장점 문법이 쉽다. 관리가 쉽다. 지원 가능한 플랫폼과 프로그램이 다양하다. 마크다운의 단점 표준이 없어 사용자마다 문법이 상이할 수 있다. 모든 HTML 마크업을 대신하지 못한다. 제목(Header) 부터 까지 제목을 표현할 수 있다. 강조(Emphasis) 각각,,태그로 변환. 밑줄을 입력하고 싶다면태그를 사용. 목록(List) , 목록 태그로 변환됨. 1. 순서가 필요한 목록 1. 순서가 필요한 목록 - 순서가 필요하지 않은 목록(서브) - 순서가 필요하지 않은 목록(서브) 1. 순서가 필요한 목록 1. 순서가 필요한 목록(서브) 1. 순서가 필요한 목록(서브) 1. 순서가 필요한 목록 - 순서가 필요하지 않은 목록에 사용 가능한 기호 - 대쉬(hyphen) * 별표(asterisks) ..

GitHub 2021.01.05

JAVA 스터디 : form 데이터 주고 받기

데이터 전송 웹서비스는 클라이언트와 서버로 구성되어있고, 이들은 요청과 응답이라는 방식으로 통신함 form 태그의 이해 form 태그는 클라이언트에서 서버로 데이터 전송을 위해 사용한다. 폼 태그의 대표적인 사용 예로 로그인을 들 수 있다. 로그인을 위해 사용자는 아이디와 패스워드 서버로 전송해야 하는데 이때 폼 데이터를 이용한다. form 태그는 여러 속성을 가지고 있으나 이중 중요한 것은 아래의 두 속성이다. action: 수신 대상 method: 전송 방식 form의 수신대상은 result.jsp이고, 전송방식은 post방식이다. form에서의 전송방식은 두가지(GET / POST)가 존재한다. 데이터를 쪽지에 적어서 보내는 것을 GET 이라고 한다면, POST는 보안가방 안에 데이터 쪽지를 담아서..

JAVA 2021.01.04

JAVA 스터디 : Request Mapping

@RequestMapping은 DefaultAnnotationHandlerMapping에서 컨트롤러를 선택할 때 대표적으로 사용하는 애노테이션이다. url당 하나의 컨트롤러에 매핑되던 다른 핸들러 매핑과 달리 메서드 단위까지 세분화하여 적용할 수 있으며, url 뿐 아니라 파라미터, 헤더 등 더욱 넓은 범위를 적용할 수 있다. 속성 DefaultAnnotationHandlerMapping은 클래스와 메서드에 붙은 @RequestMapping 애노테이션 정보를 결합해 최종 매핑정보를 생성한다. 기본적인 결합 방법은 클래스 레벨의 @RequestMapping을 기준으로 삼고, 메서드 레벨의 @RequestMapping으로 세분화하는 방식으로 사용된다. @RequestMapping에 사용할 수 있는 속성들은 ..

JAVA 2021.01.01