자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
상단 디렉토리에 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: 이렇게 나옵니다.
학습관련 질문을 남겨주세요! 상세히 작성주시면 더 좋아요 🙂 아래 질문이랑 차이가 있습니다. 멀티모듈 extenal에서 kakao-client new 모듈을 만들때 모듈은 생성이 안되고 iml파일과 src폴더만 생성입니다. 이럴 때는 어떻게 해야하나요? 그리고 그림처럼 모듈이 없는데 이미 프로젝트내에서 모듈이 존재한다고 합니다. 시도방법: 캐시삭제 clean 후 build 프로젝트 종료후 재시작 Import Module 추가 settings.gradle에서 아래 글자 추가 하고 멀티모듈 생성했는데 iml 파일 만들어집니다. 아래글자 주석 처리했는데도 똑같은 현상 나옵니다. include 'external:kakao-client' 파일은 메일로 보냈는데 확인 부탁드립니다.
안녕하세요! 섹션2의 1.3 강의를 보며 초기 데이터 설정을 진행하고 있는데 에러가 발생했습니다. npx prisma db push를 실행시켜서 테이블이 생성된 것을 확인하였고 npm run seed를 실행시키니 에러가 발생하게 되었습니다. 구글링해도 잘 모르겠어서 질문드립니다.
멀티모듈 구성 강의에 대해 질문잉 이씁니다. 해당 강의에서 모듈 만들 때 아래처럼 파일 디렉토리가 되어있는데요. search-api ├── src │ ├── main │ │ ├── java │ │ ├── resources │ ├── test ├── build.gradle 제가 만들때는 아래 처럼 됩니다. 저는 왜 선생님 처럼 java로 모듈을 만들면 src 폴더에 아래 파일이 안생기고 lib 폴더만 생기는 이유가 뭘까요? │ ├── java │ │ ├── resources │ ├── test ├── build.gradle 저는 모듈 구성할 때 아래와 같은 창이 나오는데요. 아래에서 grovy를 체크(아래 사진에서 파란색바탕부분임. 아래사진은 안되어있지만 체크함.)했는데 체크 안하고 진행해야 하나요? 참고로 선생님 강의 44초에는 grovy 선택하는 구간이 나와서 저도 체크했어요. 제화면 선생님 화면 참고로 1. IDE에서 자동 생성 옵션 활성화 https://tychejin.tistory.com/340 이링크에 나와있는데로 세팅함. build.gradle을 아래처럼 세팅했습니다. 위 방법 실행 후 ./gradlew clean build 이 명령어 실행 프로젝트를 새로 열기 plugins { id 'java' id 'org.springframework.boot' version '3.3.9' id 'io.spring.dependency-management' version '1.1.7' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } sourceSets { main { java { srcDirs = ['src/main/java'] } resources { srcDirs = ['src/main/resources'] } } test { java { srcDirs = ['src/test/java'] } resources { srcDirs = ['src/test/resources'] } } } 캐시 삭제 후 재 진행 File → Invalidate Caches / Restart 클릭 "Invalidate and Restart" 선택 IntelliJ가 다시 시작되면 Gradle 탭에서 "Reload Gradle Project" 버튼(↻ 아이콘) 클릭 참고로 인텔리제이 2021 얼티미디엇 버전입니다. 위에 파일 아래 메일로 보냈습니다. 혹시 문제점이 있는지 봐주실 수 있으신가요? jaytech108@gmail.com
안녕하세요 선생님. 수업 정말 잘 듣고 있습니다. 이번 문제 조건에 첫번째 줄에 수열의 길이에대한 조건만 있고 k에대한 조건이 없어서 문제의 예시로 나온 수열에서 k에 0을 넣고 코드를 실행 시켜봤는데 정답 코드에서 잘못된 답을 주고 있어서 문의 드립니다. 혹시 k에대한 조건이 1 이상인가요? 아래 입력대로라면 정답은 2가 나와야할 것 같아서 문의 드립니다. 0 0 0 0 1 1 0 1 1 0 1 1 0 1 입력 14 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1 public int solution(int[] input, int length, int k) { int lt = 0; int max = Integer.MIN_VALUE; int cnt = 0; for (int rt = 0; rt < length; rt++) { if (input[rt] == 0) cnt ++; while (cnt > k) { if (input[k] == 0) cnt--; lt ++; } max = Math.max(max, rt - lt + 1); } return max; }
학생들이 문제를 푸는 시스템을 만들고 있는데요. 문제 갯수도 시험마다 다르고, 각 문제마다 학생들이 저장하는 답변도 달라지니까 이게 관리가 어렵더라고요. 정규화로는 좀 어려운거 같은데.. 혹시 이런경우에 JSON 넣어도 되나요? 그리고 찾아보니까 Postgresql에서 JSON을 지원한다고 하는데 이거 써서 개발하는게 맞는 판단인지 궁금합니다. 혼자서 판단할수 있음 좋겠지만 이제 막 개발배워서 해보는거라 이게 맞는지 모르겠어요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. > Task :prepareKotlinBuildScriptModel UP-TO-DATE Could not resolve: org.springframework.boot:spring-boot-starter-thymeleaf Could not resolve: org.springframework.boot:spring-boot-starter-web Could not resolve: org.springframework.boot:spring-boot-starter-test [Incubating] Problems report is available at: file:///C:/hello-spring/build/reports/problems/problems-report.html Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.12.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD SUCCESSFUL in 1s 이러한 오류가 떠ㅏ서 진행을 못하고 있습니다. 2일째 고생중인데 도와주세요
안그리면 혹시 관계같은거 설정하고 나중에 참고할때 문제가 될 수 있나요? 제 기준으론 orm에서 그냥 1:N N:N 1:1 설정해놓으면 이것만 보고도 별 문제가 없긴 한데요. (엔티티 6개 수준이에요) 엔티티가 10개가 넘어가고 관계 설정이 여러개가 진행되도 ERD 없이 진행해도 괜찮나요?
혹시나 아래와 같은 오류가 발생하시는 분들중에 비밀번호도 다 알맞게 설정했는데 오류가 발생하신다면 supabase에 새로운 project를 생성하여 시도 해보시는 것도 좋을 것 같아요! 계속 안 되다가 새로 만들어서 시도했더니 되네요...ㅠㅠ 며칠동안 해결하려고 노력했다가 log보고 그냥 다시 만들어볼까해서 시도해봤는데 해결했습니다..ㅎ 다른 분들이 올려주신 오류와 유사하게 supabase와 연결하는 과정에서 오류가 발생합니다. supabase database log를 확인하였을 때에 error는 확인되지 않고, 비밀번호를 수정해봐도 오류가 바뀌지 않습니다. 비밀번호가 틀릴 경우에도 log에 error는 확인되지 않는걸까요?
지금 제가 개인적으로 혼자 만들고 있는 프로젝트가 있습니다. 그냥 아이디어만 갖고 시작한건데요. 아래와 같은 순서로 만들고 있습니다. (1) GPT한테 내가 원하는 기능을 설명한다. (2) GPT한테 View 먼저 그려달라고 한다. (3) View는 데이터 바인딩 안하고 그냥 하드코딩한다. (4) View 보고 GPT랑 토의하면서 기능을 기획한다. (5) 완성된 View를 보고 DB 모델링 한다. (보통 엔티티 하나나 두개정도가 됩니다) (6) 백엔드를 붙인다. 이렇게 해서 하나씩 만들어나가고 있는데요. 이거 잘못된 방법이에요? 그냥 그때그때 DB 모델링에 필요한 컬럼이 생긴다고 하면 넣어주고 빼고 하면서 만들고있거든요.
안녕하세요. 만 1년된 작은 중소기업에서 일하고 있는 개발자입니다. 강의 잘 듣고 있습니다! 현재 회사에서는 오라클 데이터베이스를 사용하고 있고 최근 스프링부트와 JPA를 사용해서 프로젝트를 시작했고, 낡은 레거시 사업을 영위하는 업체라서 이게 회사의 첫 스프링부트 프로젝트입니다! 나름 새로운 기술스택을 제안했기에 가지는 부담감이 심한데요. 최근에 만든 거의 대부분의 프로젝트들은 단일 DB를 사용하고 있기 때문에 별다른 고민 없이 AutoIncrement를 선택했습니다. 오라클에서도 최신 버전에서는 잘 지원해주고 있고 DB 버전은 높았기 때문에 이에 익숙해서 JPA에서 지원하는 IDENTITY 전략을 사용해서 시스템을 만들었는데요. 현재 ID를 노출해야하는 상황이 생길 경우 이를 그대로 노출하고 있습니다. 다른 PK 전략을 사용하지 않고 보완할 수 있는 방법이 있을까요? 현재 떠오르는것은 외부로 노출할 때 컨트롤러에서 이를 해싱하거나 난수화를 하는 방법을 생각하고 있습니다. 감사합니다!