묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
41번 질문있습니다!
강사님 강의 잘 듣고있습니다. 다름이 아니라 제가 생각해낸것은 1부터 n 까지의 합 공식을 이용해서 연속된 숫자들의 합을 계산해둔 것인데, 예를들어 4+5+6이면 1부터 6까지의 합공식 -> 6*7/2 = 21 에서 1부터 3까지의 합공식 -> 3*4 /2 = 6을 빼면 되는것 같아서 밑에처럼 짜봤습니다. #include<iostream> using namespace std; int main() { int n; cin >> n; int ans = 0; int k; for (int i = n-1; i >=1; i--) {// i를 역순으로 하면 개수가 작은놈부터 출력 i를 정순으로 하면 개수가 많은놈부터 출력 for (int j = 1; j < n - 1; j++) { if (i*(i + 1) - j * (j - 1) == 2 * n) { for (k = j; k < i; k++) { cout << k << "+"; } cout << i << " = " << n << endl; } } } return 0; } 근데 아무리 봐도 효율이 좋은것같지는 않네요.. 교수님 코드처럼 생각해내는게 중요한데 아직 거기까진 못간것같습니다.. 면접때 이런 질문이 나왔다고 하셨는데 제가쓴 방식대로 해도 괜찮은건가요? 처음 딱 봤을때 교수님 풀이를 생각해낼것 같지는 않아서 질문드립니다.. 이렇게 짜도 결과는 같게 나오는것 같습니다!
-
미해결운영체제 공룡책 강의
8강의 exercise 4.17의 풀이가 잘 이해가 되지 않습니다 ㅠㅠ
8강의 exercise 4.17의 풀이가 잘 이해가 되지 않습니다. fork()에 대해서 제 이해가 부족한 것 같은데요, 아래에 제가 이해한 부분을 정리해 보았습니다. 먼저 첫 fork()에서 child process (p1)을 생성합니다. 이때는 프로세스가 p0,p1 이렇게 두개가 있겠지요. fork()는 부모 프로세스에서는 방금 만든 자식 프로세스의 pid값을 리턴하고, 자식 프로세스에서는 0을 리턴합니다. 그래서 먼저 p0프로세스는 if문을 실행하지 않고 제일 아래 fork()를 통해 또 다른 자식 프로세스 p3을 만들고 종료합니다. 이제 아까 만든 p1 프로세스를 살펴보면, pid값이 0이어서 if문 안으로 들어갑니다. 들어가서 fork()를 하게 되는데요, 이때 새로운 프로세스 p2를 만듭니다. 그리고 p1 프로세스는 thread를 만들고 if문을 나와서 fork()를 하여 새 자식 프로세스 p4를 만든 후 종료합니다. 이제, 제가 헷갈리는 부분인 p2프로세스에 대해서 이야기해 보겠습니다. p1프로세스에 의해서 만들어진 p2 프로세스는 if문 안의 fork()에 의해서 만들어졌습니다. 그리고 바로 아래 코드인 thread_create()를 통해서 쓰레드를 하나 더 만들게 되는데요. 이때의 p2 프로세스의 구체적 상황이 궁금합니다. 1. 자식 프로세스를 fork()를 통해서 만들때, stack heap data text 등의 프로세스를 구성하고 있는 전 영역이 그대로 복사가 되는 것으로 알고 있습니다. 그러면 p2 프로세스는 부모인 p1프로세스가 가진 pid=0이란 변수를 가지고 있는 것인가요? 2. p2 프로세스가 실행될때, 코드 내 어느 부분부터 실행이 되는지 구체적으로 궁금합니다. 저는 막연히 fork() 이후 코드부터 실행이 되겠구나 이해를 하고 있었는데, 그래서 thread_create()를 하는 부분은 이해했습니다. 그런데, 해당 코드는 원래 if문으로 둘러쌓여져 있기에, p2가 if 문을 인지하고 있는 것인지, 그래서 if문을 빠져나와서 (pid값이 0이라서) fork()를 또 할 수 있는 것인지 궁금합니다. 이 부분이 사실 이해가 되지 않습니다... if문이랑은 별개로 p2 내의 코드는 thread_create() 이후에 곧바로 fork()로 이어져 있는 것인지.. 헷갈리네요 ㅠㅠ
-
미해결홍정모의 따라하며 배우는 C++
이해안가는 부분 질문있습니다
앞 강의에서 최대 최소 구할때 하나하나씩 비교하는 것이랑 이번 선택정렬에서 하나씩 비교하는 것이랑 어떻게 다른건가요? for (int i = 0; i < length - 1; i++) { for (int j = i + 1; j < length; j++) { if (arr[i] > arr[j]) { // ? int temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } printArr(arr, length); } 여기서 if(arr[i] > arr[j]) 하는것이 이해가 안가네요 앞선 강의에서 배열에서 최대를 구할때는 max라는 변수를 하나 만들고 거기에 max = scores[0]; 이런식으로 하나 대입하여서 if (max < scores[i]) { max = scores[i]; } 배열을 하나씩 비교하면서 크면 바꿔주고 이런식이라서 이번 선택정렬도 이런식으로 비교하면 될줄알아서 for (int i = 0; i < length - 1; i++) { int small = arr[0]; for (int j = i + 1; j < length; j++) { if(small > arr[j]) } } 이렇게 해봤는데 아예 이상하게 나와버리네요 ㅜㅜ
-
미해결UX/UI 시작하기 : Figma 입문 (Inflearn Original)
피그마 Export 기능 관련 질문이요!
피그마에서 디자인한 결과물을 html이나 css로 사용할 때 export 기능 처럼 적은 정보 말고 완전히 디자인 자체를 html, css등으로 추출할 수는 없을까요? 재플린 같은 프로그램을 써야 하나요?
-
미해결Vue로 Nodebird SNS 만들기
질문있습니다.
강사님 store action에 아래 소스와 같이 적용하면 에러가 뜹니다. CHECK_ID({ commit }, data) { this.$axios.post('/sign/used-id', data, { withCredentials: true, }) .then((response) => { commit('SET_USER', response.data.user); commit('SET_TOKEN', response.data.token); }) .catch((err) => { console.log(err); }) }, Access to XMLHttpRequest at 'http://test.test.co.kr/api/sign/checked-id' from origin http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.이와 반대로 아래 소스와 같이 withCredentials:true를 지우면 api가 성공적으로 실행되더라구요. CHECK_ID({ commit }, data) { this.$axios.post('/sign/used-id', data) .then((response) => { commit('SET_USER', response.data.user); commit('SET_TOKEN', response.data.token); }) .catch((err) => { console.log(err); }) }, withCredentials:true를 추가해야 cors 이슈가 없는 것 아닌가요??어떤식으로 해결해야되는지 궁금합니다.답변 부탁드리겠습니다 ㅎㅎ ㅠ
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
컴파일링 에러: This dependency was not found 관련 질문
안녕하세요 강사님, userView 파트는 전부 이해했고, 개인 로럴 서버 돌리는 데 This dependency was not found: * core-js/modules/es.array.concat.js in ./src/api/index.js To install it, you can run: npm install --save core-js/modules/es.array.concat.js이러한 에러코드가 떠서 구글링 이후에 추가적으로 아래와 같이 적용시키고 바로 해결했는데요, 왜 이런 것인지 답변을 구할 수 있을까요?npm install --save core-js
-
미해결
강의영상오류
안녕하세요 강의를 시청하고 싶은데 The media could not be loaded, either because the server or network failed or because the format is not supported. 란 오류가 나옵니다. 해결방법 부탁드립니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
질문 있습니다!
섹션 10. Ultralytics Yolo 실습 - 02 강의를 따라 인크레더블 데이터 셋이 아닌, 제가 수집한 데이터로 학습을 수행중인데, 혹시 label을 한글로 했을 경우에 문제가 되는 것이 있을까 싶어 질문드립니다. 또 학습 진행 과정 중 밑과 같은 WARNING이 여러 줄 뜬 이후 별 문제 없이 학습이 진행되고있는데 어떤 오류인지 모르겠습니다.. 아, 학습 완료된 모델로 detect를 할 때 output으로 box처리된 이미지 뿐만 아니라 text로도 출력을 하고싶은데, 이 또한 질문 드립니다! 항상 좋은 강의 감사드립니다. train: WARNING: /content/food/Images/train/B070201_51763.jpg: ignoring corrupt image/label: could not convert string to float: 'None'
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
npm run start시 new TextEncoder(); 에러 납니다.ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.{ "name": "react", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "node index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "express": "^4.17.1", "mongodb": "^4.1.4", "body-parser": "^1.19.0", "mongoose": "^6.0.13" } } 위에는 package.json이고 index.js에 const mongoose = require('mongoose'); 넣기만해도 아래와같이 에러납니다. 왜그런걸까요
-
미해결스프링 핵심 원리 - 기본편
Bean Definition의 Bean Object 변경 과정이 궁금합니다!
안녕하세요, 김영한 강사님과 서포터즈 님들 덕분에 항상 많은 것들을 배워가고 있습니다. 한 가지 문의할 것이 있어 글을 적었는데, 도와주시면 너무 감사하겠습니다. 스프링 컨테이너는 Bean Definition을 참고해서 스프링 Bean을 생성한다고 강의에서 설명이 되었는데, 정확히 어떻게 동작하는지 감이 오지 않아 문의드립니다. Bean Definition은 빈과 관련된 정보가 key : value 형식으로 여러가지 저장이 되어있는 것으로 알고 있습니다. 그러면 스프링 컨테이너는 이 Bean Definition을 어떻게 참고해서 스프링 빈을 생성하는지 궁금합니다. 예를 들어 Bean 클래스로 Bean 객체를 일단 만든 다음에, Bean 객체에 대한 주요한 설정은 Bean Definition을 보고 생성해주는지(의존관계 주입이라든지) 등등이 궁금합니다. 항상 도와주셔서 감사합니다!
-
미해결스프링 핵심 원리 - 기본편
Bean 메타정보 관련 동작, 스프링 컨테이너에 등록되는 과정이 궁금합니다.
안녕하세요. 항상 양질의 답변 글을 달아주셔서 너무 감사합니다. 다름이 아니라 이전 강의를 복습하면서, 제가 궁금한 부분이 있어 질문 드리고 싶어 글을 적습니다. Bean Definition을 통해서 스프링 컨테이너에 등록되는 과정이 궁금한데, 한번 이런 흐름으로 가는데 틀린 부분이 없는지 봐주실 수 있을까요? 전체 흐름이 맞는지, 그리고 각 과정에서 잘못 알고 있는 부분은 없는지 한번 알려주시면 감사하겠습니다. 1. 스프링부트가 시작되면 @Configuration이 붙은 AppConfig 클래스를 자동으로 스캔해서 스프링 컨테이너에 넣는다 2. 스프링 컨테이너, 여기서는 ApplicationContext의 구현체인 AnnotationApplicationContext가 AppConfig.class 정보를 AnnotatedReader를 통해서 읽은 다음 @Bean이 붙은 Bean Definition을 만든다. 3. 만들어진 Bean Definition을 AnnotationApplicationContext에서 읽어서 빈 객체를 생성해서 내부 빈 저장소에 저장한다. 이 때, 각 메서드는 @ComponentScan에서 생성자 주입과는 다르게 동작한다 (생성자 주입은 빈 객체를 생성하면서 의존관계 주입 설정 완료) 4. 의존관계 주입 단계에서 각 Bean Definition을 참고해서 Bean 간의 의존 관계를 설정해준다. 이 때, 생성 방식은 Bean Factory Interface의 구현체인 AnnotationContext로 했기 때문에 Bean Factory Method 방식으로 Bean Definition이 생성되었다. 앞뒤 내용을 조합해보면, 이렇게 될 것 같은데.. 혹시 틀린 부분이 없을지 같이 한번 봐주실 수 있으실까요? 항상 많은 가르침 주셔서 너무 감사합니다.
-
미해결쉽고! 짧고! 강하게! 준비하는 웹디자인기능사 실기
코딩웍스 유튜브 동영상
코딩웍스 유튜브 웹디자인 관련 동영상을 모두 보고 추가로 필요한 부분이 있어 수강을 했는데 강의하시는 분도 다르고 코딩 스타일이 달라서 처음부터 다시 시작하는 기분이 듭니다. 혹시 유튜브 강의 하신 분이 개설한 강좌는 없는건지요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
오타
p26에 '기본 값이 naver인 부분은 다음 3가지 옵션을 사용할 수 있다' 에서 naver -> never 아닌가용?
-
미해결야곰의 iOS 프로그래밍
ios13이 생기고 변경점 관련
[2:54] UserDefaults 사용하여 마지막 주소 저장 관련. ios 13이 생기고 scene delegate가 생겼는데 1. 그럼 저장(set) 할 때 SceneDelegate 폴더 -> ScneDelegate Class -> sceneWillResignActive메서드 안에 입력을 하는게 맞나요? 2. 읽어올 때 [3:45] didFinishLaunching... 에서 앱 실행할 때 저장된 값을 불러오는 것 같은데 ios13 이후 그대로 여기에 추가하는게 맞는 지 궁금합니다.
-
미해결선형대수학개론
강의 파트 질문드립니다!
안녕하세요! 대학교에서 선형대수 강의를 듣고있는데, 인프런 강의로 부족한 부분 잘 채워나가고 있습니다! 다름이 아니라, 학교 교재랑 강의 목차랑 조금 달라서 학교 진도에 맞춰서 듣고싶은데, 제가 아래에 나와있는 단원들을 공부하려면 어느 부분(몇번째 강의)을 수강하는게 좋을까요? Basic and dimension /change of basis /row space and column space linear transformations(definition and examples / matrix representation of linear transformations) scalar product in R^2 orthogonal subspaces
-
미해결Klaytn 클레이튼 블록체인 어플리케이션 만들기 - NFT
컴파일러 버전이 안된다고 나옵니다.
컴파일러 정하는 곳에서 current version: 0.4.24+commit~ 을 고르고 나면 Compiler is loading, please wait a few moments 가 나오고 계속 안됩니다. 해당 이슈가 별도 해결 방법이 있나요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
권한 부탁드립니다
인프런 아이디 : hwisaek 인프런 이메일 : dia_changmin@naver.com 깃헙 아이디 : dia_changmin@naver.com 깃헙 Username : hwisaek
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
mapState 적용 시 뜨는 간단한 에러코드에 관해
강사님 덕분에 잘 배우고 있습니다, 감사드립니다. 영상 05:12초에 mapState 가져와서 적용하고 로컬 서버를 띄우려고 하니 To install them, you can run: npm install --save core-js/modules/es.array.filter.js core-js/modules/es.object.get-own-property-descriptor.js core-js/modules/es.object.get-own-property-descriptors.js core-js/modules/es.object.keys.js core-js/modules/es.object.to-string.js core-js/modules/es.symbol.js core-js/modules/web.dom-collections.for-each.js 이러한 문구가 뜹니다. core.js 를 설치하면 될거라고 생각했어요, 그리고 나서 https://vuex.vuejs.org/kr/guide/state.html 에 들어가서 문서를 읽어보니 해당 문법이 조금 바꼈더라구요. 이러한 부분은 단순히 vue에서 어느정도 유도한 부분이 맞는지 해서 궁금했고, 제가 간단히 어떻게 받아들이면 되는지 해서 글 남겨요!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
message 국제화
이번 단원에서는 오류 메시지 처리에 관련해서만 강의해서 편의상 error_message를 새로 만든 것 같은데요. 만약 실무에서 국제화 기능을 활용해서 한글, 영문 등에 대한 여러 언어를 지원한다고 가정했을때는 결국 error_message도 kr_message와 en_message 두 곳으로 쪼개어져서 작성되어야 하는게 맞는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트용 데이터, 정적 팩토리 메소드 질문!
MVC2편 강의를 참고해서 테스트 데이터를 다음과 같이 만들어보았습니다. @Component@RequiredArgsConstructorpublic class TestDataInit { private final MemberService memberService; /** * 테스트용 데이터 추가 */ @PostConstruct public void init(){ memberService.join(new Member("test1", new Address("CITY1", "ZIPCODE1", "STREET1"))); memberService.join(new Member("test2", new Address("CITY2", "ZIPCODE2", "STREET2"))); }} Member엔티티 @Entity@Getter@Setterpublic class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name; @Embedded private Address address; @OneToMany(mappedBy = "member") private List<Order> orders = new ArrayList<>(); public Member(String name, Address address) { this.name = name; this.address = address; } public Member() { }} 위의 코드와 같이 MemberService.join()메소드를 사용하기 위해서 Member 엔티티에서 생성자를 추가하였는데 강의 에서는 엔티티를 최대한 순수하게 유지하는 것이 좋다고 하셨는데 이런 생성자들도 만들지 않는게 좋은 설계일까요? setter를 쓰지 않고, order엔티티처럼 생성자에 접근제한을 두어 정적 팩토리 메소드를 통해서 생성하는게 좋다고 하셔서 Member는 그대로 두고, Book엔티티를 아래와 같이 바꾸어 보았습니다. Item과 Book처럼 추상클래스의 상속관계는 setter를 사용하지 않고, 어떤식으로 코드를 짜야할지 감이 안와서 아래와 같이 무작정 setter를 빼고 만들어 봤습니다. @Component@RequiredArgsConstructorpublic class TestDataInit { private final MemberService memberService; private final ItemService itemService; /** * 테스트용 데이터 추가 */ @PostConstruct public void init(){ memberService.join(new Member("test1", new Address("CITY1", "ZIPCODE1", "STREET1"))); memberService.join(new Member("test2", new Address("CITY2", "ZIPCODE2", "STREET2"))); itemService.saveItem(Book.createItem("JPA1", 10000, 100, "test1", "test1")); itemService.saveItem(Book.createItem("JPA2", 20000, 200, "test2", "test2")); }} Item엔티티 @Entity@Inheritance(strategy = InheritanceType.SINGLE_TABLE)@DiscriminatorColumn(name = "dtype")@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)public abstract class Item { @Id @GeneratedValue @Column(name = "item_id") private Long id; private String name; private int price; private int stockQuantity; @ManyToMany(mappedBy = "items") private List<Category> categories = new ArrayList<>(); protected Item(String name, int price, int stockQuantity) { this.name = name; this.price = price; this.stockQuantity = stockQuantity; } //비즈니스 로직 /** * stock 증가 */ public void addStock(int quantity){ this.stockQuantity += quantity; } /** * stock 감소 */ public void removeStock(int quantity){ int restStock = this.stockQuantity - quantity; if (restStock < 0) { throw new NotEnoughStockException("need more stock"); } this.stockQuantity = restStock; }} Book엔티티에서 super로 참조하기 위해서 Item에 생성자를 추가하고, 접근제한을 PROTECTED로 변경했습니다. Book엔티티 @Entity@DiscriminatorValue("B")@Getter@NoArgsConstructor(access = AccessLevel.PRIVATE)public class Book extends Item { private String author; private String isbn; private Book(String name, int price, int stockQuantity, String author, String isbn) { super(name, price, stockQuantity); this.author = author; this.isbn = isbn; } public static Book createItem(String name, int price, int stockQuantity, String author, String isbn) { Book book = new Book(name,price,stockQuantity,author,isbn); return book; }} 위의 코드와 같이 생성자들의 접근제한을 private으로 두고 createItem의 정적 팩토리 메소드를 생성했습니다. ItemController @PostMapping("/items/new")public String create(BookForm form) { Book book = Book.createItem(form.getName(), form.getPrice(), form.getStockQuantity(), form.getAuthor(), form.getIsbn()); itemService.saveItem(book); return "redirect:/items";} 추상클래스의 상속관계에서 정적 팩토리 메소드를 작성하는 방법이 맞는가 싶네요.. 이런식으로 사용하는게 맞는 방법인가요?? 뭔가 짜다보니 이상한것 같기도해서요 너무 두서없이 작성해서 죄송합니다 ㅠㅠ