[SQLD] 분산 DB 데이터에 따른 성능 # 분산 DB? 여러 곳으로 분산되어 있는 DB를 하나의 가상 시스템으로 사용할 수 있도록 한 DB 물리적 사이트를 분산되어 있으나 논리적으로는 동일한 시스템 과거에는 위치 중심 → 현재는 업무 필요에 따라 분산 설계 설계방식 상향식: 지역 → 전역 스키마 하향식: 전역 → 지역사상 스키마 장점 신뢰성과 가용성 증가 빠른 응답 속도와 통신비용 절감 용량 확장 용이 지역 자치성 효용성, 융통성 단점 관리 및 통제가 어렵다 데이터 무결성 관리 어렵다 SW 개발 비용 및 처리 비용이 증가 불규칙한 응답 속도 오류의 잠재성 증대 # ⭐ 분산 DB의 투명성⭐ 분할 투명성: 하나의 논리적 관계가 분할되어 각 단편의 사본이 여러 사이트에 저장 위치 투명성: 사용하려는 데이터 저장 장소가 명시되지 않아도 됨 지역사상 ..
[JS] 'this' keyword 'this' keyword 함수나 메서드를 호출한 객체를 가리키는 키워드 함수 내에서 객체의 속성 및 메서드에 접근하기 위해 사용 파이썬의 self (인스턴스 자기자신)와 비슷함 const user = { name: 'Yongbok', geeting: fun () { return `hello, ${this.name}` } } // 호출 console.log(user.greeting())// hello, Yonngbok 근데.. JavaScript에서 this는 함수를 호출하는 위치에 따라 가리키는 대상이 다름 → 호출될 때 결정됨(동적 할당) 단순 호출: 전역 객체 // 전역 객체 const myFun = function () { return this } console.log(myFun())// wind..
[JS] 스코프 # 스코프? 함수, 변수에 접근할 수 있는 범위 외부에서는 접근 불가능한 범위 스코프의 종류로는 전역, 로컬(블록, 함수) let scope1 = 10 { console.log(scope1)// 10, 위에서 찾아옴 } let scope1 = 10 { console.log(scope1)// 오류남 let scope1 = 20 } 왜 오류..? → 자신의 스코프 안에서 먼저 찾는데, 밑에서 선언을 하니까 오류부터 남 # 블록 스코프? if, for, 함수 등의 중괄호 내부를 가리킴 블록 스코프를 가지는 변수는 바깥에서는 접근 불가능 let x = 1 if (x == 1) { let x = 2 console.log(x) // 2 } console.log(x) // 1 지역 변수가 없다면 상위로 가서 찾음 l..
썸네일 [JS] 배열(Array) # 배열이란? Object 중에서 순서가 있는 collection 순서가 있는 데이터 집합을 저장하는 자료구조 서로 관련있는 데이터들을 하나의 변수에 할당 대괄호를 이용해 작성 배열 요소 자료형: 제약 없음 length 속성을 사용해서 몇개가 있는지 알 수 있음 음수 인덱스는 없음 → 마지막 요소는 length - 1 인덱스 사용 JS에서는 명시적 타입이 없기때문에 여러자료형을 가질 수 있음 많은 method들이 내장되어있음 # 배열의 메서드 1. 기본적인 method push / pop: 배열의 끝 요소를 추가 / 제거 + 반환 unshift / shift: 배열의 앞 요소를 추가 / 제거 + 반환 join: 파이썬에서의 join과 비슷한 역할, array의 요소들을 구분자로 이어줌 const arr1..
[JS] JSON # JSON = JavaScript Object Notation Key-Value 형태로 이루어진 자료 표기법 형식이 있는 문자열임 → Object로 변경해야 함 Object → JSON는 JSON.stringify(json) JSON → Object는 JSON.parse(obj) # JavaScript의 this 함수를 하나만 만들어서 여러 객체에서 재사용할 수 있다는 장점이 있지만 실수가 빈번하므로 동작 방식을 이애하고, 실수를 피하는 것에 집중해서 사용해야 한다.
[JS] Object(객체) # Object 키로 구분된 데이터 집합을 저장하는 자료형 (객체지향 프로그래밍에서 쓰는 객체와는 다름) 객체의 구조 중괄호를 이용해 작성 중괄호 안에는 key: value 쌍으로 구성된 속성을 여러개 작성 가능 key는 문자형만 value는 모든 자료형 가능 const user = { name: 'Yongbok', 'key' : true, geeting: fun () {// 함수도 가능 return 'hello' } } 속성 참조 점이나 대괄호로 객체 요소 접근 key 이름에 띄어쓰기 같은 구분자가 있다면 대괄호만 가능 // 조회 console.log(user.name)// Youngbok console.log(user['key'])// true // 추가 user.type = 'cute' // 수정 ..
[JS] 참조 자료형, 함수 # 참조 자료형이란? 객체의 주소가 저장되는 자료형 가변적이며, 주소가 복사됨 (↔ 원시자료형) 함수의 구조 function name ([para1[, para2[....,]]]) { statements return value } 함수의 정의 방법은 선언식과 표현식이 있음 // 선언식 function add (num1, num2) { return num1 + num2 } // 표현식 const sub = function (num1, num2) { return num1 - num2 } // 둘다 사용할때는 똑같음 add(1, 2)// 3 sub(2, 1)// 1 둘이 뭐가 다른데,..? 표현식은 익명함수를 쓸 수 있음 선언식과 달리 표현식으로 정의한 함수는 호이스팅 되지 않으므로 함수를 정의하기 전에 먼저..
썸네일 [SSAFY] SSAFY 11기 지원 시작! 비전공은 어떻게 준비할까? 안녕하세요~ 현재, 싸피는 11기 모집 중! 그런 의미로 제가 싸피를 준비하면서 가장 궁금했던 점들을 모아모아~ 비전공 파이썬 반인 서울 4반 15명의 학우분들에게 물어봤습니다! 첫번째로, 난 코딩을 제대로 한 경험이 없는데.. 싸피 그래도 들어갈 수 있나..? 라는 고민을 담아 물어봤어요 싸피 오기 전에 코딩을 해 본적이 있나요? 저희 반 분들은 싸피에서 처음 코딩을 접하는 분들이 80%였습니다! 저도 웹 개발, 알고리즘 등 다양한 경험을 싸피에 들어와서 처음 접했습니다. 싸피의 체계적인 교육과정과 함께 착실히 성장 중입니다 그 다음으로, 비전공으로 지원하기 위해서는 SW 적성진단를 봐야하는데요 싸피의 SW 적성진단, 저희반 분들은 어떻게 준비했는지 물어봤습니다 SW 적성진단를 나는.. 그 결과, 책이..
썸네일 [JS] 헷갈리는 문법들 # 문자열로 이루어진 숫자에서 계산하기 1. 덧셈일 때 정수 → 문자열로 형 변환 console.log('1' + 2) // 12 console.log(1 + '2') // 12 2. 덧셈이 아닌 연산들 문자열 → 숫자로 형 변환됨 console.log(5 - '2') // 3 console.log(5 * '2') // 10 console.log(5 / '2') // 2.5 3. 섞여있다면? console.log("10" * 3 + "10" - 2) 뭐가 나올까... 우선, 사칙연산의 우선순위는 지켜지므로 곱셈, 앞에서부터 console.log("10" * 3) 이때는 +가 아니므로 문자열이 숫자로, 10 * 3인 30이 나옴 그 다음은 "10" 이 더해짐 console.log("10" * 3 + "10..
[JS] 조건문과 반복문 # if 문 기본형식 const name = 'customer' if (name === 'admin') { console.log('관리자님 환영해요') } else if (name === 'customer') { console.log('고객님 환영해요') } else { console.log(`반갑습니다. ${name}님`) } 조건(삼항) 연산자: if 문을 간단하게 const func1 = function (person) { if (person > 17) { return 'Yes' } else { return 'No' } } // 위의 코드를 const func2 = function (person) { return person > 17? 'Yes' : 'No' } // 이렇게 줄일 수 있음 # 반복문..
[JS] 연산자 # 할당 연산자 오른쪽에 있는 피연산자의 평과 결과를 왼쪽에 할당하는 연산자 let a = 0 a += 10 console.log(a)// 10 a -= 3 console.log(a)// 7 a *= 10 console.log(a)// 70 a /= 7 console.log(a)// 10 a %= 7 console.log(a)// 3 # 증가 / 감소 연산자 피연산자를 증가(1더함) / 감소(1빼기) 시키고 연산자의 위치에 따라 증감 전이나 후의 값을 반환 // 전위 연산자 let a = 3 const b = ++a console.log(a, b) // 4 4 // 후위 연산자 let x = 3 const y = x++ console.log(x, y) //4 3 ※ 참고 할당 연산자와 증가/감소 연산자는..
썸네일 [JS] 데이터 타입 JavaScript의 데이터 타입은 크게 원시자료형과 참조 자료형으로 나뉜다 원시 자료형 변수에 값이 직접 저장되는 자료형 불변, 값이 복사 → 변수들끼리 서로 영향 없음 Number, String, Boolean, undefined, null 참조 자료형 객체의 주소가 저장됨 가변적, 주소가 복사 → 변수들끼리 서로 영향을 끼침 Objects(Object, Array, Function) const ob1 = { name: 'youngbok', age: 20} const ob2 = ob1 ob2.age = 25 console.log(ob1.age) // 25 console.log(ob2.age) // 25 # 원시 자료형 1. Number: 정수 또는 실수형 숫자 2. String: 텍스트 데이터를 표현..