분류 전체보기
-
Maven 이란?Spring 2021. 1. 11. 19:22
Maven 이란 아파치 메이븐은 자바 개발에 있어서 기초적인 부분이다. 또한 가장 많이 사용되는 build management tool 이기도 하다. Maven을 사용하는 이유? 빌드 툴을 사용하지 않고 자바 어플리케이션을 관리하고 빌드 하는 것은 매우 복잡하고 많은 작업을 요구한다. 하지만 메이븐을 사용하면 dependency system 과 빌드에 관련된 프로젝트 라이브러리를 보다 간단하게 유지 할 수 있다. POM.XML 메이븐을 이용하여 프로젝트 생성시 pom.xml 이라는 파일을 찾을수 있다. Project Object Model을 뜻한다고 한다. 4.0.0 org.zerock controller practice war 1.0.0-BUILD-SNAPSHOT : pom.xml 파일의 루트 요소 :..
-
[C언어] 입력버퍼C \ C++ 2021. 1. 1. 21:31
코드 작성중 3번째 scanf를 받지 못하고 지나가는 일이 발생했다. 찾아보니.. scanf("%s", name); scanf("%d", &age); scanf("%c", &c); scanf("%lf", &b); cs 두번째 scanf에서 정수를 받고 엔터를 누르면 버퍼에 ₩n(엔터) 에 대한 버퍼가 남아 있어서 그렇다고 한다 그전에 잠시 버퍼에 대해 간단히 알아보자 버퍼(buffer)란? 우리가 흔히 사용하는 printf(), scanf(), puts() 함수 등은 c언어의 표준 입출력 함수이며, 이러한 표준 입출력 함수를 사용할 때에는 버퍼(buffer)라는 임시 메모리 공간을 사용하게 된다. 키보드를 통해 입력되는 데이터는 일단 입력버퍼에 저장된 후 프로그램에서 읽혀진다. 우리가 데이터를 입력하고 ..
-
[Spring Security] 스프링시큐리티의 기본 개념과 구조Spring 2020. 12. 1. 16:32
스프링시큐리티(Spring Security)란? 스프링 시큐리티는 스프링 기반의 애플리케이션 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임 워크이다. 즉 인증(Authenticate, 누구인지) 과 인가(Authorize, 어떤것을 할 수 있는지)를 담당하는 프레임워크. 기본용어 -접근 주체 (Principal): 보호된 리소스에 접근하는 대상 -인증(Authentication): 보호된 리소스에 접근한 대상에 대해 누구인지, 애플리케이션의 작업을 수행해도 되는 주체인지 확인하는 과정 => 즉 누구인지? -인가(Authorize): 해당 리소스에 대해 접근 가능한 권한을 가지고 있는지 확인하는 과정(After Authentication, 인증이후) => 즉, 어떤것을 할 수 있는지? -권한..
-
[JAVA] 컬렉션(Collection) 이란?JAVA 2020. 11. 30. 19:41
JAVA 에서 컬렉션(Collection) 이란 데이터의 집합, 그룹을 의미한다. JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다. 자바에서 자료구조 유형은 다음과 같다. -순서가 있는 목록인 List형 -순서가 중요하지 않은 목록인 Set형 -먼저 들어온 것이 먼저 나가는 Queue형 -KEY_VALUE의 형태로 저장되는 Map형 배열과의 차이점은 정적 메모리 할당이 아닌 동적 메모리 할당을 하게 된다. 즉, new int[4]을 하면 4개 공간밖에 못쓰고 미리 선언을 통해 4개의 공간을 만들어야 하지만, Collection은 공간이 필요한 만큼 추가될 수 있다. 위의 그림을 보면 컬렉션은 결국 인터페이..
-
리스트(List)JAVA 2020. 11. 30. 18:19
List란? 리스트는 배열과 비슷한 자바의 자료형으로 배열보다 편리한 기능을 많이 가지고 있다. 배열은 크기가 정해져 있어서 동적으로 자료형의 갯수가 가변하는 상황이라면 List를 사용하는것이 유리 하다. List의 자료형 중 가장 간단한 형태의 자료형인 ArrayList에 대해서 알아보자. (List 자료형에는 ArrayList, LinkedList 등의 List 인터페이스를 구현한 자료형이 있다. 여기서 말하는 List 자료형은 인터페이스이다.) add 만약 총 세명이 학생의 키를 조사 했다면 다음과 같이 코드를 작성 할 수 있다. ex) ArrayList height = new ArrayList( ); height.add("177"); height.add("152"); height.add("190"..
-
[SQL] FOREIGN KEY 제약 조건DB 2020. 11. 30. 16:29
FOREIGN KEY란? 흔히들 우리나라말로는 외래키라고 사용한다. 외래키 제약조건은 한 마디로 말해서 두 테이블간의 관계를 선언하며 데이터간의 무결성을 보장해주는 역할을 한다. 즉, 관계를 설정하면 하나의 테이블이 다른 테이블에 의존하는 형태이다. 외래키 테이블에 데이터가 입력될 경우 기준 테이블의 내용을 참조해서 데이터가 입력되기 때문에 만약 기준 테이블에 데이터가 존재하지 않을 경우 값이 반영 되지 않게 된다. *외래키 설정시 주의 점은 기준테이블의 열에 반드시 primary key, unique 제약조건이 설정되어 있어야 한다는 점. 이제 한번 예시를 통해 좀더 이해해보자 member 기준 테이블 m_id name address age 1 park seoul 33 2 song inchun 26 3..
-
웹 인증(Authentication), 인가(Authorization)Network 2020. 11. 26. 15:16
인증과 인가는 API에서 가장 자주 구현되는 기능 중 하나로써 Private 한 API는 물론이고 Public 한 API도 기본적인 인증과 인가를 요구한다. 1) 인증 (Authentication) 클라이언트가 자신이 주장하는 사용자와 같은 사용자인지를 확인하는 과정 유저가 누구인지 확인하는 절차 예) 회원가입하고 로그인 하는 것. 필요한 이유: 서비스를 누가 사용하며, 추적이 가능하도록 하기 위함, 타인에게 사용자의 정보를 보호하기 위함 2) 인가 (Authorization) 권한부여, 클라이언트가 하고자 하는 작업이 해당 클라이언트에게 허가된 작업인지를 확인 특정 자원에 대한 접근 권한이 있는지 확인하는 절차 유저에 대한 권한을 허락하는 것. 3) 정리 유저의 궁극적인 목표는 resource에 접근 ..
-
Scanner (입력)JAVA 2020. 11. 25. 14:43
JAVA에서는 입력을 받을때 BufferedInputStream 또는 Scanner가 있다. 이번글에서는 Scanner에 대해서 알아보자. 우선 Scanner는 java.util 에 있는 라이브러리 이므로 사용시 코드 상단에 import.java.util.Scanner를 붙여줘야 사용할 수 있다. 1 2 3 Scanner sc = new Scanner(System.in); Colored by Color Scripter cs import 를 입력해준후, Scanner 클래스를 먼저 선언 해주는데, 선언해줄때 argument(인자)로 System.in을 넣어줘야한다. Scanner클래스에는 여러 Method가 존재하는데 가장 많이 사용하는 함수를 알아보겠다. 1.next() 1 2 3 4 5 6 7 8 9 ..
-
GET과 POST의 차이Network 2020. 11. 19. 15:58
HTTP HTTP는 웹상에서 클라이언트와 서버간에 요청/응답으로 데이터를 주고 받을 수 있는 프로토콜이다. 클라이언트가 HTTP 프로토콜을 통해 서버에게 요청을 보내면 서버는 요청에 맞는 응답을 클라이언트에게 전송한다. 이때, HTTP 요청에 포함되는 HTTP 메소드는 서버가 요청을 수행하기 위해 해야할 행동을 표시하는 용도로 사용한다. 이 HTTP 메소드 중 GET과 POST의 특징과 차이점을 알아보자 GET GET은 서버로 부터 정보를 조회하기 위해 설계된 메소드 이다. GET은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송한다. URL의 끝에 ? 와 함께 이름의 값으로 쌍을 이루는 요청 파라미터를 쿼리스트링 이라고 한다. 만약, 요청 파라미터가 여러개 이면 & 으로..