모도리는 공부중

2023.03. 개발 궁금증 링크 일기 본문

내 지식 정리/날것 그 자체

2023.03. 개발 궁금증 링크 일기

공부하는 모도리 2023. 3. 14. 15:23
728x90
반응형

2023.01. 개발 궁금증 링크 일기

2023.02. 개발 궁금증 링크 일기

 


궁금증 정리

Repository Pattern

  • [Design Pattern] Repository Pattern 이란
  • 저장소 패턴(Repository Pattern) 도입기
    • 비즈니스 로직: 프로그램의 핵심이 되는 요소, 비즈니스 로직을 잘 짜야 원하는 결과를 올바르게 도출할 수 있음
    • 비즈니스 로직은 데이터베이스나 웹 서비스 등의 데이터 저장소에 접근하게 되는 과정에서 여러 문제가 발생함
    • 이에 따른 요구 사항
      • 비즈니스 로직과 데이터 레이어 분리
      • 중앙 집중 처리 방식 통해 일관된 데이터와 로직 제공
    • 요구사항 해결을 위해 등장한 것이 바로 리포지토리 패턴이라고 함. 데이터 소스에 쿼리를 날리거나, 데이터를 다른 도메인에서 사용 수 있도록 새롭게 매핑할 수 있음
    • 데이터가 있는 여러 저장소(Local Data Source, Remort Data Source, API Responses)를 추상화하여 중앙 집중 처리 방식 구현 가능
      • 이 글을 보면서 항상 궁금했던, db를 여러군데 쓰면 어떻게 처리하는 거지? 라는 궁금증을 이 라인을 보며 아? 하고 정리하게 됨. 이런 거였구나. 이런 이유로 orm을 쓰고 repository pattern을 쓰는 걸까?
      • ViewModel의 출처를 몰라도 Repository를 참조하면 제공 데이터를 그저 이용만 하면 되기에, 그래서 유연성이 올라가고 로직에 집중할 수 있다고 하는 거였구나! 이래서 사람은 공부를 해야 해.
    • 또 다른 개념 정리에 의하면, 저장소 패턴(Repository pattern)은 모든 데이터가 메모리상에 존재하는 것처럼 가정하고 이를 추상화하여 데이터 접근과 관련된 구현 사항을 감춰서, 저장소의 구현에 대해 신경 쓸 필요 없이 인터페이스로만 소통하는 방법이라고 한다.
      • 일명 응집도를 높이고 결합도를 낮추는 방식인 거구나!!
  • 앱 아키텍처 가이드 ← 이건 나중에 읽어볼 토끼굴

Bcrypt module에서 salt는 어디에??

Github Gist

Git Commit Message Convention

Git command

Docker

Django

  • 인스타그램 클론코딩 - https://youtu.be/M8UPyeF5DfM
  • TemplateDoesNotExist 에러 - https://june98.tistory.com/81
    • 디렉토리명 수정 : template -> templates
    • 템플릿 디렉토리 베이스 설정 :
       settings.py > TEMPLATES = [ { "DIRS'": [ ] } ] 
      에서 대괄호 안에 강의대로 추가 설정을 해주었음
       settings.py > TEMPLATES = [ { "DIRS'": [ BASE_DIR / 'templates' ] } ] 
    • 앱 추가 :
       settings.py > INSTALLED_APPS = [ "django~~~", "~~~", ... ] 
      에서 하단에 내가 만든 Application 추가
       settings.py > INSTALLED_APPS = [ "django~~~", "~~~", ..., "instagram" ] 
      (강의에서는 설정하는 장면이 나오지 않았는데 실행하자마자 바로 되는 것 보면 파이참에서 설정해주는 무언가가 있나봄)

 

 

 

일기

23.03.14.화

여기에 정리하게 되는 내용은 주로 앨리스의 토끼굴인 경우가 많다. 깊숙이 빠져들지 않고 공부가 필요한 기술 부채로 남겨두자!라고 생각하며 지나치려고 하지만, 때로는 조금이라도 더 알아둬야 다음 단계를 어떻게 진행해야할지 감이 잡힐 때가 있다. 항상 그 경계에서 어떻게 줄을 타야 영리한 건지 어렵다.

 

23.03.18.토

정말 궁금했다. 드림코딩 강의를 들으면서 의문이 풀리지 않던 부분들(sha도 있고 되게 많은 방법이 있는데 왜 bcrypt 모듈을 쓰는가? salt는 따로 저장 안 하나? 이거 옛날 방법도 직접 다 해봐야 의문이 풀리려나? 등등) 중 하나가 두어 가지가 오늘 풀렸다. 이런 이유로 양방향도, 그냥 단방향도 안 쓰고 salt가 도입되었구나. 검색해서 글을 읽어내려가는 정도로는 풀리지 않던 의문들이었는데 오늘 말끔하게 해소됐다. 아직 해소가 필요한 의문이 더 남아있지만 그래도 즐겁다.

 

23.03.24.금

오랜만에 다른 프로젝트 코드 파악이 필요하다. 그것도 내가 사용해보지 않은 프레임워크 언어로 말이다. 그래서 어디부터 공부해서 어떻게 파악해나가야할지 감이 잘 잡히지 않는다. 예전에 내가 맡게 된 프로젝트 분석할 때처럼 일단 git pull부터 받고 필요한 강의를 찾아 시작해볼까 싶다.

그래서 리포지토리부터 접근했는데.. commit convention 보고 당황중. 브랜치 전략도 머리속으로 알기만 하지 버전 관리하면서 배포와 개발 브랜치를 관리해본 적이 없기에, 어떤식으로 관리하셨는지 관련 문서를 찾아 헤매고 있다.

오늘까지는 여차저차 혼자 봐 보고, 차주부터는 동료분께 도움을 청해서 파악하며 분석해야 더 빠르게 가능할지도...

그 와중에 발견한 git gist. 이게 뭔가 싶어서 읽어보는데, 가끔 블로그들에서 등장하던 github 코드라인 같은 건가보다. 신기하네?

728x90
반응형
Comments