묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결운영체제 공룡책 강의
데드락 질문
28:10데드락은 상호배제 상태에서 일어나는데,오히려 lock과 unlock을 없애서 상호배제가 안되는 상황이된거 같습니다.혹시, 제가 잘못이해했다면 말씀해주세요!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
크레인 인형뽑기(카카오)에 대한 제 풀이 코드에 어떤 문제가 있는지 질문드립니다
다음과 같이 코드를 작성했는데, 테스트케이스 4, 5번이 틀린 것으로 나오네요. 제 코드에 어떤 문제가 있는지 이해가 되지 않아서 질문 드립니다. import java.util.*; import java.io.*; public class Main { public int solution(int[][] board, int[] moves) { int answer = 0; List<Integer> dollList = new ArrayList<>(); Stack<Integer> stack = new Stack<>(); for (int i = 0; i < moves.length; i++) { stack = new Stack<>(); for (int j = 0; j < board.length; j++) { if (board[j][moves[i] - 1] != 0) { stack.push(board[j][moves[i] - 1]); board[j][moves[i] - 1] = 0; break; } } if (stack.isEmpty()) { continue; } dollList.add(stack.pop()); // 바구니에 인형을 넣음 if (dollList.size() >= 2) { for (int j = 0; j < dollList.size() - 1; j++) { if (dollList.get(j) == dollList.get(j + 1)) { dollList.remove(dollList.get(j)); dollList.remove(dollList.get(j)); answer += 2; } } } } return answer; } public static void main(String[] args) throws IOException { Main main = new Main(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[][] board = new int[n][n]; for (int i = 0; i < n; i++) { StringTokenizer st = new StringTokenizer(br.readLine()); for (int j = 0; j < n; j++) { board[i][j] = Integer.parseInt(st.nextToken()); } } int m = Integer.parseInt(br.readLine()); int[] moves = new int[m]; StringTokenizer st = new StringTokenizer(br.readLine()); for (int i = 0; i < m; i++) { moves[i] = Integer.parseInt(st.nextToken()); } System.out.println(main.solution(board, moves)); } }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-O 코드 질문있습니다
안녕하십니까 큰돌님강의 보기 전에 문제를 풀어봤는데 조건문들이 좀 비효율적일까요 ??http://boj.kr/523daf3c22924bf99a5f46b5a6a8fd96
-
미해결[라즈베리파이] IoT 딥러닝 Computer Vision 실전 프로젝트
강의자료를 크리애플 홈페이지에서 찾을 수 없네요..
강의자료를 크리애플 홈페이지에서 찾을 수 없네요..강의자료를 받을 수 있는 곳을 상세히 설명해주세요..강의자료를 받을 수 있는 페이지 링크라도 달아주세요..IOT 라즈베리파이 관련 강의자료 부탁합니다..
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
동기, 비동기 처리
코드복습중에 비동기, 동기처리 관련하여 궁금한점이 생겨 질문합니다! const User = require('../models/user'); const bcrypt = require('bcrypt'); exports.join = async (req, res, next)=>{ const { nick, email, password } = req.body; try { const exUser = await User.findOne({where: {email}}); if(exUser){ return res.redirect('/join?error=exist') } const hash = await bcrypt.hash(password, 14); await User.create({ nick, email, password: hash, }); return res.redirect('/'); } catch(err){ console.error(err); next(err); } }위의 코드가 수업중에 작성하신 코드입니다 여기서 아래부분만 이처럼 await를 뺀 상태로 변경하였는데,const exUser = User.findOne({where: {email}});if(exUser)가 true값이 되어return res.redirect('/join?error=exist')으로 빠지게 되었습니다. 제가 이해하기로는 await가 붙은 비동기 처리들은 동기처리들이 완료되어 호출스택이 비기전까지는 task큐에서 대기하는 것으로 알고 있는데,위의 현상대로면 await가 붙은 아래 코드 2개가 먼저 실행되고const hash = await bcrypt.hash(password, 14); await User.create({ nick, email, password: hash, }); 이 코드가 실행된 것 같은데const exUser = User.findOne({where: {email}}); 왜 이런 현상이 발생하는지 궁금합니다!!! 감사합니다
-
미해결[NLP] IMDB 영화리뷰 감정 분석을 통한 파이썬 텍스트 분석과 자연어 처리
질문 드립니다
윈도우 사용자인데,%time clean_train_reviews = apply_by_multiprocessing(\ train['review'], review_to_words, workers=4) ,이 코드가 노트북이랑 데스크탑 둘다 몇 십분을 기다려도 실행되지 않아서, 무엇이 문제인지 알고 싶어서 문의드렸습니다.구글코랩말고, 제 로컬 환경에서 실행하고 싶어서요, 만약에 해결책이 없다면 환불을 하고 싶어요....ㅠ
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
정수론 24분대 강의내용
24분14초 2의 제곱수로 나뉘어지는 약수를 찾아 더할때 왜 모든숫자들을 +1한상태로 봐야만 하는지 이유를 모르겠습니다
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
안녕하세요. 질문하나 드리겠습니다.
안녕하세요. 질문 드리기 앞서 감사 인사를 전하고 싶습니다. 저 같은 초보도 이해가 잘되고 쉽게배울 수 있는 양질의 강의를 저렴한 값에 제공 해주셔서 감사합니다.Build started...1>------ Build started: Project: Study, Configuration: Development_Editor x64 ------2>------ Skipped Build: Project: UE5, Configuration: BuiltWithUnrealBuildTool Win64 ------2>Project not selected to build for this solution configuration 1>Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" StudyEditor Win64 Development -Project="C:\Users\leehy\Documents\Unreal Projects\Study\Study.uproject" -WaitMutex -FromMsBuild1>Log file: C:\Users\leehy\AppData\Local\UnrealBuildTool\Log.txt1>Building StudyEditor...1>Using Visual Studio 2022 14.33.31631 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).1>Determining max actions to execute in parallel (8 physical cores, 16 logical cores)1> Executing up to 8 processes, one per physical core1>Building 4 actions with 4 processes...1>[1/4] Link UnrealEditor-Study.lib cancelled1>[2/4] WriteMetadata StudyEditor.target cancelled1>[3/4] Link UnrealEditor-Study.dll cancelled1>[4/4] Compile PlayerCharacter.cpp1>C:\UE_5.1\Engine\Source\Runtime\Core\Public\Containers\UnrealString.h(1241): error C2338: static_assert failed: 'Formatting string must be a TCHAR array.'1>C:\Users\leehy\Documents\Unreal Projects\Study\Source\Study\PlayerCharacter.cpp(221): note: see reference to function template instantiation 'FString FString::Printf<int32,>(const FmtType &)' being compiled1> with1> [1> FmtType=int321> ]1>C:\UE_5.1\Engine\Source\Runtime\Core\Public\Containers\UnrealString.h(1240): warning C4312: 'type cast': conversion from 'const FmtType' to 'const TCHAR *' of greater size1> with1> [1> FmtType=int321> ]1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets(44,5): error MSB3073: The command "C:\UE_5.1\Engine\Build\BatchFiles\Build.bat StudyEditor Win64 Development -Project="C:\Users\leehy\Documents\Unreal Projects\Study\Study.uproject" -WaitMutex -FromMsBuild" exited with code 6.1>Done building project "Study.vcxproj" -- FAILED.========== Build: 0 succeeded, 1 failed, 0 up-to-date, 1 skipped ==================== Build started at 11:31 PM and took 03.141 seconds ==========PlayerCharacter.cpp(221) 에서 오류가 있는데요. FString::Printf 로 섹션 이름과 번호를 가져오는부분에서 잘 안되는 것 같습니다. 언리얼 개발자를 꿈꾸게 된 계기는 모두 이득우님 덕분입니다. 항상 감사드립니다. void APlayerCharacter::ComboCheck() { ComboTimerHandle.Invalidate(); if (HasNextComboCommand) { UAnimInstance* AnimIntance = GetMesh()->GetAnimInstance(); CurrentCombo = FMath::Clamp(CurrentCombo + 1, 1, ComboActionData->MaxComboCount); FName NextSection = *FString::Printf((TEXT("%s %d"), *ComboActionData->MontageSectionName, CurrentCombo)); AnimIntance->Montage_JumpToSection(NextSection, ComboAttackMontage); SetComboCheckTimer(); HasNextComboCommand = false; } }
-
미해결스프링 시큐리티 OAuth2
프론트와 백으로 나누어진 형태에선, Authorization Code Grant Type을 어떻게 구현하나요?
안녕하세요 강의 잘 듣고있습니다.저는 강의에서 사용하고있는 Spring + Thymeleaf 구조를 사용하고 있지않습니다.spring + react와 같이 백엔드와 프론트로 나누어져 있고 rest api방식으로 통신하는 구조입니다. 구글링해본 결과. rest api 구조에서 소셜로그인을 시도할경우.대부분 소셜로그인을 전부 프론트에서만 처리하고있었습니다.즉, Implict Grant Type이죠.하지만 강의에서 강사님께서 이 방법은 Deprecated되었으며 바람직하지 않다고 하셨습니다. 그래서 저는 Authorization Code Grant Type으로 인증을 받으려 시도했습니다만.구글링을 해봐도 죄다 Implict 방식만나오고 Code방식은 나오지 않아 어려움을 겪고있습니다. 그냥 모바일앱이나 react와 같은 프론트앱에서는 Implicit Type으로 하는게 최선일까요? 이 강의의 다른 질문글들을 읽어보았는데도 정확한 해결방법은 제시되어 있지 않는것 같아재차 질문글을 작성하게 되었습니다. 읽어주셔서 감사합니다.
-
미해결기초부터 실무까지 Tableau 시각화
섹션7 OVERVIEW KPI 시트 구성하기 C_날짜세팅 계산된 필드
안녕하세요!혹시 C_기준일자 내 C_날짜세팅이라는 계산된 필드는 계산이 어떻게 될까요?이전 강의에 있던 걸 제가 놓친 건지 이 강의에서는 설명이 없어 문의드립니다..!감사합니다!
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
구글에도 DNS 서버가 있는 이유와 host 파일
강사님 안녕하세요, 우선 유튜브와 인프런 강의들을 정독하면서 최근에 많은 도움을 받고 있습니다. 질 좋은 강의 만들어주셔서 정말 감사합니다.이번 강의를 들으며 두 가지 궁금증이 생겼습니다.DNS 서버는 ISP에 딸려 있는 것이 아닌 모든 웹 사이트에 존재하는 것일까요? 구글의 DNS는 8.8.8.8인 것은 알고 있었는데, 생각해보니까 다른 사이트의 IP주소를 알려주는 역할을 구글이 왜 하고 있는 것인지 궁금합니다.host 파일 관련해서, DNS 서버는 IP주소를 알려줄 때 유효기간도 같이 알려준다고 하셨는데, host 파일에 저장된 IP주소도 당연히 해당 유효기간의 영향을 받는 것이라고 생각해도 될까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
unsupported Post method [405 error]
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술섹션 5. 회원 웹 기능 -등록 을 수강하고 있습니다. 저는 VSCODE 로 IDE를 활용하고 있고, 코드서버를 쓰고 있습니다. 강의에서 배운 내용 그대로 코드를 쳤는데도 불구하고 위의 그림과 같이 Unsupported POST method 라고 뜹니다.혹시 몰라서 마지막에 IDE 화면도 첨부했습니다.package donghun.donghunspring.Controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import donghun.donghunspring.domain.Member; import donghun.donghunspring.service.MemberService; @Controller public class MemberController { //memberService new 객체를 만드는 게 아니고, 연결 시켜줘야 한다 : 생성자 이용. private final MemberService memberService; //스프링이 뜰 때 Controller 에 service와 repository 연결한다. annotation 붙여 (service, repository) //연결하려면 service 와 repository 를 스프링 빈에 등록해야 하므로 service, repository 각각에 @Service, @repository 등록. //또는 직접 자바코드 작성하여 Bean 등록할 수 있음. @Autowired public MemberController(MemberService memberService) { this.memberService = memberService; } @GetMapping("/members") public String membersForm(){ return "members/mF"; } @PostMapping("/members/new") public String create(MemberForm form){ Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; } @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } //post 방식으로 form 입력하므로 postmapping 이 선택된다. } ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ template : createMemberForm.html //두 개의 코드가 첨부가 안되므로 절취선 이용해 붙이겠습니다. <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <body> <div class="container"> <form action="/members/new" method="post"> <div class="form-group"> <label for="name">이름</label> <input type="text" id="name" name="name" placeholder="이름을 입력하세요"> </div> <button type="submit">등록</button> </form> </div> <!-- /container --> </body> </html>
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
애플리케이션 개발 실습간 레코드 미등록 사항
안녕하십니까 애플리케이션 실습 중인데 레코드가 등록 되지 않아서 이런경우는 어떤것을 확인하면 되는지 알려주시면 감사하겠습니다. 이클립스에서 git에 올려주신 코드를 그대로 실행하였습니다. 그래서 아래와 같이 로그가 떴고아래와 같이 해당 토픽을 조회하였지만 아무 레코드가 조회되지 않았습니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
vite + react로 학습중인데
.
-
미해결
백엔드 아키텍처 공부를 해보고 싶은데요 책이나 강의 추천해주실 수 있을까요..
백엔드 단에서 어떤 아키텍처 속에서 데이터가 흐르는지 궁금해져서 찾아보고 있습니다. 예를 들면 저는 이때까지클라이언트 - 서버 - 웹서버 - DB이 구조만 알고 있었거든요.. 근데 현업에선 좀 더 복잡하고 그 아키텍처를 이루기 위해 다루는 툴들도 다양하더라고요...전 그 부분이 많이 약한 것 같아서 아키텍처 위주로 책이나 강의 찾아보고 있는데아키텍처 책이나 강의 중 어떤걸 우선적으로 선택해서 공부를 시작해야 하나 고민이 되어서.. 이렇게 문의 글을 남깁니다.. ㅠㅠ전 이쪽으론 완전 초보 입니다! 유튜브를 통해서 짧게 나마 익힌 건.. 검색 엔진을 위해서는 elasticsearch를 사용하고 DB 과부화 막기 위해선 redis를 사용한다..뭐 이런 내용을 봤는데저는 좀 더 전체적인 그림을 보고 싶습니다.. ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
clearStore() 메서드의 작성 위치 의문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]MemoryMemberRepository 클래스에서public void clearStore() 메서드를 추가해서 테스트 실행 시 사용하는데,Repository클래스의 목적에 맞지 않게 테스트에서만 사용하기 위한 clearStore() 메서드를 Repository클래스에 정의하여 적어 주는 게 일반적이고 흔히 쓰는 방식인가요 ?테스트 케이스에서 따로 save된 정보를 삭제하는 방식으로 하는 게 더 올바른 방식은 없고 그 방식을 안하는 이유가 있을까요 ? 궁금해서 질문드립니다.
-
해결됨시나브로 자바스크립트
쇼핑물 api 입니다.
https://learnwitheunjae.dev/api/sinabro-js/ecommerce혹시나 치기 귀찮으신 분들이 있을꺼 같아 적어놓습니다.그리고 크롬 사용하시는분들은 크롬 확장 프로그램의 JSONVue 을 검색하셔서 추가하시면 웹에서도 json 으로 format 으로 깔끔하게 보실 수 있습니다.
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
핫리로딩으로 공식문서와 동일하게 적용했는데 찾을 수 없다고만 뜨는데 이유가 뭘까요??
핫리로딩으로 공식문서와 동일하게 적용했는데 찾을 수 없다고만 뜨는데 이유가 뭘까요??아래 작성 코드 확인부탁드립니다! 터미널 에러PS C:\nestStudy\slack-clone-app\a-nest> npm run start:dev > a-nest@0.0.1 start:dev > nest build --webpack --webpackPath webpack-hmr.config.js --watch Error Cannot find module 'C:\nestStudy\slack-clone-app\a-nest\webpack-hmr.config.js' Require stack: - C:\nestStudy\slack-clone-app\a-nest\node_modules\@nestjs\cli\actions\build.action.js - C:\nestStudy\slack-clone-app\a-nest\node_modules\@nestjs\cli\actions\index.js - C:\nestStudy\slack-clone-app\a-nest\node_modules\@nestjs\cli\commands\command.loader.js - C:\nestStudy\slack-clone-app\a-nest\node_modules\@nestjs\cli\commands\index.js - C:\nestStudy\slack-clone-app\a-nest\node_modules\@nestjs\cli\bin\nest.js main.tsimport { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; declare const module: any; async function bootstrap() { const app = await NestFactory.create(AppModule); const port = process.env.PORT || 3000; await app.listen(3000); console.log(`listening on port ${port}`); if (module.hot) { module.hot.accept(); module.hot.dispose(() => app.close()); } } bootstrap(); webpack-hmr.config.jsconst nodeExternals = require('webpack-node-externals'); const { RunScriptWebpackPlugin } = require('run-script-webpack-plugin'); module.exports = function (options, webpack) { return { ...options, entry: ['webpack/hot/poll?100', options.entry], externals: [ nodeExternals({ allowlist: ['webpack/hot/poll?100'], }), ], plugins: [ ...options.plugins, new webpack.HotModuleReplacementPlugin(), new webpack.WatchIgnorePlugin({ paths: [/\.js$/, /\.d\.ts$/], }), new RunScriptWebpackPlugin({ name: options.output.filename, autoRestart: false }), ], }; }; package.json{ "name": "a-nest", "version": "0.0.1", "description": "", "author": "", "private": true, "license": "UNLICENSED", "scripts": { "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "nest start", "start:dev-backup": "nest start --watch", "start:dev": "nest build --webpack --webpackPath webpack-hmr.config.js --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "jest --config ./test/jest-e2e.json" }, "dependencies": { "@nestjs/common": "^10.0.0", "@nestjs/core": "^10.0.0", "@nestjs/platform-express": "^10.0.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.8.1" }, "devDependencies": { "@nestjs/cli": "^10.0.0", "@nestjs/schematics": "^10.0.0", "@nestjs/testing": "^10.0.0", "@types/express": "^4.17.17", "@types/jest": "^29.5.2", "@types/node": "^20.3.1", "@types/supertest": "^2.0.12", "@typescript-eslint/eslint-plugin": "^5.59.11", "@typescript-eslint/parser": "^5.59.11", "eslint": "^8.42.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^4.2.1", "jest": "^29.5.0", "prettier": "^2.8.8", "run-script-webpack-plugin": "^0.2.0", "source-map-support": "^0.5.21", "supertest": "^6.3.3", "ts-jest": "^29.1.0", "ts-loader": "^9.4.3", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", "typescript": "^5.1.3", "webpack": "^5.88.2", "webpack-node-externals": "^3.0.0" }, "jest": { "moduleFileExtensions": [ "js", "json", "ts" ], "rootDir": "src", "testRegex": ".*\\.spec\\.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "collectCoverageFrom": [ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", "testEnvironment": "node" } }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
ERROR Invalid hook call. Hooks can only be called inside of the body of a function component.
안녕하세요, react 5 -> 6으로 바껴서 navigate 등 문법을 바 꾸고 디비에 저장된 아이디와 패스워드로 로그인 하려하는데 계쏙 아래와 같은 에러가 발생합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
AccountManager.h에서는 pch.h가 include되어 있는지 모르는데
정말 기초적인건데 갑자기 이해가 안돼서 질문 남깁니다.AccountManager.h에서는 pch.h가 include되어 있는지 모르고 AccountManager.cpp에만 include되어 있는데 어떻게 AccountManager에서는 map에 std::를 안붙이고 쓰고, int32 타입을 쓸 수 있는걸까요?