묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
rfce로 하시는데 rafce로 해줘도될까요?
rafce로 해줄경우 cosnt aaa => () => { return } 이런식으로 코드가 나오는데 나중에 크게 문제없을까요? 또 강사님은 function으로 해주신 특별한 이유가 있으신지 궁금합니당 감사합니다
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
덱에서의 임의 접근
연결 리스트에서 i번째 원소를 조회하는 것이 느렸던 것 처럼 덱에서도 i번째 동(?)이 어디 있는지 찾는 연산이 느린건가요? 연결 리스트와 덱을 연관지어서 생각하자면, 연결 리스트는 호가 1개뿐인 동들이 연결되어있다고 생각해도 괜찮나요?
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
vscode 실행실 터미널 오류
Vscode 로 예제파일을 실행중에 실행이 되지 않고 터미널에 오류가 발생되어 질문드립니다. 1.anaconda 재설치 후 path설정 체크 2.conda python 으로 prtier 변경 3.terminal defualt 변경 3가지 방법으로 시도 해보았으나 되지않아 스샷과 함꼐 남깁니다. 혹시 파이썬 설치경로와 예제파일 설치경로상의 문제가 있는건지 확인부탁드립니다.
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
blog.save에 관련하여 질문있습니다.
let blog = new Blog({...req.body, user}); blog.save(); 할 때, user를 안 넣고 user의 ObjectId를 직접 입력해줘도 상관없을까요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
제 visual studio에서는 number++의 원자성이 보존되는거같은데 맞나요...?
제 디스어셈블리에서는 number++; 가 선생님 강의와 다르게 나옵니다. number의 주소값에 접근해서 그 값을 바로 1 증가시켜주는 것 같은데 원자성이 보존되는게 아닌가? 라고 생각해봤지만 결과는 0이 안나오더라구요. inc dword ptr ds:[0F04424h] 이 줄이 number의 주소값에 접근해서 그 값을 바로 1 증가시켜주는게 아닌가요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
스프링부트 쿼리로그가 자꾸 일직선으로 나오네요
자꾸 이런식으로 나오는데 application.yml은 강의 내용그대로 띄어쓰기 잘 적용했습니다.. 어떻게하면 예쁘게 쿼리를 볼 수있을까요..
-
해결됨실전! 스프링 데이터 JPA
예제 실행시 이해 안되는 오류 상황 - TransactionRequiredException
안녕하세요. 영한님. 이상한 오류 상황이 있어서 도움을 요청드립니다. 코드는 강의대로 잘 입력했{다고 확신합|습}니다. 예제 코드 JpaEventBaseEntity() 메소드를 study.datajpa.entity.MemberTest class에 두면 TransactionRequiredException 예외가 발생합니다. em.flush() 위치에서, javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'flush' call 라고 합니다. 반면에 똑 같은 test method를 study.datajpa.repository.MemberRepositoryTest 클래스 안에 두면 문제 없이 실행됩니다. 어떤 차이인지를 밝혀 주시면 감사하겠사옵니다. 아래 소스는 상기 2 개 위치 모두에 JpaEventBaseEntity() 메소드를 넣어둔 상태입니다. 프로젝트 소스 : https://github.com/skc1104/data-jpa-qna 감사합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
테스트 실행하면 fail이 나오는데 어떻게 해결해야될까요?
아래 다른분이 질문하셨길래 봤는데 어디를 지워야할지 모르겠습니다 아래는 실행했을때 에러코드입니다 FAIL src/App.test.js ✕ renders learn react link (78 ms) ● renders learn react link TestingLibraryElementError: Unable to find an element with the text: /learn react/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible. <body> <div> <div class="App" > <header class="App-header" > <img alt="logo" class="App-logo" src="logo.svg" /> <p> Edit <code> src/App.js </code> and save to reload. </p> <a class="App-link" href="https://reactjs.org" rel="noopener noreferrer" target="_blank" > 안녕안녕 </a> </header> </div> </div> </body> 4 | test('renders learn react link', () => { 5 | render(<App />); > 6 | const linkElement = screen.getByText(/learn react/i); | ^ 7 | expect(linkElement).toBeInTheDocument(); 8 | }); 9 | at Object.getElementError (node_modules/@testing-library/dom/dist/config.js:37:19) at node_modules/@testing-library/dom/dist/query-helpers.js:90:38 at node_modules/@testing-library/dom/dist/query-helpers.js:62:17 at getByText (node_modules/@testing-library/dom/dist/query-helpers.js:111:19) at Object.<anonymous> (src/App.test.js:6:30) Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total Snapshots: 0 total Time: 4.242 s Ran all test suites. Watch Usage › Press f to run only failed tests. › Press o to only run tests related to changed files. › Press q to quit watch mode. › Press p to filter by a filename regex pattern. › Press t to filter by a test name regex pattern. › Press Enter to trigger a test run.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
vercel deploy 오류
처음에 deploy했을때 두번째 사진처럼 뜨길래 다시 deploy했더니 첫번째 사진처럼 오류가 발생합니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
메모리 베리어 개념이 살짝 헷갈려서 질문드립니다!
2번째 예제에서 메모리 베리어가 없으면 1) 스레드 A가 실행된다. 2) _answer = 123; 보다 _complete = true;가 먼저 실행되는 경우가 생긴다.(코드 재배치) 3) _answer = 123;이 실행되기 전에 스레드 B가 실행된다. 4) _complete = ture이므로 _answer = 0이 출력된다. 이런 순서로 프로그램이 실행 될 수도 있다는 뜻으로 이해했는데 맞나요? 메모리 베리어를 사용하면 1) 위 경우처럼 순서가 뒤바뀌는 경우가 없어진다. -> 코드 재배치 억제 2) 두 스레드가 같이 사용하는 전역변수 _answer, _complete를 Store하고 Load하는 부분을 확실하게 할 수 있다.( = 물을 내린다...?) -> 가시성 이러한 이점이 있는거구요!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
pm2 이용해서 .env파일 삭제
1. 배포완료되고 pm2로 서버를 실행하고 나면, app.js가 이미 메모리에 .env파일을 읽어들였기 때문에 pm2덕분에 백그라운드로 노드를 실행시켜놓고 .env파일을 지울 수 있는 것 같습니다. 서버가 죽어서 pm2가 서버를 재시작시키는 경우를 제외하면 어차피 process.env에 저장되어있을테니 .env파일을 삭제시켜도 무방할 것 같은데, 맞나요? 2. 한편 .env파일을 서버에 올리지 말라고 했는데, .env값 들은 어찌되었든 서버재시작처럼 동적으로 요구되는 경우가 있을텐데 .env파일을 서버에 올려놓지 않고서 이를 어떤식으로 해결하나요?
-
미해결대세는 쿠버네티스 (초급~중급편)
auto scaling
안녕하세요. auto scaler 강의 듣다 궁금한 점이 있어 질문드립니다. pod scaler의 경우 cpu 사용율 혹은 메모리 사용율에 따른 자동 증가가 가능한걸로 이해를 했는데 혹시 cluster scaler 는 이러한 설정이 가능한지 궁금합니다. 제가 알아보니 cluster scaler를 만들어 놓더라도 노드에 더이상 파드가 할당될수없을 때 증가.라는 것말고는 pod처럼 설정하는 방법을 찾아볼수가 없었어서 질문드립니다. 감사합니다.
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
port 를 일정 범위안에서 랜덤하게 하면 discoveryService 에서 port를 다르게 인지합니다.
server: port: ${random.int(10000,51000)} #0spring: application: name: my-first-serviceeureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://localhost:8761/eureka instance: instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}} 위처럼 서버의 Port 를 일정 범위안에서 랜덤하게 하면 아래와 같은 현상이 발생됩니다. io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /192.168.40.24:34968 Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Error has been observed at the following site(s): |_ checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain] |_ checkpoint ⇢ HTTP GET "/first-service/welcome" [ExceptionHandlingWebHandler] Stack trace: Caused by: java.net.ConnectException: Connection refused at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:na] at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[na:na] at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:330) ~[netty-transport-4.1.63.Final.jar:4.1.63.Final] at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) ~[netty-transport-4.1.63.Final.jar:4.1.63.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:707) ~[netty-transport-4.1.63.Final.jar:4.1.63.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) ~[netty-transport-4.1.63.Final.jar:4.1.63.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) ~[netty-transport-4.1.63.Final.jar:4.1.63.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) ~[netty-transport-4.1.63.Final.jar:4.1.63.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.63.Final.jar:4.1.63.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.63.Final.jar:4.1.63.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.63.Final.jar:4.1.63.Final] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na] { "timestamp": "2021-05-12T08:33:11.458+00:00", "path": "/first-service/welcome", "status": 500, "error": "Internal Server Error", "message": "", "requestId": "fc5008c3-1" } 확인해보니 실제 first-service 에 열린 port와 discoveryService 에서 인지하는 서버가 서로 달랐습니다. 그러면 ${random.int(10000,51000)} 사용하면 안되는건가요? server: port: 0 이렇게 바꾸면 잘 됩니다.
-
미해결애플 웹사이트 인터랙션 클론!
pin을 포함한 메시지 부분의 out 처리가 안 됩니다
좋은 강의 잘 듣고 있습니다. 다른 건 잘 되는데 이상하게 scroll-section-2의 pin을 포함한 엘리먼트(messageB, C)의 opacity out과 translateY out이 적용되지 않네요. 세 시간동안 찾았는데, 결국 도움을 요청합니다. 제 소스에는 scroll-section-2의 messageA, B, C를 다르게 네이밍했으니 참고 부탁드립니다. ( messageA -> mainMessage, messageB -> descMessageA, messageC -> descMessageB, pinB -> pinA pinC -> pinB) https://github.com/redonearth/studiomeal-tutorial/tree/master/apple-clone
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JPA가 Mybatis를 완벽히 대체 가능한가요?
주니어 개발자로 현재 SI업체에서 근무하고 있는데, 개발시 Mybatis를 사용합니다. 강의를 듣고 간단하게 JPA를 적용해서 샘플 프로젝트정도를 만들어 보았는데 개인적으로는 매우 마음에 들어서 프로젝트에도 한번 써보고 싶어서 사수에게 건의 하였으나 JPA는 간단한 CRUD에는 좋은데 실제 프로젝트에서는 통계등을 조회해야하는데 매우 많은 조인들이 들어가고 sql 쿼리만 수백줄이 되는데, 이런걸 JPA가 대체하기 어렵다. 라는 답변을 받아서 문의 드립니다. 근데 생각해보면 좀 이상한게 해외에서는 JPA가 더 많이 사용된다는데 해외에는 차트같은게 없나..? 싶은 생각이 들더라구요. 그래서 JPA가 mybatis를 완벽히 대체가 가능한건지, 아니면 둘을 병행해서 써야 하는건지 궁금합니다.
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
강사님이 내주신 괴제 혹시 이거보다 더 좋은 방법이 있을까요?
<UserDaoService> public User updateByName(int id, String name){ User user = findOne(id); user.setName(name); user.setJoinDate(new Date()); return user;}이렇게 명시하였고<UserController>@PutMapping(path = "/users/{id}/{name}")public void updateUser(@PathVariable int id, @PathVariable String name){ User user =service.updateByName(id, name); if(user==null){ throw new UserNotFoundException(String.format("ID[%s] not found", id)); }}이렇게 받아서 처리하는 방식을 사용하였고 정상적으로이름이 바뀌는 것을 확인했습니다. 혹시 이 코드 말고좀 더 괜찮은 코드로 리팩토링하거나 그럴 수 있을까요?!힌트만 주셔도... 좋습니다!!항상 감사하고 수업 정말 잘 듣고 있습니다.
-
미해결따라하며 배우는 TDD 개발 [2023.11 업데이트]
통합테스트 에러 해결 방법
현재 Create 통합 테스트 작성의 통합 테스트 작성하기 까지 다 들은 상태인데요, 분명 똑같이 따라했는데 A worker process has failed to exit gracefully and has been force exited. This is likely caused by tests leaking due to improper teardown. Try running with --detectOpenHandles to find leaks. 위의 에러 메세지가 뜨더라고요.. 구글링해서 package.json에 "test": "jest --runInBand --detectOpenHandles" 이렇게 해줬는데 이렇게 하니까 이번엔 ReferenceError: You are trying to `import` a file after the Jest environment has been torn down. 이 에러가 뜹니다;; 계속 구글링해보고 있긴한데 해결이 안되서 질문 남깁니다. // test/integration/products.int.test.js const request = require('supertest'); const app = require('../../server'); const newProduct = require('../data/new-product.json'); it("POST /api/products", async () => { const response = await request(app) .post("api/products") .send(newProduct); expect(response.statusCode).toBe(201) expect(response.body.name).toBe(newProduct.name) expect(response.body.description).toBe(newProduct.description) }) // server.js const express = require('express'); // Constants const PORT = 5000; // App const app = express(); const productRoutes = require('./routes') const mongoose = require('mongoose'); const user = 'databaseuser'; const password = 'young4262'; const db = 'ttd'; mongoose.connect(`mongodb+srv://${user}:${password}@cluster0.1weod.mongodb.net/${db}?retryWrites=true&w=majority`, { useNewUrlParser: true, // 경고 문구 뜨지 않게 useUnifiedTopology: true }) .then(() => console.log('Mongodb Connected...')) .catch(err => console.log(err)); app.use(express.json()); app.use('/api/products', productRoutes) app.get('/', (req, res) => { res.send('Hello') }) app.listen(PORT, () => console.log(`Running on port ${PORT}`)); module.exports = app; // 터미널
-
미해결Vue.js 시작하기 - Age of Vue.js
props속성명칭
강의를 쉽게 잘 설명해주셔서 감사한말씀 먼저 드립니다. Vue를 처음 사용해보는 사용자로써 기존 카멜기법으로 명칭을 정하다 보니 습관이 되서 저도 모르게 소문자 대문자 섞어 쓸때가 많습니다. 혹시 props 속성 명칭은 소문자로만 구성되야 하나요? v-bind:propsdata="message" -> propsData 이렇게 하면 화면에 출력이 안되더라구요, 이게 명칭 규칙인건가요? 혹시 규칙이라면 어떤 문서를 봐야 알수 있을까요?
-
미해결윤재성의 Kotlin 기반 안드로이드 앱 개발 Part2 - 메뉴와 4대 구성요소
Kotlin Extension 관련
강좌에서 Kotlin Extension 이 사라짐?에 따라 view를 로드하는 방식이 다른 방식으로 된걸로 압니다. view binding 관련해서 내용 보강이 이뤄졌으면 좋겠습니다. 강좌처럼 바로 button등을 타이핑 했더니 에러가 발생해서 뭔가 하고 한참 서치를 했었습니다. ^^
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Atomicity하게 만들기
interlocked 부분까지 수강하고 든 궁금증입니다. 추후에 나올 수 있으나 ㅠㅠ...... 우선 질문해보겠습니다. 원자성에 대하여 설명을 해 주실 때, 아이템 복사를 예시로 설명을 해 주셨는데요. 설명을 잘 해주셔서 쉽게 이해가 되긴하였는데 ㅠㅜ 이 아이템구매, 또는 거래에 대해서는 C# interlocked 함수로는 처리가 불가할것 같은데, (db갱신도 필요하고 소스 로직도 몇줄이나 처리될지 모르니) 이부분은 그럼 트랜잭션으로 원자성을 보존하나요? (mysql.data 에서 지원하는 트랜잭션 말씀드립니다.) 아니면 다른 방법이 있나요? + mysql을 주로 사용하는데 .data보다는 Entity 프레임웤을 추천하는 경우가 많은데, 서로 어떠한 장단점이 있나요? 저는 쿼리문에 더 익숙해 있는데 ㅜㅜ.. Entity 접근이 어렵더라구요. (물론 추후강좌에 있긴한데 (구매도하였음) 궁금해서요....)