。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

분류 전체보기 397

[BleuAuction 리팩토링] 11/13(월) 테스트케이스 작성

[작업물] 노티스 서비스 (등록, 수정, 삭제) 테스트 완료 일단 맛보기로 제일 간단한 공지사항 service에 대한 테스트를 만들어 보았다. 종1님이 이런 식으로 하면 된다고 하고 생각보다 잘 해왔다는 식으로 얘기해줘서 기분이 좋았다. 종1님의 테스트 샘플을 기다려봐야겠다 생각했다. https://github.com/NC7-BleuAuction/bleuauction_be/tree/pshtest/src/test [앞으로 할 일] 1. 문서화 하면 좋을 듯 - 스프링레스트독스, 컨트롤러의 테스트 결과물을 문서화 2. 컨트롤러의 로직을 서비스로 내리기 3. 컨트롤러 HTTP 메서드 수정하기. (조회 get, 수정 put, 삭제 delete, 추가 post) 4. 매핑 주소 request로 공통 부분 묶기 테..

[BleuAuction 리팩토링] 11/8 (수)

[11/8(수)] 새로운 인원 두 명이 참여해서 총 다섯 명이서 하기로 했다. 프론트 : 성주, 현석 백: 기현, 나, 종원 완전 든든하자나 !!! [문제점] 컨트롤러에도 로직이 존재,,! 깃에 브랜치들이 너무 많음(브랜치 생명 주기 짧게 가져가는 것이 목적) [처음으로 할 일] 모든 도메인 컨트롤러 수정 ,,! (컨트롤러 로직 >> 서비스 단으로 내리기) 제이유닛 공부하기 (테스트 케이스) - 메서드 실행했을때 나오는 거 - 모듈, 인프라, 로직 테스트 가능 , 기능 검증 매핑 엔드포인트 통일 및 (request로) 묶기 사용하지 않는 import나 그런거 다 빼기 lombok 활용 아쉬움 문자열 변수화 - sucessfully 나 로그인한 사용자가 아닙니다 한글 리팩토링 작업을 하려면 테스트를 먼저 ..

[BleuAuction 리팩토링] 11/6 시작

[11/6(월)] 학원 스케줄에 따라 기능 구현에 급급하게 완성했던 블루옥션 리팩토링 작업을 시작했다. 한 명은 취업 준비에 집중하겠다고 빠졌고, 현석 명이서 하기로 했다. 프론트와 백을 나눠서 작업 하기로 했고, 기능을 추가하기보단 기존 코드를 수정하는 방향으로 하기로 했다. 일단 구현한 기능에서 부족한 부분을 찾아서 메꾸기로 했고, 다음 회의까지 조사해오기로 했다. [권한 추가해야 하는 부분] 메뉴 C - 권한 추가 공지사항 CRUD- 관리자 권한 모두 확인 ok, 프론트 페이지에 사진 기능 추가하기 주문 - c 할 때 권한이 필요한가? 굳이 필요 없는 거 같기도? 철저하게 짜야하는지 굳이 필요없는건 냅둬도 되는지 고민 주문 -D U 자기가 주문한 주문만 수정할 수 있도록 주문메뉴 - D U 자기것만..

2.2 TCP와 UDP

TCP와 UDP는 전송 계층에서 사용하는 대표적인 프로토콜이다. TCP란 전송계층에 해당하는 네트워크 프로토콜로, 연결형 서비스를 지원하고 데이터의 신뢰성을 보장한다. 송신부와 수신부의 연결을 확인하는 연결형 서비스다 패킷 교환 방식은 패킷이 전달되는 회선이 정해져 있는 가상 회선 방식이다. 패킷의 전송 순서가 보장된다 패킷의 수신 여부를 확인한다 송신부와 수신부는 1:1 통신을 한다 데이터 손실이 없음을 보장하므로 신뢰성이 높다 데이터의 송수신 속도가 느리다. *패킷 교환 방식 : 가장 많이 사용하는 데이터 통신방식 1. 가상 회선 방식: 데이터를 주고받기 전에 패킷을 전송할 경로인 가상 회선을 설정해서 모든 패킷을 같은 경로로 전송한다. 2. 데이터그램 방식: 패킷마다 최적의 경로로 전송되는 방시으로..

CS 2023.11.29

2.1 네트워크 계층

OSI 7계층 : 네트워크를 개념적으로 나눔 TCP/IP 4계층 : 실제 인터넷 통신에 사용됨 2.1.1 OSI 7계층 국제 표준화 기구에서 네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델 데이터 송수신 흐름 데이터를 송신할 때는 높은 계층에서 낮은 계층으로 전달, 데이터가 수신부의 가장 낮은 계층에 도달하면 수신부에서는 낮은 계층에서 높은 계층으로 데이터를 전달 데이터 캡슐화 : 데이터를 송신할 때 각 계층에서 필요한 정보를 추가하여 데이터를 가공 제어 정보를 담는 헤더(데이터 앞에 붙음), 트레일러(뒤에 붙음) 가 있음 수신부의 같은 계층에서 데이터 호환성을 높이고, 오류의 영향을 최소화하기 위함 캡슐화를 거친 데이터를 수신부는 물리 계층에서 응용 계층까지 거치며 헤더와 트레일러를 ..

CS 2023.11.28

1. 운영체제 정리

1. 메모리 계층 구조 사용 목적에 따라 메모리를 여러 계층으로 둠 레지스터, 캐시 메모리, RAM, 하드디스크로 구성 CPU접근 속도: 레지스터 > 캐시메모리 > RAM > 하드디스크 2. 시스템 콜 운영체제의 커널 모드에 접근해 필요한 기능을 수행하기 위해 프로세스에서 호출하는 함수 프로세스 제어, 파일 조작, 장치 조작 등을 수행함 3. 프로세스 실행 중인 하나의 프로그램으로, 하나 이상의 스레드를 가짐 PCB에 프로세스 현재 상태, PID(Process ID), 부모 PID 등을 저장함 프로세스마다 독립된 메모리 공간을 가짐 스택: 지역함수, 함수의 매개변수, 반환주소 값 저장 힙: 동적 메모리 할당 데이터: 전역 변수, 정적 변수, 배열, 구조체 저장, 세부족으로 초기화된 데이터는 데이터 영역에..

CS 2023.11.25

캐시 메모리

CPU는 메모리에 접근해 많은 데이터를 처리하는데 시간을 줄이기 위해 자주 사용하는 데이터를 임시로 캐시 메모리에 저장한다. 캐시메모리 CPU와 메인 메모리 간에 데이터 접근 시 속도 차이를 줄이기 위해 사용 CPU에서 메인 메모리에 있는 데이터를 가져올 때 자주 사용하는 데이터는 캐시 메모리에 따로 저장한다. 캐시 메모리에 어떤 데이터를 저장할지는 지역성을 바탕으로 결정한다. 지역성: CPU가 자주 참조하는 데이터가 고르게 분포되지 않고 특정 부분에 몰려 있는 것 *시간 지역성: 최근 참조한 내용을 다시 참조할 가능성이 높다. *공간 지역성: 실제 참조한 주소 근처의 내용을 참조할 가능성이 높다. 캐시 메모리의 매핑 방식 1. 직접 매핑 => 메인 메모리를 일정한 크기로 나누고 각 영역을 캐시 메모리에..

CS 2023.11.25

가상 메모리

프로세스 일부만 메모리에 로드하고, 나머지는 디스크에 둔 상태로 프로세스를 실행하는 방식 프로세스 전체가 메모리에 올라오지 않아도 프로세스를 실행하는 데 문제가 없다는 점에서 ,,! 장점: 프로그램이 메모리 크기에 대한 제약을 덜 받을 수 있다. 동시에 많은 프로그램을 실행하므로 CPU 이용률과 처리율을 높일 수 있다. 필요한 영역만 메모리에 로드해 스와핑 횟수를 줄여 프로그램 실행 속도를 높일 수 있다. 요구 페이징 프로세스에서 필요한 페이지만 메모리에 로드하는 방식, 디스크에 저장되어 있는 영역을 요청이 올 때 메모리에 로드한다. 페이지 폴트: 프로그램을 실행하다가 물리 메모리에 필요한 페이지가 없을 때, 이 경우 디스크에서 필요한 페이지를 스왑 인함. 이때 페이지에 해당하는 메모리 영역이 물리 메모..

CS 2023.11.25

메모리 관리 전략

*논리 메모리 영역(=가상 메모리 영역) 프로세스가 보는 메모리 영역 *물리 메모리 영역 실제로 사용되는 메모리 영역(RAM) *논리 주소(=가상 주소) CPU가 프로세스를 실행하며 보는 주소 값 *물리 주소 실제 메모리에서 사용되는 주소 => CPU가 프로세스를 실행할 때 사용하는 주소 값과 실제 주소 값이 다르므로 논리 주소를 물리 주소로 변환 해줘야하는데 이 동작을 하는 하드웨어 장치를 메모리 관리 장치(MMU, Memory Management Unit)라고 한다. CPU에 위치하며, 보호해야 하는 메모리 영역에 대한 접근을 제한해 메모리를 보호하는 역할 연속 메모리 할당 고정 분할 방식 : 메모리 영역을 분할한 뒤 각 영역에 프로세스를 할당하는 방식 =>분할된 영역의 크기는 서로 다를 수 있으며,..

CS 2023.11.23