Git Product home page Git Product logo

re-cycle-app's Introduction

Tech Blog Badge Gmail Badge

Anurag's GitHub stats

Top Langs

re-cycle-app's People

Contributors

amymeme avatar

Watchers

 avatar

Forkers

jystella17 jaeeew

re-cycle-app's Issues

Google Credential

데이터베이스 커넥션 풀을 위해 싱글톤 데이터베이스 객체가 필요함 -> PostConstruct로 세팅
하지만,
파이어스토어 데이터 베이스 연동시 google credential json파일이 필요한데, 로컬에선 classpath밑에 위치시켜서 불러오고 있지만,
구글에서는 시스템 환경변수로 json파일의 위치 경로를 저장하는 것을 추천하고 있음

배포시 어떻게 할지 고민해야함

  1. 도커라이즈할 때 export로 파일위치 환경변수로 설정하기
  2. java 에서 환경변수 set하는 코드를 넣어보기

개인적으로 현재 방법<<2<1 순으로 추천될 것 같음

data

  1. 새 파싱 -> (도로명주소, 위도, 경도, 디테일(선택)) 형태로 !
  2. missed_data 처리하기

컨트롤러 테스트 코드 MockMvc

가끔 given(mockBean.xxxMethods(BBB)).willReturn(CCC)를 해도 NPE가 발생함
CCC가 리턴되지 않고 null이 리턴된다는 것인데, 라이브러리 버그 같음
mockBean에서 같은 객체로 인식하지 않는 문제인 것 같음

@Service, @Repository test

repository 리턴값인 querydocumentsnapshot이 firestore에서 따로 관리하는 객체인지 잘 알수가 없어서, mock을 생성할 수 없어서 더 알아보거나 다른 방법을 찾아봐야할 것 같음

repository pattern

현재 서비스가 너무 많은 담당을 하는 느낌이 들어서 레포지토리를 만드는 게 어떨까
물론, 파이어스토어에서 레포지토리를 기본적으로 지원해주지는 않지만, 시도해보자

firebase 통합환경 만들기

Database

찾아보니까 Firebase에 DB로 쓸 수 있는게 있는데, 원래 Google Storage를 포함해서 실시간 DB, firestore가 있음

Google Storage

구글 스토리지는 90일 300$이용이나 for firebase용도 따로 있는 것 같은데,
java지원이 안되고, 우리가 갖고 있는 데이터에 적합하지 않아보임.
이미지같은 큰 바이너리 데이터를 저장할 때 가장 유용할 것 같음

realtime DB

NoSQL 형태, Android, iOS, 자바스크립트 SDK로 연동할 수 있음
따라서 클라이언트 쪽에서는 잘 모르겠는데, 백엔드 쪽에서는 잘 모르겠음

firestore

NoSQL 형태. 백엔드 쪽에도 적합해 보임
안드로이드(자바, 코틀린 모두 지원), iOS, 노드JS, 스프링, 파이썬, golang 모두 지원하고
우리가 저장할 데이터가 그렇게 큰 편이 아니어서 적합해보임

data 수정

  • RecycleGuide API 이용해서 데이터 자동 추가
  • BinLocation 데이터 새로 파싱하기 -> 카카오 API 이용해서 경도,위도 받아서 따로 저장하기
  • BinLocation API 이용해서 데이터 자동 추가

커밋 메시지 컨벤션

commit message convention

서로 다른 부분 코드만을 보니까 서로의 코드를 볼 때 힘드니 작게 커밋을 해주는 게 좋을 것 같음
그리고 대충 이 커밋이 어떤 내용인지를 알 수 있게 커밋 메시지 컨벤션이 통일되었으면 좋겠음

AngularJS Git Commit Message Convention

feat() : 새로운 기능 추가할 때
fix() : 버그 수정할 때
docs() : 문서 추가 및 변경할 때
style() 코드 포맷팅, 로직의 변화는 없이 띄어쓰기나 탭 문자 등의 사소한 변화가 있을 때
refactor() : 리팩토링할 때
test() : 테스트 코드 수정 및 변경할 때
chore() : 빌드 및 패키지 매니저 수정 등 maintain할 떄

()괄호 안에는 클래스명등 어디를 고쳤는지 정도를 적고, 뒤에 무엇이 달라졌고 왜 수정했는지 현재형으로 적는다

example

feat(Location): add location class
fix(Location): fix bug for addLocation method
docs(README.md) : check plans

리팩토링

안드로이드 작업할 동안 리팩토링 등 유지보수를 해보기

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.