본문 바로가기

전체 글34

[소프트웨어 개발 방법론] 애자일 - 개념 전통적인 소프트웨어 개발 방법인 폭포수 방법의 문제점을 보완하기 위해 애자일(agile)이 도입되었다. 애자일 원칙 소프트웨어 업계에 종사하던 17명의 사람들이 모여 애자일 선언문을 만든 것이 애자일의 시작이다. 애자일 선언문은 다음의 12가지 원칙을 기반으로 한다. 우리는 가치 있는 소프트웨어를 빠르게 그리고 지속적으로 제공해서 고객을 만족시키는 것을 가장 중요하게 생각한다. 개발의 후반부일지라도 요구사항 변경을 환영하라. 애자일 프로세스는 변화를 활용해서 고객의 경쟁력을 높이는 데 기여한다. 새로운 소프트웨어는 몇 주나 몇 달의 주기로 자주 제공하라. 간격은 짧을수록 좋다. 프로젝트가 진행되는 동안 사업부서 사람들과 개발자는 매일 만나서 함께 일해야 한다. 의욕 있는 사람들 위주로 팀을 구성하라. 그.. 2022. 1. 29.
[소프트웨어 개발 방법론] 폭포수 개발 소프트웨어 개발 방법론은 소프트웨어를 만드는 절차를 정의한다. 이런 방법론들은 소프트웨어를 만드는 방법과 팀을 이끄는 방법을 알려준다. 폭포수(Waterfall) 개발이란 폭포수 개발은 가장 전통적인 개발 방법론이다. 이름 그대로 한 단계가 끝나면 다음 단계로 한 번에 한 단계씩 넘어가는 방식이다. 폭포수 개발 방법론에는 소프트웨어 개발 생명주기(SDLC)가 포함되어 있다. 소프트웨어 개발 생명주기(Software Development Life Cycle) SDLC는 다음의 과정을 포함한다. 요구사항 분석 : 개발할 소프트웨어에 필요한 요구사항을 모두 알아내는 단계이다. 무엇을 해야 하고, 어떤 기능이 있어야 하며, 어떻게 동작해야 하는지 등을 본격적으로 개발에 들어가기 전에 알아야 한다. 소프트웨어 디.. 2022. 1. 29.
[OAuth 2.0] 4. API 호출과 Refresh Token 1. API 호출 액세스 토큰이 발급되었다면, 이제 액세스 토큰을 활용해서 Resource Server를 조작해야 한다. 이를 조작하기 위해선 Resource Server가 클라이언트들에게 " '어떤 방식'으로 하면 Resource Server를 사용할 수 있다 " 라고 알려주는데 이때 '어떤 방식'이 API(Application Programming Interface'이다. API의 데이터는 액세스 토큰을 통해서 가져올 수 있다. 2. Refresh Token 액세스 토큰은 수명이 있다. 수명이 끝나면 API에서 더 이상 데이터를 가져올 수 없기에 매번 액세스 토큰을 재발급해야 한다. 그러나 이는 비효율적이므로 refresh token을 사용해 수명이 다한 액세스 토큰을 자동으로 재발급받을 수 있다. .. 2022. 1. 23.
[OAuth 2.0] 3. 액세스 토큰 발급 전 과정을 마치면, R.S는 authorization code를 통해서 이미 인증을 했으므로 authorization code 값을 지워버린다(다시 인증을 하지 않기 위해). 이제 R.S는 accessToken을 발급한다. R.S는 이 accessToken을 client에 응답해주고, client는 내부적으로 accessToken값을 저장한다. 위 그림으로 예를 들면, 이제 client는 해당 accessToken값(4)으로 접근하면, R.S가 user id가 1이고 accessToken값이 4인 사람에게 b, c 기능을 허용하고 동작하게 된다. 2022. 1. 19.
[OAuth 2.0] 2. Resource Owner와 Resource Server의 승인 1. Resource Owner의 승인 Client와 Resource Server(이하 R.S)는 등록 과정 이후 Client ID, Client Secret, redirect URI 값을 알게 된다. 예를 들어 R.S가 갖고 있는 기능이 A,B,C,D 총 네 개일 때 clinet가 R.S의 기능 중 A,B 두 개만 필요로 한다면 모든 기능에 대한 인증을 받는 것이 아니라 필요 기능에 해당하는 인증만 받는다. 이때, Resource Owner(이하 R.O)는 client에 접속한다. 접속하는 과정에서 R.S를 사용해야 하는 상황이 있다면 client는 R.O에게 사용자의 동의를 구하는 화면을 보여준다. R.O가 R.S에 "https://resource.server/?clinet_id=1&scope=A,B.. 2022. 1. 19.
[OAuth 2.0] 1. 역할과 등록 내가 만든 서비스인 mine, 그 서비스를 사용하는 user, 그리고 내가 만든 서비스가 연동하려고 하는 their가 있다. user가 mine에 접속해서 their의 서비스들, 즉 구글 로그인 같은 것들을 사용하기 위해서는 mine이 user로부터 user가 사용하고 있는 their의 서비스에 접근할 수 있도록 허가를 받아야 한다. 그러기 위해선 mine이 user의 id와 password를 전달받아서 그것을 기억하고 있다가 their의 서비스에 접속할 때 이용한다. 이는 아주 간단하고 강력한 방법이지만 user의 id와 password가 유출되기 쉽기에 위험하다. 그렇기에 OAuth를 사용하면 안전하게 their의 서비스를 이용할 수 있다. their는 user의 요청을 받으면 그들의 id와 pass.. 2022. 1. 19.