반응형
안녕하세요. 혹시 여러분들은 IPTABLES와 UFW의 차이 그리고 Docker의 IPTABLES 접근에 대해 알고 계신가요?? 오늘 해당 주제를 다루어보도록 하겠습니다. 먼저 IPTABLES란 리눅스 운영체제에서 네트워크 패킷 필터링 및 NAT를 수행하는 명령어 기반의 방화벽입니다. 이를 통해 네트워크 트래픽의 흐름을 제어하거나 보안을 강화하거나 리소스를 관리할 수 있습니다. 명령어 중 Chain을 간단하게 알아보면 테이블 내에서 패킷 처리의 "흐름"을 정의합니다. 해당 부분을 기억하고 아래 글을 지속해서 읽어주시면 좋을 것 같습니다. 그럼 여러분들이 우분투에서 자주 사용하는 UFW는 무엇일까요? 많은 분들이 IPTABLES을 모르고 UFW만을 사용하시는 분들도 있을 것이라 생각합니다. UFW는 리눅스..
안녕하세요! 여러분들은 왜 Reverse Proxy를 사용하시는지 알고 계신가요? 알고 계신 만큼 속으로 생각해 보시고 스크롤을 내려보세요. 여러분들도 잘 알고 있듯 단일 포트를 통해 웹 서비스를 제공하기 위해 사용하고 있습니다. 내부적으로 운영되고 있는 Origin Server에 직접적으로 접근하지 못하고 Web Server를 통한 Reverse Proxy로 Origin Server에 접근이 가능한 것이죠 그럼 왜 사용하고 어떤 장점들을 가져갈 수 있을까요? 단일 포트로 여러가지 서비스를 제공할 수 있고 반드시 단일 포트로 제공되고 있는 Web Server를 거쳐야 하기 때문에 보안적으로 유리한 장점을 가져갈 수 있습니다. 또한, 부하를 여러 서버로 분산해주어 각 서버를 안정적으로 운영할 수 있다는 장..
안녕하세요! 혹시 HTTP와 HTTPS의 차이를 알고 계신가요?? 알고 계신 만큼 스스로 답변해 보세요! 많은 여러분들이 알고 있듯 SSL/TLS 인증서를 발급받고 네트워크 종단 간 암호화를 제공하여 안전한 통신을 지원하는 기술입니다. 즉, TCP 프로토콜 기반인 HTTP에 Secure 기능 추가하여 제공하는 것입니다! SSL, TLS 많이 들어보셨죠?? 그럼 SSL과 TLS의 차이점에 대해 알고 계신가요? SSL(Secure Socket Layer)과 TLS(Transport Layer Security) 전송은 이름에서 알 수 있듯이 안전한 계층 Layer를 웹 통신에 추가하는 방식입니다. 이를 수행하기 위해 웹 서버에 TLS 혹은 SSL 인증서를 발급받고 추가하여 사용하고 있죠. 프로젝트에서 사용하신..
2. 네트워크 2.1 네트워크 기초 네트워크 장치들이 통신 기술을 이용하는 구축하는 연결망의 의미함 node와 Link가 서로 연결되어 있거나 연결되어 있으며 리소스를 공유하는 집합을 의미함 node : server, router, switch 등 네트워크 장비를 의미함 2.1.1 처리량과 지연 시간 좋은 네트워크 : 많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적고 안전한 보안성을 가진 네트워크 처리량(throughput) 링크 내에서 성공적으로 전달된 데이터의 양의 말함 = 얼만큼의 트랙픽 처리 처리량이 충분하다 = 많은 트랙픽을 감당할 수 있다. 단위로는 bps(bit per second)를 사용함 : 초당 수신되는 비트의 수 트래픽 : 링크 내 흐르는 데이터의 양 _ 서버에 저장..
면접을 위한 CS 전공 지식 노트 - 1. 디자인패턴 1.1디자인 패턴 디자인 패턴 프로그램을 설계할 때 발생했던 문제점을 객체 간의 상호 관계 등을 이용하여 해결 할 수 있는 하나의 “규약” 형태로 만들어 놓은 것 1.1.1 싱글톤 패턴(Singleton Pattern) 하나의 클래스에 오직 하나의 인스턴스만 가지게 하는 패턴 여러개의 개별적인 인스턴스를 만들 수 있지만 그렇게 하지 않고 클래스를 기반으로 단 하나의 인스턴스만 가능하게 만듬 → 데이터 베이스 연결 모듈에서 많이 사용되는 패턴 장점 : 인스턴스를 생성 시 비용이 줄어든다 단점 : 의존성이 높아진다. 기존 코드 const obj = { a: 27 } const obj2 = { a: 27 } console.log(obj == obj2) =>..
빌더 패턴 객체의 생성을 가독성 있게 만들고, 여러 개의 매개변수를 갖는 생성자를 피하며, 선택적인 매개변수를 다루기 위해 사용되는 디자인 패턴 사용하는 이유 일반적으로 매개변수를 가진 생성자를 이용하기 위해서 매개변수의 순서를 기억하고 전달해야하는 불편함이 존재했음, 일부 매개변수가 선택적이여서 오버로드된 생성자를 많이 사용해야하는 문제가 있었음 매개변수 순서 기억할 필요없음, 선택적인 필드들을 다루기 쉬움, 가독성과 유지보수성 향상, 불변성 유지 가능 단점? 빌더 클래스를 따로 작성해야한다는 단점이 존재함 빌더 패턴 사용법 빌더 클래스 정의 생성하고자 하는 객체의 필드들을 멤버 변수로 가지는 빌더 클래스를 정의 빌더 메서드 정의 빌더 클래스는 필드들을 설정하는 메서들들을 구현 메서드들은 빌더 객체 자..