본문 바로가기

전체 글147

스프링 핵심원리 스프링 핵심원리 객체 지향 설계와 스프링 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임 워크 다형성 역할과 구현 구분:공연-역할(인터페이스)-배우(바꿀 수 있음,구현객체) 객체 인스턴스 실행시점 유연하게 변경 클라이언트 변경 x 객체 지향 설계 5가지 원칙(solid) 단일 책임(srp): 하나의 책임-변경의 파급효과 적게 개방-폐쇄(ocp): 확장에 열려있고 변경(클라이언트)에 닫힘(설정자 필요), 할인정책(고정, 정률) 리스코프 치환(lsp): 정확성 유지 하위타입 인스턴스로 바꿀 수 있어야 함(자동차 엑셀은 앞으로) 인터페이스 분리(isp): 특정 클라이언트 위한 인터페이스 여러개 > 범용 의존관계 역전(dip): 추상화(인터페이스,역할) 의존o, 구체화x 스프링 di(의존.. 2022. 6. 1.
HTTP 인터넷 네트워크 IP (인터넷 프로토콜) 역할: 지정한 IP 주소에 패킷이라는 통신 단위로 데이터 전달 패킷 정보: 출발지, 목적지, 전송제어, 순서 한계: 비연결성(대상없음, 서비스 불능), 비신뢰성(패킷소실, 순서), 프로그램 구분(같은 IP) TCP, UDP 인터넷 프로토콜 스택 4계층 애플리케이션 계층: http,ftp 전송 계층: tcp,udp 인터넷 계층: ip 네트워크 인터페이스 계층 애플리케이션(소켓 라이브러리) > os (tcp > ip) > 네트워크 인터페이스 tcp(전송제어 프로토콜) 특징 연결지향-tcp 3 way handshake (가상연결): syn(클라이언트)->syn+ack(서버)->ack(클라이언트)-> 데이터 전송 데이터 전달 보증: 데이터 전송(클라이언트)->응답(서버).. 2022. 5. 31.
[AWS] 배포 흐름 로컬컴퓨터 -> 운영컴퓨터 옮기기 1. 스프링부트 프로젝트 2. 깃허브 업로드 3. 환경세팅 4. 실행 EC2서버 생성 및 고정IP 설정(엘라스틱 ip) 탄력적 ip - ec2연결 하나 무료제공 탄력적 ip 생성 후 사용 안하면 비용발생 배포 자바설치(jdk,jre) github 다운 gradlew 실행권한주기 gradlew로 프로젝트 jar파일로 변경 java로 jar 실행(x) / nohup으로 실행(o) 시간변경 저장소 동기화 sudo apt update 저장소 보기 sudo apt-cache search jdk | grep openjdk-11 자바설치(jdk) sudo apt install openjdk-11-jdk 깃 확인 git --version github 다운 git clone htt.. 2022. 5. 18.
리눅스 명령어 (chmod, chown, find, 표준입출력) 리눅스 명령어 chmod root 비번생성 sudo passwd root root로 접속 su root 우분투로 변경 su ubuntu 쓰기권한주기 sudo chmod 646 test1.txt 목록 확인: 쓰기권한 생김(-rw- r-- rw-)646 ls -l 모든권한 sudo chmod 777 test1.txt 리눅스 명령어 chown 권한변경 sudo chmod 664 test2.txt 소유자:루트 그룹:우분투 sudo chown root:ubuntu test2.txt 변경됨 쓸 수 있음 -rw-rw-r-- 1 root ubuntu 7 May 15 15:06 test2.txt 보기 cat test2.txt 리눅스 명령어 find 실행중인 것들 netstat -nlpt 찾아라 최상위부터 이름으로 톰캣8.. 2022. 5. 16.
[운영체제] Disk Management and Scheduling disk 구조 logical block: 디스크 외부에서 보는 디스크 단위 정보 저장 공간, 1차원 배열 섹터:관리 최소단위, logical block이 물리적 디스크에 매핑된 위치 disk management physical formatting 디스트를 컨트롤러가 읽고 쓸 수 있도록 섹터 나누는 과정 header+data+trailer partitioning: 하나의 독립적인 디스크로 만드는 과정(logical disk) logical formatting: 파일시스템 만듦 booting: rom에 있는 small bootstrap loader->setor0 load->full bootstrap lader program->os를 디스크에서 load disk scheduling access time see.. 2022. 5. 13.
[운영체제] File Systems file and file system file 비휘발성 보조기억장치에 저장 운영체제는 저장장치를 file로 관리 연산(생성,지움,read,write) file attribute(metadata): 파일내용x, 파일 관리 위한 정보(이름,유형,사이즈,위치) file system: 운영체제에서 파일을 관리하는 부분 directory and logical disk directory: 그 디렉토리에 속한 파일 이름 및 파일 attribute partition(논리적 디스크):물리적 디스크 안에 여러 파티션, file system, swapping 용도로 사용 file protection 권한 제어 access control matrix access control list: 파일별로 누구에게 어떤 접근 권한 있는.. 2022. 5. 12.
[농사직설] 구독 목록 보여주기시 문제 해결 구독정보 보여줄 때 모달바디에 append로 추가해줬다. $(".modal-body").append(item); 다시 클릭을 하면 append가 또 작동해서 구독목록에 또 추가되는 문제가 있었다. 닫을 때 append에 있는 내용을 삭제하려고 close 버튼에 onclick으로 close()라는 함수를 만들었다. Close function close(){ $(".modal-body").empty(); } 작동이 안된다... 혹시나 하고 이름을 바꿔봤는데 이게 문제였다! Close function deleteList(){ $(".modal-body").empty(); } 이름을 바꾸니까 잘 작동이 되었다. 2022. 5. 9.
[운영체제] Virtual Memory Demand Paging 실제로 필요할 때 page를 메모리에 올림 i/o양 감소 memory 사용량 감소 빠른 응답 많은 사용자 수용 invalid: 사용되지 않는 주소영역/물리적 메모리에 없음(page fault) page fault invalid page접근->mmu(주소변환하드웨어)가 trap발생시킴->커널모드(cpu가 운영체제로)->page fault handler 실행 disk에서 메모리로 읽어옴(i/o때 cpu뺏김->disk read끝->valid) cpu 잡고 다시 실행 free frame 없으면 page replacement: 어떤 frame 빼앗을지, 곧바로 사용되지 않을 page optimal algorithm: 미래참조, 실제 사용x FIFO algorithm: 먼저 들어온 것 먼저.. 2022. 5. 8.