묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 데이터 JPA
업데이트 질문입니다.
안녕하세요 마지막부분에 basicCRUD 테스트 함수에서요 member1을 save하고 findById로 findMember1을 가져온 뒤 findMember1.setUsername("member!!!") 로 업데이트하고 있는데요 변경감지 기능을 사용할 때, 트랜잭션 안에서 엔티티를 조회하고, 변경할 값을 set 해주면 트랜잭션 커밋 시점에 변경 감지가 동작해서 update 쿼리가 나간다고 배웠습니다. 그래서 예상하기로 update member set username='member!!!!!' where member_id = 1; 이렇게 쿼리가 나갈거라고 생각했는데 update member set age=0, team_id = NULL, username='member!!!!!' where member_id = 1; 이렇게 쿼리가 나가는 걸로 보여서요. 해당하는 컬럼만 업데이트 되는게 아니라 전체 칼럼이 업데이트 되는건가요? 전체 칼럼 업데이트 merge, 해당 칼럼 업데이트는 변경감지. 이렇게 배운거 같아서요
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
Dropout
안녕하세요, 간단한 질문이 생겼습니다!! 과적합을 방지하기위한 Dropout이 랜덤한 일부 노드를 Turn-off 하는데 이렇게 off 하기위해 선택된 노드는 언제 다시 랜덤선택을 할까요? 일반적으로 사용되는 방법이 있을까요? 보통 Batch마다 drop-out할 노드를 다시 선택하나요? 아니면, 매번 다시 선택하나요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
안녕하세요. 강사님 리스트뷰 에러떄문에 질문드립니다.
현재 안드로이드 스튜디오 버전은 fox 입니다. 리스트뷰 생성할떄 강사님 화면과 다르게 인자가 p0, p1, p2로 생성됩니다. 인자가 최신버전에서는 다르게 생성될수 있다고는 이해를 하는데요.. 문제는 p0, p1, p2 로 생성된 인자로 리스트뷰를 생성해서 가상디바이스나, 물리디바이스 모두 실행이 안되고 바로 팅깁니다. 제가 일일히 손으로 position, convertView, parent로 바꾸면 안팅기고 물리기계나, 가상기계에서 정상적으로 실행이 되네요;; 이럴경우는 어떻게 해야 할까요? 매개변수가 바뀌었다고 해서 버그성으로 실행이 안되니 답답합니다...ㅜㅜ 답변 미리 감사드립니다.. 물리기계는 안드로이드 9 버전입니다 package com.bokchi.listview_secondimport android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport android.widget.BaseAdapterimport android.widget.TextViewimport androidx.core.content.contentValuesOf/*class ListViewAdapter(val List: MutableList<String>) : BaseAdapter() { override fun getCount(): Int { return List.size } override fun getItem(position: Int): Any { return List[position] } override fun getItemId(position: Int): Long { return position.toLong() } override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { var convertView = convertView if(convertView == null) { convertView = LayoutInflater.from(parent?.context).inflate(R.layout.listview_item, parent, false) } val title = convertView!!.findViewById<TextView>(R.id.listviewItemText) title.text = List[position] return convertView!! }}*/class ListViewAdapter(val List : MutableList<String>) : BaseAdapter() { override fun getCount(): Int { return List.size } override fun getItem(p0: Int): Any { return List[p0] } override fun getItemId(p0: Int): Long { return p0.toLong() } override fun getView(p0: Int, p1: View?, p2: ViewGroup?): View { TODO("Not yet implemented") var convertView = p1 if(convertView == null) { convertView = LayoutInflater.from(p2?.context).inflate(R.layout.listview_item, p2, false) } val title = convertView!!.findViewById<TextView>(R.id.listviewItemText) title.text = List[p0] return convertView!!}}
-
미해결스프링 시큐리티
404 error page로 이동하는 것에 대해
http.authorizeRequests() .mvcMatchers("/","/login*").permitAll() .anyRequest().authenticated(); 위의 경로를 제외하고는 인증을 받아야만 페이지 이동이 가능하다고 해놓아서 그런지 이상한 경로를 입력했을 경우에도 로그인하라고 창이 뜹니다. 저는 404error에 대한 처리를 해놓아서 바로 그 페이지로 이동하게 하고 싶은데, 로그인을 하면 정상적으로 작동되지만 로그인을 하지 않은 경우에는 로그인 창으로 이동합니다. 허가하는 경로에 모든 경로를 적어줄순 없는데 어떻게 해결해야하나요??
-
미해결쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
No module named 'selenium'
cmd에서 pip install selenium을 했는데도 이러한 에러가 뜬 다는 것은 제대로 다운이 안됐거나 다운이 된 것이 쥬피터에서 연동이 안되었다는 뜻인가요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
조합결과를 인덱스로 사용하는 방법
안녕하세요 기존의 조합처럼 1부터 n까지의 조합결과를 구한다음에 그 값을 a 리스트의 인덱스로 사용하여 sum값을 구해도될까요? 테스트는 통과했습니다 def DFS(L, s): global tmp, cnt if L == k: tmp = 0 for i in range(L): tmp += a[res[i]-1] if tmp % m == 0: cnt += 1 else: for i in range(s, n+1): res[L] = i DFS(L+1, i+1)if __name__ == "__main__": n, k = map(int, input().split()) a = list(map(int, input().split())) m = int(input()) tmp = 0 cnt = 0 res = [0] * (k+1) DFS(0, 1) print(cnt)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
이름중복
회원가입 할 때 어차피 id값은 다르게 들어가니까 이름은 중복이 가능하도록 코드가 구현되어있는 건가요?
-
미해결스프링 시큐리티
질문
선생님 response 로 json 을 던져줄 때 엔티티를 던져도되는건가요? dto 로 따로 변환후에 보내야하는 것 아닌가요 ? mapper 로 바꿔도,,
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
오류문제로 질문드립니다.
package com.bansj.rv_eximport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport androidx.recyclerview.widget.LinearLayoutManagerimport androidx.recyclerview.widget.RecyclerViewclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val items = mutableListOf<String>() items.add("a") items.add("b") items.add("c") val rv = findViewById<RecyclerView>(R.id.rv) //이 부분에서 (R.id.rv) // 여기 rv부분에 왜 오류가 나는지 잘 모르겠습니다. val rvAdapter = RVAdapter(items) rv.adapter = rvAdapter rv.layoutManager = LinearLayoutManager(this) }}
-
미해결워드프레스 쇼핑몰(우커머스) 제작 따라하기
학습자료 구매방법
학습자료 파일이나 책이 있는건가요? 구매할 수 있나요?
-
미해결실무에서 바로 쓰는 영어 이메일
강의자료 요청
이메일로 강의 자료 공유해주시면 감사하겠습니다. kbridgejgs@gmail.com
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
3-way handshake 질문
안녕하세요 3-way handshake 관련해서 질문 드립니다 syn, syn-ack, ack의 과정이 클라이언트의 TCP전송계층에서 서버의TCP전송계층으로 서로 연결 가능한 상태인지 확인을 하는걸로 이해하고 있는데요 이런 논리적인 연결을 하려면 결국에는 클라이언트 전송계층에서 서버쪽 전송계층으로 가기위해서는 네트워크 -> 물리계층 을 거쳐서 연결을 위한 패킷이 먼저 왔다갔다 한다고 이해하면 될까요? 단순설명으로만 보면 클라이언트 TCP계층에서 서버TCP계층으로 다이렉트로 연결되는 것처럼 느껴지는 부분이 있어서 헷갈려 질문드립니다!
-
미해결Vue.js + TypeScript 완벽 가이드
router no overload mathes this call 오류
- 프로젝트를 생성할 때부터 계속 routes 오류가 발생합니다. main.ts index.js ts로 바꾸기 전 파일 그대로.. -------------------------------------------- 버전 문제라는 것을 알았고 해결완료했습니다!vue-router와 vuex 둘 다 해당 강의 버전과 동일하게 하니 해결되었습니다..그런데 걱정이 있습니다. 2주 뒤에 vue, ts로 새 프로젝트를 진행하려하는데, 그때는 최신 버전을 사용할 것 같습니다.그렇다면 위의 문제를 최신 버전을 유지한채 해결하려면 어떻게 해야하나요? 따로 해주어야 하는 것이 있나요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
실행 안됨
코드를 똑같이 썼는데 브라우저 개발자 도구에서 Uncaught ReferenceError: axios is not defined at axios.html:5:7 이렇게 뜨고 실행됐단 말이 안뜨는데 왜그런거죠?
-
미해결
CCNA 문제풀이 1에 9번 문제 오류
9번에 클라우드 토플리지 답이 C번 Services are provided by a public, private, or hybrid deployment 이 맞지 않은가요?
-
미해결기초부터 따라하는 디지털포렌식
VolatiliTY 실행에러
볼라틸리티 실행시 Volatility Foundation Volatility Framework 2.6 ERROR : volatility.debug : You must specify something to do (try -h) 다음과 같은 에러가 납니다. volatility_2.6_win64_standalone.exe -f cridex.wmem imageinfo Volatility Foundation Volatility Framework 2.6 ERROR : volatility.debug : The requested file doesn't exist
-
해결됨스프링과 JPA 기반 웹 애플리케이션 개발
(응용) 프로젝트 진행 전 상수-Constants 구성 에 관한 질문입니다.
자주 쓰이고, 오타가 날법한 String 을 모아 아래 처럼 상수화 했습니다. 상수패키지 com.studyolle.core.constant.* 이후 Controller , Test 등에서 아래와 같이 사용중입니다. 질문입니다 Enum 으로 관리 하려고 했지만, 컨트롤러-핸들러 의 @GetMapping( Enum.URI.name() ) 과같은 선언도 불가능 하고, 단순 값 참조를 Enum .name() 이라던지, Enum .custom() 과 같이 덕지덕지 메서드가 붙게되어, 심플하게 하고자, Enum 은 사용하지 않았습니다. 그러나 이렇게 static final 필드로 관리하다보면, 언젠가 양이 많아 질탠데, 이럴 경우는 또다시 나누어야 될거라 생각이 듭니다만.. 이런 일반적인 방식 보다 효과적으로 관리하는 ( Map 을 쓴다던지, 특정 패턴이라던지) 방법이 있을까요? 상수 관리는 이런 방향이 괜찮았다.. 라는 사례가 궁금합니다. 읽어주셔서 감사합니다.
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
예시로 채점 사이트에 자동입력된 소스코드도 런타임 에러가 발생 합니다.
10. 가장 짧은 문자거리 문제 채점 사이트가 이상합니다. 예시로 입력된 소스코드도 런타임에러가 떠서 문제를 풀 수가 없습니다. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in=new Scanner(System.in); int input1 = in.nextInt(); int input2 = in.nextInt(); System.out.println(input1 + input2); return ; } }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
xhr.js:178 GET http://localhost:3000/api/users/auth 504 (Gateway Timeout)
계속 504에러가 떠서 온갖 검색을 다하여 따라해봐도 되지않았습니다. 그래서 새로 다운받아서 정말 한글자한글자 비교해가며 다시 해보았더니 사진이 잘 들어왔습니다! 다음것을 따라라치려고 vs코드로 돌아왔다가 다시한번 확인차 페이지를 봤더니 또다시 504에러가 뜹니다..! 분명히! 잘 됬는데 사진도 들어왔는데!! 꿈을 꾼건가요 제가?? 이게 되다가 안되는 경우도 있나요??? ㅠㅠ GET http://localhost:3000/api/users/auth 504 (Gateway Timeout) dispatchXhrRequest @ xhr.js:178 xhrAdapter @ xhr.js:12 dispatchRequest @ dispatchRequest.js:52 Promise.then (async) request @ Axios.js:61 Axios.<computed> @ Axios.js:76 wrap @ bind.js:9 auth @ user_actions.js:31 (anonymous) @ auth.js:14 commitHookEffectListMount @ react-dom.development.js:19731 commitPassiveHookEffects @ react-dom.development.js:19769 callCallback @ react-dom.development.js:188 invokeGuardedCallbackDev @ react-dom.development.js:237 invokeGuardedCallback @ react-dom.development.js:292 flushPassiveEffectsImpl @ react-dom.development.js:22853 unstable_runWithPriority @ scheduler.development.js:653 runWithPriority$1 @ react-dom.development.js:11039 flushPassiveEffects @ react-dom.development.js:22820 performSyncWorkOnRoot @ react-dom.development.js:21737 (anonymous) @ react-dom.development.js:11089 unstable_runWithPriority @ scheduler.development.js:653 runWithPriority$1 @ react-dom.development.js:11039 flushSyncCallbackQueueImpl @ react-dom.development.js:11084 flushSyncCallbackQueue @ react-dom.development.js:11072 unbatchedUpdates @ react-dom.development.js:21909 legacyRenderSubtreeIntoContainer @ react-dom.development.js:24757 render @ react-dom.development.js:24840 ./src/index.js @ index.js:20 __webpack_require__ @ bootstrap:784 fn @ bootstrap:150 1 @ serviceWorker.js:135 __webpack_require__ @ bootstrap:784 checkDeferredModules @ bootstrap:45 webpackJsonpCallback @ bootstrap:32 (anonymous) @ main.chunk.js:1 createError.js:16 Uncaught (in promise) Error: Request failed with status code 504 at createError (createError.js:16:1) at settle (settle.js:17:1) at XMLHttpRequest.handleLoad (xhr.js:61:1) 콘솔창에 뜨는 빨간 에러 코드입니다. 사진을 올리기 전에도 계속해서 떠있습니다.!!! 분명히 이 에러가 없었는데 갑자기 떠서 원인을 더 모르겠습니다 !! ㅠㅠ +동영상에서는 product.js파일에서 req.json이라고 되어있었는데 다른게시글을 보고 req.json을 res.json로 고쳐야한다는 것을 보고 고치고 새로 npm run dev를 했습니다. 그랬더니 이번엔 GET http://localhost:5000//var/folders/xr/kqrr20dn4yv307hpyc916qfr0000gn/T/2e37de435ad620ba0840cef7c263dd65 404 (Not Found) 이렇게 404에러가 뜹니다! upload(req, res, (err) => { if(err) { return res.json({ success: false, err }) } return res.json({ success: true, filePath: res.req.file.path, fileName: res.req.file.filename }) }) <FileUpload.js코드> import React, { useState } from 'react'; import Dropzone from 'react-dropzone'; import { Icon } from 'antd' import axios from 'axios'; function FileUpload() { const [Images, setImages] = useState([]) const dropHandler = (files) => { let formData = new FormData(); const config = { header: {'content-type': 'multipart/fomr-data'} } formData.append("file", files[0]) axios.post('/api/product/image', formData, config) .then(response => { if(response.data.success) { setImages([...Images, response.data.filePath]) }else { alert ('파일저장실패') } }) } return ( <div style={{display: 'flex', justifyContent: 'space-between'}}> <Dropzone onDrop={dropHandler}> {({getRootProps, getInputProps}) => ( <div style={{ width: 300, height: 240, border: '1px solid lightgray', display: 'flex', alignItems: 'center', justifyContent: 'center' }} {...getRootProps()}> <input {...getInputProps()} /> <Icon type='plus' style={{fontSize: '3rem'}} /> </div> )} </Dropzone> <div style={{display: 'flex', width: '350px', height: '240px', overflowX: 'scroll' }}> {Images.map((image, index) => ( <div> <img style={{minWidth: '300px', height: '240px'}} src={`http://localhost:5000/${image}`} /> </div> ))} </div > </div> ); } export default FileUpload; <product.js코드> const express = require('express'); const router = express.Router(); const multer = require('multer'); //================================= // product //================================= var storage = multer.diskStorage({ // destination: function (req, file, cb) { // cb(null, 'uploads/'); // }, // filename: function (req, file, cb) { // cb(null, `${Date.now()}_${file.originalname}`) // } }) var upload = multer({ storage: storage }).single("file") router.post('/image', (req, res) => { //가져온 이미지를 저장을 해주면 된다. upload(req, res, (err) => { if(err) { return req.json({ success: false, err }) } return res.json({ success:true, filePath: res.req.file.path, fileName: res.req.file.filename }) }) }) module.exports = router;
-
미해결vue.js 실전 프로젝트(트위터 클론)
트윗 분기 처리 강의 내용 중 delete에 관한 문의입니다.
안녕하세요 트윗 분기 처리 강의 내용 중 delete에 관해서 질문드릴게 있어 글 올립니다. 강의 중에 강사님께서는 다음과 같이 코드를 작성해서 리트윗한 것에 대해 코드를 작성해 주셨습니다. 그런데 당연스럽게도 다음과 같이 error가 발생했습니다. 그래서 공식문서를 참고해서 다음과 같이 현 버전으로 코드를 작성해보았습니다. 그래서 이렇게하면 error가 해결될 줄 알았는데 다음과 같이 다른 error가 발생했습니다. 그래서 검색을 해보니까 결론은 참조하는 querySnapshot.docs[0].ref의 type이 string이 아니라서 error가 발생했다고 생각이 들었습니다. 그래서 querySnapshot.docs[0].ref를 console.log로 찍어보니까 다음과 같이 값이 출력되었습니다. 여기서부터 저는 '값을 string이 아닌 array로 불러서 type error가 발생한 것이 아닌가?'라는 생각이 들었습니다. 그래서 저는 원점으로 돌아가서 querySnapshot에서 retweet 파일의 id가 어디있는지를 찾기 시작했습니다. 결국에는 아래와 같은 위치에 있었더군요. 그래서 저 id를 참조해서 코드를 아래와 같이 작성하니 정상적으로 retweet이 취소되고 해당 파일도 삭제가 되었습니다. 해결은 되었지만 한가지 궁금한 점이 있었습니다. 그러면 강의에서 강사님께서는 querySnapshot.docs[0].ref를 통해서 해당 파일의 id를 불러온 것같은데 제가 앞서 말씀드린바와 같이 제가 해당 내용을 console.log로 찍었을 때에는 array로 출력이 되었습니다. 구 버전 내용을 보아도 해당값은 string이 들어가야하는게 맞는거 같아서 이에 관해 ref가 array임에도 불구하고 강의에서는 어떻게 정상적으로 구동되었는지 궁금합니다.