[HTTP] PORT 포트
·
CS/HTTP
PORT 고유하게 식별하고 데이터를 특정 서비스로 보내기 위해 할당된 번호 한 번에 둘 이상 연결을 하는 상황 어떤 상황에서 필요한 패킷인지 알 수 없다. TCP/IP 패킷 정보 TCP 세그먼트를 보면 출발지 PORT, 목적지 PORT가 존재한다. PORT - 같은 IP내에서 프로세스를 구분 PORT 번호 0 ~ 65535 : 할당 가능 0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것을 권장한다. FTP - 20, 21 TELNET - 23 HTTP - 80 HTTPS - 443 참조 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런... www.inflearn.com P..
[HTTP] TCP, UDP
·
CS/HTTP
인터넷 프로토콜 스택의 4 계층 애플리케이션 계층 - HTTP, FTP 전송 계층 - TCP, UDP 인터넷 계층 - IP 네트워크 인터페이스 계층 프로토콜 계층 TCP TCP/IP 패킷 정보 IP 패킷 : 출발지 IP, 목적지 IP, 기타... TCP 세그먼트 : 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보... IP만으로 해결되지 않았던 순서 제어 문제 등이 해결된다. TCP 특징 전송 제어 프로토콜(Transmission Control Protocol) - 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜 연결 지향 - TCP 3 way handshake(가상 연결) 연결이 되었는지 확인하고 메시지를 전달 데이터 전달 보증 누락됐을 시 알 수 ..
[HTTP] IP(Internet Protocol) 인터넷 프로토콜
·
CS/HTTP
IP 인터넷 프로토콜(IP, Internet Protocol) 송신 호스트와 수신 호스트가 패킷 교환 네트워크(패킷 스위칭 네트워크, Packet Switching Network)에서 정보를 주고받는 데 사용하는 정보 위주의 규약(프로토콜, Protocol)이며, OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당한다. 인터넷 프로토콜 역할 지정한 IP 주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위 데이터 전달 패킷(packet) 정보 기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 패킷은 제어 정보와 사용자 데이터로 이루어지며, 이는 페이로드라고도 한다. IP 패킷 클라이언트 패킷 전달 클라이언트에서 패킷에 출발(클라이..
[Docs] Swagger 도입
·
Server/Spring&Spring Boot
Swagger? 스웨거(Swagger)는 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. 의존성 추가 dependencies { implementation 'io.springfox:springfox-boot-starter:3.0.0' } Swagger 3.x.x 버전 spring boot 2.6.x 호환 이슈 application.yml 또는 application.properties 등에 다음과 같은 내용을 추가한다. Spring boot 설정이 변경되면서 호환 이슈가 발생되었다고 한다. spring: mvc: pathmatch: matching-strategy: ant_path_matcher Swagger..
[error] com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
·
Server/Error
잘 되던 MySQL이 새로운 프로젝트를 만들자 먹통이 되었다. 연결이 잘 되지 않는다는 에러인 듯하여 먼저 도커에 올라가 있는 MySQL을 내리고 실행하였으나 동일 문제가 발생하였다. 두 번째로 spring-boot-starter-jdbc dependency를 추가하였으나 역시 문제가 여전했다. 이후 yml에 설정된 DB 정보를 보니, 아니나 다를까 역시 오타 문제였다. 내가 지정한 MySQL의 포트번호는 3306이다.
[Spring Security] 기본 유저, 비밀번호 변경
·
Server/Spring&Spring Boot
스프링 시큐리티 기본 계정 스프링 시큐리티의 dependency를 추가하면, 애플리케이션 구동 시 다음과 같은 로그인 화면이 등장한다. 기본적으로 Username = user 이며 패스워드는 애플리케이션 구동 시 콘솔에 등장한다. 매번 구동할 때마다 랜덤한 난수를 반환해주는데, 이게 귀찮을 경우 user name과 password를 고정시킬 방법이 있다. 스프링 시큐리티 계정 변경 application.yml에서 다음과 같이 입력한다. # 스프링 시큐리티 security: user: name: password: yml에 내용 저장후 다시 애플리케이션을 구동하면 입력한 정보를 통해 로그인을 할 수 있다. 참조 Spring Security 기본 User/Password 설정 Spring Security 의존..
[테스트 코드] Controller Test, MockMVC
·
Server/Spring&Spring Boot
과정 수업 시간 중, Controller Test를 진행했습니다. Repository 테스트와는 달리 새로운 개념, 메서드 등이 대거 등장하면서 모르는 부분들이 많아 정리를 하였습니다. 단위 테스트 단위 테스트는 프로젝트에 필요한 모든 기능에 대한 테스트를 각각 진행하는 것을 의미 일반적으로 스프링부트에서는 org.springframework.boot:spring-boot-starter-test 디펜던시만으로 의존성을 모두 가질 수 있다. F.I.R.S.T 원칙 Fast: 테스트 코드의 실행은 빠르게 진행되어야함 Independent : 독립적인 테스트가 가능해야함 Repeatable : 테스트는 매번 같은 결과를 만들어야 함 Self-Validating : 테스트는 그 자체로 실행하여 결과를 확인할 수..
[Docker] 우분투, 도커로 메이븐 프로젝트 빌드하기(Maven Project Build)
·
Server/Infra
1. Docker 설치 완료 2. MySQL 연동 완료 3. nginx 연동 완료. maven을 설치합니다.(sudo 상태) apt update apt install maven Dockerfile 제작 메이븐이 설치되었다면 vim Dockerfile 입력 (Vim으로 전환) i 누르기 (insert로 전환) vim에서 아래 명령어 입력 FROM openjdk:11-jdk-slim VOLUME /tmp ADD /target/*.jar app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] ESC 후 shift + z + z project build mvn package 테스트 코드 문제 발생 시 mvn -..
코드플리
코드 플레이 리스트