안녕하세요. 쿠케님 강의 너무나 잘 보고 있습니다. 쿠케님 질의응답 게시글 정독하고 있는데 1:1 멘토링 부럽지 않을만큼의 고퀄리티 답변 언제나 감사드립니다. (갬동갬동) 현재 회사에서 조회수를 RDB에만 저장하고 있습니다. 이를 강의 내용처럼 'Redis 이전 & MySql 백업'을 적용 하고 싶은데 아래 흐름대로 적용 하면 될까요? 1⃣ (개발) redis 저장 및 조회, mysql 백업 코드 작성 2⃣ (개발) 기존 MySQL 데이터를 Redis에 저장하는 마이그레이션 코드 작성 => 이렇게 일회성 마이그레이션 같은 경우 테스트 코드로 한번만 돌리는데 쿠케님은 어떤 방식으로 하시나요? 3⃣ (배포 전) 1번 코드 배포 직전에 2번 로직 실행 4⃣ (배포) 1번 코드 배포 위 방식에서 발생할 수 있는 문제점 1. 3번(마이그레이션)과 4번(배포) 사이에 조회수가 누락될 가능성 - 마이그레이션 실행 후 MySQL에는 새로운 조회수가 계속 업데이트 되지만, Redis는 아직 트래픽을 받지 않음. - 즉, 마이그레이션 실행 이후 MySQL에 새로 기록된 조회수는 Redis에 반영되지 않음 → 데이터 불일치 발생 가능. 2. 처음 Redis로 전환할 때, Redis에 캐싱되지 않은 일부 조회수가 MySQL에 계속 쿼리될 가능성이 있음. - 처음 Redis로 전환할 때, Redis에 캐싱되지 않은 일부 조회수가 MySQL에 계속 쿼리될 가능성이 있음. - 특정 조회수가 빠르게 증가하면 Hot Key 이슈 발생 가능. 조회수 누락을 최소화 하는 방법 1⃣ (개발) redis 저장 및 조회, mysql 백업 코드 작성 2⃣ (개발) 기존 MySQL 데이터를 Redis에 저장하는 마이그레이션 코드 작성 및 실행 3⃣ (1번 코드 배포 전) 더블 라이트(Double Write) 모드 개발하여 운영에 적용 4⃣ (배포) 기존 MySQL 기반 조회수 코드 제거, Redis 기반으로 전환 5⃣ (배포 후) MySQL 백업 로직 실행 및 기존 MySQL 조회 로직 완전히 제거 제가 혹여나 놓친게 있거나 더 좋은 방법이 있으면 천천히 답변 부탁드립니닷! 출처: 내 뇌 + GPT 센세
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 코테 적용 문제들은 교재에 따로 없이 강의 아래의 리트코드 주소를 통해서 확인하고 푸는 거 맞나요?? 영어로 되어있어서 질문 올려봅니다.
안녕하세요. 제가 예제 볼 때 온라인 컴파일러 사이트로 직접 작성해보면서 공부를 하는 중인데요 파이썬 if문 lst 예제를 그대로 사이트에 입력하면 ========================= lst = [1, 2, 3] if lst: print("리스트는 비어있지 않습니다.") else: print("비어있지 않습니다.") ===================== else가 예제처럼 if와 같은 열에 있지 않게 되고, 에러가 뜨더라구요. 저기서 else문 지우면 "리스트는 비어있지 않습니다." 정상으로 출력 되구요. 혹시 문법은 문제 없는데 파이썬이 버전마다 다른지 궁금합니다 https://www.tutorialspoint.com/online-programming-compilers.htm 사이트는 여기 이용 중입니다!
안녕하세요! Nest에서 Fast API로 컨버젼중입니다. Nest는 Many to Many, Many to One 등등 이러한 연관관계를 설정해서 테이블을 생성합니다. Fast API에서는 아래 코드처럼 단순히 join만 걸어두고 사용하면 되는 걸까요?? class User(Base): __tablename__ = "user" id = Column(Integer, primary_key=True, index=True) username = Column(String(256), nullable=False) password = Column(String(256), nullable=False) todos = relationship("ToDo", lazy="joined")
안녕하세요. 강의 잘 듣고 있습니다. 제가 원래 질문이 많은데 개념을 이해가 잘 되도록 쉽게 설명해 주셔서 질문 드릴게 별로 없네요. 보통 api path에 id를 추가하시는거 같은데요. 현업에서도 auto_increment나, snowflake id같은 db에서 쓰는 id를 그대로 넣고 사용하시나요? 아니면 prefix등을 추가하여 조금 더 가공을 한다든지 하시나요? 숫자만 들어가니 좀 밋밋해 보이기도 하고 알아보기도 힘들거 같기도 해서요.
안녕하세요 강사님 airflow config를 변경하기 위해 시도해보았는데 이렇게 expose를 false->true로 변경하여도 airflow web에서는 변경되지 않아서 혹시 어디가 잘못 되었는지 문의드립니다 그리고 dag인식이 느린 것 같아 dag_dir_list 값을 100으로 변경하였는데 cpu만 괜찮다면 다른 변수들은 수정할 필요가 없을까요?
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 3-8 해쉬-2 어떤 알고리즘을 학습하고 계신가요? 해쉬 여기까지 이해하신 내용은 무엇인가요? 전체 이해 완료 안녕하세요 선생님 궁금한 점이 있어요. HashTable의 경우에도 조회 성능이 최선일 경우 O(1)이고, set 자료구조에 포함되어 있는 지 여부조회도 O(1)로 이해를 했습니다! 해당 문제의 경우 set으로 변환하고 풀어도 시간복잡도 면에서 성능은 비슷하다고 봐도 될까요~? def get_absent_student(all_array, present_array): present_students_set = set(present_array) for student in all_array: if student not in present_students_set: return student
안녕하세요 선생님! 파이썬 설치 하고 확장기능 설치도 다 하고 하라고 알려주신대로 다 했는데 저는 저 함수에 대한 자동완성이 선생님처럼 안나오고 우측 처럼 나옵니다. (왼쪽 선생님 화면은 캡쳐가 막혀있는지 빈화면으로 뜨네요... 무튼 선생님 화면엔 print (value ~ ) 이런식으로 명확하게 함수에 대한 설명이 나오거든요 이거 어떻게 해결하나요?? 참고로 챗지피티한테 물어봐서 인터프리터 설정, 확장기능 활성화 여부, 인텔리센스 설정 확인, vs code 캐시 최화, json 파일 확인하고 수정까지 다 해본 상황입니다! 휴.... 크게 문제는 없지만 자동완성 되면 배우는데 도움 될 거 같아서.... 여쭤봅니다 ㅠ
문자열과 배열은 &를 생략하고 처음 *는 포인터 변수 선언에 사용되는 것 까지는 이해가 됐는데, 출력할 때, printf("입력된 문자열: %s\n", str); 이부분에서 문자열의 값을 출력하기 위해서는 printf("입력된 문자열: %s\n", *str ); 이렇게 *를 붙여야 하는게 아닌가요? &처럼, 주소가 담고있는 값을 출력할 때 쓰이는 *도 문자열과 배열에서는 생략하는건가요??