이야기를 나눠요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
셀프 체크 - 연달아 계산하기 과제가 너무 어렵습니다.
마이너스를 해보려고 했는데 이제 자스를 배우는데 도저히 어떻게 해야지 그게 되는지도 모르겠습니다. 제가 소질이 없는걸까요? 대체 뭘 어떻게 해야지 앞에 마이너스를 추가해서 하는건지 전혀 모르겠습니다
-
Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
H2를 최신버전(현재는 2.1.214)으로 사용 시 오류 임시 해결 방법
안녕하세요.다름 아니라 Spring Boot가 3.XX 버전으로 업데이트가 되면서, 해당 버전을 사용하시는 분들은 1.3.176버전으로 H2 이용 시 404에러가 발생합니다.해당 에러를 해결하려면 최신 버전으로 H2를 사용하여야 하는데요. 최신 버전으로 H2를 사용하면 1.3.176 이하 버전처럼 db가 자동 생성 되지 않습니다. 그래서 해결 방법을 찾았는데요. 이 방법은 제가 어떻게 어떻게 하다 보니 발견한 방법이라서 옳다고 할 수는 없겠지만, H2를 테스트용으로만 사용하기 때문에 띄우기만 하면 되므로 문제 없을 것 같아 공유드립니다. 우선 pom.xml에서 h2 dependency를 추가하였다면, 아래 이미지처럼 왼쪽 프로젝트 창의 External Libraries 리스트에서 h2를 찾을 수 있습니다.해당 h2 jar파일을 우클릭하면 탭이 뜨는데 Open Library Settings(F4)를 선택하면 h2 jar 파일의 위치를 확인할 수 있습니다.그럼 해당 위치로 가셔서 jar파일을 더블 클릭하여 실행시키면 브라우저에서 H2 콘솔이 실행됩니다.(h2 jar 파일 우클릭 시 탭에서 Open in > Directory Path(Ctrl + Alt + F12)를 선택하면 Show Explorer탭이 뜨고, jar 파일 선택하면 폴더로 바로 이동 됩니다)이 때 우측 하단의 트레이를 확인해보시면 H2 Database Engine이 실행된 것도 확인할 수 있습니다. 이제 브라우저의 H2 콘솔에서 Generic H2 (Embedded) 를 선택하시고 강의 내용대로 아래 이미지처럼 작성해주세요.연결 시험(Test Connection)을 눌러보면 아래 이미지처럼 db가 없다고 나올 것입니다. 그렇지만 걱정 마시고 이 상태에서 연결을 눌러보세요.db가 생성된 화면을 만날 수 있습니다.이제 db가 생성이 된 것입니다.그렇기 때문에 뒤로 가기를 눌러 다시 로그인 화면이 뜬 후에 연결 시험(Test Connection)을 눌러보면 아까와는 다르게 Test Successful이라는 성공 메세지를 만날 수 있습니다.(그러나 이것은 브라우저의 H2 콘솔 URL의 포트를 보시면 아시겠지만, 저희 프로젝트에서 db가 만들어진 것이 아닙니다. 이에 대해서는 아래를 읽어주세요) 제가 H2 경험이 별로 없어서 해당 방식이 Embedded, In memory, Server 모드 3가지 중 어떤 방식인지 잘 모르지만 서버 방식으로 추측됩니다.서버 방식은 H2를 따로 외부에서 띄워 놓고 접근해서 사용하는 것을 말하는 것 같은데요. 그렇기 때문에 저희가 만들어 놓은 프로젝트 URL인 localhost:{랜덤포트}/h2-console 에서 H2 사용 시 Embedded로 선택하여 Embedded 모드로 실행하면 연결 오류가 그대로 발생합니다. 그래서 강의와는 다르게 아래 이미지처럼 Server를 선택하여 외부(여기서는 프로젝트 외부에서 H2를 따로 동작시켜 db를 만들어준 것을 말함)의 H2에 접근하도록 연결해야 합니다.연결 방법은 아래와 같이 URL을 적어주면 됩니다. Saved Settings와 JDBC URL 입력 항목을 유의해주세요.이렇게 설정해준 후, Test Connection 버튼을 눌러보면 연결 테스트가 성공한 것을 확인할 수 있습니다.마찬가지로 연결 버튼을 클릭해보면 연결도 잘 됩니다. 이제 이 상태에서 강의를 이어서 진행하면 문제 없을 것입니다. ※ 추가적으로, 외부에서 서버를 켜놓고 접속하는 것이기 때문에 오른쪽 트레이의 H2 Database Engine을 우클릭하여 종료하면 프로젝트의 H2 콘솔에서 연결이 불가합니다. 그러니 프로젝트 작업 시에는 트레이를 종료하지 않도록 유의해주세요.※ 그리고, H2 Engine을 따로 받아서 서버 모드로 사용하면 DB 상태가 유지되지만, 이 방법은 프로젝트의 h2 jar 파일을 통해 진행하다보니 DB 상태가 유지되는지 알 수 없습니다. 오른쪽 트레이에서 H2를 재실행시키면 다시 DB를 만들어야 하는 것 같더라고요. 참고 부탁드려요~ [추가]Users Microservice - JPA①, ② 강의에서 H2 DB에 연결해 DB를 연결해주는데요.위의 과정은 Embedded가 아닌 Server 로 처리하기 때문에 설정이 다릅니다.application.yml 파일에서 아래와 같이 설정해주세요.유의하실 부분은 spring.datasource.url 부분과 spring.jpa.generate-ddl 부분입니다.url 만으로는 처리가 안되길래 jpa에서 db 생성하도록 generate-ddl을 true로 설정하였습니다.spring: application: name: user-service h2: console: enabled: true settings: web-allow-others: true path: /h2-console datasource: driver-class-name: org.h2.Driver url: jdbc:h2:tcp://localhost/mem:testdb username: sa jpa: generate-ddl: true
-
[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
textContent error 이유를 모르겠습니다
삭제된 글입니다
-
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
키보드 하나 추천부탁드립니다^^
코딩 잘 쳐지는 키보드 하나 추천해주시면 감사하겠습니다.
-
나도코딩의 자바 기본편 - 풀코스 (20시간)
질문 드릴게있습니다!
안녕하세요! 복학을 앞둔 대학생입니다.. 이번 학기에 자바 프로젝트를 하기에 심화 강의까지 들어가며 독학중입니다. 이 강의를 수강한 후에 프로젝트 수업에 대비해 공부할 만한 방법이 있을까요? 프로그래머스나 백준같은 곳에서 문제를 푸는 방법이 좋을까요? 클론 코딩을 체험할 수 있는게 베스트일거 같지만.. 언어 공부 방법에 대해 조언을 들어보고 싶습니다!
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
[오타 발견] RedirectAttribute를 설명해주실때, pathVarible 이라 적혀있습니다.
pathVarible -> pathVariablea가 빠진 것을 발견했습니다.
-
Node.js의 모든 것
따라쳐야할 곳들이 너무 빨리 지나갑니다.
안녕하세요.강의를 보면서 중간중간 따라쳐야 할 곳들이 너무 빠르게 지나가서 방향키와 스페이스를 이용해서 그 부분을 딱 맞춰서 멈추고 따라치기가 힘든 경우가 계속 발생하네요. 이점 감안하셔서 따라 쳐야할 곳에 표기 + 잠깐의 지연 타임 정도로 영상 수정하시면 이후 수강자들이 많이 편해질듯싶습니다.좋은 강의 감사합니다.
-
반응형 웹사이트 포트폴리오(App Official Landing Website)
퍼블리싱 반응형 화면이 변해도 스크립트가 남아 있습니다.
현재 홈페이지 모작 중인데 진짜 며칠째 별짓을 다해도 안고치더라구요if문으로 width 크기에 따라 구동되는 스크립트 구문이 있습니다.분명 pc모드에서 태블릿 모드로 넘어가면 pc모드에서 쓰인 스크립트는 더이상 남아 있으면 안되는데 이게 고대로 넘어옵니다콘솔로그 찍어 보면 if문은 잘 작동하는데 도대체 왜 그대로 넘어오는지 모르겠습니다.... https://magnificent-gumption-2d228c.netlify.apphttps://github.com/idoidoi/hyundaigreenfood위에는 배포한 사이트고 밑에는 깃허브 주소입니다.pc모드에서 태블릿으로 변환 되고 네비탭 눌러 보시면 pc모드의 스크립트가 그대로 넘어옵니다.. 밑에 애니메이션도...독학이라 물어볼 사람도 없구 도와줍쇼....ㅜㅠ
-
지금 당장 NodeJS 백엔드 개발 [사주 만세력]
아마존 aws에 올리려고 하는데, 방법 좀 가르쳐 주세요.
아마존 aws에 올리니, 오류가 나네요. 방법좀 가르쳐 주시면 고맙겠습니다. 1년 동안 무료로 사용할 수 있는 그곳에 올려서 활용해 보려고 합니다.
-
Flutter 응용 - 공공 API를 활용한 앱 만들기 (MVVM 패턴)
setState 관련 하여 궁금한 점이 있습니다.
안녕하세요저는 flutter 현직자로 조금 더 깊이 있는 공부가 필요하여 강의를 모두 구매하게 되었습니다제가 예전 부터 궁금했던건데 setState 사용하여 화면 갱신 처리시에 a방식도 작동하고 b 방식도 작동하는데 둘의 차이가 혹시 있을까요?/// a setState(() { storesList.clear(); for (var store in jsonStores) { storesList.add(Store.fromJson(store)); } }); /// b setState(() {}); storesList.clear(); for (var store in jsonStores) { storesList.add(Store.fromJson(store)); }
-
자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
다른 사람의 풀이가 궁금하신분들!
6개월 동안 공부하며 포기하고 싶을 때도 있었지만,그래도 포기하지 않고 꾸준하게 완강, 모든 문제 풀어보았네요강사님 감사합니다 😁혹시 도움이 될 수 있을까 해서 꾸준하게 저장소에 올렸는데다른 사람 코드가 보고 싶으신 분은 클릭 하시면 되요 👍🏻포기하지말고 힘내세요 여러분 :)
-
vcpkg boost 설치 오류 해결법
깃헙에서 이슈 찾아보다가 chinese 는 미지원이라길래 한글은 지원 되는줄 알았던게 제 가장 큰 패착이었습니다.가장 먼저 user의 사용자 폴더 이름을 확인해 보십시오. 영어가 아닌 언어들이면 일단 안됩니다.저는 영어로 바꾸고 모든 문제 해결됐습니다... 어떤 짓을 해도 안됐는데...
-
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
강사님 따로 멘토링은 안하시는지요?
인프런에도 멘토링 서비스가 있는데, 멘토링은 따로 안하시나요?
-
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
url 작성시 path parameter는 꼭 숫자여야하나요?
안녕하세요 url을 매핑하는중에 궁금한 사항이 생겼습니다.GET 요청시 path parameter에는 주로 [GET] /shops/{shopNo} 이런식으로 주로 key인 숫자값들이 들어가는데 숫자가 아닌 문자를 넣어도 될까요?예를 들어 [GET] /shops/{shopId} 이런식으로요 단순히 가능한지 아닌지가 아닌 어떤게 더 좋은 url 인지 궁금합니다!
-
2025 정보처리기사 필기
강의가 너무 자주 끊깁니다..
책에서 제공되는 기본 영상도 안끊기는데 돈 주고 보는 강의가 이렇게 자주 끊기고 멈추는건 좀 그렇네요..
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의 마지막에 말씀하신 부분이 공감되서 남겨봅니다.
개발하다보면 실무에서도 아키텍쳐를 변경해야할 때가 있다. 이 때, 구조를 수정할 때는 구조만 건들여야 한다.수정하다보면 구조말고도 디테일한 부분이 눈에 밟혀 수정하고 싶은 충동이 생기는데, 그때 한 번에 개선을 하게 되면 다른 사람이 처리하는데도 힘들고, 사람이 다 기억하기도 힘들다. 그러니, 디테일한 것이 보여도 TODO 리스트에 적은 다음 넘어가고, 큰 구조를 먼저 변경이 완료된 후, 테스트까지 완료되면 커밋하고 나서 디테일한 것을 변경하자. 말씀을 듣자마자 과거에 경험했던 일들이 주마등처럼 스쳐 지나갔습니다... ㅋㅋㅋㅋ...이 문구를 따로 저장해서 마음 속 깊이 새기도록 하겠습니다.
-
모두의 아이디어랩
○ 참가 접수 : https://aifactory.space/competition/detail/2263 ○ 대회 주제 - 인공지능, 데이터, 메타버스, 친환경, 노인, 교통, 지역불균형 등 (2가지선정)○ 주최/주관 - 주최 : 대전청년내일센터, 윤피티연구소, 모두의연구소, AIFactory - 주관 : 윤피티연구소 & 모두의연구소 대전 ○ 참가 자격 및 우대사항 - 참여 대상 : 청년(만19세 ~ 34세)이라면 누구나 - 커리어 개발을 위해 방학을 사용하시고 싶은 분 - 성격이 급해 하루 안에 성과가 나와야 하는 분 - 지식을 나누고 공유하는 모두의연구소 가치에 공감하는 단체 활동에 진심이신 분○ 대회 일정 및 장소 - 모집 기간 : 2월 1일(수) ~ 2월 14일(화) - 행사 일시 : 2월 16일(목) 10:00~ 20:00 - 장소: 대전테크노파크 D-STATION 12층 (대전광역시 중구 중앙로 119) - 준비물 : 개인 노트북 필수 지참 - 모집 인원 : 40명 ○ 활동혜택 - 전문가 심사 + 현장 평가를 통해 우수상 시상 - 모든 과정 이수 시 : 수료증 발급 - 우수상 대상 자 중 MLSA (Microsoft Learn Student Ambassadors) 선발 - IT 계열 전공자(컴퓨터공학 등) 한정 ○ 반드시 읽어주세요. - 이번 행사는 오프라인으로 진행됩니다. - 참가 신청 후 취소 의향이 있으실 경우, 다음 대기자를 위해 반드시 취소 처리를 부탁드립니다. - 별도 알림 없이 불참하실 경우 향후 행사 참여 제한이 있을 수 있습니다.
-
Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청드립니다
인프런 아이디 : m3088787@naver.com인프런 이메일 : m3088787@naver.com깃헙 아이디 : m3088787@naver.com깃헙 Username : LDK1009
-
스프링 배치
git주소 소스요청
git 주소를 가보니 강의해 주신 모든 소스가 있지 않던대요 강의해 주신 모든 소스를 받을 수 있나요?
-
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
웹 브라우저에서 hello world가 안보이던 이유
강의 9분에서 진행되던 파라미터를 Response에 다시 돌려주던 부분에서 저는 왜 에러 페이지가 뜰까 고민하다가 발견한 것을 정리했습니다.강의 처음부터 service 메소드를 오버라이딩할 때 super.service(req, resp);가 없었지만 Ctrl + Shift + A를 통해 자동으로 생성할때에는 저 한 줄이 자동으로 붙습니다. 이를 제거해주지 않으면 에러페이지가 표시되고, 응답은 405로 표시됩니다.저 코드의 의미는 부모 클래스의 service 메소드를 실행하라라는 의미인데, 들어가보면 아래의 코드를 만날 수 있습니다.if (method.equals(METHOD_GET)) { long lastModified = getLastModified(req); if (lastModified == -1) { // servlet doesn't support if-modified-since, no reason // to go through further expensive logic doGet(req, resp); } else { long ifModifiedSince; try { ifModifiedSince = req.getDateHeader(HEADER_IFMODSINCE); } catch (IllegalArgumentException iae) { // Invalid date header - proceed as if none was set ifModifiedSince = -1; } if (ifModifiedSince < (lastModified / 1000 * 1000)) { // If the servlet mod time is later, call doGet() // Round down to the nearest second for a proper compare // A ifModifiedSince of -1 will always be less maybeSetLastModified(resp, lastModified); doGet(req, resp); } else { resp.setStatus(HttpServletResponse.SC_NOT_MODIFIED); } } }나름 해석해보면 GET 요청이 올 때, doGet 메소드로 보내는 것을 확인할 수 있고, doGet 메소드는 아래와 같습니다.protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String msg = lStrings.getString("http.method_get_not_supported"); sendMethodNotAllowed(req, resp, msg); }코드를 보면 상속을 하지않은 원형 doGet 메소드는 405코드로 바로 응답하도록 작성되어 있는 것을 확인할 수 있습니다.이를 해결하는 방법은 2가지가 있습니다.상속받은 HelloServlet의 service 메소드에서 super.service(req, resp)를 제거하는 것.상속받은 HelloServlet에 doGet 메소드를 추가로 오버라이딩해서 그곳에 Response를 조작하는 코드를 작성하는 것이 있습니다. 이에 해당하는 방법의 코드는 아래와 같습니다.@WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException { super.service(req, resp); System.out.println("HelloServlet.service"); System.out.println("req = " + req); System.out.println("resp = " + resp); } @Override protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws IOException { // 파라미터 획득 String userName = req.getParameter("username"); System.out.println("userName = " + userName); // Response Header 설정 resp.setContentType("text/html"); resp.setCharacterEncoding("utf-8"); // Response resp.getWriter().write("hello " + userName); } }