묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
java 객체, enum
안녕하세요~ modelattribute로 값을 넘길때, Map, enum, java object 등 다양한 방법으로 예시를 보여주셨는데요 어떤 경우에 어떤 type을 쓰는지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
JWT Token과 Session 로그인 관련 질문
개인적인 api 프로젝트로 프론트엔드는 vue로, 백엔드는 스프링부트로 만들고 있습니다. 일반 유저, 음식점 주인, 관리자. 이렇게 3개의 권한으로 나누고 싶습니다. // 음식점 주인이 자신의 음식점에만 정보를 수정하게끔 권한을 부여하고 싶은데 권한(일반/음식점 주인/관리자), 음식점 고유 번호(음식점 PK값을 의미). 이렇게 객체 필드를 만들어서 음식점 주인 권한을 가지고 고유 번호(ex.5764)를 가진 사람이 5764번 음식점만 정보를 수정하게끔 만들려고 합니다. 서버 템플릿 엔진이였으면 간단히 해결했을텐데 클라이언트 템플릿 엔진이라 예상치 못한 문제에 직면했습니다... // SPA 로그인 방식에는 JWT token이 더 편하다고 해서... JWT Token을 알아보니 권한이 일반 유저와 관리자 둘로 흔하게 나눠지더라고요 (검색해보니 세분화된 권한 부여는 복잡해 보여서 JWT token은 포기할려고 합니다.) // 제가 구현할려는 게 JWT TOKEN 방식보다 세션 방식 로그인으로 하는 게 더 적합한건지? 궁금합니다. 이 경우 기존의 방식과 어떤게 다른지 아주 대략적이나마 설명해주시면 https://docs.spring.io/spring-session/docs/current/reference/html5/ 문서를 참고해서 개인적으로 만들어볼라고 합니다. // 또한 제 케이스의 경우 어떤 로그인 방식이 좋은 건가요? 1.JWT TOKEN 방식 2. Session 로그인 방식 3. OAuth 방식으로 만든다.
-
해결됨RPA로 자동화 천재되기 (UiPath 응용편)
동영상보면서 여러번 반복했지만 오류가 있어 메일보냅니다
.동영상보면서 여러번 반복했지만 오류가 있어 메일보냅니다 개발팀 , 인사팀, 회사사원 회사사원에 갈자료가 인사팀에 감
-
미해결15일간의 빅데이터 파일럿 프로젝트
안녕하세요 자료 문의드립니다.
안녕하세여 강의 매우 잘듣고있습니다. 감사합니다. 다름이 아니라 가상 서버 환경 설정 및 클라우데라 설치 PDF도 자료 받을 수 있을까요?
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
include 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. path('account/', include('accountapp.urls')), NameError: name 'include' is not defined python manage.py runserver 한 뒤에 인크루드 에러가 뜹니다. 해결 방법이 있을 까요?
-
미해결[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
DB 아키텍처 관련해서 문의 드립니다.
좋은 강의 해 주셔서 감사합니다. 짧은 시간안에 nosql 이해하는데 많은 도움이 되었습니다. 업무에 적용해봤으면 하는게 있어 문의 드립니다. 아래와 같이 예를 들어보면, 매일 한번씩 배우 평점데이터를 수집하여 1년치 평점 변화를 분석 하고자합니다. 수집되는 배우가 10만명정도되고 한번 수집되는 데이터의 양이 document max size를 초과한다면, 이런 시계열(?) 데이터들은 어떻게 적재를 하는게 맞는건지 문의 드립니다. { 배우이름: 조우진, 평점: 4, 수집날짜: 2021-07-17 } 제가 생각한 방안은 이렇습니다. 1) 한명의 배우는 하나의 Document만 생성. 변경되는 데이터는 배열로 추가. ( 찾아보니 Document max size가 16mb라서.. 데이터가 늘어날수록 제약이 있네요. 한번 수집되는 데이터가 1mb라면 16일만 수집이 되겠네요) 2) 매번 수집되는 배우의 정보를 새로운 Document에 추가. ( 동일한 배우의 여러 Document가 생길경우 비효율적으로 보입니다. 10만명의 배우라면.. 매일 10만개의 document가 생기겠네요..) 3) Collection을 배우별로 분리?? 어떻게 구현은 되겠으나, DB 운영경험이 없어.. 성능이나 이런 부분에 대해 감이 없네요 ^^; 구성 방향이나 공부해야할 부분에 대해 조언좀 부탁드립니다. 감사합니다!!
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
안녕하세요 강사님
강사님 안녕하세요. 강의 잘 보고 있습니다. 다름이 아니라 오라클 db 버전을 11로 하신 이유가 있으신가요? 현재 오라클은 19버전만 나와있어서 그것을 다운받으려고 하는데 "지정된 사용자에 대한 acl 설정을 실패했습니다." 라고 하면서 이상한 오류가 떠서 다운이 안받아 지네요 ㅜ
-
미해결웹 게임을 만들며 배우는 TypeScript
d.ts 파일에서 유니언 타입
현재 강의에서 Object is possibly null 이라는 에러가 발생하는데 d.ts 파일 들어가서 확인해보면 타입이 유니언으로 string | null 이라서 발생하더라구요. 유니언이 또는 이라는 의미를 가지고있어서 둘중에 하나만 타입이 일치해도 괜찮은걸로 아는데 왜 에러가 발생하는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문 상품 테스트 시, 상품주문과 주문취소에서 같은 에러가 발생합니다. nullpointerexception, this.member is null
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 아래 주석처리 된 테스트는 성공적이었던 테스트입니다. 제 생각에는 orderService.order 에서 문제가 발생하는 것 같습니다. this.member가 null 값이라고 뜨네요 ㅜㅜ @Test public void 상품주문() throws Exception { //given Member member = createMember(); Book book = createBook("시골 JPA", 10000, 10); //when int orderCount = 2; Long orderId = orderService.order(member.getId(), book.getId(), 2); //then Order getOrder = orderRepository.findOne(orderId); org.assertj.core.api.Assertions.assertThat(orderId).isEqualTo(1); org.assertj.core.api.Assertions.assertThat(member.getId()).isEqualTo(1); assertEquals(OrderStatus.ORDER, getOrder.getStatus(),"상품 주문 시 상태는 ORDER");// org.assertj.core.api.Assertions.assertThat(OrderStatus.ORDER).isEqualTo(getOrder.getStatus());// org.assertj.core.api.Assertions.assertThat(book.getPrice()).isEqualTo(10000);// org.assertj.core.api.Assertions.assertThat(member.getName()).isEqualTo("회원1"); } @Test public void 주문취소() throws Exception { //given Member member = createMember(); Book item = createBook("시골 JPA", 10000, 10); int orderCount = 2; Long orderId = orderService.order(member.getId(), item.getId(), orderCount); //when orderService.cancelOrder(orderId); //then Order getOrder = orderRepository.findOne(orderId); assertEquals(OrderStatus.CANCEL,getOrder.getStatus(),"주문 취소 시 상태는 CANCEL"); assertEquals(10, item.getStockQuantity(),"주문이 취소된 상품은 그만큼 재고가 증가해야 한다."); }java.lang.NullPointerException: Cannot invoke "book.shop.domain.Member.getOrders()" because "this.member" is null at book.shop.domain.order.Order.setMember(Order.java:45) at book.shop.domain.order.Order.createOrder(Order.java:61) at book.shop.service.OrderService.order(OrderService.java:44) at book.shop.service.OrderService$$FastClassBySpringCGLIB$$c7276b73.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) at book.shop.service.OrderService$$EnhancerBySpringCGLIB$$54b15850.order(<generated>) at book.shop.service.OrderServiceTest.주문취소(OrderServiceTest.java:58) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) //==연관 관계 메서드==//public void setMember(Member memebr) { this.member = member; member.getOrders().add(this);}public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder(this);}public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this);}//==생성 메서드==//public static Order createOrder(Member member, Delivery delivery, OrderItem... orderItems) { Order order = new Order(); order.setMember(member); order.setDelivery(delivery); for(OrderItem orderItem : orderItems) { order.addOrderItem(orderItem); }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
단위, 통합테스트에 대해 궁금한 점이 있어 질문드립니다
삭제된 글입니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 업로드 일정 질문있습니다.
영한님 강의 매우 잘 듣고 있습니다. 9월까지 모든 강의를 다 들을 것 같은데 혹시 "스프링 DB 접근 기술"과 "스프링 부트"는 언제 쯤 나오나요? 감사합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
.travis.yml 파일에 대한 질문이 있습니다.
TravisCI에서 이번 강의에서 작성한 .travis.yml 파일을 가지고 aws beanstalk에 배포할 때 .yml 파일에는 Dockerfile.dev를 빌드하고 실행하는 내용만 적혀있는데, 돌아가는 과정을 보면 Dockerfile이 배포가 되는 것 같습니다. TravisCI에서 Dockerfile은 언제 읽는지 궁금합니다.
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
IOS, Android 빌드하고 배포하는 방법 부탁드려요
안녕하세요 강사님 입문부터 중급까지 3개 강의 보고 있는데요 Android, IOS 빌드해서 마켓어 어떻게 올려야 하는지는 어느 강의에서 찾아볼수 있을까요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
강사님 혹시 어디 부분에서 왜 오류가 나는지 알 수 있을까요..
아래 처럼 작성했는데 답은 나오는데 채점해보면 오답이라고 나와서요 어디부분이 왜 오류인지 알수있을까요?ㅠ.. 아무리 찾아도 뭔가 빼먹은것같은데 모르겠네요.. package sec01; import java.util.Scanner; class Main { public static int solution(int n , int[][] arr){ int count = 0; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { boolean flag = true; if(i-1 >= 0 && arr[i][j] < arr[i-1][j]) { // 상 flag = false; } if(i+1 < n && arr[i][j] < arr[i+1][j]){ //하 flag = false; } if( j-1 >= 0 && arr[i][j] < arr[i][j-1]){ // 좌 flag = false; } if(j+1 < n && arr[i][j] < arr[i][j+1]){ // 우 flag = false; } if(flag) { count++; } } } return count; } public static void main(String[] args){ Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[][] arr = new int[n][n]; for(int i =0;i<n;i++) { for(int j=0;j<n;j++) { arr[i][j] = kb.nextInt(); } } System.out.println(solution(n,arr)); } }
-
미해결코로나맵 개발자와 함께하는 지도서비스 만들기 1
nodemon ./bin/www 입력시 host 연결이 안됩니다
터미널은 다음과 같이 뜹니다. 어떻게 하면 해결할 수 있을까요
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
mysql [실전] 크롤링과 데이터베이스 db와 프로그래밍 코드 작성과 팁 2 질문입니다
훌륭한 강의 잘 듣고있는 코린이입니다 수업 들으면서 코드 복습도 하곤 하는데 크롤링한 데이터를 주피터 노트북을 이용하여 데이터베이스에 저장시키는건 잘 되는데, 파이참이나 vscode 터미널 등에서 실행하면 맨 처음 데이터만 프린트 문으로 보여주고 파일은 실행되지않고 있다가 pymysql.err.OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction') 이런 에러가 뜹니다 혼자 해결해보려고 했으나 도저히 모르겠어서 질문남깁니다! 꼭 답변부탁드려요!! import requests from bs4 import BeautifulSoup import pymysql def subcategories(url, name): get_items(url, name, "ALL") res = requests.get(url) soup = BeautifulSoup(res.content, 'html.parser') subcategories = soup.select('div.navi.group > ul:nth-child(1) > li') for subcategory in subcategories : subcate_name = subcategory.select_one('a').get_text() subcate_url = "http://corners.gmarket.co.kr" + subcategory.select_one('a')['href'] get_items(subcate_url, maincate_name, subcate_name) def get_items(url, maincate_name, subcate_name): res = requests.get(url) soup = BeautifulSoup(res.content, 'html.parser') data = soup.select('div.best-list') for index, item in enumerate(data[1].select('li')) : title = item.select_one('a.itemname').get_text() ori_price = item.select_one('div.o-price > span') dis_price = item.select_one('div.s-price > strong > span') discount_percent = item.select_one('div.s-price em') data_dict = dict() if ori_price == None or ori_price.get_text() == "": ori_price = dis_price if dis_price == None : ori_price, dis_price = 0, 0 else : dis_price = dis_price.get_text().replace('원', "").replace(',','') ori_price = ori_price.get_text().replace('원', "").replace(',','') if discount_percent == None or discount_percent.get_text() == '': discount_percent = 0 else: discount_percent = discount_percent.get_text().replace('%', '') product_url = item.select_one('a')['href'] res = requests.get(product_url) soup = BeautifulSoup(res.content, 'html.parser') item_code = soup.select_one('span.text__item-number').get_text().split(":")[1].strip() ranking = index + 1 seller = soup.select_one('span.text__seller > a') if seller == None or seller.get_text() == "": seller = "" else : seller = seller.get_text() data_dict['maincate_name'] = maincate_name data_dict['subcate_name'] = subcate_name data_dict['ranking'] = ranking data_dict['item_code'] = item_code data_dict['seller'] = seller data_dict['title'] = title data_dict['ori_price'] = ori_price data_dict['dis_price'] = dis_price data_dict['discount_percent'] = discount_percent save_date(data_dict) def save_date(item_info): sql = f"""select count(*) from items where item_code = {item_info['item_code']};""" cursor.execute(sql) result = cursor.fetchone() if result[0] == 0 : sql = f""" insert into items (item_code, title, pri_price, dis_price, discount_percent, provider) VALUES( '{item_info['item_code']}', '{item_info['title']}', {item_info['ori_price']}, {item_info['dis_price']}, {item_info['discount_percent']}, '{item_info['seller']}' ); """ sql.replace('\n', '') print(sql) cursor.execute(sql) sql = f""" insert into ranking (main_category, sub_category, item_ranking, item_code) VALUES( '{item_info['maincate_name']}', '{item_info['subcate_name']}', '{item_info['ranking']}', '{item_info['item_code']}' ); """ sql.replace('\n', '') print(sql) cursor.execute(sql) db = pymysql.connect(host='localhost', port=3306, user='root', passwd='비밀번호', db='bestproducts', charset='utf8') cursor = db.cursor() url = 'http://corners.gmarket.co.kr/Bestsellers' res = requests.get(url) soup = BeautifulSoup(res.content, 'html.parser') categories = soup.select('div.gbest-cate > ul.by-group > li') for category in categories : maincate_name = category.select_one('a').get_text() maincate_url = "http://corners.gmarket.co.kr" + category.select_one('a')['href'] subcategories(maincate_url, maincate_name)
-
미해결15일간의 빅데이터 파일럿 프로젝트
hdfs dfs-ls -R /pilot-pjt/collect/car-batch-log에 디렉토리가 없다는데...이건 어떻게 해결할까요 ㅠㅠ
(사진)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터 대신 필터를 사용해야되는 특별한 상황이 어떤 상황인지 궁금합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실제 개발에 관해서..
강사님이 워낙 잘 설명해주신 덕분에 기능이나, 어떤 방식으로 돌아가는지는 잘 이해했습니다! 하지만, 개발이 아직 익숙치 않은 입장에서 고민인 것이 실제 혼자서 개발할 때 domain에서 어떤 기능까지 구현해야할지, 어떤 부분을 서비스에서 구현해야할지 저만의 기준이 없어 아직 확신이 들지 않고 각각의 클래스에서 어떤 메서드를 구현해야할지 설계하기가 힘든데 이런 부분은 어떻게 채워가는 것이 좋을까요? 어느정도 정형화 되어 있는 부분이여서 익숙해지는건가요??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
Request failed with status code 404 문제 ㅜ 도와주세요
{ "message": "Request failed with status code 404", "name": "Error", "stack": "Error: Request failed with status code 404\n at createError (http://localhost:3000/static/js/vendors~main.chunk.js:1142:15)\n at settle (http://localhost:3000/static/js/vendors~main.chunk.js:1376:12)\n at XMLHttpRequest.handleLoad (http://localhost:3000/static/js/vendors~main.chunk.js:616:7)", "config": { "url": "/api/users/register", "method": "post", "data": "{\"email\":\"123123@gmail.com\",\"password\":\"123123\",\"name\":\"dan\"}", "headers": { "Accept": "application/json, text/plain, */*", "Content-Type": "application/json;charset=utf-8" }, "transformRequest": [ null ], "transformResponse": [ null ], "timeout": 0, "xsrfCookieName": "XSRF-TOKEN", "xsrfHeaderName": "X-XSRF-TOKEN", "maxContentLength": -1, "maxBodyLength": -1 } } 로그인, 회원가입까지 만들어봤는데 둘다 안되네요. 페이지를 찾을수 없는걸로 나오는데 문제가 무엇일까요. /api/users/login/api/users/register 오타 문제도 아닌것같고.... 혼자 찾아보려다가 답이 안보여서 도움 요청합니다 ㅜㅜ 깃헙 주소도 같이 남길께요 . https://github.com/WanzGoh/Node.js_boiler-plate 감사합니다.