Entity 엔터티 , Attribute 속성, Instance 인스턴스에 대한 정리 아래와 같이 특정 테이블이 존재할 때, (엔터티)학번이름학과번호1홍길동101↓ 행(인스턴스) 모델링의 개녕- 비지니스 프로세스와 데이터 요구 사항을 추상적이고 구조화 된 형태로 표현하는 과정- 데이터 베이스의 구조와 관계를 정의, 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의 모델링의 특징1. 단순화(Simplification) - 현실 단순화하여 핵심 요소에 집중하고 불필요한 세부 사항을 제거 - 단순화를 통해 복잡한 현실 세계를 이해하고 표현하기 쉬워짐 이것 저것 덧 붙이지 않고, 핵심만 전달하는 과정 - 단순화 작업 2. 추상화(Abstraction) - 일정한 형식에 맞추어 간략하게 대략적으로..
MYSQL - LEFT 문법 -- LEFT(COLUMN, N) COLUMN, STRIGN문자열을 왼쪽에서 N개 만큼만 출력-- MID(COL, M, N) / RIGHT(COL, N) 문법도 존재-- 예시) 프로그래머스 SQL 문제 - 카테고리 별 상품 개수 구하기-- 카테코리 코드 앞에 2개만 잘라서 그룹화 후, 개수 출력SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(PRODUCT_CODE) AS PRODUCTSFROM PRODUCTGROUP BY 1ORDER BY 1 GTOUP BY 1 MSSQL은 SELECT 문에서 그룹화 하고자 하는 컬럼을 적은 그대로 GROUP BY에 적어줘야 하지만, MYSQL은 GROUP BY 1 or GROUP BY 1,2 로 사용 가능
MSSQL - ISNULL 문법 -- Column이 NULL인 경우 " " 에 있는 TEXT를, Null이 아닌 경우 기존 Column의 값을 출력-- as 뒤에 Column은 지정하고 싶은 별칭 명SELECT ISNULL(Column, "TEXT") as ColumnFROM Table MYSQL - IFNULL 문법 -- Column이 NULL인 경우 " " 에 있는 TEXT를, Null이 아닌 경우 기존 Column의 값을 출력-- as 뒤에 Column은 지정하고 싶은 별칭 명SELECT IFNULL(Column이, "TEXT") as Column이FROM Table SQL CASE문 활용CASE WHEN 조건식1 THEN 식1 WHEN 조건식2 THEN 식2 ... ELSE..
프로그래머스 SQL문제 푸는 도중 상위 N개 데이터 출력 문제를 푸는데 헷갈리는 부분이 있어서 글로 정리해봅니다. 기존에 MSSQL 위주로 사용했어서 상위 N개 데이터 필터링 할 때, SELECT TOP ~ 구문을 많이 사용했어서 프로그래머스 문제에서도 TOP 구문을 사용해야지 생각했었는데, 오류가 나서 한번 찾아봤습니다. MYSQL에서 N개 데이터 필터링을 할 경우 다른 문법을 사용합니다. MSSQL - TOP 구문 SELECT TOP 5 COL_1, COL_2, ... FROM TABLE... MYSQL - LIMIT 구문SELECT COL_1, COL_2, ...FROM TABLE...ORDER BY COL LIMIT 5
https://docs.docker.com/reference/cli/docker/container/run/ docker container run docs.docker.com ## 1. 기본 컨테이너 실행nginx 웹 서버 컨테이너를 실행하세요.- 컨테이너명: web-server- 포트: 호스트의 8080 -> 컨테이너의 80- 백그라운드 실행 정답:```bash$ docker container run --rm -d --name web-server --publish 8080:80 nginx``` 결과 화면 문제1. 체크 포인트 -d (detach) : 컨테이너를 백그라운드 실행 호스트머신의 포트번호 : 컨테이너의 포트번호--publish (-p) 8080:80 => 호스트의 8080 포트를 컨테이너의 ..
여러분들이 짠 자바스크립트는 크롬 웹 브라우저가 실행 해주기 때문에 웹 브라우저의 동작 원리를 알아볼 필요가 있다. html css javascript 를 해석해 주는 엔진이 브라우저 이다 단, 브라우저는 자바스크립트를 해석하는 순서가 이상하다. 예를 들어, 1+1 구문을 실행하고 1초 쉬고 2+2 구문을 실행하고 싶을 때, 자바스크립트는 이런식으로 실행 된다. console.log(1+1) ---- 1 setTimeout(function() {console.log(2+2)}, 1000) ---- 1초 쉬고 실행 console.log(3+3) ---- 2 그 이유는 웹 브라우저 내부에서 Stack은 1개 밖에 존재하지 않고 변수가 있는 문장이 들어오면 Heap 에서 변수를 찾아서 해당 값을 가져다 쓰는 ..
Hash Table은 중요한 자료구조이다. 유용하고 코드를 빠르게 만들어 줄 수 있다. Hash Table은 Key Value System을 이용하여 자료를 정리한다. Key Value System의 한 예시로는 사전을 들 수 있겠다. Key = 단어를 찾고 Value = 해당 단어의 뜻과 설명으로 표현 할 수 있을 것 같다. Array를 선형 탐색한다고 가정해 보면 걸리는 시간은 O(N) Hash Table 에서 검색을 한다고 가정하면 걸리는 시간은 O(1) 상수 시간의 시간이 걸린다. 즉, Hash Table에서 값을 찾거나, 삽입하거나 삭제할 때도 마찬가지로 1개의 Step 만 필요로하다. Hash Table에서 Key 랑 Value를 함께 저장하는 것 외에 Value 만 저장하여 빠르게 처리할 수..
input 값이 A,B,C 모두 2,147,483,647 이하의 자연수라고 명시되어 있다. 그렇기 때문에 반복문을 이용하여 문제를 풀게되면, 시간 초과가 나올 것이다. 시간 초과가 나왔던 풀이 1. 반복문 2. print((A**B) % C) 문제를 해결하기 위해 python method를 찾다가 pow라는 method를 발견했다. pow(x, y[, z]) 분할 정복 방식 지수가 짝수일 경우 A^B * A^B 로 나눌 수 있고, 지수가 홀수일 경우 A^B * A^B * A로 나눌 수 있다. B를 2에 대한 거듭제곱 형태로 계속하여 분할하여 B만큼 A를 거듭제곱 하는 것이 아니라 제곱을 한 뒤, 거기에 제곱을 또하고 또하는 방식을 취하여 연산 수를 최대한 줄여가는 방식이다. 참조: https://tmdr..
알고리즘 문제 풀이 도중 input할 때 옵션으로 자주 쓰이지만, 용도가 헷갈려서 정리해 보았습니다. strip() - 매개변수 사용시 인자로 전달된 문자를 제거, 매개변수가 없을 때(whitespace) String의 왼쪽과 오른쪽의 whitespace(띄어쓰기 (' '), 탭 ('\t'), 줄바꿈('\n'))를 제거할 때 사용한다. (문자열의 맨 앞과 맨 뒤에만 적용, 중간에 있는 whitespace는 제거하지 않는다.) lstrip() String의 왼쪽을 기반으로 whitespace를 제거할 때 사용한다. rstrip() String의 오른쪽을 기반으로 whitespace를 제거할 때 사용한다. split() - 매개변수 사용할 때(매개변수 기준), 매개변수가 없을 때(whitespace 기준) ..
android app 개발을 할 때, Life Cycle에 맞춰 개발을 하는 것이 중요하기 때문에 한번 정리해 보았습니다. 함수명 설명 다음에 호출하는 함수 Killable? onCreate() Activity가 생성되면 가장 먼저 실행, 전체 생명 주기동안 한번만 발생해야 하는 기본 어플리케이션의 시작로직을 실행하는 함수 onStart() No onStart() Activity가 사용자에게 표시되기 전에 호출되는 함수 UI를 관리하는 코드를 초기화 하는 함수 Activity가 화면에 나오면 onResume()을, 숨겨지면 onStop()을 차례로 수행합니다. onResume()/onStop() No onResume() Activity가 사용자와 상호 작용을 시작할 때 호출되는 함수 이때 Activity..
