묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
SpinLock 구현 과정에 대해서 질문이 있습니다.
SpinLock 에 사용되는 특의 함수,atomic 키워드와compare_exchange_strong() 메소드를 쓰면서 구현을 하는 과정에 대해서 들었는데,의문점이void Add(), Sud() 메소드에순서상의 lock_guard() 를 먼저 실행하면 되지 않을까 생각합니다.thread1,thread2두 개의 쓰레드가 하나의 locked 부울 데이터를 공유한 상태에서 동시에 lock_guard() 를 할 수 있는 경우에서 locked 부울을 동시 접근하는 경우도 있겟지만,=> 이러면 deadlock 이 발생하겠죠.같은 말로,thread t1(Add);thread t2(Add);같은 경우도 위에 deadlock 발생하는 같은 이치라고 보시면 될꺼 같습니다.결국에는 locked 부울 데이터를 공통적으로 사용한다는 부분에서 생기는 문제니까요.즉, thread 1 또는 thread 2 가 동시적으로 접근하지 않는 이상 deadlock 은 발생하지는 않을 것이며,add 메소드에서 lock_guard() 를 했기에, 모든 작업을 다 끝내고 그 다음 add() 메소드를 실행하지 않을까 하고 생각합니다.하지만 main 에서 Add(), Sub() 를 순차적으로 실행했기에 Add() 에 먼저 thread1, thread2 가 동시에 수행을 한다해도 결국에는 Add() 메소드에서 lock_guard 를 둘 중 하나가 먼저 수행하기 때문에 Add() 메소드를 먼저 접하는 thread 가 수행을 하고,그 뒤의 Sub() 메소드 또한 실행을 하지만,이 또한 thread 1 또는 thread 2 둘 중 하나가 lock_guard() 를 하고 있는 상태이기 때문에 다른 스레드가 _locked 부울에 접근을 하지 못하는 이유로 deadlock 이 발생하지 않고 원하는 값이 출력되지 않을까 생각했고, 실제로도 0 값이 나오기는 했습니다.좀 더 정확하게는,멀티스레드가 순차적으로 수행하지 않고 동시 다발적으로 실행이 된다면 종류는 아마,1. A thread Add() 실행B thread Sub() 실행 2. B thread Sub() 실행A thread Add() 실행3. A, B thread Add(), Sub() 동시 실행같은 경우의 수가 더 있을 수도 있지만 현재는 여기 까지 밖에 볼 수 없었습니다.만약 main() 함수에서 3번 경우에서 두 메소드에서 동시 다발적으로 처리를 수행한다면 deadlock 이 테스트를 하면서 운이 좋게 안 뜬걸로 볼 수있지만,순차적으로 Add() -> Sub() 식이라면, 즉 1번 경우라면 SpinLock 을 처음 방식처럼 구현하는 상태에서,lock_guard() 메소드를 순서를 바꿔서 처리하는 방법도 옳은 방법으로도 되는지 알고 싶습니다.int32 sum;class SpinLock{public:void lock(){ while (_locked){}_locked = true;}void unlock(){_locked = false;}private:bool _locked = false;};void Add(){lock_guard<SpinLock> guard(spinLock);for (int32 i = 0; i < 10'000; ++i){sum++;}}void Sub(){lock_guard<SpinLock> guard(spinLock);for (int32 i = 0; i < 10'000; ++i){sum--;}}void main(){thread t1(Add);thread t2(Sub);t1.join();t2.join();cout << sum << endl;}.. 생략
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
itemName에 null
public class ServletUploadControllerV2 { @Value("${file.dir}") private String fileDir; @GetMapping("/upload") public String newFile() { return "upload-form"; } @PostMapping("/upload") public String saveFileV1(HttpServletRequest request) throws ServletException, IOException { log.info("request={}", request); String itemName = request.getParameter("itemName"); log.info("itemName={}", itemName); Collection<Part> parts = request.getParts(); log.info("parts={}", parts); for (Part part : parts) { log.info("==== PART ===="); log.info("name={}", part.getName()); Collection<String> headerNames = part.getHeaderNames(); for (String headerName : headerNames) { log.info("header {}: {}", headerName, part.getHeader(headerName)); } //편의 메서드 //content-disposition; filename log.info("submittedFileName={}", part.getSubmittedFileName()); log.info("size={}", part.getSize()); //part body size //데이터 읽기 InputStream inputStream = part.getInputStream(); String body = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); log.info("body={}", body); //파일에 저장하기 if (StringUtils.hasText(part.getSubmittedFileName())) { String fullPath = fileDir + part.getSubmittedFileName(); log.info("파일 저장 fullPath={}", fullPath); part.write(fullPath); } } return "upload-form"; } } <로그>2023-08-15 18:53:08.744 INFO 11860 --- [nio-8081-exec-7] h.u.c.ServletUploadControllerV2 : request=org.apache.catalina.connector.RequestFacade@46f8d0d2023-08-15 18:53:08.744 INFO 11860 --- [nio-8081-exec-7] h.u.c.ServletUploadControllerV2 : itemName=null2023-08-15 18:53:08.744 INFO 11860 --- [nio-8081-exec-7] h.u.c.ServletUploadControllerV2 : parts=[]2023-08-15 18:53:08.747 DEBUG 11860 --- [nio-8081-exec-7] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [926]2023-08-15 18:53:08.747 DEBUG 11860 --- [nio-8081-exec-7] o.a.coyote.http11.Http11InputBuffer : Received []2023-08-15 18:53:08.747 DEBUG 11860 --- [nio-8081-exec-7] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@7e5a37d:org.apache.tomcat.util.net.NioChannel@72e2ee37:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8081 remote=/0:0:0:0:0:0:0:1:50696]], Status in: [OPEN_READ], State out: [OPEN]2023-08-15 18:53:16.474 DEBUG 11860 --- [nio-8081-exec-8] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [926]2023-08-15 18:53:16.474 DEBUG 11860 --- [nio-8081-exec-9] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0]2023-08-15 18:53:16.474 DEBUG 11860 --- [nio-8081-exec-8] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request headerjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1347) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1234) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:785) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:263) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]2023-08-15 18:53:16.474 DEBUG 11860 --- [nio-8081-exec-9] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request headerjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1347) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1234) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:785) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:263) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]2023-08-15 18:53:16.474 DEBUG 11860 --- [nio-8081-exec-8] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing requestjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1347) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1234) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:785) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:263) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]2023-08-15 18:53:16.474 DEBUG 11860 --- [nio-8081-exec-8] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@45100ea6:org.apache.tomcat.util.net.NioChannel@3f9eb895:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8081 remote=/0:0:0:0:0:0:0:1:50697]], Status in: [OPEN_READ], State out: [CLOSED]2023-08-15 18:53:16.474 DEBUG 11860 --- [nio-8081-exec-9] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing requestjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1347) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1234) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:785) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:263) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.78.jar:9.0.78] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]2023-08-15 18:53:16.475 DEBUG 11860 --- [nio-8081-exec-9] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@7e5a37d:org.apache.tomcat.util.net.NioChannel@72e2ee37:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8081 remote=/0:0:0:0:0:0:0:1:50696]], Status in: [OPEN_READ], State out: [CLOSED] itemName에서부터 null이 들어가서 오류가 나는 것 같은데 강사님 소스 그대로 붙여넣기 해도 동일한 오류가 발생합니다ㅠㅠitemName 파라미터를 왜 못 가져올까요,,
-
미해결
DOOD방식으로 가동하는 방법을 알려주세요
WIN에서 세가지 이미지 모두가 가동이 안되어서 DOCKER OUT OF DOCKER방식으로 가동하는 방법을 알려주세요.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버 view탭 검색 결과 크롤링 2, 3 질문
안녕하세요 강사님. 질문이 있어서 남기게 되었습니다. 첫 번째 질문: 네이버 view탭 검색 결과 크롤링 2를 완료한 이후 아래 코드 실행 후 손흥민을 검색했는데 검색결과가 30개가 아닌 7개가 출력되었습니다. 이러한 이슈 때문인지 네이버 view탭 검색 결과 크롤링 3 강의가 정상적으로 진행되지 않습니다.import requests from bs4 import BeautifulSoup # beautiful soup 라이브러리 import base_url = "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=" keyword = input("검색어를 입력하세요 : ") url = base_url + keyword print(url) headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" } # dictionary req = requests.get(url, headers = headers) # GET 방식으로 naver에 요청 html = req.text # 요청을 하여 html을 받아옴 soup = BeautifulSoup(html, "html.parser") # html을 html.parser로 분석(클래스를 통한 객체 생성) total_area = soup.select(".total_area") timeline_area = soup.select(".timeline_area") if total_area: areas = total_area elif timeline_area: areas = timeline_area else: print("class 확인 요망") for area in areas: title = area.select_one(".api_txt_lines.total_tit") name = area.select_one(".sub_txt.sub_name") print(name.text) print(title.text) print(title["href"]) print() print(len(areas)) 두 번째 질문: 네이버 view탭 검색 결과 크롤링 3을 진행하면서 아래 코드처럼 작성하고 손흥민을 검색했을 때 NoneType 오류가 발생합니다. 첫 번째 질문의 이슈로 인해 그런 것인가요? .total_wrap.api_ani_send 클래스가 브라우저 상에서는 30개가 잘 나오는데 제대로 안 받아와진 것 같은 느낌이 듭니다. 도와주시면 감사하겠습니다 ㅠㅠTraceback (most recent call last): File "C:\python_web_crawling\01_4_naver.py", line 30, in <module> print(title.text) ^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'text' 아래는 코드입니다.import requests from bs4 import BeautifulSoup # beautiful soup 라이브러리 import base_url = "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=" keyword = input("검색어를 입력하세요 : ") url = base_url + keyword print(url) headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" } # dictionary req = requests.get(url, headers = headers) # GET 방식으로 naver에 요청 html = req.text # 요청을 하여 html을 받아옴 soup = BeautifulSoup(html, "html.parser") # html을 html.parser로 분석(클래스를 통한 객체 생성) items = soup.select(".total_wrap.api_ani_send") for area in items: # ad = area.select_one(".link_ad") # if ad: # print("광고입니다.") # continue title = area.select_one(".api_txt_lines.total_tit") name = area.select_one(".sub_txt.sub_name") print(title.text) print(name.text) # print(title["href"]) print() #print(len(items))
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Sequence 전략에서 Sequence정보를 어디에 저장하나요?
처음에는 MEMBER_SEQ를 영속성 컨텍스트의 어딘가... 에 저장할거 라고 생각했는데영속성 컨텍스트는 트랜잭션이 커밋될때 같이 종료되기 때문에, 그렇진 않을 것 같다는 생각이 들었습니다. 이러한 방식이면 트랜잭션마다 AllocationSize만큼의 빈 공간이 생기는 사태가 발생하니까요그냥 JPA 내부 Entity의 정보를 저장하는 어딘가에 MEMBER_SEQ도 저장되고, 'call next value for MEMBER_SEQ' 를 호출할 때 마다 같이 수정된다고 보면 되나요?
-
해결됨실제 이력서 사례로 알아보는 [합격하는 이력서] 작성 가이드
혼자하는 퇴고 체크리스트 자료 어디서 받나요?
알차고 좋은 내용의 강의 감사합니다. 혼자하는 퇴고 체크리스트 자료가 어디서 받는지 모르겠네요... 혹시 빠진 것은 아닌지 해서 질문 드립니다!
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
EBS 다중 연결에 대한 질문
강사님, 안녕하세요 EBS 다중 연결을 강의에선 하나의 EC2 인스턴스에 여러 개의 볼륨과 연결하는 기능으로 설명하셨는데자료 상에선 하나의 EBS 볼륨을 여러 EC2에 동시에 연결하는 기능이라고 돼 있습니다.이 두 가지를 모두 EBS 다중 연결이라고 표현하는지 궁금합니다. 감사합니다.
-
미해결Airflow 마스터 클래스
강의 소스코드 문의
강의에서 진행된 소스코드는 공유안해주시나요?
-
미해결홍정모의 따라하며 배우는 C++
이중 포인터에 저장되는 것에 대해 궁금한 점이 있습니다.
이중 포인터에는 포인터의 주소만 저장이 가능한 것으로 알고 있습니다. 그래서 동적 다차원 배열을 만들 때 이중 포인터를 정의하면int** matrix = new int* [row];이렇게 정의가 가능합니다. 제가 이해가 안되는 부분은 바로 뒤에 나오는 반복문 입니다.for (int r = 0; r < row; ++r) { matrix[r] = new int[col]; }여기서 matrix에 저장되는 것이 new int[col] 인데, 이는 포인터가 가지는 행렬의 주소로 생각 됩니다. matrix[0]은 matrix 라는 이중 포인터 안에 저장되있는 첫번째 포인터를 나타내어서 저렇게 작성되는 것인지 궁금합니다.
-
미해결CloudNet@ - AWS 네트워킹 입문
오류가 뜹니다 ㅜㅜ
AWS 네트워킹 입문 강의 관련해서 질문이 있으시면 남겨주세요.
-
미해결스프링 시큐리티
섹션 3-5의 CustomAuthenticationProvider 오류에 대해
강의 소스 그대로 참고하여 현재 진행중인 프로젝트에CustomUserDetailsService, CustomAuthenticaionProvider, SecurityConfigure 모두 작성하였습니다.그런데 CustomAuthenticaionProvider의 UserDetailsService와 PasswordEncoder의 @Autowired 부분에서 빨간 줄이 그어져 진행이 불가능합니다. 혹시 스프링 부트 버전차이 때문에 그러는 걸까요?? 현재 2.7.1 사용중입니다.실습한 코드 사진 첨부하도록 하겠습니다.configurecontextcustomUserDetailsServicecustomAuthenticationProvider
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
DooD 방식으로 실행시, 이미지 아이디
안녕하세요. DOOD 방식으로 하고있는데, create-cicd-project-image-playbook.yml을 만들고, create-cicd-project-container-playbook.yml 작업을 해도 도커에서 pull을 받아오지 않고 기존에 있는 cicd-project-ansible과 같은 이미지를 생성하는 거 같습니다 ㅠㅠ 이거 왜 그러는 걸까요??
-
해결됨스프링과 JPA 기반 웹 애플리케이션 개발
강의대로했는데안되네요.
강의대로 했는데 안되네요. 우선 깃 링크로 접속하여 코드 다운로드받은뒤 압축풀어서 intellij 로 open 하여 해당 강의처럼 maven -> compile 더블클릭 했는데, 잘 돌던중 에러한줄이 뜹니다. /Users/jjeoV/Desktop/jjeoV/인프런/keesun/studyolle-master 2/target/classes/static/node_modules/.bin/jdenticon jdenticon 파일이 없는건가요? 그냥 딸랑 경로하나뜨니까 뭔지 잘 몰르겠네요. 감사합니다.
-
미해결
HCM GIS 플러그인, 지도에 나타나는 언어
HCM GIS 플러그인 다운 받았는데, 지도의 글자가 다 일본어입니다. 어떻게 해야하나요? 한글이나 영어로 설정은 어디 가서 해야하나요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
b1.appendModelName 까망이(최신형)
void appendModelName(String modelName) { this.modelName += modelName }인데 어떻게 '까망이 + 까망이' 가 되는게 아니라b1.appendModelName 에 있는 (최신형) 이 붙게 되는걸까요....? append가 인텔리제이에서 제공하는 어떤 함수 같은건가요???
-
미해결[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문
문자열
문자열 강의에서 null 문자를 넣어야 원하는 문자열이 출력된다고 하셨는데 저는 null 문자 없이도 잘 출력돼요.. 전 vscode를 쓰는데 무슨 차이인가요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Timing Simulation 관련 질문입니다.
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================안녕하세요 맛비님, counter 설계 강의를 듣다가 문득 궁금한 점이 들어 질문 드립니다. 강의에서 ./build를 통해 돌려서 나온 Simulation은 gate들의 delay가 반영되지 않고 오직 기능만을 확인할 수 있는 Functional Simulation이라고 알고 있습니다. 그렇다면 제가 gate들의 delay가 반영된 Timing Simulation을 보고 싶으면 합성을 진행한 후에 post synthesis simulation을 누르면 되나요?FPGA보드가 없어도 제가 예를 들어 counter에 대한 verilog코드를 짜서 합성만 진행한다면 post synthesis simulation을 눌러서 counter내부의 gate들의 delay가 반영된 Timing Simulation을 확인할 수 있는지 궁금합니다!
-
미해결이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)
es6 스타일로 Import 할때 동작하지 않습니다.
다른 모듈들은 정상적으로 사용이 가능한데 mime 모듈만 사용이 되지가 않아요..결과 값이 이렇게 저장이되는데 es6스타일로 사용이 안되는것인지요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
생성 메서드
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]생성 메서드를 만드는 경우는 본인이 정하는 걸까요 .. ?item 생성 할 때처럼 간단한 경우는 생성메서드를 만들지 않고 orderItem 생성 시와 같이 복잡한 코드의 경우에만 미리 생성 메서드를 만들어 놓는건지 어떤 경우에 생성 메서드를 만들어 놓는지 강의를 봐도 감이 안 잡혀서요 ..어떤 경우에 생성 메서드를 사용하는 것이 좋은 경우인지 설명해주실 수 있을까용 ..추가로 orderitem을 생성하는 createOrderItem 메서드를 만들고 createOrder시에 createOrderItem으로 생성한 orderItem을 사용하는 걸까요 ? 혹 뒷부분 강의에 해당 내용이 나온다면 이 부분은 답변 생략해주셔도 됩니다 .!
-
미해결
ssh로 연결하여 이후 systemctl start docker를 하면 애로가 발생하는 데 이를 해결하는 방법이 벙ㅂ나요
다음과 같은 애러가 발생하여 더 이상 진행이 안되는데 고견을 구합니다. c:\work2>cd apache-tomcat-9.0.78c:\work2\apache-tomcat-9.0.78>ssh root@localhost -p 10022root@localhost's password:Last login: Tue Aug 15 06:59:44 2023 from 172.17.0.1[root@b84c22ae3e07 ~]# docker imagesCannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?[root@b84c22ae3e07 ~]# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Tue 2023-08-15 07:11:01 UTC; 10min ago Docs: https://docs.docker.com Process: 1439 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1> Main PID: 1439 (code=exited, status=1/FAILURE)Aug 15 07:11:01 b84c22ae3e07 systemd[1]: docker.service: Service RestartSec=2s expired, scheduling restart.Aug 15 07:11:01 b84c22ae3e07 systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.Aug 15 07:11:01 b84c22ae3e07 systemd[1]: Stopped Docker Application Container Engine.Aug 15 07:11:01 b84c22ae3e07 systemd[1]: docker.service: Start request repeated too quickly.Aug 15 07:11:01 b84c22ae3e07 systemd[1]: docker.service: Failed with result 'exit-code'.Aug 15 07:11:01 b84c22ae3e07 systemd[1]: Failed to start Docker Application Container Engine.[root@b84c22ae3e07 ~]#[root@b84c22ae3e07 ~]# systemctl start dockerJob for docker.service failed because the control process exited with error code.See "systemctl status docker.service" and "journalctl -xe" for details.