묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[핵집] 2025 빅데이터 분석기사(필기)_과목 1~2
통합강의자료 요청
안녕하세요 금일부터 강의를 수강하게 되어 아래와 같이 요청 및 문의 드립니다.통합 강의자료 요청 (이메일:moontomis@gmail.com)안내되어 있는 2024 빅데이터분석 기사 필기 한권완성 교재를 사면 어떤 도움이 되나요?이상입니다.감사합니다.
-
미해결리눅스 쉘 스크립트
for 문에서 리스트 질문요!!
list="A B C D E F G" array=(1 3 5 7 9) 리스트의 원소를 사용하기 위해서리스트 목록을 지정할 때요위와 아래의 차이가 있을까요?
-
미해결홍정모의 따라하며 배우는 C언어
포인터에 [ ]을 붙이는건 새로운 문법인가요??
ptr[k]부분이 이해가 가질 않아서요...다른 분들이 올린 질문도 봤는데 2차원 배열도 결국엔 1차원으로 정렬된 메모리라는건 어느정도 이해가 된 것 같은데...포인터 옆에 [ ]를 붙이는 것이 간접 참조 연산자랑 같은 기능을 하는건지 궁금합니다..
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
ZIPKIN에서 오류 나시는분들
Spring 3버전대에서 zipkin 설정이 바뀌면서 # zipkin: # base-url: http://13.124.192.188:9411 # enabled: true이 부분을 주석처리하고management: tracing: sampling: probability: 1.0 propagation: type: b3 zipkin: tracing: endpoint: "http://localhost:9411/api/v2/spans"위와 같이 설정하였다면 docker run 할때 문제가 생길 수 있습니다! 해당 내용을 토대로 환경변수를 주고 실행을 시켜야 합니다(저도 깜빡하고 왜 오류나지 고민만 했는데.. 설정을 바꿨었더라구요!)user-service docker rundocker run -d --network ecommerce-network \ --name user-service \ -e "spring.cloud.config.uri=http://config-server:8888" \ -e "spring.rabbitmq.host=rabbitmq" \ -e "management.zipkin.tracing.endpoint=http://zipkin:9411/api/v2/spans" \ -e "eureka.client.serviceUrl.defaultZone=http://discovery-service:8761/eureka/" \ -e "logging.file=/api-logs/users-ws.log" \ kimtaeheon/user-service:1.0order-service docker rundocker run -d --network ecommerce-network \ --name order-service \ -e "spring.cloud.config.uri=http://config-server:8888" \ -e "spring.rabbitmq.host=rabbitmq" \ -e "management.zipkin.tracing.endpoint=http://zipkin:9411/api/v2/spans" \ -e "eureka.client.serviceUrl.defaultZone=http://discovery-service:8761/eureka/" \ -e "spring.datasource.url=jdbc:mariadb://mariadb:3306/mydb" \ -e "logging.file=/api-logs/orders-ws.log" \ kimtaeheon/order-service:1.0
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 아이콘
[질문 내용]제가 h2 db를 껐다 켜고 싶어서, 하단 트레이 쪽에 있는 h2 아이콘을 우클릭>exit을 했더니 아예 아이콘이 사라졌습니다..다시 키려고 h2.bat을 재실행은 했는데 아이콘이 없어서 create a new db를 어떻게 해야하는지 모르겠습니다.도움 부탁드립니다!
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
18장 tb실행후 gvim을 통해서 rtl_v_result.txt를 열었는데 값이 x x로 나와요.. 왜 이렇게 나올까요?
코드도 계속 찾아보고 반복해서 실행해도 21장은 값이 잘 나오는데 18장 값이 x x로 나와서 질문 드립니다!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
clearStore가 소용이 없습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 이렇게 영상에 나온대로 clearStore을 작성했음에도계속 오류가 뜹니다clearStore의 문제가 아닌건가요?
-
해결됨시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
LDP 명령어 사용예시
위에서 SP레지스터의 값과 오프셋을 더한 주소에 있는 값을 기준으로 레지스터에 저장한다고 되어 있는데그림을 확인하면 SP레지스터의 값을 기준으로 레지스터에 저장한 후에 SP 레지스터의 값을 업데이트하는 것으로 보입니다.둘 중 어느 것이 맞는 건가요?
-
해결됨독하게 시작하는 C 프로그래밍
quick sort 부분 구현했습니다.
pivot이 되는 5보다 큰 값은 오른쪽의 작은 값과 교환하면서 마지막에는 pivot의 위치도 바꾸어 주었습니다. 이후 코드를 작성한다면 pivot의 값을 다시 0과 high+1로 또 for문을 작성해야 하는데 코드가 무자비하게 길어집니다. 솔직하게 for문 안에서 모든걸 끝내기에는 제가 너무 부족한거같습니다. 이후 배우는 함수에 피벗이나 리스크 길이 등 매개변수로 받아서 리스트 길이가 0이나 1이 될때까지 반복하고 값을 교환해주는 것도 함수로 만들어서 처리하면 좋을 것 같습니다. 코드가 복잡해질수록 너무 어렵네요. 이정도 구현한것으로 만족하겠습니다
-
미해결[중급편] 친절한 JETPACK 개론 <상> (Android Kotlin)
Activity/Fragment ViewModel 공유 10분35초경에 fragment 에 viewModel선언
viewModel 선언하고MainViewModel by activityViewModel 이렇게 넣는코드있잖아요.혹시 구글이 공식적으로 이런식으로 액티비티와 프래그먼트간에 데이터를 공유할때 이렇게 써라라고 한 문서가있나요?되게 간편해보이는데, 제가 못찾고있는느낌이나서,저게아니라면 구글에서는 어떤 방식으로 activity와 fragment 에서 viewModel 에 대해서 공유하라는 제안이있는 공식문서 출처좀 알수있을까요??
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
페이지가 화면에 꽉 채워지는 이유 질문
제 프로젝트강사님의 프로젝트 제 프로젝트는 스크롤이 무조건 안되고 일기장 화면이 꽉 찹니다.aspect-ratio도 둘 다 auto로 되어있고 개발자 도구로 확인해보았는데 해결되지 않아 질문 드립니다. 기본 설정에서 빼먹은 게 있을까요?
-
미해결Do it! Node.js 프로그래밍 입문
function1, 2에 대한 질문
안녕하세요 자바 개발만 하다가 노드에 관심이 있어 공부하러 온 학생입니다.영상을 보다가 궁금한 점이 있어 질문 드리는데요.case 1 : function greeting(name){ console.log(`${name}님 안녕하세요.`);}case 2 : let greeting = function(name){ console.log(`${name}님 안녕하세요.`);}두 방법 동일하게 동작하는 것은 알겠는데case 1이 아닌 2번을 굳이 사용하는 이유를 잘 모르겠습니다.결국 선언된 함수의 호출은 동일하게 하는데let으로 함수를 선언하는 이유가 궁급합니다!!
-
해결됨블록체인 채굴 모듈 만들어보기
아 갑자기 코드가 바껴서 한참 헤맸습니다
wallet repository에서 repository struct 관련 에러가 생기길래 찾아봤더니app.go NewService 호출하는 부분에 매개변수나 이런게 바뀌어서 문제였네요한참 헤맸습니다,, 갑자기 강의가 확 뛰어버리네요 코드가 바뀌어요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
need more stock
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상품주문 test에서 코드를 똑같이 따라 쳤는데 need more stock exception이 나요그리고 그 아래 상품주문_재고수량초과 테스트를 적을 때 @Test 에 expected를 적는데 expected라는 메소드를 해결할 수 없다고 빨간줄이 떠요링크 공유합니다https://drive.google.com/file/d/1Yr0w6SZWSH3Usqd8Gbx8bhQTcfRmmWHz/view?usp=sharing
-
미해결실습으로 배우는 선착순 이벤트 시스템
DB Lock 대신 Redis를 이용하는 이유
DB Lock을 이용하면 시간이 오래 걸린다는 성능 저하 문제가 발생하기 때문에 Redis를 써야 한다고 이해하였습니다. 하지만 강의 영상에서는 Redis가 싱글스레드를 이용한다고 하셨는데 그럼 똑같이 DB Lock과 마찬가지로 시간이 오래걸리는 것이 아닌가요..?
-
미해결
새로운 Authentication 객체 생성 코드 작성 시 error
안녕하세요.spring security 를 이용하여 회원가입을 하고 회원수정부분을 하고 있는 중입니다.문제는 UserController.java 에서Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(userDto.getUsername(), userDto.getPassword()));SecurityContextHolder.getContext().setAuthentication(authentication);이 코드를 작성하면error 메세지가 아래와 같이 뜹니다;;2024-02-27T15:58:28.207+09:00 WARN 85046 --- [nio-8080-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'PUT' is not supported]수정페이지에서 버튼을 눌렀을 경우 js에서 put으로 잘보낸것같고 @PutMapping으로 잘 받은것 같은데 뭐가 문제일까요..? UserController에서 위의 코드를 지우면 error메세지는 나오지않지만 authentication 객체정보가 변경되지않아 update.html에 변경된 정보로 나오지않고 있습니다.;; update.html<div class="row justify-content-center" sec:authorize="isAuthenticated()"><section><div class="col-12 mb-30 text-center"><h3>회원수정</h3></div><div class="col-12 mb-15"><form><input type="text" name="id" Id="id" placeholder="id" th:value="${#authentication.principal.id}" ><input type="text" name="role" Id="role" placeholder="role" th:value="${#authentication.principal.role}" ><input type="text" name="provider" Id="provider" placeholder="provider" th:value="${#authentication.principal.provider}" ><input type="text" name="providerId" Id="providerId" placeholder="providerId" th:value="${#authentication.principal.providerId}" ><div class="form-group"><label for="username">아이디</label><input type="text" name="username" Id="username" placeholder="id" th:value="${#authentication.principal.username}" pattern="[A-Za-z]+" ></div><div class="form-group"><label for="password">비밀번호</label><input type="password" name="password" id="password" placeholder="password" onkeyup="pwCheck()"><div id="pw-result">5자 이상이어야합니다.</div></div><div class="form-group"><label for="email">이메일</label><input type="email" name="email" id="email" placeholder="email" th:value="${#authentication.principal.emial}" readonly></div><div class="form-group"><label for="email">닉네임</label><input type="text" name="nickname" id="nickname" placeholder="nickname" th:value="${#authentication.principal.nickname}" onkeyup="nicknameCheck()" required><div id="nickname-result">3~8글자여야합니다.</div></div></form><div class="text-center"><button class="btn bg_03A3F1 color-fff" id="btn-update">회원수정</button></div></div></section></div> update.jslet index = {init: function(){$("#btn-update").on("click", ()=>{ // function(){} , ()=>{} this를 바인딩하기 위해서!!this.update();});},update: function(){//alert('user의 save함수 호출됨');let data = {id: $("#id").val(),username: $("#username").val(),password: $("#password").val(),email: $("#email").val(),nickname: $("#nickname").val(),role: $("#role").val(),provider: $("#provider").val(),providerid: $("#providerid").val()};$.ajax({type: "PUT",url: "/update",data: JSON.stringify(data), // http body데이터contentType: "application/json; charset=utf-8",// body데이터가 어떤 타입인지(MIME)dataType: "json" // 요청을 서버로해서 응답이 왔을 때 기본적으로 모든 것이 문자열 (생긴게 json이라면) => javascript오브젝트로 변경}).done(function(resp){alert("회원수정이 완료되었습니다.");//console.log(resp);location.href = "/";}).fail(function(error){alert(JSON.stringify(error));});},}index.init(); UserController.java@RestControllerpublic class UserController {@Autowired private UserService userService;@Autowired private BCryptPasswordEncoder bCryptPasswordEncoder;@Autowired private AuthenticationManager authenticationManager;@PutMapping("/update")public ResponseDto<Integer> update(@RequestBody UserDto userDto){System.out.println(userDto);String rawPW = userDto.getPassword();String encPW = bCryptPasswordEncoder.encode(rawPW);System.out.println("1");userDto.setPassword(encPW);userService.update(userDto);System.out.println("2");Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(userDto.getUsername(), userDto.getPassword()));SecurityContextHolder.getContext().setAuthentication(authentication);// System.out.println("authentication 정보 : "+authentication); System.out.println("3");return new ResponseDto<Integer>(HttpStatus.OK.value(), 1);//자바오브젝트를 JSON으로 변환해서 리턴 }} SecurityConfig.java@Configuration //@EnableWebSecurity // 스프링 시큐리티 필터가 스프링 필터체인에 등록//@EnableGlobalMethodSecurity(securedEnabled = true,prePostEnabled = true)@EnableMethodSecurity(securedEnabled = true)public class SecurityConfig{@Autowiredprivate PrincipalOauth2UserService principalOauth2UserService;private final PrincipalDetailsService userDetailsService;public SecurityConfig(PrincipalDetailsService userDetailsService) {this.userDetailsService = userDetailsService;}@Beanpublic AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration)throws Exception {return authenticationConfiguration.getAuthenticationManager();}protected void configure(AuthenticationManagerBuilder auth) throws Exception {auth.userDetailsService(userDetailsService).passwordEncoder(encodePwd());}@Beanpublic BCryptPasswordEncoder encodePwd() {return new BCryptPasswordEncoder();}@Bean public LoginSuccessHandler loginSuccessHandler(){return new LoginSuccessHandler();}@Beanpublic LoginFailureHandler loginFailureHandler(){return new LoginFailureHandler();}@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception{http.csrf(CsrfConfigurer::disable).cors(Customizer.withDefaults());http.formLogin((formLogin) ->formLogin.loginPage("/loginForm").loginProcessingUrl("/login").successHandler(loginSuccessHandler()).failureHandler(loginFailureHandler())).authorizeHttpRequests(authorize ->authorize.requestMatchers("/admin/**").hasAnyRole("ADMIN") // /center/** url => admin 권한이 있는 사용자만 접근 가능.anyRequest().permitAll() // 권한을 주지않은 url 이 아니면 접근 허용).oauth2Login((oauth2) -> oauth2.loginPage("/loginForm").userInfoEndpoint(userInfoEndpoint -> userInfoEndpoint.userService(principalOauth2UserService)).successHandler(loginSuccessHandler()).failureHandler(loginFailureHandler())) ;return http.build();}}이렇게 작성이 되어있는 상태인데요.
-
미해결파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편
결제창 출력이 되지 않습니다.
<script src="">https://cdn.iamport.kr/v1/iamport.js"></script> <script>(function(){const IMP = window.IMP;const code = "iamport";IMP.init(code);const merchant_uid = "merchant_" + new Date().getTime();IMP.request_pay({merchant_uid: merchant_uid,name: "주문 테스트",amount: 100, }, function(response){// 결제 끝났을 때console.log(response); }); })();</script> KGINICIS Standard Pay Call FailedV901 : 잘못된 접근 방식입니다. 잠시 후 다시 시도해주세요.=> 영상과 동일하게 진행하였지만 잘못된 접근이라며 결제창이 뜨지 않습니다.영상 시점과 지금 시점의 api 링크나 접근 방법이 달라진 것일까요?
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
칩에 대해서 공부해봅시다 1분 41초 질문
'자원이 풍부한편'이라고 되어있는데여기서 자원이 어떤 의미인지 궁금합니다.
-
미해결CloudNet@ - Amazon EKS 기본 강의
amazon EKS 원클릭 배포 및 기본 스토리지 실습 문의.
https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-2#/stacks/new?stackName=myeks&templateURL=https:%2F%2Finflearnaeb.s3.ap-northeast-2.amazonaws.com%2Feks-oneclick2.yaml해당 파일을 다운로드 받아 region만 수정하여 CloudForatmation을 실행하면 다음과 같은 Stack만 생성되고 다른 stack이 생성되지 않습니다.앞선 실습에선 node도 생성이 되고 했는데요...지금은 저것만 생성이 되고 다른건 생성이 안됩니다.
-
해결됨비전공자의 전공자 따라잡기 - 데이터베이스,SQL
외래키 On Delete SET NULL 관련
안녕하세요~ 타임어택 2주차 수강하고 있습니다~"섹션2의 처음 만나는 DDL" 강의 9분 32초에서employee 테이블에서 외래키 생성에 필요한role_id 컬럼 만드실 때 NOT NULL을 체크하셨는데요~그 다음 강의(on update, on delete)에서는 이게 해제되었더라구요.외래키 설정에서 On Delete - SET NULL을 하면NOT NULL 속성이 문제가 되는데 강의에서는 그 설명이 없어 보이더라구요.아마 강의 편집 과정에서 NOT NULL을 적용하면 중간에 서로 모순되어 에러가 나는 부분을 덜어낸 것으로 보여집니다.SET NULL을 하면 employee.role_id의 값만 지워지는 점을 강의시간 때 설명 해주셨기 때문에 NOT NULL을 선택하면 안되는 게 맞을거라 생각합니다.제가 맞게 알고 있는지 궁금해서 질문 드립니다. 감사합니다!