728x90

분류 전체보기 430

[데이터베이스] 자연키(Natural key)와 대체키(Surrogate Key)

DB 엔지니어라면 대체키(Surrogate Key)라는 말을 자주 들어봤을 것이다. 대체키(Surrogate Key)란 테이블의 입력 데이터의 어떤 열을 기본키(Primary Key)로 하지 않고 시스템쪽에 독립적으로 할당된 키를 의미한다(일반적으로 일련번호가 사용된다). 한편 입력 데이터 자체의 열을 기본키(Primary Key)로하는 경우를 자연키(Natural key)라고 부른다. 대체키(Surrogate Key)는 기본적으로 불필요하다. 입력 데이터에 임의의 키가 존재하고 있다면 그것을 기본키로 사용하는 것을 보통 문제가 없으며, 오토 넘버링의 기능도 오랫동안 표준 SQL에 존재하지 않았었기 때문이다. 그러나 아래와 같은 업무요건의 경우에는 대체키(Surrogate Key)를 사용하는 것을 고려해..

IT/기초 지식 2020.10.23

[네트워크/Linux] SNMP와 snmpget, snmpwalk 명령어

SNMP란? SNMP(Simple Network Management Protocol)이란 DARPA 모델에 준거한 IP네트워크 상에 연결된 기기종을 네트워크 경유로 감시, 제약하기 위한 통신프로토콜이다. 매니저와 에이전트 SNMP를 통한 네트워크 관리는 매니저와 관리대상 기계에 상주하는 에이전트와의 사이의 UDP통신에 의해 실현된다. SNMP 매니저는 풀링에 의해 상시 정보를 취득하고 있다. 5분 간격으로 정기적으로 정보를 얻는 것이 가능해 상시 감독을 하고 있는 것과 같은 결과를 얻게 된다. 여기서 "풀링"이란 SNMP GetRequest와 SNMPGetResponse를 정기적으로 실행하는 것이다. 풀링에는 포트 161가 사용된다. 그리고 SNMP트랩은 에이전트쪽에서 액션이 일어났을 때나 이벤트가 발생..

IT/기초 지식 2020.10.22

[Django] 테이블(모델)의 JOIN(1)

데이터 베이스 관계에 대한 설명 우선 잠시 '1대1', '1대다(多)', '다(多)대다(多)'에 대한 이야기부터 하고자 한다. 1대1관계 양쪽의 레코드가 1대1 대응하는 관계를 의미한다. 다른 말로 하자면, 양쪽의 PK(기본키)가 같다고 할 수있다. 이러한 설계를 하는 예로는 분할하지 않아도 괜찮은 테이블이 분할되는 경우이다. 기존 테이블 구성을 변경하지 않고 항목을 추가하고 싶은 경우 등을 제외하고, 실제로 사용하는 경우는 적을 것이라고 생각한다. 1대다(多)관계 A의 레코드는 B의 복수의 레코드와 관계가 있을 가능성이 있으나, B의 레코드는 A의 레코드와 최대 1개 밖에 관련이 있는 경우이다. 조금 더 자세히 설명하자면, A의 입장에서 봤을 때, A의 1개의 레코드가 동시에 복수의 B의 레코드와 관련..

IT/WEB 2020.10.21

[python] Google 스타일의 Python Docstring 입문

들어가기에 앞서 이 포스팅은 Google 스타일 형식으로 Python Docstring의 작성법에 대해서 필요한 최저한의 내용을 설명한다. 앞으로 Python Docstring을 기억하고자하는 엔지니어에게 도움이 된다면 좋겠다. Python Docstring이란? Python에 있어서 클래스나 메소드(함수)에 대한 설명을 기재한 주석이다. Docstring은 __doc__이라는 변수에 저장되어 있다. 아래는 print 메소드의 Docstring을 표시되도록 한 것이다. >>> print(print.__doc__) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys...

IT/언어 2020.10.21

[Linux] 프로세스가 열려 있는 파일을 찾을 때 사용하는 lsof 명령어

lsof 명령어란? lsof 명령어는 LiSt Open Files에서 유래됐다. 이름 그대로 '프로세스가 열려있는 파일'을 표시하는 커맨드이다. UNIX/Linux에서는 일반적인 파일뿐만 아니라 네트워크 소켓이나 디바이스 드라이버, 프로세스 정보도 '파일'으로써 다룬다. 따라서 열려 있는 파일을 조사하는 것으로 대기 포트나 네트워크의 맵핑 정보 등을 파악할 수 있다. lsof 명령어에 의해 '어떤 파일을 열고 있는 프로세스', '어떤 포트에 접근하고 있는 프로세스'를 특정하고 '불필요한 프로그램이 실행되고 있는지' '부정한 프로그램이 동작하고 있지는 않은지'를 알아 볼 수 있다. 인수에 파일을 전달해 실행하면 그 파일을 사용중인 프로세스 ID(PID)의 목록이 출력된다. 프로세스가 사용중인 포트를 확인하..

IT/기초 지식 2020.10.20

AZ-900: Microsoft Azure Fundamentals관련 개념 정리 (일본 자료)

Azure서비스명과 개요 서비스명 설명 Azure Active Directory (Azure AD) 클라우드 베이스의 ID관리 서비스 Azure AD Connect Activie Drietory 와 Azure AD를 동기화하는 서비스 Azure AD Identity Protection Azure AD에 대한 의심스러운 조작을 검출하고 경고하는 서비스 Azure Advanced Threat Protection(ATP) 네트워크에 대해 알려진 악의의 공격과 수법, 세큐리티 상의 문제, 및 리스크를 검출하는 서비스 Azure Advisor 디플로이를 마친 리소스의 구성과 사용 상황을 분석해 최고의 사례를 제안하는 서비스 Azure App Service 임의의 프로그래밍 언어로 Web어플리케이션을 구축하고 호스..

IT/자격증 2020.10.19

[논문] 최근 AI의 이미지 인식에서 화제인 "Vision Transformer"에 대한 해설

※ 일본 블로그 내용을 번역한 것으로 오역이나 직역이 있을 수 있으며, 내용의 오류 지적해주시면 감사하겠습니다. 1. 개요 현재 AI계에서 화제가 되고 있는 "Vision Transformer"에 대해 다뤄보려고 한다. 이번에 제안된 Vison Transformer(이하 ViT)이라는 모델에 의해 더 이상 레이어를 겹치는 형태의 모델은 없어질지도 모른다. ViT는 Transformer을 거의 그대로 이미지 분류 업무에 이용한 것으로, ImangeNet/ImageNet-ReaL/CIFAR-100/VTAB SoTA모델과 거의 비슷한 정도 혹은 그 이상을 성능을 달성하였다. 심지어 SoTA모델들(BiT/NoisyStudent)와 비교해서 계산 비용은 15분의 1까지 떨어졌다 (SoTA를 향상시킨 모델은 많아 ..

IT/AI\ML 2020.10.16

AZ-900: Microsoft Azure Fundamentals 대책 (일본 기준)

1. 개요 1) AZ-900: Microsoft Azure Fundamentals 시험이란? Microsoft Azure초심자용의 입문시험이라고 할 수 있다. Azure의 서비스와 클라우드의 개념을 넓고 얕게 배울 수 있는 시험이다. 2) 시험 개요 (1) 문제수 : 44문제 (2) 시간 : 90분 (3) 합격점 : 700점 (1000점 만점) (4) 시험 신청 사이트 docs.microsoft.com/ja-jp/learn/certifications/exams/az-900 (5) 카테고리별 시험 출제 비율 카테고리 출제비율 클라우드의 개념 20~25% Azure의 핵심 서비스 15~20% Azure의 핵심 솔루션과 관리 툴 10~15% 일반적인 보안과 네트워크 보안 기능 10~15% 아이덴티티, 거버넌스..

IT/자격증 2020.10.14

[UML] 시퀀스 다이어그램(Sequence Diagram) 기초 정복

1. 시퀀스 다이어그램(Sequence Diagram) 이란? 시퀀스 다이어그램이란 객체 지향의 소프트웨어 표준 설계 방법인 'UML(통일 모델링 언어)'의 하나로, 프로그램의 처리의 개요나 흐름을 설계할 때 사용한다. 사양서가 없는 기존 시스템의 분석에 사용하는 경우도 있다. UML에서는 '상호작용 다이어그램'의 1개로 인식된다. 객체 지향의 소프투에어 설계에 있어서, 시퀀스 다이어그램을 작성하는 것은 글로벌 스탠드라고 해도 과언이 아닐 정도로 중요하다. 따라서 시퀀스 다이어그램의 기초를 익히도록 하자. 2. 시퀀스 다이어그램(Sequence Diagram) 의 기본 규칙 시퀀스 다이어그램은 "라이프 라인(life line)"이나 "메시지"라고 불리는 구성요소와 "객체의 연결"이나 "처리 내용"을 표현..

IT/기초 지식 2020.10.13

[git] 잘 잊어버리는 사람을 위한 git diff 치트 시트

git diff는 여러 방면에 정말 자주 쓰이는 것 만큼 할 수 있는 것이 많다보니 쉽게 잊어 버려 매번 검색하곤 했다. 따라서 자주 쓰이는 용법을 한 번 정리해 보았다. git pull 하기 전에 리모트와의 변경점 확인하기 git diff HEAD.. 리모트명/브랜치명 git pull하기 전에 로컬의 최신 커밋과 pull할 곳의 리모트 리포지토리와의 변경점을 보고 싶을 때는 이 커맨드로 확인할 수 있다. 여기서의 리모트 명은 origin과 같은 것을 의미한다. git push 하기 전에 리모트와의 변경점 확인하기 위의 커맨드와 반대로 아래와 같이도 작성할 수 있다. git diff 리모트명/브랜치명..HEAD ..의 오른쪽이 시계열적으로 최신으로 간주되므로, 이 경우는 git commit 한 후에 리모..

IT/기초 지식 2020.10.07
728x90