자바 스크립트
-
좋은 설계란 요구하는 기능을 정확하게 수행하며 변경을 매끄럽게 수용할 수 있는 설계. 나중에 변경하기 쉬운 코드. 변경하기 쉬운 코드란 곧 이해하기 쉬운 코드를 뜻한다. 그래서 이를 위해 패러다임과 아키텍처 디자인 양식을 따라야 한다. 객체란? 현실 세계의 물체나 개념을 소프트웨어로 옮긴 것. 객체는 여러 속성과 행동[메서드]으로 구성된다. 객체는 정보[데이터]와 그 정보를 처리하는 행동[메서드]을 가지고 있다. 객체지향이란 무엇일까? 소프트웨어 개발에서 구성 요소를 기능이 아닌 객체로 삼으며 어떤 객체가 어떤 일을 할 것인가 에 초점을 맞춘 것 즉, 객체를 도출하고 각자의 역할을 명확하게 정의하는 것에 초점을 맞추는 걸 뜻한다. 그래서 객체지향에서는 책임과 권한을 가진 객체들이 서로 메시지를 주고받아 ..
객체지향 프로그래밍: 핵심 원칙과 효과적인 설계 전략좋은 설계란 요구하는 기능을 정확하게 수행하며 변경을 매끄럽게 수용할 수 있는 설계. 나중에 변경하기 쉬운 코드. 변경하기 쉬운 코드란 곧 이해하기 쉬운 코드를 뜻한다. 그래서 이를 위해 패러다임과 아키텍처 디자인 양식을 따라야 한다. 객체란? 현실 세계의 물체나 개념을 소프트웨어로 옮긴 것. 객체는 여러 속성과 행동[메서드]으로 구성된다. 객체는 정보[데이터]와 그 정보를 처리하는 행동[메서드]을 가지고 있다. 객체지향이란 무엇일까? 소프트웨어 개발에서 구성 요소를 기능이 아닌 객체로 삼으며 어떤 객체가 어떤 일을 할 것인가 에 초점을 맞춘 것 즉, 객체를 도출하고 각자의 역할을 명확하게 정의하는 것에 초점을 맞추는 걸 뜻한다. 그래서 객체지향에서는 책임과 권한을 가진 객체들이 서로 메시지를 주고받아 ..
2023.09.02 -
오늘부터 하루에 100 페이지씩 공부한다. 해당 내용 중에 몰랐던 내용 복습해야 하는 내용을 정리해 나가도록 하겠다. ▣ 01장: 프로그래밍 1.3 구문과 의미 Colorless green ideas sleep furiously. Noam Chomsky '언어의 의미는 문맥에 있는 것이지 문법에 있는 것이 아니다.' 프로그래밍이란 결국 필요한 요구사항의 집합을 분석해서 자료구조와 함수의 집합으로 변환한 후 그 흐름을 제어하는 것. - 5p ▣ 02장: 자바스크립트란? ____2.3.1 Ajax 1999년도에 자바스크립트를 사용해 서버와 브라우저가 비동기(asynchronous) 방식으로 데이터를 주고 받을 수 있는 통신 기능인 Asychronous JavaScript and XML이 XMLHttpRequ..
모던 자바스크립트 Deep Dive 1~100p 배운내용 정리오늘부터 하루에 100 페이지씩 공부한다. 해당 내용 중에 몰랐던 내용 복습해야 하는 내용을 정리해 나가도록 하겠다. ▣ 01장: 프로그래밍 1.3 구문과 의미 Colorless green ideas sleep furiously. Noam Chomsky '언어의 의미는 문맥에 있는 것이지 문법에 있는 것이 아니다.' 프로그래밍이란 결국 필요한 요구사항의 집합을 분석해서 자료구조와 함수의 집합으로 변환한 후 그 흐름을 제어하는 것. - 5p ▣ 02장: 자바스크립트란? ____2.3.1 Ajax 1999년도에 자바스크립트를 사용해 서버와 브라우저가 비동기(asynchronous) 방식으로 데이터를 주고 받을 수 있는 통신 기능인 Asychronous JavaScript and XML이 XMLHttpRequ..
2023.08.22 -
이전에 기초적인 자바스크립트 메소드들이 없을때는 사설 메소드 패키지인 lowdash를 가져다 썼다고 한다. // _.take는 배열의 처음 n개의 element를 담은 새로운 배열을 리턴합니다. // n이 undefined이거나 음수인 경우, 빈 배열을 리턴합니다. // n이 배열의 길이를 벗어날 경우, 전체 배열을 shallow copy한 새로운 배열을 리턴합니다. _.take = (arr, n) => { // TODO: 여기에 코드를 작성합니다. // 두번째 매개변수가 없으면, 빈배열을 반환합니다. // 차례대로 n개의 요소를 가지는 배열 리턴 if (n === undefined || n === 0) { return []; } else { let temp_list = []; let _end = n; ..
Lodash 패키지를 직접 만들어보자~이전에 기초적인 자바스크립트 메소드들이 없을때는 사설 메소드 패키지인 lowdash를 가져다 썼다고 한다. // _.take는 배열의 처음 n개의 element를 담은 새로운 배열을 리턴합니다. // n이 undefined이거나 음수인 경우, 빈 배열을 리턴합니다. // n이 배열의 길이를 벗어날 경우, 전체 배열을 shallow copy한 새로운 배열을 리턴합니다. _.take = (arr, n) => { // TODO: 여기에 코드를 작성합니다. // 두번째 매개변수가 없으면, 빈배열을 반환합니다. // 차례대로 n개의 요소를 가지는 배열 리턴 if (n === undefined || n === 0) { return []; } else { let temp_list = []; let _end = n; ..
2023.08.22 -
1. 문자열은 불변하다 문자열의 위치를 인덱싱 하여 문자열을 바꿔주고 싶었는데 실패했다. 왜냐하면 문자열은 불변(immutable) 했기 때문이다. 왜그런지 살펴봤다. 만일 기존의 문자열을 직접 변경할 수 있다면 발생하는 문제점들이 있을것이다. 2. forEach 사용법을 익혔다. 함수 안에 배열 메소드중 하나인 forEach를 사용하여 문제를 풀었다. forEach는 배열의 각 요소에 대해 주어진 함수를 실행하는 메소드다. 괄호 안에 화살표 함수를 넣어서 위와 같이도 활용할 수 있었다. 현재 값, 인덱스, 배열(현재 호출된 배열) 세가지 인수를 받을 수 있다. 입력 예시 코드 (신기하게 콜백함수를 매개변수로 받는다. 나는 이를 화살표 함수로 했다) const numbers = [1, 2, 3, 4, 5..
알고리즘 문제를 풀며 배운 것 1(0819~0820)1. 문자열은 불변하다 문자열의 위치를 인덱싱 하여 문자열을 바꿔주고 싶었는데 실패했다. 왜냐하면 문자열은 불변(immutable) 했기 때문이다. 왜그런지 살펴봤다. 만일 기존의 문자열을 직접 변경할 수 있다면 발생하는 문제점들이 있을것이다. 2. forEach 사용법을 익혔다. 함수 안에 배열 메소드중 하나인 forEach를 사용하여 문제를 풀었다. forEach는 배열의 각 요소에 대해 주어진 함수를 실행하는 메소드다. 괄호 안에 화살표 함수를 넣어서 위와 같이도 활용할 수 있었다. 현재 값, 인덱스, 배열(현재 호출된 배열) 세가지 인수를 받을 수 있다. 입력 예시 코드 (신기하게 콜백함수를 매개변수로 받는다. 나는 이를 화살표 함수로 했다) const numbers = [1, 2, 3, 4, 5..
2023.08.21