목록전체 글 (25)
일상
1. 타입스크립트 이해 - 집합number 타입과 number literal 타입타입 호환성 : 어떤 타입을 다른 타입으로 취급해도 괜찮은지 판단하는 것더 큰 타입의 값을 더 작은 타입의 값에 할당하는 것은 불가업캐스팅(UpCasting) : 작은 곳에서 큰 곳으로 (모든 상황에 가능)다운캐스팅(DownCasting) : 큰 곳에서 작은 곳으로 (대부분의 상황에 X)let num1 : number = 10;let num2 : 10 = 10;num1 = num2; //업캐스팅 num2 = num1; //에러2. 타입 계층도/** * Unknown 타입 : 전체 집합 (모든 타입들을 포함) */function unknownExam() { //업캐스팅 (가능) let a: unknown = 1; let ..
1. Typescript 소개자바스크립트를 더 안전하게 사용할 수 있도록 타입 관련 기능들을 추가한 언어등장 배경기존의 Javascript는 웹 브라우저에서만 사용 가능, 유연한 문법 및 버그 발생 가능성이 높았음node.js 의 등장으로 자바스크립트의 런타임 (실행 환경 = 구동기) 의 등장으로 어디서든 자바스크립트 구동이 가능하게 됨따라서 Javascript의 활용도 증가에 따른 버그 발생 가능성을 낮추기 위해 안정성을 추가한 Typescript 등장2. 특징타입 시스템정적 타입 시스템 : 코드 실행 이전에 모든 변수의 타입을 고정적으로 결정함 (C, Java)동적 타입 시스템 : 코드를 실행하고 나서 그때 그때마다 유동적으로 변수의 타입을 결정함 (Python, Javascript)Javascrip..
1. React 기초1-1. React 1-2. 화살표 함수const handleClick = () => { alert("React 처럼 이벤트 처리"); console.log("화살표 함수로 이벤트 처리"); };1-3. 구조 분해 할당 // 2. 구조 분해 할당 (destructuring assignment) - React props 와 useState 필수 const user = { name: "손흥민", age: 33, city: "LA" }; // user 객체의 변수 정보가 아주 많다고 가정 // user 객체의 일부 name 과 city 만 필요하여 추출하여 새로운 객체로 만들고자 함 // 객체의 주솟값을 비교하므..
1. JPA1-1. 기본 application.properties 와 build.gradleapplication.propertiesspring.application.name=spring-jpa-rest-study1# suppress inspection "UnusedProperty" for whole file# MySQL 데이터베이스 연결 설정spring.datasource.url=jdbc:mysql://localhost:3306/kosa?serverTimezone=UTCspring.datasource.username=joyofbeingspring.datasource.password=1234spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver# JPA..
1. TDD (Test Driven Development)1-1. TDD개발 방법론 중 하나로, 코드 작성 전에 먼저 테스트 코드를 작성하는 방식JUnit : TDD 를 위한 자바 테스트 프레임워크 Given - When - Then Pattern : 하나의 테스트 시나리오를 작성하는 구조 또는 패턴Given : 테스트를 위한 초기 상태를 설정 (예 : "잔액이 10000원인 계좌가 있다")When : 테스트하고자 하는 행동을 정의 (예 : "5000원을 출금한다")Then : 그 행동의 예상 결과를 검증함 (예 : "계좌 잔액이 5000원이 되어야 한다")TDD 방법론을 따라 개발할 때 JUnit 이라는 테스트 프레임워크를 이용해 테스트 코드를 작성하며, 그 테스트 코드를 Given-When-Then ..
1. Spring MVC1-1. 복습JSP사용자 요청 -> jsp -> java -> class - > Servlet 실행 -> html로 응답Thymeleaf사용자 요청 -> Spring Controller -> Template 엔진 -> Thymeleaf 템플릿으로 html 파싱 (응답) -> 일반 html 로 응답Spring MVC : Java Web Application 을 효과적으로 설계, 개발, 운영할 수 있도록 기반을 제공한다.다양한 디자인(설계) 패턴과 컴포넌트를 제공Spring MVC에 내장된 디자인 패턴 : MVC, FrontController, Factory, Command, Singleton PatternSpring MVC 의 요청과 응답까지의 흐름client 가 request 하면..
1. Spring1-1. Spring 관련 용어Library : 라이브러리, 재사용 가능한 프로그램들의 모음jar : 자바 프로그램 압축 확장자 war : 자바 웹 어플리케이션 확장자component : 독립적 기능 단위를 가진 부품, 부품화되는 요소Bean : 자바 컴포넌트, Spring 에서 관리하는 컴포넌트(객체)API(Application Programming Interface) : 응용 프로그램을 개발하기 위해 제공하는 인터페이스Framework : frame(틀)+work(일) = 일을 잘되게 하기 위한 틀반완전한 어플리케이션으로 가능한 모든 요소를 지원하여 비즈니스에 집중하도록 함Spring Framework : 자바 어플리케이션의 설계, 구현, 테스트, 운영에 대한 infrastructur..
1. Software Architecture소프트웨어 설계 양식 : 소프트웨어의 전체 구조를 표현하며 소프트웨어 구성요소(component) 사이의 관계를 정의한다.초기 웹 개발 방식 (1990년대 후반 ~ 2000년대 초반)JSP DatabaseModel 1 Architecture (2000년대 초반 ~ 중반)JSP java beans(Dao, Service 등) DatabaseModel 1에서 java bean 은 java component 를 의미한다.java bean 은 business logic 과 data access logic 을 담당한다.Jsp는 요청을 분석하여 java bean 과 연동하는 역할과 응답을 전담하는 view 역할을 한다.이후Model 2 Architecture (200..
1. HTTP웹 클라이언트 브라우저 동작 원리웹 어플리케이션 서버에 요청(Request)을 하여 응답(response)받으면 HTTP Response Message를 해석한다. HTML을 읽는다 -> HTML을 파싱한다 -> DOM Tree를 생성한다 -> Render Tree 가 생성된다.(CSS와 결합) -> 브라우저에 표시된다.HTTP : HyperText Transfer Protocol HTTPS : HTTP Secure : 보안 http protocol, 암호화된 버전 1-1. HTTP Request 메시지 구조POST /user-login HTTP/1.1 ← 요청 라인 (Request Line) : 메소드 url http..
1. Web 개요1-1. Web 이란?전 세계 컴퓨터들이 인터넷으로 연결되어 정보를 주고받는 거대한 네트워크웹 브라우저를 통해 텍스트, 이미지, 동영상 등 다양한 정보에 접근할 수 있다. URL 주소를 입력하여 전 세계 어디서든 원하는 웹페이지를 조회한다.1-2. Web Server정보를 제공하는 컴퓨터로, 웹페이지 파일들을 저장한다.사용자 웹페이지 요청 시 해당 파일을 찾아 전송한다. 24시간 운영되어 언제든지 웹페이지를 제공한다.1-3. Client정보를 요청하는 사용자이다.웹 브라우저(Chrome, Firefox, Safari 등)를 사용하는 사용자 또는 컴퓨터를 지칭한다.웹 서버에게 웹페이지를 요청하고, 서버로부터 받은 웹페이지를 화면에 표시한다.1-4. 웹 전체 동작 과정사용자(클라이언트)가 웹..