Today I Learned/TIL 05
-
2023 - 06 - 02 트랜잭션 (트랜젝션) ACID 특성과 Isolation LevelToday I Learned/TIL 05 2023. 6. 2. 11:18
1. 트랜잭션(Transaction) 이란? 트랜잭션은 한 번에 처리 되어야 할 하나 또는 둘 이상의 처리 작업의 모음으로 DBMS에서 실행되는 논리적 작업 단위라 할 수 있다. 이러한 트랜잭션의 안전한 실행을 보장하기 위해 4가지의 특성(성질)을 가지고 있다. 1) A (Atomicity, 원자성) 개념: 트랜잭션의 연산 전체가 처리 되거나 되지 않아야 함 보장기법: rollback, commit, transaction begin, end 2) C (Consistency, 일관성) 개념: 트랜잭션 실행 완료 후 언제나 일관성 있는 DB상태를 보존해야 함 보장기법: 도메인, 관계 무결성 처리 (ex: not null, foreign key, check, unique key 등) 3) I (Isolatio..
-
2023 - 05 - 31 클래스 Getters & SettersToday I Learned/TIL 05 2023. 6. 2. 11:18
오늘 할일. 1. 5주차 강의 듣기. 2. 알고리즘 복습 3. 프로그래머스 문제 풀기 오늘 배운 것. class에서의 Getters와 Setters 객체지향 프로그래밍 언어에서는 Getters와 Setters 에 대한 기본 개념들이 있다. class를 통해 객쳬(인스턴스)를 만들고, 인스턴스 안에는 property(인자)가 있음. 예를 들면 new Class (a, b, c) 위와같이 만든 프로퍼티에 접근하고 세팅하기 위한 getters와 setters를 제공함. 기본 형태 class Rectangle { constructor (width, height) { this._width = width; this._height = height; } get width () { return this._width;} ..
-
2023 - 05 - 30 클래스 Class 설계도Today I Learned/TIL 05 2023. 6. 2. 11:18
클래스 class = 설계도 constructor는 class의 생성자 함수. 인스턴스 instance = 객체. 설계도를 따라 만들어짐. class ~ { instance } 형식. class Person { constructor(name, age) { this.name = name; this.age = age; } sayHello() { console.log(this.name + "님 안녕하세요"); console.log(this.name + "의 나이는" + this.age + "이에요.") } } const person1 = new Person("홍길동", "30살"); const person2 = new Person("홍길순", "25살"); person1.sayHello(); person2.s..
-
2023 - 05 - 29 DOM (Document Object Modeling)Today I Learned/TIL 05 2023. 6. 2. 10:40
1. 문서 객체 생성과 선택 document.createElement(tagName) : 새로운 HTML 요소를 생성합니다. document.getElementById(id) : id 속성을 기준으로 요소를 선택합니다. document.getElementsByTagName(name) : 태그 이름을 기준으로 요소를 선택합니다. document.getElementsByClassName(name) : 클래스 이름을 기준으로 요소를 선택합니다. document.querySelector(selector) : CSS 선택자를 이용하여 요소를 선택합니다. document.querySelectorAll(selector) : CSS 선택자를 이용하여 모든 요소를 선택합니다. 2. 문서 객체 조작 element.inne..
-
2023 - 05- 28 콜백함수 제너레이터& async waitToday I Learned/TIL 05 2023. 6. 1. 18:11
오늘 할일 1. 자바스크립트 4주차 강의 마무리 2. 개인과제 TMDB 주석달고 제출하기 3. 알고리즘 특강듣기 4. 프로그래머스문제 풀기 오늘 배운 것 비동기작업의 동기적 표현 이터레이터(Iterator) 객체 : 반복된다. repeat 제너레이터(Generator) 함수는 이터레이터 객체를 반환한다. 즉, Generator는 반복할 수 있는 Iterator객체를 생성한다. 비동기작업(순서를 기다리지않는 작업)에서 우리가 양보하고(Yield) 미루면서 기다리게 하도록 Generator를 사용할 수 있다. promise함수가 .then으로 완료되는 시점 마다 다음함수를 수행했듯이, generator도 마찬가지로 순차적으로 시행될 수 있도록 next를 찍어준다. 비동기적 요소를 왜 동기적 요소로 바꾸려 하..
-
2023 - 05 - 27 콜백함수 ; promise, 리팩토링Today I Learned/TIL 05 2023. 6. 1. 07:24
오늘 할일 1. 4강 마무리, 5강 끝내기. 주차별 문제 다 풀기 2. 개인과제 다시 오늘꼭 하기. 3. 프로그래머스 문제 풀기. 4. 알고리즘 1,2,3강 다시 듣고 블로그 정리하기 오늘 배운것 비동기적 작업의 동기적 표현 - promise함수, 리팩토링, 제너레이 1. Promise 함수 - Promise는 말 그대로 약속 이라는 뜻. 어떤 값이 준비되면 실행할게 라는 약속. resolve 또는reject와 함께 쓰인다. - new 연산자로 호출한 Promise의 인자로 넘어가는 콜백은 바로 실행된다. - 그 내부의 resolve(실행) (또는 reject(거절)) 함수를 호출하는 구문이 있을 경우 resolve(또는 reject) 둘 중 하나가 실행되기 전까지는 다음(then), 오류(catch)로..
-
2023 - 05 - 26 내부this에 다른 값 바인딩하기Today I Learned/TIL 05 2023. 6. 1. 07:24
오늘 할일 1. 자바스크립트 4주차 강의 듣기 2. 알고리즘 특강(1) 정리 3. 깃헙 공부 오늘 배운 것 : 콜백함수 내부 this에 다른 값 바인딩 하기. 1. 첫번째 방식 var obj1 = { name: "obj1", func: function(){ // 순서02. var self = this; // 순서01. return function () { console.log(self.name); }; }, }; var callback = obj1.func(); // 순서03. setTimeout(callback, 1000); // 순서04. 01. this 값을 self에 할당한다. 02. obj1 객체 안의 func 속성은 함수를 갖는다. 바로 console찍는게 아니라 함수 return먼저 함. 0..
-
2023 - 05 - 25 콜백함수 : 객체의 매서드 전달Today I Learned/TIL 05 2023. 6. 1. 07:24
오늘할일 1. 4주차 강의 2. 개인프로젝트 3. 프로그래머스 문제 오늘 배운것 : 콜백함수 - 객체에 메서드 전달 var obj = { values: [1, 2, 3], logValues: function(v, i){ console.log(this, v, i); }, }; obj.logValues(1, 2); obj 함수는 객체안에 여러개의 인자가 있고, 그 인자들은 key값, value값 으로 나뉨. 2번째 인자의 value값은 함수값임. function( ) { } obj.logValues(1, 2); 위 함수에서 v가 1, i가 2가 됨. var obj = { values: [1, 2, 3], logValues: function(v, i){ if (this === global){ console.l..