묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결ARM Cortex-M 프로세서 프로그래밍
인라인 어셈블러 질문드립니다.
인라인 어셈블러 포맷에서 ::: 마지막란에 Clobber list가 온다고 배웠습니다.Clobber list에 "memory"를 쓰면 메모리 장벽이 생성된다는게 어떤 의미인지 구체적으로 알 수 있을까요? 강의 예시로 나온 코드의 내용입니다.(strexb %0, %2 %1" : "=&r"(result), "=Q"(*addr): "r" ((uint32_t)value)); 어셈블러 문법상 :::는 무조건 적어야한다고 강의를 통해 배웠는데요. 위 코드에서는 ' : ' 가 2개 뿐인걸로 확인했습니다. 특정 상황에서는 ' : '를 3개 다 적지 않아도 되는건가요? 감사합니다~
-
미해결Java TPC 실전프로젝트 (Java API 활용)
A instance of B의 작동원리가 궁금합니다!
요기가 질문란이 맞겠죠? 우선 질문은 마그대로 A instance of B의 작동원리에 대해 설명받고 싶고 그전에 저의 추측도 한번 말씀드리고싶습니다!Object obj = new String(); System.out.println(obj instanceof String);위와 같은 상황에서라고 가정한다면instanceof라는 메서드?api?를 사용할때 1) compile시점에 obj는 초기화는 되지 않았지만 String이라는 클래스의 기억공간을 가르킬 주소를갖고있도록 해석된다2) obj instanceof String을 실행하는 시점에 String Class와 String Class는 같은가?라고 해석해서true의 값을 반환한다 일까요? 아니면1) 컴파일 시점에 obj는 Object이다2)obj instanceof String 을 하는순간 ?? .. 잘모르겠습니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
코딩테스트 사이트 링크가 안보입니다. 이제는 제공하지 않는걸까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코딩테스트 사이트 링크가 안보입니다. 이제는 제공하지 않는걸까요
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
코드팩토리 고급 & 백엔드 개발 과정(추천)
안녕하세요. 최근 앱개발 강의를 집중해서 수강하고 있는데. 단연 최고의 강의라고 생각합니다.Old 개발자(프론트/백엔드 개발자 경력 15년전..)로써 차원이 다른 강의와 열정에 다시 한번 감사드립니다. 다음 고급레벨의 컨텐츠를 찾고 있는데 도움을 요청하고자 질문을 드립니다. 이번 중급과정에서 사용한 서버사이드(백엔드) 개발에 대해서 더 공부를 하고 싶은데 추천해 주실 강의가 있을까요? 아님 코드팩토리에서 기획하고 있거나 서비스하고 있는 강의가 있는지 문의드립니다. 서버개발과 데이터베이스, API까지 공부하면 Flutter앱개발에 더 관심가지고 실제 프로덕트를 설계하고 개발/배포까지 자신이 생길 것 같습니다. 감사합니다.
-
미해결
코드팩토리 백엔드 개발 과정이 있나요?
안녕하세요. 최근 앱개발 강의를 집중해서 수강하고 있는데. 단연 최고의 강의라고 생각합니다.Old 개발자(프론트/백엔드 개발자 경력 15년전..)로써 차원이 다른 강의와 열정에 다시 한번 감사드립니다. 다음 고급레벨의 컨텐츠를 찾고 있는데 도움을 요청하고자 질문을 드립니다. 이번 중급과정에서 사용한 서버사이드(백엔드) 개발에 대해서 더 공부를 하고 싶은데 추천해 주실 강의가 있을까요? 아님 코드팩토리에서 기획하고 있거나 서비스하고 있는 강의가 있는지 문의드립니다. 서버개발과 데이터베이스, API까지 공부하면 Flutter앱개발에 더 관심가지고 실제 프로덕트를 설계하고 개발/배포까지 자신이 생길 것 같습니다. 감사합니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
passport 관련 질문드립니다
controller@ApiBody({ schema: { properties: { email: { type: 'string' }, password: { type: 'string' } } } }) @UseGuards(LocalAuthGuard) @Post('login') async login(@Req() req) { console.log('user controller'); return this.authService.login(req.user); }local.strategyconstructor(private authService: AuthService) { super(); } async validate(email: string, password: string): Promise<any> { console.log('local strategy'); console.log(`${email} , ${password}`); const user = await this.authService.validateUser(email, password); if (!user) { throw new UnauthorizedException(); } return user; }local-auth.guardasync canActivate(context: ExecutionContext): Promise<boolean> { console.log(context); const can = await super.canActivate(context); console.log('can', can); if (can) { const request = context.switchToHttp().getRequest(); console.log('login for cookie'); await super.logIn(request); } return true; }이렇게 구성되어있는데canActivate에서 401 에러가 나는데 이유를 잘모르겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
즉시로딩과 지연로딩 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]즉시로딩과 지연로딩 강의3:16 부분에서JpaMain 을 실행하면 저 같은 경우 에는ERROR: HHH000315: Exception executing batch [org.h2.jdbc.JdbcBatchUpdateException: Unique index or primary key violation: "PRIMARY KEY ON PUBLIC.TEAM(TEAM_ID) [1, NULL, NULL, NULL, NULL, 'teamA']"; SQL statement:위와 같은 에러가 발생하는데요.이미 데이터가 들어가있어서 발생한다는 오류로 알고 있습니다.하지만 강사님의 경우에는 데이터가 들어가 있는 상태에서 한번 더 실행해도 저와 같은 에러는 발생하지 않는데어떻게 고쳐야 하는지 궁금해서 질문드립니다.부연설명을 더 하자만DB를 아예 삭제했다가 실행하면 에러는 발생하지 않고 강의대로 실행되지만 데이터가 들어간 시점에서 한번 더 실행하면 위와 같은 에러가 발생하는 상황입니다.추가로 해당부분 깃헙에 올려놓은 코드입니다!https://github.com/castela0119/hello_jpa/commit/c5f3435e99d58404fb41d6585bd0f3f7d0919b34
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
비동기 요청
비동기 요청시 일부 요청이 실패하거나 timeout 이 발생할 경우 예외처리는 어떻게 할 수 있을까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
MediaQuery.of(context).size.width 질문
MediaQuery.of(context).size.width를 작성하게 되면 텍스트들이 중앙 정렬이 되는데검색해서 찾아봤을 때, 저 구문은 그냥 앱 화면 넓이를 찾을 때 쓴다고 나오더라구요. 선생님께서 알려주신거 같아 전 강의를 찾아보는데 잘 안나와서요..저 구문을 사용했을 때, 가로로 가운데 정렬 되는 이유 여쭤봐도 될까요?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
에러 문의 react hook useEffect
src/components/Row.js Line 14:7: React Hook useEffect has a missing dependency: 'fetchMovieData'. Either include it or remove the dependency array react-hooks/exhaustive-deps쌤 그리고 fetchMovieData 가 있습니다. 그것을 포함하거나 종속성 배열 React-hooks/exhausitve deps를 제거하라는게 무슨말인가요??
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
netflix searchPage인데 검색할때 한글자만 검색해도 흰색 바탕이 나와버려요
import axios from '../../api/axios'; import React,{useEffect,useState} from 'react' import { useLocation } from 'react-router-dom'; export default function SearchPage() { console.log('useLocation()', useLocation()); const [searchResults, setSearchResults] = useState([]); let query = useQuery(); const searchTerm = query.get("q"); console.log('searchTerm: ', searchTerm); useEffect(() => { if(searchTerm) { fetchSearchMovie(searchTerm); } }, [searchTerm]); const fetchSearchMovie = async (searchTerm) => { try{ const request = await axios.get( `/search/multi?include_adult=false&query=${searchTerm}` ) console.log(request); setSearchResults(request.data.results); }catch(error){ console.log("error : ", error); } }; const useQuery = () => { return new URLSearchParams(useLocation().search); } return ( <div>SearchPage</div> ) }
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
봉우리질문
안녕하세요.!![ 탐색 ] 봉우리 문제 질문 드립니다.제가 적은 코드는 아래와 같습니다.for i in range(1,n+1): for j in range(1,n+1): Max = mountain[i][j] for k in range(4): if mountain[i+dx[k]][j+dy[k]] >Max: break else: count+=1 선생님께서 적은 코드와 논리상의 차이는 없어보이는데... 출력값이 다르게 나옵니다..제 생각에는,, 제 코드가 all이 안돼서 좀 더 많은 값이 나오는 것 같은데.. 혹시 뭐가 문제인지 봐주실 수 있을까요? 아래 코드는 선생님의 코드입니다.for i in range(1, n+1): for j in range(1, n+1): if all(a[i][j]>a[i+dx[k]][j+dy[k]] for k in range(4)): cnt+=1감사합니다.
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
네이버 쇼핑 카테고리별 인기검색어 크롤링 강의 중 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 안녕하세요!강의를 들으며 열심히 실습중인데 에러가 자꾸떠서요 ㅠㅠ맨처음에 if 문 넣기전에는 실행이 되었었는데 어찌된일인지 if문을 넣고 난 다음부터 자꾸 에러가 납니다 ㅠㅠ if문 넣기 전에 상품펼치기 지우기 전 자료는 new 상품 펼치기가 없었어요.. 혹시 그것때문은 아닐까요 ㅠㅠ왕왕 초보라 어렵네요 답변부탁드려요감사합니다!
-
해결됨[코드캠프] 훈훈한 Javascript
images파일
섹션 9 JSON 데이터 활용에서 images파일은 어디서 다운로드 받을수 있나요??아무리 찾아도 안보이네요..ㅠㅠ
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
headers 값을 못찾아요~
안녕하세요 실습 따라하는 도중에 질문이 있어서요! back-end는 Spring 사용했구요응답은 커스텀헤더값("Content-Length-Test")으로 위에 캡쳐 내용처럼 내려주는데요"Content-Length"는 alert으로 찍어보면 "1717"이라고 잘나와요 vue에서 커스텀 헤더값("Content-Length-Test")을 alert으로 찍어보면 "undefind"로 나옵니다.커스텀헤더값은 못가져오고 있는데 가져오게 하려면 어떻게 해야될까요?ㅠ네트워크에는 캡쳐된 내용으로 잘 나오고 있어서요강사님 도와주세요~ㅠ
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
nunjucks res.render('error'); 작동을 안합니다.
안녕하세요. 강사님.현재 learn-sequelize MySQL 부분을 실습하고 있습니다.그런데 실습 과정중 이름(UNIQUE INDEX ) 을 중복되게 생성하여 일부러 오류를 일으켰으나error.html 페이지가 호출 되지 않고있습니다.사용자 생성 router 부분은router.route('/').get(async (req, res, next) => {try {const users = await User.findAll();res.json(users);} catch(err) {console.error(err);next(err);}}).post(async (req, res, next) => {try {const user = await User.create({name : req.body.name,age : req.body.age,married : req.body.married});console.log(user);res.status(201).json(user); // status 201 작성됨(생성됨) 뜻} catch(err) {console.error(err);next(err); // <== next(err) 로 전달하나 error.html을 호출하지 못함}});입니다.app.use((err, req, res, next) => { res.locals.message = err.message; res.locals.error = process.env.NODE_ENV !== 'production' ? err : {}; err.status = err?.status ?? 500; res.status(err.status); console.log('test'); //<== 로그는 찍힘 res.render('error');//error.html render안됨});res.render('error') 가 되지 않고 있습니다. 라우터 경로 테스트 결과app.use((req, res, next) => {const error = new Error(`${req.method} ${req.url} 라우터가 없습니다.`);error.status = 404;next(error);});라우터 경로 오류시에는 정상적으로 호출하는 것으로 보아 문제는 없는 것 같은데 원인을 찾지 못하고 있습니다.잘 부탁드립니다.-- 에러 로그는 다음과 같습니다. ---- users 테이블에 중복된 이름을 입력 하였을 때 오류 내용으로 500 에러로 보아error.html 호출이 되어야 하지만 호출이 되지 않고 있습니다.Executing (default): INSERT INTO users (`id`,`name`,`age`,`married`,`created_at`) VALUES (DEFAULT,?,?,?,?);Errorat Query.run (D:\nodeExer\node_exer1\learn-sequelize\node_modules\sequelize\lib\dialects\mysql\query.js:52:25)at D:\nodeExer\node_exer1\learn-sequelize\node_modules\sequelize\lib\sequelize.js:314:28at processTicksAndRejections (internal/process/task_queues.js:95:5)at async MySQLQueryInterface.insert (D:\nodeExer\node_exer1\learn-sequelize\node_modules\sequelize\lib\dialects\abstract\query-interface.js:308:21)at async User.save (D:\nodeExer\node_exer1\learn-sequelize\node_modules\sequelize\lib\model.js:2432:35)at async Function.create (D:\nodeExer\node_exer1\learn-sequelize\node_modules\sequelize\lib\model.js:1344:12)at async D:\nodeExer\node_exer1\learn-sequelize\routes\users.js:22:26 {name: 'SequelizeUniqueConstraintError',errors: [ValidationErrorItem {message: 'name_UNIQUE must be unique',type: 'unique violation',path: 'name_UNIQUE',value: 'aa',origin: 'DB',instance: [User],validatorKey: 'not_unique',validatorName: null,validatorArgs: []}],parent: Error: Duplicate entry 'aa' for key 'users.name_UNIQUE'at Packet.asError (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\packets\packet.js:728:17)at Execute.execute (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\commands\command.js:29:26)at Connection.handlePacket (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:456:32)at PacketParser.onPacket (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:85:12)at PacketParser.executeStart (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\packet_parser.js:75:16)at Socket.<anonymous> (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:92:25)at Socket.emit (events.js:400:28)at addChunk (internal/streams/readable.js:293:12)at readableAddChunk (internal/streams/readable.js:267:9)at Socket.Readable.push (internal/streams/readable.js:206:10) {code: 'ER_DUP_ENTRY',errno: 1062,sqlState: '23000',sqlMessage: "Duplicate entry 'aa' for key 'users.name_UNIQUE'",sql: 'INSERT INTO users (`id`,`name`,`age`,`married`,`created_at`) VALUES (DEFAULT,?,?,?,?);',parameters: [ 'aa', '11', false, '2022-12-14 17:38:07' ]},original: Error: Duplicate entry 'aa' for key 'users.name_UNIQUE'at Packet.asError (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\packets\packet.js:728:17)at Execute.execute (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\commands\command.js:29:26)at Connection.handlePacket (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:456:32)at PacketParser.onPacket (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:85:12)at PacketParser.executeStart (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\packet_parser.js:75:16)at Socket.<anonymous> (D:\nodeExer\node_exer1\learn-sequelize\node_modules\mysql2\lib\connection.js:92:25)at Socket.emit (events.js:400:28)at addChunk (internal/streams/readable.js:293:12)at readableAddChunk (internal/streams/readable.js:267:9)at Socket.Readable.push (internal/streams/readable.js:206:10) {code: 'ER_DUP_ENTRY',errno: 1062,sqlState: '23000',sqlMessage: "Duplicate entry 'aa' for key 'users.name_UNIQUE'",sql: 'INSERT INTO users (`id`,`name`,`age`,`married`,`created_at`) VALUES (DEFAULT,?,?,?,?);',parameters: [ 'aa', '11', false, '2022-12-14 17:38:07' ]},fields: { name_UNIQUE: 'aa' },sql: 'INSERT INTO users (`id`,`name`,`age`,`married`,`created_at`) VALUES (DEFAULT,?,?,?,?);'}POST /users 500 52.768 ms - 785
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
cookie를 자동으로 업데이트 하는 방법이 있을까요?
https://kwonkyo.tistory.com/529해당 블로그의 방법처럼 joson 형식을 직접 코드에 작성하여 네이버 쇼핑 크롤링을 완성 하였습니다. 대신 이 방법대로 하면 매번 코드에 cookies,headers,params 를 작성해 줘야하는데요.headers와 params는 매번 똑같아도 괜찮지만 cookies는 매일 달라지는 것 같습니다?이 경우에는 cookies를 자동으로 업데이트 시켜줘야 할 것 같은데어떤 방법이 있을까요?구글링 하여 session 방법도 나름 시도해 보았지만 잘 해결되지 않아 질문 드립니다.아래는 코드 입니다.import requests from bs4 import BeautifulSoup import json page = 1 keyword = "과자" print(f"------------------{page}페이지--------------------") cookies = { 'NNB': 'WUXWWRMOOVZWG', 'nx_ssl': '2', 'NaverSuggestUse': 'use%26unuse', 'NFS': '2', '_ga': 'GA1.2.1826370085.1669177707', '_ga_8P4PY65YZ2': 'GS1.1.1670556699.3.1.1670556781.0.0.0', 'autocomplete': 'use', 'AD_SHP_BID': '14', 'ASID': '0e221f9100000185044256e400000053', 'SHP_BID': '4', 'demo': 'm-20', 'nid_inf': '856411158', 'NID_AUT': 'HZYH2iEU+pydap3C2ZeK6SYL11+ZQZzCIxAEVW3QF+iQi6lSXeyTWKIk5Q2u+b9S', 'NID_JKL': 'SVy2JH/PZVBFeP9cfyNUo3IgRz5c4Q/O3D1m7qX2s00=', 'page_uid': 'hHD3nsp0YihssMEgEXGssssssBd-506797', 'spage_uid': 'hHD3nsp0YihssMEgEXGssssssBd-506797', 'NID_SES': 'AAABnE+3Z8P/zCp3/+XE9IwB85rhcdGolR2WTfQ+4pgrPTDVp5OXKvHRGfHLRDEkgIPkWbhnTGodcztE7cv9hlVOxWbV/AzVGwmPzQZaD1fLKkFAp6C6687HIZnNTsT4eV03q6QZxMfBOw8XTTfsuYRwsYwbkJDEuKeXXmfFFdC2cy3sGgI6ZPG3ktjZIyg+rkfuxcf1ctpeNOHDdt8KmCKlPx5dstYGtlbWHjZo3A4nW6uaRMt+2C9GB/GLrR01RhYR/MO3V75Cs+QMLbaFjcH3rqDH3hW1Af72MHP7GhbefTHvhHrFUtKAgYUgL2GTT/1He52YtfMgiHlr9nkw9vOA+IxGJMTrzGfA2QhJ2ygbYbET/srzrBzN/wc1S9f/1l11d7SKh0V/wlAyputCtanuhm3zErFBEVVnVmnb4ZuMt0suYkOzi4npFMt9DDbZF0a94Jg/hCpqQpOJyZExpW27Lus6vVtTVMKtGhHKdIWIqQj/sazKIizGDZO/kCkB2B3UZ7Mifr8++HX/JRctca8Xhy2Raq4k4LeLgdfzBJUy8YPk', 'sus_val': 'bREWstOPzGuz2c6tT/IjoDSm', '_naver_usersession_': 'MBrk5lhOc1WegHzbQgb1fDhq', 'listOffset': '5', 'lastProductClick': '%EA%B8%B0%EB%8A%A5%EC%84%B1%20%EC%8B%A0%EB%B0%9C%20%EA%B9%94%EC%B0%BD%20%EC%95%84%EC%B9%98%20%EC%97%90%EC%96%B4%20%EC%BF%A0%EC%85%98%20%EC%9A%B4%EB%8F%99%ED%99%94%20%EC%9D%B8%EC%86%94%5E30260232791', 'ncpa': '6303604|lbmlel28|f29a4f23c2092dd24530afa9813bf4ed43f67312|s_18330e9a745fc|413a3e4b2505b6496c591b071aef2b79c21ebc52:3779889|lbmn6v3s|16785f2b11b65ae4a89a094ca2bc118dc954d556|s_16dc887ee7e95|02e93fa21fc6031ec88bcb6689e7cff18c15665b:5690384|lbmnnr4o|b4c6a1cf1d35097780f135a25c5799f57c65aede|s_19db0b627c733|01e7ef1e0ef2246ac863510bbb29e0a36a0033e3:165568|lbms7ec0|ead632e1b5f336c51e62da580208075272c11459|s_3422b8e1086835|47f818e032ceb6be564e3ff644b883ec359a265e:955149|lbnl92mg|b70c701a1fa1d38c1f581fcc23b30398d4adcc90|s_284221eac5eff|2f245a3ca6021c0dfb29a16bf7c07ec3c04396a7:225323|lbnmb480|2b37c0d8ddc982beacf11112bde0a117667fa270|s_5febb6e0220e1431|00c43677ce145a64eda592347157206e1dbd56d6:114|lbnr0s8w|54bc64a1453b4478949117b8889af402d3167367|s_1f0b6dd34481|165f45347c0201202f68fb81d77ad2bb5359ff6e:17703|lbns2kl4|26027c84c330407b41db82948a4fcaa33e7310d7|s_1f0b6dd345b2|2c70c3b6f7b0fcc2318cc94f852a990489505190:2680908|lbnsxh8o|462894807013beea343e192f633c808c7a42aabb|s_7d847d844c1e|a273843fa1cab15b4f2d4c666bc1fb930901383e:95694|lbntoqq0|d1c8fb101d9c85a5ff547a1b0785720da86641af|95694|477f8709aa2b405357c709a92412bb560da31300', } headers = { 'authority': 'msearch.shopping.naver.com', 'accept': 'application/json, text/plain, */*', 'accept-language': 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7', 'logic': 'PART', 'referer': f'https://msearch.shopping.naver.com/search/all?frm=NVSHPAG&origQuery=%ED%81%B0%EC%8B%A0%EB%B0%9C%EA%B9%94%EC%B0%BD&pagingIndex={page}&pagingSize=40&productSet=total&query=%ED%81%B0%EC%8B%A0%EB%B0%9C%EA%B9%94%EC%B0%BD&sort=rel&viewType=lst', 'sec-ch-ua': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"Windows"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36', } params = { 'query': f'{keyword}', 'sort': 'rel', 'pagingIndex': f'{page}', 'pagingSize': '40', 'viewType': 'lst', 'productSet': 'total', 'frm': 'NVSHPAG', 'origQuery': f'{keyword}', } response = requests.get('https://msearch.shopping.naver.com/api/search/all', params=params, cookies=cookies, headers=headers) itemlist = json.loads(response.text) cnt_1 = 1 print("=============광고 상품==============") try: for i in itemlist['searchAdResult']['products']: print(cnt_1) print(i["productTitle"]) print(i["mallProductId"]) cnt_1 +=1 except: print("============광고 상품 없음===================") cnt = 1 print("=============일반 상품==============") for i in itemlist['shoppingResult']['products']: print(cnt) print(i["productTitle"]) try: if i["mallProdMblUrl"][0] =="h": print(i["mallProdMblUrl"]) print(i["mallProductId"]) except: print(i["id"]) cnt +=1
-
미해결Slack 클론 코딩[실시간 채팅 with React]
front 폴더에서 yarn 설치 후 yarn dev 오류
맥북을 사용하기에 front 폴더에 yarn 설치 후, yarn dev를 하면 아래의 사진처럼 Type 'React.ReactNode' is not assignable to type {}. React.ReactNode오류가 뜹니다. setting 폴더에서 yarn 설치 후, yarn dev를 하면 정상적으로 작동합니다.(둘 다 똑같이 back 폴더에서 yarn run dev로 서버 가동은 해놓은 상태입니다)1번 에러2번 에러3번 에러총 이렇게 3개의 에러가 나오는 상황입니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
findbyid findall이두개만 return타입을 사용한 이유가 뭘까요
[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결처음 만난 리액트(React)
섹션3 JSX 코드 작성해보기
이곳에서 코드를 똑같이 따라했는데 아래와 같은 오류가 뜨네요 ㅜㅜ 에러가 왜 나는지 모르겠습니다.