본문 바로가기

전체 글94

TIL #29) 0312 오늘 한일 Today I Learned 오늘은 과제를 열심히 했다. 공연예매서비스 중 공연 파트를 대충 끝낸것 같고.. 이것저것 겪는 오류는 참 많은데 이게 알맹이가 있다기 보다는 정말 사소한것에서 오류가 나니 하나하나 적기도 좀 그렇다. ^^; 어제까지만해도 네스트 못하겠다고 기운 없었는데 그래도 좀 만져보니 조금은 알거같다!! 내일까지는 필수구현 끝내고, 커스텀 데코레이터와 가드부분을 파봐야겠다. 오늘 한것 공연 등록 좌석 등록 공연 목록 보기 공연 제목으로 검색하기 공연 상세보기 부족한 부분 어드민만 공연 등록 & 좌석 등록 가능하도록(가드기능을 아직 잘 모르겠다 ㅠㅠ) 공연 등록시 date 타입 고민해보기 필수 구현 내용 다시 읽어보고 부족한거 있으면 다 해서 내는걸 목표로 하자! 선택기능까지 하고싶기는한데.. 2024. 3. 12.
TIL #28) 싱글톤 패턴 싱글톤 패턴은 소프트웨어 개발에서 인스턴스가 오직 하나만 생성되어야 하는 경우에 사용되는 디자인 패턴입니다. 이 패턴의 목적은 전역 상태를 관리하고, 여러 컴포넌트 간의 데이터 공유를 용이하게 하며, 메모리 사용을 최적화하는 것입니다. 싱글톤 패턴은 특정 클래스의 인스턴스가 프로그램 전체에서 단 하나만 존재하도록 보장합니다. 이를 통해 동일한 리소스나 서비스에 대한 중복 생성을 방지하고, 전역 접근 지점을 제공합니다. 싱글톤 패턴을 구현하는 방법은 여러 가지가 있지만, 가장 기본적인 구현 방법은 다음과 같습니다: 생성자를 private으로 선언하여 외부에서 인스턴스를 직접 생성할 수 없도록 합니다. 클래스 내부에 정적(private) 변수로 인스턴스를 저장합니다. 인스턴스에 접근할 수 있는 정적 메소드(.. 2024. 3. 12.
프로그래머스 JavaScript - 문자열 내 마음대로 정렬하기 문제 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. strings n return ["sun","bed", "car"] 1 [".. 2024. 3. 8.
공연 예매 서비스 구현하기 사용자가 원하는 공연을 예매할 수 있는 웹 사이트를 구현해 보셔야 합니다. 물론, 백엔드만 구현하는 것을 목표로하며 프론트엔드 구현은 선택사항으로 두겠습니다. 각 공연은 공연명, 공연시간, 장소, 가격 등의 정보를 가지고 있어야 할 것이며 사용자는 이를 통해 원하는 공연을 선택하고 예매할 수 있어야 하겠죠? 3/7 ~ 3/14 빠른 피드백 원할시 3/13 제출 TypeScript, Nest.js 등 [ ] 로그인 / 회원가입 - 사용자는 회원가입시 100만 포인트를 지급받습니다. [ ] 프로필 보기 [ ] 새 공연 등록 [ ] 공연 목록 보기 [ ] 공연 검색하기 [ ] 공연 상세보기 [ ] 좌석을 지정하지 않고 공연 예매하기 - 공연예매시 1석에 최대 5만포인트를 상한금액으로 정합니다. - 보유포인트가.. 2024. 3. 7.
TIL #27) Error: getaddrinfo EAI_FAIL 오류 Today I Learned nest를 이용해 코드를 짜고 서버를 열어 테스트 해보려는 중 Error: getaddrinfo EAI_FAIL 오류가 발생했다. 찾아보니 데이터베이스 연결하는 시도 중에 DNS 조회에서 문제가 발생했다고 한다. 내가 시도해본 방법은 1. RDS 서버 확인하고 엔드포인트 주소 새로 넣기 2. 서버 껐다켜기 3. 강의 자료 다시 보기 해결방법은 매우 간단했다.. 여태까지 과제물에 DB_HOST에 URL을 넣고있었던 것이다.. 그래서 url이 아닌 엔드포인트만을 DB_HOST에 넣어주니 정상적으로 서버 연결이 가능했다. 2024. 3. 7.
TIL #26) 레디스 알아보기 Today I Learned 레디스란 무엇?! NoSql - 그 중에서도 메모리 기반으로 빠르게 데이터를 읽어올 수 있는 Key-Value Store Remote Dictionary Server의 약자로, 원격 Dictionary 자료구조 서버라는 직관적인 이름을 가지고 있다. Key로 올 수 있는 자료형은 기본적으로 String 이지만, Value는 다양한 타입을 지원한다. 서버가 1대 있다는 가정에선 Redis의 장점이 크게 보이지 않지만 분산환경을 대입하면 장점이 보인다. 유저 요청이 늘어 서버를 증설한 상황에서, 서버가 여러대라면 원격 프로세스간의 데이터를 일치시키기 어렵다. 이때 별도의 레디스 서버를 구성하고, 해당 레디스에서 값을 꺼내 쓴다면 메모리 기반 데이터 구조의 빠른 응답성을 확보함과 .. 2024. 3. 6.
TIL #26) 타입스크립트 발 담구기 TypeScript TypeScript는 마이크로소프트에서 개발한 오픈소스 프로그래밍 언어! JavaScript의 단점을 상소해하기 위해 등장했다!! 타입스크립트가 들어오고 바뀐점들 실행시간에 결정되는 변수타입 => 이제는 컴파일 시간에 변수의 타입을 체크!! 약한 타입 체크 => VSCode에 코드를 입력하는 순간 에러 메시지 발생!! 물렁물렁한 객체 => 코드를 입력하는 순간 에러 메시지 발생!! 그리고 자바스크립트 라이브러리를 쉽게 쓸수있다는것도 타입스크립트의 장점 !!!! JavaScript에서 파생된 기본타입 string number boolean null undefined 새로 추가된 타입 tuple - 배열은 number[], string[] 처럼 같은 타입의 원소만 가질 수 있지만, 튜플은.. 2024. 3. 5.
KPT 회고록 Keep 현재 만족하고 있는 부분 이전 과제에서 경험하지 못했던 것을 경험하게 되어서 색다른 느낌이었습니다. 현업에서 실제로 활용되는 기술을 팀 프로젝트에 적용해볼 수 있어서 매우 의미있었습니다. 지난 과제에서 부족한 부분을 반성하고 보완할 수 있어서 만족스러웠습니다. 팀 프로젝트를 통해 설계부터 코드 작성, 발표, 피드백까지 과정을 경험하면서 큰 성장을 느낄 수 있었습니다. 3계층 구조를 다루는 데 익숙해질 수 있어서 기쁩니다. 내가 만들고 싶었던 것을 모두 구현해볼 수 있어서 정말 좋았습니다! 에러 처리와 3계층 구조에 대한 이해가 많이 늘었고, 통달한 느낌이 드는 것 같습니다. 😄 Problem 불만인 부분 레포지토리 계층에서 서비스 계층으로 데이터를 전달하는 과정이 어려워서 마음대로 진행되지 않았.. 2024. 2. 29.
TIL #25) git branch시 모든 branch가 뜨지 않는 문제 Today I Learned 무궁무진한 깃의 세계 매번 쓰던 기능만 쓸땐 괜찮다가 협업을 시작하면 나의 바닥이 드러나곤 한다... 원격 브랜치로 옮겨가야 하는 상황에 어떤 브랜치가 있는지 확인하기 위해 git branch를 사용했으나, 내 로컬에 있는 branch만 보여주는 오류가 있었다. 1. 브랜치가 없는 경우 : 가장 간단한 이유는 현재 저장소에 아무런 브랜치가 없을 수 있습니다. 이 경우 git branch를 실행하면 아무것도 표시되지 않습니다.저장소에 최소한 한 개의 커밋이 있어야 브랜치를 생성할 수 있습니다. 만약 아직 어떠한 커밋도 하지 않았다면 브랜치를 생성할 수 없습니다. 2. 브랜치를 생성하지 않고 실행한 경우 : git branch 명령은 브랜치를 생성하는 것이 아니라, 현재 브랜치 .. 2024. 2. 29.