전체 글 41

[SpringBoot] 기본 구조

1. 자바 클래스별 기능ControllerUserController프론트 요청을 받고 응답 반환(API)Service (생략 가능)UserService로직 처리 (예: 비밀번호 암호화, 중복 체크 등)RepositoryUserRepositoryDB와 직접 연결해서 저장/조회/삭제 - 데이터 저장소 역할. 이게 있어야 save() 가능 2. 좀더 쉬운 설명Controller: 어떤 엔드포인트 통해서 들어왔는지Service: 어떤 일을 할지 - 로직 처리Repository: DB랑 통신 (조회/저장/삭제)Entity: DB 테이블 모양 그대로 클래스화>urls.py → Controllerviews.py → Service + Templatemodels.py → Entity + Repository

SpringBoot 2025.07.21

SSH 서버 접속 무한대기 오류 (CPU 사용률 100%)

이미 배포한 서버에 수정사항이 생기면 서버 재시작을 해야할 때가 종종 존재한다.ssh -i pem경로 ubuntu@ip주소source ~/가상환경/bin/activatecd /srv/프로젝트루트명git pull origin main pip install -r requirements.txt (선택)python manage.py makemigrations (선택)python manage.py migrate (선택)sudo systemctl restart 지정한이름.service 보통 위와 같은 순서로 진행하게 되는데, 나의 경우엔 간혹 ssh 접속 시 무한 대기 상태에 걸리는 경우가 있었다. (접속 되어도 가상환경이 안 켜진다든가)오류가 발생하는 것도 아니고 그냥 영원히 접속 중 상태인 것.. 1. 인스턴..

[추천시스템] week3 - 아이템 기반 이웃 모델 (평점 예측, 복잡도)

아이템 간의 유사도를 계산 == 비슷한 아이템 찾기(사용자 기반은 나와 비슷한 사용자 (피어그룹) 찾기였음.) [특징]사용자 기반과 동일하게 평균 중심 변환(Mean Centering)을 함. (row가 0이 되도록)피어슨 상관계수보다 성능이 좋은 "조정된 코사인 유사도" 사용1.  r_ut 평점 예측u번째 사람이 예측한 타겟 아이템 t의 평점을 구하는 과정.Q_t(u): 아이템 t와 유사한 top-k 아이템 그룹사용자 기반에서 제안된 변형 방법 동일하게 적용 가능[예시 목표]사용자 3이 아이템 1번, 6번에 줄 평점을 예측1. 아이템 1과 6의 유사 아이템 그룹 찾기노란 박스는 기준 아이템, 분홍 박스는 비교 아이템1, 3번에 모두 평점을 매긴 사용자 1,4,5의 평점을 이용. 아이템 1과 3의 유사도..

추천시스템 2025.04.13

[추천시스템] week2 - 사용자 기반 이웃 모델 (변형)

사용자 기반 이웃 모델{유사도 함수, 예측 함수, 피어그룹 필터링, 롱테일 영향 고려한 피어슨 계수}의 변형1.  유사도 함수 변형동시에 평점 매겨진 아이템 수(Iu, Iv 교집합)가 적을 때, sim(u,v) 대신 discountedSim(u,v)를 사용함. + beta : 중복되어야 하는 평균적인 아이템 수 (공통으로 평점 매긴)+ beta에 비해 공통아이템 수가 적다면, 유사도를 평가하기에 신뢰도가 낮기 때문에 아래와 같은 과정으로 변환함.예시) beta=5, 공통아이템 =1이라면디스카운트 텀이 min(1,5)/5 = 1/5가 되고, sim(u,v)에 곱해져 전체 유사도 값을 의도적으로 낮춤. + 그 외 공통 아이템이 beta보다 크다면 (>=5), 디스카운트 텀이 min(5,5)/5 = 1이 되어..

추천시스템 2025.04.13

[추천시스템] week2 - 사용자 기반 이웃 모델 (평점 예측 과정)

빈값(r_uj) 예측하기 - Mean Centering X1.  Iu와 Iv의 교집합 계산동시에 평점 매긴 아이템에 대해서만 조사2. 피어슨 상관계수 계산비교할 사용자들끼리의 유사도를 구함유사도 값 해석-1 : 완벽하게 반대 경향-1 0 : 그냥저냥.. 선형적인 상관관계는 없음0 1 : 완벽하게 일치하는 경향 BEST!!3. Top-k Peer Group 선택유사도가 가장 높은 사용자 v들 중, 아이템 j를 평가한 사용자들만 고름. P_u​(j)4. 빈값 예측 r_vj는 사용자 v가 아이템 j에 실제로 남긴 평점 (편차 X)빈값(r_uj) 예측하기 - Mean Centering O1.  Iu와 Iv의 교집합 계산동시에 평점 매긴 아이템에 대해서만 조사2. 평점 평균 계산비교할 사용자들이 남긴 모든 아이템..

추천시스템 2025.04.13

[컴퓨터네트워크] week8 - 무선통신네트워크(PHY)

들어가기 전PHY : Physical Layer의 준말이다.무선 통신 시스템의 네트워크 구조 1. 802.11 무선랜과 802.3 유선랜(이더넷) 연동 네트워크 구조single carrier와 multi carrier 전송 1. Single Carrier 1) 장단점- 구현 간단, 채널 사용 효율 나쁨, 채널 영향 큼.- 데이터 한개 송신에 넓은 대역폭을 씀- 채널의 품질이 고르지 못함.2) Single Carrier의 고주파 변조 방법데이터를 하나의 주파수에 실어서 높은 주파수의 LO(Local Oscillator)를 곱해서 생성.* LO = Crystal / 일정하고 빠르게 흔들림 2. Multi Carrier 1) 장단점- 구현 복잡, 채널 사용 효율 좋음, 채널 영향 상대적으로 작음- 데이터 ..

네트워크 2024.12.09

[컴퓨터네트워크] week7 - 전송계층과 응용계층

전송계층의 데이터 전송 인터넷 계층(IP)과 전송계층(TCP)분류인터넷 계층전송 계층 기능- 인터넷에서 수신 노드까지 경로 찾아 패킷 전송. (pc 간의 데이터 전송)- 식별은 MAC주소로 !- 수신노드의 애플리케이션까지 데이터 전송(애플리케이션 간의 데이터 전송)- End to end서비스- 통신하는 호스트간에 패킷 전달하는 최선의 노력 (Best Effort) 서비스- data 쪼개서 목적지 주소 붙여 흩뿌림- 어떤 애플리케이션 데이터인지 식별해서 애플리케이션에게 배분에러- 전송 과정에서 패킷 손실과 에러문제를 해결하지 않음.- 오로지 경로 잘 찾아가는 것이 목표- 네트워크 혼잡 상황에 따라 패킷 전송량 조절하여 패킷 흐름을 제어함- 오류를 검사하여 패킷이 수신지에 잘 도착했는지 확인신뢰성- 패킷 전..

네트워크 2024.12.08

[컴퓨터네트워크] 인터넷 계층의 패킷 분석 실습

내 PC  > IP 공유기 > WAN(인터넷) > Google 서버  / 이 순서를 거친다1. 내 PC의 유/무선랜 IP 조사-cmd에서 config/all로 사내 IP주소 알아내기더보기고정 IP가 아닌 경우. (재할당 가능)  = 유동 IPDHCP 사용: 예자동 구성 사용: 예> IP주소는 바뀔 수 있지만 pc의 MAC 주소는 바뀌지 않음. 2. 연속적으로 ping 패킷을 google 서버로 보내기- 구글 서버의 IP 조사 (172.217.xxx.xxx)- ping 도메인 -t : 멈추지 않고 계속해서 보냄.  > DDOS확인해볼점- 길이는 조정하지 않고, 32바이트로 고정한다. - 시간은 google 서버에 갔다가 돌아오는 시간이다.- 데이터 없이 헤더만 조정해주면 됨. 의미 없는 데이터를 보내는 것..

네트워크 2024.12.07

[컴퓨터네트워크] week6 - 인터넷 계층, IP프로토콜

인터넷 계층의 데이터 전송 1. 인터넷 계층의 필요성과 라우터 역할- 네트워크 인터페이스 1계층: 물리적으로 직접 연결된 PC 간 데이터 전송- 인터넷 2계층: 라우터 이용하여 다른 로컬 네트워크 PC에 데이터 전송 > inter(연결)- networking(네트워크) = 네트워크와 네트워크 연결하여 데이터 전송 + IP 주소는 인터넷 세상을 연결하고, MAC 주소는 인터넷에 들어가 호스트를 식별하여 data 송수신함.+ 네트워크 A의 인터넷 계층을 우체국 A, 네트워크 B의 인터넷 계층을 우체국 B라고 한다면 라우터는 우체부가 되어 우체국 A와 B간의 데이터 송수신을 돕는다.  2. 인터넷 계층의 IP프로토콜1) IP프로토콜: 데이터가 송신지에서 출발해 수많은 라우터(우체부)를 거쳐 수신지(우체국)에 ..

네트워크 2024.12.07

[컴퓨터네트워크] week5 - 네트워크 시스템과 다중화

네트워크 시스템 구현 1. 네트워크 HW/SW 구현- System on Chip 구조 - System on Chip 블록 다이어그램  2. 네트워크 HW/SW 동작- 송신 호스트: 데이터그램을 프레임으로 캡슐화 & 에러 검사 비트 추가- 수신 호스트: 에러 검사 & 데이터그램을 추출하여 상위 계층으로 전달네트워크 다중화 1. 다중화1) 다중화(Multiplexing): 네트워크 전송로 하나에, 다수의 저속 데이터 신호 여러개를 중복시켜 고속 신호로 전송하는 방법.- 다중화는 전송매체 한정- 충돌 > 오류 > 재전송 > 에너지 증가 > 스루풋 감소  :  비효율적인 방법2) 다중화 장치(Multiplexer): 여러 개의 데이터 신호를 하나의 전송로를 통해 동시에, 직렬로 전송하는 장치- 다중화 장치 예시..

네트워크 2024.12.02