묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
싱글톤을 사용하면서 DIP를 만족하는 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 항상 좋은 강의를 제공해주셔서 감사합니다.다름이 아니라 한가지 질문이 있는데요.getInstance()를 구현하지 않고 AppConfig.class를 아래와 같이 짠다면 싱글톤이면서 DIP를 만족한다고 할 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행시 최상단 폴더
인텔리제이가 익숙하지가 않아서 실행시에 궁금한점이 있어서요.강의에서는 왼쪽 실행시 로그에 최상단 폴더 Test Results부터 실행이 되는데, 저는 메인에서도 그렇고 test코드에서도 실행을 시키면 크 클래스가 로그의 최상단폴더가 됩니다. 강의처럼 최상단 폴더부터 보려면 어떻게 해야되는지 궁금합니다.드라이브 링크 공유하겠습니다.https://drive.google.com/file/d/1L8ERakx6jM2ZK_L4P3OaxtrLN5GUj2SZ/view?usp=share_link
-
미해결PHP 개발자의 최종 테크트리, 라라벨 강의
서비스 프로바이더 질문
안녕하세요? 서비스 프로바이더만드는 중 궁금함이 생겨서 문의드립니다.아래 사진처럼 주석을 걸고 돌려도 잘 나오는데 그럼 굳이 Aprovider를 등록 안하고 Aprovider-BaseController 연결 코드만 해도 되는게 정상인건가요?의존성 때문에 쓰는거라고 이해 했는데 맞는건지 궁금합니다~!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
toString() 만 사용해도 프록시객체가 초기화되는 것이 맞나요?
일전에, 지연로딩 을 사용하면 객체의 참조를 얻을 때가 아닌, 실제 필드(메서드 포함) 에 접근할 때 프록시 객체가 진짜 객체로 초기화 되는 것으로 이해했습니다.그런데 아래와 같이 코드를 짜고 실행해보니, 객체의 참조를 얻을 때 쿼리가 나가는 것 처럼 보이더라고요.// 팀 Team teamA = new Team(); teamA.setName("팀A"); em.persist(teamA); Team teamB = new Team(); teamB.setName("팀B"); em.persist(teamB); // 회원: member1, 2 는 팀A 소속. member3은 팀B 소속 Member member1 = new Member(); member1.setUsername("회원1"); member1.setTeam(teamA); em.persist(member1); Member member2 = new Member(); member2.setUsername("회원2"); member2.setTeam(teamA); em.persist(member2); Member member3 = new Member(); member3.setUsername("회원3"); member3.setTeam(teamB); em.persist(member3); em.flush(); em.clear(); // Query String query = "select m from Member m"; List<Member> findMembers = em.createQuery(query, Member.class) .getResultList(); for (Member member : findMembers) { System.out.println("member = " + member.getUsername() + ", " + member.getTeam()); } tx.commit(); (나간 쿼리)Hibernate: /* select m from Member m */ select member0_.MEMBER_ID as MEMBER_I1_7_, member0_.createdBy as createdB2_7_, member0_.createdDate as createdD3_7_, member0_.lastModifiedBy as lastModi4_7_, member0_.lastModifiedDate as lastModi5_7_, member0_.COMPANY_CITY as COMPANY_6_7_, member0_.COMPANY_STREET as COMPANY_7_7_, member0_.COMPANY_ZIPCODE as COMPANY_8_7_, member0_.city as city9_7_, member0_.street as street10_7_, member0_.zipcode as zipcode11_7_, member0_.LOCKER_ID as LOCKER_15_7_, member0_.TEAM_ID as TEAM_ID16_7_, member0_.USERNAME as USERNAM12_7_, member0_.endDate as endDate13_7_, member0_.startDate as startDa14_7_ from Member member0_ Hibernate: select team0_.TEAM_ID as TEAM_ID1_10_0_, team0_.createdBy as createdB2_10_0_, team0_.createdDate as createdD3_10_0_, team0_.lastModifiedBy as lastModi4_10_0_, team0_.lastModifiedDate as lastModi5_10_0_, team0_.name as name6_10_0_ from Team team0_ where team0_.TEAM_ID=? member = 회원1, hellojpa.domain.Team@26ae880a member = 회원2, hellojpa.domain.Team@26ae880a Hibernate: select team0_.TEAM_ID as TEAM_ID1_10_0_, team0_.createdBy as createdB2_10_0_, team0_.createdDate as createdD3_10_0_, team0_.lastModifiedBy as lastModi4_10_0_, team0_.lastModifiedDate as lastModi5_10_0_, team0_.name as name6_10_0_ from Team team0_ where team0_.TEAM_ID=? member = 회원3, hellojpa.domain.Team@6bd16207 저는 위 코드 중 System.out.println 과정 중 프록시 객체가 초기화가 되어서 위같은 쿼리가 나왔다고 생각하는데 제 판단의 근거가 맞는지 궁금합니다.System.out.println("member = " + member.getUsername() + ", " + member.getTeam());System.out.println 을 사용하면 자동으로 객체.toString() 이 호출되고, 따라서 필드(메서드)에 접근 했으므로 이 시점에 프록시 객체가 엔티티로 초기화 되었다. 위 처럼 이해하는게 맞을까요? 항상 애써주시는 영한님과 서포터님들께 감사드립니다!!
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
크롤링 질문드립니다.
html 태그로 크롤링을 하는 중입니다.<img height="6" width="7" alt="상승" src="https://ssl.pstatic.net/static/nfinance/ico_up.gif">위 태그에서 alt="상승" 이라는 부분을크롤링하고 싶은데 혹시 어떻게 하면 좋을까요?
-
미해결따라하며 배우는 MySQL on Docker
도와주세요!!!
안녕하세요 선생님 맥으로 계속 하다가 안되겠다 싶어서 다시 맨앞에와서 선생님과 같은 ec2환경으로 수업을 들으려고 하고 있습니다 현재 ec2 Amazon Linux 2023 AMI 로 인스턴스를 생성하였고yum install -y yum-utils 를 하고 난 뒤yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 이 명령어를 실행하면위와 같은 에러가 계속해서 발생합니다 그리고 도커스웜 service 파트 강의에서도 선생님이 보여주신 percona 파일 3개를 똑같이 명령어에 넣어 실행시켜보았지만 계속해서 라이브러리가 없다는 에러만 발생하고있습니다 어떻게 해야할지 모르겠습니다이건 mysql 설치시 나타나는 오류긴 하지만 percona 도 마찬가지로 이렇게 계속 오류가나고 mysql 도 마찬가지로 계속이러한 오류들만 발생하고 있습니다 이곳 저곳 찾아보면서 방법들을 시도해보았지만 이틀째 하루종일 해결하지 못하고있습니다ㅜ 도와주세요 !! 앗 해결했습니다 ec2 운영체제를 amazon linux2 ami 로 변경하니 되었습니다 하지만 여전히 docker-ce 는 설치가 되지않고 percona도 client파일이 몇개의 lib가 없다고 하면서 설치되지 않아서 다른 mysql을 받아서 진행하였습니다!!!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
[ODM-MongoDB접속] post요청 후 몽고DB에서 조회가 안됩니다.
postman에서 post요청 후 get으로 확인했을 때 잘 받아와집니다. MongoDB Compass에 localhost:27017로 연결해서 refresh해도 mydocker DB가 조회가 안됩니다. docker - mongodb가 연결이 잘 안된건지 어렵습니다.. 어떻게 확인할 수 있을까요?import express from 'express' import { checkValidationPhone, getToken, sendTokenToSMS } from './phone.js'; import swaggerUi from 'swagger-ui-express' import swaggerJSDoc from 'swagger-jsdoc' import { options } from './swagger/config.js' import cors from 'cors' import { checkValidationEmail, getWelcomeTemplate, sendWelcomeTemplateToEmail } from './email.js'; import mongoose from 'mongoose' import { Board } from './models/board.model.js' const app = express() app.use(cors()) app.use(express.json()); app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerJSDoc(options))); app.get('/boards', async (req, res) => { // const result = [ // { // number: 1, // writer: '철수', // title: '제목입니다~~~', // contents: '내용이에요@@@', // }, // { // number: 2, // writer: '영희', // title: '영희 제목입니다~~~', // contents: '영희 내용이에요@@@', // }, // { // number: 3, // writer: '훈이', // title: '훈이 제목입니다~~~', // contents: '훈이 내용이에요@@@' // }, // ]; const result = await Board.find() //DB접속해서 가져오는 내용 위랑동일 res.send(result) }) app.post('/boards', async (req, res) => { console.log(req.body); // 1. 데이터를 등록하는 로직 => DB에 접속해서 데이터 저장하기 const board = new Board({ writer: req.body.writer, title: req.body.title, contents: req.body.contents, }); await board.save(); //원래는 SQL문법을 써야하지만 mongoose가 자동으로 변환해줌.(ORM, ODM) // 2. 저장 결과 응답 주기 res.send("게시물 등록에 성공하였습니다."); }); app.post('/tokens/phone', (req, res) => { const myphone = req.body.myphone; const isValid = checkValidationPhone(myphone); if (isValid) { const mytoken = getToken(); sendTokenToSMS(myphone, mytoken); res.send('인증완료!!!'); } }); app.post("/users", (req, res) => { const user = req.body.myuser const isValid = checkValidationEmail(user.email) if(isValid){ const mytemplate = getWelcomeTemplate(user) sendWelcomeTemplateToEmail(user.email, mytemplate) res.send("가입완료!") } }) //몽고DB 접속 mongoose.connect("mongodb://my-database:27017/mydocker") // localhost로 접속하게되면 express 도커안에서의 localhost이기때문에 dockercompose로 묶인 my-database-1 컴퓨터로 들어가야함. // 단, dockercompose로 묶어뒀기 때문에 이름만 입력해서 진입가능(네임리졸루션). // Backend API 서버 오픈 app.listen(3000, () => console.log(`exemple app listening on port ${3000}`))
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
item들의 간격이 너무 크게 나옵니다
이렇게 너무 아이템들이 각각 크게 나오는데 이런경우는 뭐가 문제일까요? <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rv" android:layout_height="match_parent" android:layout_width="match_parent" /> </androidx.constraintlayout.widget.ConstraintLayout>위의 코드는 activitymain의 layout입니다
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
엑셀에 데이터 크롤링 하면서 중간에 새로운 열 추가
선생님 안녕하세요좋은 강의 감사드립니다. 이전에 여쭤보았던 질문 중에 해결안된 것이 있어서 추가 질문드립니다. 아래의 예시와 같이 "중간에" 계속 열을 추가해야 하는 상황인데, 강의에서 나온 방식대로만 하면 "고정된" 열에만 추가할 수 있어서, 기존에 추가했던 데이터가 "밀리지 않는" 현상이 발생하더라고요. 혹시 해결할 수 있는 방법이 있을까요? 기존 데이터 그 이후에, 정보를 추가할 일이 있어서, 아래와 같이 B열에 새로운 열을 추가했다고 가정하면요또 그 이후에, 중간에 새로운 열 하나를 더 추가할 수도 있고요그러면, 원래 B열에 PER를 크롤링 하기로 되어있는데, D열로 크롤링 하도록 코드를 바꿔야 하는데, 코드를 안바꾸고 열이 밀린것처럼 코드도 자동으로 D열로 밀려서 크롤링 하도록 처음부터 설정할 수 있는 방법이 있을까요?
-
미해결팀 개발을 위한 Git, GitHub 입문
소스트리 history에 대해서 질문 드립니다.
"GUI add, commit, push, pull 하기" 강의 보다가 질문 드립니다.소스트리를 이용해Boxiting-cat 폴더의 index.html과 README.md의 내용을 변경하고 "고양이 커밋2"라는 메세지로 커밋해 push 했습니다.이후 소스트리에서Boxiting-oct 폴더를 열었는데 history에 Boxiting-cat 폴더에서 push한 내용이 없습니다.[origin/mater origin/HEAD 고양이 커밋2] 이 표시되지 않고[Master origin/master origin/HEAD 문어의 커밋] 만 나옵니다.어떻게 해야 하나요?
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
레디큐와 blocking/unblocking
레디큐에서 cpu 코어 개수만큼 실행된다고 했을때, 예를 들어 8개의 process가 실행된다고 했을때 unblocking 상태라고 하면, 1개의 process에서 입출력 요청이 일어난다면 모든 process가 '대기 상태'가 되나요?
-
미해결스프링 부트 - 핵심 원리와 활용
서블릿 컨테이너 초기화 2 강의 듣는 중..
다음과 같은 에러가 발생합니다."C:\Program Files\Java\jdk-17\bin\java.exe" -javaagent:C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\223.8836.41\lib\idea_rt.jar=58224:C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\223.8836.41\bin -Dfile.encoding=x-windows-949 -classpath C:\tool\tomcat-runner\tomcat-runner\bin\bootstrap.jar;C:\tool\tomcat-runner\tomcat-runner\bin\commons-daemon.jar;C:\tool\tomcat-runner\tomcat-runner\bin\tomcat-juli.jar;C:\tool\tomcat-runner\tomcat-runner\lib\annotations-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina-ant.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina-ha.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina-ssi.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina-storeconfig.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina-tribes.jar;C:\tool\tomcat-runner\tomcat-runner\lib\catalina.jar;C:\tool\tomcat-runner\tomcat-runner\lib\ecj-4.26.jar;C:\tool\tomcat-runner\tomcat-runner\lib\el-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\jakartaee-migration-1.0.6-shaded.jar;C:\tool\tomcat-runner\tomcat-runner\lib\jasper-el.jar;C:\tool\tomcat-runner\tomcat-runner\lib\jasper.jar;C:\tool\tomcat-runner\tomcat-runner\lib\jaspic-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\jsp-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\servlet-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-coyote.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-dbcp.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-cs.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-de.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-es.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-fr.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-ja.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-ko.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-pt-BR.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-ru.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-i18n-zh-CN.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-jdbc.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-jni.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-util-scan.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-util.jar;C:\tool\tomcat-runner\tomcat-runner\lib\tomcat-websocket.jar;C:\tool\tomcat-runner\tomcat-runner\lib\websocket-api.jar;C:\tool\tomcat-runner\tomcat-runner\lib\websocket-client-api.jar org.apache.catalina.startup.Bootstrap start3월 19, 2023 5:15:29 오후 org.apache.catalina.core.StandardContext setPathWARNING: 컨텍스트 경로는 반드시 빈 문자열이거나, 또는 '/'로 시작하고 '/'로 끝나지 않는 문자열이어야 합니다. 해당 경로 [/]은(는) 이 조건을 충족시키지 않아 [](으)로 변경되었습니다.3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 서버 버전 이름: Apache Tomcat/10.1.73월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: Server 빌드 시각: Feb 27 2023 20:25:27 UTC3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: Server 버전 번호: 10.1.7.03월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 운영체제 이름: Windows 113월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 운영체제 버전: 10.03월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 아키텍처: amd643월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 자바 홈: C:\Program Files\Java\jdk-173월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: JVM 버전: 17.0.6+9-LTS-1903월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: JVM 벤더: Oracle Corporation3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: CATALINA_BASE: C:\tool\tomcat-runner\tomcat-runner3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: CATALINA_HOME: C:\tool\tomcat-runner\tomcat-runner3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 명령 행 아규먼트: -javaagent:C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\223.8836.41\lib\idea_rt.jar=58224:C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\223.8836.41\bin3월 19, 2023 5:15:29 오후 org.apache.catalina.startup.VersionLoggerListener logINFO: 명령 행 아규먼트: -Dfile.encoding=x-windows-9493월 19, 2023 5:15:29 오후 org.apache.catalina.core.AprLifecycleListener lifecycleEventINFO: 프로덕션 환경들에서 최적의 성능을 제공하는, APR 기반 Apache Tomcat Native 라이브러리가, 다음 java.library.path에서 발견되지 않습니다: [C:\Program Files\Java\jdk-17\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Common Files\Oracle\Java\javapath;C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\Program Files (x86)\NAT Service;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Tools\jdk-16.0.1\bin;C:\Program Files\Git\cmd;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;C:\Users\Administrator\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\scripts;.]3월 19, 2023 5:15:30 오후 org.apache.coyote.AbstractProtocol initINFO: 프로토콜 핸들러 ["http-nio-8080"]을(를) 초기화합니다.3월 19, 2023 5:15:30 오후 org.apache.catalina.startup.Catalina loadINFO: [366] 밀리초 내에 서버가 초기화되었습니다.3월 19, 2023 5:15:30 오후 org.apache.catalina.core.StandardService startInternalINFO: 서비스 [Catalina]을(를) 시작합니다.3월 19, 2023 5:15:30 오후 org.apache.catalina.core.StandardEngine startInternalINFO: 서버 엔진을 시작합니다: [Apache Tomcat/10.1.7]3월 19, 2023 5:15:30 오후 org.apache.jasper.servlet.TldScanner scanJarsINFO: 적어도 하나의 JAR가 TLD들을 찾기 위해 스캔되었으나 아무 것도 찾지 못했습니다. 스캔했으나 TLD가 없는 JAR들의 전체 목록을 보시려면, 로그 레벨을 디버그 레벨로 설정하십시오. 스캔 과정에서 불필요한 JAR들을 건너뛰면, 시스템 시작 시간과 JSP 컴파일 시간을 단축시킬 수 있습니다.MyContainerInitV1.onStartupMyContainerInitV1 c = nullMyContainerInitV1 ctx = org.apache.catalina.core.ApplicationContextFacade@4c5474f5MyContainerInitV2.onStartupMyContainerInitV2 c = [class hello.container.AppInitV1Servlet, class hello.container.AppInitServlet]MyContainerInitV2 ctx = org.apache.catalina.core.ApplicationContextFacade@4c5474f5AppInitServlet.onStartupAppInitServlet.onStartup3월 19, 2023 5:15:30 오후 org.apache.catalina.core.ContainerBase startInternalSEVERE: 자식 컨테이너를 시작 중 실패했습니다.java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:795) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)Caused by: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) ... 21 moreCaused by: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:26) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4875) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 moreCaused by: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.AppInitServlet.onStartup(AppInitServlet.java:15) at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:24) ... 29 more3월 19, 2023 5:15:30 오후 org.apache.catalina.core.ContainerBase startInternalSEVERE: 자식 컨테이너를 시작 중 실패했습니다.java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:795) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)Caused by: org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:890) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) ... 13 moreCaused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878) ... 21 moreCaused by: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) ... 21 moreCaused by: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:26) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4875) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 moreCaused by: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.AppInitServlet.onStartup(AppInitServlet.java:15) at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:24) ... 29 more3월 19, 2023 5:15:30 오후 org.apache.catalina.startup.Catalina startSEVERE: 필수 항목인 서버 구성요소가 제대로 시작되지 못하여, Tomcat이 시작될 수 없습니다.org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:890) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:241) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:913) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Catalina.start(Catalina.java:795) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478)Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878) ... 13 moreCaused by: org.apache.catalina.LifecycleException: 자식 컨테이너를 시작 중 실패했습니다. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:890) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:846) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) ... 13 moreCaused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:878) ... 21 moreCaused by: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]을(를) 시작하지 못했습니다. at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) ... 21 moreCaused by: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:26) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4875) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 moreCaused by: java.lang.NullPointerException: Cannot invoke "jakarta.servlet.ServletRegistration$Dynamic.addMapping(String[])" because "helloServlet" is null at hello.container.AppInitServlet.onStartup(AppInitServlet.java:15) at hello.container.MyContainerInitV2.onStartup(MyContainerInitV2.java:24) ... 29 more3월 19, 2023 5:15:30 오후 org.apache.coyote.AbstractProtocol pauseINFO: 프로토콜 핸들러 ["http-nio-8080"]을(를) 일시 정지 중3월 19, 2023 5:15:30 오후 org.apache.catalina.core.StandardService stopInternalINFO: 서비스 [Catalina]을(를) 중지시킵니다.3월 19, 2023 5:15:30 오후 org.apache.coyote.AbstractProtocol destroyINFO: 프로토콜 핸들러 ["http-nio-8080"]을(를) 소멸시킵니다.3월 19, 2023 5:15:30 오후 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesObjectStreamClassCachesWARNING: Java 9 또는 이후 버전을 사용할 때에는, "--add-opens=java.base/java.io=ALL-UNNAMED" 을(를) JVM 명령행 아규먼트들에 추가해서, ObjectStream 캐시 메모리 릭 방지 옵션을 활성화할 필요가 있습니다. 또는 원하시는 경우, ObjectStream 클래스 캐시 메모리 릭 방지 옵션을 비활성화해서 이 경고 메시지를 없앨 수도 있습니다.3월 19, 2023 5:15:30 오후 org.apache.catalina.loader.WebappClassLoaderBase checkThreadLocalsForLeaksWARNING: ThreadLocal 메모리 누수 탐지를 위해서는 "--add-opens=java.base/java.lang=ALL-UNNAMED" 자바 명령 행 아규먼트를 추가하십시오. 또는 이 경고 메시지를 없애고 싶다면 ThreadLocal 메모리 누수 탐지 옵션을 비활성화 시키십시오.3월 19, 2023 5:15:30 오후 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesRmiTargetsWARNING: Java 9에서 실행하면서 RMI Target 메모리 누수 탐지를 사용 가능하게 하려면, "--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"를 JVM 명령 행 아규먼트에 추가해야 합니다. 또는, RMI Target 메모리 누수 탐지를 사용불능 상태로 설정함으로써, 이 경고를 없앨 수도 있습니다.Process finished with exit code 0
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
@ModelAttribute 사용시 @Valid
@RequestBody @Valid 사용시에 오류가 발생하면ControllerAdvice @ExceptionHandler(MethodArgumentNotValidException.class)로 잡을 수 있었습니다.하지만 @ModelAttribute를 사용하면ControllerAdvice @ExceptionHandler(MethodArgumentNotValidException.class)로 잡히지가 않습니다..제가 잘못한 부분이 있을까요?/author/presentation/AuthorControllergetAuthorListByNickname에서 오류가 잡을 수가 없습니다.ControllerAdvice는/global/error/ControllerAdvice에 있습니다.감사합니다~https://github.com/320Hwany/Webtoon
-
미해결C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
왜 이 책에서는 Time.deltaTime을 쓰지 않았는지?
예를 들어 이동 관련해서 책에서는 AddForce 메소드를 많이 사용했는데, 왜 Time.deltaTime을 같이 사용해주시지 않으셨는지 궁금해서 여쭤봅니다.
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
GATEWAY-SERVICE 를 통하여 호출하지 않는 이유가 있을까요?
마이크로 서비스 사용간 (RestTemplate 혹은 Feign) 에서 Eureka 의 서비스 명으로 USER-SERVICE 같은 마이크로 서비스명을 통하여 직접 호출하면 결론적으로는 GATEWAY-SERVICE 를 통하여 사용했을때의 장점을 잃어버리는 것 같은데, 섹션 10 에서는 게이트웨이를 통하지 않고 직접 서비스를 호출하는 이유가 있을까요?
-
해결됨냉동코더의 알기 쉬운 Modern Android Development 입문
ViewModel 생성시 왜 초기값을 받지 않도록 했을까요?
구글은 왜 ViewModel 생성시 초기값을 ViewModel 생성자로부터 받지않고ViewModelProvider , Factory 를 이용해서 ViewModel 을 생성하나요?!OOP 개념과 관련되어있을것같은데 여쭤봅니다..!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
left join 시 on 부분 질문있습니다
JPQL:SELECT m FROM Member m LEFT JOIN m.team t on t.name = 'A'SQL:SELECT m.* FROM Member m LEFT JOIN Team t ON m.TEAM_ID=t.id and t.name='A' 이와 같은 부분에서 left outer join 시 SQL에ON m.TEAM_ID=t.id이 부분은 왜 자동으로 추가가 되는 것인지 궁금합니다. inner join의 경우에는 조인 조건에 동일한 값을 가진 행을 결과에 표기하는 것이니 해당 부분이 추가되는 것이 이해가 가는데left outer join의 경우 m.TEAM_ID=t.id 이 성립하지 않는, m에만 값이 존재하는 부분까지 포함해서 왼쪽 테이블의 전부가 결과에 표기되는 방식이 아닌가요? 그냥 단순히 'm의 TEAM_ID 와 t의 id가 연관관계를 이룬다' 는 의미라고 이해하면 되는 부분일까요? 그리고 left outer join 시 on 절에 필터링 조건을 추가해도 left outer join 특성상 필터링으로 걸러진 행까지 다시 포함되서 결과가 반환되는데 무슨 의미가 있는지 잘 이해가 가지 않습니다. 제 생각으로는 select의 주체가 되는 값만 영속성 컨텍스트에 저장하는 일반 join에서는 의미가 없고 fetch join 같은 경우에 의미를 가진다고 생각되는데 제 생각이 맞는 걸까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
뜬금 selectedDate에 빨간줄이 생겼어요
잘 따라가고 있었는데 뜬금 selectedDate에 빨간줄이 생겼는데 어떻게 해결해야할지 막막합니다..........ㅜㅜ
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
스크립터블 오브젝트 질문
안녕하세요 복습하다가 질문드리게되었습니다. 스크립터블 오브젝트는 클라이언트 내에서 에셋으로 생성된 형태이기 때문에 되도록이면 컨텐츠 보안에 민감하지 않은 정보를 담고 있어야 할까요? 예를 들어 무기 아이템의 공격력 정보를 스크립터블 오브젝트에 그대로 담아 놓고 쓰면 보안에 취약한가요?
-
미해결5개 거래소별 코인차익알림봇, 구체적인 개발 가이드 with Python
이벤트 참여!
이메일 주소 igy17@naver.com 입니다.업그레이드 소스 참고하여 더 나은 프로젝트로 구성하고 싶습니다.혹시나 질문이 있는데 AWS를 이용하여 해당 코드를 서버에서 돌릴 수도 있나요?위에 AWS 질문은 제가 직접 아마존 웹서비스를 통해 구동해보았는데 잘 작동하네요!