일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코딩테스트
- nestJS
- C++
- 해시
- 프로그래머스
- 스프링
- python
- 카카오 알고리즘
- nestjs auth
- spring boot
- 컴포넌트스캔
- git
- @Autowired
- 카카오
- TypeORM
- 코테
- 파이썬
- C언어
- Nodejs
- Spring
- 시스템호출
- @Component
- OpenCV
- 구조체배열
- nestjs typeorm
- thymeleaf
- 가상면접사례로배우는대규모시스템설계기초
- AWS
- 알고리즘
- 카카오 코테
- Today
- Total
목록# Develop/Project (16)
공부 기록장 💻
안녕하세요. 6월 1일부터 7월 3일까지 약 한 달 간 NUCU (NAVER Cloud User Community) 에서 주최 및 주관한 [AI 막차탑승 : HyperCLOVA X 프로젝트 챌린지] 프로젝트에 참여하였습니다.해당 프로젝트는 Clova Studio 의 다양한 서비스들을 깊게 학습 및 실습하고 이를 활용해 팀원들과 협업하여 실제 서비스를 구현해보는 챌린지였습니다. 또한 제공되는 Credit을 통해 서버, 로드밸런서 등 NCP 인프라 서비스들을 활용할 수 있었습니다. 실습했던 내용들을 정리하고, J팀의 서비스 '점메추저메추' 산출물에 대한 소개, 그리고 참여 후기를 남겨보려 합니다. 1. 팀 소개 및 주제 선정제가 속한 J팀은 클라우드 엔지니어, 클라우드 아키텍트, 백엔드 개발자, 프리랜서 ..
유저 서비스 개발을 시작하기에 앞서 고민 시작.. 회원별 고유 ID를 어떤 방식으로 만들까? 최근 졸업 프로젝트로 작은 유저 모바일 앱 서비스를 개발하기 시작했다. 회원이 최초 가입 시 각 회원에게 부여할 고유 ID 값을 생성해야 하는데, 이 고유 ID 값을 어떻게 생성하느냐에 대한 고민을 하기 시작했다. 우선 생성하려고 하는 회원별 고유 ID 값의 역할부터 정의를 내려보자면, 많이들 서비스에서 사용해봤을 만한 "추천인 코드" 의 역할과 비슷하다. 추천인 코드처럼 각 유저를 식별하는 이 고유 ID값을 이용해 타 회원을 검색하고 친구를 맺게 하는데 사용할 문자열이다. 모바일 기반 플랫폼이기 때문에 회원이 주로 email 인증을 통한 회원 가입과 password를 통한 최초 로그인을 주로 하게 되기 때문에,..
보호되어 있는 글입니다.
문제 발생 원인 우선 발생한 문제는 아래와 같다. Template View의 부분에서 input 값이 없는 경우 Bad Request (HTTP Status Code 400) 에러가 발생한다. 특히 아래의 경우, 나이 (age) 는 int형의 값을 필수적으로 요구하는 필드이기 때문에 데이터를 저장하는데 있어서 문제가 발생하였다. (name의 경우 "" 빈 String 형태의 값이 전달되어 별다른 문제를 발생시키지 않지만, age 필드의 경우 0과 같은 default값마저 전달되지 않았기 때문에 문제가 발생한다.) Spring Framework 내부적으로는 validation.BindException 이 발생했음을 확인할 수 있다. [nio-8080-exec-2] .w.s.m.s.DefaultHandler..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
Fitbit 프로젝트 개요 본 프로젝트는 2022년 2학기 ‘빅데이터 프로그래밍’ 과목에서 수행하는 최종 기말 프로젝트로, Fitbit 활동량 데이터를 기반으로 하여 데이터를 분석하는 과제를 수행하는 것이 목표이다. 프로젝트에 활용하기 위해 수업 시간에 주어진 원본 데이터는 result_calories.txt, results_distance.txt, results_steps.txt 의 총 세 텍스트 파일에 저장되어 있는 calories, distance, steps 데이터이다. 각 데이터는 아래 사진과 같이, 2021년 4월 7일부터 2021년 11월 14일까지의 Date 객체와 각 데이터의 값이 저장되어 있다. 위의 데이터를 활용하고자 했으나, 수업 시간에 명시된 것처럼 순천향대학교 AI&빅데이터 센터..
우아한테크코스 프리코스의 3주차 미션은 다음과 같다. 1) 클래스를 분리하고, 2) 도메인 로직에 대한 단위 테스트를 작성하는 연습을 하는 것 그리고 프로그래밍 요구 사항들을 세부적으로 살펴 보면, 핵심 로직을 구현하는 코드와 UI를 담당하는 로직을 분리하여 구현해야 하며, 도메인 로직에 단위 테스트를 구현해야 한다고 명시되어 있다. 그래서 도메인 로직이 무엇일까? 도메인 로직(비즈니스 로직)에 대해 조사를 해보니, 이는 소프트웨어 설계 과정에서 프로그래밍을 할 때 차용하게 되는 패턴 중 하나로, 도메인이란, MVC 패턴에서 Model에 해당하는 것을 말한다. 우선적으로 MVC 패턴을 이해하며, 핵심 로직 부분과 UI를 담당하는 로직을 분리해 구현하여 프로그램을 설게하고, 도메인 로직에 대한 단위 테스트..
최근 원티드에서 취업/이직을 목적으로 하는 구직자들을 대상으로 주최한 프리온보딩 백엔드 코스에 참여하게 되었다. 지원하기 이전에, 사전 과제로 CRUD를 이용한 간단한 채용 시스템 API를 개발하였다. ( https://github.com/YebinLeee/recruitment-api-server ) 선발을 위한 가벼운 사전 과제였기 때문에 과제의 요구사항은 로그인, 회원가입을 비롯한 인증 부분을 생략해도 되었고, 많은 모델을 필요로 하지 않았으며(회사, 유저, 채용공고, 지원서 총 4개의 모델), DB 모델링이나 API 구현에 있어서 상세한 요구사항이 제시되지는 않았다. 따라서 과제를 진행하며 실제 채용 시스템의 프로세스를 이해하고 구현하는데 여러 아쉬움이 남았다. 목표와 이유: 왜 원티드 채용 플랫폼..
오세유 프로젝트를 진행하면서, 기존에 개발했던 jwt 기반 auth 방식에서, REST API를 통해 카카오 소셜 로그인으로 변경하는 것으로 결정하였다. 따라서 공식 문서 (https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#before-you-begin-process , https://developers.kakao.com/docs/latest/ko/kakaologin/common#authorization-consent-item ) 의 내용을 참고하여 먼저 카카오 로그인의 과정을 정리하며 이해를 돕고,NestJS 프레임워크 상에서 구현을 해보고자 한다. 카카오 로그인 기능 카카오 로그인은 카카오 계정으로 다양한 서비스에 로그인할 수 있도록 하..
현재 진행 상황을 보고해 보자면, 7월 말부터 오세유 프로젝트가 시작해, 벌써 한 달 반이라는 시간이 흘렀다. 나를 포함한 우리 팀원 3명은 프로젝트 진행과 개발, 배포에 박차를 가하고 있는 중이다. 7/20 첫 회의부터 시작해서, 특별한 일이 있는 경우를 제외하고 매주 수요일마다 회의를 진행해 왔다. 초반만 해도, 11월 즈음까지 장기간에 걸쳐 각자 스터디와 개발을 진행하여 배포에 도전해 보는 것을 목표로 하여, 천천히 여유로운 마음으로 프로젝트를 진행될 것을 예상했다. 하지만 최근 몇 주에 걸쳐 다들 열심히 달려오다 보니, 어느새 벌써 배포 테스팅 단계에 이르렀다. (실제 배포는 아니고, 배포 "테스트"에 성공했다는 뜻!) 그래서 그동안 프로젝트 진행 상황을 기록하고 회고하고자 짧은 글을 남겨보려고 ..
Github Actions는 Github 에서 공식적으로 제공하는 CI/CD 툴, 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼, 즉 다시 말해 개발의 Work Flow를 자동화할 수 있게 도와주는 도구이다. 오세유 프로젝트를 진행하면서 AWS EC2 인스턴스를 생성하고, API 테스트를 하는데 있어 추후 CICD 파이프라인을 구축하여 배포와 빌드, 테스트를 자동화하고자 Github Actions에 대해 공부해보고자 한다. Github Actions에 대해 알아보기전, 우선 CI/CD가 무엇인지부터 살펴보자. CI/CD란 무엇인가? CI는 Continuous Integration(지속적 통합) , CD는 Continuous Delivery(지속적 전달)의 줄임말이다. - CI :..
NestJS 프레임워크에서 구인글 등록하는 Recruitment Post 기능을 만들어보자. 이전에 작성했던 회원가입 기능 - 새로운 유저 등록 (https://dream-and-develop.tistory.com/197) 부분과 동일한 방식으로 구현을 하였다. 또한 지난 시간에 Recruitment 모델을 만든 것을 바탕으로 서비스와 컨트롤러를 작성해보자. (https://dream-and-develop.tistory.com/208) 우선 recruit의 전체 디렉터리의 구조는 다음과 같다. Recruit Repository 우선 recruit.repository.ts 는 다음과 같이 작성해주자. 이전에 User Repository 작성했던 것과 동일하게, typeorm 최신 버전에서 사라진 Entit..
오세유 프로젝트의 User, Recruitment 테이블 Entity를 생성하고, 두 테이블 간 Relations 을 정의하는 부분까지 NestJS 프레임워크를 이용해 구현해보자. ER Diagram 먼저 전체적인 ER Diagram을 살펴보자. 테이블은 User, Recruitment, Application, Bookmark, Payment 크게 5개이다. 현재까지는 완성된 ER 설계본은 아니며, 추후에 개발을 하며 hash태그 기능을 비롯한 기능들을 개발, 구현하며 필요에 따라 테이블은 추가될 수 있다. User Table 먼저, 사용자 User 유저 엔티티에 포함되어야 할 칼럼들은 다음과 같다. primary key로 사용될 id, 사용자 ID, 비밀번호, 휴대폰번호, 프로필 사진, created/..
보호되어 있는 글입니다.
⛅ 공공 open API 활용 - 동네의 날씨 데이터 지역에 해당하는 좌표 값을 입력하면 해당 동네의 기온과 날씨를 알려주는 프로그램 Open API 를 실습해보는 작고 간단한 프로젝트를 진행해 보았다. 멋사 조 스터디 운영진 선생님이 원하는 주제를 정해서 API 실습을 해보는 것을 과제로 내주셨다. 공공 OpenAPI 날씨 데이터 실습을 위해 내가 사용한 공공 데이터는 '공공데이터 포털'에서 사용 가능한 "기상청 동네예보 조회 서비스 API" 이다. ( 기상청 동네예보 조회 서비스 API 데이터) 기상청의 국가기후데이터센터에서 제공하는 REST API 를 활용하였다. 오픈 API의 상세 정보는 해당 사이트에서 캡처해온 다음 사진과 같다. 기상청으로부터 데이터는 아래와 같이 매일 8번 업데이트 된다. 해..