묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
청와대 청원 데이터 시각화
크롤링 오류
삭제된 글입니다
-
해결됨더 자바, 코드를 조작하는 다양한 방법
PC 레지스터의 설명 부분에 오류가 있는 것 같습니다.
안녕하세요? 기선님 영상에서 작은 오류를 발견한 것 같은데요. PC 레지스터는 현재 실행중인스트럭션의 주소가 저장되는 게 맞는 듯합니다. The pc Register The Java Virtual Machine can support many threads of execution at once (JLS §17). Each Java Virtual Machine thread has its own pc (program counter) register. At any point, each Java Virtual Machine thread is executing the code of a single method, namely the current method (§2.6) for that thread. If that method is not native, the pc register contains the address of the Java Virtual Machine instruction currently being executed. If the method currently being executed by the thread is native, the value of the Java Virtual Machine's pc register is undefined. The Java Virtual Machine's pc register is wide enough to hold a returnAddress or a native pointer on the specific platform. (출처: 오라클)
-
미해결타입스크립트 입문 - 기초부터 실전까지
이넘의 사용법에 대해 이해가 되는 강의였습니다!
안녕하세요! 앞에서 이넘 강의를 들을 때는 막상 어떻게 사용하는건지? 용도가 불분명해서 그렇구나..하고 넘겼던 부분인데 전화번호부 프로젝트에서 이넘을 구체적으로 사용하는 부분을 보고나서야 이해가 되었네요. 개발할 때 상수처리가 필요한 단어들을 const로 정의해서 사용했었는데요. 모양이 똑같은데 타입스크립트에서는 enum으로 정의해서 사용하는군요! const로 정의하고 나서 활용할때는 해당하는 이름과 const에 정의한 이름이 같은지 비교하고, 아닐경우 에러 던져주는 처리까지 따로 했어야했는데.. 타입스크립트의 enum으로 함수의 파라미터로 받을 수 있는 경우를 제한해버리게되면 애초에 enum에 정의된 변수 외에 다른 단어가 들어올 수 없게 되므로 따로 예외처리할 필요가 없어지네요. 이넘에 대한 이해도와 타입스크립트를 통해 갖게되는 이점(?)을 깨달을 수 있는 강의였습니다. 감사합니다!! :)
-
미해결Do it! 프론트엔드 웹 디자인 입문
강의 순서요
아무것도 모르는 입문자라서요 이 강의를 듣고있는데 혹시 이거 다 듣고는 뭐를 들어야할까요?
-
미해결스프링 프레임워크 핵심 기술
인터페이스가 있는 경우 인터페이스 타입으로 주입하는 추가 질문입니다.
AOP가 뭔지 이해하는 과정에서 그렇구나 하고 넘어가다 갑자기 인터페이스가 있는 경우 왜 인터페이스 타입으로 주입해야하는거지 하고 질문 게시판을 봤는데 역시나 같은 궁금증을 가진 분이 있어서 답변을 보았습니다. 먼저 클래스가 final이나 생성자가 private일 때는 이해가 갔는데 유튜브로 보여주신 건 보고 좀 생각을 오랫동안 해봤습니다. 스프링 트랜젝션과 AOP 등등 구글링을 많이 해보면서 이해를 해보았는데요 spring.aop.proxy-target-class를 false로 인터페이스 기반으로 프로퍼티를 설정해준다음 인터페이스에서@Transactional 을 메소드에 붙이면 인터페이스 기반으로 프록시 객체가 만들어지고 메소드가 호출될 때 프록시 객체가 그 메세지를 대신 받아 트랜젝션을 실행시키고 메소드를 실행하는데 @Autowired를 클래스로 주입하면 자기 자신의 메서드를 호출하면서 인터페이스 기반으로 트랜잭션 프록시 객체가 만들어졌기 때문에 프록시 객체를 거치지 않게 되고 그래서 에러가 나는걸로 이해했습니다. 이게 맞게 이해한건가요? 아니면 어느 부분을 더 봐야하는지 알려주시면 감사하겠습니다.
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
with open으로 파일 읽는 경우
안녕하세요 '파이썬으로 Plain Text 포맷 다루기' 강의에 관하여 질문드립니다. plaintext_file_format 파일의 연습문제를 풀면서 00_data/text_data_practice.txt 파일 읽고, 다음과 같이 출력되는지 확인하기 를 확인하기 위해 아래와 같이 코드를 작성했습니다. with open('00_data/text_data_practice.txt', 'r', encoding='utf-8-sig') as text_file : print(text_file.readlines()) print(text_file.read()) 위 코드를 실행하니 print(text_file.readlines())는 잘 출력이 되나, print(text_file.read())는 아무것도 출력되지 않아서 질문드립니다. with 블록 안에서 readlines()와 read()를 하나씩만 각각 실행할 때에는 정상적으로 출력이 됩니다. 그러나 두 함수를 둘 다 실행하는 경우(각각 print()로 출력하거나 print(readlines(), read())로 출력하는 경우)에는 readlines()만 출력되고 read()는 공백만 출력됩니다. with 블록 안에서는 하나의 동작만 가능한가요? 에러가 발생한 것도 아니라서 문제점을 모르겠습니다. 감사합니다.
-
미해결웹 게임을 만들며 배우는 Vue
vue에 sass적용할 때 webpack설정 질문입니다
vue에 scss를 적용하는 법이 궁금해서 질문 올립니다. 공식문서를 보면 npm install -D sass-loader node-sass를 한 후 "devDependencies": { "css-loader": "^4.3.0", "eslint": "^7.16.0", "eslint-plugin-vue": "^7.4.0", "node-sass": "^5.0.0", "sass-loader": "^10.1.0", "vue-loader": "^15.9.6", "vue-style-loader": "^4.1.2", "vue-template-compiler": "^2.6.12", "webpack": "^4.44.2", "webpack-cli": "^3.3.12", "webpack-dev-server": "^3.11.0" } webpack config를 아래와 같이 설정하라고 되어 있던데 안되는 이유가 뭔지 잘 모르겠습니다. 제가 뭘 놓치고 있는 걸까요? module: { rules: [{ test: /\.vue$/, use: 'vue-loader', }, { test: /\.scss$/, use: [ 'vue-style-loader', 'css-loader', 'sass-loader' ] }, { test: /\.css$/, use: [ 'vue-style-loader', { loader: 'css-loader', options: { esModule: false, } }, ] }, ], }, <style scoped lang="scss"> .login { width: 235px; height: 60px; padding: 20px 91px 13px 87px; border-radius: 5px; background-color: #00c854; p{ font-family: SpoqaHanSans; font-size: 22px; font-weight: bold; font-stretch: normal; font-style: normal; line-height: 1.14; letter-spacing: normal; text-align: left; color: #ffffff; } } </style>
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
.format(변수)가 어떤 원리인지 이해가 안갑니다.
print("대기번호 : {0 }".format(waiting_no)) 를 했을 때 대기번호 : 1 대기번호 : 2 대기번호 : 3 대기번호 : 4 이렇게 출력값이 나오는데, 정확히 .format() 이 어떤 원리인지 이해가 가질 않습니다.
-
미해결모던 안드로이드 - 코틀린과 Jetpack 활용
retrofit2에서 코루틴을 이용하는 이유가 무엇인가요?
코루틴과 retrofit2 둘다 이미 비동기로 처리하는걸로 아는데 단순히 자바스러운(?) 긴 코드를 줄일 수 있기 때문에 사용하는건가요? 성능상의 차이는 없나요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
안녕하세요 제로초님
이미 리트윗한 게시물을 다시 리트윗 버튼을 눌렀다고 가정했을 시 밑의 코드가 실행되잖아요? router.post('/:postId/retweet', isLoggedIn, async (req, res, next) => { // POST /post/1/retweet try { const post = await Post.findOne({ where: { id: req.params.postId }, include: [{ model: Post, as: 'Retweet', }], }); console.log("post:::::::::::::",JSON.stringify(post),"enddddd"); if (!post) { return res.status(403).send('존재하지 않는 게시글입니다.'); } if (req.user.id === post.UserId || (post.Retweet && post.Retweet.UserId === req.user.id)) { //자기 게시글을 리트윗 하는것 자기 게시글을 남이 리트윗한것을 자기가 리트윗 하는것 return res.status(403).send('자신의 글은 리트윗할 수 없습니다.'); } const retweetTargetId = post.RetweetId || post.id; console.log("retweetTargetId:::::::::",retweetTargetId,"enddddddddddd"); const exPost = await Post.findOne({ where: { UserId: req.user.id, RetweetId: retweetTargetId, }, }); // console.log("exxxxxxPost:::::",JSON.stringify(exPost),"enddddd"); if (exPost) { return res.status(403).send('이미 리트윗했습니다.'); } 제가 리트윗한 게시물을 다시 리트윗해도 post.RetweetId는 null로 들어오는데 const retweetTargetId = post.RetweetId || post.id; 여기서 post.RetweetId는 필요 없지 않나요? 이것을 지워도 잘 동작하긴 하더라구요??
-
미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
[강력/최신 크롤링 기술: Scrapy 이해하기] 강의 관련 질문 남깁니다.
안녕하세요, 일단 질 좋은 강의를 들을 수 있게 해주셔서 감사합니다. 다름이 아니라, 해당 강의 11분 38초 가량에서 맥과 다르게 윈도우에서는 오류가 날 가능성이 있으며, 오류가 발생할 때 시도하라고 알려주신 마지막 방법인 visualstidio에서 다운로드를 하여 해결하려 했습니다. 이 때 visual studio install을 마친 후 보이는 위 그림 페이지에서 추가로 설치해주어야 하는 부분이 있는지 궁금합니다. 추가로, 만약 추가로 설치해주어야 하는 부분이 없다면, visual studio를 설치해주는 것만으로 해결이 되는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Mac grade build 오류 문의입니다~
안녕하세요 해당 폴더로 이동은 하였는데 빌드하니 이런 오류가 발생하네요 ㅠ 왜 이런 에러가 나오는걸까요 ㅠ 이미지 다시 업로드 했습니다!
-
미해결더 자바, 애플리케이션을 테스트하는 다양한 방법
IllegalStateException : Mapped port can only be obtained after the container is started 오류
'TestContainers 기능 살펴보기' 강좌에서 GenericContainer를 만들고 실행하는데 계속 Mapped port can only be obtained after the container is started 오류가 납니다. POSTGRES_PASSWORD 세팅도 해보고, POSTGRES_HOST_AUTH_METHOD =trust 로 수정도 해보고, 버전도 모두 확인했는데 어떤 이슈인지 잘 모르겠습니다 ... 해당 코드: https://github.com/ahnzhx/TIL/blob/master/src/test/java/com/java/tddTheJava/study/StudyServiceTest2.java 에러는 postgreSQLContainer.getMappedPort(5432) 이 부분에서 납니다. static class ContainerPropertyInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext>{ @Override public void initialize(ConfigurableApplicationContext context) { TestPropertyValues.of("container.port="+postgreSQLContainer.getMappedPort(5432)) .applyTo(context.getEnvironment()); }} 어떻게 해결해야할지 알려주시면 다시 해보겠습니다!! 감사합니다.
-
미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
npm nodemon 관련 에러
vscode를 사용하고 있는데, $ npm uninstall nodemon npm ERR! code ELOOP npm ERR! syscall open npm ERR! path D:\WorkSpace_OrangeDigit\test1\node_modules\nodemon\npm-shrinkwrap.json npm ERR! errno -4067 npm ERR! ELOOP: too many symbolic links encountered, open 'D:\WorkSpace_OrangeDigit\test1\node_modules\nodemon\npm-shrinkwrap.json' 이런 에러가 나면 어떤 방법을 써야되나요..? ㅠㅠ
-
미해결스프링 핵심 원리 - 기본편
오타 제보드립니다.
항상 좋은 강의를 제공해주셔서 감사합니다. 강의 자료중 오타가 있어서 제보드립니다. P.73 스프링 DI 컨테이너 그림 아래 이미 만들어진 객체를 공유해서 효율적으로 재사용 사용할 수 있다. P.84 컴포넌트 스캔과 의존관계 자동 주입 시작하기 3번째줄 몇게 -> 몇개 P.90 코드부터 세번째 줄 basePackageClasses : 지정한 클래스의 패키지를 탐색 시작 위치?로 지정한다. P.104 @Aurowired → @Autowired P.109 조회 빈이 2개 이상 - 문제의 ac.getBean(DiscountPolicy.class) 아래 스프링 빈 조회해서 → 조회에서 P.112 @Primary 사용 @Autowired 시에 여러 빈이? P. 119 코드부터 두번째 줄 DiscountPolicy의 구현 빈들만 따로 모아서 특정 패키지"에?" 모아두자. P. 149 HTTP request 요청 당 각각 할당되는 request 스코프의 위 비슷한다 → 비슷하다. P. 152 마지막줄 이게 이제? 이 빈은 HTTP 요청당 하나씩 생성되고
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
안녕하세요 강의 듣고나서 혼자서 만들어봤는데.. 영 모르겠어서 질문 남깁니다.
이렇게 여기에 질문해도 될지 모르지만... 어제 파이썬 초급 강의를 모두 마치고 어설프게 나마 혼자서 코딩 해봤습니다.. 저는 특정 메뉴 활동을 마친 이후에 자동으로 처음으로 돌아가는게 아니라, 특정 명령어를 입력하면 처음으로 돌아가게끔 하고싶은데, 도저히 어떻게 해야할지 떠오르지 않아서 열심히 구글링하고 찾아보다가 결국 선생님께 도움 요청합니다 ㅠㅠ 직접 코딩 해본거라서 많이 허접할 지도 모르지만.. 제가 원하는 건.. 1번으로 신규 학생을 등록, 2번으로 기록열람, 3번으로 상담기록 추가를 한 후 특정 명령어를 입력하면 맨 처음 메뉴가 출력되었으면 좋겠습니다. while문으로 해두니까 계속 처음으로 돌아가서 특히 상담 기록 열람을 하고 난 이후에 상담 내용이 위로 쭉 올라가 버리더라구요 ㅠㅠ 지도편달 부탁드립니다. #시작 import os import csv def counseling(): while True: print("------학생 상담 일지------") print("1 - 학생 신규 등록") print("2 - 상담 기록 열람") print("3 - 상담 추가 기록") print("4 - 프로그램 종료") menu1 = input("번호를 입력해주세요 :") if menu1 == '1': newname = input("학생의 이름을 입력해주세요 : ") print(newname) with open('./students/{}.csv'.format(newname), 'w', newline="") as n: date = str(input("상담 날짜 : ")) content = str(input("상담 내용 : ")) writer = csv.writer(n) writer.writerow([date, content]) elif menu1 == '2': path = './students' lists = os.listdir(path) for a in lists: print(a) open_name = input('학생의 이름을 입력하세요 : ') with open("./students/{}.csv".format(open_name), 'r') as f: rdr = csv.reader(f) for v in rdr: print(v) elif menu1 == '3': path = './students' lists2 = os.listdir(path) for a in lists2: print(a) add_name = input("학생의 이름을 입력해주세요 : ") with open('./students/{}.csv'.format(add_name), 'a') as b: date = str(input("상담 날짜 : ")) content = str(input("상담 내용 : ")) writer = csv.writer(b) writer.writerow([date, content]) else: if menu1 == '4': break counseling()
-
미해결함수형 프로그래밍과 JavaScript ES6+
Symbol.iterator 에 관해서
현재 저는 자바스크립트에 대해 정확한 문법을 100% 숙지한 사람은 아닙니다. 그래서 순회를 하는 과정에서 let iter = arr[Symbol.iterator] << 여기서 [] 안에 Symbol.iterator가 이해가 잘 안되더라고요 . 그래서 Symbol에 대한 js 지식들을 찾아보았지만 여전히 이해하기가 어려웠습니다. 그래서 현재 생각한 방법이 두 가지가 있습니다. 1. "우선은 [Symbol.iterator] 에 대해서는 iterator를 해주기 위함이다." 앞과 같이 알아만 두고 다음으로 진행을 한다. 2. 지금 강사님께 어디서부터 봐야한다는 것을 확인 후 거기서 부터 공부를 한 후 다음 강의로 넘어간다. 만약 중요한 부분이고, 꼭 필요한 이해라고 하면 2번을 선택할 생각입니다. 때문에 어떤 방향을 선택하는 것이 좋을지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew build시 오류가 생깁니다.
윈도우 cmd 에서 gradlew build 하니깐 이런 오류가 생겨요.. gradle.bat 까지는 성공했는데.. gradlew build에 실패해서 lib 폴더 생성이 안된거 맞나요?
-
미해결스프링 핵심 원리 - 기본편
강의자료 오타가 있는듯 해서요...
별로 중요한건 아닌데... 90페이지 basePackageClasses : 지정한 클래스의 패키지를 탐색 시작 위로 지정한다. 이 부분에서 "탐색 시작 위치로"가 아닐까 합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강사님 질문입니다!
이번에 기회가 되서 강사님의 명강의를 듣게 되었습니다! 계속 시청하다가 궁금한 점이 생겼는데 요 부분에서 repository.findByName("spring2");로만 끝내면 안되고 .get();으로 끝맺음 지으시는 이유가 저희가 맨 처음 MemberRepository 인터페이스에서 선언할 시에 Optional<Member> findByName(String name)으로 정의 해서 그런건가요! 자바를 그렇게 깊게 판 게 아니라서 헷갈리는 부분이 좀 많네요 ㅠㅠ Optional이 Null일 때 NullPointerException 예외를 방지하려고 Null일 때도 Null이라는 값을 리턴할 수 있게 해주는 게 맞는지요! 그리고 이 Optionial이란 것을 사용했으면 findByName(String name)을 사용 할 때 .get()을 무조건 붙이는건가요~! 늦은 밤 기초적인 질문 죄송합니다 ㅜㅠ