본문 바로가기

반응형

Computer Science

(55)
Internet Protocol(인터넷 통신규약) 네트워크 상에서 서로를 구별하는 식별 번호의 일종이다. 이러한 IP는 OSI 7계층 모델의 관점에서 보면 IP 계층은 네트워크 계층에 해당됩니다. - 네트워크 계층의 전송수단인 "패킷"을 목적지 까지 전달합니다. IP4 32bit 으로 구성된 IPv4 최대 약 40억개의 서로 다른 주소를 부여할 수 있다. 5개의 클래스를 가지며 주로 상위 3개의 클래스를 사용한다. 32bit를 8bit씩 10진수로 표현하여 4자리로 나타낸다. A Class : 1 ~ 126 ( 0 ~ 127 예약됨) ex) 61.211.123.22 B Class : 128 ~ 191 ex) 181.123.211.33 C Class : 192 ~ 223 (일반적인 가정집 클래스) ex) 221.23.222.222 아래 두클래스는 잘 사용..
COMMIT , ROLLBACK COMMIT - 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어 - 트랜잭션의 처리 과정을 데이터베이스에 반영하기 위해서, 변경된 내용을 모두 영구 저장 - COMMIT 수행하면, 하나의 트랜잭션 과정을 종료 - 이전 DATA가 완전히 UPDATE된다. - 모든 사용자가 변경한 데이터의 결과를 볼 수 있다. ROLLBACK - 작업 중 문제가 발생했을 때, 트랜젝션의 처리 과정에서 발생한 변경 사항을 취소하고, 트랜젝션 과정을 종료시킨다. - 트랜젝션으로 인한 하나의 묶음 처리가 시작되기 이전의 상태로 되돌린다. - 이전 COMMIT한 곳까지만 복구한다.
Synchronization 동기화란? 동기화란 무엇일까??? 동기화란 말에서 오는 느낌처럼 어떤 2개이상의 무엇이 서로 무언가를 공유하고 합쳐지는 상태같은 느낌을 받는다. 컴퓨터과학에서 동기화를 정의하자면 프로세스 또는 스레드들이 수행되는 시점을 조절하여 서로가 알고 있는 정보가 일치하는 상태라고 한다. 프로세스 동기화 - 하나의 자원을 한순간 하나의 프로세스가 사용하는 것 스레드 동기화 - 하나의 코드블록 또는 메소드를 하나의 스레드만 이용하는 것 동기화를 화기위해서는 당연히 서로를 간섭하지 않기위한 LOCK이 필요하다. 서로가 간섭하면 안되는 구간을 우리는 임계구역이라 한다.
병렬처리 병렬 처리(Parallel Processing) 컴퓨터에서 병렬처리란 프로그램 명령어를 여러 프로세서를 분산시켜 동시에 수행함으로써 빠른 시간 내에 원하는 답을 구하는 작업을 일컫는다. 초기의 병렬 처리란 한 프로그램이 입출력을 시작하여 끝나기를 기다른 동안, 다른 계산을 수행을 하는 프로그램이 실행될 수 있도록 하는 것이다. 멀티프로그래밍 다음 단계의 병렬처리는 멀티프로그래밍이다. 멀티프로그래밍 시스템에서는 여러 사용자가 수행시킨 여러 프로그램이 있을 때 한프로그램이 프로세서를 짧은 시간 동안 차지하여 작업을 수행시키고, 운영체제가 그 다음 프로그램이 수행되도록 하는 방식으로 작업을 하였다. 그러면 사용자 입장에서는 모든 프로그램이 동시에 수행되는 것처럼 보인다. 문제점으로는 데드록 현상이 있다. 멀티..
엔터프라이즈 어플리케이션 마틴 파울러는 "엔터프라이즈 애플리케이션 아키텍처 패턴"에서 다음과 같이 이야기한다. 엔터프라이즈 애플리케이션은 급여 관리, 환자 기록, 배송 추적, 비용 분석, 신용 점수, 보험, 공급망, 회계, 고객 서비스, 외환 거래를 포함한다. 반면 자동차 연료 주입, 워드프로세서, 승강기 제어, 화학 공장 제어기, 전화 스위치, 운영체제, 컴파일러, 게임 등은 포함하지 않는다. 엔터프라이즈 애플리케이션은 일반적으로 지속적 데이터(persistent data)를 처리한다. 프로그램을 여러 번 실행해도 데이터를 유지해야 하기 때문. 최소한 몇 년 동안 유지. 데이터를 새로운 애플리케이션에 맞게 마이그레이션해야 하는 경우도 있다. 일반적으로 막대한 양의 데이터를 처리한다. 데이터를 관리하는 업무가 시스템의 중요한 부..
인터넷 페이지가 보이는 과정 브라우저에 www.naver.com 을 쓰고 Enter 클릭시 어떤일이 일어날까? 1. 브라우저에 www.naver.com을 입력한다. 2. DNS(Domain Name Service) 를 통해 IP(Internet Protocol)주소를 획득한다. 3. 획득한 IP 주소에 있는 서버와 TCP 3 Way Handshake를 진행한다. 4. 통신을 맺은 서버에 HTTP Request를 한다. 5. 서버에서 보낸 HTTP Response를 통해 html 파일을 가져온다. 6. 크롬,웨일등 브라우저가 html을 해석해서 출력한다. 도메인 구조 DNS 란 무엇인가? - 도메인 이름(www.naver.com) - > IP주소(17.929.255.xxx)로 변환 DNS Cache - DNS에서 이미 한번 처리된 도..
소프트웨어 개발 생명주기 면접에서 물어볼까 싶지만??? 그래도 기본적인 지식은 알아야 되지않을까.. 일반적으로 개바을 할때 생각해볼수 있는 단계는 3단계로 나뉜다 정의 단계, 개발 단계, 유지보수 단계 셋다 생각해보면 쉽다. 정의 단계 : 당연히 무엇을 만들지 설계하고 DB구조 필요한 기수들을 정의하는 다계 개발 단계 : 실제로 프로토타입을 만들고 개발을 하는 단계 유지 보수 단계 : 서비스를 하고나서 문제점을 찾는 단계다.. 각각의 단계에서도 세부적인게 있지만 이까지는 물어보지는 않을 것 같다. 폭포수 모델(Waterfall Model)편집 소프트웨어 개발의 전 과정을 나누어 체계적이고 순차적으로 접근하는 방식 각 단계의 결과가 확인되어야지만 다음 단계로 넘어간다. Bohea가 제시한 고전적 생명주기 모델로 선형 순차적 모델이..
블랙박스/ 화이트박스 테스트 사용자 관점으로 테스트하는것을 블랙박스 테스트 (내부구조가 어두워서 안보인다는 뜻으로 이해했다) 따라서 인터페이스 테스트 UI테스트가 되겠다. 기존에 설계했던 요구사항과 일치하는지 테스트이다. 화이트 박스 테스트란 내부가 보인다. 즉 개발자 관점의 테스트이다. 주로 루프 로직, 로우 개발단의 테스트이다(논리상 오류를 잡는 테스트)

반응형