분류 전체보기
-
도커 네번째프로그래밍/Docker 2024. 1. 14. 02:50
docker container CLI 컨테이너 격리기술 컨테이너 CLI 작업이 수행될때는 -i 와 -t를 붙여 -it 라는 옵션을 많이 사용 --restart always 를 사용하면 예기치못한 종료에도 다시 재실행됨. (쿠버네티스는 restart always가 기본값) docker exit code 0과 143은 정상종료 docker attach 와 exec의 차이 attach는 내부에서 돌아가는 로그, 실제 수행되는 작업의 정보를 출력할 때 사용 exec는 내부에 들어가서 무언가 작업을 수행할 때 사용 docker import 시에 export로 만들어진 이미지는 단순히 컨테이너의 파일시스템을 아카이빙해서 만든 이미지이기 때문에 컨테이너 run 후 실행할 명령(CMD)이 요구된다. 해결방법은 아래처럼..
-
코인 획득 로직 구현에 대한 고민스파르타코딩클럽/최종프로젝트 - 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..
-
24/01/03 잼렐로 KPT스파르타코딩클럽/스프링 팀 프로젝트 - Trello 2024. 1. 3. 20:20
오늘 일을 내일로? 잼렐로와 함께라면 바로바로! 😎 GitHub JamminTeam JamminTeam has one repository available. Follow their code on GitHub. github.com 😎 UI/UX 😎 ERD 😎 KEEP 설계 코드 컨벤션 통일을 함으로써 코드 통일성을 확보하여 가독성을 높혀서 좋았습니다. 컨벤션 덕분에 통합하기에 어려움이 적었습니다. 상황 간 메서드명을 규칙을 정함으로 써, 메서드를 활용해야 할 때 예상이 가능해서 좋았습니다. 코드 리뷰 깃허브의 적극적인 PR의 코드 리뷰 활용으로 부족한 점을 파악함으로써 실력 향상이 될 수 있었습니다. 상호 피드백을 통해 미처 발견하지 못한 부분을 확인 할 수 있어 좋았습니다. 회의 정해진 시간에 회의 및..
-
도커 두번째프로그래밍/Docker 2024. 1. 2. 21:27
도커 주의사항 동작 중인 컨테이너를 exit하면 컨테이너가 꺼진다. 그렇지만 일반적인 종료가 아닌 강제종료 이기 때문에 exit는 권장하지 않음 컨트롤키를 꾹 누른 상태에서 P Q를 누르면 컨테이너가 계속 동작하는 채로 밖으로 나가진다 그리고 만약 exit를 하여 컨테이너를 꺼버렸다면 docker start 컨테이너ID 또는 컨테이너이름으로 다시 실행 시킨 후 docker exec -it 컨테이너ID 또는 컨테이너 이름 bash mysql을 예로 들면 /etc/init.d/mysql start mysql -uroot -p 이렇게 다시 접속 가능 Virtual Ethernet 은 docker0 과 컨테이너 사이에 존재하는 터널 LXC가 가진 네트워크 기술 중 하나로 네임스페이스가 있는데 그 네임스페이스에 ..