8월을 돌아보며Week 31(0729-0804)240801(Thu)240802(Fri)240803(Sat)240804(Sun)Week 32(0805-0811)240807(Wed)240808(Thu)240809(Fri)240810(Sat)240811(Sun)Week 33(0812-0818)240812(Mon)240813(Tue)240815(Thu)240816(Fri)240817(Sat)240818(Sun)Week 34(0819-0824)240819(Mon)240820(Tue)240821(Wed)240822(Thu)240823(Fri)240824(Sat)Week 35(0825-0901)240825(Sun)240826(Mon)240827(Tue)240828(Wed)240829(Thu)240830(Fri)240831(Sat)
8월을 돌아보며
8월도 빠르게 지나갔다. 대부분 서비스 개발에 많은 시간을 투자했고, 데이터 관련 작업과 프론트엔드 개발, 그리고 약간의 스프링 개발을 경험한 것 같다.
뭔가 개발만 했다고 생각했는데, 돌아보니 운동도 꽤 하고 어학공부에도 시간을 많이 투자한 것 같다.
방학 시작에 계획했던걸 생각해보면 스프링도 공부하고, 면접도 보고, 책도 읽고, ICT 인턴십이 생각보다 시간이 들어간 것 같다.
Microsoft Student Ambassador도 하려 했는데, 원하던 트랙이 안열리고, 이제는 시간도 없어 못할 것 같다. 4학년때 기회가 되기를.
Week 31(0729-0804)
240801(Thu)
- 솔리드커넥션 오류 해결
- DB관련된 오류? RDS 재부팅하니 사라짐
- 미식록 서버 개발
- 데이터 파싱
240802(Fri)
- 솔리드커넥션 웹 개발
- 커뮤니티 글에서 이미지 클릭시 팝업 구현
- 스크롤을 구현할까 시도해보았으나, PC에서 사용감이 썩 좋지 않고, 비슷한 서비스에서도 그냥 확대만 되게끔 구현된것을 보고 미구현으로 결정
- svgr을 사용해 svg 리엑트 컴포넌트화
- 스크롤에 따른 버튼 보이기/숨이기 구현
- Sentry organization 전환, 이에 따른 수정과 환경변수 분리
- 솔리드커넥션 개발 회의
- 커뮤니티 API 구성 방법에 대한 회의
- Django ImageField와 S3 글 작성
- django-storages에서 cloudfront 사용하는 깔끔한 방법 발견
- S3 & CloudFront 알아보기 글 작성
- S3, CloudFront 권한 관련 공부, 실험
- 미식록 서버 개발
- cloudfront 적용
240803(Sat)
- 솔리드커넥션 웹 개발
- 비로그인시 인증 필요 화면 안보이게 로딩 추가
- axios instance에서 로그인페이지로 리턴 하던것 개별적으로 적용 가능하게 삭제
- 대학 세부페이지 CSR로 like 받아오기 기능 추가
- 대학 페이지들 getStaticProps 적용으로 최적화
- 리스트: 2.60초 → 0.69초
- 세부 페이지: 0.88초 → 0.58초
- S3 & CloudFront 알아보기 글 작성
- S3 권한 관련 글 대부분 작성
240804(Sun)
- 미식록 서버 개발
Week 32(0805-0811)
240807(Wed)
- 솔리드 커넥션 데이터 처리 개발
- 대학 영어명 포매팅 함수 추가
- 미식록 서버 개발
- 지역 목록 API 추가
- ImportError: attempted relative import beyond top-level package 오류 수정
- s3-lambda-resize 리팩토링
240808(Thu)
- 애플 소셜 로그인 분석
- 애플 소셜 로그인 구현(서버 개발자) 글 일부 작성
- 장고 i18n 번역 권한 신청
- Gmap Place API(신규) 분석
240809(Fri)
- django-docs 한국어 번역 일부 수정
- 미식록 서버 개발
- 애플 로그인 구현
- 코드 리팩토링: 로깅 추가, 카카오 로그인 코드 수정
- 이미지 storage 재업로드시 파일 삭제, 리사이즈 파일 동시 삭제 처리
240810(Sat)
- 미식록 서버 개발
- 리사이즈 이미지 로드 ~_url로 통일
- 모델 메타 정보 추가등 리팩토링
- 솔리드 커넥션 서버 관련
- 수정된 내용 배포
- DB 변경 사항 마이그레이션
- 솔리드 커넥션 웹 개발
- 커뮤니티 화면 개발
240811(Sun)
- 스프링 예외 처리 공부
- Spring Boot 예외 처리 글 작성중
Week 33(0812-0818)
240812(Mon)
- 스프링 예외 처리 공부
- Spring Boot 예외 처리 글 작성중
- solid-connect-data 추가
- 미식록 서버 개발
240813(Tue)
- 애플 소셜 로그인 구현(서버 개발자) 글 작성중
- App ID의 Sign in with apple과, Server to server notification endpoint 관련 추가
- 미식록 서버 개발
- 애플 로그인 추가
- 테스트 리팩토링
- 이미지와 파일시스템 이용하는 테스트 리팩토링
- DRF에서 테스트 진행하기글 작성중
240815(Thu)
- 솔리드 커넥션 서버 ssl 인증서 만료 갱신
240816(Fri)
- 솔리드 커넥션 웹 개발
- axiosInstance 오류 수정
- 솔리드 커넥션 신규 국가, 대학 데이터 추가
- 미식록 서버 개발
- 미식리스트 수정 api 디버깅, 테스트 작성중
- DRF의 put과 patch 요청 글 작성 시작
240817(Sat)
- 솔리드 커넥션 서버 개발
- university의 레코드가 대학별로 고유하게 수정(universityInfoForApply에 koreanName 추가)
- 솔리드 커넥션 웹 개발
- 홈 화면 개발
240818(Sun)
- 솔리드 커넥션 웹 개발
- 홈 화면 개발
Week 34(0819-0824)
240819(Mon)
- 솔리드 커넥션 서버 개발
- 지원서 3차 지망 대학 추가
- 서버 배포
- Flyway에 대해 알게 됨
- 솔리드 커넥션 웹 개발
- 홈 화면 개발 마무리
- 가입 화면 개발
- 솔리드 커넥션 소식지 관리 개발
240820(Tue)
- 솔리드 커넥션 웹 개발
- 가입 화면 개발
240821(Wed)
- 미식록 서버 개발
- 버그 수정
- 음식점 이미지 파싱 개발
240822(Thu)
- 솔리드 커넥션 웹 개발
- 커뮤니티 댓글, 좋아요 기능 추가
- 배포
- 프로메테우스, 그라파나 모니터링 서버 이전
- 이전 겸 기존 서버들에 node exporter 자동 실행 설정 추가
- 솔리드 커넥션 데이터 관련 개발
- boto3로 대학 폴더 생성 개발
240823(Fri)
- 솔리드 커넥션 서버 오류 수정
- Caused by: org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection [null, message from server: "Host '~' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"] [n/a]
- 위 오류가 최초 발생, 코드 문제로 에러 요청으로 블록당한것으로 파악 → flush-hosts로 초기화
- 이후 히카리풀 오류 발생 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
- DB를 로컬에서 접근했을 때는 문제없이 가능하기에 서버 문제로 파악. IP 블록등의 문제인지 확인하기 위해 서버 컴퓨터에서 RDS 직접 접근 시도 → 이 때는 문제 없이 접근 가능했음
- 스프링의 문제인지 파악하기 위해 로컬 컴퓨터에서 빌드후 연결 시도 → 실패
- 스프링에서만 발생하는 문제로 파악. 그러나 아무 설정 변경도 없었는데 갑자기 문제가 생겼기에 RDS에서 로그 확인
- RDS 경고로 CA 인증서 알림을 받음
- https://aws.amazon.com/ko/blogs/korea/rotate-your-ssl-tls-certificates-now-amazon-rds-and-amazon-aurora-expire-in-2024/
- 만료된 인증서 인증기관을 수정해 해결
- 솔리드 커넥션 웹 오류 수정
- 대학 목록 받아올 때 오류 발생시 revalidate 안하는 오류 수정
- 솔리드 커넥션 DB 마이그레이션, 데이터 추가
- ZoneDateTime과 관련한 학습
- ZoneDateTime 사용 시
@CreatedDate
,@LastModifiedDate
사용 못하는 문제 해결법 - onPrePersist, onPreUpdate를 사용
- DateTimeProvider 재정의
ZoneOffset.UTC
,ZoneId.of("UTC")
의 차이- 전자는 타임존만, 후자는 ZoneId까지 포함(즉 써머타임등을 계산할 수 있는) 개인적인 생각으로는 UTC에서는 대부분 전자가 적당할듯
240824(Sat)
- 미식록 서버 재부팅되는 문제 해결
- Azure의 가상 머신 업데이트 후 자동 리부팅 때문이었음
- 가상 머신 업데이트 오케스트레이션 변경
- 솔리드 커넥션 데이터 추가
- csv → json 전환, json → DB 업로드 코드 작성
- 솔리드 커넥션 웹 개발
- 버그 수정, 디자인 수정
- API 요청 과정 일괄 변경(비로그인 처리, 레거시 수정)
- 솔리드 커넥션 서버 관련 리뷰
- application에 term추가 관련 리뷰
Week 35(0825-0901)
240825(Sun)
- 솔리드 커넥션 DB 필드 수정
- 솔리드 커넥션 웹 개발
- 작은 디자인 변경 사항 수정
- 성적 공유 시트 3순위 개발
- 내 정보 수정 개발
- 미식록 서버 개발
- 사진 크롤링 병렬으로 전환 작업
- 파이썬 비동기 처리글 작성중
240826(Mon)
- 솔리드 커넥션 웹 개발
- 가입시 오류 핫픽스
- ref가 로드 전 null이여서 발생하는 문제
- 하필 ref가 개발환경에서만 로딩안되게 되어 개발 환경에서는 오류를 확인할 수 없었다
- 테스트 서버를 만들어야할 필요성을 느낌
- 가입시 이미지 업로드 오류 수정
- 리팩토링
240827(Tue)
- 솔리드 커넥션 웹 개발
- 디자인 피드백 사항 수정
- 미식록 웹 개발
- 식당 세부 화면 편의기능 표기 추가
- 미식록 서버 개발
- 식당 사진 → 식당 썸네일 자동 설정 추가
- 깃헙 버그 이슈 템플릿 추가
- 솔리드 커넥션 서버 이슈 해결
- Nginx 1MB body 제한으로 파일 업로드시 413오류 발생
- 설정 수정으로 해결
240828(Wed)
- 솔리드 커넥션 웹 개발
- 깃헙 이슈 템플릿 추가
- 미식록 서버 개발
- 유저네임 → 이메일 전환, 기본 가입 API 개발
240829(Thu)
- 미식록 서버 개발
- 이메일 계정 인증 추가
- django-ses, AWS SES 사용
- SMTP에 대한 간단한 공부
240830(Fri)
- 배포 시점에 급상승하는 API Latency 해결하기 — Django + Gunicorn 사례 글 읽기
- Gunicorn은 pre-fork 방식으로 구현되어 있음. 마치 네트워크 처리시 사용하는 fork 방식.
- 요청이 올때마다 fork하는 것이 아닌 미리(pre) fork를 해두는 것
- Master process가 worker process를 만드는데 이것도 fork 방식으로 동일한 프로세스를 메모리까지 동일하게 복사하는 것
- Django는 preload시에도 일부 view, model등은 미리 로드되지 않음. 그래서 urls.py를 기준으로 사전 로딩 한 후, master process를 worker process로 복사하면, 모두 로딩된 프로세스들이 복사된다.
- 솔리드 커넥션 웹 개발
- 성적 공유 지원 플로우 수정
- 커뮤니티 글, 댓글 삭제 기능 추가
- 드랍다운 컴포넌트 추가
- 커뮤니티 글 줄바꿈 문제 해결
- 의외로 white-space: pre-wrap;로 그냥 해결됨.
- DB 조회시에도 줄바꿈과 띄어쓰기 구분이 안되는데, Form editor로 보면 구분 가능
240831(Sat)
- 미식록 서버 개발
- AWS SES 인증 완료
- 이메일 계정 인증 확인절차 개발 완료
- 솔리드 커넥션 웹 개발
- 대댓글 기능 추가
- 디자인 수정