본문 바로가기

전체 글226

[JAVA] Getter와 Setter 메소드 Setter Car myCar = new Car(); myCar.speed = -100; 위의 코드처럼 자동차의 속력은 음수가 될 수 없는데, 외부에서 음수로 변경하면 객체의 무결성이 깨진다. (객체의 필드를 외부에서 마음대로 읽고 변경할 경우 객체의 무결성이 깨질 수 있다.) 무결성: 결점이 없는 성질 따라서 객체 지향 프로그래밍에서는 직접적인 외부에서의 필드 접근 대신 메소드를 통해 필드에 접근하는 것을 선호한다. 그 이유는? 메소드는 데이터를 검증해서 유효한 값만 필드에 저장할 수 있기 때문이다. 이러한 역할을 하는 메소드가 Setter이다. private double speed; public void setSpeed(double speed){ if(speed < 0){ this.speed = 0;.. 2023. 12. 18.
[WEB] 세션 VS 쿠키 차이점 HTTP 는 클라이언트가 누구인지 매번 확인해야하는 특성을 보완하기 위해 쿠키와 세션을 사용한다. 쿠키(Cookie) [정의 및 특징] 클라이언트(브라우저/개인 컴퓨터)로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지 클라이언트 상태정보를 로컬(브라우저)에 저장 후 참조 사용자가 따로 요청하지 않아도 브라우저가 Request 시에 Request Header를 넣어 자동으로 서버에 전송 [동작 방식] 클라이언트가 페이지를 요청 서버에서 쿠키 생성 HTTP 헤더에 쿠키를 포함시켜 Response 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관 같은 요청을 할 경우 HTTP 헤더에 쿠키.. 2023. 12. 11.
[WEB] GET과 POST의 차이 1. HTTP Method HTTP Method는 클라이언트가 서버에 요청의 목적 및 종류를 알리는 수단이다. HTTP Method의 종류는 다음과 같다. GET POST PUT DELETE GET은 서버에서 데이터를 조회할 때 사용 - CRUD 기능에서: Read(조회) POST는 서버에 데이터를 생성할 때 주로 사용 - CRUD 기능에서 CREATE(생성) 2. GET 방식 GET 방식은 HTTP Method 중 하나로 주로 서버에 데이터를 조회할 때 사용 URL을 통해 모든 파라미터를 전달하기 때문에 주소창에 전달 값이 노출되고, URL 길이가 제한이 있기 때문에 전송 데이터 양이 한정되어 있고, 형식에 맞지 않으면 인코딩해서 전달해야 한다. URL에 파라미터가 노출되기 때문에 GET 방식은 보안 .. 2023. 12. 11.
[TS] type VS interface 차이점 타입스크립트에서 타입을 선언할 때 type 키워드와 interface 키워드를 사용할 수 있다. 이 두가지 키워드의 공통점으로는 둘 다 객체의 모양을 특정하여 타입스크립트에게 알려주기 위해 사용한다는 것이다. 일반적으로 type은 자료형을 만들 때 사용하고 interface는 객체의 형태를 작성할 때 사용하는 것으로 보는 것이 바람직하다. type 객체의 타입을 string, boolean 등과 같은 concrete 타입이 아닌 특정 값으로 한정지을 때 아래와 같이 사용할 수 있다. type Color = 'red' | 'blue' | 'green' type 키워드의 일반적인 사용 type Player = { nickname: string, healthBar: number } const Lee: Play.. 2023. 11. 1.
[TS] 타입스크립트 데이터 타입의 종류 let myname:string = "lee"; 위의 코드처럼 타입스크립트는 변수 선언 시 데이터 타입을 지정한다. 이렇게 하면 타입스크립트를 자바스크립트로 컴파일 할 때 데이터 타입에 다른 값이 할당되려 할 때 오류를 발생시켜 개발자에게 알려준다. 이를 통해 코딩할 때 버그를 잡을 수 있다. 타입스크립트 데이터 타입 종류 기본 데이터 타입 number: 숫자 타입으로, 정수와 실수를 포함 string: 문자열 타입 boolean: 참(true)과 거짓(false)을 나타내는 불리언 타입 null: 값이 없음을 나타내는 타입 undefined: 값이 할당되지 않은 변수의 기본값인 타입 사용 예시) //number 타입 let age:number = 30; //string 타입 let car:string .. 2023. 10. 30.
[TS] 타입스크립트를 사용하는 이유 TypeScript? 타입스크립트는 자바스크립트의 기본적인 틀을 가져가면서 거기에 타입 지정이라는 옵션을 얹은 것이라고 생각하면 된다. 초창기의 웹페이지는 지금의 웹페이지처럼 사용자와 인터랙티브한 기능이 많지 않았고, 도서관에서 책을 꺼내보듯이 인터넷 생태계에 많은 양의 정보를 저장해두고 꺼내보는 형식이었다. 그래서 자바스크립트는 견고한 구조를 짜기보다는 빠르게 어떤 기능을 만들기 위해 개발된 언어였다. 그러나 복잡한 웹앱들이 등장하고 프론트 쪽에서 할 일이 많아짐에 따라 견고한 프로그램이 만들어질 필요성이 요구되자 다른 정적 타입 언어들처럼 자바스크립트에도 견고하게 만들 수 있는 언어의 기능이 필요해졌다. 그래서 등장한 것이 타입스크립트이다. 자바스크립트(Javascript) VS 타입스크립트(Type.. 2023. 10. 30.
라이브러리(Library) VS 프레임워크(Framework) 사전적 의미 라이브러리(Library) 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임이다. 여기에는 구성 데이터, 문서, 도움말 자료, 메시지 틀, 미리 작성된 코드, 서브루틴, 클래스, 값, 자료형 사양을 포함할 수 있다. -위키백과 프레임워크(Framework) 컴퓨터 프로그래밍에서, 소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조(骨組), 프레임워크(framework)라고도 한다. -위키백과 라이브러리(Library) 특정 기능을 모아둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미한다. 사용 예시) Python pip으로 설치한 패키지/모듈(tenso.. 2023. 10. 25.
[Next] Next.js에서 라우팅 사용법 사용자가 접속한 URL의 path에 따라서 콘텐츠를 응답해주는 작업을 '라우팅'이라고 한다. 어떤 프레임워크든 그 중심에는 반드시 라우팅이 있고 이것은 웹개발의 가장 중요한 요소 중 하나이다. app의 layout.js import Link from 'next/link' import './globals.css' export const metadata = { title: 'WEB', description: 'Generated by kangin', } export default function RootLayout({ children }) { return ( WEB html css {children} Create Update ) } app의 page.js import Image from 'next/image'.. 2023. 10. 24.
[Next] Next.js 시작하기 (설치 방법) Next.js 를 시작하려면 우선적으로 설치되어야 하는 것이 있다. Node.js VSCode Node.js 설치하러 가기(LTS 버전 추천) https://nodejs.org/ko Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org VSCode 설치하러 가기(자신이 쓰는 에디터가 있다면 SKIP!) https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging mod.. 2023. 10. 24.