Chapter01 79

[ 네트워크 ] 네트워크 트리폴로지

네트워크 트리폴로지: 노드와 링크가 어떻게 연결되어있는지 배치에 대한 방식.  트리형장점 : 노드의 추가 삭제가 쉬움.단점 : 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼침.  버스형근거리 통신망(LAN)에 사용장점 : 설치 비용이 적고 신뢰성이 우수함. 노드의 추가 삭제가 쉬움.단점 : 스푸핑 위험이 있음 스타형장점 : 노드 추가가 쉽고 에러 탐지가 쉬움. 패킷 충돌 가능성이 적음. 장애노드가 있어도 중앙 노드가 아닐 경우 다른 노드에 영향이 적음.단점 : 중앙노드 장애 시 전체 네트워크 사용이 불가함. 설치 비용이 고가. 링형노드에서 노드로 데이터 이동.장점 : 노드 수가 증가해도 네트워크상 손실이 없고 충돌이 적음. 고장발견이 쉬움.단점 : 네트워크 구성 변경이 어려움 , 회선에 장애 발..

[ Docker ] image , container

docker build 를 이용해서 설정한 Dockerfile 에 맞는 이미지 생성컨테이너에서 작성한 container layer 와 image layer를 합해서 새로운 image 생성완성된 dockerfile을 image로 만드는 방법 : build  이미지 = 레시피컨테이너 = 레시피를 이용해 만든 케이크레시피대로 따라가지 않으면 케이크를 만들 수 없다> 도커 이미지 지침에 따라 컨테이너를 만들어야 함.하나의 래시피로 여러 개의 케이크를 만들 수 있다> 도커 이미지 하나로 여러 개의 컨테이너를 만들 수 있음.래시피가 바뀌어도 기존의 케이크는 변하지 않는다> 도커 이미지가 바뀌어도 기존의 컨테이너에는 영향을 미치지 않음.도커 이미지 pushdocker image tag : :

Chapter01/Docker 2024.05.09

[ 네트워크 ] 처리량 Throughput , 지연시간 Latency

네트워크 : 컴퓨터 등의 장치들이 통신 기술을 이용해 구축하는 연결망. 노드와 링크가 서로 연결되어 있으면 리소스를 공유하는 집합. 노드 : 서버, 라우터, 스위치 등 네트워크 장치 링크 : 유선 또는 무선 좋은 네트워크란? 처리량이 많고, 지연시간이 짧고, 장애빈도가 낮으며, 보안이 좋은 네트워크처리량 Throughput링크 내 성공적으로 전달된 데이터 양.  트래픽을 얼마나 처리했는지를 말한다.  트래픽이 많아졌다는 것은 처리되는 트래픽이 많아졌음을 뜻한다.  '초당 전송 및 수신되는 비트 수'를 단위로 쓴다 bps(bit per second) 네트워크 장치 간의 대역폭, 에러, 하드웨어 스펙, 트래픽 등 영향을 받는다. 대역폭 : 주어진 시간 동안  네트워크 연결을 통해 흐를 수 있는 최대 비트 수..

[AWS] 프리티어 과금 조심하세여,,

새벽 5시 56분,,  📲띠링-!   ??..???????,,,??????????  자다 깨서 첨에 피싱당한 줄 알았음,,그리고 부랴부랴 PC를 켜서 AWS확인함,,     일단 피싱은 아닌데최근에 팀프로젝트 배포 담당이라 내가 AWS EC2에 배포를 하긴 했다만,,배포한 AWS EC2 instance는 Free tier (월별 750시간, 12개월 무료)인데 과금이 될 리 없다,,     ??????????????????????,,,     심지어 오늘이 4월3일인데 이미 이번 달 요금도 나가고있었따,,영문은 모르겟으나 급하게,, 실행 중인 instance를 중지시켰다,, 뿌앵,,,ㅠ      구글링을 해보니 프리티어인데도 요금이 과금되는 경우가 있기는 했다  사용량을 초과한 경우 , 고성능 RDS사..

Chapter01/deploy 2024.04.04

[AWS] 빌드 속도가 너무 느려요! swap메모리

AWS EC2 에 배포 중 이슈를 올려보려한다   배포 환경은 - 유형 : t2.micro- 메모리 : 30G- 네트워크 성능 : 낮음에서 중간- 운영체제 : Amazon Linux 입니당   메모리가 딸려서인지 빌드를 하는데 한세월이걸리고뻗어버리고,,해결 방법으로 swap을 잡기로해본다~!     스왑(swap) 메모리: 컴퓨터 시스템에서 물리적 메모리(RAM)의 확장으로 사용되는 가상 메모리의 일종으로 디스크의 일부를 할당하여 운영 체제가 실제 메모리처럼 사용할 수 있도록 하는 공간 swap을 설정해야 하는 이유? 장점은 아래와 같다 1. 메모리 관리 측면 EC2 인스턴스의 메모리가 부족할 때, 스왑 공간은 추가적인 가상 메모리로 사용된다. 그래서  메모리 부족으로 인한 시스템 크래시를 방지할 수 있..

Chapter01/deploy 2024.03.26

[Spring Boot] Backend Frontend 같이 빌드하기

팀 프로젝트를 빌드해야한당 후후,.,, 그런데,,  task buildFrontend(type: Exec) { workingDir file('src/main/frontend') commandLine 'npm.cmd', 'install' commandLine 'npm.cmd', 'run', 'build'}         빌드를 하면 이런 화면이 뜬다ㅠㅠㅠㅠㅠ    ( 근데 아무리 검색해도 이 화면은 안나오는데 나 같은 바보가 정말 나 한 명 인건가,,? 이런 바보는 없는거야 나 말고 한 명도? )        영문도 모르고 뭐가 잘못된건가얼레벌레 한참을 헤맸고,,,   우리 프로젝트 구조상백엔드와 프론트엔드가 같이 빌드되지 않고있다는걸 알게되었다    아래와같이 build.gradle파일을..

Chapter01/deploy 2024.03.14

[ java ] 객체지향 개발 SOLID 5대 원리 + 예시코드

객체지향: 문제에 대해 데이터의 관점에서 이 프로그램을 바라보며 데이터를 가지고 있는 객체들 간의 관계를 정의해서 프로그램을 만든다. (cf.C는 절차지향적 언어임)  SRP 단일책임의 원칙 ,OCP 개방폐쇄의 원칙, LSP 리스코브 치환의 원칙 , ISP 인터페이스 분리의 원칙, DIP 의존성역전의 원칙 다섯가지 원칙의 초성을 따서 SOLID원칙 라고부는데 이 원칙에 걸맞는 코드는 결합도가 느슨하고 응집력이 높은 코드가 됩니다 !    소프트웨어 공학에서 모듈화는 응고결저 라고 암기하죠?결합도가 높을수록 응집도가 낮을수록 재사용성과 유지보수성이 높아집니다!   모든 상황에 이 원칙들을 적용하는데는 무리가 있을 수 있으나가독성좋고 재사용성이 높은 코드를 짜기 위해서 알아야하는 SOLID 원칙에 대해 알아..

Chapter01/Java 2024.03.13

[ Java ] 클래스 정의

클래스는 객체의 속성을 정의하고 이를 인스턴스화라고도 한다.Field (속성) + Method (행위) + Constructor (생성자) ● 필드 정의Static final private String name;                        접근지정자  타입    필드명 변수는 데이터를 담는 그릇예약어 사용 불가, 소문자로 시작해야함, 숫자 가능 , 특수문자 일부 가능 등 규칙있음.● 생성자 정의: 객체를 인스턴스화 할 때 가장 먼저 호출되는 메서드-> 클래스와 객체 간 새로운 인스턴스가 만들어질 떄 클래스가 가지고 있는 기본 속성에 대해 초기화값을 만들어주어야함. 생성자이름 = 클래스이름이고, 매개변수를 다르게해서 여러 개 정의할 수 있다. (오버로딩참고!) 반환타입은 없다JAVA의 모든 ..

Chapter01/Java 2024.03.13

[ Spring Boot] Spring Boot Initializr

안녕하세요!프로젝트 initialize 하는 방법을 알아보아요 오늘!  https://start.spring.io/   링크로 접속 시 위와 같은 화면을 볼 수 있궁   먼저 좌측 부분   그리고 우측에 ADD DEPENDENCIES 를 클릭해 원하는 모듈을 설치할 수 있다    이처럼 많은 종류의 모듈이 있고, 필요한 것만 골라서 추가하면 된다   Lombok: 거의 필수적으로 들어간다고 보면 됨. 클래스에 어노테이션을 사용해 @getter, @setter와 같은 패턴 메소드를  사용할 수 있다. 클래스를 간단하게 만들어주는 좋은 툴 ! Spring Web: 내장 Tomcat과 같은 웹 서비스 만들 때 중요한 모듈임. MVC 패턴구현에 필요한 기능들이 들어있으며 Rest API 를 만들 때 필요함!  ..