데이터 전송 방식 전송과 교환 교환 : 라우터에서 데이터의 방향을 선택하는 기능 전송 : 1대1로 연결된 두 시스템 가느이 데이터 전송을 보장 전송 방식 종류 지리적 분류 : LAN (근거리 통신) , MAN (도시 규모), WAN (원거리) 데이터 전송,교환 분류 : 점대점(1대1 - 유니캐스트), 점대다 (1대다 - 멀티캐스트 브로드캐스트 등) 점대점 : 스타형, 링형, 완전형 , 불규칙형 브로드캐스팅 방식 : 버스형, 링형(1대1, 1대다 모두 지원) 버스형 : 토큰을 사용하거나(충돌 방지), 이더넷(충돌허용)으로 해결 링형 : 호스트를 순환 구조로 연결, 토큰 확보가 필수 프레임 데이터 링크 계층에서 전송 데이터를 프레임이라는 단위로 나누어 처리 내부정보를 표현하는 방식에 따라 문자 프레임과 비트..
교환 (Switching) 회선 교환 : 전화 연결 - 교환기를 통해서 회선을 연결 (연결형 서비스) 패킷 교환 : 패킷을 통해 회선 연결 가상 회선 : 연결형 통신 - 호스트 간 미리 연결 - 패킷 전달 경로(라우터)가 결정 - 순서 보장 데이터그램 : 비연결형 통신 - 패킷 마다 경로가 다르다. (상황에 따라 라우터가 판단) - 순서 보장X , 데이터 손실 가능성 지터 : 각 패킷의 지연 시간 분포 - 도착 시간이 가변적이기 때문에 지터를 통해 품질성 확인 프레임 릴레이 : 장비의 개선으로 기존의 라우터별 응답이 필요했지만 수신 호스트에서만 응답을 보내는 방식 셀 릴레이 : 회선 교환과 패킷 교환의 장점을 모은 방식으로 셀이라는 고정 크기의 패킷을 사용 LAN, MAN, WAN LAN : 소규모 지역..
SSL/TLS 적용 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html EPEL (Enterprise Linux) sudo yum update -y sudo wget -r --no-parent -A 'epel-release-*.rpm' https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/ sudo rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-*.rpm sudo yum-config-manager --enable epel* sudo yum repolist all 7 리포지토리 패키지 다..
분석 모형 평가 종속변수의 유형에 따라 다르다. 종속변수가 범주형(분류 모형) : 혼동 행렬 종속변수가 연속형(회귀 모형) : RMSE (평균 제곱근 오차) 혼동 행렬 분류의 예측 범주와 실제 범주를 교차 표로 정리한 행렬 정확도 : 실제 분류 범주를 정확하게 예측한 비율 오차 비율 : 실제 분류 범주를 잘못 분류한 비율 TPR(재현율, 민감도) : 실제 긍정에서 올바르게 예측한 비율 FPR (거짓 긍정율) : 실제 부정에서 긍정으로 잘못 예측한 비율 특이도 : 실제 부정인 범주에서 부정으로 올바르게 예측한 비율 정밀도 : 긍정으로 예측한 비율에서 실제 긍정인 비율 ROC 곡선 가로축 FPR, 세로축 TPR로 두어 시각화한 그래프 0.5 ~1.0 까지 있으며 1에 가까울 수록 좋은 모형 교차 검증 일반화..
회귀 분석 독립변수와 종속변수 간 선형적인 관계 도출 독립변수를 통해 종속변수를 예측하는 분석 기법 독립변수 (설명 변수, 예측 변수) 종속변수 (반응 변수, 결과 변수) 회귀 모형의 가정 선형성, 독립성, 등분산성, 비상관성, 정상성 5가지 만족시켜야 한다. (선독등비정) 회귀 모형 검증 F-통계량을 통해 통계적 유의미 확인 F-통계량의 p-value가 유의 수준보다 작으면 유의하다고 볼 수 있다.(대립 가설) F-통계량이 클수록 회귀 모형은 통계적으로 유의하다. t-통계량을 통해 각 독립변수가 종속변수에 미치는 영향 파악 모형의 설명력은 결정계수 R^2으로 판단 결정계수는 0~1 값을 가지며, 높을 수록 설명력이 높다. 회귀 제곱합 (SSR) / 전체 제곱합 (SST) 수정된 결정계수는 기존 결정 계..
무중단 배포 서비스를 유지하면서, 배포하는 방법 AWS - 블루 그린 무중단 배포 도커를 이용한 웹서비스 무중단 배포 (Nginx) Ngix의 여러 기능 중 리버스 프록시가 있다. 리버스 프록시 : 외부의 요청을 받아 백앤드 서버로 요청 전달하는 행위 가장 저렴하고 쉬운 편 L4 스위치를 이용한 무중단 배포 (고가의 장비로 거의 사용하지 않는다.) 무중단 배포 구조 - Nginx 사용자는 서비스 주소로 접속 (80 또는 443 포트) Nginx는 요청을 받아 스프링 부트로 요청 (8081포트로 가정) 8082는 Nginx와 연결된 상태가 아니기 때문에 요청받지 못한다. 1.1 버전으로 신규 배포가 필요하면, 연결되지 않은 8082포트로 배포 배포하는 동안에도 서비스는 중단되지 않는다. (8081을 바라보..
CI & CD CI (Continuous Integration) - 지속적 통합 CI를 통해 운영 서버에 무중단 배포까지 진행되는 과정을 CD (Continuous Deployment) - 지속적 배포라고 한다. CI,CD 를 이용하여 코드 병합, 배포를 자동화하여 생산성을 높일 수 있다. CI 4원칙 모든 소스코드가 실행되고 누구든 접근할 수 있는 단일 지점 유지 빌드 프로세스를 자동화해서 누구든 소스로부터 시스템을 빌드하는 단일 명령어 사용 가능하게 할 것 테스팅 자동화로 단일 명령어로 시스템에 대한 테스트 수트를 실행할 수 있게 할 것 누구나 실행파일을 얻으면 가장 완전한 실행 파일을 얻었다는 확신을 하게 할 것 Travis CI 연동 GitHub에서 제공하는 무료 CI 서비스 (젠킨스는 설치형으로..
EC2 프로젝트 Clone sudo yum install git (깃 설치) git --version 으로 버전 확인 mkdir ~/app && mkdir ~/app/step1 : git clone 으로 저장할 디렉토리 생성 cd ~/app/step1 : 생성한 디렉토리로 이동 git clone 깃헙 주소 cd 레포이름 , ll 을 통해 코드 확인 ./gradlew test 를 통해 테스트 검증 - permission denied 발생 시 chmod +x ./gradlew 를 통해 실행권한을 추가 부여 배포 스크립트 만들기 배포할 때마다 개발자가 명령어를 실행하는 것은 불편하다. 쉘 스크립트를 통해 자동으로 실행되도록 만든다. (쉘 스크립트는 .sh 확장자를 가진 파일) vim ~/app/step1/de..