본문 바로가기

server-side/server7

웹 어플리케이션 서버(WAS) 인프런 강의를 들으면서 내가 이해한 내용들과 궁금한 점들을 정리해 보았다.(중간중간 이해되는 내용이 많아질 경우 계속 내용이 추가될 예정이다) ✅ 웹 어플리케이션 서버(WAS)와 웹 서버(WS)의 차이점은 무엇일까WS는 정적인 컨텐츠에 대한 요청을 처리하며, WAS는 웹 어플리케이션 로직을 통해 동적인 요청을 처리할 수 있다는 점이 가장 큰 차이이다. 그러나 요즘은 WS도 설정하기에 따라 꼭 정적 컨텐츠에 대한 요청만 처리하는 것은 아니라고 해서... 무 자르듯이 아주 정교하게 구분하기는 어렵다고 한다. 또한 예전 멘토링에서 말씀하신 것처럼 WAS 안에 WS가 있는 구조라고 한다. WS는 예를 들면 apache, nginx 등이 있고, WAS는 사용하는 프레임워크 별로 다양하다. 가령 django WAS.. 2024. 8. 5.
Mac 환경설정 프로그램을 진행하면서 새 맥북을 받았다! 너무 기뻤지만, 항상 사용하던 윈도우 노트북에서 새 맥북으로 바꾸려니 초기 설정부터 다시 해야 한다는 문제점이 있었다.  혹시라도 내가 다음에 또 노트북을 바꾸게 되거나, 비슷한 개발자들이 있다면 참고할 수 있도록 하기 위해서 간략하게나마 글을 적어본다.  ✅설치할 프로그램들1. brew이 사이트에서 homebrew를 설치할 수 있다. 나는 homebrew는 mac에서 사용하는 일종의 패키지라고 알고 있고, 실제로 앞으로 설치할 많은 프로그램들(git, docker 등)이 brew install ___으로 간단히 설치가 가능하므로, 맥 사용자라면 homebrew 설치는 거의 필수적이라고 볼 수 있다. /bin/bash -c "$(curl -fsSL https://.. 2024. 7. 15.
Software Release Life Cycle Software Release Life Cycle(SRLC)는 소프트웨어를 개발, 테스트 및 배포하는 과정이다. SRLC에는 Pre-alpha, Alpha, Beta, Release Candidate, RTM, GA, Gold 등 여러 단계가 있지만 크게는 소프트웨어를 개발 및 테스트하는 단계와 배포하는 단계로 나눌 수 있다. Pre-Alpha SRLC의 첫 단계로, 직접적인 개발을 하기 전 필요한 사항들을 분석한다. 예를 들면 소비자의 요구사항 파악, 필요한 개발 기능 파악이 있다. Alpha alpha 배포 단계에서는 앞 단계에서 정의한 문제를 해결하는 잠재적 솔루션(소프트웨어)을 만든다. 프로토타입을 제작하는 것과 같다. 오픈소스가 아닌 이상 대중에게 프로덕트를 공개하지는 않으며, 프로덕트도 서비스.. 2023. 7. 15.
OAuth 2.0 기본원리 해당 게시물은 유튜브 생활코딩 채널의 WEB2-OAuth 강의를 듣고 작성한 포스트입니다. WEB2 - OAuth 2.0 : 1.수업소개 - YouTube 강의 목표 OAuth 개념 이해하기 1. OAuth의 개념 OAuth를 사용하는 대표적인 예시로는 소셜로그인이 있다. 하지만 소셜로그인만이 전부가 아니다. OAuth는 다른 서비스(보통은 신뢰할 수 있는 서비스. ex) google, facebook)와 원래 서비스를 연동한다. 그러려면 사용자가 사용하는 해당 서비스 계정에 접근할 수 있도록 허가를 받아야 한다. 가장 쉬운 방법은 사용자의 개인정보(아이디, 비밀번호) 등을 전달받아서 이를 SNS 계정에 접근할 때 이용하는 것이다. 그러나 사용자 입장에서는 자신의 개인정보를 처음 보는 서비스에게.. 2022. 9. 26.
인증(Authentication) 💎목차 ✔️인증의 정의 ✔️세션과 토큰의 차이점 ✔️API를 인증하는 여러 방법들 ✅인증(Authentication) 인증 - 사용자의 개인정보를 사용하여 사용자가 누구인지를 판단 인가 - 사용자가 어떤 일을 할 수 있는지,어떤 권한을 갖고 있는지를 판단 사용자의 개인정보(아이디나 비밀번호)를 직접 인증에 사용하거나 인증을 위해 주고받는 방법은 정보 노출의 위험이 있어서 잘 사용하지 않는다. 대신 사용자의 개인정보를 인코딩 하거나, 해쉬 알고리즘을 통해 암호화한 뒤 이 정보를 주고받을 수는 있다. 암호화에는 여러 가지 방법이 있다. Base64 인코딩을 거친 정보를 암호화하는 방법도 있고, 클라이언트와 서버만 아는 난수를 생성한 뒤 이를 해쉬 알고리즘에 넣어서 암호화하는 방법도 있다. 그럼 암호화한 정보.. 2022. 7. 14.
linux: cron 사용해서 자동으로 스케줄 실행하기 Cron이란? 지정된 시간에 지정한 업무를 해 주는 프로그램으로, 주로 리눅스 운영체제에서 많이 사용한다. cron에 등록된 업무들은 cron 디렉토리 내부의 파일에 저장된다. cron 디렉토리 /var/spool/cron/crontabs 또는 /var/spool/cron/ 그러나 cron으로 등록된 업무를 추가, 수정 및 변경하고 싶다면 직접 파일을 변경해서는 안 된다. 터미널에서 crontab 이라는 명령어를 사용해서 변경하자. cron 파일의 구성 cron 파일은 명령어, 환경설정, 주석 이렇게 세 종류의 라인으로 구분된다. ✅cron 스케줄링 cron에 업무를 등록해서 수행하게 하려면, 어떤 시간에 어떤 업무를 수행할지 알려주어야 한다. {분 시간 일 월 요일} {수행할 업무가 저장된 파일 경로}.. 2022. 7. 9.