안녕하세요. 이번에 새로운 시도를 위해 react, express, mariaDB를 이용하여 개발중인 신입 개발자입니다. 처음으로 백엔드 분야를 시도하는거라 물어볼 사람도 많지 않아 어려움을 겪고 있습니다. 현재 메인페이지에서 새로운 카테고리(ex. test)를 만들면 test라는 테이블이 DB내에서 생성되고, 이후 test내부에서 또다시 카테고리를 만들면 DB내에서 생성 되도록 제작하고 싶습니다. 현재 코드를 이렇게 작성하였지만, 테이블 생성이 안되고 있습니다. 어떻게 하면 좋을까요? app . get ( "/" , ( req , res ) => { res . send ( "안녕" ); const title = "insert_test11" const sqlQuery = "CREATE TABLE (?) ( `user_key` INT NOT NULL AUTO_INCREMENT, `user_id` VARCHAR(45) NULL, PRIMARY KEY (`user_key`))" ; connection . query ( sqlQuery , [ title ], ( err , result ) => { if ( err ) { console . log ( "실패!" ); } else { console . log ( "성공!" ); } }) });
코드 중 하기 부분이 이해되지 않습니다. # 평균 손실을 측정합니다 average_loss += current_loss/total_batch batch for loop 안에서 average_loss += current_loss 를 계산하고 이후 epoch for loop 뒷단에서 average_loss = average_loss/total_batch 를 계산해야 1 epoch당 평균 loss가 계산되는 것이 아닌가요?
안녕하세요 영한님 저는 jpa 야생형 로드맵을 수강한 후 토이프로젝트를 진행하고 있는 도중 여쭈어보고 싶은게 생겨서 글을 올리게 되었습니다. 먼저 해당 강의를 통하여 내부조인을 사용하면, where 절에서 필터링 하는 것과 기능이 동일하기 때문에 where절의 의도와 맞게 내부조인에서는 on절이 아닌 where절을 사용하는게 좋다고 이해하였습니다. 아래 사진은 파라미터가 Item의 name에 포함된 경우 해당 Item의 관련된 여러 테이블을 join하여 Shop을 조회하고 싶어서 작성하게 된 코드와 실행했을 때 나타난 쿼리입니다. 처음에는 findByNameContainsV1 메소드를 작성하였지만 Item부터 Shop 사이에 있는 모든 테이블을 조인한 후 where절에서 Item의 name과 같은 Shop을 조회하기 때문에 조금 더 쿼리를 최적화 시킬 수 있다고 생각했습니다. 그래서 findByNameContainsV2 메소드를 작성하게 되었는데요. sql 문법상 join이 where보다 먼저 실행된다고 알고 있었기 때문에 where 대신 on절을 넣어주었습니다. 하지만 테스트를 통하여 on절에도 동적쿼리를 사용할 수 있는지 확인해 보았지만 불가능했습니다. 아직 개발에 대한 지식이 많이 부족해서 성능 최적화에 대해 잘 모르지만 저는 findByNameContainsV2 메소드가 findByNameContainsV1메소드보다 더 성능이 잘 나온다고 생각이 되지만 QueryDSL은 JPA에서 동적 쿼리를 사용하기 위해 실무에서 도입하게 된 것이므로 굳이 고민하지 않아도 되는 것인지, 아니면 실무에서 동적쿼리가 아닌 경우에 findByNameContainsV2 메소드와 같이 코드를 작성해도 되는지 영한님의 의견을 여쭈어 보고 싶습니다.
리액트로 프론트를 개발하고 있고 친구는 스프링 부트로 백엔드를 개발한 후 포스트 맨을 통해서 api를 제공해 줬는데 토큰을 쿠키에서 받아오는 형식입니다. 그런데 제 localhost의 쿠키를 넣으면 401이 뜨고 백엔드 친구의 url 에 토큰 값을 저장해지만 되는데 어떻게 해결 할 수 있을까요.
- 안녕하세요 선생님 강의 잘 듣고 있습니다^-^ 덕분에 코테는 벌벌 떨던 제가 BFS랑 DFS에 대해서 이런거였어? 싶을 정도로 쉽게 이해하고 있는 중입니다 감사합니다 ㅎㅎ 다름이 아니라 9:03 초에서 res를 while문 안에 작성하셨는데요 그렇게 되면 큐에 들어온 녀석 갯수만큼 추가 되면서 선생님이 뒤에 말씀하신 것처럼 최초 진입 시점의 갯수도 포함하게 되어서 최초 진입시점에도 grid[x][y] = 0 값을 넣게 되는데요 애초에 들어오고 나서 for문 내의 if문에서 방문했다(visited)라고 하는 조건 내에서 면적을 추가 시켜 주면 그러한 작업이 필요 없을 거 같아서요 아래 예시인데요.. 일단 값은 잘 나오는 지 테스트 해봤는데 이 부분은 어떻게 생각하시는지 궁금합니닷 (혹시 틀렸다면 알려주세요 ㅠㅜ..) private int bfs(int[][] grid, int x, int y) { Queue<int[]> queue = new LinkedList<>(); queue.offer(new int[] {x, y}); //0, 0 int area = 0; while (!queue.isEmpty()) { int[] point = queue.poll(); for (int[] dir : dirs) { int findX = point[0] + dir[0]; int findY = point[1] + dir[1]; if (findX >= 0 && findY >= 0 && findX < m && findY < n && grid[findX][findY] == 1) { grid[findX][findY] = 0; queue.offer(new int[] {findX, findY}); area++; } } } return area; }
Junit5와 Junit4 에서의 회원가입테스트에서 Junit5는 Long savedId = memberService.join(member); 에서 NullPoniterException이 터지게 되는데 Junit4에서는 정상적으로 테스트가 완료됩니다. 야생형코스로 하고있는데 이러한 테스트 결과에서 도저히 이해가 안되서 이렇게 질문 남깁니다...
안녕하세요! 질 좋은 강의에 감사 인사부터 드립니다! 다름이 아니라 해당 강의 7:49초 부터 AlexNet 구현 코드를 설명해주시는데요! 이론적인 부분에서 원래 Alex Net이 LRN(Local Response Normalization)이 적용되지만 구현코드 상 BN을 적용하는 걸로 설명해주셨습니다! 그런데 BN layer 코드를 자세히 보니 AlexNet 구현 과정에서는 '컨볼루션 -> 활성함수 -> BN 적용' 순서로 되어 있더라구요? 물론 이 과정이 잘못되었다는 건 아닌데 보통 '컨볼루션 -> BN 적용 -> 활성함수' 과정으로 진행하는게 대부분 더 모델 최적화에 긍정적인 영향을 미친다고 알고 있어서요! 제가 AlexNet 논문까지는 확인을 안해보았지만 논문 상에서도 LRN(실습 코드에서는 BN)이 활성함수 이후에 적용되는 순서로 되어 있는지 문의드려도 될까요!?
ppt 10p, 아래 문장에 대해 질문이 있습니다. '또한 (W(in)-F/S)의 차원이 정수로 나누어 떨어지지 않을 수도 있기 때문에 인풋 이미지의 상하좌우 모서리에 P만큼 0을 채워주는 제로 패딩Zero-Padding을 P만큼 적용해줌' 일반적으로 제로 패딩을 시행하는 이유가 영상 모서리 부분의 특징을 더 잘 추출하기 위함이 아닌가요? 그리고 정수로 나누어 떨어지지 않으면 일반적으로 반올림을 해주는 게 맞지 않나요?
강의 ppt 13p 음성 설명이 (13:30분 경) 이상하게 돼있습니다. (1)미분 전 그래프를 활용해서 설명함 (2)시그모이드 함수와 하이퍼볼릭 탄젠트 함수의 특정 인풋값에 대해 미분값이 0으로 빠져버리는 구조가 아니라 특정 range의 값(이전 질문 참고 바람)이 계속 곱해져 0으로 빠져버리는 구조가 맞음