정보처리기사 네트워크 계산, 서브넷 개념 및 공식 모음
·
자격증/정보처리기사
서브넷과 서브넷 마스크서브넷(Subnet) : 큰 네트워크를 쪼갠 작은 네트워크 단위서브넷 마스크(Subnet Mask) : 어느 비트가 네트워크용이고, 어느 비트가 호스트용인지 알려주는 32비트 숫자CIDR 표기법으로 나타낸 서브넷 마스크/24 → 255.255.255.0/26 → 255.255.255.192 IP를 32비트 이진수로 표현하는 방법IP 주소는 8비트씩 4개의 옥텟(octet)으로 나누어져 있음xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx 각 옥탯을 나누어 생각128 64 32 16 8 4 2 1 192의 옥탯을 구한다고 할 때, 128부터 시작해서 하나씩 체크, 포함되면 1, 포함되지 않으면 0으로 채움 192는 128+64 조합으로 만들 수 있으므로, 128자..
머신러닝 모델 성능 평가 - 개념 및 연습문제
·
자격증/AICE
머신러닝 모델 평가의 기본 개념모델 평가는 “예측이 얼마나 실제값과 비슷한가?” 를 측정하는 과정즉, 학습(Training) → 검증(Validation) → 테스트(Test) 순서로 모델을 평가 문제 유형별 평가 방식 (1) 회귀 문제 (Regression)(예: 집값 예측, 온도 예측 등 연속형 숫자를 예측할 때)지표의미값이 작을수록 좋음MAE (Mean Absolute Error)예측값과 실제값의 차이의 절댓값 평균✅MSE (Mean Squared Error)오차를 제곱해서 평균✅RMSE (Root MSE)MSE의 제곱근, 실제 단위와 동일✅R² (결정계수)예측이 실제를 얼마나 잘 설명하는가 (0~1)값이 클수록 좋음from sklearn.metrics import mean_absolute_e..
머신러닝 의사결정나무 & 랜덤포레스트로 모델 학습 - 개념 및 연습문제
·
자격증/AICE
기초 개념 의사결정나무 (Decision Tree)데이터를 여러 질문(조건)으로 나눠가면서 예측하는 모델마치 스무고개처럼, 조건을 따라가면 답이 나오는 구조1. 공부시간 > 3시간? ├─ 예 → 숙면 여부 > 7시간? │ ├─ 예 → 합격 🎉 │ └─ 아니오 → 불합격 😥 └─ 아니오 → 불합격 😥이렇게 조건을 따라 내려가면 결과가 나온다.즉, 트리(Tree) 모양의 구조로 결정(Decision)을 내린다. 랜덤포레스트 (Random Forest)여러 개의 의사결정나무를 만들어서, 그들의 투표 결과 를 종합하는 모델이름처럼 랜덤한 숲을 만드는 방식각 나무는 데이터를 조금씩 다르게 학습하고, 최종 예측은 다수결(분류) 혹은 평균(회귀)으로 결정한다. 비유의사결정..
머신러닝 데이터셋 분리 및 스케일링 - 개념 및 연습문제
·
자격증/AICE
데이터셋을 분리하는 이유?일반화 성능 확인: 모델이 학습 데이터에만 잘 맞는지(과적합) 아니면 새로운 데이터에도 잘 동작하는지 확인하려면, 학습에 쓰지 않은 데이터(검증 또는 테스트)가 필요하다.과적합 판단: 학습 성능이 좋고 검증 성능이 나쁘면 과적합 의심.하이퍼파라미터 튜닝: 모델 구조나 하이퍼파라미터(예: 정규화 계수, 트리 깊이)를 조정할 때 검증 데이터 성능을 보고 결정한다.데이터 누수(data leakage) 방지: 검증(또는 테스트) 데이터는 모델이 절대 보지 않게 유지해야 실제 성능을 정확히 평가할 수 있다.보통 흐름: train (학습) → validation (튜닝/조정) → 최종평가는 별도의 test 데이터로. 사전 학습 - 머신러닝 기초 개념Feature : 특징, 입력..
머신러닝 원-핫 인코딩(One-Hot Encoding) - 개념 및 연습문제
·
자격증/AICE
원-핫 인코딩(One-Hot Encoding)이란?범주형 데이터를 수치형 데이터로 바꾸는 방법머신러닝 모델은 숫자만 이해할 수 있기 때문에, 문자나 범주를 숫자로 변환 필요 사용 예시 예를 들어, 색상을 나타내는 color 컬럼이 있다고 할 때 color redbludgreenred… 머신러닝 모델은 "red" 같은 문자열을 직접 처리할 수 없다.그런데 단순히 red=1, blue=2, green=3 이렇게 숫자로 바꾸면 모델이 1할 수 있다.원-핫 인코딩은 순서 정보를 주지 않으면서 각 범주를 표현할 수 있는 방법이다. 각 범주를 0과 1로 된 새로운 컬럼으로 바꾼다. color red bluegreenred100blue010green001red100각 행은 자신이 속한 범주만 1,..
github Actions process exited with status 137 from signal kill 에러 해결방법
·
서버&인프라/Cloud
github Actions를 사용하여 CI/CD 파이프라인을 구축하던 중 에러가 발생하였다. 오류 상황process exited with status 137 from signal killSIGKILL 시그널로 프로세스가 강제 종료됨보통 이런 경우는 메모리 부족(OOM, Out Of Memory) 또는 GitHub Actions에서 SSH로 실행한 프로세스가 바로 종료될 때 발생 구글링을 해보니 메모리 부족이 가장 흔한 경우라 한다. 메모리 확인# SSH에서free -h 그래서 급하게 EC2의 서버 용량을 t3.micro(1GB)에서 c3.small(2GB)로 늘렸으나 여전히 같음 SSH로 접속한 EC2에서 직접 실행했을 때 정상 실행되었음 → 이 경우는 메모리 부족이 문제가 아님 오류..
CI/CD 파이프라인 구축으로 배포 자동화하기 - EC2와 Github Actions 연동
·
서버&인프라/Cloud
개요EC2에 배포한 .jar를 github actions와 연동하여 CI/CD 자동화 파이프라인을 구축한다.CI (Continuous Integration, 지속적 통합)중앙 저장소에 통합하고, 자동으로 빌드·테스트해서 문제가 없는지 확인하는 과정CD Continuous Delivery (지속적 제공), Continuous Deployment (지속적 배포)운영 배포까지도 자동화코드 푸시 → 빌드 → 테스트 → 운영 서버 반영까지 전부 자동 EC2 배포 과정은 아래 글 참고 AWS EC2에 Spring boot+React 프로젝트 배포하기배포 방식.jar 를 AWS EC2에 배포 java -jar app.jar → 바로 실행 가능 (EC2에서 아주 간단) EC2 생성AWS 가입 및 로그인EC2 선택 ..
AWS RDS가 PuTTY에선 연결되지만 workbench 연결 안 되는 오류
·
서버&인프라/Cloud
AWS RDS DB로 MySQL을 생성한 뒤PuTTY에선 접속되지만 클라우드 콘솔이나 MySQL Workbench에서 접속되지 않는 오류 오류 원인DB RDS의 보안 그룹 설정은 됐으나, 서브넷 연결 오류VPC > 라우팅 테이블 > RDS에 연결된 인스턴스0.0.0.0/0이 추가되지 않아있었다. 해결 방안라우팅 생성으로 0.0.0.0/0의 인터넷 게이트웨이를 추가한다. 0.0.0.0/0을 추가했지만 인터넷 게이트웨이가 아니었기에 계속 안 되었던 것이다.. 😅 라우팅 추가 이후 MySQL Workbench에서 정상 연결됨을 확인!
AWS EC2에 Spring boot+React 프로젝트 배포하기
·
서버&인프라/Cloud
배포 방식.jar 를 AWS EC2에 배포 java -jar app.jar → 바로 실행 가능 (EC2에서 아주 간단) EC2 생성AWS 가입 및 로그인EC2 선택 후 인스턴스 시작 인스턴스 기본 정보 입력인스턴스 이름 입력OS : Amazon Linux 보안 그룹 설정SSH와 HTTP 체크유형프로토콜포트소스설명SSHTCP22내 IP(권장) 또는 0.0.0.0/0EC2 접속용 (관리용)HTTPTCP800.0.0.0/0React 프론트 접속용(선택) HTTPSTCP4430.0.0.0/0나중에 SSL 사용 시CustomTCP80800.0.0.0/0Spring Boot 직접 확인용 키 페어 생성Mac이나 리눅스 사용자는 .pem 선택 윈도우 사용자는 .ppk 선택 (최신 윈도우에서는 .pem이..
IntelliJ에서 Spring boot+React 연동하기
·
웹 개발/React
Spring boot 프로젝트 생성 InteliJ 설치 (Community버전)아래 링크에서 IntelliJ를 다운 IntelliJ IDEA | 다른 버전 www.jetbrains.com Spring initializr로 프로젝트 생성스프링 이니셜라이저 : 스프링 부트 프로젝트를 간편히 설정하여 생성하는 도구아래 링크에 접속하여 프로젝트를 생성할 수 있다.https://start.spring.io/ 프로젝트명 : exam의존성(우측 Dependencies)으로는 Spring Web, Lombok, MySQL Driver, Spring Data JPA를 선택한 후 생성한다. 프로젝트 Open 및 InteliJ 설정생성된 프로젝트 .zip 파일 압축 해제 후 워크스페이스에 넣기좌측 상단 메뉴에서 ..