OAuth2.0이란?
·
Knowledge/Security
OAuth 2.0이란 무엇인가?OAuth 2.0은 인터넷 애플리케이션이 사용자의 자원에 안전하게 접근할 수 있도록 돕는 인증 및 권한 부여 프레임워크다. 이 프레임워크는 사용자의 민감한 인증 정보를 직접 공유하지 않고, 대신 액세스 토큰을 통해 애플리케이션이 자원에 접근할 수 있게 한다. 이 방식은 특히 클라우드 서비스나 API 통합에서 자주 사용된다. 주요 개념예:1. 사용자가 구글 드라이브 API를 사용하는 A라는 서비스에 OAuth2를 통해 가입했다. 2. 사용자는 OAuth2 인증을 거쳐 로그인한 후, 권한 요청 팝업이 표시되었고, 사용자는 구글 드라이브의 자원 접근을 허가했다.  3. 그 결과, A 서비스는 구글 드라이브에서 사용자의 사진을 다운로드할 수 있었다.1. Resource Owner ..
해싱(Hashing)과 일반 해시 함수(non-cryptographic hash function)
·
Knowledge/Data Structure
해싱해싱(Hashing)은 가변 길이의 입력 데이터를 받아서 고정 길이의 출력 값으로 변환하는 과정을 의미한다. 이때 생성된 고정된 크기의 값은 해시 값 또는 다이제스트(digest)라고 불리며, 원본 데이터와는 크기나 형식이 다르다. 해싱은 데이터의 무결성 검증, 빠른 데이터 검색, 비밀번호 저장 등 다양한 목적으로 사용된다. 특징단방향성: 해싱은 단방향 함수이다. 즉, 원본 데이터를 해시 값으로 변환할 수는 있지만, 반대로 해시 값에서 원본 데이터를 복원하는 것은 불가능하다. 이 때문에 해싱은 암호화와는 다르며, 주로 데이터의 무결성을 확인하는 데 사용된다.고유성(충돌 저항성): 서로 다른 입력값이 동일한 해시 값을 생성할 확률은 매우 낮다. 이를 충돌 저항성이라고 하며, 이 특성 덕분에 해싱은 데이..
프론트엔드 구현 세부 사항 테스트
·
Knowledge/Test
이 글은 Kent C. Dodds의 Testing Implementation Details 포스트를 번역한 글입니다.Thank you Kent C. Dodds. Because of your posts, I can continue to grow as an engineer.  이전에 enzyme를 사용할 때 (그 시절 모두가 사용했던 것처럼), 나는 enzyme의 특정 API를 신경 써서 사용했다. shallow rendering를 완전히 피하기 위해, `instance()`, `state()`, `find('컴포넌트이름')`와 같은 API를 사용하지 않았다. 그리고 다른 사람들의 풀 리퀘스트 코드를 검토할 때, 왜 이런 API들을 피해야 하는지에 대해 몇 번이고 설명했다. 그 이유는 이런 API들이 컴포넌..
프론트엔드에서는 어떤 것을 테스트 해야 할까?
·
Knowledge/Test
이 글은 Kent C. Dodds의 How to know what to test 포스트를 번역한 글입니다.Thank you Kent C. Dodds. Because of your posts, I can continue to grow as an engineer. 테스트하는 방법을 아는 것은 훌륭하고 중요한 일이다. 나는 사람들에게 테스트의 기본 사항, 도구 구성 방법, 특정 시나리오에 대한 테스트 작성 방법 등을 알려주는 많은 콘텐츠를 만들었다. 하지만 테스트를 작성하는 방법을 알아도, 애플리케이션에 대한 신뢰성을 얻기 위해서는 그저 절반일 뿐이다. 무엇을 테스트할지 아는 것은 중요한 또 다른 절반이다.워크숍 자료와 TestingJavaScript.com에서 무엇을 테스트해야 하는지 아는 방법에 대해 이야..
프론트엔드에서의 Static, Unit, Integration, E2E 테스트
·
Knowledge/Test
이 글은 Kent C. Dodds의 Static vs Unit vs Integration vs E2E Testing for Frontend Apps 포스트를 번역한 글입니다.Thank you Kent C. Dodds. Because of your posts, I can continue to grow as an engineer. TestingJavaScript.com에 있는 "Testing Practices with J.B. Rainsberger" 인터뷰에서 그는 내가 정말 좋아하는 비유를 들려주었다. 그는 다음과 같이 말했다."You can throw paint against the wall and eventually you might get most of the wall, but until you go..
[yarn] npm을 막고 yarn으로 강제하는 방법
·
Knowledge/Web
패키지 매니저로 yarn을 사용하는데, 협업하는 과정에서 실수로 `npm` 명령어를 사용해서 `package-lock.json` 파일이 생성되는 경우가 종종 발생한다. 그때 마다 'npm 사용하지 마시고, yarn을 사용해주세요.'라고 말해야 하는 상황(시간이 지나서 또 package-lock.json 파일이 올라온다면...)을 피하고 싶다면 npm을 막고 yarn으로 강제하자. 3가지의 강제화 방법이 있다. package.json 파일의 scripts 속성의 preinstall 속성을 이용한 강제화 (추천)// package.json{ // ... 생략 "scripts": { // ... 생략 "preinstall": "node -e 'if(!/yarn\\.js$/.test(process...