묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 고급편
"3. 템플릿 메서드 패턴과 콜백 패턴" pdf > 38페이지
소스 수정 중에 "@RequireArgsCon..." 를 지워야 오류가 발생하지 않습니다. 어떤 원리때문에, 오류가 발생했을까요?
-
미해결스프링 핵심 원리 - 고급편
"3. 템플릿 메서드 패턴과 콜백 패턴" pdf > 38페이지 질문
- "참고로 TraceTemplate 를 처음부터 스프링 빈으로 등록하고 주입받아도 된다. 이 부분은 선택이다." 라는 문구가 있습니다. 이렇게 하려면 소스를 어떻게 수정해야 하나요?
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
logger.middleware.ts 가 app.module에 적용이 되질않아서 질문드립니다.
제목과 동일한 내용으로 logger middleware를 작성하고 app module에 적용하였습니다. 그리고 재시작을 하여 적용 여부를 확인하려 했으나 적용이 되지않은것을 확인했습니다. 어떤부분을 놓치고 있는지 알고싶습니다. package.json { "name": "a-nest", "version": "0.0.1", "description": "", "author": "", "private": true, "license": "UNLICENSED", "scripts": { "prebuild": "rimraf dist", "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": "^9.0.0", "@nestjs/config": "^2.3.0", "@nestjs/core": "^9.0.0", "@nestjs/platform-express": "^9.0.0", "axios": "^1.3.2", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", "rxjs": "^7.2.0" }, "devDependencies": { "@nestjs/cli": "^9.0.0", "@nestjs/schematics": "^9.0.0", "@nestjs/testing": "^9.0.0", "@types/express": "^4.17.13", "@types/jest": "28.1.8", "@types/node": "^16.0.0", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", "eslint": "^8.0.1", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", "jest": "28.1.3", "prettier": "^2.3.2", "run-script-webpack-plugin": "^0.1.1", "source-map-support": "^0.5.20", "supertest": "^6.1.3", "ts-jest": "28.0.8", "ts-loader": "^9.2.3", "ts-node": "^10.0.0", "tsconfig-paths": "4.1.0", "typescript": "^4.7.4", "webpack": "^5.75.0", "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" } } logger.middleware.ts import { Injectable, Logger, NestMiddleware } from '@nestjs/common'; import { NextFunction, Request, Response, response } from 'express'; @Injectable() export class LoggerMiddleware implements NestMiddleware { private logger = new Logger('HTTP'); use(req: Request, res: Response, next: NextFunction): void { const { ip, method, originalUrl } = req; const userAgent = req.get('user-agent') || ''; response.on('finish', () => { const { statusCode } = res; const contentLength = res.get('content-type'); this.logger.log( `${method} ${originalUrl} ${statusCode} ${contentLength} - ${userAgent} ${ip}`, ); }); next(); } } app.module.ts import { MiddlewareConsumer, Module, NestModule, RequestMethod, } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { ConfigModule, ConfigService } from '@nestjs/config'; import axios from 'axios'; import { LoggerMiddleware } from './middleware/logger.middleware'; const getEnv = async () => { // const response = await axios.get('비밀키를 요청하는 url'); // return response.data; }; const mode = process.env.NODE_ENV || 'development'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, load: [getEnv], envFilePath: `.env.${mode}`, }), ], controllers: [AppController], providers: [AppService, ConfigService], }) export class AppModule implements NestModule { configure(consumer: MiddlewareConsumer): any { consumer .apply(LoggerMiddleware) .forRoutes({ path: '*', method: RequestMethod.ALL }); } } nestjs log Info Webpack is building your sources... Entrypoint main 47.9 KiB = main.js 46.1 KiB 0.5051cca5f9ad96919687.hot-update.js 1.81 KiB webpack 5.75.0 compiled successfully in 63 ms [Nest] 36670 - 02/07/2023, 7:47:49 AM LOG [NestFactory] Starting Nest application... +6659ms [HMR] Updated modules: [HMR] - 10 [HMR] - 5 [HMR] - 3 [HMR] Update applied. [Nest] 36670 - 02/07/2023, 7:47:49 AM LOG [InstanceLoader] ConfigHostModule dependencies initialized +4ms [Nest] 36670 - 02/07/2023, 7:47:49 AM LOG [InstanceLoader] ConfigModule dependencies initialized +0ms [Nest] 36670 - 02/07/2023, 7:47:49 AM LOG [InstanceLoader] AppModule dependencies initialized +0ms [Nest] 36670 - 02/07/2023, 7:47:49 AM LOG [RoutesResolver] AppController {/}: +0ms [Nest] 36670 - 02/07/2023, 7:47:49 AM LOG [RouterExplorer] Mapped {/, GET} route +1ms [Nest] 36670 - 02/07/2023, 7:47:49 AM LOG [NestApplication] Nest application successfully started +0ms적용이 되지않아 생기는 질문이라 에러코드는 없어서 따로 첨부하지 않았습니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
어제 강의 이어서 질문드립니다
안녕하세요!어제 질문 드리고 오늘 이어서 강의 들으면서 제가 스스로 좀 해보았는데요. import requestsfrom bs4 import BeautifulSoupres = requests.get('https://v.daum.net/v/20170615203441266')soup = BeautifulSoup(res.content,'html.parser')items = soup.select('div.article_view p')for item in items: print(item.get_text()) 이렇게 코드를 넣었는데내주 부동산 종합대책 발표 집값 상승 노린 투기 분양 차단 LTVㆍDTI 규제 다시 강화할 듯 저소득 실수요자 피해 우려도 금융당국이 급증하는 가계부채 증가세를 막기 위해 아파트 잔금대출에도 소득을 따져 대출한도를 정하는 총부채상환비율(DTI)을 적용하는 방안을 유력하게 검토하고 있다. 지금은 집값을 기준으로 대출한도를 매기는 주택담보인정비율(LTV) 규제만 적용돼 소득이 없어도 집값의 70%를 빌려 잔금을 치르는 게 가능하다. 앞으로 잔금대출에 DTI가 적용되면 소득 없는 사람이 입주 뒤 집값 상승을 노리고 분양시장에 뛰어드는 게 사실상 불가능해진다. 금융당국 고위관계자는 15일 “잔금대출에도 DTI를 적용하는 방안을 검토 중”이라며 “다만 아직 최종 결론이 난 건 아니다”고 말했다. 정부는 내주 이 같은 내용을 포함한 부동산 종합 대책을 발표할 예정이다. 정부가 잔금대출 DTI 적용 카드를 꺼내는 건, 집단대출을 잡지 않고선 과열된 주택시장을 진정시키기 어렵다는 판단에서다. 실제 정부는 지난해 잔금대출도 대출 초기부터 원리금을 함께 갚도록 하는 여신심사 가이드라인을 도입했지만 이렇다 할 효과를 거두지 못했다. 오히려 정부 대책에도 불구, 집단대출 증가액은 매달 늘어나는 추세인데 지난달엔 2조원으로 올 들어 최고치를 기록했다. 아파트 분양 집단대출은 중도금과 잔금대출로 구분된다. 계약금 10%를 내면 입주 전까지 집값의 60%를 중도금 대출로 받을 수 있다. 중도금 대출은 건설사 보증으로 이뤄져 소득심사를 안 거친다. 잔금대출은 건설사가 아닌 집을 담보로 이뤄지는 대출이다. LTV 규제만 적용돼 소득이 없어도 집값의 70%까지 대출이 가능하다. 때문에 지금은 잔금대출로 집값의 70%를 대출받아 기존 중도금 대출을 갚고 나머지 20%만 본인 돈으로 충당하면 집을 살 수 있다. 앞으로 잔금대출에 DTI가 적용되면 소득이 없는 사람은 집값의 70% 대출 받는 게 어려워진다. 입주 뒤 집값 상승을 노리는 투기수요를 확실히 걸러낼 초강력 대책이 될 수 있다. 하지만 부작용도 우려된다. 소득이 낮은 사회초년생 등은 청약통장을 갖고도 분양시장에 진입하는 게 어려워지기 때문이다. 이에 따라 잔금대출에 DTI를 적용하는 것 역시 지역 등에 따라 선별적으로 이뤄질 가능성이 높다. 현재 당국은 신규 분양 물량부터 규제를 적용할지 아니면 기존 분양 물량까지 규제 범위를 확대할지를 놓고 시뮬레이션을 하고 있다. 아울러 당국은 지난 2년간 완화됐던 LTV와 DTI를 다시 강화할 것으로 보인다. 현재 LTV(은행 기준)는 기존 50~60%에서 70%, DTI는 50~60%에서 60%로 완화돼 있는 상태다. 당국은 일괄적인 조이기보다 지역ㆍ집값 수준별로 기준을 다르게 적용하는 방식을 모색할 것으로 보인다. 김동욱 기자 kdw1280@hankookilbo.com 이렇게 기사 텍스트 전체가 나오더라구요 <section dmcf-sid="ndxAvoEFLc"> <p dmcf-pid="nzrJ5KB3Cc" dmcf-ptype="general">내주 부동산 종합대책 발표</p> <p dmcf-pid="ncFbmYUgSc" dmcf-ptype="general">집값 상승 노린 투기 분양 차단</p> <p dmcf-pid="naDeB8j0HH" dmcf-ptype="general">LTVㆍDTI 규제 다시 강화할 듯</p> <p dmcf-pid="ngfl6lJwwk" dmcf-ptype="general">저소득 실수요자 피해 우려도</p> selectin dmcf라는 태그를 넣어서 요약글만 추출을 하려면 어떻게 해야할까요? 이렇게 저렇게 해봤는데 잘안되네요 ㅠㅠ
-
해결됨ARM Cortex-M 프로세서 프로그래밍
BOOT 핀을 통해 부팅 모드 변경시 리맵핑이 따로 필요한가요?
강의 잘 보고 있습니다.강의를 듣다가 질문이 생겨서 남깁니다.강의를 보면 SRAM에서 부팅을 하고 싶을 때? SYSCFG_MEMRMP의 MEM_MODE[2:0] 비트로 제어를 한다고 설명하신거 같은데요. (이 경우 MEM_MODE = 2'b001이 되겠죠?)BOOT[1:0] 핀을 하드웨어에서 2'b11로 만들으면 따로 SYSCFG_MEMRMP 레지스터 값 변경없이 자동으로 변경이 되는건가요??추가적으로 System 메모리에 UART로 데이터를 플래시메모리에 다운로드할 수 있는 코드를 삽입하고 유저가 플래시메모리로 부팅할지 아니면 프로그램 다운로드를 할지 선택하는 것을 주로 봐와서 System 메모리로 부팅한다라는 것은 이해가 가는데 SRAM으로 부팅하는 경우가 잘 이해가 되질 않습니다.코드 영역에 있는 데이터를 굳이 SRAM으로 복사를 해서 부팅해야하는 경우가 있나요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
해당 강의를 듣고 취득하는 자격증은 어떤 직종과 연관되어 있나요?
AWS Certified Solutions Architect - Associate 자격증은 어떤 직종과 연관되어 있는 자격증인지 궁금합니다
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
대용량 데이터 Join
안녕하세요대용량 데이터 join 방법에 대해 질문드립니다.source A,B,C가 있고 A와 B를 union 하고 C를 조인해야 하는 상황입니다. A, B, C 각각은 모두 대용량 데이터입니다.하지만, 이 코드를 실행하면 spark 내부적으로 C를 2번 read해 A와 C를 조인하고, B와 C를 조인하는 DAG이 생성되는 것을 UI에서 확인했습니다. 이에, C를 1번만 read하게 만들기 위해서 cDF.persist(StorageLevel.DISK_ONLY)를 중간에 삽입해, 원래 의도대로 A와 B를 union하고 C를 조인하도록 DAG을 변경하였습니다. 이런 상황에서 persist를 사용하지 않고 해결할 방법이 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberService에 @Transactional 붙이는 이유
jpa를 사용하기 이전( 순수jdbc,jdbctemplate)에는 MemberService 클래스에 @Transactional을 안달아줬는데 왜 jpa를 사용하게되면 갑자기 MemberService클래스에 @Transactional 어노테이션을 달아줘야되나요???
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
BitConverter.TryWriteBytes에 success 부분 질문드립니다.
안녕하세요.BitConverter.TryWriteBytes 리턴으로 성공,실패 여부를 bool 값인 true,false로 반환하는데 이부분을 &= 로 해야되는 이유가 뭔지 궁금합니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
mongodb Asio socket.set_option error
안녕하세요.개정 3판 Node.js 교과서 8-6 몽구스 실전 프로젝트에서 처음 프로젝트를 시작할 시, cd ch8/8.6/learn-mongoose 하여 폴더에 들어간 이후 npm start 에서 막혔습니다. terminal 상으로는 돌아가지만, localhost:3002로 접속했을때, 제대로 접속되지 않고 로딩창만 뜹니다. 저는 현재, intel MAC, Vertura 13.1 버전 쓰고 있으며, 노드 JS는 v18.12.1, mongodb는 6.0.4버전 쓰고있습니다.에러 메세지는 다음과 같습니다.몽고디비 연결 에러 MongooseServerSelectionError: connect ECONNREFUSED ::1:27017 at Connection.openUri (/Users/jisu/Downloads/nodejs-book-master/node_modules/mongoose/lib/connection.js:825:32) at /Users/jisu/Downloads/nodejs-book-master/node_modules/mongoose/lib/index.js:409:10 at promiseOrCallback (/Users/jisu/Downloads/nodejs-book-master/node_modules/mongoose/lib/helpers/promiseOrCallback.js:11:14) at Mongoose._promiseOrCallback (/Users/jisu/Downloads/nodejs-book-master/node_modules/mongoose/lib/index.js:1262:10) at Mongoose.connect (/Users/jisu/Downloads/nodejs-book-master/node_modules/mongoose/lib/index.js:408:20) at connect (/Users/jisu/Downloads/nodejs-book-master/ch8/8.6/learn-mongoose/schemas/index.js:7:12) at Object.<anonymous> (/Users/jisu/Downloads/nodejs-book-master/ch8/8.6/learn-mongoose/app.js:18:1) at Module._compile (node:internal/modules/cjs/loader:1159:14) at Module._extensions..js (node:internal/modules/cjs/loader:1213:10) at Module.load (node:internal/modules/cjs/loader:1037:32) { reason: TopologyDescription { type: 'Unknown', servers: Map(1) { 'localhost:27017' => [ServerDescription] }, stale: false, compatible: true, heartbeatFrequencyMS: 10000, localThresholdMS: 15, setName: null, maxElectionId: null, maxSetVersion: null, commonWireVersion: 0, logicalSessionTimeoutMinutes: null }, code: undefined } MongooseServerSelectionError: connect ECONNREFUSED ::1:27017 를 구글링하여 몇가지를 시도해봤는데,1번째, MONGO_URI=mongodb://localhost:27017/blog 를 MONGO_URI=mongodb://127.0.0.1:27017/blog 로 바꾸어 해결한 사례가 있어 ch8/8.6/learn-mongoose/schemas 폴더의 index.js에서mongoose.connect('mongodb://root:1234@localhost:27017/admin' 를 mongoose.connect('mongodb://root:1234@127.0.0.1:27017/admin', 로 바꾸었지만, → 해결되지 않았습니다.2번째, terminal에 mongod를 쳐서 error가 난 부분을 살펴보니,{"t":{"$date":"2023-02-07T00:55:42.260+09:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"-","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"} {"t":{"$date":"2023-02-07T00:55:42.263+09:00"},"s":"I", "c":"NETWORK", "id":4915701, "ctx":"-","msg":"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":17},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":17},"outgoing":{"minWireVersion":6,"maxWireVersion":17},"isInternalClient":true}}} {"t":{"$date":"2023-02-07T00:55:42.280+09:00"},"s":"I", "c":"NETWORK", "id":4648602, "ctx":"thread1","msg":"Implicit TCP FastOpen in use."} {"t":{"$date":"2023-02-07T00:55:42.285+09:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"thread1","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationDonorService","namespace":"config.tenantMigrationDonors"}} {"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"thread1","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationRecipientService","namespace":"config.tenantMigrationRecipients"}} {"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"thread1","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"ShardSplitDonorService","namespace":"config.tenantSplitDonors"}} {"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"I", "c":"CONTROL", "id":5945603, "ctx":"thread1","msg":"Multi threading initialized"} {"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"I", "c":"CONTROL", "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":64400,"port":27017,"dbPath":"/data/db","architecture":"64-bit","host":"iMac.local"}} {"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"I", "c":"CONTROL", "id":23403, "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"6.0.4","gitVersion":"44ff59461c1353638a71e710f385a566bcd2f547","modules":[],"allocator":"system","environment":{"distarch":"x86_64","target_arch":"x86_64"}}}} {"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"I", "c":"CONTROL", "id":51765, "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"Mac OS X","version":"22.2.0"}}} {"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"I", "c":"CONTROL", "id":21951, "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{}}} {"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"E", "c":"NETWORK", "id":23024, "ctx":"initandlisten","msg":"Failed to unlink socket file","attr":{"path":"/tmp/mongodb-27017.sock","error":"Permission denied"}} {"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"F", "c":"ASSERT", "id":23091, "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":40486,"file":"src/mongo/transport/transport_layer_asio.cpp","line":1126}} {"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"F", "c":"ASSERT", "id":23092, "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}이 부분에서, 에러인 부분인{"t":{"$date":"2023-02-07T00:55:42.286+09:00"},"s":"E", "c":"NETWORK", "id":23024, "ctx":"initandlisten","msg":"Failed to unlink socket file","attr":{"path":"/tmp/mongodb-27017.sock","error":"Permission denied"}}이 부분이 에러일 것같다는 생각에, 구글링을 하던 중/tmp/mongodb-27017.sock 파일의 접근권한을 변경하거나 파일 삭제 후 서비스를 재시작하면 정상적으로 mongodb가 부팅된다.는 글을 보고, sudo rm -rf /tmp/mongodb-27017.sock로 sock 파일을 삭제해봤지만, 똑같은 결과였습니다.ls -l /tmp/mongodb-27017.sock로 확인했을때, 삭제된 것도 확인했습니다.3번째, terminal에 brew services list 로 mongodb상태를 확인해보려고 하였습니다.Name Status User File mongodb-community error 512 jisu ~/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist mysql none postgresql@14 none 로 나오는 것을 보아 mongodb가 제대로 작동되지 않고 있어서 에러가 발생하는 것으로 추측했습니다. brew services start mongodb-community의 결과로,Bootstrap failed: 5: Input/output error Try re-running the command as root for richer errors. Error: Failure while executing; `/bin/launchctl bootstrap gui/502 /Users/jisu/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist` exited with 5.가 나와서, 이를 해결하기 위해 mongodb-community를 완전히 지우고, brew cleanup까지 한 다음 다시 깔아봤지만 달라진 바는 없었습니다. 이전 강좌까지 mongodb에서 데이터베이스 생성하는 CRUD 실습할때까지만 해도 문제없었는데, 갑자기 에러를 벹어내네요.. 3일동안 이 문제를 해결하려 힘써봤는데 도저히 감이 안잡혀서 질문드립니다.
-
미해결코딩테스트 [ ALL IN ONE ]
연결리스트(Linked List)-1 전반적인 코드
서론class Node: def __init__(self, value=0, next = None): self.value = value self.next = next first = Node(1) second = Node(2) third = Node(3) first.next = second second.next = third first.value = 6 위 코드는 연결리스트-1 강의에 등장하는 코드입니다.first = Node(1)first.next = secondfirst.value = 6위 3개의 코드 모두 "=" 이라는 할당 연산자를 통해서 데이터를 변수에 저장하고 있는데요. "first가 Node(1)을 가리킨다""first.next에는 주소가 저장된다.""first.value에는 6이 저장된다." 뭔가 여기서 저는 뇌에서 뭔가 이상한데(?)라고 느겼습니다. first, first.next, first.value 라는 변수에모두 "="이라는 동일한 할당 연산자를 사용함에도 불구하고,"가리킨다" "값을 저장한다" "주소를 저장한다"파이썬이 천재인가? 동일한 할당("=")연산자인데,어쩔 때는 알아서 가리키고,어쩔 때는 알아서 주소을 저장하고,또 어쩔 때는 값를 저장한다 질문1위 그림을 토대로 말씀드리자면,1."가리킨다" → D관점2."값을 저장한다" → C관점3."주소를 저장한다" → A관점결국엔 다 "동일한 의미"를 다르게 표현하고 있다는 사실입니다. first= Node(1)실제로는 first에 Node(1)의 번지인 100번지(가정)가 저장되어100번지에 저장되어 있는 Node(1)객체를 가리키는 것이고,second=Node(2)실제로는 second에 Node(2)의 번지인 200번지(가정)가 저장되어200번지가 저장되어 있는 Node(2)객체를 가리키는 것이고,first.next = secondsecond에 저장되어 있는 200번지즉 주소를 first.next에 저장해서결국엔 first.next가Node(2)를 가리키게 되는 것이고, first.value에 600번지(가정)가 저장되어 6을 가리키고 있으나C관점에서 "first.value에는 6이 저장"되어 있다라고 표현하고 있는 것 같습니다. 제가 이해한 게 맞나요??결국 다 동일한 의미인 거죠? <질문의도>분명히 저와 같은 생각하시는 분이 계실 것으로생각됩니다.저도 연결 리스트 처음 배울 때파이썬이 천재인가어쩔 때는 "값"을 저장하고,어쩔 때는 "가리킨다"라고 표현하고,어쩔 때는 "주소"를 저장한다라고 표현하고,이 내용이 다른 분들한테 조금이라도 도움이 됐으면좋겠습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
04-03 매출액의 종류 System.out.printf
04-03 매출액의 종류 문제를 풀던 중,System.out.print() 로 출력하면 정답 처리가 되던 부분이System.out.printf()로 출력 할 경우 time exceed 처리가 됩니다. System.out.printf()의 문제인지 궁금합니다.. 아래는 타임아웃된 소스코드인데,강의자료에서 출력문만 변경 한 것입니다. ======================================================== import java.util.*;class Main { public ArrayList<Integer> solution(int n, int k, int[] arr){ ArrayList<Integer> answer = new ArrayList<>(); HashMap<Integer, Integer> HM = new HashMap<>(); for(int i=0; i<k-1; i++){ HM.put(arr[i], HM.getOrDefault(arr[i], 0)+1); } int lt=0; for(int rt=k-1; rt<n; rt++){ HM.put(arr[rt], HM.getOrDefault(arr[rt], 0)+1); answer.add(HM.size()); HM.put(arr[lt], HM.get(arr[lt])-1); if(HM.get(arr[lt])==0) HM.remove(arr[lt]); lt++; } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); int n=kb.nextInt(); int k=kb.nextInt(); int[] arr=new int[n]; for(int i=0; i<n; i++){ arr[i]=kb.nextInt(); } for(int x : T.solution(n, k, arr)) System.out.printf("%d", x); }}
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
joincolumn 제가 이해한게 맞을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Joincolumn의 name속성은 그저 member테이블의 조인컬럼의 컬럼명을 지정하는것뿐 team과 매핑하는것과는 관련이없다. member와 team을 연관관계맺는것은 referencedColumnName속성이 하지만 이것을 생략하면 자동으로 team의 pk값으로 연관관계를 맺어줘서 생략한다. 이게 맞을까요?
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
워크벤치 포트번호
워크벤치에, 전에 테스트해 보던게 있었습니다.포트번호를 겹치지 않게 하려고 다르게 작성하니OpenConnection 할 때워크벤치가 그냥 꺼지는데요 포트번호는 항상 같아야 하는 건가요??
-
미해결실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
port와 adapter에 대해
만들때 쓰셨던 port와 adapter 패턴에 대해 좀 설명해주실수 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
response.sendRedirect("/login?redirectURL=" + requestURI);
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요. 강의 정말 잘 보고 있습니다. 그런데 스프링 인터셉터 - 인증 체크 강의 하실 때 public class LoginCheckInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requestURI = request.getRequestURI(); log.info("인증 체크 인터셉터 실행 {}", requestURI); HttpSession session = request.getSession(false); if (session == null || session.getAttribute(SessionConst.LOGIN_MEMBER) == null) { log.info("미인증 사용자 요청"); //로그인으로 redirect response.sendRedirect("/login?redirectURL=" + requestURI); return false; } return true; }코드를 위에서처럼 작성하시는데,여기서 제가 궁금한 점은 response.sendRedirect("/login?redirectURL="+requestURI)이 부분인데, 이 때 sendRedirect함수를 호출 했다고 해서 바로 rediredt 요청을 하는건가요? 아니면 제가 생각했을 때는 자료를 참고해보면 인터셉터에서 제한이 걸려서 WAS까지 다시 올라 간 다음에 그때 서야 서버 내부에서 redirect를 하는 건가요? 질문을 정리하면 sendRedirect를 호출할 때 서버에서 이뤄지는 과정이 어떻게 되는 건지,,, 궁금합니다.
-
미해결[리뉴얼] SQL 베이스캠프
노션 자료 질문
[제품 이름이 'A'로 시작하면서 가격이 평균 이상인 제품을 구해주세요. 아래와 같이 작성하면 애러가 발생됩니다. 이유를 설명하고, 코드를 작성하세요.]2회차 자료 마지막 문제인데 답이 뭔가요?
-
미해결
파이썬 Outlook 메일링 (에러가 납니다ㅠ)
문제는 아래에서 IF문 첫번째 조건인 SenderEmailAddress에서 발생합니다. 이상한 건... 기존에 잘 실행이 되다가 며칠 뒤에 해보니 에러가 난다는 점입니다.ㅠㅠ 혹시나 해서 아나콘다, 파이썬 삭제/설치 반복했지만 안 되네요ㅠ "에러구문" Traceback (most recent call last): File "C:\Users\user\PycharmProjects\OutlookProject\main.py", line 32, in <module> if ((ms.SenderEmailAddress == "crm@ecredible.co.kr" and File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\win32com\client\dynamic.py", line 639, in __getattr__ raise AttributeError("%s.%s" % (self._username_, attr)) AttributeError: <unknown>.SenderEmailAddress "" import pandas as pd import win32com.client as cli # outlook API from tabulate import tabulate from datetime import datetime, time tabulate.WIDE_CHARS_MODE = False outlook = cli.Dispatch("Outlook.Application").GetNamespace("MAPI") # 아웃룩 inbox = outlook.GetDefaultFolder(6) # 받은편지함 msg = inbox.Items # 메세지 정보 msg_counter = msg.count # 전체 메세지 수 ms_counter = 0 # 검색된 메세지 수 print("전체 메세지 수 : " + str(msg_counter)) now = datetime.today().strftime("%Y-%m-%d %H:%M:%S") fromdate = input("From (ex 2023-01-01 00:00:00) :") todate = input("To (ex 2023-01-01 00:00:00) :") # 협력사 DB 불러오기 supplierdf = pd.read_csv("SupplierDB.csv", encoding="cp949") # print(supplierdf) # 협력사 DB와 본문 매칭된 협력사 리스트 생성 findList = list() findList_Rate_before = list() findList_Rate_after = list() ms = 0 for ms in msg: if ((ms.SenderEmailAddress == "crm@ecredible.co.kr" and str(ms.ReceivedTime) >= fromdate and str(ms.ReceivedTime) <= todate) ): # 특정 메일주소, 기간만! ms_counter = ms_counter + 1 print("받은시간 : " + str(ms.ReceivedTime)) print("보낸사람 : " + str(ms.SenderName)) print("내용 : " + str(ms.Body)) print("\n ================================================ \n") print("검색된 메세지 수 : " + str(ms_counter))
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
Cause: error: invalid source release: 17
강의대로 진행한 것 같은데 이와 같은 에러가 나옵니다. 혹시 몰라서 jdk17 버전으로 해봤는데 아래와 같이 에러가 나옵니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 에러 질문
package jpabook.jpashop; import org.assertj.core.api.Assertions; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.assertj.core.api.Assertions.*; import static org.junit.Assert.*; @RunWith(SpringRunner.class) @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional public void testMember() throws Exception { //given Member member = new Member(); member.setUsername("memberA"); //when Long saveId = memberRepository.save(member); Member findMember = memberRepository.find(saveId); //then assertThat(findMember.getId()).isEqualTo(member.getId()); assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); } }package jpabook.jpashop; import org.springframework.stereotype.Repository; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @Repository public class MemberRepository { @PersistenceContext private EntityManager em; public Long save(Member member) { em.persist(member); return member.getId(); } public Member find(Long id) { return em.find(Member.class, id); } }package jpabook.jpashop; import lombok.Getter; import lombok.Setter; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity @Getter @Setter public class Member { @Id @GeneratedValue private Long id; private String username; }MemberRepositoryTest에서 저렇게 오류가 나는데 뭐가 잘못된걸까요ㅠ package jpabook.jpashop; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class JpashopApplicationTests { @Test void contextLoads() { } }그리고 db를 실행시키지 않고 이 테스트를 돌리면 에러가 나는데 H2 db 실행여부랑 테스트 오류랑 상관이 있을까요?