기타 정보: 169개의 글

필자는 그동안 프록시서버와 게이트웨이를 혼동해서 용어를 많이 사용했었던 것 같다. 사실 글을 쓰는 지금까지도 이 두개의 차이점을 100% 명확히 구분짓기 힘들지만, 범용적으로 사용되는 프록시서버와 게이트웨이를 뜻을 알아본다. Proxy Server(프록시 서버) 위키에는 프록시 서버에 대한 설명이 아래와 같이 나와있다. 프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부른다. 프록시 서버 중 일부는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장해 둔다. 이렇게 캐시를 해 두고 난..

오늘 살펴볼 내용은 GSLB(Global Server Load Balancing)이다. 간단하게 GSLB가 뭔지, 일반 DNS서비스와 어떠한 점이 다른지 등을 살펴보자 GSLB(Global Server Load Balancing 이름만 보면 얼핏 업그레이드된 로드 밸런싱 형태라고 생각할 수 있지만, 이름과는 다르게 DNS 서비스의 발전된 형태이다.(물론 LB 역할을 하긴 하지만 근본적으론 DNS형태라 보면 좋을 것 같다.) DNS는 도메인 주소와 IP를 매핑하여 도메인으로 요청이 들어왔을 때 타켓의 주소로 변환해 주는 서비스이다. 하나의 도메인 주소에 대해서 여러 개의 IP주소를 넘겨 줄 수 있는데, 이 기능을 이용해서 가용성 구성과 로드 밸랜싱 기능을 수행하기도 한다. DNS 뒤에 여러 IP를 붙여 고..

오늘 포스팅할 내용은 간단하게 HTTP와 HTTPS와의 차이점을 보고 더 나아가 HTTPS에 대해 다루어보려 한다. HTTP VS HTTPS 웹 개발을 하는 개발자라면 HTTP 프로토콜이라는 것을 모르지 않을 것이다. HTTP란 Hypertext Transfer Protocol의 약자이다. OSI 7계층 중 응용계층에 위치하고 있는 프로토콜이다. 이 프로토콜은 간단히 네트워크 구간에서 HTML문서를 전송하기 위한 통신규약이다. 물론 HTML 문서만을 주고 받는 것은 아니지만 간단히 쉽게 HTML을 주고 받기 위한 프로토콜이라고 생각하자. 그렇다면 HTTPS란 무엇일까? HTTPS는 Hypertext Transfer Protocol Over Secure Socket Layer의 약자로 Secure라는 단어..

오늘 다루어볼 포스팅 내용은 Wireshark를 이용한 네트워크 패킷 분석 예제입니다. HTTP/HTTPS 포스팅을 위한 선행 작업이라고 볼 수 있을 것 같습니다. 모든 환경은 Mac OS 환경에서 진행되었음을 알려드립니다. Wireshark · Download Riverbed is Wireshark's primary sponsor and provides our funding. They also make great products that fully integrate with Wireshark. I have a lot of traffic... ANSWER: SteelCentral™ Packet Analyzer PE • Visually rich, powerful LAN analyzer • Quickly a..

소프트웨어 개발 방법론 - 애자일(Agile) 방법론 애자일(Agile) 방법론은 구체적인 개발 프로세스가 아닌 개발 지침, 철학에 가깝다. 변화를 수용하고 협업과 제품의 빠른 인도를 강조하는 반복적 개발 방법 문서화보다 코드, 프로그램, 소프트웨어 자체를 중요시 함 요구사항의 변화는 불가피하며 이에 대응하는 것이 현실적이다. 기존의 개발 프로세스는 설계 기간이 길며 재작업 시 오버헤드가 크다. 환경의 빠른 변화에 대응하는 것이 중요하다. 애자일 선언문(Agile Manifesto) 🔗 공정과 도구보다 개인과 상호작용을 포괄적인 문서보다 작동하는 소프트웨어를 계약 협상보다 고객과의 협력을 계획을 따르기보다 변화에 대응하기를 요구사항이 바뀌기 쉬운 중소형의 비즈니스 시스템이나 전자 상거래 응용에 적합하다...

소프트웨어 개발 프로세스 - 나선형 모델과 V 모델 소프트웨어 개발 프로세스 모델 중 나선형 모델과 V 모델은 각각 반복 진화형 모델과 폭포수 모델의 확장된 형태이다. 1. 나선형 모델(Spiral Model) 나선형 모델의 도식화는 획일적이지 않다. 반복 진화형 모델🔗의 확장 형태 위험 최소화 - 전체 생명주기에 위험 분석과 프로토타이핑을 사용 각 단계 별로 ①목표와 대안의 결정, ②대안의 평가(위험 요소 분석), ③개발과 확인, ④다음 단계 계획의 4가지 단계를 수행함 나선형 모델은 위험 관리를 지원하는 프로세스의 프레임워크라고 할 수 있다. 가장 큰 특징 - 위험 관리에 비용을 투자 실험적이고 복잡한 대형 프로젝트에 적합 장점 대형 프로젝트에서 위험 관리를 통해 성공 가능성을 향상 프로젝트 특성, ..

소프트웨어 개발 프로세스 - 반복적 모델의 종류와 차이점 소프트웨어 개발 프로세스 모델 중 반복적 모델은 증분형(Incremental) 모델과 진화형(Evolutional) 모델 두 가지로 구분할 수 있다. 1. 반복적 모델 - 진화형 모델(Iterative Evolutional Model) 불안정한(미완성된) 요구사항으로부터 명세(설계) ➡️ 개발 ➡️ 검증 과정을 거쳐 초기버전 개발 명세(설계) ➡️ 개발 ➡️ 검증 과정을 반복하여 중간 버전, 최종 버전 개발 프로토타이핑을 통해 요구사항을 보완하며 점차적으로 명확한 요구사항 도출 반복 진화형 모델의 확장 형태로 나선형 모델(spiral model)🔗이 있다. 장점 요구사항이 완성되지 못한 경우에도 초기 버전 개발 가능 단점 개발 비용 예상 어려움 반..

소프트웨어 개발 프로세스 모델 - 폭포수 모델(Waterfall Model) 폭포수 모델은 대략 7단계로 구성된다. 선형 순차 모델(linear, sequential model), 고전적 소프트웨어 생명 주기 각 단계는 병행 수행되지 않고 순차 수행됨 기본적으로는 아래 방향으로 진행되나 실제로는 수정 및 재작업을 위해 이전 단계로의 피드백이 불가피함 폭포수 모델의 확장 형태로 V 모델🔗이 있다. 장점 단순한 선형 모델 - 이해 쉬움 단계별로 정형화된 접근 방법 - 체계적 문서화 가능 프로젝트 진행 상황 명확히 파악 가능 단점 요구사항을 완벽하게 작성해야 함 변경 수용 어려움 시스템의 동작을 후반에 확인 가능 대형 프로젝트에 적용 부적합 지나친 문서화 위험 분석 결여 일정 지연 가능성 큼 1. 폭포수 모델..

[컴퓨터보안] 암호의 개념과 대칭키 암호, 공개키 암호 1. 암호의 정의 및 용어 📝 암호의 정의 두 사람이 안전하지 않은 채널(인터넷 등)을 통하여 정보를 주고받더라도 제 3자는 이 정보의 내용을 알 수 없도록 하는 것 📝 관련 중요 개념 및 용어 * 평문(plaintext): 원본 메시지 * 암호문(ciphertext): 코드화(암호화)된 메시지 * 암호화(encryption): 평문을 암호문으로 변환 * 복호화(decryption): 암호문을 평문으로 변환 * 키(key): 암호화, 복호화 시 사용하는 가장 중요한 열쇠 📝 일반적인 암호의 요건 암호 알고리즘 + 키(key) 제 3자가 암호 알고리즘을 알더라도 키(key)를 모르면 암호를 풀 수 없음 2. 고대 암호화 방법 전치법(Permutatio..

[알고리즘] 분할정복 방법 - 이진 탐색, 퀵 정렬 알고리즘 1. 분할정복(Divide-and-Conquer) 방법 - 대표적인 알고리즘 설계 기법 중 하나 - 대표적인 알고리즘 설계 기법 : 분할정복(divide-and-conquer) 방법, 동적 프로그래밍(dynamic programming) 방법, 욕심쟁이(greedy) 방법 1) 분할정복 방법의 원리 - 순환적(recursive)으로 문제를 푸는 하향식(top-down) 접근 방법 주어진 문제의 입력을 더 이상 나눌 수 없을 때까지 순환적으로 분할하고 분할된 작은 문제들을 해결한 후 그 해를 결합하여 원래 문제의 해를 구하는 방식 2) 분할정복 방법의 특징 - 분할된 작은 문제는 원래 문제와 성격이 동일하다. → 입력 크기만 작아짐 - 분할된 문..