🌊

공부한 것을 기록하는 블로그입니다.🙂
Hits

[javascript] ES6+ 핵심 문법 정리 2

0) Intro javascript 문법 공부를 위해 Inflearn에 있는 강의를 듣고 정리한 글입니다. 코딩앙마님의 자바스크립트 중급 강좌 1) 나머지 매개변수와 전개 구문 arguments 함수로 넘어 온 모든 인수에 접근 함수내에서 이용가능한 지역 변수 Array 형태의 객체 배열의 내장 메서드가 없음. (forEach, map) arguments.length → arguments의 갯수 반환 code function showName(name) { console.log(arguments.length); console.log(arguments[0]); console.log(arguments[1]); } showName("slow", "wave"); //2 //slow //wave 나머지 매개변수(Rest parameters) ES6+부터는 나머지 매개변수 사용을 권장하고 있음. code //나머지 매개변수 function Movie(id, rating, ....

June 12, 2023 · 5 min · 873 words · Me

[토비의 스프링 3.1] 9장 정리

스프링을 이용해 애플리케이션 프로젝트를 처음 구성할 때 알아야할 내용을 알아보자. 스프링 개발에 도움이 되는 개발 툴과 빌드 방법도 살펴보자. 스프링을 애플리케이션에 적용할 수 있는 아키텍처의 종류와 특징에 대해서 알아보자. 자바 엔터프라이즈 플랫폼과 스프링 애플리케이션 스프링으로 만들 수 있는 애플리케이션의 종류에는 제한이 없음. 자바 언어를 사용하는 모든 종류의 프로젝트라면 어디든 사용할 수 있음. 스윙이나 이클립스 RCP로 만드는 독립형 프로그램 애플릿이나 모바일 애플리케이션 개발 스프링을 핵심 엔진으로 사용하는 엔터프라이즈 미들웨어 제품 스프링은 주로 자바 엔터프라이즈 환경에서 동작하는 애플리케이션을 개발하는 목적으로 사용됨....

April 9, 2023 · 3 min · 442 words · Me

[토비의 스프링 3.1] 8장 정리

스프링이란 무엇인가? 스프링 프레임워크가 만들어진 이유와 존재 목적, 추구하는 가치는 무엇일까? 스프링의 정의 스프링 : 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 애플리케이션 프레임워크 : 특정 계층이나, 기술, 업무 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크임. 애플리케이션 개발의 전 과정을 빠르고 편리하며 효율적으로 진행하는데 일차적인 목표를 두는 프레임워크임. 스프링의 탄생 스프링의 기원은 로드 존슨 책의 예제 코드임. 책에서 강조한 중요한 전략의 하나는 ‘항상 프레임워크로 접근하라’라는 것임....

April 2, 2023 · 5 min · 959 words · Me

[토비의 스프링 3.1] 7장 정리

스프링의 3대 핵심 기술인 IoC/DI, 서비스 추상화, AOP를 애플리케이션 개발에 활용해보자. SQL과 DAO의 분리 SQL을 적절히 분리해 DAO 코드와 다른 파일이나 위치에 두고 관리하자 분리 방법 XML 설정을 이용한 분리 - SQL을 스프링의 XML 설정파일로 빼기 SQL 맵 프로퍼티 방식 - SQL을 하나의 컬렉션으로 담아두기. 맵의 키 값을 이용해 SQL 문장을 가져오게함. 스프링의 설정파일 안에 SQL을 두면 SQL과 DI 설정정보가 섞여 관리하기 어렵다는 문제가 있음. 해결) 독립적인 SQL 제공 서비스가 필요함....

March 5, 2023 · 9 min · 1882 words · Me

[project] 토이 프로젝트 리팩토링 1 - REST API

최근에 영화 리뷰를 저장할 수 있는 웹 서비스를 개발하는 토이 프로젝트를 진행했습니다. MERN(MongoDB, Express, React, Node) 스택으로 개발했으며 TMDB API의 영화 정보를 활용했습니다. 왓챠피디아 같은 커뮤니티형보다는 개인 기록형 영화 리뷰 저장소를 만드는 것을 목표로 했습니다. 그래서 주 기능은 1) 영화를 탐색하고 2) 북마크하고 3) 리뷰를 작성하는 것입니다. 정의한 요구사항 대로 구현하니 기능은 잘 동작하지만 코드 상에는 많은 문제와 개선해야 할 점이 있다는 것을 알게되었습니다. 점차적으로 개선하면서 공부한 것들을 기록하려고 합니다. 제가 생각하는 가장 큰 문제는 잘못 설계된 HTTP API입니다....

February 20, 2023 · 4 min · 685 words · Me

[javascript] 모던 자바스크립트 Deep Dive , 원시 값과 객체의 비교

1. 원시 값과 객체의 비교 0) 정리 자바스크립트의 데이터 타입 원시 타입(primitive type): 숫자, 문자열, 불리언, null, undefined, symbol 객체 타입(object/reference type): 객체 원시 타입 vs. 객체 타입 원시 타입 객체 타입 변경가능한가? immutable mutable 변수에 할당시 확보된 메모리 공간에는 어떤 값이 저장되는가? 실제 값 참조 값 변수를 다른 변수에 할당할 때 전달 방법은? 값에 의한 전달 참조에 의한 전달 1) 원시 값 원시 타입의 값은 변경 불가능한 값이다. (한번 생성된 원시 값은 읽기 전용 값임....

February 9, 2023 · 3 min · 562 words · Me

[javascript] 모던 자바스크립트 Deep Dive , 객체 리터럴

10장 객체 리터럴 1) 객체란? 자바스크립트는 객체(object) 기반의 프로그래밍 언어다. 원시값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체다. 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조다. 객체 타입의 값은 mutable value다. (변할 수 있는 값) 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 key-value로 구성된다. 객체는 프로퍼티와 메서드로 구성된 집합체다. 프로퍼티 : 객체의 상태를 나타내는 값 메서드 : 프로퍼티를 참조하고 조작할 수 있는 동작 객체지향프로그래밍 : 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임 2) 객체 리터럴에 의한 객체 생성 자바스크립트는 프로토타입 기반 객체지향 언어로서 다양한 객체 생성 방법을 지원함....

February 7, 2023 · 2 min · 415 words · Me

[토비의 스프링 3.1] 6장 정리

Intro AOP는 IoC/DI, 서비스 추상화와 더불어 스프링의 3대 기술임. 단위 테스트 작은 단위의 테스트가 더 좋음. → 테스트 실패시 원인을 찾기가 쉬움. 테스트 단위가 작아야 테스트의 의도나 내용이 분명해짐. 테스트의 대상이 환경이나, 외부 서버, 다른 클래스의 코드에 종속되고 영향을 받지 않도록 고립시킬 필요가 있음. → 테스트 대역 사용 통합테스트 - 두 개 이상의 성격이나 계층이 다른 오브젝트가 연동하도록 만들어 테스트하거나, 또는 외부의 DB나 파일, 서비스 등의 리소스가 참여하는 테스트 단위테스트 vs....

February 5, 2023 · 11 min · 2200 words · Me

[javascript] ES6+ 핵심 문법 정리

0) Intro javascript 문법 공부를 위해 Inflearn에 있는 강의를 듣고 정리한 글입니다. 두 강의 모두 자바스크립트 문법을 공부하는데 많은 도움이 되어 추천하고 싶습니다. 코드 예제의 경우 공부를 위해서 변형한 부분이 있습니다. 이룸코딩님의 자바스크립트 ES6+ 기초 핵심 문법 코딩앙마님의 자바스크립트 중급 강좌 1) 블록 범위 생성자 스코프 스코프는 변수에 접근 가능한 범위임. 종류 함수 레벨 스코프: 함수 블록 내에서 선언된 변수는 함수 내에서만 접근 가능 기존의 변수 선언 키워드인 var는 함수 스코프 블록 레벨 스코프:함수를 포함한 모든 코드 블록(함수, if 문, for문, while문, try/catch 문등) 내에서 선언된 변수는 코드 블록 내에서만 접근 가능 let, const는 블록 스코프 var의 문제점 함수를 제외한 다른 코드 블록에서는 개별적인 스코프를 가질 수 없다는 문제점 있음....

January 31, 2023 · 11 min · 2317 words · Me

[토비의 스프링 3.1] 5장 정리 - 2

5.2 트랜잭션 서비스 추상화 트랜잭션 경계설정 트랜잭션 : 더 이상 나눌 수 없는 단위 작업임. 작업을 쪼개서 작은 단위로 만들 수 없다는 것은 트랜잭션의 핵심 속성인 원자성임. 중간에 예외가 발생해서 작업을 완료할 수 없다면 작업이 시작되지 않은 초기 상태로 되돌려놔야함. 하나의 SQL을 처리하는 경우 DB가 트랜잭션 보장함. 여러 개의 SQL이 사용되는 작업을 하나의 트랜잭션으로 취급해야하는 경우도 있음. 트랜잭션은 시작하는 지점과 끝나는 지점이 있음. 끝나는 방법은 두 가지임. 트랜잭션 롤백(transaction rollback): 두개의 SQL이 있을 때 두번째 SQL이 성공적으로 DB에서 수행되기 전에 문제가 발생할 경우 앞에서 처리한 작업도 취소시켜야 함....

January 29, 2023 · 6 min · 1201 words · Me