묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
c오류 같은데,, 실행이 안돼요
코드를 동일하게 작성한 것 같은데 자꾸 오류가 나네요.. response에도 뜨지 않고 ajaxsend 버튼을 눌러도 밑에 result가 뜨지 않아요 그래서 form.html에서 xhr 정보를 console.log로 찍어봤는데요 다 비어있어요... 어쩌면 좋을까요? network에는 pending인 상태로 뜨네요 전체 코드는 아래에 첨부합니다 <form.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>email form</title> </head> <body> <form action="/email_post" method="post"> email : <input type="text" name="email"><br/> <input type="submit"> </form> <button class="ajaxsend">ajaxsend</button> <div class="result"></div> <script> document.querySelector('.ajaxsend').addEventListener('click', function () { var inputdata = document.forms[0].elements[0].value; sendAjax('http://localhost:3000/ajax_send_email', inputdata); }) function sendAjax(url, data){ var data = {'email' : data}; data = JSON.stringify(data); // 문자열로 반환 console.log(data); var xhr = new XMLHttpRequest(); xhr.open('POST', url, true); xhr.setRequestHeader('Content-Type', "application/json"); xhr.send(data); console.log(xhr.response); console.log(xhr.responseText); console.log(xhr.responseType); console.log(xhr.responseURL); console.log(xhr.responseXML); console.log('readystate : ' + xhr.readyState); console.log('status : ' + xhr.status); console.log('statusText : ' + xhr.statusText); xhr.addEventListener('load', function() { console.log(xhr.responseText); var result=JSON.parse(xhr.responseText); // 문자열이니까 JSON.parse var resultDiv = document.querySelector(".result"); if(result.result !=="ok") resultDiv.innerHTML="your email is not found"; else resultDiv.innerHTML=result.name; }) } </script> </body> </html> <app.js> app.post('/ajax_send_email', function(req, res) { var email = req.body.email; var responseData = {}; var query = connection.query( 'select name from user where email="'+ email + '"', function (err, rows) { if(err) throw err; if(rows[0]){ // 첫번째 data 있으면 responseData.result = "ok"; responseData.name = rows[0].name; } else{ responseData.result = "none"; responseData.name = ""; } res.json(responseData) }) })
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
질문 2개가 있습니다
두가지 질문이 있습니다. 질문 1 :findById와 findByName의 코드가 동일하면 안되는 건가요? 설명에서 null을 반환하는 방법에서 optional을 통해 반환하는 것을 선언한다고 하셨는데. 그러면 다를 필요가 없는거 아닌가요? 질문 2 : findByName의 코드는 필요가 없지 않나요? hashmap을 사용하는 이유가 key값을 통해 name을 반환하겠다는 의미 인거같은데(개인적인 생각)그러면 key값이 null이면 자동으로 value값도 null이니 필요가 없는 코드 아닌가? 라는 생각을 했습니다. 혹시 value값으로 key값을 찾기 위함인가...? 라는 생각도 들긴 합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
findByid와 findByname의 리턴을 다르게 작성한 이유가 있나요?
질문 1 : findByName@Overridepublic Optional<Member> findById(long Id) { return Optional.ofNullable(store.get(Id));}@Overridepublic Optional<Member> findByName(String Name) { return store.values().stream().filter(member -> member.getName().equals(Name)).findAny();}여기서 findByName은 필요가 없지 않나요?MemoryMemberRepository 클레스 에서 hashmap을 사용하면 나중에 키 값으로 해당 이름을 가져오겠다는 뜻으로 보이는데그러면 키값이 null이면 자동으로 value값도 null이니 굳이 작성하지 않아도 되는 코드 아닌가 라는 생각이 들었습니다.아! 혹시 value값으로 key값을 찾기 위하여 필요한 코드인가요?질문 2: 왜 findByid와 findByName 코드가 다른가요? 둘다 동일하게 null인경우 optional을 통해서 null값을 출력하는 과정인데두 코드가 다를 필요가 없지 않나요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃허브 권한 요청 부탁드립니다.
인프런 아이디 : jh06103 인프런 메일 : jh06103@naver.com 깃허브 메일 : jdh99080516@gmail.com 깃허브 name : judahhh
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
UPDATE쿼리 시점
강의 중 헷갈리는 부분이 있어 질문드립니다. JPA가 DB에 UPDATE쿼리를 날리는 시점이 궁금합니다. 트랜젝션 commit 직전에 UPDATE를 날려준다. 커밋이후 flush 도중 변경감지 하여 UPDATE를 날려준다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ModelAndView와 Model 차이
안녕하세요! 김영한 강사님 늘 강의 잘 보고 있습니다@Model 와 @ModelAndView 차이가 궁금합니다. addAttribute에 데이터를 담고 return으로 화면으로 이동하는 것과 setView를 지정해주고 addObject로 넘겨주는것과의 차이가 궁금합니다 그냥 취향차이로 쓰는것인지,, 결론적으로 보면 데이터를 전달해주고, 해당 페이지로 이동한다는 로직은 똑같은거 같은데 저희 회사에서는 @ModelAndview를 사용해서.. 무슨 차이가 있나 포탈검색해도 성능? 상황별 차이는 나오질 않아 질문드려요...
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
에러 질문드립니다.
@ScriptAssert(lang = "javascript", script = "_this.price * _this.quantity >= 10000") 이걸 입력하는 부분에서 상품명 대강입력하고 가격1000 수량 1 했더니 이런 에러가 뜨네요.. 해결방법좀 부탁드립니다..ㅠ org.springframework.expression.spel.SpelEvaluationException: EL1004E: Method call: Method GlobalErrors() cannot be found on type org.thymeleaf.spring5.expression.Fields
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
@PostConstruct 지정 함수 @Transactional 지정 시 컨텍스트 관리가 안되는 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 역시 백문이 불여일타!! 강의 보고 혼자 샘플작성하다 막 터집니다. 강의 볼때는 '음~ 그렇지~' 하고 보던게 안보고 혼자 작성해보니 강사님이 말씀하시는 "이거 분명이 개발할 때 문제 발생합니다." 하는거 다 터지네요. [질문 내용] InitDB.java 샘플 따라하다가 궁금한점이 생겨 질문 드립니다. 애플리케이션 구동 시 초기 데이터를 넣기 위해 @PostConstruct 로 코드를 작성하는 부분에서 문제가 발생했습니다. "Caused by: javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call" 결론은 영속성 관리가 안되는 문제인거 같습니다. 근데 @Transactional을 붙였고 내부 함수 호출도 아닌데 왜 관리가 안되냐해서 디버깅을 해봤습니다. PostConstruct 하는 부분을 따라가 보니 해당 함수를 invoke하는 클래스가 프록시가 아니더군요. InitDB의 내부 맴버는 프록시인데. 질문: PostConstruct를 호출되는 대상 클래스도 spring container에 있는 bean같은데 왜 저넘은 프록시가 아닌거죠? 다른 bean의 맴버로 주입되는 bean만 프록시인 건가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
URI 설계 질문
강의에서 HTTP API 설계 시에는 회원 등록 폼, 회원 수정 폼이 왜 없는건가요??
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
14502 다시금 질문드립니다..!
http://boj.kr/840f45d321eb47839eab789e324f7551 세번째 질문.. 다시 드립니다 ㅠㅠ combi함수에서.. 64~67라인에서 마지막에 pop_back()을 하는 이유도 이해 했습니다. 조합에서 각 재귀가 들어갈 때마다 넣고 재귀함수에서 나오면 빼서 다음 포문에서 골라서 다시 넣어야 하니까요. 다만 제가 묻고 싶은 점은.. 제 문제가 로직상 틀린 점이 없다고 생각했는데 정답 처리가 안나서 어디서 오류가 나는 지를 모르겠습니다 ㅠㅠ 제가 생각한 사고 방식은 다음과 같습니다. --- 74~79 라인에서 단순히 h벡터에 0인 좌표들을 넣어놓구요..(h는 조합이 될 후보군들의 좌표를 넣어놓은 벡터) ---- combi함수로 들어가.. 64~68라인에서 h벡터 에서 조합을 해서 s벡터에 좌표들을 넣습니다.(s는 세개를 조합하고 난 선정된 좌표들을 넣어놓은 벡터) ----- 31 라인에서 만약 3개의 좌표가 s벡터에 들어가면 32~36까지 visited 배열을 문제에서 준 초기 배열(== arr배열)로 초기화를 하구요. 38~40은 s벡터에 조합해둔 좌표들에 벽을 세웁니다(1로 바꿔줍니다.) 42~46에서 값이 2인 곳 즉 이미 바이러스가 있는 곳에서 dfs를 합니다. ---- 17~27까지 dfs를 하는데.. 이제 해당 좌표로 들어오면 바이러스가 전염된 걸로 보고(2로 바꿔줍니다.) 4방향 중 0인 곳에만 다시 방문을 해서 dfs를 합니다. ---- 48~58까지는 단순히 visited 배열 상의 안전지대 즉 값이 0인 곳을 카운팅 해서 기존의 ans와 값을 비교하여 더 큰 값을 측정합니다. 어느 라인에서 제가 실수를 해서 오답 판정을 받았을까요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
postman질문있습니다
UI가 너무 많이 달라져서 도저히 따라가기 힘듭니다. 혹시 url 몇번이나 복붙했는데 계속 아래 캡쳐한거처럼뜨는데 해결법 알고 싶습니다.
-
미해결배달앱 클론코딩 [with React Native]
코드푸시 staging 일때 질문있습니다!
안녕하세요 제로초님! 코드푸시 할 때 staging으로 테스트 하려고 하는데요! stagin으로 테스트 하는 방법이 궁금합니다! usb로 실제기기 연결 후 npm run android 명령어 치면 빌드 되면서 실제기기에 앱이 생성 되잖아요? 그 다음 usb와 실제기기 해제 후 코드 수정한 다음 코드푸시 하면 usb가 해제 되어 있어도 코드푸시로 인해 자동으로 실제기기에 빌드되어 있는 앱에 반영되는게 맞는거죠?ㅎㅎ 앱센터에는 잘 올라가는데 실제기기에 반영이 안되는 것 같아 제가 하고있는 테스트 방법이 맞는지 궁금합니다!
-
미해결냉동코더의 알기 쉬운 Modern Android Development 입문
변수 옆에 타입을 알려주는 Assistant
Android Studio 기능인 것 같은데 냉동코더님 화면에서는 변수로 설정한 값 옆에는 자동으로 이 변수의 타입이 무엇인지 보여지더라고요 혹시 어떻게 설정하는 것일까요?
-
미해결Vue.js + TypeScript 완벽 가이드
권한 등록 부탁드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의 잘 듣고 있습니다. 권한 등록 부탁드립니다. 인프런 아이디 : info인프런 이메일 : info@popcorn5.com깃헙 아이디 : ee.gyuhong@gmail.com 깃헙 Username : eegyuhong
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 이름의 역할은 뭔가요?
@WebServlet(name = "requestParamServlet", urlPatterns = "/request-param") 이 부분에서 name을 설정하는데, 여기서 서블릿 이름은 서블릿을 구분하는 요소라고 생각하면 될까요? 아니면 다른 역할이 있나요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
pinia 적용에 관한 질문
안녕하세요? 강의 잘 듣고 있습니다. ^^ pinia 부분 수업을 들었는데, props를 이용해서 component간에 상태를 공유하던 (번거로운)부분이 굉장히 편리해져 흥미로웠습니다. 여기서 드는 생각이.. 원래, 자식 component의 script tag내에서 defineProps로 props를 정의하고 부모 component에서 넘겨주고, computed로 업데이트하는 등의 작업들이 모두 pinia를 통한 중앙 store를 통해 해결되는 것으로 보이는데요 그럼, 실제 현업에서도 프로젝트의 일관성을 위해, defineProps, computed 등의 함수를 이용한 props 관리는 지양하고, 모든 상태관리를 pinia를 이용한 store로 관리하는 것도 좋은 선택일까요? 감사합니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
강의 학습 관련 질문
안녕하세요! 장고 학습 관련하여 몇 가지 여쭤볼라고 합니다. 현재 장고를 개념부터 강의를 따라서 학습하고 있습니다. 뭔가 아직 막막하고 진도가 빠르게 진행되지 않아 마음이 성급한 마음이 있습니다. 그래서 불안감이 생겨서 그런지 부트캠프를 알아보았는데, https://learningspoons.com/course/detail/django-backend/ python django aws 기술 셋을 사용하는 부트캠프입니다. 들어가서 상단으로 올리면 커리큘럼을 볼 수 있습니다. 부트캠프로 들은 후, 나중에 이진석님 강의를 듣는 게 나은지 아니면 그냥 묵묵히 계속 강의를 듣는 게 나을지 고민이 됩니다. 만약 이진석님이 보실 때 커리큘럼이 만드신 강의가 더 낫다면 묵묵히 강의를 들으면서 학습해볼려고 합니다. 제 수준이 낮아서 뭐가 좋은지 잘 몰라서 여쭤봅니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
Project DeleteView 생성
강의에서는 프로잭트를 생성하는건 있는데 삭제하는건 따로 없어서 새로 만들려고 합니다. 이런식으로 views.py에 ProjectDeleteView 를 만들고 이런식으로 projectapp/detail.html 에서 프로잭트를 생성한 사람만 Delete Project버튼이 보이게 만들어 주려고 하는데 실행해 보니 Delete Project 버튼이 안뜨네요. 어떻게 하면 프로잭트 생성자가 프로잭트 삭제도 할 수 있게끔 만들 수 있을까요? 감사합니다!
-
미해결인공지능 기초수학
f(x,y)=0
기초부분에서 나오는 f(x , y) = 0 개념을 잘모르겠는데 설명해 주셨으면 좋겠습니다
-
미해결Java TPC 실전프로젝트 (Java API 활용)
JSONTokener 에러
JSONTokener에서 inputStream을 읽어오려고 하는데 계속해서 Reader로 변경하라고 나옵니다. 강사님과 같이 inputStraeam 인자로 넣을 수 없습니다...