전체 글 (48) 썸네일형 리스트형 [YC Tech Academy] 3주차 예습 4~6. SQL indexes, create index, drop index 4. SQL - indexes - 데이터 검색을 최적화하기 위해 사용되는 특별한 조회 테이블 - 데이터베이스 테이블에서 데이터를 가리키는 포인터를 저장하여 필요한 데이터 레코드를 빠르게 찾을 수 있도록 도와준다. 5. SQL - create index CREATE INDEX 인덱스_이름 ON 테이블_이름 (열_이름1, 열_이름2,... 열_이름N); Types of Indexes - Unique Indexes: 열에 중복 값을 방지하여 데이터 무결성을 보장한다. CREATE UNIQUE INDEX 인덱스_이름 ON 테이블_이름 (열_이름); - Single-Column Indexes: 하나의 테이블 열에 생성된다. CREATE .. [YC Tech Academy] 2주차 복습 - Spring 폴더 구조는 도메인 별 구조, 계층 별 구조가 있는데 규모가 큰 프로젝트인 경우 도메인 별 구조를 쓰는 것을 추천한다. - Profiles를 사용하면 어플리케이션 실행 환경(ex. 개발, 스테이징, 실 서비스)에 따라 다른 의존성을 주입할 수 있다. Singleton - 기본적으로 모든 bean은 스코프가 명시적으로 지정되지 않으면 싱글톤이다. - 상태가 없는 공유, 객체 읽기 전용으로만 상태를 가진 객체, 쓰기가 가능한 상태를 지니면서도 사용 빈도가 매우 높은 객체에 적절하다. 스프링 의존성 주입 방식 - Setter injection - Field injection - Constructor injection => 주로 final과 함께 쓰인다. - @Autowired는 타입으로 조회하.. [YC Tech Academy] 1주차 복습 1. REST API 설계 - REST는 Representational State Transfer의 약자로, 2000년에 Roy Fielding에 의해 만들어진 소프트웨어 아키텍처 스타일로, 웹 아키텍처의 설계를 안내하기 위해 고안되었다. REST 원칙을 따르는 모든 API는 RESTful하다고 말한다. - RESTful하게 API 설계하기 데이터 송수신 형식으로 JSON 사용 엔드포인트에서 동사 대신 명사 사용 복수형 명사로 컬렉션 명명 오류 처리에 HTTP 상태 코드 사용 관계를 나타내기 위해 엔드포인트 중첩 사용 요청한 데이터를 검색하기 위해 필터링, 정렬 및 페이지네이션 사용 보안을 위해 SSL 사용 버전을 명확하게 표시 정확한 API 문서 제공 2. Controller 작성 & 설계 - @Res.. [TIL][230215] fork해서 Pull Request 보내기 프로젝트에서 사용하는 라이브러리 중 하나가 필수가 아닌 요소가 필수라고 index.d.ts 파일에 잘못 적혀 있었다. 타입 스크립트로 개발하니깐 해당 오류가 계속 떠있는 게 거슬려서 해당 부분을 수정한 뒤에 PR을 보내야겠다고 생각했다. 라이브러리 commit 현황을 보니깐 다행히 최근까지도 계속 관리되고 있는 라이브러리였는데 실제로 내가 보낸 PR을 며칠 뒤에 merge 되었다. PR을 보내는 방법은 1. 해당 라이브러리를 fork 해서 내 깃헙으로 가져온다. 2. 내 로컬로 clone 한 후에 수정할 부분을 수정하고 커밋한다. 3. 라이브러리에 Pull Request를 보낸다. 4. 라이브러리 관리자가 내가 보낸 pull request를 확인하고 merge 할지 말지 결정한다. [TIL][230204] axios, fetch 차이 react native에서 서버와 통신을 할 때 나는 그동안 axios를 써왔는데 친구는 fetch를 사용하였다. 그러고 보니 axios와 fetch의 차이점과 장단점에 대해 내가 정확히 설명할 수 없는 것 같아서 찾아보았다. - axios와 fetch 모두 promise 기반이다. - axios는 따로 모듈을 설치해줘야 하고 fetch는 그렇지 않아도 된다. - 그래서 axios가 제공하는 기능이 더 많다. (요청 취소 가능, 응답 시간 초과 처리 가능, 400, 500대의 에러 발생 처리 용이) - 하지만 react native와 같이 업데이트를 자주 하는 곳에서는 axios 버전이 못 따라갈 수 있다는 위험이 존재한다. - axios는 데이터를 객체로 받지만 fetch는 데이터를 문자열로 받기 때문.. [TIL][230201] 로그인 유지 node.js를 이용하여 회원가입, 로그인, 아이디 찾기, 비밀번호 찾기 기능을 구현했다. 전화번호 인증 절차도 필요한데 클라우드 플랫폼을 어떤 걸 쓸지 안 정해서 이걸 정해야 구현할 수 있을 것 같다. 첨에는 GCP를 사용하려고 했는데 네이버 클라우드 플랫폼이 더 괜찮은 것 같고 마침 동아리를 통해서 크레딧도 많이 받을 수 있어서 이걸 사용할 것 같다. 로그인을 일정 시간 동안 유지하기 위한 방법으로는 두 가지가 있다. 하나는 세션 방식이고 또 다른 하나는 JWT방식이다. 예전에는 세션 방식을 주로 사용했지만 요즘은 JWT 방식도 자주 사용되고 있다고 한다. - 세션 방식은 유저가 로그인하면 서버에서 관련 정보를 메모리나 캐시 등 빠르게 접근할 수 있는 저장소에 저장한 후에 세션키를 발급한다. 클라이언.. [TIL][230125] 깃, 깃허브 정리 깃, 깃허브 정리 왜 깃을 사용할까 1. 어떤 부분이 변경되었는지 쉽게 확인하기 위해 2. 개발하다가 전 단계로 다시 돌아가기 위해 3. 협업을 위해 작업 디렉터리(working directory)-스테이지(stage)-저장소(repository) - 작업 디렉터리: .git 숨김 폴더가 위치한 곳. 즉, 버전을 관리할 파일들이 위치한 곳. - 스테이지: 수정된 파일 중 다음 버전으로 만들 파일들이 위치한 곳. 명시적으로 보이지 않음. - 저장소: 버전을 만들어 관리하는 곳. 명시적으로 보이지 않음. - 저장소에 새로운 버전이 만들어지면 스테이지는 비워진다. - 작업 디렉터리=>스테이지: add, staged - 스테이지=>저장소: commit - tracked 파일: 스테이지에 올라온 적이 있는 파일(.. [TIL][230124] RN 강의 완강 RN 강의 정리 44. 네이티브 모듈 수정하기 - 라이브러리를 사용할 때 원하는 기능을 추가하고 싶다면 먼저 공 깃헙에서 fork 해서 내 깃헙으로 가져온다. 그리고 package.json에서 버전 부분을 지우고 내 깃헙에 라이브러리가 있는 주소를 적어준다. - 요즘 자주 쓰는 방법으로 patch-package라는 것도 있다. - 네이티브 파일을 수정해야 하기 때문에 해당 언어를 알아야 수정할 수 있다. 45. patch-package 수행하기 - android 네이티브 파일에서는 @ReactMethod 애노테이션이 붙은 게 react 컴포넌트였는데 ios에서는 RCT_EXPORT_METHOD가 그 역할을 한다. - 추가적인 공부가 많이 필요하다. - 이대로 npm i를 하면 수정한 게 다 날아가버린다... 이전 1 2 3 4 ··· 6 다음