전체 글

전체 글

    [JAVA] 연산자(1) 연산자의 종류와 우선 순위, 결합 규칙

    연산자는 연산을 수행하는 기호를 의미하며, 사칙 연산자 논리 연산자 등 다양한 연산자가 존재한다. 연산자가 연산을 수행 할 때는 연산의 대상이 있어야 하는 데, 이를 피연산자라고 한다. 연산자와 피연산자를 조합해 계산하고자 하는 바를 표현한 것을 식이라고 하며, 식을 계산하면 얻는 결과를 평가라고 한다. 연산자의 종류 종류 연산자 설명 산술 연산자 + - * / % > 사칙 연산자와 같은 연산자 비교 연산자 > = y - 2 // 산술 연산자가 비교 연산자보다 먼저 수행된다. X > 3 && x < 5 // 비교 연산자가 논리 연산자보다 먼저 수행된다. result = x + y // 대입 연산자는 연산자 중에서 우선 순위가 제일 낮다. 하나의 식에 같은 우선 순위의 연산자가 여러개가 있는 경우, ..

    [Spring] 스프링 컨테이너 생성

    해당 게시글은 김영한님의 스프링 핵심 원리 - 기본편의 강좌 정리 입니다. 내용 및 소스 출처 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Appconfig.class) ApplicationContext는 스프링 컨테이너라고 하며, 인터페이스다. 스프링 컨테이너는 XML 혹은 애노테이션 기반의 자바 설정 클래스를 만들 수 있지만 요즘은 애노테이션을 많이 사용한다. 스프링 컨테이너를 생성 ..

    [HTTP] HTTP Header에 대해서 알아보자(1)

    HTTP Header에는 HTTP 전송에 필요한 모든 부가 정보가 담겨있다. ex) 서버 정보, 캐시 정보, 메세지 바디의 크기 ... 최신인 RFC7230에서는 메세지 본문을 통해 표현 데이터를 제공하며, 이를 페이로드(payload)라고 한다. 표현은 요청이나 응답에서 실제로 사용할 수 있는 데이터를 뜻하며, 표현 헤더는 표현 데이터를 해석할 수 있는 정보인 데이터 유형, 압축 정보, 데이터 길이등을 제공한다. 표현 헤더 표현 헤더는 응답과 요청에 모두 사용되며, 아래의 4가지가 있다. Content-type : 표현 데이터 형식 Content-Encoding : 표현 데이터 압축 방식 Content-Language : 표현 데이터의 자연 언어 Content-Length : 표현 데이터의 길이 Con..

    [Node JS] Body-parser 사용하기

    body-parser는 Node.JS의 모듈 중 하나로, 클라이언트가 보내는 Request Data의 Body로부터 파라미터를 편리하게 추출 할 수 있다. method : post url : http://localhost:8080 data : { id : "admin", pw : "1234" } 위의 요청을 처리하는 코드를 짜보자. const express = require("express") const app = express() app.post("/", (req,res) => { const {id, pw} = req.body console.log(id, pw) }) const port = 8080 app.listen(port, () => console.log(`SERVER ON PORT : ${por..

    [React] useRef 사용하기.

    JavaScript로 개발을 할 때는 특정 태그를 잡기 위하여, getElementById, getElementByClass, querySelector와 같은 DOM 선택자를 사용해서 특정 태그, DOM을 선택 하였다. 리액트에서도 가끔 DOM을 선택할 필요가 있을 때가 있으며, 그 때 사용하는 것이 useRef 훅이다. useRef를 생성하고, 태그의 ref 속성으로 생성한 useRef와 연결하여 사용한다. import { useRef } from 'react' export default function Page() { const inputTag = useRef() return } DOM 객체의 current.focus()를 이용하면, 원하는 객체를 선택하게 할 수 있다. current.focus()와..

    [React] INPUT 관리하기.

    React에서 사용자가 데이터를 입력할 수 있는 INPUT을 관리하는 방법에 대해서 알아보자. useState를 이용해서 input 하나를 관리를 해보고, 여러개를 관리해본다. 1. INPUT 1개 관리하기 input 태그의 onChange와 useState의 Set 함수를 연결하여 관리한다. onChange는 이벤트 중 하나로, 변화가 있을 때 마다 실행된다. 그러기에, INPUT의 변화가 있을 때 마다 즉 사용자가 INPUT에 입력 할 때 마다 그 값을 text에 저장한다. import { useState } from 'react' export default function App() { const [text, setText] = useState() // text 상태 관리 const onChange..

    [Spring] Spring Boot 프로젝트 배포

    해당 강좌는 EC2 혹은 개인 서버가 있다는 가정하에 진행 합니다. 0. 프로젝트 Java : 11 Gradlew Project GitHub - pino-hoo/RockPaperScissors Contribute to pino-hoo/RockPaperScissors development by creating an account on GitHub. github.com 1. Git Clone 배포를 희망하는 프로젝트를 Git에 업로드하고, clone 받는다. # git clone [주소] git clone https://github.com/pino-hoo/RockPaperScissors.git 2. Java 설치 프로젝트 버전에 맞는 JDK를 설치한다. sudo apt-get install openjdk-1..

    [Nest JS] Nest JS 시작하기.

    Documentation | NestJS - A progressive Node.js framework Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functional Reac docs.nestjs.com NestJS NestJS는 Node.JS 기반의 웹 API Framework로 Express 혹은 Fastify Frame..

    [JavaScript] Map, Filter, Reduce

    MAP() 배열에 접근해 콜백 함수를 통해 새로운 값으로 정의하고 신규 배열을 만들어 반환하는 함수로, 배열을 순회할 때 주로 사용된다. 사용 방법은 arr.map(() => {})이며, 새로운 변수에 저장하거나, log와 같은 이벤트 연결 혹은 UI를 보여줄 수 있다. const arr = [1, 2, 3] // 배열 arr의 값을 2배로 곱한 새로운 배열 반환해 mapArr에 저장 const mapArr = arr.map(item => item*2) console.log(mapArr) // [2, 4, 6] map()의 매개 변수는 value, index, source가 차례로 오게되며, 각각 value는 각 요소의 값, index는 순서, source는 순회 중인 배열이며, 모든 매개 변수를 사용할..

    [JavaScript] 이터러블(interable), 이터레이터(iterator), 제네레이터(Generator)

    이터러블(interable) 이터레이터를 리턴하는 [Symbol.iterator] 메소드를 가지고 있는 자료를 반복할 수 있는 객체다. 우리가 많이 사용하는 배열도 이터러블이며, 이터러블은 for of문으로 순회 할 수 있다. 만약 [Symbol.iterator] 메소드를 제거한다면, for of문으로 순회 할 수 없게 된다. const arr = [1, 2, 3] for(const a of arr) console.log(a) // 1, 2, 3 //[Symbol.iterator]를 없애본다면? arr[Symbol.iterator] = null for(const a of arr) console.log(a) // ERROR 이터레이터(iterator) 이터러블 객체의 [Symbol.iterator] 메소드..