전체 글

웹개발 및 프로젝트에서 배운것들을 정리하고, 공부하는 블로그입니다.
· 운영체제
1. 인터럽트란?? 인터럽트는 컴퓨터의 CPU가 현재 실행 중인 프로세스를 일시 중단시키고, 특정 이벤트(예: 입/출력 요청, 오류 발생 등)를 처리하기 위해 다른 작업(인터럽트 서비스 루틴, ISR)으로 제어를 전환하는 메커니즘입니다. 인터럽트가 처리된 후, CPU는 중단되었던 작업을 재개합니다. 인터럽트가 발생하는 원인 오류: 0으로 숫자를 나누는 산술 연산 오류, 프로세스 오류 등 IO디바이스를 사용할 때의 인터럽트: 키보드, 마우스 등 우선순위가 높은 프로세스의 발생 CPU는 메모리에 있는 명령어(instruction)을 순차적으로 실행하는데 인터럽트가 발생하게 되면 점프해서 언터럽트 핸들러 함수가 모여 있는 인터럽트 벡터로 가서 인터럽트 핸들러 함수(인터럽트 서비스 루틴, ISR)가 실행되며 특..
· 운영체제
ahwhew프로젝트를 진행하면서 힙 메모리 에러 등 여러가지 cs적인 트러블 슈팅이 있었는데요,, 이런 에러들이 있을 때 마다 cs지식의 중요성을 느낍니다..! 그래서 이번에는 운영체제에 대해 공부하고 그 내용을 정리해보도록 하겠습니다! 학교에서도 배우긴 했지만 여기에서는 실질적으로 필요한 지식들을 간략하게 써보고 다음에 학교에서 배운 지식들을 좀 더 깊게 다뤄보면서 직접 cpu를 설계했던걸 가져와서 한번 해보도록 하겠습니다 ㅎㅎ 1. 운영체제의 종류 운영체제는 앞단의 어떤 인터페이스를 두느냐에 따라 GUI와 CUI로 나눌 수 있습니다. 1) GUI(Graphical User Interface) 그래픽을 사용하여 컴퓨터와 상호작용하는 인터페이스입니다! windowOS, macOS등 현대의 OS가 이를 대..
· NestJs
기존에 공부했던 nestJS강의에서 nestJs의 대략적인 구동 원리를 알아보았었는데, 해당 강의를 들으면서 최신버전과 다른 점이 많기도하고, 더 구체적으로 알고 싶어져서 공부를 더 깊게 해보기로 했습니다..! 오늘은 첫 시작이라 별로 새로운건 없었지만 그래도 오늘 배운 내용 중에 기존보다 좀 더 구체화 된 지식이 있어서 정리해보려 합니다! 1. NestJS요청 라이프 사이클 라이프 사이클이란 요청이 디바이스로부터 서버로 보내진 다음에 응답이 되어서 돌아오는 과정을 전부 표현한 것이라 볼 수 있습니다. 이거 머리어 새겨두고 공부하면서 어느부분을 하고 있는건지 상기시키며 하면 좋을 것 같습니다! 2. nest g resource 이전에는 nest g mo, rest g service 이런식으로 각각 따로따..
1. 가상 머신 1) 전통적 배포방식 물리적인 컴퓨터 한 대에 하나의 OS를 설치하고, 여러가지 프로그램을 설치합니다. 계정을 나눠 여러명의 사용자가 이용가능합니다. 하지만!! 어떤 프로그램을 설치했을 때 다른 앱에 영향을 미칩니다 하나의 OS를 유저들이 공유하기 때문입니다! 그래서 서로 독립적이지 못하죠! CPU, RAM도 유저별로 사용량을 지정할 수 없습니다! 2) 가상화 배포방식 가상머신을 기반으로 배포하는 것을 말합니다. 가상머신이란? 컴퓨터의 하드웨어를 소프트웨어적으로 구현한 것입니다. 전통적 배포방식과의 차이점은!! 계정을 나누는 것이 아니라 한 대의 컴퓨터로 여러 OS가 구동 가능하며, CPU,RAM을 설정하여 이를 수행할 수 있습니다. 여기에서 중간에 있는 Hyperviser가 하나의 시스..
오늘은 성공기 입니다! ㅎㅎ 지난 포스팅에서 다른 방법으로 ssl-key를 발급 받기로 했었죠? 마지막 남은 그 방법으로 ssl-key를 발급받고 어떻게 배포했는지까지 자세히 한번 포스팅해보도록 하겠습니다! 저희와 비슷한 환경에서 프로젝트를 진행했다면 많은 도움일 될거라 생각합니다 😁😁 1. Cerbot으로 ssl-key 발급받기: DNS TXT 방법 마지막 남은 방법은 dns txt 방법입니다... sudocertbotcertonly --manual --preferred-challenges=dns -d [구매한도메인] 이렇게 터미널에서 입력하면!! kimseeun@gimseeuns-MacBook-Air ~ % sudo certbot certonly--manual --preferred-challenges..
· NestJs
1. NestJs 기본 구조 지난 포스팅에서는 프로젝트 만들기까지 해 보았습니다. 그럼 만들어진 NestJs 프로젝트의 각 폴더 및 파일들이 어떤 역할을 하는 것인지 살펴보도록 하겠습니다! 프로젝트를 만들면 아래와 같이 파일들이 생성되었는데요! 하나하나 살펴볼게용 eslintrc.js 개발자들이 특정한 규칙을 가지고 코드를 깔끔하게 짤 수 있게 도와주는 라이브러리입니다. 타입스크립트를 쓰는 가이드라인을 제시해 주고, 문법에 오류가 나면 알려주는 역학을 합니다. prettierrc 주로 코드 형식을 맞추는 데사용합니다. 작은따옴표를 사용할지, 큰 따옴표를 사용할지, Indent값을 2로 줄지, 4로 줄지 등등,,, 에러를 찾는 것이 아닌 코드 포맷터 역할을 합니다. nest-cli.json nest 프로젝..
· NestJs
목차 1. NestJs란? 2. NestJs는 어떻게 구성되었나?? 3. NestJs의 철학 4. NestJs CLI설치하기 5. NestJs 프로젝트 만들어보기 요즘에 Nest.js에 관심이 생겨서 한 번 배워보려고 합니다 ㅎㅎ! 기존에 새싹에서 Express와 Spring을 다뤘었고 프로젝트도 Express로는 두번, Spring으로는 한번 해봤었는데 Nest.js는 새로운 기술이라서 도전해보고 싶었습니다! 요즘에 뜨고 있기도 하구요!! Express를 요즘엔 대부분 Nest.js로 바꾸는 추세더라구요! 좀 더 다양한 프로젝트에 활용할 수 있는 역량을 키우고 싶기도하고,,,, 그래서 오늘은 Nest.js에 대한 소개를 한번 해보려 합니다! 1. NestJs란? Nest(NestJs)는 효율적이고 확장..
http로 배포를 했었는데요,,, seo최적화 및 클립보드 링크복사기능을 위해서 https가 필요했는데,,, 그 과정이 꽤나 험난했어서 ssl키 발급부터 ssl키를 프로젝트 파일에 넣고, dockerfile을 만든 후 이미지를 업로드해서 배포하기 까지의 과정을 살펴보려 합니다... 1. 사전작업 우선, Https로 배포하기 위해 ec2의 인바운드규칙에서 80포트는 접근하지 못하게 하였고 443으로만 접근하게 해 두었으며,ec2 바깥에 로드밸런서로 80포트(Http)로 접근시 443(https)로 리다이렉트 되도록 설정을 해 둔 상태입니다. 그리고 탄력적 ip로 고정 public ip를 사용하였고 이 public Ip를 도메인주소의 A레코드에 연결해 두었습니다. 2. 배포환경 저희 프로젝트의 배포환경은 프..
SsenDev
0210