묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[개념부터 실습까지] 추천 시스템 입문편
list(zip 사용하는 부분에서 질문드립니다.
no genres listed일때 3.20이 아니라 1.04..을 더한 값 4.2..가 되는게 아닌가요? +추가질문입니다 다른 데이터를 사용해서 강의를 듣고 있는데 coef 값이 너무 크거나 너무 작게 나올때가 있습니다. 이런 경우에는 입력된 데이터의 잘못일까요..?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
img. click()
- img. click()과 이미지 저장이 안됩니다. 네이버 이미지의 경우 from selenium import webdriver import time from selenium.webdriver.common.keys import Keys import os from selenium.webdriver.common.by import By import urllib.request # 이미지 저장 모듈 keyword = input("검색어 입력 ") url = f"https://search.naver.com/search.naver?sm=tab_hty.top&where=image&query={keyword}" s = Service('D:\programs\chromedriver.exe') browser = webdriver.Chrome(service=s) # 폴더 만들기 if not os.path.exists(f'{keyword}'): # 해당 폴더의 존재여부를 boolean값으로 출력해줌 # not True = False : 해당폴더가 기존에 존재하지 않으면 새 폴더를 만든다! os.mkdir(f'{keyword}') browser.implicitly_wait(5) browser.maximize_window() # 화면크기 최대화 browser.get(url) time.sleep(2) # 무한스크롤 # 스크롤 전 높이 before_h = browser.execute_script("return window.scrollY") #execute_script = 자바스크립트 명령어 실행 # 무한 스크롤 - 반복문 while True: # 맨 아래로 스크롤을 내린다. body = 모든 웹사이트에 존재 # 키보드의 END키 누르면 웹페이지 맨아래로이동 browser.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END) time.sleep(1) # 스크롤 사이 페이지 로딩시간 after_h = browser.execute_script("return window.scrollY") if after_h == before_h: break before_h = after_h # 스크롤 후 높이가 다르면 before_h를 업데이트 # 이미지 태그 추출 imgs = browser.find_elements(By.CSS_SELECTOR, 'img._image._listImage') for i, img in enumerate(imgs, 1): # enumerate(대상, 시작값) # 이미지 다운을 위해선 태그에있는 이미지의 주소가 필요하다. img_src = img.get_attribute('src') print(i, img_src) # img를 index값의 파일명으로 png파일로 저장 urllib.request.urlretrieve(img_src, f'{keyword}/{i}.png') 이렇게 했는데 이미지 저장이 안됩니다. 구글 이미지는 from selenium import webdriver import time from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.service import Service import os from selenium.webdriver.common.by import By import urllib.request s = Service('D:\programs\chromedriver.exe') browser = webdriver.Chrome(service=s) url = "https://www.google.com/search?q=%EA%B3%A0%EC%96%91%EC%9D%B4&sxsrf=APq-WBsz993sMMBhQOIcEjQ2XF3mjmQK_A:1648550317533&source=lnms&tbm=isch&sa=X&ved=2ahUKEwiHpMjAkOv2AhXCQPUHHZg7AoEQ_AUoAXoECAEQAw&biw=1280&bih=937&dpr=1#imgrc=kaRLNYgN2jiJpM" browser.implicitly_wait(10) #브라우저가 다 열릴때까지 기다림 browser.maximize_window() browser.get(url) before_h = browser.execute_script("return window.scrollY") while 1: #맨 아래로 스크롤을 내린다. browser.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END)#END는 스크롤을 제일 아래로 내일 수 있다. time.sleep(1) after_h = browser.execute_script("return window.scrollY") if after_h == before_h: break befor_h = after_h if not os.path.exists('./고양이'): os.mkdir("./고양이") cats = browser.find_elements(By.CSS_SELECTOR,".rg_i.Q4LuWd") for i, cat in enumerate(cats, 1): #각 이미지 테그의 주소추출 #src의 속성값을 가져온다. cat.click() time.sleep(1) big_img = browser.find_elements(By.CSS_SELECTOR,"img.n3VNCb") big_img_src = big_img.get_attribute("src") print(i, big_img_src) urllib.request.urlretrieve(big_img_src,f"./고양이/{i}.png") 이렇게 했는데 이미지 저장도 안되고 404에러도 안 납니다. 무엇이 문제일까요?
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
react Router dom
react router dom 을 활용하는데, 강의에서는 Switch 라 떠서요. 근데, 인터넷 찾아보니 업데이트 되면서, Switch 말고 Routes 를 써야된다고 하는데, 어떻게 하는게 좋을까요?
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
시각화 질문 있습니다
안녕하세요 시각화 관련해서 질문이 있습니다 아래 코드를 실행하면 지역명이 일부만 나오는데요 지역명을 모두 나오게 하려면 어떻게 해야 할까요? g = df_last.groupby(['지역명'])['평당분양가격'].mean() g.plot() 감사합니다
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
소켓프로그래밍 질문드립니다.
현재 락프리까지 듣고 소켓프로그래밍이 궁금해서 바로 넘어 왔는데 현재 게임서버쪽이 ws2에러가 재정의 에러가 나서 질문드립니다. 현재 msdn으로가서 오타도 확인하고 안되서 루키스님의 소스도 복붙했는데 제 visual에서 에러가 발생하는데 혹시 threadmaanager 강의쪽에서 추가하신 것이 있어서 그런건가요? 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
go live 사용 시 디렉터리 목록 표시
안녕하세요 좋은 강의 감사드립니다. 실습 중, go live를 사용하여 수정된 사항에 대해서 확인하면서 수업을 진행해 주시는데요, 디렉터리 리스트가 보이는 화면(아래 사진)으로만 연결이되어서 찾아보니, 라이브서버에서 브라우저에서 직접 코드를 실행하려면 index.html전용 폴더가 있어야한다는 답변을 찾았습니다만, 어떻게 적용하는지 모르겠네요 ㅠㅠ..
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
magic_quotes_gpc
서버의 magic_quotes_gpc 가 On이면 sql injection 공격은 아예 못하는 건가요
-
미해결3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
오류낫는데요 멘붕이네요 파하~~~~~~~~~~~~~~~~~>...................
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. HTTP Status 500 - Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors type Exception report message Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors description The server encountered an internal error that prevented it from fulfilling this request. exception org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'pageVo' on field 'pageNo': rejected value []; codes [typeMismatch.pageVo.pageNo,typeMismatch.pageNo,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [pageVo.pageNo,pageNo]; arguments []; default message [pageNo]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'pageNo'; nested exception is java.lang.NumberFormatException: For input string: ""] org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'pageVo' on field 'pageNo': rejected value []; codes [typeMismatch.pageVo.pageNo,typeMismatch.pageNo,typeMismatch.int,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [pageVo.pageNo,pageNo]; arguments []; default message [pageNo]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'pageNo'; nested exception is java.lang.NumberFormatException: For input string: ""] org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:111) org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:75) org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:156) org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:117) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) note The full stack trace of the root cause is available in the Apache Tomcat/8.0.32 logs. Apache Tomcat/8.0.32
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
질문이욤
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. import requests from bs4 import BeautifulSoup import openpyxl fpath = r'C:\Users\Lenovo\Desktop\content\참가자_data.xlsx' wb = openpyxl.load_workbook(fpath) ws=wb.active #현재 활성화된 시트 선택 codes = ["000660","035720","005930"] row=2 for code in codes: url=f"https://finance.naver.com/item/sise.naver?code={code}" response = requests.get(url) html=response.text soup=BeautifulSoup(html,'html.parser') price=soup.select_one("#_nowVal").text price=price.replace(',','') print(price) ws=[f'B{row}']=int(price) row=row+1 wb.save(fpath) cannot assign to f-string expression이런 에러가 뜨면서 작동이 안됩니다 ㅜㅜ
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
질문이요 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 잘 듣고있습니다 다름이 아니라 엑셀부분을 코드 짜고 실행하면 엑셀 파일은 만들어지는데 안에 데이터셀이 텅 비어있습니다...ㅠㅠ
-
해결됨만들면서 배우는 리액트 : 기초
한글을 입력할때는 return안해주나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
버튼을 눌렀을 때 숨겨뒀던 버튼이 생성되고 하단의 필드들은 자연스럽게 밀려 내려가는...?
안녕하세요 열심히 수강중인 학생입니다! :) 회원가입 폼을 만들고 있는데, [인증번호 전송] 버튼을 누르면 -> 하단의 [인증번호 입력필드], [재전송필드], [인증하기] 버튼이 나타나게 하고 싶습니다. [인증번호 입력필드], [재전송필드], [인증하기] 를 숨김처리후 [인증번호 전송] 를 누르면 나타나게 설정했는데, [인증번호 전송] 버튼을 누르기 전에는 오른쪽 사진처럼 이메일과 휴대전화 사이에 공백이 생기더라구요 [인증번호 전송] 을 누르고 숨겼던 필드들이 나오면 자연스럽게 [휴대전화] 가 아래로 내려가는 것을 어떻게 구현할 수 있을까요?? ㅠㅠ
-
미해결실전! Querydsl
applyPagination 메소드 관련 질문입니다.
JPAQuery를 raw 타입으로 쓰지 말고 <T>를 붙여서 쓰면 더 좋지 않나요? protected <T> Page<T> applyPagination(Pageable pageable, Function<JPAQueryFactory, JPAQuery<T>> contentQuery) { JPAQuery<T> jpaQuery = contentQuery.apply(getQueryFactory()); List<T> content = getQuerydsl().applyPagination(pageable, jpaQuery).fetch(); return PageableExecutionUtils.getPage(content, pageable, jpaQuery::fetchCount);}
-
해결됨처음 배우는 리액트 네이티브
Object.values requires that input parameter not be null or undefined.
IconButton 만들기에서 Object.values requires that input parameter not be null or undefined. 라는 오류가 나타나는데 왜 그런걸까요 ? 도움 부탁드립니다. IconButton.propTypes = { icon: PropTypes.oneOf(Object.values(icons)).isRequired, onPress: PropTypes.func, }; 위 코드를 빼니까 정상적으로 동작하네요 .. icons를 undefined으로 인식하는데 무엇이 잘못된걸까요? * 파일구조 theme.js export const theme = { background: '#111111', itemBackground : '#333333', main: '#778bdd', text: '#eeeeee', done: '#666666' }; Input.js import React from 'react'; import styled from 'styled-components/native'; import {Dimensions, useWindowDimensions} from 'react-native'; import PropTypes from 'prop-types'; const StyledInput = styled.TextInput.attrs(({theme}) => ({ placeholderTextColor: theme.main, }))` width: ${({width}) => width - 40}px; height: 60px; margin: 3px 0; padding: 15px 20px; border-radius: 10px; font-size: 25px; background-color: ${({theme}) => theme.itemBackground} color: ${({theme}) => theme.text}; `; const Input = ({placeholder, value, onChangeText, onSubmitEditing}) => { // const width = Dimensions.get('window').width; const width = useWindowDimensions().width; return <StyledInput width={width} placeholder={placeholder} maxLength={500} autoCorrect={false} autoCapitalize="none" returnKeyType="done" keyboardAppearance="dark" onChangeText={onChangeText} onSubmitEditing={onSubmitEditing} value={value}></StyledInput> } Input.propTypes = { placeholder: PropTypes.string, value: PropTypes.string.isRequired, onChangeText: PropTypes.func.isRequired, onSubmitEditing: PropTypes.func.isRequired } export default Input; App.js import { StatusBar } from 'react-native' import React, {useState} from 'react'; import styled, {ThemeProvider} from 'styled-components/native'; import {theme} from './theme'; import Input from './components/Input' import IconButton from './components/IconButton' import { icons } from './icons'; /** Styled Component */ const Container = styled.SafeAreaView` flex: 1; background-color: ${({theme}) => theme.background}; align-items: center; justify-content: flex-start; `; const Title = styled.Text` font-size: 40px; font-weight: 600; color: ${({theme})=> theme.main}; width: 100%; align-items: flex-end; padding: 0 20px; `; export default function App() { const addTask = () => { alert(newTask); setNewTask(''); } const [newTask, setNewTask] = useState(''); return ( <ThemeProvider theme={theme}> <Container> <Title>TODO List</Title> <Input placeholder="+ Add a Task" value={newTask} onChangeText = {text => setNewTask(text)} onSubmitEditing={addTask}></Input> <StatusBar barStyle= "light-content" backgroundColor={theme.background} /> <IconButton icon={icons.check} onPress={()=>alert('check')}></IconButton> {/* <iconButton icon={icons.uncheck} onPress={()=>alert('uncheck')}></iconButton> <iconButton icon={icons.edit} onPress={()=>alert('edit')}></iconButton> <iconButton icon={icons.delete} onPress={()=>alert('delete')}></iconButton> */} </Container> </ThemeProvider> ); } icon.js import Check from '../assets/icons/check.png'; import Delete from '../assets/icons/delete.png'; import Uncheck from '../assets/icons/uncheck.png'; import Edit from '../assets/icons/edit.png'; export const icons = { check: Check, uncheck: Uncheck, edit: Edit, delete: Delete, }; iconButton.js import React from 'react'; import {TouchableOpacity, View} from 'react-native'; import styled from 'styled-components/native'; import PropTypes from 'prop-types'; import icons from '../icons' const Icon = styled.Image` width: 30px; height: 30px; margin: 10px; tint-color: ${({theme})=> theme.text}; `; const IconButton = ({icon, onPress}) => { return ( <TouchableOpacity onPress={onPress}> <View> <Icon source={icon}></Icon> </View> </TouchableOpacity> ); }; IconButton.propTypes = { icon: PropTypes.oneOf(Object.values(icons)).isRequired, onPress: PropTypes.func, }; export default IconButton;
-
미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
아두이노 mqtt에서 값을 읽을수 없습니다.
포트 연결확인, 와이파이 id확인, 비밀번호 확인, ip 주소 확인했습니다. 구글링을 열심히 하였으나 답이 안나오네요 ㅜㅜ 혹시 pubsub 버전이 달라서 에러가 나는가 해서 2.8.0 최신버전에서 2.7.0 강사님 버전으로 다운그래이드 했으나 여전히 null값만 전송되고 있습니다. 도와주세요 ㅜㅜ...
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
import kotlin.random.Random 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 주사위앱 완성 - 조건문(if else), random 함수 강의 듣는 중 제 안드로이드 스튜디오에서 import kotlin.random.Random 오류가 발생했습니다. 강의 5:15 부분에서 Random.nextInt 를 사용하는 부분에서 nextInt 함수가 계속 빨간글씨로 사용하지 못하게 돼있고 따로 import kotlin.random.Random 로 import해보려 했으나 실패했습니다. 제 코틀린 환경에 문제가 있는 것 같은데 어떻게 수정해야할까요ㅠㅠ 아래에 사진 첨부했습니다. 감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
점프 관련 질문 드립니다.
안녕하세요 Rookiss 강사님 점프 관련하여 질문드립니다. AddForce이용하여 JumpPower을 적용하고 있는데 Velocity의 y는 변화하고 있으나, 플레이어의 y포지션이 크게 변하지 않습니다. JumpPower를 굉장히 큰 값으로 변경하여도 y포지션 값의 변화가 없습니다. y Positon Freeze 설정되어 있지 않은 것도 확인하였습니다. 구글링을 해보아도 관련된 글은 없는 것 같아 질문드립니다. 이러한 현상이 일어나는 이유가 있을까요?
-
미해결실전! 스프링 데이터 JPA
안녕하세요 개인 프로젝트중 궁금한게 생겨서 질문드립니다.
안녕하세요 선생님 스프링부트를 이용한 프로젝트를 진행중에 궁금한 것이 생겨서 꼭 알고 싶은 마음에 질문하게 되었습니다. 프로젝트 구성은 이렇습니다. Entity는 User, Board, Comment를 만들었고, Spring Data Jpa를 활용하여 각각의 repository인 UserRepository, BoardRepository, CommentRepository도 만들었고, service부분인 CommentServiceImpl을 구성하는 중에 문제가 발생하였습니다. @Service public class CommentServiceImpl implements CommentService{ ... @Override public Long create(User user, Long board_id, String content) { Board board = boardRepository.findById(board_id).get(); //user.getClass() = class com.graduation.parrot.domain.User //proxy가 아님을 확인 System.out.println("user.getClass() = " + user.getClass()); //user.getBoards() = [Board(id=2, title=title1, content=at), ... //정상실행 System.out.println("user.getBoards() = " + user.getBoards()); //LazyInitializationException 발생 System.out.println("user.getComments() = " + user.getComments()); return commentRepository.save(new Comment(content, user, board)).getId(); } 에러메시지 : org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.graduation.parrot.domain.User.comments, could not initialize proxy - no Session 원래는 System.out.print...이 부분이 없었지만 이해를 돕기위하여 추가하였습니다. (return 부분의 new Comment를 생성할때 생성자에서 user.getComments()가 실행됩니다.) 테이블의 연관관계 매핑은 [user : board - 1대다], [user : comment - 1대다], [board : comment - 1대다] 이렇게 구성하였습니다. 제가 생각할때 user.getBoards()와 user.getComments()가 구조상 차이가 없어보이는데 스프링은 그렇게 생각하지 않는지 user.getComments()를 실행할 때만 에러를 발생시킵니다.. 문제상황 자체를 해결하는 방법은 찾았으나(user를 바로 사용하지 않고 userRepository.findById() 이용) 왜 user.getComments()만 문제가 발생하는지 꼭 알고 싶습니다. +@Transactional를 달아도 에러가 발생합니다 아래는 Entity들의 자바코드입니다. User @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(of = {"id", "name", "login_id", "password"}) public class User extends BaseTimeEntity{ @Id @GeneratedValue @Column(name = "user_id") private Long id; @Column(nullable = false, length = 100, unique = true) private String login_id; @JsonIgnore @Column(nullable = false, length = 100) private String password; @Column(length = 15, unique = true) private String name; @Column(length = 100) private String email; @Enumerated(EnumType.STRING) private Role role = Role.ROLE_USER; @OneToMany(mappedBy = "user", cascade = CascadeType.ALL) private List<Board> boards = new ArrayList<>(); @OneToMany(mappedBy = "user", cascade = CascadeType.ALL) private List<Comment> comments = new ArrayList<>(); @Builder public User(String login_id, String password, String name, String email) { this.login_id = login_id; this.password = password; this.name = name; this.email = email; } } Board @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @ToString(of = {"id", "title", "content"}) public class Board extends BaseTimeEntity{ @Id @GeneratedValue @Column(name = "board_id") private Long id; @Column(nullable = false, length = 30) private String title; @Column(length = 1000) private String content; private String author; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", updatable = false) private User user; @OneToMany(mappedBy = "board", cascade = CascadeType.ALL) private List<Comment> comments = new ArrayList<>(); @Builder public Board(String title, String content, User user) { this.title = title; this.content = content; this.author = user.getName(); setUser(user); } public void setUser(User user) { this.user = user; user.getBoards().add(this); } Comment @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @ToString(of = {"id", "content"}) public class Comment extends BaseTimeEntity{ @Id @GeneratedValue @Column(name = "comment_id") private Long id; @Column(nullable = false) private String content; private String author; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private User user; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "board_id") private Board board; @Builder public Comment(String content, User user, Board board) { this.content = content; this.author = user.getName(); setUser(user); setBoard(board); this.board = board; } public void setUser(User user) { this.user = user; user.getComments().add(this); //System.out.print를 지우고 정상실행시 이 부분에서 지연로딩 에러가 발생합니다. } private void setBoard(Board board) { this.board = board; board.getComments().add(this); } }
-
미해결Vue.js - Django 연동 웹 프로그래밍 (실전편)
질문이 있습니다..
안녕하세요. 강의를 듣다가 궁금한 사항이 있어 질문 드립니다. axios 요청으로 Django 데이터를 가져와 post:[]에 담아 놓은건 이해가 되었는데, 담긴 post의 데이터를 split, replace등의 문자열 변환 작업을 한뒤에 html 코드에 출력 하고 싶은데 보통 이럴 경우에는 axios에서 성공 응답으로 받은 then에서 처리를 해주는 건가요?
-
미해결
매개변수 문자열 없는 url 링크 구별 방법
안녕하세요 현재 개인 프로젝트 웹 사이트를 제작하다가 일주일동안 정말 해결 안 되는 난제가 있어서 질문 드립니다.. 도와주세요 ㅠㅠ a 태그를 이용해서 해당 링크로 이동하는 부분을 작업하고 있는데 그 url이 매개변수 변화가 없어서 어떻게 작업을 해야 될 지 모르겠습니다. 해당 url은 https://www.g2b.go.kr:8092/sm/ma/mn/SMMAMnF.do 나라장터 종합쇼핑몰 링크인데요, 검색해보시면 확인하실 수 있겠지만 검색결과에 따라 url이 변화되지 않고 쭉 저 url 그대로입니다.. 저는 (예를들어) 간판이 검색 결과로 뜨는 url로 바로 이동할 수 있게 하고 싶은데 매개변수 변화가 없다보니 저 url 그대로 a 태그에 넣게 되니까 페이지 이동하면 간판 검색 결과 페이지가 아닌 나라장터 종합쇼핑몰 메인 화면이 나오더라고요.. 어떻게 해야 제가 원하는 값을 검색하여 결과가 나온 페이지로 나올 수 있게 url을 작업할 수 있을까요 url에 어떤 파라미터, 매개변수 코딩을 해야 되는지 알려주세요 ㅠㅠ + location.search해도 빈 문자열이 나옵니다.