SW Academy

[CNU SW Academy] 13일차(22.12.19)

narlo 2022. 12. 22. 17:41

유찬희 TA - Git 실습(2)

Branch를 사용하는 이유

1. main 브랜치를 완전하게 돌아가는 코드로 유지하기 위해

2. 불필요한 충돌을 막기 위해

3. 원활한 코드 리뷰 진행을 위해

 

branch : 복사본을 만드는 것

각자 branch를 만들어 그 위에 commit, 자신의 코드를 올린다.

pull request & merge를 통해 합쳐주는 과정을 거침

C가 또 PUSH를 하고 pullrequest & merge를 하면 필요한, 겹치지 않는 부분만 추가된다.

 

커밋의 구조

commit hash : 커밋의 고유한 번호, 남긴 커밋 메시지, 변경사항이 같더라도 해시는 다르다.

(누가 변경했는지, 날짜 등도 초단위로 기록됨)

 

HEAD

현재 내가 존재하는 커밋의 위치

기록은 남기고 싶은데 이전 기록을 보고싶다 -> HEAD를 옮겨 코드 기록을 확인 가능

 


김종익교수님 DB

Deletion

delete from ~ where ~

 

Insertion

insert into ~ values ~

속성을 명시하는 경우 / 하지 않으면 모든 속성을 다 채워야 함

 

다른 테이블에서 원하는 데이터를 추가하는 예시

 

updates

update 테이블명 set column(attribute) where

 

joined relations

1. natural join

==

의도하지 않은 애들이 연결된 결과를 얻을 수 있음

 

2. inner join

3. outer join

- left outer join

- right outer join

- full outer join

 

View

create view v as <query expression>

 

materialized view

실제로 저장하는 view

update를 반영해서 일관성을 유지하기 어려울 수 있음

 

transaction(트랜잭션)

논리적인 한 단위의 일

commit work

rollback work

 

constraints on a single relation

- not null

- primary key

- unique

- check(P)

 

JDBC

Java를 이용해 DB에 연결해 작업하도록 하는 인터페이스

 

ER Model(Entity-Relation Model)

entity : 개체, 개별 object

relationship

 

relationship set이 attribute를 가지기도 함

advisor이라는 relationship -> date라는 attribute를 가짐

 

mapping cardinality constraints

relation에 몇개씩 참여하는지

- one to one

- one to many

- many to one

- many to many

 

total participation : 두 

partial participation : 한 줄


코딩테스트 - 탈옥 방지

heapq를 이용한 다익스트라 문제

import heapq
import sys

prison = int(sys.stdin.readline())
prisons = list(map(int, sys.stdin.readline().split()))
prisons.sort()

lighter = int(input())
lighters = list(map(int, sys.stdin.readline().split()))
lighters.sort()

maxheap = []
for i in prisons:
    minheap = []
    for j in lighters:
        tmp = abs(i-j)
        if minheap:
            if minheap[0] < tmp:
                break
        heapq.heappush(minheap, tmp)
    heapq.heappush(maxheap, -minheap[0])
print(-maxheap[0])

 

'SW Academy' 카테고리의 다른 글

[CNU SW Academy] 15일차(22.12.21)  (0) 2022.12.23
[CNU SW Academy] 14일차(22.12.20)  (0) 2022.12.23
[CNU SW Academy] 12일차(22.12.16)  (0) 2022.12.18
[CNU SW Academy] 11일차(22.12.15)  (1) 2022.12.15
[CNU SW Academy] 9일차(22.12.13.)  (0) 2022.12.13