본문 바로가기

사이드 프로젝트

(24)
[ASP.NET Project] 도메인 모델 작성하기 도메인 모델부터 시작하기 MVC 프레임워크를 활용한 응용프로그램의 핵심은 도메인 모델이다.응용프로그램의 모든 부분이 도메인 모델을 중심으로 구성되기 때문에, 가장 먼저 작성해야 한다.  1. 도메인 모델 작성하기프로젝트의 도메인 모델을 정의하기 위해 Entities라는 폴더를 만들고, 여기에 Product 클래스를 추가했다.Product 클래스는 상품 정보를 담는 도메인 모델이다.namespace SportsStore.Domain.Entities{ public class Product { public int ProductID { get; set; } public string Name { get; set; } public string Description {..
[ASP.NET Project] DI 컨테이너 설정하기 DependencyResolver 설정우선, DI 컨테이너를 연결하기 위해 DependencyResolver를 설정해야 한다. 이를 위해 프로젝트에 DependencyResolver.cs라는 파일을 생성하자.namespace SportsStore.WebUI.Infrastructure{ public class NinjectDependencyResolver : IDependencyResolver { private IKernel kernel; public NinjectDependencyResolver(IKernel kernel) { this.kernel = kernel; AddBindings(); } ..
[ASP.NET Project] ASP.NET MVC5를 이용한 SportsStore 응용 프로그램 생성하기 ASP.NET MVC5를 사용하여 SportsStore 응용 프로그램을 생성한다.하나의 솔루션을 만들고, 그 안에 3개의 프로젝트를 추가하여 역할을 나눌 예정이다.각각의 프로젝트는 다음과 같은 역할을 수행한다.  프로젝트 구성 Domain데이터 저장 및 불러오기를 담당하는 핵심 역할을 한다.Entity Framework를 사용하여 리파지토리를 작성할 계획이다.WebUI사용자 인터페이스(UI)를 구현하며, 컨트롤러와 뷰가 포함된다.애플리케이션의 주요 동작을 처리하는 프로젝트다.UnitTestsDomain과 WebUI에서 작성한 로직에 대해 단위 테스트를 작성한다.Mocking 라이브러리를 사용해 테스트 환경을 구성할 예정이다.  도구 및 패키지 설치 프로젝트가 제대로 동작하도록 필요한 도구와 패키지를 설치..
[Spring project] 기술스택 정리 기술스택프론트엔드Vue.js: 사용자 인터페이스 개발HTML, CSS: 스타일링 및 레이아웃백엔드Java: Java 17Spring Boot: API 서버 및 비즈니스 로직 처리Spring Security: API 보안Swagger: API 문서화 도구JUnit: 유닛 테스트 및 통합 테스트데이터베이스MySQL: 데이터 저장소Firebase Authentication: 인증 및 권한 관리DevOps 및 형상관리Github: 버전 관리 및 CI/CD 파이프라인 구축Git: 형상 관리
[Spring project] Anytime Nayng 요구사항 정의서 1. 프로젝트 개요프로젝트 명: 고양이 사진 자랑 커뮤니티 앱개발 목적: 고양이 사진을 자랑하고, 고양이 팬들이 모여 서로 소통할 수 있는 간단한 커뮤니티를 구축하기 위해.주요 기능: 회원가입 및 로그인, 회원정보 관리, 게시글 관리, 댓글 작성, 좋아요 기능, 태그 검색.2. 시스템 구조클라이언트: 사용자가 앱에서 사진을 업로드하고, 게시글을 관리하며, 다른 사용자와 소통하는 인터페이스.서버: 사용자 인증, 게시글 및 댓글 관리, 데이터 저장, 검색 기능을 지원.데이터베이스: 사용자, 게시글, 댓글, 태그 및 좋아요 데이터를 저장하고 관리.3. 요구사항 정의3.1 회원 기능요구사항 ID요구사항 명설명USER-01회원가입사용자는 이메일, 비밀번호, 닉네임을 입력하여 회원가입을 할 수 있다.USER-02로..
[Spring project] 투투 리스트 프로젝트 완성: 모든 과정을 정리하며 결과1. To do 리스트 화면리스트 조회 화면진행 상태 표시 2. To do 리스트 추가화면To do 리스트 추가화면10글자 초과할 경우 유효성 체크3. 상세 내용 리스트상세 내용 리스트상단에 To do 제목 표시전체 삭제 수정 및 단건 삭제 기능   결론 및 고찰 이번 프로젝트를 통해 Bootstrap과 JavaScript를 활용한 반응형 웹사이트 개발에 대한 이해를 깊게 할 수 있었다. 특히, 모달을 통한 동적인 UI 구현 과정에서 사용자 경험을 고려한 디자인의 중요성을 느꼈다. 처음에는 복잡해 보였던 데이터 바인딩과 동적 인터페이스 구현이 점차 명확해지면서, 보다 직관적이고 사용성 높은 웹 애플리케이션을 만들 수 있었다.이 프로젝트는 단순한 기능 구현에서 끝나는 것이 아니라, 실무에서 자주 사용하..
[Spring project] Spring Boot Todo 리스트 관리: Todo 데이터 수정 및 삭제 처리 이번 포스팅에서는 Spring Boot와 JPA를 사용하여 Task 엔티티의 데이터를 수정하고 삭제하는 방법을 다룬다. 특히, 특정 엔티티를 삭제할 때 연관된 데이터도 함께 삭제해야 하는 시나리오와 트랜잭션 관리를 중심으로 설명할 예정이다. 1. 수정 처리: Task 엔티티의 데이터 수정Spring Boot에서 특정 엔티티의 필드만 수정하는 것은 매우 간단하다. 아래는 Task 엔티티의 taskNm(할 일 이름)과 modifyDt(수정일)를 수정하는 예제이다.Task 수정 메서드 구현Controller.java@PostMapping("/{totoNo}/tasks/{taskNo}/edit")public String updateTaskNameAndDate(@PathVariable int totoNo, @Pa..
[Spring project] Spring Boot Todo 리스트 관리: 삭제 기능 구현 및 Task 입력 기능 이번 포스팅에서는 Todo 리스트 관리 애플리케이션에서 Task 삭제 기능과 Task 입력 기능을 구현한 과정을 정리하려고 한다. 이를 통해 Spring Boot와 Thymeleaf, MySQL을 연동하여 CRUD 기능을 어떻게 처리했는지 자세히 설명하겠다.삭제 기능 구현1. Task 삭제 기능 구현Todo 리스트에서 특정 Task를 삭제하는 기능을 먼저 구현했다. Task 엔티티는 taskNo와 totoNo로 복합 키를 구성하고 있어, 이를 고려한 코드를 작성해야 했다.1.1 TaskController - 삭제 기능 추가삭제 요청을 처리하기 위해 컨트롤러에 DELETE 요청을 매핑하여 처리하는 메서드를 추가했다. // TaskController.java@GetMapping("/totos/{totoNo}..