목록분류 전체보기 (25)
스터디
샤딩(Sharding)은 데이터베이스나 데이터 저장소의 데이터를 여러 개의 작은 단위(Shard)로 나누어 저장하는 수평 분할 기술이다. 이를 통해 데이터의 부하를 분산시키고 확장성을 높이는 방법이다. 샤딩의 개념데이터베이스에 저장되는 데이터가 점점 많아지면 단일 서버에 모든 데이터를 저장하고 처리하는 것이 불가능해질 수 있다. 이때 데이터를 여러 개의 서버나 노드에 분산 저장하면 각 노드가 처리해야 할 데이터의 양이 줄어들어 성능과 처리 속도를 개선할 수 있다. 이런 식으로 데이터를 나누어 저장하는 것을 샤딩(Sharding)이라고 하며, 나누어진 각 데이터의 단위를 샤드(Shard)라고 부른다. 샤딩의 주요 목적수평 확장(Scalability): 데이터를 여러 노드에 나누어 저장하면, 데이터가 증..
Redis를 공부할 때 ChatGPT와 한 대화를 정리한 글입니다. Redis vs MySQL1. 데이터 저장 방식Redis메모리(RAM)를 사용하여 데이터를 저장한다.키-값(Key-Value) 형태의 데이터 구조를 주로 사용하며, Has, List, Set 등 다양한 자료구조를 지원한다.휘발성(Volatile) 데이터베이스로, 서버가 재시작되면 데이터가 날아갈 수 있다. 하지만 지속성을 위해 디스크에 백업할 수 있다.빠른 읽기/쓰기를 제공하지만, 메모리 용량에 한계가 있다. MySQL데이터를 디스크(파일 시스템)에 저장한다.관계형 데이터베이스로, 테이블을 사용해 데이터를 체계적으로 저장하고 관리한다.비휘발성(Non-Volatile) 데이터베이스로, 서버가 재시작되어도 데이터가 유지된다.디스크 I/O로..

여름에 혼자서 만들어보았던 공연 예매 시스템 코드들이 날아가서...완성 후 만들어두었던 피피티라도 올립니다ㅠㅠ 서버: nest.js프론트: ReactDB: MySQL
join 함수는 매개변수로 들어온 리스트에 있는 요소를 합쳐서 하나의 문자열로 바꾸어 반환한다. > ''.join(리스트) 매개변수로 들어온 ['a', 'b', 'c'] 이런 식의 리스트를 'abc'의 문자열로 합쳐서 반환해준다. hello = ['안', '녕', '하', '세', '요'] print(hello) # ['안', '녕', '하', '세', '요'] strHello = ''.join(hello) print(strHello) # 안녕하세요 > '구분자'.join(리스트) 리스트의 값과 값 사이에 구분자를 넣어서 하나의 문자열로 합쳐서 반환해준다. hello = ['안', '녕', '하', '세', '요'] print(hello) # ['안', '녕', '하', '세', '요']..
문자열을 입력받은 후 변수에 저장 - input() str1 = input() # "hello" 입력 print(str1) # hello str2 = input('문자열을 입력해 주세요: ') # 문자열을 입력해 주세요: hello print(str2) # hello 숫자를 입력받은 후 변수에 저장 - int(input()), float(input()), ··· n = int(input('숫자를 입력해 주세요: ')) # 숫자를 입력해 주세요: 3 print(n) # 10 > split() 문자열을 일정한 규칙으로 잘라서 리스트로 만들어 주는 함수 문자열.split() 문자열.split('구분자') 문자열.split('구분자', 분..

콜드 스타트 문제 추천 시스템을 사용하기 위해서는 기존 데이터가 반드시 필요한데, 새로 시작할 때는 데이터가 존재하지 않아서 추천할 수 없다. 계산 효율성 저하 추천 시스템은 비교적 계산량이 많은 알고리즘이기 때문에 사용자 수가 많거나 행렬 분해 시 계산에 시간이 많에 소요되기도 한다. 롱테일 문제 상품이 많다고 하더라도 소수의 인기 있는 항목만 추천되고, 관심이 저조한 항목은 정보가 부족하여 추천되지 못할 수도 있다. 장점 단점 contents-based 1. 다른 사용자에 의존할 필요가 없다. 2. 새로운 아이템을 추천할 수 있다. 1. 아이템과 비슷한 분류를 주로/계속 추천할 수밖에 없다. 2. 눈에 보이는 특징만 활용 가능할 뿐 아이템의 잠재적 의미를 활용하기 어렵다...

한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것이다.둘 이상의 데이터가 필요한 경우 테이블 조인이 필요하다.즉, 둘 이상의 테이블을 연결해서 데이터를 검색하는 방법이다.테이블로서 저장되거나, 그 자체로 이용할 수 있는 결과 셋을 만들어낸다.연결하려면 테이블들이 적어도 하나의 컬럼을 공유하고 있어야 한다.공유하고 있는 컬럼을 PK 또는 FK 값으로 사용한다. A 테이블IDNAME1AAA2BBB3CCCB 테이블IDAGE110220330440 > INNER JOIN내부 조인 -> 교집합공통적인 부분만 SELECTon을 이용한 join 조건 지정 (join 조건: on, 일반 조건: where)using을 이용한 join 조건 지정: using 절에서는 table 이름이나..

CORS(Cross Origin Resource Sharing)에서 Origin이란 한국어로는 '출처'라고 하는데, 이는 URL, 도메인 등과 비슷해 보이지만 엄연히 의미가 다르다. Origin은 URL에서 프로토콜, 도메인, 포트 번호를 합친 부분을 의미한다. URL: https://m1nomi.com:80/posts/123456?data=789#abc 여기서 프로토콜(Scheme이라고도 함)에 해당하는 부분은 https:// 도메인에 해당하는 부분은 m1nomi.com 포트 번호에 해당하는 부분은 :80 따라서 Origin은 https://m1nomi.com:80이다. 브라우저의 개발자 도구의 콘솔에서 Location 객체가 가지고 있는 origin 프로퍼티에 접근함으로써 손쉽게 ..