반응형
목록
java (139)
[꼼꼼한 개발자] 꼼코더
🧹 간단 정리 Integer : null 값 가능 int : null 값 불가능 👀 어떨 때 사용할까? 둘의 차이점은? Integer는 null을 허용하는 참조형이기 때문에 null값이 가능하다. 반면 int는 기본형(primitive type)으로 null값을 허용하지 않는다. 따라서 null 값이 발생할 수 있는 경우에는 Integer와 같은 참조형을 사용하고 그렇지 않은 경우에는 int와 같은 기본형을 사용하는 것이 좋다.

📦 패키지 생성과 설정 (상품) Product 패키지를 생성 후 그 안에 필요한 패키지부터 만들어 보았다. [controller, domain, dto, repository, service] 추가로 jpa, Hibernate를 사용하기 위한 설정 코드도 작성해 준다. # Hibernate 로그 레벨 설정 logging.level.org.hibernate=info # SQL 쿼리 보기 설정 spring.jpa.properties.hibernate.show_sql=true # SQL 쿼리 포맷팅 설정(가독성 향상 *들여쓰기) spring.jpa.properties.hibernate.format_sql=true # SQL 코멘트 사용 설정 (주석) spring.jpa.properties.hibernate.us..
⚙️ 준비 우선 이런 프로젝트는 구조 규모가 어느 정도 있다 판단하여 ERD 구조를 그리고 시작하려고 했다 하지만 1일 내내 붙잡고 해본 결과.. 아직 경험이 없는 우리에게 너무 버거운 작업이었다. 회원 권한 별로 기능을 구분 지을 것도 아직 가능성이 모호하고, 상품이 어떻게 등록되고, 회원이 어떻게 저장되고 아직은 조금 서툴고 어려웠다. 따라서 결론적으로 정말 야생형처럼 맨땅에 개발하듯 주요 기능부터 구현해서 결합하기로 했다. 🧺 기능 분배 우선 주요 도메인을 회원, 상품으로 생각하고 (게시판은 추후에) 나 > 상품, 팀원 > 회원을 맡게 되었다. 🧑🏻💻개발 준비 그렇게 팀원 친구가 깃을 개설했다. 깃허브에 [main, sub, 나, 팀원]으로 원격 브랜치를 생성하였고 나 > 나, 팀원 > 팀원으로 ..
🤝 계기(제안하기) 개인 프로젝트(피파온라인)를 진행하던 도중 이전 '카메라 방명록'에서 게시판 기능을 맡았던 백엔드 친구에게 팀 프로젝트를 제안했다. 그 친구는 흔쾌히 수락하였고 우리는 팀을 결성했다. 🫨 주제 우리는 어디에 베포, 출품이 목적이 아닌 '포트폴리오'가 목적이다. 물론 일반적인 대학 졸업생의 '포트폴리오' 기준치를 모르니 퀄리티를 보장할 수 없지만 그래도 백엔드 기능을 많이 접해 볼 수 있는 주제였으면 했다. 따라서 회의 끝에 쇼핑몰을 만들어 보기로 했다. 😆 기대하는 것 1. 스프링 부트로 게시판 기능, 상품 기능, 회원 기능을 구현하는 것 2.OOP 원칙을 최대한 잘 지키며 개발하는 것 3. (가능하다면) JWT와 권한에 따라 회원을 구분 짓고 기능을 구분하는 것. 위 3가지를 기대하..

👨🏻🏫 주제 문득 이렇게 오픈된 공간에 나의 이야기를 적고 있고 현재 나의 공부, 기록 방법에 대해 여러 가지 의견을 싶은 부분도 있어서 적어보려 한다.! 💻 개발 방법 현재는 구글링, Chat Gpt를 통해서 도움을 많이 받고 있고 디테일 코드들은 교재를 참고하기도 한다. 평소에 유튜브에서 개발 관련 내용도 자주 보곤 하는데 얼마 전에 Chat Gpt로 개발하는 것에 관한 영상을 봤다 내용은 'Chat Gpt에 너무 의존하게 되면 머리가 굳는다'였다. 약간 뜨끔 했지만 나는 Chat Gpt가 보내준 코드 또한 내 거로 만드려고 하나하나 분석하고 주석을 정말 상세히 단다. 나는 기억력이 좋지 않아 주석을 자세히 달아야 한다..! 자세히 작성하니 이해, 기억력 복귀에 매우 좋은 경험을 하고 있다.! 🐈..

👓 메서드 명이.. 겹치네? 우선 두 메소드(닉네임으로 검색, 고유 식별자로 검색) 코드 속 기능이 요청 URL을 제외하고 전부 동일하다. 따라서 기존 findByUserInfo() 메소드 명을 바꾸지 않으면 [findByUserInfo() > 닉네임으로 검색, findByUserInfo2() > 유저 고유 식별자로 검색]이라는 대참사가 나올 수 있다. 물론 나는 이런 상황을 예상하지 않아서 만든 메서드명이다. Controller, Service 메서드 명을 아래와 같이 수정하고 개발을 시작한다. // Controller 클래스 public ModelAndView getUserByNickname public FifaUser getUserByAccessId // Service // '닉네임'으로 유저 정보..

💻 타임리프 활용(JSON -> html) 현재 결과 화면은(사진(좌) 참고) JSON 형식으로 User 객체가 넘어온다. 추후 프런트 개발도 해야겠지만 임시방편으로라도 타임리프를 사용하려고 한다. (의존성 추가) implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 🧑🏻💻 코드 수정 (입 출력 화면 분리) 이전 글에 적었던 거처럼 입력과 출력화면이 다른 화면으로 처리되게끔 분리하고 싶었다. 따라서 코드 수정에 돌입했다. 그 결과 수정하는데 5일이 걸렸다 하루에 5시간 이상은 소요하여도 해결에 길이 안 보이니 계획까지 바꾸려고 했다(그냥 한 화면에서 요청과 데이터 응답 처리를 할까..) '진짜 포기하고 싶지 않아서 악바리로 계속..

🫨 개발 전 확인 여러 방면으로 찾아보니 Open API 요청 시 중요한 몇 가지가 있었다. 요청 방법, 응답 시 데이터, 요청 URL 등 여러 가지를 공식 문서(사이트)를 통해 확인하고 개발해야 한다는 것을 알았다. 나는 API Docs(넥슨 공식 API 목록)에서 HTTP 정보들을 확인할 수 있었다. 요청 정보, Reuqest, 응답 정보, Response Body 등 을 확인하였고 이를 참고하여 개발을 하려고 한다. (당황하지 않고 이해할 수 있게 해준 '김영한'님 감사합니다! (HTTP 글 보기)) 🔍 정보 정리와 프로젝트 설정 얻은 정보중 중요한 부분을 나열해 보자 요청 URL : https://api.nexon.co.kr/fifaonline4/v1.0/users?nickname={nicknam..