[Security] Access control 종류(ACL, RBAC, ABAC)와 Coarse-grained, Fine-grained
·
Knowledge/Security
Coarse와 FineCoarse-grained와 Fine-grained의 사전적 뜻은 각각 `결이 거친`, `결이 고운` 이란 뜻이라고 한다. 감이 잡히지 않는다.Coarse, Fine 단어로만 찾아보면 아래와 같다.CoarseFine  즉 하나의 물질이 있다면 이것을 큰 입자들로 나누냐, 작은 입자들로 나누냐의 차이다.사실 Coarse-grained와 Fine-grained는 프로그래밍에서 전반적으로 사용하는 용어다. 예를 들어 구글 시트 API를 호출하려면, 발급받은 ClientId와 SecretKey로 인증을 한 후에 구글 시트를 불러올 수 있다.이때 Coarse-grained는 `getGoogleSheet` 함수 안에 인증 + 구글 시트 조회 + Rows 값 조회를 전부 넣는 것을 뜻한다.반면 ..
프론트엔드 테스트 - TDD와 종류(Unit, Integration, E2E)
·
Knowledge/Test
테스트 주도 개발(TDD)이란?TDD는 Test-Driven Development의 약자로 실제 코드를 작성하기 전에 테스트 코드를 먼저 작성하는 개발 프로세스다. TDD 프로세스는 다음 단계를 따른다.테스트 코드 작성: 우선 구현하려는 동작을 설명하는 테스트 코드를 작성한다. 이때, 아직 동작을 구현하는 코드를 작성하지 않았으므로 테스트는 실패 해야한다. 테스트 실행: 테스트를 실행한다. 위에 언급했듯이, 코드를 작성하지 않았으므로 실패해야한다.코드 작성: 1번에 작성했던 설명에 부합하는 코드를 작성한다. 이때 테스트를 통과하기 위한 목적으로만 작성해야한다.즉 아직 존재하지 않은 많은 문제들을 생각하여 코드를 작성하기보다는 테스트 목표에 집중하여 작성하는 것이 중요하다.테스트 실행: 테스트를 다시 실행..
페이지 성능 최적화
·
Knowledge/Web
오늘은 페이지 성능 최적화에 대해 알아보겠습니다. 페이지 성능 최적화는 웹 서비스에서 중요한 개념이자, 이후에 포스팅할 CSR(Client Side Rendering)과 SSR(Server Side Rendering), 그리고 SSG(Static Site Generation)를 설명하기 위해 필요한 개념입니다. 페이지 성능 최적화를 해야 하는 이유? 사용자가 사이트를 방문한 후, 아무런 요청을 실행하지 않고 떠나는 비율을 이탈률이라고 합니다. 위의 그래프를 보시면 알 수 있듯이, 페이지 로딩 속도에 대한 이탈률을 보면 로딩 시간이 3초가 걸리면 32%, 5초면 90%, 6초면 106%, 10초면 123% 라고 합니다. 2018년도 자료이니, 2020년도인 지금은 로딩 속도에 대한 이탈률이 더 증가했다고 ..
npm과 npx의 차이
·
Knowledge/Web
이 글은 Magdalena Siljanoska의 Yes, it’s npx, not npm — the difference explained 를 번역한 게시물입니다. Thank you Magdalena Siljanoska! Thanks to your writing, I can grow further as a developer. 나는 최근에 리액트를 배우면서 내가 잘 알고 있는 npm이 아닌 npx를 보고 혼란스러워했고, 많은 사람들이 혼란스러워하는 모습을 봤다. 우리들 중 일부는 그것이 이상하다고 생각했지만 별 생각이 없었고, 또 다른 사람들은 오타라고 생각하고 npm을 npx로 "고쳐서" 어려움을 겪었다. 몇번 더 이런 상황을 겪게 되니 이것에 대해 설명할 가치가 있다고 생각했다. 그래서 이 게시물을 작성..
함수형 프로그래밍 전문가 되기 (Part 6)
·
Knowledge/Web
이 글은 Charles Scalfani의 So You Want to be a Functional Programmer (Part 6)를 번역한 게시물입니다. Thank you Charles Scalfani! Thanks to your writing, I can grow into a better developer. 함수형 프로그래밍 컨셉들을 이해하는 첫 단계가 가장 중요하고 때로는 가장 어려운 단계다. 하지만 올바른 관점으로 접근한다면 그렇게 어렵지 않다. 이전 게시물 : Part 1, Part 2, Part 3, Part 4, Part 5 이제 어쩌지? 이 훌륭한 것들을 모두 배웠으니, 당신은 이렇게 생각할 것 이다. "이제 어쩌지? 이제까지 배운 것을 내 프로그래밍에 어떻게 적용시키지?" 사정에 따라 다..
함수형 프로그래밍 전문가 되기 (Part 5)
·
Knowledge/Web
이 글은 Charles Scalfani의 So You Want to be a Functional Programmer (Part 5)를 번역한 게시물입니다. Thank you Charles Scalfani! Thanks to your writing, I can grow into a better developer. 함수형 프로그래밍의 개념을 이해하기 위해 내딛는 첫걸음은 매우 중요하다. 매우 힘든 첫걸음이지만 올바른 관점으로 접근한다면 힘들어할 필요가 없다. 이전 게시물 : Part 1, Part 2, Part 3, Part 4 참조 투명성 참조 투명성은 순수함수가 표현식으로 안전하게 대체될 수 있다고 설명하는 멋진 용어이다. 아래 예제가 이해하는데 도움이 될 것이다. 대수학에서 다음 공식을 봤을 때, y ..