1. 트랜잭션 : 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미 논리적인 단위라고 기억해두면 될것 같다 2. ACID - 트랜잭션의 특성 Atomicity 원자성 - 트랜잭션의 연산은 db에 모두 반영되도록 commit되던지, 아니면 전혀 반영되지 않도록 rollback되어야 한다 Consistency 일관성 - 트랜잭션이 실행 성공되면 언제나 일관성 있는 db상태로 변환함 Isolation 독립성 - 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 한 트랜잭션 실행될 때 다른 트랜잭션 연산이 끼어들 수 없음 Durability 지속성 - 완료된 트랜잭션의 결과는 system이 고장나도 영구적으로 반영되어야 한다 3..
분류 전체보기
정규화 - 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해 하는 과정 정규화 과정 비정규 릴레이션 -> 제 1 정규형 : 도메인을 원자값으로만 구성한다 제 1 정규형 -> 제 2 정규형 : 부분적 함수적 종속 제거 제 2 정규형 -> 제 3 정규형 : 이행 함수적 종속 제거 제 3 정규형 -> BCNF : 결정자이면서 후보키가 아닌 것 제거 BCNF -> 제 4 정규형 : 다중적 종속 제거 (A, B, V 3개의 속성을 가진 테이블에서 복합 속성 A,C에 상응하는 B값의 집합이 A에만 종속되고 C에는 무관하면 B는 A에 다중값 종속이라고 한다) 제 4 정규형 -> 제 5 정규형 : 조인종속성 이용 (테이블의 모든 조인 종속이 후보키를 통해서만 성립된다)
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net X위치가 결국 세가지 방법인 X-1, X+1, 2*X 로 이동할 수 있는데, bfs를 이용해서 최소시간을 찾도록 풀었다. 단, 최소시간을 찾아야 하므로 이미 방문한 위치는 다시 방문하지 않도록 visited 리스트를 통해서 방문 여부를 체크했다 걸린 시간은 노드의 위치와 함께 queue에 넣어서 queue에 append (순간 이동을 한 경우) 할때마다 time + 1을..
https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에서 하라는대로 열심히 구현을 하면 되는 문제이다 알아두면 편한 것 : 10진수를 2진수로 바꿔주는 파이썬 모듈 bin() 를 활용하면 되는데 접두어 0b가 붙으니까 이걸 슬라이싱 해줬다 파이썬..역시 편하다 ㅎㅎ def solution(n, arr1, arr2): answer = ["" for _ in range(n)] a = [] # map 1 b = [] # map 2 for i in a..
https://www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net 시간제한이 1초이다 브루트 포스로 순회해서 단순하게 풀면 시간초과가 난다 (!) 최근에 문제를 풀면서 깨달은 것인데, 선형 자료구조 (ex. list) 에서 시간 복잡도를 줄이기 위해서 유리하게 사용해볼 방법 중 하나가 바로 투포인터 알고리즘이다 장점이라하면 포인터로 찍으면서 조건에 맞지 않은 후보들을 제쳐버려서 선형 자료구조를 보다 빨리 순회할..
화이트박스 테스트 화이트 박스 테스트는 모듈의 원시 코드를 오픈 시킨 상태에서 원시코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법 1) 기초 경로 검사 - 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법 2) 제어 구조 검사 - 조건 검사 / 루프 검사 / 데이터 흐름 검사 블랙 박스 테스트 블랙 박스 테스트는 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트 - 동치 분할 검사 : 프로그램의 입력 조건에 타당한 입력자료와 타당하지 않은 입력 자료 개수를 균등하게 하여 테스트 케이스를 정하고, 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 기법 - 경계값 분석 : 입력 조건의 중간값보다 경계값에서..
https://leetcode.com/problems/3sum/ 3Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 시간초과난 브루트 포스 풀이 ㅋㅋ -10^5 0 and nums[i] == nums[i-1] 조건문을 각각의 for문에 넣어주었더니 통과했다 class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: result = [] n = len(nums) nums.sort()..
https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 삼성기출에 있는 문제 ! 유형 : 구현 조건이 여러개가 있는데 하나씩 문제를 잘! 읽으면서 구현해야 될듯 처음에 놓쳐서 삽질한게 몇개 있다 - 1번행과 n번행이 이어져있는 걸 까먹고 구름 이동할때 배열 인덱스 초과하면 어떡하지 ? 혼자 고민했다 - 그리고 대각선 거리 1에 물이 있는 바구니 수를 세서 바구니 수 만큼 물을 더해주는 것 자잘한 부분에서 실수할 수 있는 것 같지만 다른 삼성 기..