목록프로젝트 (13)
Just Do IT!
드디어! 배포를 끝냈다! 정말 마지막의 마지막까지 오류 때문에 고생을 많이 했지만...그래도 배포가 잘 되어서 다행이다. 1. 프론트 연동 마무리수요일날까지 내가 맡은 기능들을 연동을 다 완료했다.뭔가 이건 내가 프론트엔드 기능을 주로 맡아서 진행해서 그런지 모르겠지만, 피그마랑 똑같은 화면에서 기능이 잘 동작되는 것까지 봐야 완성한 기분이 든다.백엔드 기능은 항상 포스트맨으로 테스트했는데, 테스트가 잘 되는 걸 확인했음에도 화면에서 동작하는 것까지 봐야만잘 동작하는 것 같은 그런 느낌...? 이건 나만 그렇게 생각하는 걸수도 있다. 알람 기능을 가져올 때 약간 걱정했었는데, 걱정했던 것과는 달리 수월하게 연동할 수 있었다.사실 알림 기능이야 백엔드 단에서 구현을 다 하고 프론트 쪽에서는 알람을 ..
저번주에 백엔드 기능을 거의 구현했다고 했는데,프론트랑 연동하면서 수정할 부분을 발견해서 중간중간 수정하는 부분이 많았다.확실히 백엔드와 프론트를 다함께 진행하는 프로젝트 자체가 어렵다는 걸 알게 되는...그런 주간이었다. 1. 백엔드 버그 수정팀원 분이 알려주신 버그인데, 확실히 db와 연관된 걸 조금 더 배워야 하고 공부할 게 많다는 걸 느낀 날이었다.우리 프로젝트에서 연관된 DB가 많은데, 만약에 상위 DB의 data를 삭제하면 하위 DB의 data들도 모두 삭제되어야 했다. 내가 맡은 부분으로 예를 들어보자면,문제집 삭제 → 문제집 댓글 삭제 → 댓글 좋아요 삭제 → 북마크 삭제 → 문제집의 문제 삭제 → 스터디에 추가한..
벌써 4주차라니 믿기지 않는다...이번주는 백엔드 기능 구현으로 바쁜 주간이었다. 1. 소셜 로그인 연동 완료프론트엔드에서 오류가 났던 소셜 로그인 연동을 끝냈다.사실 저번주 주말에 모각코하면서 다 끝내려고 했는데 백엔드 로직을 수정해야 한다고 해서 잠시 멈추었다가 진행했다.일반 로그인을 안해서 다행이라는 생각을 했다...ㅋㅋ소셜 로그인 연동하는 것도 이렇게 오래 걸렸는데..확실히 로그인은 어렵다. 2. 전역 예외 처리지난 주에 어떤 다른 프로젝트의 깃허브를 구경하다가 전역적으로 예외 처리한 걸 발견했다.enum type으로 직접 하나하나 예외를 작성해주고 status까지 지정해놓은 걸 보니 복잡해보이지만 우리 프로젝트에도 적용해볼 수 있겠다는 생각이 들어 이번주에 완료했다. http..
어느덧 시간이 흘러 교육 과정 마무리까지 한달도 채 남지 않았다.시간 진짜 빠르고...프로젝트 언제 하나 싶고 뭔가 조급하지만 그래도 이번주에 나름대로 순조롭게 흘러가서 다행이었다. 1. 디자인메인 페이지 디자인을 우선 먼저 해두었다. 피그마를 보면 겹치는 디자인이 많아서 한 번 정리해두면 나도 편하고 다른 팀원들도 편하기에 백엔드 기능을 구현하기 전에 프론트 쪽에 디자인을 했다. 이번에는 재사용성을 중점에 두고 생각해봤다. 물론 재사용성이라고 해봤자 디자인 틀 재사용이긴 하지만...우선은 중복되는 부분을 최대한 컴포넌트화하려고 했다. 스터디랑 문제집 카드가 전부 디자인이 동일하기 때문에 전체적인 큰 틀의 디자인은 동일하게 유지하고,카드 안에 들어가는 정보들만 조금 다르게 만들었다. 그렇게 해..
지난번, KOSTA에서 교육 과정을 듣게 되었다며https://daydream-sy.tistory.com/311 프론트엔드 개발자 준비를 하다가 백엔드 개발자 준비로 전향했다작년에 내일배움캠프를 수료하고 꽤나 많은 일들이 있었다.우선 가장 큰 일은, 내가 개발자라는 직업을 본격적으로 준비하게 되었다는 점. 42서울 라피신 과정을 진행할 때까지만 해도 개발자daydream-sy.tistory.com이런 글을 작성했었다. 그 이후 시간이 제법 흘러서 어느덧 최종 프로젝트를 하는 기간이 되었다.항상 프론트엔드 파트만 맡았었고, 내배캠 최종 프로젝트 이후 제대로 프로젝트를 한 적이 한 번이라 이번에는 제대로 해보고자 마음 먹었는데 다행히도 2주차까지는 잘 진행되고 있다. 1. Github 활용하기이번 프..
코딩 컨벤션해당 언어로 작성된 프로그램의 각 측면에 대한 프로그래밍 스타일, 관행 및 방법을 권장하는 특정 프로그래밍 언어에 대한 일련의 지침 (출처: 위키백과) 코딩 컨벤션을 사용해야 하는 이유소프트웨어 개발 비용의 80%는 유지보수에 쓰인다.소프트웨어 유지보수는 직접 개발한 개발자가 하는경우가 적다.코딩 규칙을 지키면 다른 사람도 코드를 더 빠르게 이해하고 가독성이 높아진다.즉 같은 컨벤션을 쓰는 사람끼리 서로 코드의 이해도가 향상된다. 따라서 협업하고 유지보수할 때 훨씬 더 가독성이 좋고 간편하다.그렇기 때문에 이번 프로젝트에서 인텔리제이 초기 세팅하고 시작하면서 아예 설정하기로 결정했다. JAVA의 코딩 컨벤션의 종류NAVER : 캠퍼스 핵데이 Java 코딩 컨벤션Google : Goog..
프로젝트를 위해 인텔리제이 유료 버전을 설치했다.설치하는 과정을 담은 블로그들은 많으니 생략하고, 프로젝트를 위해 설치한 플러그인을 정리해보려고 한다. 1. Atom Material Icons 프로젝트 구조 (패키지, 폴더, 파일 등)를 아톰 IDE 디자인을 적용해 아이콘 모양을 바꿔주는 플러그인이다. 적용하면 이렇게 모든 파일을 잘 구분할 수 있게 해준다. 2. Grep Console 콘솔창에 각각 상황별로 색상을 넣어서 좀더 가독성을 편하게 해줄 수 있다 settings > other settings > grep console 을 클릭해서 색상을 변경할 수 있다.나는 아직 프로젝트를 실행해본 적이 없어서 대충 작성했는데 추후에 변경할 예정이다. 3. Git Tool Box 협업 할 때 ..
UML (Unified Modeling Lanuage) 소프트웨어 시스템을 개발하는 과정에서 산출물의 명세화, 시각화, 문서화할 때 사용하는 모델링 언어로써 하나의 시스템을 표현하기 위한 표준적인 방법을 제공하기 위해 만들어졌다. UML 다이어그램의 종류구조클래스 다이어그램 (Class Diagram) : 클래스의 속성, 함수, 변수 타입들로 구성된 다이어그램객체 다이어그램 (Object Diagram) : 클래스의 인스턴스, 값이 매겨진 행동을 가지고 있는 독립된 객체 정보를 표현하는 다이어그램패키지 다이어그램 (Package Diagram) : UML의 다양한 모델 요소를 그룹화한 다이어그램컴포넌트 다이어그램 (Component Diagram) : 컴포넌트끼리의 구조 관계를 표현한 다이어그램배치 다..
OAuth2 로그인 과정 (예시에는 google이지만 다른 소셜 서비스도 가능) 구글 로그인google cloud에서 앱 생성하기OAuth 동의 화면에서 앱 등록범위 설정OAuth Client ID 만들기 서버에 올리지 않았기에 localhost:3000을 추가해주었다. 카카오 로그인kakao develop에 앱 추가redirect URI 추가REST API key, 보안 키 설정 위의 과정을 거치고 나면, 해당 프로젝트에 필요한 것들을 모두 세팅할 수 있게 된다.그리고 이제 코드로 구현하면 된다. Java 코드 구현 [백엔드]User entity 수정public class User implements UserDetails { @Column(nullable = true) priva..
KOSTA에서 공부를 하면서, 너무 빠르게 진도를 나가다보니 복습의 중요성을 너무너무 잘 느끼게 되었다.물론 수업이 부족하다는 뜻이 아니라, 배우는 양이 많다는 뜻!그래서 쉬는 기간을 이용하여 간단하게 프로젝트를 만들어보면서 배웠던 걸 복습해보기로 했다. java와 mySQL을 사용한 간단한 콘솔 프로젝트이다.기획은 짬짬히 해서 한 2~3일 정도 하였고, 나름대로 노션에 기획안도 적어봤었다.그리고 database를 만들기 위해 이전에 수업에서 했었던 SNS 프로그래밍도 참고해서 만들었다. 자세한 기획과 기능 구현한 것들은 깃허브 레파지토리에서 볼 수 있다.https://github.com/seoyeon-jung/SLibrary-java GitHub - seoyeon-jung/SLibrary-java: J..