목록TIL (94)
개발 기록
오전은 그냥 빨리가고 오후는 밥먹고 뭐하려면 3시라서 좀 하다보면 저녁먹고 그럼 하루 다 간다 ajax로 카테고리를 구현하려면 전에 했던 데이터필터 그걸로는 안되고 특정 카테고리 선택 시 선택된 값을 서버에 보내 그 값에 맞는 데이터를 받아와서 페이지에 붙여야된다. -메인 페이지에 카테고리 html
이번주에는 3차 프로젝트 설계하고 기본적인 crud 기능 구현을 했다. 플라스크로 할때는 몽고디비로 해서 컬렉션별로 어떤 칼럼있는지 그런것만 설계했는데 스프링때는 db, 엔티티 설계해야해서 새로웠다. 테이블끼리 연관관계가 이해가 잘 안되서 어려웠다. pk,fk 이런게 좀 생소했다. -pk는 기본키로 테이블에서 각 행을 고유하게 식별하는 역할을 한다. 중복x -fk는 외래키로 테이블 간의 관계를 의미한다. 두 테이블 간의 종속이 필요한 관계이면 그 접점이 되는 칼럼을 fk로 지정하여 서로 참조할 수 있도록 관계를 맺어준다. ++ 일대일관계에서는 주 테이블과 대상 테이블 중에 외래 키를 넣을 테이블을 선택 가능하다. 강의주간에 배운 거 보다 어려워서 처음에 막힐때가 많았는데 팀원분들이 알려주셔서 기능 구현은..
-챌린지 참여인원수를 가져 올 때 인증 목록에서 유저아이디 기준으로 중복제거해서 리스트 길이를 가져왔다 찾아보니 대부분 문자열을 요소로 갖는 리스트 중복제거가 많아서 복잡했지만 내가 찾던 블로그 발견 ㅎ [JAVA] Java object 중복 제거 [JAVA] Java Object List 중복제거 Java Object List 중복제거 Github 소스 Java8 이상의 Collections에는 Stream API 사용 시 distinct라는 중복 제거 메소드가 있다. Stream API의 distinct 메소드는 Object 의 equals 로 비교하므로 객체 자체가.. sunghs.tistory.com Util 클래스를 따로 만들어서 간단하게 처리 성공 ㅎㅎ 함수가 어려워서 하나하나가 뭔지는 자세히..
오늘 한 것 ! -챌린지 조회 -인증 생성, 조회, 삭제 controller 에는 엔티티 클래스가 바로 리턴 되면 안된다. Dto를 사용해야함. 심지어 DTO안에서도 DTO로 한번 감싸고 넣어줘야 한다.!?! 머리아퍼 한번 dto를 안 썼을때 생기는 문제를 직접 겪어보고 싶다. 왜이렇게 하는지 이론 적으로는 이해했는데 와닿지는 않는다. 내가 멍청하게 생각 못 했던 것 List certifications = challenge.getCertifications(); for (Certification certification : certifications) { CertificationResponseDto responseDto = new CertificationResponseDto(certification); t..
스프링 너무 어렵다. 플라스크할때는 그냥 한 파일에 뭐 불러오고 하면 됐었는데 스프링은 컨트롤러랑 서비스랑 어쩌구저쩌구 만들어야될게 너무 많다. ㅠㅠ 오늘 내가 하려고 한 기능이 어려운 거라고는 하지만 너무 처음부터 막힌 기분이 들어서 안 좋았다 s3 업로드 참고 블로그 https://devlog-wjdrbs96.tistory.com/323 [Spring] Spring Boot AWS S3 사진 업로드 하는 법 Spring Boot S3 File Upload 하는 법 이번 글에서는 Spring Boot 로 AWS S3 로 File Upload 하는 법에 대해서 정리해보겠습니다. 먼저 AWS S3 Bucket 생성을 하겠습니다. AWS S3 Bucket 생성 그리고 권한 탭을 들.. devlog-wjdrb..
스프링 CRUD를 연습해보다가 서비스코드에 트랜잭셔널 어노테이션이 왜 붙는지 몰라서 찾아봤다. 트랜잭션은 ! 단일 작업 단위로 취급되는 시리즈 조치라고 한다 번역된 걸 봐서 어색한 단어이긴한데 블로그에서 쉬운 말로 보면 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야 하는 연산들. 아무튼 그래서 단일 트랜잭션에는 여러 작업이 있지만 그룹으로 모두 실패하거나 그룹으로 다 완료되어야 한다. 그림으로 보면 티켓을 사고 좌석 예매하는 이 두개의 단일 작업이 둘 중에 하나만 되는 것이 아니라 둘다 완료되야 커밋되어 db에 저장된다는 것 같다. 예약 트랜잭션이라고 한다면 두 단계가 단일 작업 단위로 수행되고 둘다 완전히 완료 되거나 그룹이 롤백될 떄 실패하도록 해야 한다. (++ 롤백은 데이터베이스에서 ..
도커와 쿠버네티스는 아직 나에게는 너무 먼 내용이다.. 수업시간때 나름 집중해서 들었지만 그때만 조금 이해가고 기본적인 개념이해가 부족하니 바로 날아가버리는 그런.. 내용들 그래도 아예 뭔지도 몰랐던 것들을 크게나마 알게 된 것에 의미를.. 다음주 부터 3차 프로젝트 본격적으로 시작이다. 1,2차때랑 달리 많은 걱정과 기대감이 든다. 플라스크로는 어찌저찌 그냥 한 것 같은데 스프링은 뭔가 내 머릿속에 하나도 잡혀있지 않다는 느낌이 들어서 팀내 역할을 잘 못 할까봐 걱정된다. 지금까지 어떻게 했는지 잘 모르겠다. 그래도 개발 과정은 항상 생각보다 오래 걸렸지만 조금씩 만들어지는게 재미었으니까 이번에도 재밌을 것 같다. 이번엔 뭔가 진짜로 잘해야 될 것같은 느낌.. 만이 아니고 잘 해야 되니까 막막하지만 열..
*controller에서 특정 html로 이동이 계속 안 됐다 ㅠㅠ 답지 보고 해결 @GetMapping("/articles/{id}") public String readArticle() { return "view"; } return 시에 view 파일을 못 읽고 Cannot resolve MVC view 'view' 가 계속 떴다. -application.properties 에 해당 코드 추가 spring.thymeleaf.prefix=classpath:/static/ -dependencies 에 추가 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 근데..! 프론트엔드 분리할면 타임리프 쓰면 안 된다고 했는데 모징?! *..