8강 Spring Boot 프로젝트 세팅 2 강의를 반복해서 보고 있습니다. 강의에서는 Multi Module 을 생성하기 위하여 Directory 를 생성하고, build.gradle 파일을 생성한 후 코드 입력 settings.gradle 에 Module 정의를 하시고 계십니다. 인텔리제이에서는 프로젝트에 Module 을 추가하기 메뉴가 있습니다. 인텔리제이 에서 프로젝트에 Module 을 추가하면, 강좌파일의 모듈처럼 생성이 되지 않습니다. project/module1, project/module2 이렇게 1단계 모듈만 작성이 가능합니다. 인터넷 검색자료에도 모듈작성이 1단계방식(에를들어 service-article, service-like)으로 되어 있습니다. 계층구조가 강의 내용이 보기 깔끔하여 따라 해보려 하는데 잘 되지 않습니다 디렉토리를 2단계로 작성( project/service/article)하고 build.gradle 파일을 직접 생성하면 "dependecies" 키워드도 자동안성이 되지 않습니다 인텔리제이 버전은 "IntelliJ IDEA 2024.3.3 (Ultimate Edition)", "Build #IU-243.24978.46, built on February 11, 2025" 입니다 인텔리제이가 버전업이 될때마다 메뉴라던가, 기능이 많이 바뀌기는 합니다만. 조금 답답합니다
안녕하세요 강사님 강의 잘 듣고 있습니다. 댓글 무한 depth 강의를 듣고 있는 도중에, 전부터 궁금했던 내용인데 Repository에 extends JpaRepository를 하면 @Repository를 안 붙여도 되는 걸로 알고 있는데 붙이시는 이유가 따로 있으신지 궁금합니다. https://sudo-minz.tistory.com/147 참고했던 블로그 글입니다!
안녕하세요. 성능을 측정해보며 궁금증이 생겨 질문 드립니다. 같은 크기의 데이터에 대해 강사님께서 측정하신 시간이랑(강의에선 약 170ms) 제가 데이터그립으로 측정한 시간(약 80ms)에 꽤 차이가 있는데, 컴퓨터 사양이나 측정 툴에 따라 이 정도 차이가 있어도 무방한건가요?
강사님 안녕하세요. 강의의 테스트 코드도 보고 실무서 테스트 코드 작성시 문득 궁금한 사항이 생겼습니다. 테스트 코드 작성시 단위, 통합, E2E 등 종류도 많고 일정 등 고려해야 될 사항이 많은데 강사님의 테스트 코드 작성 기준이 궁금합니다. 제가 정한 기준은 아래와 같습니다. 단위 테스트 (도메인 폴더 하위 순수 객체) 는 반드시 작성 일정 일정이 급할때 단위 테스트 일정이 여유로울때 단위 테스트 API 테스트 or 통합 테스트 서비스의 핵심 로직 단위 테스트 API 테스트 or 통합 테스트 일정이 급해도 최대한 작성 그리고 다음과 같은 고민도 있습니다. Mockito를 이용한 테스트가 충분히 검증이 될까? 근데 될것 같기도..? XxxFacade 혹은 XxxService에 Mockito를 이용한 테스트의 정확도에 의문을 품었습니다. 그래서 @SpringBootTest를 이용한 통합 테스트 를 작성하였는데 테스트를 위한 데이터 세팅이 너무 귀찮더라구요.(하하하) 그래서 도메인 모델링을 잘하고 단위 테스트를 꼼꼼하게 작성 한다고 쳤을때 Mockiot의 verify를 이용해 의도한 메서드가 호출이 되었는지만 테스트만 해도 괜찮지 않을까? 란 생각이 들었습니다. 회사일도 바쁘실텐데 다음 강의 준비도 하시고 질의응답도 해주셔서 언제나 감사드립니다.
test.php 저장해서 xampp 폴더에 넣고 아파치 실행후 해당 경로로 localhost/test.php 접속해보니 아래와 같이 뜨는데요. 접속이 안되는 이유가 혹시 그누보드 설치를 아직 못해서 그런가요? 그누보드 설치에서 막혀서, php 작동 방식 및 다른 강의부터 보고 있었는데.. 이것도 안되네요. ㅜㅠ 만약 그누보드 설치와 관계가 없다면 왜 접속이 안되는걸까요? 주소창에 localhost/ 접속시 그누보드 설치페이지는 잘 뜨거든요.ㅠㅠ 그리고 그누보드 설치 막혀서 문의를 남기긴했는데, 이곳에서도 남겨보겠습니다. ㅠㅠ 해결좀 부탁드립니다. 강의 영상보고 계정생성 다 똑같이 해놨거든요. 그런데 어떤 오류가 있어서 진행이 안되는지 잘 모르겠네요. 흑
본 강의는 끝까지 잘 따라왔다가 마지막에 실행해보니 error 가 생기며 끝나는데요. 이후 강의가 끝나버려서 문의드리는데요. 어떤 문제일까요? 아, IntelliJ IDEA 사용중에 @EnableFeignClients 입력후 알트 +엔터 누르면 import calss가 안생기던데 왜그럴까요? 한국어 버전을 써서 그런건가요? 한참 헤메다가 어쩌다 노란색으로 처리가 되며 완성은 됐는데, 결과는 에러가 나서..
강의에서 저만 안보이는지 모르겠지만 그누보드 설치 장면이 잘린 거 같습니다... XAMPP에서 ADMIN을 누르면 강제로 저기로 넘어가는데 강의에선 저 장면이 없거든요. 포트번호 수정에서 갑자기 넘어가는거 봐서 그 장면 삽입하시면서 영상이 잘린 게 아닐까 생각이 드네요... 그래서 스스로 설치하고 있는데 이 장면에서 HOST를 localhost:3307로 해도, 127.0.0.1로 해도, 127.0.0.1:3307로 해도 오류가 납니다. 지금 제 컴에서 mysql 실행이 mysql -uroot -p로는 안되고 강제로 TCP/IP 연결 명령어를 추가해야만 되는 상황인데 이 문제와도 연관이 있을까요
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
상단 디렉토리에 nohup.out 은 만들어졌는데 사이트에 접속도 안되고 nohup.out 파일 확인도 조금 이상합니다. [ec2-user@ip-172-31-39-4 ~]$ vi nohup.out [ec2-user@ip-172-31-39-4 ~]$ cat nohup.out Error: Unable to access jarfile library-app_complete/build/libs/library-app-0.0.1-SNAPSHOT.jar [ec2-user@ip-172-31-39-4 ~]$ tail -f nohup.out Error: Unable to access jarfile library-app_complete/build/libs/library-app-0.0.1-SNAPSHOT.jar 이렇게 나옵니다. 혹시 몰라 위에있는 코드들도 첨부합니다. BUILD SUCCESSFUL in 2s 1 actionable task: 1 executed [ec2-user@ip-172-31-39-4 library-app_complete]$ ls README.md build.gradle gradle gradlew gradlew.bat settings.gradle src [ec2-user@ip-172-31-39-4 library-app_complete]$ cd .. [ec2-user@ip-172-31-39-4 ~]$ ls library-app_complete [ec2-user@ip-172-31-39-4 ~]$ ps aux | grep java ec2-user 171942 1.8 34.0 2110252 330692 ? Ssl 06:40 1:07 /usr/lib/jvm/java-17-amazon-corretto.x86_64/bin/java --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED --add-opens java.base/java.nio.charset=ALL-UNNAMED --add-opens java.base/ java.net =ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xms256m -Xmx512m -Dfile.encoding=UTF-8 - Duser.country -Duser.language=en -Duser.variant -cp /home/ec2-user/.gradle/wrapper/dists/gradle-7.5-bin/f1w0cc9nuo0eivz97x2xlu9sv/gradle-7.5/lib/gradle-launcher-7.5.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 7.5 ec2-user 175460 0.0 0.2 222316 2032 pts/0 S+ 07:40 0:00 grep --color=auto java [ec2-user@ip-172-31-39-4 ~]$ ^[[200~ nohup java -jar library-app/build/libs/library-app-0.0.1-SNAPSHOT.jar --spring.profile -bash: $'\E[200~': command not found [ec2-user@ip-172-31-39-4 ~]$ ls library-app_complete [ec2-user@ip-172-31-39-4 ~]$ nohup java -jar library-ap_bbbbbbbbbbu^Cd/libs/library-app-0 .0.1-SNAPSHOT.jar -sspring.profile s.active=dev & [ec2-user@ip-172-31-39-4 ~]$ nohup java -jar library-ap_bpppp/^Cild/libs/library-app-0.0. 1-SNAPSHOT.ja.profile s.active=dev & [ec2-user@ip-172-31-39-4 ~]$ nohu juuupnupoupgup upbuupuuup^Cava -jar library-app_compleat e/build/libs/library-app-0.0.1-.active=dev & [ec2-user@ip-172-31-39-4 ~]$ nohup java -jar library-app_complete/build/libs/library-app-0.1-SNAPSHOT.jar --spring.profiles.active=dev & [1] 175532 [ec2-user@ip-172-31-39-4 ~]$ nohup: ignoring input and appending output to 'nohup.out' [1]+ Exit 1 nohup java -jar library-app_complete/build/libs/library-app-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev [ec2-user@ip-172-31-39-4 ~]$ v1. nohup.out -bash: v1.: command not found [ec2-user@ip-172-31-39-4 ~]$ vi nohup.out [ec2-user@ip-172-31-39-4 ~]$ cat nohup.out Error: Unable to access jarfile library-app_complete/build/libs/library-app-0.0.1-SNAPSHOT.jar [ec2-user@ip-172-31-39-4 ~]$ tail -f nohup.out Error: Unable to access jarfile library-app_complete/build/libs/library-app-0.0.1-SNAPSHOT.jar vi nohup.out 를 했을 때는 E325: ATTENTION Found a swap file by the name ".nohup.out.swp" owned by: ec2-user dated: Mon Feb 24 07:07:21 2025 file name: ~ec2-user/nohup.out modified: YES user name: ec2-user host name: ip-172-31-39-4.ap-northeast-2.compute.i process ID: 173572 While opening file "nohup.out" dated: Mon Feb 24 07:43:35 2025 NEWER than swap file! (1) Another program may be editing the same file. If this is the case, be careful not to end up with two different instances of the same file when making changes. Quit, or continue with caution. (2) An edit session for this file crashed. If this is the case, use ":recover" or "vim -r nohup.out" to recover the changes (see ":help recovery"). If you did this already, delete the swap file ".nohup.out.swp" to avoid this message. Swap file ".nohup.out.swp" already exists! [O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort: 이렇게 나옵니다.
학생들이 문제를 푸는 시스템을 만들고 있는데요. 문제 갯수도 시험마다 다르고, 각 문제마다 학생들이 저장하는 답변도 달라지니까 이게 관리가 어렵더라고요. 정규화로는 좀 어려운거 같은데.. 혹시 이런경우에 JSON 넣어도 되나요? 그리고 찾아보니까 Postgresql에서 JSON을 지원한다고 하는데 이거 써서 개발하는게 맞는 판단인지 궁금합니다. 혼자서 판단할수 있음 좋겠지만 이제 막 개발배워서 해보는거라 이게 맞는지 모르겠어요.
안그리면 혹시 관계같은거 설정하고 나중에 참고할때 문제가 될 수 있나요? 제 기준으론 orm에서 그냥 1:N N:N 1:1 설정해놓으면 이것만 보고도 별 문제가 없긴 한데요. (엔티티 6개 수준이에요) 엔티티가 10개가 넘어가고 관계 설정이 여러개가 진행되도 ERD 없이 진행해도 괜찮나요?
지금 제가 개인적으로 혼자 만들고 있는 프로젝트가 있습니다. 그냥 아이디어만 갖고 시작한건데요. 아래와 같은 순서로 만들고 있습니다. (1) GPT한테 내가 원하는 기능을 설명한다. (2) GPT한테 View 먼저 그려달라고 한다. (3) View는 데이터 바인딩 안하고 그냥 하드코딩한다. (4) View 보고 GPT랑 토의하면서 기능을 기획한다. (5) 완성된 View를 보고 DB 모델링 한다. (보통 엔티티 하나나 두개정도가 됩니다) (6) 백엔드를 붙인다. 이렇게 해서 하나씩 만들어나가고 있는데요. 이거 잘못된 방법이에요? 그냥 그때그때 DB 모델링에 필요한 컬럼이 생긴다고 하면 넣어주고 빼고 하면서 만들고있거든요.