분류 전체보기 396

DHCP, NAT

DHCP ( Dynamic Host Configuration Protocol )네트워크에 접속되어 있는 컴퓨터에 대해 IP주소, 서브넷마스크, 기본 게이트웨이,DNS 서버의 IP 주소 등으로 컴퓨터가 네트워크에 접속하는 데 필요한 정보를 동적 할당.DHCP는 아직 컴퓨터에 네트워크 설정이 되어 있지 않은 시점에 사용하므로 IP 주소를 지정해서 하는 일반적인 통신을 이용하지 않고, 브로드캐스트를 잘 이용해서 DHCP 서버와 정보를 주고 받는다.discover → offer → request → acknowledge  NAT / NAPT- 공인IP -> 사설 IP 분배- IP고갈 대안 + 보안 관점

카테고리 없음 2024.07.23

이더넷 프레임

이더넷(Ethernet)과 유선 네트워크 -이더넷은 전 세계에서 폭 넓게 이용되고 있는 네트워크 규격이다. (하드웨어와 통신 방식)우리의 컴퓨터에 탑재되어 있는 유선 네트워크 인터페이스는 거의 '이더넷'이라고 봐도 된다.이더넷에는 통신속도와 통신매체가 다른 '규격'이 여러개 있다.규격명 통신속도 적합케이블 케이블 한 개당 최대 길이10BASE-T10Mbps카테고리 3이상100m100BASE-TX100Mbps카테고리 5이상100m1000BASE-T1,000Mbps ( ; 1Gbps )카테고리 5이상100m10GBASE-T10Gbps카테고리 6이상100m왼쪽의 숫자가 Mbps, Gbps 같은 통신속도를 표시하고 ( bps = 비트/초 )BASE에서 오른쪽의 T 또는 TX는 사용하는 배선 방식을 의미한다.컴퓨..

카테고리 없음 2024.07.23

라우터, 라우팅 프로토콜(다이나믹 라우팅)

라우터는 패킷을 받으면 그 수신처로 표시 돼 있는 IP 주소에 서브넷마스크를 적용해서 네트워크 주소를 알아낸다.그리고 라우팅 테이블에서 그 네트워크에 관한 규칙을 찾는다. 규칙을 찾으면 그 규칙에 따라 전송한다.이 전송 처리를 여러 대의 라우터가 반복함으로써 패킷은 목적지 컴퓨터까지 도달할 수 있게 된다.컴퓨터의 관점에서 보면, 패킷의 '라우팅'은 전부 라우터가 하는 일이니까 일반적으로 기본 게이트웨이로 네트워크의 입출력 역할을 하는 라우터를 설정한다.컴퓨터의 기본 게이트웨이 설정은, 네트워크 설정의 일부로 수동으로 하는 경우와 DHCP로 자동으로 하는 경우가 있다.라우터즉, 서로 통신할 수 없는 개별적인 네트워크들이 라우터를 사이에 두면 서로 통신을 할 수 있게 된다.( 그렇다고 개별 네트워크를 하나로..

카테고리 없음 2024.07.23

default gateway

기본 게이트웨이란 자신이 소속된 네트워크 이외에 보내려는 패킷을 어디로 보내면 좋을지에 대한 정보를 갖고 있지 않을 때의 전송처이다.즉, '보낼 곳을 모를 때에 우선은 전송해두는 곳' 이라고 할 수도 있겠다.항상 디폴트 게이트웨이는 Host Id가 1인 값이다.이 ip주소의 기본 게이트웨이를 알기 위해서는 ip주소의 클래스를 알아야한다.194는 1100 0010이니 C Class임을 알 수 있다. 따라서 앞에서 3번째까지가 모두 Network Id가 되고 뒤에 1옥텟만 Host Id이기에 194.168.10.1이 된다.즉, 130.168.51.111/20이면서브넷 마스크는 255.255.240.0이되고네트워크 아이디가 130.168.48.0이 되고기본 게이트웨이는 130.168.48.1이고130.168...

카테고리 없음 2024.07.23

DispatcherServelet

중앙에 위치한 DispatcherServelet이 모든 연결을 담당 브라우저로부터 요청이 들어오면 HandleMapping이라는 빈 객체에게 컨트롤러 검색을 요청한다(경로를 이용해서) @Controller, Controller 인터페이스, HttpRequestHandler 인터페이스를 동일한 방식으로 처리하기위해 중간에 HandlerAdapter를 사용한다. Mapping에게 찾고, Adapter가 실행 - Adapter는 컨트롤러의 메서드를 호출해서 요청을 처리, 결과를 DispatcherServelet에 리턴한다.이 때 M&V라는 객체로 반환되어  리턴된다. M&V로 받았으면 DS은 ViewResolver에게 위임, View 객체를 찾거나 생성해서 리턴한다. - 클라이언트 요청을 처리하기 위해 사용되..

JDBC Template / 트랜잭션

1.기존 JDBC의 보일러플레이트 코드템플릿 메서드 + 전략 패턴 -> JDBC template 2.디펜던시 추가spring-jdbc : spring-tx 포함tomcat-jdbc : 커넥션 풀mysql-connecter-java *톰캣, 히카리CP도 DB 커넥션 풀 제공 3. ddl.sql 내부유저 / create DB / 권한 / 테이블 만들기 4. 워크벤치에서 시험용 데이터 생성 - 4.MemberDao가 JDBC template을 가진다.JDBC template은 DataSource를 인자로 생성하는데, DS는 AppCtx에서 D/I해준다 5. AppCtx 2개 빈 추가- 톰캣 DS 생성 후 set으로 mysql 연결정보 + 풀 정보 셋업- memberDao에 DS 조립 - 7. MemberDao..

AOP복습

1.spring-context 기본 모듈에 AOP 기능은 있으나,어노테이션 추가기능 사용 위해 aspectjweaver 디펜던시 추가 2.delegate 패턴- interface Calculator- class implements Calculater : field + 세터 + @Override(앞뒤로 추가기능) - 3.프록시 : 실행은 다른 객체에 위임하고 부가 기능을 제공하는 객체 4.대상 객체 : 실제 핵심 기능을 실행하는 객체 * 프록시보다 데코레이터 - 5.AOP (관점보다는 기능으로 해석)핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용하는 것 6.3가지 시점AspectJ : 컴파일 시점AspectJ : 클래스 로딩 시점 : 바이트코드에 삽입스프링 제공 : 런타임에 프록시 객체 생성  7...

빈 라이프사이클

1. ctx가 생성되고 소멸될때 빈도 딸려간다. 2. 컨테이너 생성시 -> "빈 생성 / 의존 설정 / 초기화 "  3. 컨테이너 소멸시 -> "빈 소멸" - 4. 빈 초기화 및 소멸시 지정 메서드 호출 5. 인터페이스 2가지 및 그에 딸린 추상메서드  6. InitializingBean -> afterPropertiesSet() / DisposableBean -> destory() 7. 사용할 클래스에서 두개 implement후 8. 사용 기능 앞뒤로 메서드 커스텀해주기 9. ctx 설정클래스는 별도로 건드리지 않아도 된다. - 10. 메인에서ctx 생성 -> ctx.getBean()얻기 -> Bean 메소드 사용 -> ctx.close();설정된 커스텀 메서드 실행된다 - 11. 외부에서 제공받은 클..

스프링 DI 복습

1. 어셈블러 개념 : Ctx가 Bean을 자동으로 조립해준다/ 2. 사용하는 메인단 / AppCtx 설정클래스 / 빈이 되는 개별 기능 클래스들 3.@Config가 붙은AppCtx 클래스에서 조립 main에서 Ctx 생성해서 사용 4. 설정 파일 역시 클래스로 관리된다. 5. 일반 설정파일에는 memberDao  6. 사용하는 cngpwclass에서 private MemberDao memberDao는 항상 존재 7. ctx파일에서 setMemberDao를 안넣어줘도 사용클래스에서 @Autowired 넣어도 가능 8. Autowired는 사용클래스 내의 setter 메서드에 넣어도 됨 9. 결과적으로 ctx 설정클래스에 생성자든 세터든 명시 필요 x 10. 설정 클래스를 그대로 사용하지 않고 복사해서 사..

무중단 배포(nginx)

1.nginx -> springboot 프록시 테스트ec2에 nginx 설치ngingx config에 80포트 -> 8081 스프링부트 포트로 전달profile API 추가 2. 8081 8082 API 만들기profile API 테스트SecurityConfig test -> antmatcher가 없으니 별도 진행xnginx에 로케이션 변수 넣어주기3. 배포 스크립트 작성profile.shstop.shstart.shhealth.shswitch.shpom.xml에 자동 버전 변경 추가4. 테스트  sudo service nginx start-> ec2에서는 정상 실행되지만 아무것도 안 뜬다-> ec2 인바운드 규칙 추가-> nginx는 기본 포트가 80도메인이므로 포트번호 안쓰고 접속 -> 엔진엑스 메인..