코드 품질을 결정하는 무수히 많은 것들중 유지 보수성, 확장성은 중요한 요소 입니다. 순환 참조가 발생한다면 이 2가지의 요소가 매우 떨어지는 효과가 나타나게 됩니다. [그림 1]은 단방향 참조입니다. 이 경우에는1. D에 변화가 생겼을 때는 E에만 영향을 미쳐 E만 수정하면 됩니다.2. C에 변화가 생겼을 때는 전체에 영향을 미칩니다.이렇듯 단방향 참조는 최소한의 영향을 미치도록 합니다. 다음으로 양방향 참조(순환 참조)를 보겠습니다. [그림 2]는 양방향 참조를 하고 있습니다.위에서 [그림 1]의 경우에 D에 변화가 생겼다면 E만 수정하면 됐지만, 양방향 참조가 발생한 [그림 2]의 경우에는 D에 변화가 생겼을때 E와 추가적으로 C에 영향이 가고 이것이 A,B의 수정으로 이어저 A, B, C, D,..
computer science/knowlege
기능A라는 branch에서 작업을 하다가 B 라는 branch로 이동을 하게 되면 A에서 한 작업이 모두 B branch로 옮겨진다. A에서의 작업을 유지하면서 B branch로 이동해 다른 작업을 하고 싶다면 stash를 사용하면 된다.// 원하지 않는 상황git branch-----------------*A Bgit status-----------------modified: /file1.txtgit checkout Bgit status-----------------modified: /file1.txt git stash [save]git branch-----------------*A Bgit status-----------------modified: /file1.txtgit stash [save]--..
Authentication(인증) 인증이란 사용자의 신원을 확인하는 것이며, 로그인(비밀번호), 생체인식, 일회용 핀등이 있다. 인증 요소(Authentication Factors)들로는 설명 예시 지식기반 사용자만 알고 있는 것 id, password, pin번호 등 소유기반 사용자만 소유하는 것 일회용 비밀번호 토큰, OTP id카드 등 속성기반 생체기반의 사용자의 고유 한 것 지문, 목소리, 홍체 등 Authorization(인가) 인가란 권한 부여를 의미한다. Authentication Authorization 사용자가 볼 수 있는가? O X 사용자가 직접 변경할 수 있는가? 부분적 가능 불가능 데이터 전송 ID 토큰 사용 액세스 토큰 사용 https://www.okta.com/kr/identit..
Cookie 형태의 문자열로 브라우저에 저장되어 사용자를 인식하거나 일부 데이터를 저장하는 역할을 수행한다. 서버가 클라이언트에 정보를 전달할 때 저장하고자 하는 정보를 응답 헤더(Cookie)에 저장하여 전달한다. Cookie가 노출되었을 때 ID, PW와 같은 중요 정보들이 쉽게 노출된다. Cookie의 사이즈는 4KB로 제한되어 많은 양의 데이터를 담을 수 없다. 클라이언트 컴퓨터에 모든 데이터를 저장한다. 동작 클라이언트가 페이지를 요청한다. (사용자가 웹사이트 접근) 웹 서버는 쿠키를 생성한다. 생성한 쿠키에 정보를 담아 HTTP 화면을 돌려줄 때, 같이 클라이언트에게 돌려준다. 넘겨 받은 쿠키는 클라이언트가 가지고 있다가(로컬 PC에 저장) 다시 서버에 요청할 때 요청과 함께 쿠키를 전송한다...