전체 글94 db 선택 요구사항 1. 스키마가 고정되어있나요? - 고정되어있다고 볼수있나? 2. 그렇게 빠른 속도를 요하나요? - 아님 3. 많은변화예상: 팔로우/언팔로우 기능 4. 스크래핑해온 정보들 - 작품(제목, 내용, 작가이름, 별점, 작품에 대한 리뷰, 플랫폼) => 여러곳에서 스크래핑 해오니 어디에는 이런 정보가 있을거고, 어디에는 이런 정보가 없을수도 있음(키워드?) 5. 우리는 분석적/일관성 있는 데이터 저장이 필요한가? 1. 몽고디비 대용량 데이터 처리에 유리 고성능, 고가용성 및 쉬운 확장성 제공 NoSQL, Document 지향 데이터베이스 json 과 binary json 으로 저장함 장점: 스키마리스디자인?/ 희소한 데이터소스 또는 변경되는 데이터 모델을 갖는 곳에서 유리 수평적확장에 뛰어남 단점: 안정.. 2024. 3. 27. 프로세스와 쓰레드 프로세스와 쓰레드에 대해서 설명하고 그 차이에 대해서 설명해주세요. 프로그램: 어떤 작업을 위해 실행할 수 있는 파일 프로세스 - 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 - 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립개체) - 동적인 개념으로는 실행된 프로그램을 의미한다. - 각각의 독립된 메모리영역을 할당받음(code, data, stack, heap) - 기본적으로 프로세스당 최소 1개의 스레드를 가지고 있다. - 한 프로세스가 다른 프로세스의 자원에 접근하려면 프로세스간의 통신(IPC)을 사용해야한다. ex) 파이프, 파일, 소켓등을 이용 스레드 - 프로세스내에서 실행되는 여러 흐름의 단위 - 프로세스의 특정한 수행 경로 - 프로세스가 할당받은 자원을 이용하는 실행의 단위 -.. 2024. 3. 27. To-DuBu: KPT 회고록 Keep 현재 만족하고 있는 부분 프로젝트 진행하다보니 완성도 있는 코드를 쓸 수 있게 되어서 좋았다 즉각적인 소통, 원활한 소통이 되어서 좋았다. 깃 사용하면서 커밋메시지 잘 날린거같고 체계적으로 깃을 사용해본거같아서 좋았습니다. 어려운 문제있을때 팀원들과 함께 해결이 가능해서 좋았다. 평소보다 복잡한 로직을 체험해볼수있어서 좋았다. Problem 불만인 부분 시간이 짧아서 불가피하게 지피티의 도움을 받았다. 좀 더 주체적으로 짤 수 있었다면 좋겠다. 사전에 계획한 기한을 엄수하지 못함. 코드 컨벤션을 설정해두지 않아 관련한 사소한 트러블이 많았음. 네스트 사용이 익숙치않아 가드나 전략 사용에 있어 어려움이 있었다. Try 해결책, 지금당장 가능한것 지피티보다 공식문서 활용하기. 더 노력한다... 더 .. 2024. 3. 25. TIL #34) Nest로 S3 이용하기 Today I Learned 트렐로 프로젝트 중 생성한 카드에 이미지 업로드 하는 기능이 필요해 다음과 같은 코드를 작성했다. 먼저 AWS계정에 S3버켓을 생성하고, 그 버켓에 접근하기 위한 IAM 계정이 필요하다. 다른 글을 참조해 생성했고 대표적으로 권한 문제가 계속 있었는데;; 구글링을 통해 해결했다. AWS S3 버켓에 올리기 위한 핵심적인 로직은 다음과 같다. @Injectable() export class AwsService { s3Client: S3Client; constructor(private configService: ConfigService) { // AWS S3 클라이언트 초기화. 환경 설정 정보를 사용하여 AWS 리전, Access Key, Secret Key를 설정. this.s.. 2024. 3. 25. TIL #33) 순서 정렬하기 구현하고싶은것) 사용자가 원하는대로 컬럼순서를 바꿀 수 있는 기능 하지만 하나 옮긴다고 전체 데이터베이스를 업데이트 할수는 없기때문에 부동소수점을 이용해 구현해보았다. 사실 부동소수점의 개념은 잘 모르겠으나 단순히 순서가 1, 2, 3 있다면 1.1234 이런식으로 소수를 이용해 1과 2사이에 배치할 수 있다는 아이디어를 사용해보았다. 처음에는 단순하게 1과 2 사이에 순서를 배치하고싶다면 나누기를 사용해서 그 사이수를 구하려 했다. 그래서 순서를 처음부터 1과 2가 아니라 1.1, 2.2 처럼 소수를 이용해 줬다. 이렇게 하면 될 줄 알았는데 나눗셈이 내 마음대로 되는게 아니었다.. ㅋㅋㅋㅋ 나누기가 아니라 1과 2사이의 수를 구하기 위해 2에서 특정 수를 빼지만 1보다는 크게 유지하도록 코드를 구현했.. 2024. 3. 22. TIL #32) Linked List 자료구조 Linked List 링크드 리스트란 노드라는 기본 요소를 사용해 선형적인 데이터 묶음을 추상적으로 표현한 것이다. 노드에는 데이터뿐만 아니라 다음 노드를 가리키는 참조(링크)가 포함되어 있다. 트렐로 프로젝트 중, 카드의 순서를 옮겨야하는 과제가 있었다. 무식하게 옮기려면 할수는있겠지만 만약 카드의 갯수가 100장, 1000장이 넘어간다면? 한 순서를 옮기기위해 다른것도 모조리 수정이 필요할 것이다. 이럴때 사용할 수 있는게 링크드리스트 자료구조이다. Singly Linked List Node: data와 pointer로 이루어진 요소로서 모여서 리스트를 형성 data: 데이터 pointer(link): 다음 Node를 가리키는 참조 head: 가장 앞에 있는 Node tail: 가장 끝에 있는 Nod.. 2024. 3. 20. 트렐로) 팀 프로젝트 기록 👾 트렐로 프로젝트란? 심화 주차에서는 기존 프로젝트 주차에서 보다 더 가치가 있는 프로젝트를 만드는데에 도전해보려고 합니다. 바로 “프로젝트 협업 도구”를 만드는 것입니다. 우리는 이번 심화 주차에서는 Trello를 만들어보려고 합니다. 작업을 생성 및 관리하고 작업 상태를 업데이트하는 등 여러 기능을 개발하며 각각의 기능에 실제로 어떤 기술이 필요하고 어떻게 문제를 해결해야 하는지를 직접 경험해볼 수 있어요! 또한, 프로젝트 주제가 주제다보니 전반적인 개발 프로세스에 대해 좀 더 깊게 생각해보는 시간을 가질 수 있게 되는 시간이 될 것입니다. 이를 통해 여러분들이 다른 개발자들과 원활하게 협업하는 능력이 키워지길 바랍니다! 👾 프로젝트 소개 프로젝트명: To-DuBu 개발일정: 3/18 ~ 3/25 .. 2024. 3. 18. TIL #31) LLM LLM은 무엇인가??? 핫한 ai 챗지피티를 만든 기술 챗지피티가 들어서고... 데이터 라벨링을 하는 회사 등 큰 피해를 불러오기도함 챗지피티가 도입된 첫 달부터 stackOverflow의 트래픽 사용량이 14% 감소하는 일도...초비상!!! 딥러닝: 테스트 set이 있고 준비한 모델로 트레이닝을 시킨 후 테스트를 통과하도록 파이팅하는 과정 채팅으로 대답하는 구조자체가 어케 되는거임? => 생성형 ai를 알기전에 대화를 이해하는 기술의 핵심 자 연 어 처리!!!!!를 알아보자 NLP 자연어: 인간이 일상생활에서 사용하는 언어 NLP를 통해 컴퓨터와 인간언어로 소통하게 되었따 1. 단어를 토큰화 한다(의미있는 단위) 토큰은 보통 단어나 문장을 의미, 컴퓨터는 이 단위를 통해 텍스트를 처리하고 분석한다 2... 2024. 3. 18. TIL #30) MVCC를 알아보자 MVCC를 이해하기 위한 여러가지 정보 격리성레벨 1. read uncommit 가장낮은 격리수준. 한 트랜잭션이 커밋되지 않은 데이터를 읽을 수 있다. => Dirty Read 문제가 발생할수있음 (드릅게 읽힌다) Dirty Read: 다른 트랜잭션이 커밋되지 않은 데이터를 읽을 수 있다. 즉, 다른 트랜잭션이 완료되지 않았는데 변경된 데이터를 읽을 수 있음. 2. read commit 한 트랜젹션은 다른 트랜잭션에서 커밋된 데이터만 읽을 수 있다. => Dirty Read 문제는 해결 되지만 Non-repeatable Read 문제가 발생할 수 있음 => 외부에서 개입할수있기때문에(한번에 두번한다면?!) 데이터가 일치하지않을 가능성. 찝찝함. Non-repeatable Read: 같은 쿼리를 두 번 .. 2024. 3. 15. 이전 1 2 3 4 5 6 7 ··· 11 다음