HTML HTML은 HyperText Markup Language의 약자로 웹 페이지를 구성하는 마크업 언어이다. (마크업 언어 : 태그 등을 이용해 문서나 데이터의 구조를 명기하는 언어) HTML은 웹 페이지의 내용과 뼈대를 정해진 규칙대로 기술하는 언어이다. 1.
본인은 Mac OS이기 때문에 사전에 설치해둔 iterm2로 실습을 진행하였다.터미널은 CLI(Command-Line Interface)이다. 즉 입력하는 글자와 출력되는 글자로 컴퓨터와 소통한다. 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간을 프롬프트라고
Linux OS를 만든 토르발즈가 만든 일종의 프로그램으로 쉽게 말해 파일을 관리해주는 프로그램이다.여기서 파일을 관리해준다는 것은 다음을 의미한다.파일의 변경 사항을 추적하며, 사용자가 각 파일의 버전을 관리할 수 있게 도와준다.파일을 백업할 수 있게 해준다.협업자들
제목에 적어 놓은 것 들을 알아보기 전에 잠깐 자바의 특징을 살펴본다면,운영체제에 독립적객체 지향 언어(Object Oriented Programming, OOP)함수형 프로그래밍 지원자동 메모리 관리(Garbage Collection)으로 볼 수 있다.
하나의 값 또는 여러 개의 값을 피연산자로 하여 새로운 값을 만들어내는 기호를 의미한다.산술 연산자는 사칙연산에 사용되는 연산자(+, -, \*, /)와 나머지 연산자(%)을 포함한다.산술 연산자의 동작은 우리가 알고 있는 일반적인 수학 연산과 거의 동일하다.용례는 다
반복문은 코드들이 반복적으로 실행되도록 할 때 사용되며, 반복문의 종류로는 for문, while문, do-while문이 있다. for문은 반복횟수를 알고 있을 때 주로 사용하고, while문은 조건에 따라 반복할 때 주로 사용한다.for문은 조건식이 참인 동안 주어진
배열이란, 동일한 타입의 값들을 하나의 묶음으로 묶은 자료 구조를 의미한다. 즉, 값들이 같은 의미를 지니면서 서로 연관성이 있을 때, 이들을 하나의 덩어리로 묶을 수 있으며, 이렇게 묶여진 값들의 집합을 배열이라고 한다.배열은 아래와 같이 값을 넣어줄 수 있다.배열을
클래스(Class)란 객체를 정의한 '설계도(blueprint)' 또는 '틀(frame)'이라 정의할 수 있다.즉, 클래스는 객체를 생성하는데 사용되며, 반대로 객체는 클래스에 정의되고 설계된 내용 그대로 생성된다.여기서 꼭 기억하고 넘어가야 할 한 가지는, 클래스는
필드는 '클래스에 포함된 변수'를 의미하는 것으로 객체의 속성을 정의할 때 사용된다.자바에서 변수는 크게 클래스 변수(cv, class variable), 인스턴스 변수(iv, instance variable), 그리고 지역 변수(lv, local variable)라는
생성자(constructor)란 객체 지향 프로그래밍에서 객체를 초기화하기 위해 사용하는 제어자이다.반환값 : 생성자는 인스턴스를 생성해주는 역할을 하는 특수한 메소드이며 다른 메소드와는 다르게 반환값이 없다.이름 : 생성자의 이름은 클래스의 이름과 동일하게 사용하기로
상속이란 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미한다.이러한 상속은 캡슐화, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나이다.상속을 이용하면 기존의 정의되어 있던 클래스의 모든 필드와 메소드를 물려받아,
다형성(polymorphism)이란 한 타입의 참조변수를 통해 여러 타입의 객체를 참조할 수 있도록 만든 것을 의미한다.구체적으로, 상위 클래스 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한 것이라 할 수 있다.위의 예제처럼 상위 클래스의 타입
열거형(enum; enumerated type)은 서로 연관된 상수들의 집합을 의미한다.열거형을 선언하는 법은 간단하다.사계절을 예로 들어 열거형으로 선언해보겠다.참고로 상수는 관례적으로 대문자로 작성한다.또한 각각의 열거 상수들은 객체이기 때문에, 위의 예시에서 Se
컬렉션 프레임워크는 특정 자료구에 데이터를 추가하고, 삭제하고, 수정하고, 검색하는 등의 동작을 수행하는 편리한 메서드들을 제공해준다.List는 데이터의 순서가 유지되며, 중복 저장이 가능한 컬렉션을 구현하는 데에 사용된다.ArrayList, Vector, Stack,
에너테이션은 소스 코드가 컴파일되거나 실행될 때에 컴파일러 및 프로그램에게 필요한 정보를 전달해주는 문법 요소이다.애너테이션은 @Override 처럼 @로 시작하며, 클래스, 인터페이스, 필드, 메서드 등에 붙여서 사용할 수 있다.JDK에서 제공하는 애너테이션의 종류에
자바에서는 입출력을 다루기 위해 InputStream, OutputStream을 제공한다. 스트림은 단방향으로만 데이터를 전송할 수 있기에, 입력과 출력을 동시에 처리하기 위해서는 각각의 스트림이 필요하다.실습하는 코드와 같은 디렉토리에 codestates.txt라는
실행 중인 애플리케이션을 의미한다.데이터, 컴퓨터 자원, 스레드로 구성된다.데이터와 애플리케이션이 확보한 자원을 활용해 소스 코드를 실행한다.자바에서 제일 먼저 실행되는 main 메서드를 메인 스레드가 실행시켜준다.main 메서드의 코드를 처음부터 끝까지 순차적으로 실
부트캠프를 시작하기 전에 할 수 있을까 걱정했던 게 엊그제 같은데, 벌써 부트캠프를 시작한 지도 한 달이 되어간다...걱정과는 달리 그래도 주어진 하루 일과나 과제들을 잘해나가는 나를 볼 수 있었다.부트캠프의 초반은 완전 기초 지식이었기 때문에 전공자였던 나에게는 그리
사전적 용어로는 '원래 자리로 되돌아가거나 되돌아옴'이라는 뜻이다.그렇다면 재귀함수는 사전의 뜻과 비슷하게 함수를 선언할 때 선언한 함수를 그 함수 안에서 계속 호출해주는 메서드라고 할 수 있다.위와 같이 호출하게 되면 출력값이 무한히 반복되는 것을 볼 수 있을 것이다
Stack은 말 그대로 데이터를 순서대로 쌓는 자료구조이다.가장 먼저 들어간 데이터가 가장 나중에 나올 수 있다.자료구조 Stack의 특징은 출력이 하나의 방향으로 이루어지는 제한적 접근에 있다.이런 구조를 LIFO라고 부른다.Stack에 데이터를 넣는 것을 'push
데이터가 바로 아래에 있는 하나 이상의 데이터에 무방향으로 연결된 계층적 자료구조이다.하나의 데이터 아래에 여러 개의 데이터가 존재할 수 있는 비선형 구조이다.트리구조는 계층적으로 표현되고, 아래로만 뻗어나가기 때문에 사이클이 없다는 특징이 있다.깊이(depth)트리
트리를 순회하는 방법(Tree traversal)에는 3가지 방법이 있다.첫 번째는 전위 순회(preorder traversal), 두 번째는 중위 순회(inorder treversal), 세 번째는 후위 순회(postorder traversal)이다.이는 루트와 왼쪽
알고리즘 문제를 풀다보면 해답을 찾는 것도 중요하지만좀 더 효율적으로 문제를 해결하는 방법에 대해 고민하게 된다. 이럴 때 필요한 것이 시간 복잡도를 고려하는 것이다.시간 복잡도를 고려한다는 것은 '입력값의 변화에 따라 연산을 실행할 때, 연산 횟수에 비해 시간이 얼마
REST API에 대해 알아보기 전에 먼저 REST가 무엇인지에 대해 알아보자.REST란 "Representational State Transfer"의 약자로 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다.즉, 자원(r
기존과 다른 프로그램 구조 사고 방식을 제공함으로써 객체 지향 프로그래밍(OOP)의 부족한 부분을 보완한다.OOP의 모듈화의 핵심 단위는 클래스이고, AOP의 모듈화의 핵심 단위는 관점이다.Aspect는 여러 유형과 객체 간에 발생하는 문제 (ex - 트랜잭션)의 모듈
시간 참 빠르다.벌써 부트캠프 시작한 지 두 달이 되어간다.첫 회고에 비해 실력이 늘었는가? 그건 잘 모르겠다.앞으로 더 열심히 해야겠다.스프링 그놈 참 어렵다..목표 상기하기저번 회고를 보면 백준 문제 1일 1커밋이랑 배운 내용 복습,그리고 수면 패턴에 대해 얘기했었
spring security 간략한 인증 흐름은사용자가 로그인 request를 Spring Security가 적용된 애플리케이션에 전송한다.그러면 그 요청을 많은 필터 들 중에서 UsernamePasswordAuthenticationFilter가 해당 요청을 전달받는다
사용자 인증에 성공했다고 모든 리소스에 마음대로 접근할 수 있는 것은 아니다. 리소스마다 어떤 권한이 부여되어야만 해당 리소스에 접근할 수 있는 것이다.사용자의 액세스를 제한하는 권한 부여 Filter가 AuthorizationFilter이다.AuthorizationF
JWT(JSON Web Token)는 데이터를 안전하고 간결하게 전송하기 위해 고안된 인터넷 표준 인증 방식으로써 토큰 인증 방식에서 가장 범용적으로 사용되며 JSON 포맷의 토큰 정보를 인코딩 후, 인코딩된 토큰 정보를 Secret Key로 서명(Sign)한 메세지를