분류 전체보기

문제&해결

OAuth 소셜 로그인 안전하게 구현하기 (redirect_uri, redis, token)

서론OAuth의 기본 개념 소개OAuth의 핵심은 인증과 인가를 구분하는 것인증 : 사용자가 자신의 신원을 증명하는 것ex) id, pw로 로그인인가: 인증된 사용자에게 특정 리소스에 대한 접근 권한을 부여하는 과정ex) access token인증과 인가를 구분함으로써 인증과 인가 로직을 따로 설정할 수 있습니다.인증은 2단계 인증으로, 인가는 세밀한 권한 제어 설정이 가능합니다.OAuth가 탄생한 이유는 보안 수준이 검증되지 않은 여러 플랫폼에 동일한 로그인 정보를 사용하는 위험을 줄이기 위해서입니다.신뢰할 수 있는 플랫폼이 인증과 권한 부여를 담당함으로써, 사용자는 더 안전하게 여러 서비스를 이용할 수 있게 됩니다. 로그인 방식1. 프론트엔드에서 직접 소셜 로그인 요청을 보내는 방식구현이 간단하고 빠..

회고

운영체제 면접 스터디 회고

운영체제 면접 스터디 회고JSCODE 모의면접을 신청하고 시작하게 된 계기이전에 데이터베이스 스터디에 참여한 적이 있는데, 이 때 굉장히 좋은 경험이었어서 신청하게 되었다.CS의 핵심 개념을 주차별로 체계적으로 훑을 수 있다.매주 챕터(주제)별로 공부하고 블로그 글을 정리하며 빠른 시간에 개념을 정리할 수 있다.면접 연습을 하며 다른 사람이 보는 나에 대해 알 수 있고 피드백 받을 수 있다.신청 기한 내에 일찍 마감하는 스터디도 있어서 빠르게 신청하는 것이 좋다. JSCODE 모의면접 스터디를 마무리하며 개인적으로 성장한점, 느낀점 운영체제 개념 정리운영체제 책을 정해 챕터별로 공부하고, 이를 면접 빈출 질문에 대한 답으로 정리하면서 부족한 부분을 채울 수 있었다.운영체제의 여러 책을 보고 나만의 답으로..

CS/운영체제

[5주차] 물리 메모리, 가상 메모리

물리 메모리메모리 관리자가 하는 일메모리 관리자는 메모리 관리 유닛(MMU)라는 하드웨어이다.메모리 관리자의 작업은 가져오기, 배치, 재배치를 수행한다.가져오기(fetch)프로세스외 데이터를 메모리로 가져온다.요청할때 메모리로 가져오거나, 미리 가져오는 방법이 있다.배치 작업 (placement)가져온 프로세스를 메모리의 어느 위치에 올려놓을지 결정한다.페이징 : 메모리를 같은 크기로 자르기세그먼테이션: 프로세스의 크기에 맞게 자르기재배치 작업 (replacement)메모리에 새로운 프로세스를 가져오기 위해 오래된 프로세스를 내보내는 작업앞으로 사용하지 않을 프로세스를 내보내면 시스템의 성능이 올라가지만, 자주 사용할 프로세스를 내보낸면 성능이 떨어진다.교체 알고리즘 : 앞으로 사용하지 않을 프로세스를 ..

CS/운영체제

[4주차] 프로세스 동기화, 교착 상태

프로세스 동기화병행성(동시성)에 대해 설명해주세요.작업이 동시에 실행되는 것처럼 보인다.싱글 코어 : 시분할 기법(time-slicing)을 사용하여 cpu 시간을 나누어 사용한다.멀티 코어: 물리적으로 병렬로 동작할 수 있다. (실제 병렬 처리 가능) 병행 프로세스프로세스 여러개가 실제로 동시에 실행되는 것각 프로세스는 독립적으로 작업을 수행하거나 다른 프로세스와 협력하면서 특정 기능을 수행한다.병행 프로세스는 제한된 자원을 공유하기 위해 자주 상호작용한다.상호작용하는 프로세스들은 순서에 맞게 실행되도록 동기화시켜야한다.영역진입 영역 : 해당 자원의 임계영역에 들어갈 수 있는지 요청임계 영역 : 공유 자원 접근 순서에 따라 실행 결과가 달라지는 부분출구 영역: 임계영역에서 수행을 마치고 나갈 프로세스를..

회고

상반기 회고

3월~8월졸업 후 6개월이 지났다. 생각보다 너무 시간이 빨리 가서 놀랐다.어느 정도 성장했을까? 도전을 주저한 부분은 어떤 것일까? 생각해 보자. 스터디 회고- 여러 스터디에 참여했다. 초록 스터디 (nextstep) (5~6월)계산기 미션- https://github.com/next-step/java-calculator-unit-playground/pull/6 [계산기 - 1, 2단계] 초간단 계산기 구현 및 테스트 작성 by Starlight258 · Pull Request #6 · next-step/java-ca안녕하세요 진영님! 1단계 초간단 계산기를 IntegerCalculator 클래스에 구현하였습니다. 2단계 초간단 계산기 테스트를 IntegerCalculatorTest 클래스에 구현했습니..

CS/운영체제

[3주차] CPU 스케줄링

CPU 스케줄링CPU 스케줄링에 대해 설명해주세요.운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것여러 프로세스의 상황을 고려하여 CPU와 시스템 자원을 어떻게 배분할지 결정한다.어떤 프로세스에게 CPU를 할당할것인가?CPU 스케줄러 = 프로세서 스케줄러 스케줄러의 종류는 무엇이 있나요?고수준 스케줄링 (장기 스케줄링, 작업 스케줄링) : 시스템 내의 전체 작업 수를 조절하는 것작업은 여러개의 프로세스로 이루어질 수 있다.어떤 작업을 시스템이 받아들일지 결정한다.실행 가능한 프로세스의 총 개수가 정해진다.중수준 스케줄링 : 전체 시스템의 활성화된 프로세스 수를 조절하여 과부하를 막는다.시스템에 과부하가 걸려서 전체 프로세스 수를 조절해야한다면, 이미 활성화된 프로세스 중 일부를 보류..

CS/운영체제

[2주차] 프로세스와 스레드

프로세스와 스레드📎 프로세스프로그램에 대해 설명해주세요.저장장치에 저장되어 있는 데이터, 정적인 상태하드디스크 같은 저장장치에 보관되어 있다가 마우스로 더블클릭하면 실행된다. 프로세스에 대해 설명해주세요.프로그램을 메모리에 적재하여 실행, 동적인 상태실행중인 프로그램컴퓨터 시스템의 작업 단위(task)프로세스 종류포그라운드 프로세스 : 사용자가 보는 앞에서 실행되는 프로세스사용자와 상호작용백그라운드 프로세스(=daemon): 사용자의 뒷편에서 실행되는 프로세스 프로그램 -> 프로세스운영체제는 프로그램을 메모리의 사용자 영역의 적당한 위치로 가져온다.동시에, 커널 영역에 프로세스 제어 블록(PCB)를 생성하여 프로세스를 처리하는데 필요한 정보를 기록한다.프로세스가 종료되었을 경우 프로세스가 메모리에서 삭..

CS/운영체제

[1주차] 운영체제 개요 & 컴퓨터 시스템 동작원리

운영체제 개요 & 컴퓨터 시스템 동작원리 운영체제는 무엇이고 어떤 역할을 수행하는지 설명해주세요.운영체제란 실행할 프로그램에 필요한 자원을 관리하고 사용자에게 편리한 인터페이스를 제공하는 소프트웨어이다.운영체제는 사용자 인터페이스를 제공하여 하드웨어와 사용자 사이 중개자 역할을 한다.GUI(Graphical User Interface)를 통해 마우스를 이용해 조작할 수 있다. 운영체제 역할자원 관리키보드, 네트워크 카드 등의 자원을 응용 프로그램에 나누어주고 적당한 순서로 자원을 배분하고 회수한다.자원 보호악의적인 사용자나 미숙한 사용자로부터 자원을 보호한다.하드웨어 인터페이스 제공운영체제는 하드웨어 인터페이스를 제공하여 다양한 하드웨어를 표준화된 인터페이스를 통해 통신할 수 있다.운영체제는 각 하드웨어..

mint*
'분류 전체보기' 카테고리의 글 목록 (4 Page)