묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
안녕하세요. 수강 기간 연장 가능할까요?
10월 말에 시험을 잡아놓고 준비하고 있었는데 회사 업무로 바빠져서 부득이하게 연장을 요청드리고 싶습니다.확인 후 조치해주시면 감사드리겠습니다 ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
33-01-jest 실습 도중 에러가 발생합니다.
콘솔 메시지jest.config.jspackage.json라이브러리들을 전부 설치하고 버전도 맞춰 보았는데 "Cannot use import statement outside a module"이 에러가 뜨면서 테스트가 진행이 되지 않습니다.무슨 문제인지 모르겠습니다.
-
미해결스프링부트 시큐리티 & JWT 강의
실수로 google auth 시크릿 키를 깃에 업로드 했어요
업로드 하고 구글 메일로 시크릿키가 노출되었다고 메일이 와서 10분 내로 대시보드에 있는 프로젝트를 닫았는데, 30일 뒤에 닫힌다고 알람이 오고, 다시 대시보드를 보니까 사진과 같이 뜨던데 이후에 문제가 발생할까요...?ㅠㅠㅠㅠ
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 전이
영속성 전이를 사용해야할 경우에 대해서 2가지 조건을 언급하셨는데,1) 단일 소유자일 때2) parent와 child의 lifecycle이 유사할 때, 그러면, 영속성 전이가 필요 없는 경우는게시판에서 글과 댓글이 있을 때, 글과 댓글이 생명주기가 같지 않을 경우, 예를 들어, 글이 삭제되었어도, 데이터 수집을 위해 댓글은삭제되지 않는 다는 정책이 있다면, 굳이 영속성 전이가 필요없을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL DB 바로 조회
JPQL를 데이터를 조회하면, DB에 먼저 조회한 후, 영속성 컨텍스트에 이미 동일한 엔티티가 있으면, DB에서 조회한 데이터를 버리고, 이미 있는 엔티티를 반환한다고 알고 있습니다.만약, 기존 엔티티를 새로 검색한 엔티티로 대체한다면, 영속성 컨텍스트에 수정 중인 데이터가 사라질 수 있어, 위험하다고 하는데, 그러면, 조회시 수정 중인 데이터가 조회되어서, 의도치 않는 데이터가 조회될 수 있지 않나요? 오히려 수정 중인 데이터 대신 새로 조회한 데이터로 대체하는게 좋지 않을까 싶은데, 혹시, DB에서 조회한 데이터를 버리고, 이미 있는 엔티티를 반환하는게 더 장점인 구체적인 예시가 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 전이 관련해서 궁금한 점이 있습니다.
Child child1 = new Child(); Child child2 = new Child(); Parent parent = new Parent(); child1.setParent(parent); // 필수? child2.setParent(parent); // 필수? parent.getChildren().add(child1); parent.getChildren().add(child2); em.persist(parent); Parent와 Child 가 양방향 관계일 때,cascade를 persist 설정을 해줄 경우, 1번의 persisten 호출로 child와 parent 를 DB에 저장하는 것 뿐이지, 서로가 서로를 set은 해줘야 하는 건가요?
-
미해결스프링 부트 - 핵심 원리와 활용
사이드 프로젝트를 만드려고 하는데 어느편까지 봐야할까요?
사이드 프로젝트를 만드려고 하는데 어느편까지 보고 만드는게 좋을까요?강의를 다 듣고 사이드 하기에는 좀 늦을 것 같아서...
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
사이드 프로젝트를 만드려고 하는데 어느편까지 봐야할까요?
사이드 프로젝트를 만드려고 하는데 어느편까지 보고 만드는게 좋을까요?강의를 다 듣고 사이드 하기에는 좀 늦을 것 같아서...
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
실무에서 비교적 자주 사용될 수 있는 연관관계
강의와 책 종합해서 정리하면,실무에서 비교적 자주 사용될 수 있는 연관관계는1:1 - 단방향, 양방향다:1 - 단방향, 양방향밖에 없는 것 같은데, 맞을까요? 다:다는 일대다, 다대일로 관계를 풀어야 하고,1:다의 단방향은 이상한 구조이고,1:다의 양방향은 존재하지 않고, 대신 다:1 양방향 매핑을 사용해서, 결국 위와 같은 연관관계만 남는게 아닌가 싶어서 여쭤봅니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
코드지갑 저장할 떄 오류가 나요
오류가 생기는 이유는 무엇인가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계 주인 정하기
다:1, 1:다, 1:1, 다:다 등 어느 경우든지 간에 양방향 관계라면, 연관 관계의 주인을 정해야 하는 건가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
준영속상태로 변경된 엔티티의 관리
엔티티의 생명주기 공부하다 궁금한점이 있습니다.준영속상태로 변경된 경우, 엔티티는 계속 메모리에 올라와 있나요? 아니면 CG 처럼 누군가가 불필요하다고 판단되면 엔티티를 삭제 하나요?
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
커넥션 풀 사용 시 세션 생성 시점
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]커넥션 풀이 10개의 커넥션을 생성하면 세션도 10개가 만들어진다고 하셨는데, 커넥션 풀에 커넥션을 생성하는 시점에 세션이 만들어지는 것인지 아니면 클라이언트가 커넥션 풀의 커넥션을 꺼내서 사용할 때 세션이 만들어지는 것인지 궁금합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
h2 database 연결 방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]h2 데이터베이스와 스프링을 연결할 때, application.yml 파일에 datasource 정보를 넣어 연결하는 방법과 해당 강의에서 진행하는 DBConnectionUtil 클래스를 만들어 직접 연결하는 방법이 같은 기능을 수행하는 건가요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
VPC NACL 관련 질문이 있습니다.
EC2 웹서버 운영시 외부에서 Client가 접속 후 리턴 트래픽을 받을 때 NAT를 사용하므로 임시포트 1024-65535를 사용-> 이라고 설명해주셨는데 publicIP 를 privateIP 로 전환해주는 1:1 NAT 말고 다른것을 이야기하는건가요? 잘 이해가 안됩니다. 리턴 트래픽을 받을때는 목적지 포트가 클라이언트가 요청을 보낸 프로세스의 포트일테고, 해당 포트를 허용해주면 되는거아닌가요? NAT 가 왜 나오는지 잘 이해가 안됩니다.
-
미해결[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
9:11에서 저는 왜 에러가 안날까요?
declare function forEach( arr: number[], callback: (el: number) => undefined ): void; let target: number[] = []; forEach([1, 2, 3], (el) => { target.push(el); }); forEach([1, 2, 3], (el) => target.push(el));두번째 forEach에서는 제로초님과 같은 에러('number' 형식은 'undefined' 형식에 할당할 수 없습니다.)가 나는데 첫번째 forEach는 에러 ('void' 형식은 'undefined' 형식에 할당할 수 없습니다.)가 안납니다. 설정의 차이일까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
queryRunner fineOne 리턴타입
queryRunner.manager.findOne의 리턴 타입이 {id: string} | null 로 추론되는데 저만 이렇게 추론되는 걸까요? (webstorm 사용 중입니다!)
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
beautiful soup 명령 실행 오류 관련 문의
안녕하세요 파이썬 입문과크롤링 기초 부트캠프 수강 중 beautiful soup 명령 (크롤링) 실행 오류 발생하여 문의드립니다. beautiful soup 명령 실행 시 아래와 같은 오류가 발생하네요. (아나콘다 및 bs 재설치 해도 동일 문제 발생) 개인 노트북으로 학습 할 때는 잘되는데 회사 pc로 하니 이런 오류가 발생하네요..사정상 회사pc로도 학습을 해야하는데 난감하네요 도움 부탁드립니다. [명령문]import requestsfrom bs4 import BeautifulSoupres = requests.get('https://davelee-fun.github.io/blog/crawl_test_css.html')soup = BeautifulSoup(res.content, 'html.parser')[오류내용]SSLCertVerificationError Traceback (most recent call last) File ~\AppData\Local\anaconda3\Lib\site-packages\urllib3\connectionpool.py:714, in HTTPConnectionPool.urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw) 713 # Make the request on the httplib connection object. --> 714 httplib_response = self._make_request( 715 conn, 716 method, 717 url, 718 timeout=timeout_obj, 719 body=body, 720 headers=headers, 721 chunked=chunked, 722 ) 724 # If we're going to release the connection in ``finally:``, then 725 # the response doesn't need to know about the connection. Otherwise 726 # it will also try to release it and we'll have a double-release 727 # mess. File ~\AppData\Local\anaconda3\Lib\site-packages\urllib3\connectionpool.py:403, in HTTPConnectionPool._make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw) 402 try: --> 403 self._validate_conn(conn) 404 except (SocketTimeout, BaseSSLError) as e: 405 # Py2 raises this as a BaseSSLError, Py3 raises it as socket timeout. File ~\AppData\Local\anaconda3\Lib\site-packages\urllib3\connectionpool.py:1053, in HTTPSConnectionPool._validate_conn(self, conn) 1052 if not getattr(conn, "sock", None): # AppEngine might not have `.sock` -> 1053 conn.connect() 1055 if not conn.is_verified: File ~\AppData\Local\anaconda3\Lib\site-packages\urllib3\connection.py:419, in HTTPSConnection.connect(self) 417 context.load_default_certs() --> 419 self.sock = ssl_wrap_socket( 420 sock=conn, 421 keyfile=self.key_file, 422 certfile=self.cert_file, 423 key_password=self.key_password, 424 ca_certs=self.ca_certs, 425 ca_cert_dir=self.ca_cert_dir, 426 ca_cert_data=self.ca_cert_data, 427 server_hostname=server_hostname, 428 ssl_context=context, 429 tls_in_tls=tls_in_tls, 430 ) 432 # If we're using all defaults and the connection 433 # is TLSv1 or TLSv1.1 we throw a DeprecationWarning 434 # for the host. File ~\AppData\Local\anaconda3\Lib\site-packages\urllib3\util\ssl_.py:449, in ssl_wrap_socket(sock, keyfile, certfile, cert_reqs, ca_certs, server_hostname, ssl_version, ciphers, ssl_context, ca_cert_dir, key_password, ca_cert_data, tls_in_tls) 448 if send_sni: --> 449 ssl_sock = _ssl_wrap_socket_impl( 450 sock, context, tls_in_tls, server_hostname=server_hostname 451 ) 452 else: File ~\AppData\Local\anaconda3\Lib\site-packages\urllib3\util\ssl_.py:493, in _ssl_wrap_socket_impl(sock, ssl_context, tls_in_tls, server_hostname) 492 if server_hostname: --> 493 return ssl_context.wrap_socket(sock, server_hostname=server_hostname) 494 else: File ~\AppData\Local\anaconda3\Lib\ssl.py:517, in SSLContext.wrap_socket(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, session) 511 def wrap_socket(self, sock, server_side=False, 512 do_handshake_on_connect=True, 513 suppress_ragged_eofs=True, 514 server_hostname=None, session=None): 515 # SSLSocket class handles server_hostname encoding before it calls 516 # ctx._wrap_socket() --> 517 return self.sslsocket_class._create( 518 sock=sock, 519 server_side=server_side, 520 do_handshake_on_connect=do_handshake_on_connect, 521 suppress_ragged_eofs=suppress_ragged_eofs, 522 server_hostname=server_hostname, 523 context=self, 524 session=session 525 ) File ~\AppData\Local\anaconda3\Lib\ssl.py:1108, in SSLSocket._create(cls, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, context, session) 1107 raise ValueError("do_handshake_on_connect should not be specified for non-blocking sockets") -> 1108 self.do_handshake() 1109 except (OSError, ValueError): File ~\AppData\Local\anaconda3\Lib\ssl.py:1379, in SSLSocket.do_handshake(self, block) 1378 self.settimeout(None) -> 1379 self._sslobj.do_handshake() 1380 finally: SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1006) During handling of the above exception, another exception occurred: MaxRetryError Traceback (most recent call last) File ~\AppData\Local\anaconda3\Lib\site-packages\requests\adapters.py:486, in HTTPAdapter.send(self, request, stream, timeout, verify, cert, proxies) 485 try: --> 486 resp = conn.urlopen( 487 method=request.method, 488 url=url, 489 body=request.body, 490 headers=request.headers, 491 redirect=False, 492 assert_same_host=False, 493 preload_content=False, 494 decode_content=False, 495 retries=self.max_retries, 496 timeout=timeout, 497 chunked=chunked, 498 ) 500 except (ProtocolError, OSError) as err: File ~\AppData\Local\anaconda3\Lib\site-packages\urllib3\connectionpool.py:798, in HTTPConnectionPool.urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw) 796 e = ProtocolError("Connection aborted.", e) --> 798 retries = retries.increment( 799 method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2] 800 ) 801 retries.sleep() File ~\AppData\Local\anaconda3\Lib\site-packages\urllib3\util\retry.py:592, in Retry.increment(self, method, url, response, error, _pool, _stacktrace) 591 if new_retry.is_exhausted(): --> 592 raise MaxRetryError(_pool, url, error or ResponseError(cause)) 594 log.debug("Incremented Retry for (url='%s'): %r", url, new_retry) MaxRetryError: HTTPSConnectionPool(host='davelee-fun.github.io', port=443): Max retries exceeded with url: /blog/crawl_test_css.html (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1006)'))) During handling of the above exception, another exception occurred: SSLError Traceback (most recent call last) Cell In[3], line 4 1 import requests 2 from bs4 import BeautifulSoup ----> 4 res = requests.get('https://davelee-fun.github.io/blog/crawl_test_css.html') 5 soup = BeautifulSoup(res.content, 'html.parser') File ~\AppData\Local\anaconda3\Lib\site-packages\requests\api.py:73, in get(url, params, **kwargs) 62 def get(url, params=None, **kwargs): 63 r"""Sends a GET request. 64 65 :param url: URL for the new :class:`Request` object. (...) 70 :rtype: requests.Response 71 """ ---> 73 return request("get", url, params=params, **kwargs) File ~\AppData\Local\anaconda3\Lib\site-packages\requests\api.py:59, in request(method, url, **kwargs) 55 # By using the 'with' statement we are sure the session is closed, thus we 56 # avoid leaving sockets open which can trigger a ResourceWarning in some 57 # cases, and look like a memory leak in others. 58 with sessions.Session() as session: ---> 59 return session.request(method=method, url=url, **kwargs) File ~\AppData\Local\anaconda3\Lib\site-packages\requests\sessions.py:589, in Session.request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json) 584 send_kwargs = { 585 "timeout": timeout, 586 "allow_redirects": allow_redirects, 587 } 588 send_kwargs.update(settings) --> 589 resp = self.send(prep, **send_kwargs) 591 return resp File ~\AppData\Local\anaconda3\Lib\site-packages\requests\sessions.py:703, in Session.send(self, request, **kwargs) 700 start = preferred_clock() 702 # Send the request --> 703 r = adapter.send(request, **kwargs) 705 # Total elapsed time of the request (approximately) 706 elapsed = preferred_clock() - start File ~\AppData\Local\anaconda3\Lib\site-packages\requests\adapters.py:517, in HTTPAdapter.send(self, request, stream, timeout, verify, cert, proxies) 513 raise ProxyError(e, request=request) 515 if isinstance(e.reason, _SSLError): 516 # This branch is for urllib3 v1.22 and later. --> 517 raise SSLError(e, request=request) 519 raise ConnectionError(e, request=request) 521 except ClosedPoolError as e: SSLError: HTTPSConnectionPool(host='davelee-fun.github.io', port=443): Max retries exceeded with url: /blog/crawl_test_css.html (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1006)')))
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
CSS 첫번째 과제 관련 질문입니다!
htmlcss안녕하세요! 얼마 전부터 강의 결제해서 보고 있는 코린이입니다.언제나 도움 많이 받고 있습니다. css 첫번째 과제로 웹페이지 구현하던 중 질문이 생겼는데요,전화번호 사이에 들어가는 '-' 부호는 어떻게 코드를 작성하면 될지 알 수 있을까요?픽셀 크기가 지정되어있어 뭔가 코드를 쓰는 것 같기는 한데 감이 안 오더라구요ㅠㅠ그리고 지금까지 구현한 내용도 이 김에 검토 받고 싶습니다! 확인해주시면 감사하겠습니다 :)
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
섹션 6에 장난꾸러기 질문 있습니다!
장난꾸러기 문제를 풀었는데 테스트케이스들은 잘 나오는데 채점을 돌리면 오답으로 나와서요,혹시 어디가 문제인지 확인해주실 수 있나요...?코드 텍스트는 아래에 첨부합니다!import java.util.Scanner; public class Kids { public static void solution(int[] arr){ StringBuilder sb = new StringBuilder(); int index = 0; for (int i = 0; i < arr.length-1; i++) { if(arr[i]>arr[i+1]){ if(index==0) { sb.append(i+1).append(" "); //철수 index++; } else sb.append(i+2).append("\n"); //철수 짝꿍 } } System.out.println(sb); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) arr[i] = sc.nextInt(); solution(arr); } }