묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
높이 조건
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님, 강의를 듣다 궁금한 점이 생겨 질문 드립니다. 다른 질문에 답해주신 것 중에,20 11 0 이러한 반례를 들어주신 게 있는데,문제에서 높이는 1이상 100이하의 정수라고 했으므로0일 때는 생각하지 말아햐하는 것 아닌가요?감사합니다.
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
송아지 문제
혹시 송아지 문제에서 한 번의 점프로 앞으로 1, 뒤로 1 가게 하고 점프 없이 앞으로 5를 갈 수 있다고 한다면 어떻게 해야 하나요? 클래스 Point 를 만들지 않고 푸는 방법이 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
19942 다이어트 문제 질문
안녕하세요매일 질문만 드려서 죄송합니다...다이어트 문제 풀다가 예제 답은 맞았는데 틀렸다고 떠서 질문 남깁니다.http://boj.kr/bd4d72bf313f4e2699fe3ff7c8347935제가 놓친 부분이 있을까요?
-
해결됨프리다(Frida)를 이용한 안드로이드 앱 모의해킹
frida sslPinning 질문
setTimeout(function() { Java.perform(function() { var CertificateFactory = Java.use("java.security.cert.CertificateFactory"); var cf = CertificateFactory.getInstance("X.509"); var FileInputStream = Java.use("java.io.InputStream"); var fileInputStram = FileInputStream.$new("/data/local/tmp/cert-der.crt"); console.log(FileInputStream); var ca = cf.generateCertificate(fileInputStram); var KeyStore = Java.use("java.security.KeyStore"); var keyStoreType = KeyStore.getDefaultType(); var keyStore = KeyStore.getInstance(keyStoreType); keyStore.load(null, null); keyStore.setCertificateEntry("ca", ca); var TrustManagerFactory = Java.use("javax.net.ssl.TrustManagerFactory"); var tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm(); var tmf = TrustManagerFactory.getInstance(tmfAlgorithm); tmf.init(keyStore); var get_tmf = tmf.getTrustManagers(); var SSLContext = Java.use("javax.net.ssl.SSLContext"); SSLContext.init.implementation = function(a, b, c) { SSLContext.init.call(this, a, get_tmf, c); } }) })강의를 보고 위와 같이 코드를 작성 했는데 overload에러가 나고 있습니다. 제 생각은 FileInPutStream에서 new하면서 에러가 발생하는거로 추정됩니다(console.log 출력시 파일 이후에서는 출력이 안됬습니다)제 방법이 잘못되었나요???
-
미해결React 기반 Gatsby로 기술 블로그 개발하기
썸네일 이미지 제작 및 학습 방법 관련 문의
강사님 정말 상세하게 써놓은 강의로 블로그 열심히 만들어보며 잘 배우고 있습니다.다름 아니라 ...위와 같은 썸네일 이미지는 혹시 직접 제작하시는 건지만든다면 어떤 툴을 사용해 만드시는지 궁금합니다.그리고 CSS나 스크립트 코드도 깔끔하게 짜시는 것 같은데이런 것은 어떤 것을 공부하고, 학습하시는지 알고 싶습니다.
-
미해결
51강) NullPointerException 왜 나는건지 모르겠습니다..
강사님이랑 똑같이 따라 쳤는데 위 결과가 나옵니다.. 왜 그런 걸까요?아래가 제가 쓴 코드입니다. package hello.core.autowired; import hello.core.AutoAppConfig; import hello.core.discount.DiscountPolicy; import hello.core.member.Grade; import hello.core.member.Member; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.util.List; import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; public class AllBeanTest { @Test void findAllBean() { ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); DiscountService discountService = ac.getBean(DiscountService.class); Member member = new Member(1L, "userA", Grade.VIP); int discountPrice = discountService.discount(member, 10000,"fixDiscountPolicy"); assertThat(discountService).isInstanceOf(DiscountService.class); assertThat(discountPrice).isEqualTo(1000); } static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } public int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); System.out.println("discountCode = " + discountCode); System.out.println("discountPolicy = " + discountPolicy); return discountPolicy.discount(member, price); } } }
-
미해결Nuxt.js 시작하기
axios
npm i axiosnpm install axios다 설치 해봤는데 아래 와 같은 에러가 나옵니다.검색해보니 이렇게 나와도 axios가 설치가 된거라네요node_modules 파일 보니 axios 가 추가 되어 있고,package.json 에도 추가되어 있습니다. 그런데 axios 사용 하려고 하니 아래와 같은 에러가 발생합니다. .nuxt도 지워보고nodemodules도 지워보고 별거 다해봤는데계속 저런 에러가 나오면서 메인 화면이 안나옵니다. axios 선언과 사용 부분을 지워봐도계속 저런 에러페이지가 나옵니다. 뭐가 문제인걸까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
BRAM read에 관하여
안녕하세요 맛비님BRAM의 데이터를 Read할 때 Testbench에서 address를 1씩 증가시켜서 읽어보면 address와 read data가 동클락에 나오는 걸 방지하기 위해 r_valid로 1 cycle delay 시켜주는 것으로 이해했습니다. 하지만 주소를 생성하는 모듈 ((ex) address를 0부터 15까지 1씩 증가하면서 BRAM에 address를 보내주는 모듈) 과 BRAM을 연결해 Testbench에서 address를 1씩 증가시키지 않고 알아서 address를 BRAM으로 보내주어 시뮬레이션을 돌려보니,r_valid가 존재하지 않아도 read할 때 자동으로 1 cycle delay 미뤄줍니다. 이 이유를 혹시 아실까요?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
서비스내에서 서비스 호출시
안녕하세요. :-) 좋은 강의 잘 듣고 있습니다. 궁금한 것이 있어 문의드립니다.Point를 취득시, 조건이 있는데. 여기서 동시성 이슈가 발생하여 redisson을 활용해서 풀어보려고 합니다.현재 PointService.addPoint 라는 메서드를 다른 서비스의 메서드에서 호출하여 사용하고 있습니다.Point취득 시 조건은 같은 type, id의 데이터 입력이 있었는지 확인 후. insert인데요. (db unique key로 풀수가 없었습니다.)Fasade에 락 로직을 넣어 PointService.addPoint 를 감싸고. 해당Fasade.addPoint를 다른 서비스의 메서드에서 호출했는데요. (예: AService.b 내부에서 Fasade.addPoint 호출) 동시성 이슈가 해결되지 않습니다. ( 현재 각 서비스 메서드에 @Transaction이 붙어있습니다.)로그를 보면, 락을 획득한 순서대로 진행이되는데. 2번째 락 thread에서 호출한 데이터가 1락 thread에서 업데이트한 데이터가 아닙니다.addPoint를 호출한 서비스 메서드의(AService.b) 트랜잭션이 끝나지 않아, db에 commit이 안된건가. 하고 pointRepogitory.save -> pointRepogitory.saveAndFlush로 해봤는데. 반드시 하나만 들어가야할 데이터가 꼭 2개가 들어갑니다.원인이 뭔지 모르겠습니다.pointService가 실패하면 AService.b로직을 rollback해야하니 commit을 하는게 아닌 것도 같구요.동시성 이슈가 발현될 만한건 addPoint에서인데요. 락을 상위 로직으로 다 올려야하는걸까요?addPoint를 호출하는 곳마다 락 로직으로 감싸주는게 맞는건지 다른 방법은 없는지 궁금합니다.제가 지금 더 확인해야할 키워드가 무엇인지 문의드립니다.동시성 이슈에 고민이 많았는데. 강의가 생겨 너무 좋습니다. 답변 부탁드립니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
DataSourceUtil 빨간줄 해결이 안됩니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]윈도우 사용자인데 DataSourceUtil이 해결이 안되네요.의존성도 추가한거 같은데 해결이 안되서 글 써봅니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
id 타입을 long 말고 Long으로 하는 이유가 뭔가요?
null값이 올 수 있어서 인가요? 만약 그렇다면 null 값이 넘어올 상황이 있나요?
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
ProducerWithSyncCallback 코드 관련 질문
안녕하세요, ProducerWithSyncCallback 코드에서 궁금한 점이 있어 질문 남깁니다.try { RecordMetadata metadata = producer.send(record).get(); logger.info(metadata.toString()); } catch (Exception e) { logger.error(e.getMessage(), e); } finally { producer.flush(); producer.close(); }예제로 보여주신 위 코드에서 producer.flush() 코드가 배치 사이즈만큼 레코드가 쌓이는 걸 기다리지 않고 바로 레코드를 브로커로 보내는 코드로 알고 있는데, producer.flush() 코드가 finally에 있는 것이 의아해서 질문드립니다.producer.send 호출 후 linger.ms 가 0이라서 바로 브로커로 보내지고 해당 결과를 기다리던 get이 결과를 받아 logger.info 를 호출한 것으로 이해했는데요, 그럼 위 예제에서 producer.flush()는 불필요한 코드로 보면 될까요?제가 잘못 이해하고 있는 부분이 있는지 확인 부탁드립니다:)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프
타임리프를 배우고 웹 개발시 header.html, footer.html을 나눠서 작성하고 있습니다.예를 들어 유저의 개인정보를 변경하는 페이지(profile.html)는 관련 Contoller에서 user의 id를 넘겨서 뿌려줘서 잘 작동하는데문제는 header.html에서 사용하는 user의 id입니다.예를 들어header.html에 메뉴바가 있어서 해당 아이콘을 누르면 user의 id를 실어서 profile.html로 넘어가게끔 해야하는데 id를 어디서 받아와야하는지 모르겠습니다.Controller@Controller public class BasicController { @GetMapping("/layout/header") public String userInfo(@AuthenticationPrincipal PrincipalDetails principalDetails, Model model) { model.addAttribute("user.", "principalDetails.getUser()"); return "layout/header"; } }<nav class="navi"> <ul class="navi-list"> <li class="navi-item"> <a th:href="@{/user/{id}(id = ${user.id})}"></a></li> </ul> </nav> [[ 에러내용은 ]]Exception evaluating SpringEL expression: "user.id" (template: "/layout/header" - line 43, col 32)Property or field 'id' cannot be found on null 코드를 어떻게 작성해야하는지 모르겠습니다. 아래와 같은 방법으로도 안 되어서 갈피를 못 잡겠습니다.<a th:href="'/user/' + ${user.id}">
-
미해결실전! 스프링 데이터 JPA
Spring Data Jpa findByUsername 질문
안녕하세요.memberRepository.findByUsername("member5");했을시, select query가 나가는데, 영속성컨텍스트에서 가져오는게 아니라 db에서 가져오는 것이 아닌가요? select 쿼리가 나가는데 왜 age가 40인지 잘 모르겠습니다.
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
코루틴 흐름에 관한 질문
안녕하세요 1-3 강의를 듣고 따라하는 중에 의문점이 들어 질문을 남깁니다. 공통 코드import time import asyncio async def delivery(name, mealtime): print(f'{name}에게 배달 완료') await asyncio.sleep(mealtime) print(f'{name}님 식사 완료, {mealtime}시간 소요') print(f'{name}그릇 수거 완료') async def main(): task1 = asyncio.create_task(delivery('경민', 1)) task2 = asyncio.create_task(delivery('윤민', 2)) #-----변경할 부분------# #await task2 #print(1) #await task1 #--------------------# if __name__ == '__main__': start = time.time() asyncio.run(main()) end = time.time() print(end-start)질문 1. create_task메서드 실행만 했을 경우 코루틴 함수의 await전까지 실행되는 이유공통 코드 실행 결과:>>> 경민에게 배달 완료>>> 윤민에게 배달 완료>>> 0.0000510...개인생각 : create_task는 실행은 하지 않고 선언만 한 것인데 await전까지 왜 실행이 되나,, 질문 2. create_task메서드의 선언 순서 고정으로 출력되는 이유#-----변경할 부분------# await task2 #print(1) await task1 #--------------------#>>> 경민에게 배달 완료>>> 윤민에게 배달 완료개인 생각: 윤민에게 먼저 배달을 해야하는 것이 아닌가 질문 3. 다음 결과의 이유#-----변경할 부분------# await task2 print(1) await task1 #--------------------# >>> 경민 배 완>>> 윤민 배 완>>> 경 식 완>>> 경 그 수거>>> 윤 식 완>>> 윤 그 수거>>> 1 개인 생각: 질문1,2의 경험 없이 생각을 해보면경민에게 배달하고 1이 출력된 다음에 윤민에게 배달을 해야하는게 아닌가 하는 의문이 듭니다.
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
Card & Footer 문제
안녕하세요! 강의 잘 듣고 있습니다.<div class="container"> <div class="row my-3"> <div class="col-md-8 col-lg-9"> <h1>Blog</h1> <!-- Blog Post --> <div class="card mb-4"> <img class="card-img-top" src="./images/dyinBeach.jpg" alt="Card image cap"> <div class="card-body"> <h2 class="card-title">Post Title</h2> <p class="card-text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Reiciendis aliquid atque, nulla? Quos cum ex quis soluta, a laboriosam. Dicta expedita corporis animi vero voluptate voluptatibus possimus, veniam magni quis!</p> <a href="#" class="btn btn-primary">Read More →</a> </div> <div class="card-footer text-muted"> Posted on January 1, 2020 by <a href="#">Start Bootstrap</a> </div> </div> <div class="col-md-4 col-lg-3"> <!-- Search Widget --> <div class="card my-4"> <h5 class="card-header">Search</h5> <div class="card-body"> <div class="input-group"> <input type="text" class="form-control" placeholder="Search for..."> <span class="input-group-append"> <button class="btn btn-secondary" type="button">Go!</button> </span> </div> </div> </div> <!-- Categories Widget --> <div class="card my-4"> <h5 class="card-header">Categories</h5> <div class="card-body"> <div class="row"> <div class="col-lg-6"> <ul class="list-unstyled mb-0"> <li> <a href="#">Web Design</a> </li> <li> <a href="#">HTML</a> </li> <li> <a href="#">Freebies</a> </li> </ul> </div> <div class="col-lg-6"> <ul class="list-unstyled mb-0"> <li> <a href="#">JavaScript</a> </li> <li> <a href="#">CSS</a> </li> <li> <a href="#">Tutorials</a> </li> </ul> </div> </div> </div> </div> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>Card & Footer 강의에서 Blog Post하고 Search 카드를 만드는 것을 따라하고 있는데요. 저같은 경우는 강의에서처럼 Blog Post 카드 옆에 Search카드가 배치되는게 아니라 밑에 나오게 됩니다. 어떻게 해결해야 할까요? 컨테이너 안에 제가 실수한 것이 있을까요?감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
IllegalStateException("이미 존재하는 회원입니다.")관련 질문
중복검사시 IllegalStateException("이미 존재하는 회원입니다.")로 예외를 발생하도록 강사님께서 로직을 작성하셨습니다.저는 이걸로 controller에서 받아서 예외가 발생했다면 html화면에 빨간색으로 글자를 바꾼다던가 alert창을 띄운다던가 이런 로직을 짤거라고 생각을 했는데 강사님께서 이 강의에서는 이 부분에 대해서는 추가적으로 설명이 없으셔서요 ㅜㅜrest api구현할게 아니라면제가 생각한 방법대로 해도 되나요??그리고여기서도 예외를 터뜨리셨는데 위와 같은 이유로rest api 구현이 아니라면 보통 repository나 service에서 예외를 터뜨려서 controller에서 경고창을 띄운다던가 페이지를 이동시킨다거나 글자색을 변하게 한다던가 이런식으로 로직을 짜는 건가요??
-
미해결만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
렌더마다 변경되는 값이라서 context Provider에 못 넣는 에러
선생님 강의 5:10 쯤에 temp obj를 provider value에 넣으려고 할 때, "매번 변경되는 값이라서 들어가지 않으니 hook으로 빼주면 된다고" 하셨는데요-!처음엔 그냥 따라쳤는데 복습하다 보니까 왜 custom hook으로 빼주면 괜찮은지 궁금해요. 에러 메시지가 제안하는 대로 useMemo를 쓰지 않는 건 함수가 async 라서 그런 건가요.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문제 관련해서 잘못된 부분이 있습니다.
전 항상 강의 듣기전 설명, 입력, 출력만 보고 시간이 얾마나 걸리던 풀고 강의를 보는데,입력 란에 첫 줄에 길이 100을 넘지 않는 '공백이 없는 문자열이 주어집니다.' 라고 되어있어서당연하게 next()를 사용했는데, 아무리 채점사이트 돌려봐도 오답이라길래 찾다 찾다 못 찾아서 보니, 바로 nextLine()을 사용하셨네요ㅠㅠ 결론은 공백이 있는 문자열이 존재합니다..부디 이걸보고 저 같은분 없길 바라며 남겨봅니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
Vector초기화 질문 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.#include <iostream>#include <vector>#include <set>#include <cstring>#include <algorithm>using namespace std;template <typename T>void debug(vector<vector<T>> a){cout << "-----------------------\n";for (int i = 0; i < a.size(); ++i){for (int j = 0; j < a[i].size(); j++){cout << a[i][j] << " ";}cout << "\n";}cout << "-----------------------\n";}set<int> data_H;vector<vector<int>> vec;int visited[101][101]; // 2차 배열vector<vector<int>> visited; //vector로 동적할당int M, val, cnt, ans;int dr[4] = { 0 , -1 , 1 , 0 };int dc[4] = { -1 , 0 , 0 , 1 };int nr, nc;void dfs(int r, int c, int val){visited[r][c] = true;for (int i = 0; i < 4; i++){nr = r + dr[i];nc = c + dc[i];if (nr < 0 || nc < 0 || nr >= M || nc >= M)continue;if (vec[nr][nc] <= val) continue;if (visited[nr][nc]) continue;dfs(nr, nc, val);}return;}int main(){ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);cin >> M;vec.resize(M, vector<int>(M,0));visited.resize(M, vector<int>(M,0)); //vector 사이즈입력에 맞춰 셋팅 및 초기화 int input;for (int i = 0; i < M; ++i){for (int j = 0; j < M; ++j){cin >> input;vec[i][j] = input;data_H.insert(input);}}//debug(vec);//cout << sizeof(vec);//cout << sizeof(visited);for (auto c : data_H){memset(&visited, false,sizeof(visited));fill(visited.begin(), visited.end(), 0); ////위 2가지 방식으로 하면 vector로 visited 선언할 때는 안되더라구요. 배열로 선언한 것은 되는데..cnt = 0;for (int i = 0; i < M; ++i){for (int j = 0; j < M; ++j){//cout << "debug i = " << i << " j = " << j << " c = " << c << "\n";//cout << "debug vec[i][j] = " << vec[i][j] << " c = " << c << "\n";if( (vec[i][j] > c) && (visited[i][j] != 1) ){dfs(i, j, c);cnt++;}}}//cout << "-------cnt-----\n";//cout << cnt << "\n";//cout << "-------cnt-----\n";ans = max(cnt, ans);}cout << ans;} 결론적으로, 질문을 간단히 드리면, array로 선언할 때는 memset으로 중간 초기화 작업을 할 수 있는데,vector로 사용할 때는 resize로 size 맞추면 그 다음에 초기화는 어떻게 진행해야 되는 건가요..ㅠ.ㅠ일일이 하나씩 해줘야 하는건가요?