묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
키워드 리스트 자동완성 관련
안녕하세요 강사님,혹시 mac에서 키워드 리스트가 계속 잘려서 보이지 않는 이유는 뭔지 여쭤보고 싶습니다.. 재설치도 해봤지만 안되네요..
-
해결됨김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
WHERE절 사용에 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요쿼리를 작성하다 SELECT에 서브쿼리, 함수, 산술연산, 문자열 결합, CASE, DECODE 등 여러가지 작업을 진행하게 됩니다.이 요소를 where절에 사용하려면 select 절에 입력한 내용을 그대로 입력해야 합니다. 이런 경우 저는 쿼리를 한번 감 싸서 where절에서 별칭을 사용해서 처리하는 방식으로 많이 작성하고 있습니다. 이런 방식이 안티패턴인지, 이런 방식으로 계속 작성해도 되는지 궁금합니다. SELECT customer_name, total_purchase FROM( SELECT customer_name, SUM(price * quantity) AS total_purchase FROM order_stat GROUP BY customer_name ) A WHERE A.total_purchase >= 400000;이 케이스는 HAVING로 해결하면 되는 문제지만 이와 별개로(GROUP BY 존재여부 상관없이) 기존 SQL을 새로운 SELECT ~~ FROM (기존SQL) WHERE (별칭을 사용해서 제어) 이런 방식으로 사용해도 괜찮은 건지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
mysql 버전
[질문 내용]8.0.42버전 이상 설치하라고 하셨는데 하필 부트캠프에서 했던 프로젝트에서 8.0.41버전을 사용했어요업그레이드를 해도 41버전으로 했던 프로젝트에 지장이 없을까요?
-
미해결대규모 시스템 설계 Part 1
레디스(중앙 상태 관리 서버)에서 동시성 처리 하는 방식
동시성 제어는 분산락원자적 연산방식으로 해결한다고 설명해주셨는데,레디스 분산락의 경우, 락을 획득하려는 클라이언트가 Redis의 Set 명령어를 사용하게 되는데, 이때 NX(Not eXists) 옵션을 통해 키가 존재하지 않을 때만 값을 설정하도록 하기 때문에, 이 연산은 원자적으로 수행된다고 합니다.결론적으로 1, 2안 모두 원자적 연산을 의미하는것이라고 생각이 들어 헷갈리는데요..!혹시 어떤 의도로 말씀해주신건지 설명해주실 수 있나요?그리고 Redis를 예시로 들었을때, 레디스는 싱글 스레드 동작 방식이라서, 동시성 문제가 제어 된다고 하는데, 이 동시성 문제가 실제로 발생하는 경우는 어떻게 되는건지, redis 서버가 다중 노드일 때 발생하는건지 궁금합니다.
-
해결됨김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
work bench 말고 data grip으로 강의를 진행해도 될까요?
기존에 사용하던 database 도구를 data grip을 사용하고 있습니다.선생님의 강의를 따라가면서 data grip을 사용하면서 강의를 진행해도 문제가 없을지요?혹여나 강의중에 work bench의 상세기능을 설명하시면서 강의를 진행하시면 work bench로 따라가고 아니라면 data grip으로 따라가려 합니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
아래와 동일한 질문에 대한 추가질문입니다
selectpage_path, count(*) ashits_cnt,count(distincta.sess_id) asnet_cntfromga_sessajoinga_sess_hitsbona.sess_id = b.sess_idwherehit_type = 'PAGE'groupbypage_pathorderby2desc 저도 아래 질문글처럼 같은 방식으로 쿼리를 작성했습니다. 이전섹션인 일별 페이지 조회수와 양식이 유사해서 저한테 더 익숙했기 때문입니다 그런데 수업에서 사용한 쿼리가 제 쿼리보다 월등히 처리속도가 빠르더라고요(3s vs 4.7s). SQL숙련도가 올라가면 튜닝이라는걸 통해 처리속도를 최적화해야 한다고 들었습니다. 나중을 대비해서 익숙한 제 쿼리보다는 처리속도가 빠른 선생님 코드처럼 코드작성 습관을 바꾸는게 좋을까요?
-
미해결김영한의 실전 데이터베이스 - 기본편
SELECT 절 상관 서브쿼리 성능과 가독성.. 질문 드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)1. 2. 3. 예.[질문 내용]SELECT 절에서 상관 서브쿼리를 사용하는 것에 대해, 완전히 다른 테이블에서 간단한 정보 하나만 조회할 때 적재적소에 사용하면 괜찮다고 하셨는데상황저희 회사에서 사용하는 쿼리들을 보면, SELECT 절에서 상관 서브쿼리를 활용해 다른 테이블에서 간단한 정보를 조회하는 경우가 많습니다.예를 들어, 작성자, 요청자, 접수자 각각에 대해 이름과 부서명을 조회할 때, 각 항목마다 서브쿼리가 사용됩니다.작성자 이름: (SELECT name FROM EMP WHERE emp_id = main.writer_id)작성자 부서: (SELECT dept_name FROM DEPT WHERE dept_id = main.writer_dept_id)요청자 이름, 접수자 이름 등도 동일한 방식질문이렇게 PK 기준으로 조건을 걸고 조회하는 서브쿼리가 여러개 들어가도 성능상 괜찮을까요?조인으로 처리하면 조인 테이블이 많아져 쿼리가 복잡해질 것 같은데. 이럴 경우 서브쿼리 방식이 더 적절한가요?만약 이 방식이 성능상 좋지 않다면, 보다 나은 방법이나 현실적인 대안이 있을까요?
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
자바 강의 듣고있는데
병행해서 할까요?아니면 자바 강의를 완강하고 들을까요?
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
오라클 DB쓰는데 오라클DB는 안나올까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 영한님자바강의부터 지금까지 듣고있는 교육생입니다다름이아니라 디비강의도 해준시다고 하셔서 기댄마음으르 들어왔었는데 디비언어가 MySql이여서 혹시 오라클 DB에 대해서도 강의계획이 있으실까요?
-
미해결견고한 결제 시스템 구축
결제 이후 404 Error 발생
토스페이 결제 후 아래 사진과 같은 404에러가 발생합니다.PaymentController의 @RequestMapping("/v1/toss")를 주석 처리 후 실행하면 결제가 정상적으로 이루어집니다. 강의를 잘 따라갔다고 생각했는데 어디서 문제가 발생했을지 알 수 있을까요?Html파일 경로는 "src\main\resources\templates" 입니다.
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
2강에서 Aura에 파이썬으로 접속 안 됩니다.
test.py 작성 시 AuraDB에 접속이 안 되서 막혀 있습니다. 이전에도 질문해 주신 분이 계셨던 것 같은데요..env 파일에 URI, USERNAME, PASSWORD 정확히 썼고요(browser.neo4j.io 접속해서 위 정보 복사해서 붙이니 잘 되는 것 확인했습니다.)분명 제 PC 문제일 것 같은데, 유사 해결사례가 있으시면 조언부탁드립니다. 수업을 시작할 수가 없네요. ㅠㅠ(방화벽 off 시도, PC 재부팅 시도 ) <code>import os from dotenv import load_dotenv from langchain_neo4j import Neo4jGraph load_dotenv() graph = Neo4jGraph( url=os.getenv("NEO4J_URI"), username=os.getenv("NEO4J_USERNAME"), password=os.getenv("NEO4J_PASSWORD"), ) def main(): # 간단한 테스트 쿼리 result = graph.query("MATCH (n) RETURN count(n) as node_count") print(f"Neo4j 데이터베이스 내 노드 수: {result[0]['node_count']}") if __name__ == "__main__": main() <Error>Unable to retrieve routing information Traceback (most recent call last): File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\langchain_neo4j\graphs\neo4j_graph.py", line 153, in __init__ self._driver.verify_connectivity() File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\driver.py", line 1090, in verify_connectivity self._get_server_info(session_config) File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\driver.py", line 1305, in _get_server_info return session._get_server_info() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\session.py", line 183, in _get_server_info self._connect( File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\session.py", line 136, in _connect super()._connect( File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\workspace.py", line 186, in _connect target_db = self._get_routing_target_database( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\workspace.py", line 260, in _get_routing_target_database self._pool.update_routing_table( File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\io\_pool.py", line 1025, in update_routing_table raise ServiceUnavailable("Unable to retrieve routing information") neo4j.exceptions.ServiceUnavailable: Unable to retrieve routing information During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:\VSCODE Scripts\neo4j-project\test.py", line 9, in <module> graph = Neo4jGraph( ^^^^^^^^^^^ File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\langchain_neo4j\graphs\neo4j_graph.py", line 160, in __init__ raise ValueError( ValueError: Could not connect to Neo4j database. Please ensure that the url is correctㅇㄹ
-
미해결데이터 분석 SQL Fundamentals
(공유)맥, 스키마 import
덤프 파일 다운(.backup)brew install libpq(terminal)echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrcsource ~/.zshrcln -s /opt/homebrew/opt/libpq/bin ~/'적절한 경로' (파인더에서 참조할 수 있도록 경로 설정, 기존 brew 설치 경로에서는 파인더에서 비하인드 처리되어 이를 찾을 수 없도록 되어있음)Driver Manager > Edit Driver 'PostgreSQL' > Local Client 탭에서 ~/'적절한 경로' 로 선택 스키마 import 완료(최종사진첨부)
-
미해결비전공자의 전공자 따라잡기 - 데이터베이스,SQL
설치오류 질문드립니다.
MySQL 설치 중 설치 오류가 발생하여 로그 첨부드립니다. Beginning configuration step: Writing configuration fileSaving my.ini configuration file...Saved my.ini configuration file.Ended configuration step: Writing configuration fileBeginning configuration step: Updating Windows Firewall rulesAdding a Windows Firewall rule for MySQL80 on port 3306.Attempting to add a Windows Firewall rule with command: netsh.exe advfirewall firewall add rule name="Port 3306" protocol=TCP localport=3306 dir=in action=allow확인됨Successfully added the Windows Firewall rule.Adding a Windows Firewall rule for MySQL80 on port 33060.Attempting to add a Windows Firewall rule with command: netsh.exe advfirewall firewall add rule name="Port 33060" protocol=TCP localport=33060 dir=in action=allow확인됨Successfully added the Windows Firewall rule.Ended configuration step: Updating Windows Firewall rulesBeginning configuration step: Adjusting Windows serviceAttempting to grant the required filesystem permissions to the 'NT AUTHORITY\NetworkService' account.Granted permissions to the data directory.Adding new serviceNew service addedEnded configuration step: Adjusting Windows serviceBeginning configuration step: Initializing database (may take a long time)Attempting to run MySQL Server with --initialize-insecure option...Starting process for MySQL Server 8.0.42...Starting process with command: C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure=on --lower-case-table-names=1...C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.42) initializing of server in progress as process 43732mysqld: File '.\媛뺤튂??bin.index' not found (OS errno 2 - No such file or directory)The newly created data directory C:\ProgramData\MySQL\MySQL Server 8.0\Data\ by --initialize is unusable. You can remove it.AbortingC:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.42) MySQL Community Server - GPL.Process for mysqld, with ID 43732, was run successfully and exited with code 1.Failed to start process for MySQL Server 8.0.42.Database initialization failed.Ended configuration step: Initializing database (may take a long time)
-
미해결비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
강의 내용을 블로그에 정리해도 괜찮을까요?
강사님 안녕하세요. 😁강사님의 MySQL 성능 최적화 강의를 블로그에 정리하여 기록하고 싶은데 가능할지 여쭤보고 싶습니다. 강의 자료를 참고하여 제가 이해한대로 정리하고, 저의 실습 화면을 첨부하는 식으로 정리하려 합니다. 또한 출처를 분명히 표기하겠습니다.다만 글의 전체적인 흐름이나 내용이 강의를 기반으로 한 것일거라.. 조심스러워 여쭙습니다. 항상 좋은 강의 제공해 주셔서 진심으로 감사드립니다.
-
미해결옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트
이유가 궁금합니다 (DI 방법 3가지 !)
@Autowired 의 방법이1. 세터 주입방식2. 필드 주입방식생성자 주입방식으로 바꼈다고 하시는데2번에서 3번으로 넘어간 이유 한참 고민해봤는데1번의 장점을 가져올려고 하지 않았나??아무나 접근할수 있다는 단점도 되지만, 테스트나 이런거할때 접근이 쉬우니까 테스트도 편하다?근데 2번은 private이라 접근이 불편하다? 힘들다? 단점이 있어서 그 단점을 보완하는거 아닌가 선생님 답변이 궁금합니다
-
미해결옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트
선생님 질문있습니다 !
선생님은 보니까 디버그창?? 실행창?에 글자가 나오는데저는 이렇게 글자가 깨지게 나오는데 왜그런걸까요...? ㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
DISTINCT의 행 개수와 COUNT(DISTICNT )의 결과가 왜 차이나는지 궁금합니다.
SELECT DISTINCT birthCity FROM players로 한 경우 내려서 확인해보면 행이 4428까지 있는데SELECT COUNT(DISTINCT birthCity) FROM players의 결과는 4427로 나와서 왜 그렇게 나오는지 그 이유가 궁금합니다.
-
해결됨강의 하나로 끝내는 백엔드 모든 지식!
강의 자료 PDF 제공 가능 여부 문의
안녕하세요 어제 강의를 신청하여 시작하였습니다. 노션으로 강의자료를 제공해주시던데.. 혹시 PDF 자료로 일괄적으로 제공이 가능하신가요? 인쇄물로 공부하고 싶어서 그렇습니다. 안녕하세요! 수강 중 궁금한 점이 생겼을 때, 어떻게 질문해야 원하는 답변을 더 빠르고 정확하게 얻을 수 있을까요? 여러분의 소중한 질문이 더 효과적으로 해결될 수 있도록, 몇 가지 질문 방법을 안내해 드릴게요!1. 무엇이 궁금한지 명확하게 알려주세요! 🎯어떤 강의 내용에 대한 질문인가요?예: "섹션 3, 챕터 11: 인증과 인가 제대로 알기 강의 내용 중 JWT 토큰 발급 과정에서 궁금한 점이 있습니다."어떤 목표를 달성하고 싶으셨나요? / 어떤 결과를 예상하셨나요?예: "서버에서 토큰을 정상적으로 발급받아 클라이언트에 전달하는 것을 목표로 했습니다."2. 충분한 정보를 함께 공유해주세요! 💾시도해본 내용 (중요! ⭐):이 문제를 해결하기 위해 어떤 노력을 해보셨는지 알려주세요.예: "구글에 'JWT 토큰 만료 해결 방법'을 검색해서 몇 가지 글을 읽어봤지만, 제 상황에 적용하기 어려웠습니다." 또는 "강의 노트를 다시 살펴보며 OOO 개념을 이해하려고 했는데, XXX 부분이 명확하지 않습니다."여러분이 이해하고 있는 내용 (개념 질문 시):단순히 "OOO이 뭐예요?" 보다는, "OOO은 XXX라고 이해했는데, 그렇다면 YYY 상황에서는 어떻게 적용되나요?" 와 같이 여러분의 생각을 함께 공유해주시면 더 깊이 있는 답변이 가능합니다.3. 질문은 명료하고 간결하게! ✨한 번에 한 가지 핵심 질문을 중심으로 작성해주세요. 여러 질문이 있다면 나눠서 질문해주시는 것이 좋습니다.가급적 맞춤법과 띄어쓰기를 지켜주시면 질문을 이해하는 데 큰 도움이 됩니다.질문 제목은 내용을 유추할 수 있도록 명확하게 작성해주세요.나쁜 예: "질문있습니다ㅠㅠ"좋은 예: "섹션5 챕터22 도커 이미지 빌드 시 COPY 명령어 오류 문의"4. 질문 전, 혹시 이미 답변이 있지는 않을까요? 🔍강의 Q&A 게시판이나 관련 커뮤니티에서 비슷한 질문이 이미 있었는지 검색해보는 센스!
-
해결됨Real MySQL 시즌 1 - Part 1
복합 index 문의
안녕하세요, 강의 잘 듣고 있습니다. 04 페이징 쿼리 작성 강의 > 데이터 개수 기반 방식 (동등 조건 사용 시) (9:36 부근) 에 나온 예시에 대한 질문입니다. KEY index_userid_id (user_id, id)로 인덱스가 있는데요, user_id +id 가 아닌, user_id만 인덱스로 걸어도 N회차 쿼리가 잘 동작 할까요? where 절에 user_id, id를 사용하고, ORDER BY 에 id가 있기 때문에 user_id + id 인덱스가 필요한 걸까요? 조금 더 자세히 알려주시면 감사하겠습니다.
-
해결됨Real MySQL 시즌 1 - Part 1
강의
안녕하세요, ppt 자료제공이 안되는 건가요?일년 전 문의 글이 있어보니, 문제가 있어 당장에 공개를 안하고 있다고 하신글을 봤늗네 아직도 해결 되지 않으신걸까요?구매하였는데, 당황스럽네요...