덤프?덤프(Dump)란, 주 기억 장치나 레지스터, 데이터, 프로그램의 전체 또는 일부 자료에 기억시킨 내용을 보조 기억 장치와 같은 매체에 복사하거나 옮기는 조작을 이야기합니다. 즉, 기억 장치의 내용을 전부 또는 일부를 인쇄하여 출력하는 것입니다.여기서 말하는 출력은 주 기억 장치에서 보조 기억 장치에 복사하는 것을 의미합니다. 주로 복잡합 프로그램이나 S/W 사업을 할 때 많이 사용합니다. 기존에 있는 프로그램은 그대로 운용하면서 덤프한(=복사한) 프로그램 또는 파일을 가지고 새로운 프로그램을 개발하거나, 일부분 개선 작업을 진행합니다. 따라서, 덤프는 필요에 따라 전체를 복사하기도 하며, 일부분만 복사하기도 합니다.
프록시(Proxy)란?대리, 대신 이라는 뜻을 가지며, 프로토콜에 있어서는 대리 응답에서 사용하는 개념입니다. Server와 Client 사이에 존재하며, 두 사이 간의 중계기로써 통신을 수행하는 것을 Proxy라고 합니다.이 중계 기능을 하는 주체를 Proxy Server라고 합니다.Proxy Server의 종류포워드 프록시소위 말하는 보통 프록시가 이 프록시입니다.Client와 Server 사이에서 중계하며, 요청과 응답은 Proxy Server를 거칩니다. Client를 감추는 효과가 있습니다. 리버스 프록시포워드 프록시와 달리 Server들이 주로 내부망(LAN)으로 구성되어 있으며 리버스 프록시에게만 연결을 허용합니다.즉, 서비스를 위한 보안 채널을 구축합니다.Client가 Server로 직접..
이상현상(Anomaly)이상현상의 개념삭제 이상: 튜플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상삽입 이상: 튜플 삽입 시 특정 속성에 해당하는 값이 없어 NULL을 입력해야 하는 현상수정 이상: 튜플 수정 시 중복된 데이터의 일부만 수정되어 일어나는 데이터 불일치 현상삭제 이상(Deletion Anomaly)란 튜플을 삭제할 때 저장되어 있는 다른 정보도 삭제되어 연쇄 삭제(Triggered Deletion) 문제가 발생하는 경우를 의미합니다. 아래의 그림에서 장미란 이라는 학생의 정보를 지울 경우 강의실 103도 같이 사라지게 되어 다른 튜플들이 강의실 103을 사용하지 못하는 경우에 발생합니다. 삽입 이상(Insertion Anomaly)란 튜플을 삽입하는 경웨 해당하는 정보가 없..
SQL에서 집합과 관련된 연산자에는 UNION, UNION ALL, INTERSECT, MINUS가 있습니다.UNION과 UNION ALL의 차이는 정렬 작업을 수행하는지에 대한 여부에 있습니다.UNION은 중복을 제거해야 하기 때문에 정렬작업을 수행하므로 성능이 저하됩니다.UNION, MINUS, INTERSECT는 전체 범위를 모두 액세스하는 정렬작업을 수행하기 때문에 부분 범위 처리가 불가능합니다.UNION - 합집합UNION은 두 테이블의 결합을 나타내며, 결합시키는 두 테이블의 중복되지 않는 값들을 반환합니다.-- 부서번호를 조회하는 UNION 예제.SELECT deptno FROM emp UNIONSELECT deptno FROM dept; DEPTNO-------- 10 ..
pymysql 라이브러리 설치하기우선, MySQL과 연결하기 위한 라이브러리인 pymysql이 필요합니다.pip install pymysql 명령어를 입력하여 라이브러리를 설치합니다.DB 데이터 입력 프로세스1. 데이터베이스(MySQL) 연결하기import pymysqlconn = pymysql.connect(host=’서버 IP주소′, user=’사용자’, password=’암호′, db=’데이터베이스’, charset=‘사용할 문자셋’)2. 커서 생성하기cur = conn.cursor()3. 명령어 전달하기cur.execute(CREATE TABLE table(id char(4), userName char(15), email char(20), birthYear int))execute()를 통해 실행하..
마샬링(Marshalling)? 언마샬링(Un-Marshalling)?마샬링이란 객체나 특정 형태의 데이터를 저장 및 전송 가능한 데이터 형태로 변환하는 과정을 이야기합니다.반대로, 언마샬링은 변환했던 데이터를 원래대로 복구하는 과정을 이야기합니다. 마샬링과 언마샬링을 비교적 쉽게 이해하기 위해서 Encoding/Decoding, 파싱, 직렬화/역직렬화에 대한 개념을 생각하면 될 것 같습니다.직렬화/역직렬화이 마샬링이라는 개념은 직렬화( Serialization )와 많이 비교되며, 직렬화의 개념과 유사하다고 많이 이야기합니다.직렬화란 객체를 바이트 스트림으로 변환하는 과정입니다. 웹에서는 그 의미가 확장되어 JSON 데이터를 객체로 변환하거나, 객체를 JSON 데이터로 변환하는 것을 의미합니다. 네트워..
ReflectionReflection은 구체적인 클래스 정보를 알지 못하더라도, 그 클래스의 메서드, 타입, 변수들에 접근할 수 있도록 도와주는 자바 API입니다.컴파일 시간이 아닌 실행 시간에 동적으로 특정 클래스의 정보를 추출할 수 있는 프로그래밍 기법입니다. 이는 동적 바인딩과 관련이 있습니다. Reflection은 언제 사용하나요?1. 동적으로 클래스 로드 시코드 작성 시점에는 어떤 Class를 사용해야 할지 모르지만, Runtime에 Class를 가져와서 실행해야 하는 경우입니다.대표적으로 Spring의 Annotation 기능의 Reflection을 이용하여 프로그램 실행 도중 동적으로 클래스의 정보를 가져와 사용합니다.2. 테스트 코드 작성 시private 변수를 변경하고 싶거나 privat..
Crontabcrontab은 UNIX 게열의 운영체제에서 주기적으로 명령어를 실행할 수 있게 해주는 스케줄러입니다.crontab 파일은 일정한 시간, 날짜, 요일에 특정 명령어를 실행할 수있도록 설정하는 파일입니다.crontab 파일은 각 사용자가 자신의 스케줄을 설정할 수 있도록 사용자 별로 존재하며, 시스템 관리자가 전체 시스템에 대한 스케줄을 설정할 수도 있습니다. Crontab 형식# 분 시 일 월 요일 명령어* * * * * 명령어각 필드(분, 시, 일, 월, 요일) 마다 아래와 같은 값을 줄 수 있습니다.분: 0 ~ 59시: 0 ~ 23일: 1 ~ 31월: 1 ~ 12요일: 0 ~ 7 (0과 7. 둘 다 일요일을 의미합니다)예를 들어, 매일 오전 3시에 /home/user/backup.sh 스..
- Total
- Today
- Yesterday