분류 전체보기 221

[데이터베이스] 12장 - stored procedure를 백엔드 실무에서 쓰기에 조심스러운 이유!

✅ 3-tier architecture 에서 stored procedure의 의미 : 오늘날의 IT회사들은 일반적으로 client-server architecture 의 한 종류인 three-tier architecture 모델로 서비스를 개발한다. 그럼, 비즈니스 로직이란 무엇일까? 당근마켓을 예로 들어보자. 이런 비즈니스 로직들을 통해 파생되는 데이터들이 있을 텐데, 그러한 데이터들이 데이터 티어에 저장된다. 10장에서 Stored Procedure 는 RDBMS에 저장되고 사용된다고 했는데, 주된 사용 목적은 비즈니스 로직 구현이라고 했다. 즉, stored procedure을 사용한다는 것은 data tier에 비즈니스 로직이 존재할 수 있다는 의미이다! 즉, 비즈니스 로직이 Logice 티어에도..

[데이터베이스] 11장 - stored procedure + 프로시저의 동작 방식과 특징, stored function과의 차이

✅ stored procedure 의 뜻과 예제 : 사용자가 정의한 프로시저 : RDBMS에 저장되고 사용되는 프로시저 : 구체적인 하나의 task(태스크)를 수행한다. stored procedure를 만들 때도, delimiter 라는 키워드를 사용한다. delimiter 는 구분자를 의미하는데, 기본적으로 SQL 에서 사용되는 delimiter는 (;)세미콜론이다. 하지만, stored program의 정의를 서버로 보내기 위해서는 delimiter를 일시적으로 재정의 해주어야만 한다. 이 때, 주의해야 할 점은 DELIMITER를 재정의하고 stored program을 정의한 후에 delimiter를 기존의 세미콜론(;)으로 바꿔주는 것이 좋다. (계속해서 DELIMITER를 사용자가 재정의한 것으..

[목동/신정] 재수학원 메가스터디 러셀 썸머스쿨, 윈터스쿨 알바

코로나 시절 재수학원의 썸머스쿨과 윈터스쿨 알바를 했던 경험을 얘기해보려 한다. 2020년 코로나 시절, 여름방학에 할만한 알바를 구하고 있었다. 대부분의 요식업들이 배달 주력으로 바꾼 시점이기도 했고 알바구하기가 그 전보다는 어려웠었던 걸로 기억한다. 하지만, 때마침 메가스터디 러셀 학원 알바를 하고 있던 친구 원준이의 제안으로 감사하게도 재수학원 알바를 시작할 수 있었다. 집과 불과 도보 15분 내외인 곳이라 너무 좋았고, 재수학원을 다녀봤던 나로서도 익숙한 장소여서 마다하지 않을 수 없었다. 더구나, 학생시절에는 친구랑 같이 일할 수 있는 것이 큰 메리트로 다가왔다. 첫 날, 본관 7층에 있는 데스크에 올라가서 면접을 간략하게 보자마자 파트장님께서 우선 어떤 일을 하는지에 대해 배우라고 하셨다. 우..

[코테] 코딩 테스트 합격자 되기 2주차 - 스택

스택의 어원은 '쌓는다' 입니다. 어원에서 짐작할 수 있듯이, 먼저 입력한 데이터를 제일 나중에 꺼낼 수 있는 자료구조입니다. 이렇게 먼저 들어간 것이 마지막에 나오는 규칙을 후입선출 혹인 LIFO(Last IN First Out)이라고 합니다. 이 때, 스택에 삽입하는 연산을 push, 꺼내는 연산을 pop 이라고 합니다. 📖 스택의 동작 원리 이해하기 빈 통(빈 스택)에 사탕을 넣는다고 하면, 아래와 같이 나타낼 수 있습니다. 📖 스택의 ADT ADT는 우리말로 추상 자료형(abstract data type)인데요, 추상 자료형이란 인터페이스만 있고 실제로 구현은 되지 않은 자료형입니다. 일종의 자료형의 설계도라고 생각하면 됩니다. 그렇다면 스택은 어떤 정의가 필요한 자료구조일까요? 우선 스택에는 ..

[코테] 코딩 테스트 합격자 되기 2주차 - 배열

배열은 인덱스와 값을 일대일 대응에 관리하는 자료구조입니다. 데이터를 저장할 수 있는 모든 공간은 인덱스와 일대일 대응하므로 어떤 위치에 있는 데이터든 한 번에 접근할 수 있습니다. 데이터에 한 번에 접근할 수 있으니 어디에 있는지만 알면 빠르게 탐색할 수 있는 것이죠. 이런 접근 방식을 임의 접근(random access)라고 합니다. 📖 배열 선언 배열을 선언하는 방법은 다음과 같습니다. 이름이 arr 이고 길이가 8인 정수형 배열을 리스트를 활용해서 선언하는 3가지 방법을 예제를 통해서 알아보겠습니다. 1) 일반적인 방법 arr = [0,0,0,0,0,0,0,0] arr = [0] * 8 # 결과는 둘 다 동일합니다. 2) 리스트 생성자를 사용하는 방법 arr = list(range(8)) # [0..

[데이터베이스] 10장 - SQL 에서 stored function 이란? + 언제 사용하면 좋을지에 대해

✅ stored function 의 뜻과 예제 : 사용자가 정의한 함수 : DBMS에 저장되고 사용되는 함수 : SQL의 select, insert, update, delete statement에서 사용할 수 있다. stored function을 만들 때, delimiter 라는 키워드를 사용한다. delimiter 는 구분자를 의미하는데, 기본적으로 SQL 에서 사용되는 delimiter는 (;)세미콜론이다. 하지만, stored program의 정의를 서버로 보내기 위해서는 delimiter를 일시적으로 재정의 해주어야만 한다. 이 때, 주의해야 할 점은 DELIMITER를 재정의하고 stored program을 정의한 후에 delimiter를 기존의 세미콜론(;)으로 바꿔주는 것이 좋다. (계속해서..

[데이터베이스] 9장 - SQL 로 데이터 조회하기! Group by, Aggregation function, Order by

✅ Order by : 조회 결과를 특정 attribute 기준으로 정렬하여 가져오고 싶을 때 사용한다. : default 정렬 방식은 오름차순이다. : 오름차순 정렬은 ASC 로 표기하고, 내림차순 정렬은 DESC 로 표기한다. 바로 예를 살펴보자. statement 는 아래와 같다. - 임직원들의 정보를 연봉 순서대로 정렬해서 알고 싶다. 임직원의 정보를 "연봉" 순서대로 알고 싶으므로, salary 속성을 오름차순으로 정렬해주면 된다. SELECT * FROM EMPLOYEE ORDER BY salary; 기본 정렬 방식은 ASC 으로 오름차순을 따른다. 그럼, 내림차순으로 정렬하고 싶을 떄는 어떻게 해야 할까? DESC 키워드를 써주면 된다. SELECT * FROM EMPLOYEE ORDER B..

[데이터베이스] 8장 - SQL 로 데이터 조회하기! JOIN

✅ JOIN : SQL 에서 JOIN 이란 두 개 이상의 table 들에 있는 데이터를 한 번에 조회하는 것 입니다. : 여러 종류의 JOIN 이 존재합니다. ✅ Implicit JOIN vs Explicit JOIN 먼저, implicit join 과 explicit join 에 대해 알아봅시다. 아래와 같은 statement가 있을 때, 쿼리는 아래와 같습니다. id 가 1 인 임직원이 속한 부서 이름은? SELECT D.name FROM EMPLOYEE AS E, DEPARTMENT AS D WHERE E.id = 1 AND E.dept_id = D.id; SELECT 문에 대한 포스팅에서도 JOIN 이 동작하는 것을 다뤘는데요, 이렇게 WHERE 절에 join_condition이 같이 있는 것을 ..

[데이터베이스] 7장 - SQL 로 데이터 조회하기! NULL 의 의미와 three-valued logic

✅ NULL의 의미 : unknown - 알려지지 않음 : unavailable or withheld - 이용할 수 없음(공개하지 않아서) : not applicable - 적용할 수 없음 → 상황에 따라 다르게 해석된다. 그렇기 때문에 NULL 끼리의 같다, 다르다를 비교할 수가 없는 것이다. 예시를 살펴보자. =(등호)를 사용해서 NULL 비교를 하면, 아무것도 나오지 않는다. 이렇게 작성하고 "birth_date 가 NULL 인 사람이 아무도 없구나~" 라고 이해하면 안 된다. 실제로 JEFF 의 생년월일은 NULL 값을 가진다. IS 를 사용해서 NULL 값 비교를 하면 제대로 NULL 인 속성이 잘 추출된다. 반대로 값이 다른지 아닌지 표현하고 싶으면 != 대신에 'IS NOT' 을 사용해야 ..

What is "self" in Python?

파이썬 코드를 짤 때, 언제 self 를 써야하고, self의 적용범위가 어디까지인지 이런 개념을 완벽히 잘 모르고 그냥 감으로 self 를 짠 경우가 있을 것이다. 나도 디버깅을 하면서 self 를 붙일지 말지 찾아내곤 하는데, self 에 대해서 자세하고 정확한 예시 등으로 개념을 바로 잡아보자! Python 에서 클래스를 정의하고 객체지향 프로그래밍을 할 때, 'self' 는 클래스의 인스턴스를 가리키는 변수이다. 클래스의 메소드는 첫 번째 매개변수로 항상 "self"를 받아, 그 인스턴스의 속성과 다른 메소드에 접근할 수 있게 하는 것이다. ※ 'self'의 역할과 사용법 1. 인스턴스 참조 'self'는 클래스의 현재 인스턴스를 참조한다. 클래스 내부에서 'self'를 사용하면, 그 클래스의 다..

반응형