공부 및 활동33 [스프링 입문] 7. AOP 1. AOP가 필요한 상황 백엔드 구현에서의 관심사항은 두 가지 사항으로 나뉜다. 공통 관심사항(cross-cutting concern)과 핵심 관심사항(core concern)으로 나뉘는데, 회원 가입, 회원 조회와 같은 비즈니스 로직과 같은 경우가 핵심 관심사항이고, 이러한 기능 외에 회원 가입이나 회원 조회의 기능을 실행하는데 걸리는 시간을 측정하는 것과 같은 기능은 공통 관심 사항으로 분류된다. 이렇게 모든 메서드에 대한 호출 시간을 측정하고 싶을 때, 우리는 기존 모든 메서드의 시작과 끝에 시간을 측정하는 코드를 추가하여 이를 구현해야 한다. 회원 가입과 회원 조회의 기능의 호출 시간을 구하기 위해서는 회원 서비스에 다음과 같은 코드를 작성해야 한다. @Transactional public cl.. 2021. 10. 23. Heroku를 하다 알게된 내용 1. Django Static 개발한 프로젝트를 운영 서버로 배포하다 보면 static 파일을 모으게 되는데 이때, python manage.py collectstatic 명령어를 사용하게 된다. collectstatic : Django 프로젝트의 여러 app에서 사용하는 스테틱 파일을 한 곳으로 모아주는 역할을 한다. (물리적으로 파일을 copy 한다는 뜻이다.) 사용자의 요청이 들어오면 웹서버가 받아서 적절한 처리 후에 웹 애플리케이션에 넘겨주고 웹 애플리케이션은 우리가 작성한 로직에 따라 적절한 처리 후에 웹서버에 돌려주어 사용자에게 응답(Response)하는 것이다. 이것을 간단하게 도식화하면 위 그림과 같이 된다. 웹서버와 웹 애플리케이션 사이에는 WSGI(Web Server Gateway In.. 2021. 10. 11. heroku에서 social login 연동하다 발생한 오류 구글, 네이버 소셜 로그인을 구현하던 중 오류가 발생하였다. social login구현하기 위해, 기존 디렉터리에서 1) settings urls.py 이와 같이 추가하고 나서 1) python manage.py migrate --settigs=settings_heroku 2) git push # 완료 후 3) heroku ps:scale web=1 # 서버 실행했을 때 at=error code=H10 desc = "App crashed" method=GET path= "/"~ 가 나와서 여러가지 구글링 해본 결과 https://pythonq.com/so/mysql/963944 db삭제 하라고 되어있다. 현재상황을 조금 더 구체적으로 알고싶어 python manage.py migrate --setting.. 2021. 10. 11. Android에서 Retrofit 적용할 때 1. RetrofitClient.kt .baseUrl("https://dongagd.herokuapp.com/") baseUrl은 Root 주소를 적어주어야 해요. 현재 서버의 Root 주소는 "https://dongagd.herokuapp.com/" 입니다. 2. UserCreationElement data요소들 생성하기 위한 data class 위 root 주소 https://dongagd.herokuapp.com/user/ data class UserCreationElement ( var username:String, var password:String,var phonenumber:String,var email:String, var familyname:String,var age:String, var.. 2021. 10. 10. HTTP, 400 Error 발생 현재 오류 상황 This field is required. (400 error) 가 발생하였다. gdapp\serializers.py에서 문제가 있는 것 같아 저기 부분을 주석하고 업데이트 후, 적용하니 똑같이 field it required가 발생한다. 구글링 결과 https://kimdoky.github.io/django/2018/05/01/django-error-required/ blank = True와 NULL = True를 넣으면 아마 해결될 것이라는 말이 있어서 적용했는데도, This field is required. (400 error)가 발생 어라? 알고보니, familyname => fmailyname으로 적고 실행하여 This field is required 400 error 가 발생하.. 2021. 10. 10. Git 작업 컨트롤 전략 1. 작업을 할 때 지켜야할 서로 간의 약속 1) 작업을 시작하기 전에 JIRA 티켓을 생성한다. 2) 하나의 티켓은 되도록 하나의 커밋으로 한다. 3) 커밋 그래프는 최대한 단순하게 가져간다. 4) 서로 공유하는 브랜치의 커밋 그래프는 함부로 변경하지 않는다. 5) 리뷰어에게 꼭 리뷰를 받는다. 6) 자신의 Pull Request는 스스로 merge 한다. 2. Git-flow 전략 간단하게 살펴보기 git-flow 5가지 종류의 브랜치가 존재한다. 항상 유지되는 메인 브랜치들 : master, develop 일정 기간동안만 유지되는 보조 브랜치들 : feature, release, hotfix master : 제품으로 출시될 수 있는 브랜치 develop : 다음 출시 버전을 개발하는 브랜치 feat.. 2021. 10. 7. 이전 1 2 3 4 ··· 6 다음