전체 글
-
코인 획득 로직 구현에 대한 고민스파르타코딩클럽/최종프로젝트 - DevQuiz 2024. 1. 10. 23:23
Dev Quiz에서 문제를 풀었을때 얻는 리워드들을 구현하는 역할을 맡게 되어 로직에 대한 고민이 많았다. 그동안은 간단한 CRUD에서 파생된 기능들만을 구현했으나 이번엔 전혀 다른 느낌이라 생각보다 첫 시도가 어려웠다. Quiz를 풀면 랭킹에 적용되는 score와 재화를 구매(미구현)할 수 있는 coin을 지급받게 된다. 문제를 풀 때마다 둘 다 같은 양을 지급받게 되도록 설계하였다. 그래서 enum으로 관리하기로 하였으며 FIRST : 매일 첫문제를 풀면 20 CORRECT : 그 후 문제를 풀어 정답일 경우 10 FAIL : 문제를 풀어 틀렸을 경우 5 PASS : 문제에 정답을 체크하지 않고 그냥 넘겼을 경우 0 으로 계산하였다. 구현방식은 처음엔 2가지(Switch, Map) 만 고려하였으나, ..
-
mvc패턴 / PK, FK / HTTP 메서드오늘/기술면접주제 2024. 1. 9. 09:56
mvc 패턴의 개념 MVC는 모델 뷰 컨트롤러로 구성되며 컨트롤러는 사용자의 요청을 받아 모델로 전달한다. 모델은 비즈니스로직을 사용하여 데이터를 저장 그 후에 뷰를 통해 사용자에게 전달한다. Primary Key, Foreign Key PK 기본키. 각 컬럼을 구분하는 유일한 키. null값과 중복이 불가능. 후보키들 중 메인인 하나의 키. 유일성과 최소성을 가짐 FK 외래키. 테이블간 관계를 나타낼 때 사용. 다른 테이블의 PK를 참조하여 FK로 사용함. 데이터 무결성을 위해 FK를 사용 HTTP 메서드의 개념과 특징 http는 요청 메서드를 정의하고, 수행되길 원하는 행동을 나타낸다. 자주 쓰이는 5가지를 설명해보자면 GET : 특정 리소스를 가져올 때 사용. 데이터를 받기만 함 POST : 서버에..
-
NoSQL과 RDBMS의 특징과 차이점오늘/기술면접주제 2024. 1. 5. 10:46
NoSQL 이란? 특정 데이터 모델에 대해 특정 목적에 맞추어 구축되는 DB 현대적 어플리케이션 구축을 위한 유연한 스키마를 갖춤 비관계형 DB RDBMS의 한계를 극복하기 위한 새로운 형태 작동방식 큰 데이터볼륨, 짧은 지연시간, 유연한 데이터 모델이 필요한 곳에 최적 다른 DB와 다르게 데이터 일관성 제약 일부를 완화하여 이루어짐 특징 1. RDBMS와 달리 데이터간 관계를 정의하지 않음 2. 분산형 구조 여러 서버에 데이터를 분산 저장 3. 유연한 스키마 데이터를 저장하는 컬럼이 각각 다른 이름과 다른 데이터타입을 갖는 것이 허용됨 장점 1. 유연성 유연한 스키마를 제공하여 빠르고 반복적인 개발 가능 NoSQL DB를 반정형 및 비정형 데이터에 이상적으로 만들어줌 2. 저렴한 비용 RDBMS 에 비..
-
도커 세번째프로그래밍/Docker 2024. 1. 4. 00:15
도커이미지의 특징 1. 바이너리, 라이브러리 및 설정값 포함 2. 변경되는 상태값을 보유하지않음 stateless 3. 변하지 않음 immutable, RO (Read Only) 도커 이미지 받을때 팁 프로젝트 요구사항이 특별히 debian에 초점을 맞추지 않았다면 alpine 권장 만약 debian에 초점이 되어있다하더라도 특정 설정의 제약이 없다면 slim 키워드가 있는 버전을 쓰는것을 권장 이미지 구조 이미지는 기본적으로 계층구조(Layer)이다. 레이어로 만드는 이유 -> 기존의 이미지 재활용 가능 (공간효율성, 모듈화 가능) 여러개의 layer를 하나의 FS로 사용하게 해주는 기능을 UFS (union filesystem) 이라고 한다. docker image inspect [이미지이름] doc..