묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨입문자를 위한, ES6+ 최신 자바스크립트 입문
ebook 문의
소스파일은 받았는데 ebook은 어디서 받아야하나요?
-
해결됨웹 게임을 만들며 배우는 React
memo
const Try = memo((props) => { return( <li> <div>{props.tryInfo.try}</div> <div>{props.tryInfo.result}</div> </li> ) }) 해당 함수 컴포넌트를 익명함수가 아니라 선언적 함수로 했을 때memo함수를 어떻게 적용시키나요?
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
logout시에 database delete -> 새로운 입력에 대해 user_id 증가
안녕하세요, logout 기능 구현할 때 database에서 delete를 통해 구독 취소한 메일을 제거해주는 내용을 봤는데요,db에 구독으로 데이터를 쌓고 취소한 뒤에 다른 메일을 넣으면, user_id가 1이 되어야 할 거 같은데, 2로 남습니다. 구독 & 구독취소 과정을 반복해서 수행하면 db table에 1줄만 입력되어있더라도 user_id가 계속 증가하는 것을 볼 수 있는데, 어떻게 방지할 수 있을까요? 혹은 많은 user가 구독 & 구독취소를 하게 되는 경우에 구독취소된 user_id는 공백으로 두고 계속해서 user_id를 쌓는 것이 사용상에 이점이 있는걸까요?
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
4장 SGD를 사용한 MF 기본 알고리즘 오류
안녕하세요좋은 강의 감사합니다. 4장 SGD를 사용한 MF 기본 알고리즘 오류 에서pivot 테이블을 만드는 과정에서 오류가 생겨 질문드립니다.아래와 같은 오류가 생기는데 어떤 이유인지요? 코드가 잘못된 것 같지는 않습니다.pivot 대신 pivot_table 을 쓰니 또 되네요. pivot_table 은 값이 중복인 경우에 첫 값을 쓴다고 되어있는데 올바른 해결책이 맞나요? R_temp = ratings.pivot(index = 'user_id', columns = 'movie_id', values = 'rating').fillna(0)--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-10-bcd5f752ec01> in <cell line: 1>() ----> 1 R_temp = ratings.pivot(index = 'user_id', 2 columns = 'movie_id', 3 values = 'rating').fillna(0) 7 frames /usr/local/lib/python3.10/dist-packages/pandas/core/reshape/reshape.py in _make_selectors(self) 187 188 if mask.sum() < len(self.index): --> 189 raise ValueError("Index contains duplicate entries, cannot reshape") 190 191 self.group_index = comp_index ValueError: Index contains duplicate entries, cannot reshape 추가로 질문드립니다. pivot_table을 사용해도 rmse가 계속 nan이 나오네요저는 코드가 잘못된 부분을 찾기가 힘든데 도움 부탁드립니다.prediction = self.b + self.b_u[i] + self.b_d[j] + self.P[i, :].dot(self.Q[j, :].T) 으로 바꾸어도 같은 오류가 납니다.class MF(): def __init__(self, ratings, hyper_params): self.R = np.array(ratings) self.num_users, self.num_items = np.shape(self.R) self.K = hyper_params['K'] # feature의 개수 self.alpha = hyper_params['alpha'] # learning rate self.beta = hyper_params['beta'] # regularization coef self.iterations = hyper_params['iterations'] # SGD 반복 횟수 self.verbose = hyper_params['verbose'] # 출력 여부 def rmse(self): xs, ys = self.R.nonzero() # R에서 0이 아닌 요소의 index self.predictions = [] self.errors = [] for x,y in zip(xs, ys): prediction = self.get_prediction(x,y) # 평점 예측치 함수 self.predictions.append(prediction) self.errors.append(self.R[x,y] - prediction) self.predictions = np.array(self.predictions) self.errors = np.array(self.errors) return np.sqrt(np.mean(self.errors**2)) def train(self): # P, Q 의 값 초기화 self.P = np.random.normal(scale = 1. / self.K, # 표준편차 설정, mean은 설정 안하면 자동으로 0 size = (self.num_users, self.K)) self.Q = np.random.normal(scale = 1. / self.K, size = (self.num_users, self.K)) self.b_u = np.zeros(self.num_users) # 사용자 평가경향 초기화 self.b_d = np.zeros(self.num_items) self.b = np.mean(self.R[self.R.nonzero()]) # 평점의 전체 평균, 0이 아닌 것에 대해서만 평균을 낸다. rows, columns = self.R.nonzero() # 평점이 있는 요소들의 idx만 가져오겠다는 뜻 --> 나중에 SGD를 적용하기 위해서 self.samples = [(i,j, self.R[i,j]) for i,j in zip(rows, columns)] training_process = [] # SGD 실행될때마다 RMSE 기록 for i in range(self.iterations): np.random.shuffle(self.samples) # 다양한 시작점 지정 self.sgd() rmse = self.rmse() training_process.append((i+1, rmse)) if self.verbose: if (i+1) % 10 == 0: print('Iteration : %d ; train RMSE = %.4f'%(i+1, rmse)) return training_process def get_prediction(self, i,j): # i 유저의 j 번째 아이템에 대한 예측치 # 전체 평점 + 유저의 경향성 + 아이템의 경향성 + i번째 유저의 j번째 아이템에 대한 예측 prediction = self.b + self.b_u[i] + self.b_d[j] + self.P[i, :].dot(self.Q[j, ].T) return prediction def sgd(self): for i,j,r in self.samples: # i,j는 인덱스, r은 평점 prediction = self.get_prediction(i,j) e = (r-prediction) # 오차 # 사용자의 평가경향 업데이트, 4장 슬라이드 10페이지 식 self.b_u[i] += self.alpha * (e - (self.beta * self.b_u[i])) self.b_d[j] += self.alpha * (e - (self.beta * self.b_d[j])) self.P[i,:] += self.alpha * ((e * self.Q[j,:]) - (self.beta * self.P[i,:])) self.Q[j,:] += self.alpha * ((e * self.P[i,:]) - (self.beta * self.Q[j,:])) # 원코드는 pivot_table 대신 pivot 사용 R_temp = ratings.pivot_table(index = 'user_id', columns = 'movie_id', values = 'rating').fillna(0) hyper_params = { 'K':30, 'alpha' : 0.001, 'beta' : 0.02, 'iterations' : 100, 'verbose' : True } mf = MF(R_temp, hyper_params) train_process = mf.train() get_prediction 함수에서 아래를 해보니까, 처음에는 조금 숫자가 나오다가 계속 nan이 나오는데 여기에서 문제가 있는것 같습니다. 근데 원인을 모르겠어요; print(self.b) print(self.b_u[i]) print(self.b_d[j]) print(self.P[i, :].dot(self.Q[j, ].T))
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
입출력싱크
안녕하세요 선생님 입출력싱크가 들어가는 위치는 어디가 되어야 하나요? using namespace std;밑에 바로 쓰면 에러가 나는것 같습니다. 메인함수 시작할때 항상 쓰시는거같은데 어디에 왜 그곳에 써야하는지 설명해주시면 감사하겠습니다! ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
part1 강의는 뭔가요??
제가 part2만 수강중이어서요part1은 뭔가요??
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
메시지, 국제화 소개 오류
처음엔 잘 진행된 채로 진행하다가 어느샌가 자꾸 한글들이 저렇게 바뀌는데 왜그런 것일까요?? 이럴 때마다 그냥 다시 한글로 다시 고쳐쓰고 있는데 ㅜㅜ 제가 뭘 잘못 건드린 것일까요
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
뒤집은 소수 res 식
안녕하세요 뒤집은 소수 res 식에 대하여 궁금해서 질문 올립니다.저는 그냥 맨 뒤가 0인 경우를 무한 반복문으로 돌리고, 수를 다시 갱신하고, 맨 뒤가 0이 안 되는 경우 반복문을 빠져나와 [::-1]로 갱신하여 처리하였습니다.하지만 res=res*10+t의 식을 아무리 봐도 이해가 안 되어서 여쭤봅니다!!!
-
미해결스프링 시큐리티
Security 6.0에서의 다중보안설정
안녕하세요, 강의 잘 듣고 있는 수강생입니다. 현재 강의를 들으면서 토이프로젝트를 구축 중입니다.https://www.inflearn.com/questions/42102/%EB%8B%A4%EC%A4%91-%EB%B3%B4%EC%95%88-%EC%84%A4%EC%A0%95위 링크의 질문에서 선생님께서 답변 달아주신 내용인,Admin의 url 에 따른 인증 방식은 Form,User의 url 에 따른 인증 방식은 Rest 방식으로 구분 지으려는 상황입니다. 6.0 버전에 따른 강의는 추후 개정하신다는건 공지를 통해서 알고는 있는데.. 제가 이리저리 뜯어봐도 도저히 인증 방식 다르게 적용하는 부분이 너무나도 안 되서 답답하다보니 질문글을 남기게 됐습니다.. Security 6.0 이상에서 "/api"로 시작하는 url과 "/web"으로 시작하는 url 요청에 따라 다른 인증방식을 적용할 수 있는 간단한 예시를 알려주실 수 있으실까요?
-
미해결입문자를 위한 게임 프로그래머 개론
앞으로 취업 준비를 어떻게 해야 할까요
안녕하세요. 취업 관련해서 준비 방향성을 어떻게 잡아야할지 고민이 돼서 질문 올려봅니다. 저는 게임 클라이언트 프로그래머가 목표인 대학생(3학점 부족)입니다. 본 전공은 경영이고 복수전공으로 it관련 학과를 공부했습니다. 원래는 이번 학기에 3학점을 채우려고 했는데 크래프톤 정글 프로그램에 합격이 돼서 합숙하면서 공부를 하고 있습니다. 여기 커리큘럼은 자료구조, 알고리즘, RB트리, 말록랩, 웹서버, 컴퓨터구조, C언어, 운영체제 등을 배우고 나머지 기간은 프로젝트를 개발하는 순서로 짜여져 있습니다. 우선은 여기서 배운 내용을 바탕으로 프로그래머 직군에 취업을 바로 할 수 있으면 할 예정인데요, 안 되면 바로 게임 포트폴리오 준비와 그래픽스와 같은 게임 개발 관련 지식을 공부하려고 합니다. 물론 바로 취업하더라도 어느정도 안정되면 나중에 다시 게임 프로그래머로 전향할 겁니다. 여기서 궁금한 점은 만약 합숙이 끝나고(8월 17일) 바로 취업이 되지 않는다면 내년 공채를 노려야 할텐데, 남은 기간동안 무엇을 어떻게 준비하는게 가장 효율적일까요? C++, 언리얼 당연히 사용할 예정이며, 다행인 점은 찾아봤던 학원에서도 자료구조나 알고리즘과 같은 핵심 cs 지식을 공부하는 시간이 꽤 있더라구요. 그래서 커리큘럼 상에서 겹치는 부분은 백준이나 프로그래머스 문제를 꾸준히 푸는 것과 cs지식 복습 정도로 대신할 수 있을 것 같습니다. 개인적으로는 6개월 정도 되는 단기 커리큘럼(있다면)을 가진 학원이나 인프런 강의들을 수강하면서 그래픽스와 같은 게임 개발 관련 지식들을 공부하려고 합니다. 조언 부탁드립니다.
-
미해결[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문
이게 원말인지 모르겠습니다 ㅠㅠ....
강의대로 따라했는데, " 식에 클래스 형식이 있어야하는데, char형식이 있음"이라고 뜨는데, 무슨 말인지 모르겠습니다...
-
해결됨코딩은 처음이라 with 웹 퍼블리싱 - HTML 기초
깃허브 링크 어디에있나요?
처음에 나오는 이지웹퍼블리싱 깃허브에서 다운받으라는데 어디에 깃허브 링크가 있는지 안보입니다
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
메모리와 프로세스 질문
메모리에 프로세스가 생성 되면각각의 프로세스에 스택 영역, 힙 영역, 데이터 영역, 코드 영역이 생성 되는 건가요?만약 맞다면명령어 사이클과 인터럽트에서 말했던 인터럽트시 스택 영역에 기존 프로그램의 정보(프로그램 카운터 등)들을 저장한다 했는데,여기서 말하는 스택 영역은 각각의 프로세스의 스택 영역 과 다른 의미의 스택 영역 인가요?아니면 해당 프로세스의 스택 영역에 저장 되는건가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
12강 데이터베이스에 있는 정보로 로그인 부분 오류가 계속 납니다
안녕하세요 선생님 12강 데이터베이스에 있는 정보로 로그인 하는 쪽 강의 질문 드립니다.app.post("/api/users/login", (req, res) => { // 요청된 이메일을 데이터베이스에서 찾는다 User.findOne({ email: req.body.email }, (err, user) => { if (!user) { return res.json({ loginSuccess: false, message: "제공된 이메일에 해당하는 유저가 없습니다", }); } // 요청된 이메일이 데이터베이스에 있다면 비밀번호가 맞는 비밀번호 인지 확인 user.comparePassword(req.body.password, (err, isMatch) => { // 비밀번호가 틀릴 경우 if (!isMatch) return res.json({ loginSuccess: false, message: "비밀번호가 틀렸습니다", }); // 비밀번호까지 맞다면 토큰을 생성하기 user.generateToken((err, user) => { if (err) return res.status(400).send(err); // 토큰을 저장한다. 쿠키 로컬스토리지 세션 등 // 여기서는 쿠키 사용 // x_auth라는 이름으로 토큰이 들어감 res .cookie("x_auth", user.token) .status(200) .json({ loginSuccess: true, userId: user._id }); }); }); }); });위와 같이 작성된 코드를 app.post("/api/users/login", async (req, res) => { // 요청된 이메일을 데이터베이스에서 찾는다 try { const user = await User.findOne({ email: req.body.email }); if (!user) { return res.json({ loginSuccess: false, message: "제공된 이메일에 해당하는 유저가 없습니다", }); } // 요청된 이메일이 데이터베이스에 있다면 비밀번호가 맞는 비밀번호 인지 확인 const isMatch = await user.comparePassword(req.body.password); // 비밀번호가 틀릴 경우 if (!isMatch) { return res.json({ loginSuccess: false, message: "비밀번호가 틀렸습니다", }); } // 비밀번호까지 맞다면 토큰을 생성하기 const token = await user.generateToken(); // 토큰을 저장한다. 쿠키 로컬스토리지 세션 등 // 여기서는 쿠키 사용 // x_auth라는 이름으로 토큰이 들어감 res .cookie("x_auth", token) .status(200) .json({ loginSuccess: true, userId: user._id }); } catch (err) { return res.status(400).json({ loginSuccess: false, error: err }); } });이렇게 변경했습니다. 그런데 postman으로 자꾸 실행해보면 비밀번호가 틀렸다는 오류를 받고 있습니다. 그리고 서버가 꺼지는 현상이 발생하고 있습니다. isMatch문이 잘못된 것 같아서 !isMatch 예외문을 주석처리하고 실행하면 서버가 바로 꺼져버리는 현상이 발생합니다. 어떻게 코드를 변경해야 할까요?그리고 console.log()로 오는 값들을 확인하고 싶은데 cossole.log()로 찍은 보고싶은 값을 어떻게 볼 수 있나요? http://localhost:5000/api/users/login 로 들어갔는데도 안보입니당..%% 이 코드를 /register로 postman을 보낼때는 정상적으로 작동하고 monogdb에도 잘 등록이 되서 다른 부분은 오류가 아닌 것 같습니다 %%%% 스키마 부분 코드도 첨부합니다 (선새인ㅁ과 똑같이 작성함) %%userSchema.methods.comparePassword = function (plainPassword, cb) { // plainPassword 는 입력한 값 데이터베이스 비밀번호는 $2b$10 등 으로 암호화 되어 있음 // 그러므로 plainPassword를 암호호 해야 함 // bcrypt를 이용해 암호화 bcrypt.compare(plainPassword, this.password, function (err, isMatch) { // this.password는 5번째줄에 userSchema에서 가져옴 if (err) return cb(err); cb(null, isMatch); }); }; userSchema.methods.generateToken = function (cb) { let user = this; // 데이터베이스의 id 를 넣고 이름을 정해준다. // 이후 secretToken을 입력하면 user._id가 나온다 let token = jwt.sign(user._id.toHexString(), "secretToken"); // user의 token에 방금 만든 token을 넣어준다. user.token = token; user.save(function (err, user) { if (err) return cb(err); cb(null, user); }); };
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
save 로 이동시 500에러가 뜹니다
An error occurred at line: [11] in the jsp file: [/WEB-INF/views/save-result.jsp]Member cannot be resolved to a type8: <ul>9: <li>id=<%=((Member)request.getAttribute("member")).getId()%></li>10: <li>username=<%=((Member)request.getAttribute("member")).getUsername()%></li>11: <li>age=<%=((Member)request.getAttribute("member")).getAge()%></li>12: </ul>13: <a href="/index.html">메인</a>14: </body> 이렇게 에러가 나타납니다...
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
exHandler의 역할에 대해 궁금한 점이 있습니다.
@Slf4j @RestController public class ApiExceptionV2Controller { @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(IllegalArgumentException.class) public ErrorResult illegalExHandler(IllegalArgumentException e) { log.error("[exceptionHandler] ex ", e); return new ErrorResult("BAD", e.getMessage()); } @ExceptionHandler public ResponseEntity<ErrorResult> userExHandler(UserException e) { log.error("[exceptionHandler] ex ", e); ErrorResult errorResult = new ErrorResult("USER-EX", e.getMessage()); return new ResponseEntity(errorResult, HttpStatus.BAD_REQUEST); } @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) @ExceptionHandler public ErrorResult exHandler(Exception e) { log.error("[exceptionHandler] ex ", e); return new ErrorResult("EX", "내부 오류"); } @GetMapping("/api2/members/{id}") public MemberDto getMember(@PathVariable("id") String id) { if (id.equals("ex")) { throw new RuntimeException("잘못된 사용자"); } if (id.equals("bad")) { throw new IllegalArgumentException("잘못된 입력 값"); } if (id.equals("user-ex")) { throw new UserException("사용자 오류"); } return new MemberDto(id, "hello " + id); } @Data @AllArgsConstructor static class MemberDto { private String memberId; private String name; } }ApiExceptionV2Controller가 위와 같이 구성되어 있는데,여기서 exHandler 메서드는 fallback 기능을 하는 메서드로 이해하면 될까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
프로젝트 생성 후 기본 코드 실행 시 Null Check Operator 에러 발생
안녕하세요. 안드로이드 스튜디오에서 프로젝트 생성 후 코드수정없이 바로 실행했는데, 아래와 같은 오류가 발생합니다. 도와주세요.Oops; flutter has exited unexpectedly: "Null check operator used on a null value".A crash report has been written to C:\Users\IHC\AndroidStudioProjects\dataprogram_flutter\flutter_01.log. 아래는 flutter_01.log 파일안의 내용입니다. Flutter crash report.Please report a bug at https://github.com/flutter/flutter/issues.## commandflutter --no-color run --machine --track-widget-creation --device-id=emulator-5554 --start-paused --dart-define=flutter.inspector.structuredErrors=true lib\main.dart## exception_TypeError: Null check operator used on a null value```#0 AndroidStudioJavaGradleConflictMigration.migrate (package:flutter_tools/src/android/migrations/android_studio_java_gradle_conflict_migration.dart:107:39)#1 ProjectMigration.run (package:flutter_tools/src/base/project_migrator.dart:84:16)#2 AndroidGradleBuilder.buildGradleApp (package:flutter_tools/src/android/gradle.dart:280:15)#3 AndroidGradleBuilder.buildApk (package:flutter_tools/src/android/gradle.dart:208:11)#4 AndroidDevice.startApp (package:flutter_tools/src/android/android_device.dart:578:29)<asynchronous suspension>#5 FlutterDevice.runHot (package:flutter_tools/src/resident_runner.dart:468:33)<asynchronous suspension>#6 Future.wait.<anonymous closure> (dart:async/future.dart:525:21)<asynchronous suspension>#7 HotRunner.run (package:flutter_tools/src/run_hot.dart:421:34)<asynchronous suspension>#8 AppDomain.launch.<anonymous closure> (package:flutter_tools/src/commands/daemon.dart:649:9)<asynchronous suspension>#9 AppDomain.launch (package:flutter_tools/src/commands/daemon.dart:647:5)<asynchronous suspension>#10 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:638:15)<asynchronous suspension>#11 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1294:27)<asynchronous suspension>#12 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)<asynchronous suspension>#13 CommandRunner.runCommand (package:args/command_runner.dart:212:13)<asynchronous suspension>#14 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:296:9)<asynchronous suspension>#15 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)<asynchronous suspension>#16 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:244:5)<asynchronous suspension>#17 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:91:9)<asynchronous suspension>#18 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)<asynchronous suspension>#19 main (package:flutter_tools/executable.dart:91:3)<asynchronous suspension>```## flutter doctor```[✓] Flutter (Channel master, 3.10.0-17.0.pre.31, on Microsoft Windows [Version 10.0.19044.1288], locale ko-KR) • Flutter version 3.10.0-17.0.pre.31 on channel master at C:\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 3ed5f51208 (81 minutes ago), 2023-04-30 05:42:24 -0400 • Engine revision e99f31f443 • Dart version 3.1.0 (build 3.1.0-56.0.dev) • DevTools version 2.23.1[✓] Windows Version (Installed version of Windows is version 10 or higher)[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2) • Android SDK at C:\Users\IHC\AppData\Local\Android\sdk • Platform android-33, build-tools 33.0.2 • Java binary at: c:\Program Files\Android\Android Studio\jbr\bin\java • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694) • All Android licenses accepted.[✓] Chrome - develop for the web • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe[✗] Visual Studio - develop for Windows ✗ Visual Studio not installed; this is necessary for Windows development. Download at https://visualstudio.microsoft.com/downloads/. Please install the "Desktop development with C++" workload, including all of its default components[✓] Android Studio (version 2022.2) • Android Studio at C:\Program Files\Android\Android Studio • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)[✓] Android Studio • Android Studio at c:\Program Files\Android\Android Studio • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • android-studio-dir = c:\Program Files\Android\Android Studio • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)[✓] Connected device (4 available) • sdk gphone x86 64 (mobile) • emulator-5554 • android-x64 • Android 13 (API 33) (emulator) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.19044.1288] • Chrome (web) • chrome • web-javascript • Google Chrome 112.0.5615.138 • Edge (web) • edge • web-javascript • Microsoft Edge 92.0.902.67[✓] Network resources • All expected network resources are available.! Doctor found issues in 1 category.```
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
33강 완강기준 list -> get -> list -> 페이지이동 오류 해결법
33강 완강기준이며 list에서 제목을 클릭하여 get(상세페이지) 이동후 뒤로가기를 눌러 list로 돌아와서 페이지 이동을 하면 다음페이지(list)가 아닌 get(상세페이지)가 나오는 현상이 발생했습니다.코드를 분석해보면 지금 상세보기 클릭을 누르면 pageFrm.attr("action","${cpath}/board/get");<-- 해당 코드를 통해 jsp내 적혀있는 pageFrm이란 form의 action에 ${cpath}/board/get <-- 해당 주소로 이동하기 때문에 get(상세페이지)가 나오게 됩니다.여기서 뒤로가기를 누르더라도 이미 jsp 상의 pageFrm이란 form의 action에는 ${cpath}/board/get <-- 이 주소가 적혀있으므로 새로고침을 하기전에 페이지 이동을 시도하면 list가 아닌 get(상세페이지)가 나오게 되는것입니다.해결방법은 간단합니다.ㄴ 페이지 번호를 눌렀을때 pageFrm이란 form의 액션에 list 주소가 들어가도록 추가로 js에서 처리해주면 됩니다. (아래 사진 참고하시면 됩니다.)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ResponseStatusException 에 대한 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]- 강의 자료 9.API 예외 처리 p20를 보면, @ResponseStatus를 사용할 경우, 조건에 따라 동적으로 변경하는 것이 어려워 ResponseStatusException을 사용한다고 나와 있는데,그럼, 아래처럼 작성할 수 있다는 말인가요?if(case == 1) {throw new ResponseStatusException(HttpStatus.NOT_FOUND, "error.bad", new IllegalArgumentException()); } else {throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "error.bad", new BadRequestException()); }
-
미해결처음 배우는 리액트 네이티브
안녕하세요. 스택네비게이션 문제 질문드립니다 ㅜ
얼마전에 선생님 답변 덕에 빌드는 잘 했지만 스택네비게이션 문제로 빌드 후 화면이 제대로 나오지 않아서 질문드립니다. 깃허브 주소는 https://github.com/KongGeon/jlog2 입니다.증상은 안드로이드에서 앱을 실행했을때 스플래시 화면에서 멈추는 현상입니다.App.js > Index.js > Auth.js > Signin.js 순서로 진행될때Auth.js의 스택네비게이션에서 문제가 발생하는 듯 합니다. 혹시 몰라서 옵션들도 어지간한것을은 주석처리하였는데도 스플래시에서 멈추네요 ㅜㅜApp.js의 Alert.alert("성공");은 성공적으로 나오지만 Auth.js의Alert.alert("auth");는 표시되지 않고 스플래시 화면에서 멈추는 증상이 나타납니다. Auth.js를 거치지 않고 App.js > Index.js > Signin.js index.js에서 바로 <Signin /> 를 불러오면 화면에 잘 나타납니다!