[Web] Web Server와 WAS(Web Application Server) / Apache, NginX와 Tomcat
·
개발 하나둘셋/CS
개념정리 Web Server와 WAS(Web Application Server) - Apache, NginX와 Tomcat - 회사에서 프로젝트 배포 전 WebServer와 WAS의 개념에 대해 공부해보라는 지시???가 있어서 겸사겸사 정리해보는 시간을 가졌다. 그냥 무조건 들이밀 수도 있는데 비전공자에 공부기간이 짧은 나에대한 많은 베려라고 생각해 감사한 마음이다. 아직 동기/비동기, 스레드 등 서버를 이해하기 위한 밑바닥 개념들조차 완벽하게 이해가 안되어 시간이 오래걸렸지만, 최대한 이해한대로, 다시봐도 이해가 가게끔 정리해보았다. [차례] 1. Web Server와 WAS의 개념과 차이 2. Apache와 NginX 3. Tomcat 1. Web Server와 WAS의 개념과 기능 1. Web S..
웹소켓 개념과 원리
·
개발 하나둘셋/CS
개념정리 웹소켓 개념과 원리 웹소켓(WebSocket)의 개념 웹소켓이란? 웹소켓(WebSocket) 기존의 단방향 HTTP 프로토콜과 호환되어 양방향 통신을 제공하기 위해 개발된 프로토콜 일반 Socket통신과 달리 HTTP 80 Port를 사용하므로 방화벽에 제약이 없으며 통상 WebSocket으로 불림 접속까지는 HTTP 프로토콜을 이용하고, 그 이후 통신은 자체적인 WebSocket 프로토콜로 통신 웹 소켓은 HTTP(Hyper Text Transfer Protocol)를 사용하는 네트워크 데이터 통신의 단점을 보완하는데 그 목적이 있다. HTTP는 HTML이라는 문서를 운반하기 위한 프로토콜로 모든 HTTP를 사용한 통신은 클라이언트가 먼저 요청을 보내고, 그 요청에 따라 웹 서버가 응답하는 형..
[ Algorithm] 시간복잡도 / 공간복잡도 / 점근 표기법
·
개발 하나둘셋/CS
개념정리 시간복잡도 / 공간복잡도 / 점근 표기법 시간복잡도 입력값과 문제를 해결하는 데 걸리는 시간과의 상관관계 예시1) input = [3, 5, 6, 1, 2, 4] def find_max_num(array): for num in array: # array 의 길이만큼 아래 연산이 실행 for compare_num in array: # array 의 길이만큼 아래 연산이 실행 if num < compare_num: # 비교 연산 1번 실행 break else: return num result = find_max_num(input) print("정답 = 6 / 현재 풀이 값 = ", find_max_num([3, 5, 6, 1, 2, 4])) print("정답 = 6 / 현재 풀이 값 = ", fin..
SQL Injection이란? (SQL 삽입공격)
·
개발 하나둘셋/CS
개념정리 SQL Injection이란? (SQL 삽입공격) SQL Injection이란? SQL Injection 이란 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위 인젝션 공격은 OWASP Top10 중 세 번째에 속해 있으며(2021년 기준), 공격이 비교적 쉬운 편이고 공격에 성공할 경우 큰 피해를 입힐 수 있는 공격 OWASP TOP 10이란 Open Web Application Security Project에서 선정하는 악용가능성, 탐지가능성 및 영향에 대해 빈도수가 높고 보안상 영향을 크게 줄 수 있는 10가지 웹 애플리케이션 보안 취약점 목록으로, OWASP Top 10 목록은 3~4년에 한번씩 ..
TDD의 장단점
·
개발 하나둘셋/CS
개념정리 TDD 란? TDD(Test-Driven Developmen)란? 테스트 주도형 개발 매우 짧은 개발 사이클의 반복에 의존하는 소프트웨어 개발 프로세스이다. 개발자는 요구되는 새로운 기능에 대한 자동화된 테스트케이스를 작성하고 해당 테스트를 통과하는 가장 간단한 코드를 작성한다. 일단 테스트 통과하는 코드를 작성하고 상황에 맞게 리팩토링하는 과정을 거치는 것이다. 말 그대로 테스트가 코드 작성을 주도하는 개발방식이다. 테스트 주도형 개발에선, 새로운 기능을 추가하기 전 테스트를 먼저 작성한다. 테스트를 작성하기 위해서, 개발자는 해당 기능의 요구사항과 명세를 분명히 이해하고 있어야 한다.(사용자 케이스와 스토리 등) TDD의 장단점 장점 개발자가 코드를 작성하기 전에 요구사항에 집중 할 수 있다..
[네트워크] RESTful 하게 API를 디자인 한다는 것은?
·
개발 하나둘셋/CS
개념정리 RESTful API RESTful 이란? REST에 ~ful 이라는 형용사형 어미를 붙여 ~한 API 라는 표현으로 사용된다. 즉, REST 의 기본 원칙을 성실히 지킨 서비스 디자인은 'RESTful'하다라고 표현할 수 있다. REST란? URI를 통해 자원을 표시하고, HTTP Method를 이용하여 해당 자원의 행위를 규정하여 그 결과를 받는 것 REST의 기본원칙 Uniform (유니폼 인터페이스) REST 서버는 다중 계층으로 구성될 수 있으며 보안, 로드 밸런싱, 암호화 계층을 추가해 구조상의 유연성을 둘 수 있고 PROXY, 게이트웨이 같은 네트워크 기반의 중간매체를 사용할 수 있게 한다. Stateless (무상태성) REST 서버는 API 제공, 클라이언트는 사용자 인증이나 컨..
유리코딩
'개발 하나둘셋/CS' 카테고리의 글 목록