Java 프린터 미리보기와 출력 프로그램 (명찰 출력)
·
Java
개요A4 용지 기준으로 여러 사람의 정보를 6칸씩 나눠서 출력하고, 출력 전 미리보기를 제공하는 프로그램이다. 실행 화면 미리보기 화면으로 A4용지 전체 내용이 표시됨하단 이전, 다음 버튼으로 총 페이지의 미리보기가 가능 상단 출력하기 버튼 클릭 시 나타나는 화면내 PC에 연결된 모든 프린터를 불러온다. 전체 구조 요약Person 클래스: 출력할 데이터 구조 정의 (이름, 역할, 직책)PrintTest 클래스: Printable 구현 → 페이지 단위로 인쇄 가능PreviewPanel 클래스: 스크롤 가능한 미리보기 패널main 메서드: 프레임 구성, 버튼, 페이지 전환, 출력 기능 구현 Person 클래스private static class Person { String name, r..
정보처리기사 네트워크 계산, 서브넷 개념 및 공식 모음
·
자격증/정보처리기사
서브넷과 서브넷 마스크서브넷(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이..