[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 값 조회를 전부 넣는 것을 뜻한다.반면 ..
[React] ChatGPT와 구글 스프레드 시트를 이용한 i18n작업
·
React
ChatGPT최근 ChatGPT가 핫하다. 필자도 프로그래밍 관련 질문들은 구글링 하기 전에, 먼저 ChatGPT에게 물어본다. 놀라운 부분은 필자가 `adopt`라는 scope function이 kotlin에 있지 않냐고 물어봤더니, 없다고 하는 것에 그치지 않고, `adopt`의 늬앙스가 `apply`, `also`와 유사하여 사용자가 헷갈린 것이라 판단해, `apply`와 `also`에 대해 설명해 준다.  이 뛰어난 기능을 어딘가에 활용해볼까 고민하던 중, ChatGPT의 확장 프로그램을 구글 스프레드 시트에 설치하여 활용할 수 있다는 소식을 듣고, 구글 스프레드 시트로 작업한 i18n에 활용하기로 결정했다. 구글 스프레드 시트를 이용한 i18n 자동화 방법은 아래 게시물을 보는 것을 추천한다. ..
프론트엔드 테스트 - TDD와 종류(Unit, Integration, E2E)
·
Knowledge/Test
테스트 주도 개발(TDD)이란?TDD는 Test-Driven Development의 약자로 실제 코드를 작성하기 전에 테스트 코드를 먼저 작성하는 개발 프로세스다. TDD 프로세스는 다음 단계를 따른다.테스트 코드 작성: 우선 구현하려는 동작을 설명하는 테스트 코드를 작성한다. 이때, 아직 동작을 구현하는 코드를 작성하지 않았으므로 테스트는 실패 해야한다. 테스트 실행: 테스트를 실행한다. 위에 언급했듯이, 코드를 작성하지 않았으므로 실패해야한다.코드 작성: 1번에 작성했던 설명에 부합하는 코드를 작성한다. 이때 테스트를 통과하기 위한 목적으로만 작성해야한다.즉 아직 존재하지 않은 많은 문제들을 생각하여 코드를 작성하기보다는 테스트 목표에 집중하여 작성하는 것이 중요하다.테스트 실행: 테스트를 다시 실행..
[Intellij] 인텔리제이에 ChatGPT 플러그인 적용
·
Tools/IntelliJ
23년 3월 11일 - ChatGPT 플러그인 2.1.3 버전 기준으로 정보 업데이트 이제 Intellij에도 ChatGPT 플러그인을 적용할 수 있다. ChatGPT 플러그인 설치1. Preferences... 메뉴( Mac 단축키: Command + , ) - > Plugins -> ChatGPT 플러그인 설치 2. https://platform.openai.com/account/api-keys 에 로그인하고 API 키 발급 3. 인텔리제이 사이드 바에 ChatGPT 아이콘 클릭 후, 설정 아이콘 클릭 4. Official API키를 추가한다. (직접 ChatGPT에 요청을 보내는 API 서버를 만들었다면, Customize에 API 주소를 넣으면 된다.)※ Email과 Password를 입력하고 로..
[React] Module not found: Can't resolve 'http2' in ~
·
React
문제 발생 React에서 googleapis 라이브러리를 사용해보려고 했더니 다음과 같은 에러가 발생했다. 원인은 간단했다. googleapis가 Node.js에서만 동작하는 라이브러리기 때문이다. 해결 방법 해당 라이브러리는 Nodejs (express, nestjs 등)에서만 동작하는 라이브러리다. 사용하지 말자.
[React] 구글 스프레드 시트 API 이용하기(with google-spreadsheet)
·
React
버전 정보react: ^18.2.0react-scripts: ^4.0.2 (5버전은 에러가 너무 많이 나서 다운그레이드)google-spreadsheet: ^3.3.0 구글 스프레드 시트 API구글 스프레드 시트 API를 이용하여 받아온 데이터를 React에서 처리하려고 한다.API를 이용하면 자바스크립트나 파이썬등에서 코드를 통해 시트 내용을 조회, 생성, 수정, 삭제를 할 수 있다. 이 작업은 주로 정적인 사이트에 활용하기 좋다. 또한, 구글 스프레드시트에 익숙한 기획자들과의 협업에도 큰 도움이 될 수 있다.예를 들어, 기획자들이 스프레드시트에서 작업한 내용을 DB에 반영해야 하는 경우가 종종 있다. 하지만 스프레드시트의 데이터가 자주 업데이트되면, 이를 관리하는 데 상당한 노력이 필요하게 된다. 반..