묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결다양한 사례로 익히는 SQL 데이터 분석
퍼널 질문드립니다.
안녕하세요해당 데이터셋에는 퍼널의 순서가 있다보니 각단계별 전환율을 구할 수 있었는데요, 다른 데이터의 경우 퍼널의 순서가 없다면 어떻게 분석을 해야할까요? 예를들어 "로그인 > 장바구니 >구매"순서가 아닌"로그인 > 구매" 이렇게 장바구니와 구매를 선택할수 있는 허브역할을 할 수도 있다고 생각되는데요.이부분에서 개인적으로 공부하는데 막히더군요
-
미해결실무 활용 SQL 데이터 분석: 효율적인 데이터 처리와 인사이트 도출
12_5 질문3
3번 질문에서 1년 동안 완전히 이용 가능한 listings를 찾기 위해서 SELECT COUNT(DISTINCT id)FROM openairbnb.listings AS lWHERE l.availability_365 = 365;1년 이용가능한 날이 365일인 고유한 id를 추출하는 쿼리를 이용하면 왜 답이 다르게 나온건지 모르겠습니다.
-
미해결실무 활용 SQL 데이터 분석: 효율적인 데이터 처리와 인사이트 도출
12_6강 질문
4번 문제를 혼자 먼저 풀어볼 때,SELECT COUNT(DISTINCT l.id)FROM openairbnb.listings AS lWHERE l.availability_365 = 0;이렇게 풀어서 같은 답이 나왔는데 해답에서는 서브쿼리를 이용하는 이유가 뭔지, 차이점이 있는지 궁금합니다.
-
미해결오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
Buffer Cache를 통한 데이터 Access 에서 DBA 정보를 어떻게 알아내는지 궁금합니다.
Buffer Cache 개념 및 Buffer Cache Access 메커니즘의 이해 강의 6분 30초 쯤 나오는 내용에 질문이 있습니다.Select * from customer where id = '005'위의 쿼리가 있을 때 아래와 같은 설명이 있습니다."설명에서는 Data Dictionary 등의 내부 정보를 통해서 Custormer 테이블의 id='005' 데이터가 있는 Block의 DBA 정보를 알아냄" 그런데 이 내용이 이해가 되지 않습니다.조건 값으로 어떻게 Block 3에 있는지 알 수 있는지요?풀스캔을 제외하고 바로 찾으려면 인덱스의 ROWID 값을 이용해야 하지 않나요?
-
미해결오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
random i/o와 full scan 문제 질문
위에 조건에서 random i/o와 full scan 모두 디스크 i/o 로 가정했다고 하면 적게 블록을 읽은 random i/o 가 더 빠른게 아닌가요?해당 설명이 인덱스에서 백만건 레코드를 찾았을 경우를 뜻하는 건지 모르겠습니다
-
해결됨Real MySQL 시즌 1 - Part 1
ORDER BY가 필요한 이유
데이터 개수 기반 방식 (동등 조건 사용시) 에서 이미 인덱스를 설정 했기 때문에KEY ix_userid_id (user_id, id)따로 후에 ORDER BY id를 해주지 않아도 정렬이 되어 있을 것이라고 예상되는데 작성해 줘야 하는 이유가 무엇일까요
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
mysql 설치가 되지 않습니다.
아래와 같은 에러로 mysql의 설치가 되지 않습니다. 분명, 제어판에서 mysql을 모두 삭제하고 다시 재설치를 진행하였는데도 불구하고, 계속해서 에러가 발생하여 강의 진행이 어렵습니다. Beginning configuration step: Writing configuration file Saving my.ini configuration file... Saved my.ini configuration file. Ended configuration step: Writing configuration file Beginning configuration step: Updating Windows Firewall rules Adding a Windows Firewall rule for MySQL92T 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 MySQL92T 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 rules Beginning configuration step: Adjusting Windows service Attempting to grant the required filesystem permissions to the 'NT AUTHORITY\NetworkService' account. Granted permissions to the data directory. Granted permissions to the install directory. Adding new service New service added Ended configuration step: Adjusting Windows service Beginning configuration step: Initializing database (may take a long time) Attempting to run MySQL Server with --initialize-insecure option... Starting process for MySQL Server 9.2.0... Failed to start process for MySQL Server 9.2.0. Database initialization failed. Ended configuration step: Initializing database (may take a long time)
-
미해결견고한 결제 시스템 구축
가상의 Checkout 기능 구현 중 질문
가상의 Checkout 기능 구현 문의 질문드립니다. (13:40~)R2DBC 를 사용해본 적이 없어서실습환경 제약으로 강의 흐름따라 코드만 보다가 궁금한게 있는데요. 1) save 인터페이스가 JDBC 처럼 반환값 Intger(or Long 등 Number) 가 기본일까요? 2) func save 반환값으로 Mono<Void> 반환하는데, JPA Repository 인터페이스의 save 처럼 save 된 객체( JPA의 Entity 에 해당 )에 대해 updated 값이 반영되게 되나요? 강의에선 따로 domain 과 DB dto(or entity) 구분을 안해서가령, updated_at 이나 created_at 컬럼 값을 갖는 경우, DB default timestamp 로 부여될 건데, call by value 로 DB 로 전달된 객체의 필드 값이 자동 갱신처리되기 때문에Mono<Void> 반환이 CRUD 의 일반적인 패턴인건지 궁금합니다.
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
강의 결과 질문 - SQLD, 데이터베이스 설계, 프로젝트 구축 하여 취업
안녕하세요.잔재미코딩님 인트로만 몇가지 보다가, 강의 12개 구매한 유저 입니다.저를 비롯하여 많은 분이 궁금하실만한 내용을 문의 드립니다! 현재 저는-python 기반의 django프로젝트를 따라치는 것으로만 블로그, 게시판만 만들었습니다.막상 혼자 만들려고 하면 막막해서 익숙해질때까지 해보자는 마음으로 약 10개정도 처음부터 끝까지 따라하고 따라했는데도 리팩토링은 가능하지만, 혼자 구축하기는 약간 어려움이 있습니다.-SQL의 경우에도 기초 구문이나 명령문 실행으로 인한 결과등은 알아도 데이터 설계는 5개 이상만 연결하려고 해도 약간은 막막하더라구요.총 학습기간은 파이썬 + 장고 + sql +html, css, javascript 로만 처음부터 지금까지 약 2년정도는 공부한 것 같은데, 방향성이 모호해서 그랬는지, 너무 덕지덕지 가져와서 기워붙였는지 실질적으로 스스로 할 수 있는 것은 많이 없습니다. 이런 상태에서 잔재미코딩 님의 강의 12강의 모두 학습하고 나서 기대할 수 있는 결과로는-sqld 가뿐히 합격할 정도-데이터베이스 어떤 모습이여도 너무 고급정도가 아닌 중급정도라도 수월하게 설계하고 만들 수 있을 정도-원하는 프로젝트 왠만한 것은 다 만들 수 있을까요?그렇기에 나아가서 취업적 역량을 가지고 충분히 취업할 수 있게 될까요?
-
해결됨[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
지마켓 파일 불러왔는데, 테이블이 생성이 안됩니다
섹션8 - 30강 에서 시키는대로 CREATE DATABASE bestproducts USE bestproducts 하고 데이터 items, ranking 파일 불러왔는데요문제없이 실행이 되는데 테이블에 추가가 안됩니다 (새로고침 해도 안뜸)문제를 풀어볼 수가 없어서 답변 부탁드립니다
-
미해결견고한 결제 시스템 구축
docker Mysql 설정 문의
강의 초반 [5. 실습준비] 환경 설정과정에서docker mysql 설치환경이 어떻게 되는지 궁금합니다.1) vm 환경에서 linux 띄우고 그 vm 환경에서 docker mysql 실행ex) lima 등 서드파티 설정 후, 리눅스 환경에서 docker 설정 또는 macOS 에 그냥 도커 설치 후, 로컬 환경에서 컨테이너 실행? macOS 가 docker 랑 직접 호환되는건 아니라서 다른 vm 을 쓰는건 마찬가지긴한 것 같네요.[참고]`docker desktop` 의 유료 라이센스화로 실습환경(회사 PC 등) 에 따라 라이센스 이슈로 사용이 불가한 경우가 있어서테스트 구축 환경이나 참고할 레퍼런스가 있을지 궁금합니다.
-
미해결견고한 결제 시스템 구축
allOpen 설정이 잘못된 거 같습니다.
3.x 로 import 는 jakarta.* 로 되어있는데gradle 설정은 2.x 인 javax.* 로 되어있네요.
-
미해결비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
[실습] 인덱스 직접 설정해보기 / 성능 측정해보기 강의에서요.
-- 높은 재귀(반복) 횟수를 허용하도록 설정-- (아래에서 생성할 더미 데이터의 개수와 맞춰서 작성하면 된다.)SET SESSION cte_max_recursion_depth = 1000000; -- 더미 데이터 삽입 쿼리INSERT INTO users (name, age)WITH RECURSIVE cte (n) AS( SELECT 1 UNION ALL SELECT n + 1 FROM cte WHERE n < 1000000 -- 생성하고 싶은 더미 데이터의 개수)SELECT CONCAT('User', LPAD(n, 7, '0')), -- 'User' 다음에 7자리 숫자로 구성된 이름 생성 FLOOR(1 + RAND() * 1000) AS age -- 1부터 1000 사이의 랜덤 값으로 나이 생성FROM cte;-- 잘 생성됐는 지 확인SELECT COUNT(*) FROM users; SELECT n + 1 FROM cte WHERE n < 1000000 -- 생성하고 싶은 더미 데이터의 개수SELECT n + 1 이 먼저 실행되고 FROM cte WHERE n < 1000000 이부분이 실행되니까.n이 999999까지 실행되고 n + 1 =1000000 이니까 FROM cte WHERE n < 1000000이부분에 걸려서 1000000이 실행 안되는게 맞지 않나요?
-
미해결비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
커버링 인덱스(Covering Index)강의에서 질문이있습니다.
1.제가 비전공도 할수있는 데이터베이스강의를 듣고 이 강의를 듣고있는데요. user테이블에 name의 fk가 들어가는게 맞지 않나요? 빨간색 글씨로요. name id pk도 빨간색처럼 pk를 적어야 하지 않나요?아니면 name테이블과 name인덱스 테이블이 따로 있는건가요?2.인덱스가 새로운 테이블을 생성하는건가요?3.풀인덱스스캔 강의 질문있습니다.CREATE INDEX idx_name ON users (name); 이 구문이아래처럼 테이블을 미리 만드는건가요?
-
미해결비전공자도 이해할 수 있는 DB 설계 입문/실전
todo데이터 테이블 설계 강의 질문있습니다.
사용자, 임무 한명의 사용자는 여러가지의 임무를 가진다. 한가자의 임무는 여러명의 사용자를 가진다. 예를들어 양치질하기는 a사용자,b사용자,c사용자로 등록할 수 있기 때문에 상품-주문테이블처럼(아래형식처럼) 테이블 분리되어야하지 않나요? 임무 no 임무명 임무설명 데드라인 1 청소하기 청소하기 1.27 2 빨래하기 청소하기 1.27 사용자-임무 no 임무명 (외래키) 사용자(외래키) 1 1 1 1 1 2
-
해결됨비전공자도 이해할 수 있는 DB 설계 입문/실전
주문 정보 : 배송 정보의 관계에 대해 질문드립니다.
주문할 때마다 배송 정보를 새로 입력하기 때문에 주문 정보 : 배송 정보 = 1 : 1인 건 이해했습니다. 그런데 만약 주문할 때마다 배송 정보를 기본적으로 새로 입력하기는 하지만, 이전에 사용했었던 배송지를 다시 불러오는 기능이 있고, 기본 배송지를 설정하는 기능도 있다고 하면이런 경우에도 여전히 1 : 1이라고 생각하면 될까요? 관계는 동일하고 불러오거나 기본 배송지 기능은 그냥 코드로 구현하면 되는 걸까요?
-
미해결견고한 결제 시스템 구축
recovery 동시성 처리 관련 문의
recovery() 를 스케줄로 구현한 부분에 있어서 궁금증이 있습니다.설명에도 언급 되었듯이 k8s 환경과 같이 scale-out 형태로 서비스를 제공하면 동시성 이슈가 발생될 것으로 예상되는데요.단순하게 하나의 unknown order 만 생성해서 테스트로 갈음하기에는 검증이 부족하다고 느껴지는데, 동시성 검증은 어떻게 진행하셨을까요?
-
해결됨비전공자도 이해할 수 있는 DB 설계 입문/실전
카테고리 테이블의 색깔 컬럼에 #325645 이런 걸 넣는다면
만약 이렇게 색깔 컬럼에 RED 같은 걸 넣지 않고, #325645 를 위와 같이 중복해서 넣는다면, 이건 진짜 중복이라고 봐야 하나요? 진짜 중복이라는 생각은 드는데, #325645는 이미 특정 색을 지정하고 있어서 이것도 true, false처럼 생각해야 하나?라는 생각도 들고 뭔가 조금 헷갈려서 확인차 질문드립니다.
-
미해결비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
한 번에 너무 많은 데이터를 조회하는 SQL문 튜닝하기 질문입니다
만약 응답해야 되는 데이터는 "많은" 데이터인데데이터베이스에서 조회할 때는 LIMIT, WHERE로 나눠서 가져오고 애플리케이션 로직에서 합쳐서 응답하는게 나은가요?아니면 네트워크를 여러번 타는 것 보다는 이런 경우에는 한번에 가져오는게 더 나을까요?상황에 따라 다르겠지만,, 참고할만한 지침같은게 있을까 싶어서 여쭤봅니다!
-
해결됨면접 전에 알고 가면 좋을 것들 - 신입 Java 백엔드 개발자편
put과 delete의 보안이슈
put과 delete두 메소드 자체에는 보안적으로 취약한 점은 없고수정과 삭제라는 기능적인 측면에서 보안적으로 위험할 수 있다고 이해하고 있는데 맞을까요?