분류 전체보기76 [Network] Syn Flooding이란? Syn Flooding이란? TCP의 3-way handshake 구조적 약점을 이용하는 공격 소스 IP를 존재하지 않는 출발지 IP주소로 위조(Spoofing)한 후 서버의 특정 포트에 대량의 SYN packet을 발송하고 연결을 완료하지 않아서 백로그 큐를 꽉차게 함으로써 더 이상의 새로운 연결 요청을 받을 수 없도록 함 Backlog Queue = Incomplete Queue + Complete Queue 원래는 SYN+ACK 응답 후 Incomplete Connection Queue에 연결 요청정보를 저장하고 이후 클라이언트가 ACK응답을 보내면 Incomplete Connection queue 에 있던 연결 요청 정보를 Completed Connection Queue로 이동하여 Accept().. 2021. 9. 21. [Network] TCP와 UDP, HTTP1,2,3, HOLB란? HTTP, TCP와 UDP, TCP의 연결/해제 방식인 3-way handshaking과 4-way handshaking에 대해서 알아본다. 목차 HTTP TCP UDP QUIC HOLB HTTP Hyper Text Transfer Protocol HTTP/1 한 번의 연결(Handshake)에 한 번의 요청만 처리 HTTP/2 멀티플렉싱을 사용하여 한 번의 연결(Handshake)에 여러 요청을 처리 Handshake 과정을 줄임으로써 Latency를 낮춤 HTTP/3 TCP방식을 사용하는 HTTP/1, HTTP/2와 달리 UDP방식을 사용 HTTP/2와 마찬가지로 멀티플렉싱을 지원한다. TCP 연결 지향 연속적인 데이터 전송의 신뢰성을 보장한다. 이러한 과정을 위해 서버와 클라이언트가 연결을 하거나 .. 2021. 9. 19. [Java] String, StringBuilder, StringBuffer의 차이 자바에서 String과 StringBuilder, StringBuffer의 차이는 매우 중요하고 면접에서 자주 물어보는 단골 질문이다. 이번 포스팅에서는 셋의 차이와 각자의 특징에 대해 알아보려고 한다. String vs StringBuilder, StringBuffer String과 StringBuilder, StringBuffer의 가장 큰 차이는 값이 변경되는지, 변경되지 않는지의 여부이다. 각 객체를 수정하였을 때 실제 메모리에 어떤 변화가 있는지를 확인하면 쉽게 이해할 수 있다. 실제로 String, StringBuffer, StringBuilder가 메모리에 저장되는 방식 우선 자바에서 객체가 저장되는 방식은 위와 같다. String str = "sujinhope"에서 변수 str 은 스택에 .. 2021. 9. 12. [Java] Java11의 특징(Feat. Java9, Java10) 이번 포스팅은 Java11의 특징. 즉, Java8 이후 Java11 까지의 대략적인 변화에 대해 정리해두었다. Java8의 특징을 알고 싶다면 이전 포스트에 정리해두었다. [Java] Java8의 특징 1. 함수형 인터페이스, Stream API, Lambda 목차 함수형 인터페이스 Stream API Lambda 참고 링크 그동안은 알고리즘이나 프로젝트를 진행할 때 Java8을 사용해 오다가 이번에 회사에서 Java11을 이용해 프로젝트를 진행하게 되었다. Java8과 Java11 beforb.tistory.com 목차 GC의 변화 - G1 GC(Garbage First GC) 도커 컨테이너의 향상된 기능 다중 릴리즈 - jar files 기타 버전별 업데이트(Java9, Java10, Java11).. 2021. 9. 6. [Java] Java8의 특징 1. 함수형 인터페이스, Stream API, Lambda 목차 함수형 인터페이스 Stream API Lambda 참고 링크 그동안은 알고리즘이나 프로젝트를 진행할 때 Java8을 사용해 오다가 이번에 회사에서 Java11을 이용해 프로젝트를 진행하게 되었다. Java8과 Java11은 특히 변화와 특징이 많아 그동안 기술 면접에서도 종종 질문이 들어왔던 이슈인데, 이번 기회에 정리해보려고 한다. Java11의 특징은 다음 포스트에 정리해 두었다. 1. 함수형 인터페이스(Functional Interface) Java8의 핵심은 함수형 프로그래밍을 지원한다는 것이다. 함수형 인터페이스를 위해서는 함수형 프로그래밍에 대해 먼저 알아야 하는데, 함수형 프로그래밍에 대해서는 좀 더 자세히 정리하고 싶어서 여기서는 간단히만 정리하고 따로 포스팅을 할 예정이다. 간단.. 2021. 8. 30. [Java] 클래스 변수와 인스턴스 변수의 차이(static 변수와 non-static 변수) 목차 클래스 변수, 인스턴스 변수 클래스 변수, 인스턴스 변수, 지역 변수가 메모리에 적재되는 위치 클래스 변수(Static)의 주의점, 클래스 변수가 필요한 이유 클래스 변수, 인스턴스 변수 클래스 변수(Static 멤버) 클래스 내에 Static 키워드로 선언된 변수 처음 JVM이 실행되어 클래스가 메모리에 올라갈 때 ~ 프로그램이 종료될 때까지 유지 클래스가 여러 번 생성되어도 Static 변수는 처음 딱 한 번만 생성됨 동일한 클래스의 모든 객체들에 의해서 공유됨 인스턴스 변수(Non-static 멤버) 클래스 내에 선언된 변수 객체 생성 시마다 매번 새로운 변수가 생성됨 클래스 변수와 달리 공유되지 않음 아래 예제에서 StaticTest 인스턴스를 두 개 생성한 후 staticTest1의 클.. 2021. 8. 25. [Network] 동기 vs 비동기, 블로킹 vs 논블로킹의 차이 목차 동기(Sync)와 비동기(Async) 블로킹(Blocking)과 논블로킹(Non-Blocking) 예제 - 동기+블로킹, 동기+논블로킹, 비동기+블로킹, 비동기+논블로킹 이번 시간엔 동기와 비동기, 블로킹과 논블로킹에 대해 알아보려고 한다. 이전에 동기와 비동기에 대해서 공부할 때 단순히 하나의 작업이 처리된 후에 다음 일이 처리되면 동기, 여러 작업이 동시에 처리되면 비동기라고 이해하고 있었는데, 동기와 비동기를 말 할 때 블로킹/논블로킹의 개념을 함께 이해해야 된다는 것을 알게 되었다. 그동안 내가 단순히 동기와 비동기 개념으로 이해하고 있었던 것은 엄밀히 따지자면 동기+블로킹, 비동기+논블로킹이었던 것 같다. 동기/비동기와 블로킹/논블로킹은 엄연히 다른 개념으로 한 번 짚고 넘어갈 필요가 있다.. 2021. 8. 25. [배포] 2. Django Nginx 설정하기(feat. uWSGI) 참고링크 시작 전 처음에 백엔드 테스트용으로 실행하느라 backend.conf/backend.ini로 설정했지만 파일명을 전부 원하는대로 바꿔도 됨. ex) backend.conf -> myproject.conf / 프로젝트명.conf 등 backend.ini -> myproject.ini / 프로젝트명.ini 등 프로젝트 구조 test_aws └─ sub2 ├─ frontend# frontend project │ └─ backend# backend project ├─ manage.py# runserver 위치 ├─ .config │├─ nginx │ │ └─ backend.conf │ └─ uwsgi │├─ backend.ini │└─ uwsgi.service └─ backend └─ wsgi.py D.. 2021. 8. 24. [배포] 1. Django EC2 배포 방법(feat. uWSGI) 참고링크 아래 링크의 내용을 바탕으로 직접 Django를 EC2에 배포해보고, 내용을 요약하여 정리해보았다. Django 서비스 AWS로 배포하기 - [3] uWSGI 연결하기 Django 서비스 AWS로 배포하기 - [1] 프로젝트 준비와 AWS 서버 대여 Django 서비스 AWS로 배포하기 - [2] github과 프로젝트 업로드 지난 포스트 까지 서버에 나의 프로젝트를 git을 통해 업로드 해보았습니 nerogarret.tistory.com TIP # ubuntu 명령어 # 참고 - https://velog.io/@devyang97/Linux-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC-Ubuntu-%EC%82%AC%EC%9A%A9 $ pwd# 현재 디렉토리.. 2021. 8. 24. 이전 1 ··· 3 4 5 6 7 8 9 다음 반응형