팀프로젝트일기(12)
-
SchoolPicks - Weekly Demo Feedback 1
사건의 발단 오늘 교내 캡스톤디자인프로젝트에서 프로젝트를 기획했고 발표를 했었는데 실제 서비스의 운영적인 측면과 필요성에 관한 끊임없는 지적이 들어왔었다. 그래서 팀원들과 논의를 해본 뒤에 스스로 고민을 해보았다. 그 결과! 에브리타임에서 메뉴 추천과 관련된 웹 서비스를 제작하신 분이 있는데 해당 게시글이 굉장히 주목을 받은 것을 보고 그러면 처음에 필요성과 유인책에 관해서 고민을 해보라고 했으니까. 우리도 저런 서비스를 간단하게 만들어서 임시로 웹에 올려놓고 반응을 한 번 봐보자는 생각이 들었다. 그런데 비슷한 류의 서비스를 올리는데 함부로 올릴 수는 없기 때문에 해당 서비스를 제작하신 분에게 연락을 드렸고 정말 고맙게도 된다는 허락과 함께 본인이 서비스를 운영하는 동안의 결과를 답장으로 주셨다. 아랫..
2023.10.06 -
SKKUNION - Autowired, Component 설정
Component 스프링을 배우다보니까 굉장히 여러 방식으로 의존성 주입을 해주는 경우가 많더라고요. 공부하다보니까 왜 그런 모양으로 주입을 하는지에 대해서 제 나름대로의 낮은 수준의 이해이지만 이때까지 배운 내용을 기초로 말씀을 드리겠습니다. 우선 어디서부터 말씀을 드려야 될 지 되게 난감하긴 해요. 저도 정확하게 모르고 내용이 한도 끝도 없거든요. 일단 Java라는 언어의 특징부터 생각을 해보시면 될 것 같아요. 자바는 자신이 만든 class함수를 인스턴스라는 형태로 실제 사용 가능한 형태로 만들어요. 그리고 해당 인스턴스가 더이상 쓸모없어졌다고 판단했을 때에 다른 c같은 언어면 free를 통해서 메모리를 할당을 해제를 프로그래머가 직접 진행을 했을 텐데 자바는 JVM의 데몬쓰레드 중 하나인 Garb..
2023.09.30 -
SKKUNION - 일반 프로젝트 생성 시 작동이 안되는 이유
우선 깃허브는 어차피 중요한 key도 없으니 그냥 public으로 열어놨는데 절대로 key있는 상태로 커밋하지 말아주세요... 아마 제 생각에는 root 계정 비밀번호를 모르시는 것 같습니다. 우선 MySQL installer에 들어가셔서 reconfiguration에 들어가신 후 아래의 사항을 확인해보시겠어요? 프로젝트 clone으로 다운로드 받아서 해당 칸에서 root계정의 비밀번호를 입력하고 작성했고 Database 이름도 제대로 하시고 apply configuration까지 간 다음에 해당 서버를 키신 후에도 들어가서 안되는거라면 설정 부분을 저한테 다시 보여주셔야 될 것 같아요. 이 부분은 같이 보고 다시 해봅시다. 전 해당 과정 비밀번호를 넘기니까 잘 되더라고요. 안된다면... 아래 방법을 한..
2023.09.30 -
SKKUNION - Service, Controller API 형태로 개발하기(미완성)
Service 개발 Service는 이제 실제로 로그인 구현이 돌아가는 장소입니다. 일단 회원가입 관련 로직으로 지난번에 아래 이미지에 나온 JSON 타입으로 데이터를 넘겨주기로 했었어요. 그래서 이걸 파싱하고 저장하는 데이터 타입 클래스로 SignUpDto를 생성했고요. @Data @AllArgsConstructor @NoArgsConstructor public class SignUpDto { private String userEmail; private String userPassword; private String userName; private String userPhoneNumber; } 이제 Service에서 SignUp 부분을 만들어봅시다. 아래 코드에서 @Autowired는 스프링 빈, 컨테..
2023.09.24 -
SKKUNION - User Entity 및 Repository 설계
Entity 설계 Postman에 올려주신 메서드 요청을 보니까, 모든 컬럼 값을 정리해보니 Entity를 아래처럼 설계하면 될 것 같더라고요. 그래서 UserEntity라는 Entity를 다음과 같이 생성했습니다. 아래 주석으로 각각의 어노테이션의 의미와 제가 왜 Id라는 컬럼을 만들었는지 DB에는 어떻게 연결되는지 나와있어요! - JPA에서 getter, setter, constructor는 생성이 필수입니다. 사실 setter는 열면 안된다고 하는데, 저도 아직은 이유를 정확하게 경험해본 적이 없어서 일단 개발 편의상 열어놓을게요. @Data @Builder @Entity @AllArgsConstructor // constructor 생성 @NoArgsConstructor // getter, set..
2023.09.23 -
Spring 프로젝트(SKKUNION) 폴더 생성하기 및 이유
스프링의 작업 방식 스프링의 Layered Architecture이라고 불리는 부분인데 스프링은 Controller, Service, Repository 3개로 나뉘어져있습니다. 그리고 추가적으로 Entity, Dto가 있고 이 외에 Security, filter, Config, Exception 이런 게 있는데 이 부분은 자세한 설명을 제외하고 나머지 5개의 각각의 역할에 대해서 우선 이유를 말씀드릴게요. Entity 대부분 작업을 시작하면 Entity부터 작업을 하는 게 우선이라, Entity부터 말씀드릴게요. Entity는 DB의 Table을 Java 객체로 표현한 부분이라고 생각을 하시면 돼요. 그래서 DB Table과 거의 동일하게 설계가 됩니다. 그런데 문제점이 몇 개가 있어요. 우선 Java..
2023.09.23