
1월 15일부터 2월 16일까지 공휴일을 제외하고 프로젝트 1차가 끝났습니다. 2차에는 이 프로젝트를 더 고도화 시킬 예정인데 막상 프로젝트를 하면 얻는게 더 많더군요. 게임 개발도 이와 비슷하게 얻어갔는데.. aws말고 ncp를 쓴게 좀 아쉽긴 하지만 별도로 개인 토이 프로젝트는 aws로 만들어 봐야겠습니다. 고도화가 끝나면 새로운 글 업로드 하겠습니다!

오랜만에 글을 씁니다! 최근에는 스프링 부트를 배워서 이에 관련하여 CRUD 게시판 실습을 하고 있습니다. 저는 항상 게임을 개발하던 어떤 것을 개발하던 어떤 환경에서든 적응형 해상도가 대응되어야 한다고 생각합니다. 그렇기에 이번 연습 프로젝트에서도 간단하게 대응을 시켜봤습니다. HTML CSS 실제로 이번이 처음으로 실습해 보는데 생각보다 재밌더라고요. 역시 한번 만들어보고 서비스를 보는 일련의 과정이 매우 중요한 것 같습니다. 이건 게임도 마찬가지고요. 회원가입창은 간단하게 flat한 디자인으로 하였습니다. 비밀번호 보기도 있으면 좋을 것 같아서 넣어봤습니다. 사실 이 로그인 창은 모달 팝업으로 하려고 했습니다. 처음엔 모달 팝업으로 했으나 사이트 주소가 Spring에 있어야 했습니다. ( Ex : ..
implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity' Spring Security를 사용하기 위해서는 라이브러리를 등록해야 한다. 스프링 시큐리티가 내가 공부하면서 제일 궁금했던 부분이다. 서버의 경우는 어떻게 보안 절차를 해야 하는가?에 대해 나는 제일 궁금했었다. 게임 Bass ( Backend as a Service) 서비스형 백엔드 플랫폼인 Playfab을 사용하면서 보안의 경우는 대부분 function으로 작성했는데 Spring의 경우는 Spring Security를 사용한다. 스프링 시큐리티는 기본..
리포지터리는 엔티티에 의해 생성된 DB 테이블에 접근하는 메서드들을 사용하기 위한 인터페이스 데이터 처리를 위해서는 테이블에 어떤 값을 넣거나 값을 조회하는 등의 CRUD(CREATE, READ, UPDATE, DELETE)가 필요하다. 이 때 이러한 CRUD를 어떻게 처리할지 정의하는 계층이 바로 리포지터리이다. 내가 리포지터리와 테스트코드를 작성하면서 놀란 점은 바로 테스트 코드를 작성할 때 JpaRepository를 상속한 ~ 객체가 생성될 때 findBy + 엔티티 속성명 (findBySubject)과 같은 리포지터리 메서드를 작성하면 해당 속성의 값으로 데이터를 조회할 수 있는 게 놀라웠다.. 아니 이렇게 굉장한 기능이 있다니.. 스프링 놀랍다.. 아니 C#에서는 이러한 메서드들을 직접 구현을 ..
Entity는 데이터베이스 테이블과 매핑되는 자바 객체를 의미합니다. 주로 JPA와 함께 사용되며, 데이터베이스와 애플리케이션 사이의 데이터를 효과적으로 조작하고 관리하기 위한 객체 지향적인 프로그래밍 방식을 제공합니다. 되도록이면 엔티티는 Setter 메서드를 구현하지 않고 사용. 엔티티는 db와 바로 연결되어 있으므로 안전상의 문제가 발생 가능성이 높다. 엔티티를 생성할 경우에는 롬복의 @Builder 어노테이션을 통한 빌드패턴을 사 @Id 애너테이션 - SQL에서 Primary Key와 같은 특징을 가집니다. 고유 번호를 기본 키로 함으로써 동일한 값으로 저장할 수 없게합니다. @GeneratedValue - GenerationType.IDENTITY는 SQL에서 Auto_Increment와 같은 ..
Lombok @Data 어노테이션은 @Getter/ @Setter/ @ToString/ @EqualsAndHashCode/ @RequiredArgsConstructor를 합친 것 Spring Boot @Validated어노테이션 이 클래스를 구성하는 메서드 중에서 1개라고 notblank notnull... 을 사용하면 지우면 안 된다. @Valid `주로 메서드의 매개변수에 사용되며, 주로 스프링 MVC에서 컨트롤러의 메서드에 적용된다.` @Validated `주로 메드나 클래스에 사용되며, 스프링 MVC 외의 다른 레이어에서도 사용할 수 있다.` @NotBlank 해당 어노테이션이 붙은 요소가 null이 아니고 공백 문자를 제외한 적어도 하나의 문자를 포함하고 있음을 검증한다. @NotNull 말 그..
나는 Java를 배우기 전에는 Java가 그냥 그런 언어라고 생각했다. 하지만 자바의 기초를 습득하고 스프링을 접할 때 정말 아름다운 언어잖아!라고 다시 생각했다.. 스프링 부트의 Controller에 대해 잠시 써보고자 한다. 먼저 Spring Boot는 Java 기반의 웹 애플리케이션을 쉽게 개발할 수 있도록 도와주는 프레임워크다. 그중 @Controller 어노테이션은 Spring에서 해당 클래스가 웹 요청을 처리하는 컨트롤러 클래스임을 나타낸다. @Controller public class ArticleController { } 저렇게 어노테이션을 붙여주기만 하더라도 스프링 부트에서 이게 컨트롤러구나 인식한다는 뜻이다..! 아니.. 자바는 C#이랑 비슷한 객체지향 언어가 아니였나..? 저런 식으로..
마지막 수정일( 2023 // 11 // 02 ) 데이터 모델링의 전체 흐름 업무파악 개념적 데이터 모델링 논리적 데이터 모델링 물리적 데이터 모델링 업무파악 무엇을 하려고 하는지? 의뢰한 사람이 무엇을 꿈꾸고 있는지 파악하기 기획서를 산출물로 받아낼 수 있다. 나는 DB를 통해서 현실의 문제를 해결하는 사람이다. 그렇기 때문에 이해하는 것만으로는 부족하다. 해결하려는 문제를 컴퓨터라는 강력하고 안 똑똑한 기계에 설명할 수 있을 정도로 업무를 이해해야 한다. 그렇기 위해서는 그 분야의 실무자들과 정확하게 소통하는 것이 중요하다. 이해를 했다면 설명을 잘 해야 한다. 업무 파악을 할 때 많이 사용하는 방법은 UI를 같이 그려보는 방법이다. 일을 의뢰하는 사람과 함께 그려보는 과정에서 원하는 것을 일치시키는..

mysql의 관계형 DB 및 SQL 문법에 대해 공부하고 배운 것들을 작성하고자 한다. 조회 SHOW DATABASES; - MySQL에서 모든 DB 목록 표시 SHOW TABLES; - DB내 모든 테이블 반환 DESC tablename; - 테이블(구조) 표시 SELECT * FROM tablename; - 해당 테이블의 모든 행과 열을 검색한다. SELECT 컬럼명 FROM tablename WHERE 조건 AND 조건 ORDER BY id DESC LIMIT 3; SELECT에서 여러가지로 필터를 걸어서 조회를 할 수 있다. 생성 CREATE DATABASE databasename; - db 생성 USE databasename; - db 선택 CREATE TABLE tablename ( 컬럼명 데..
TECHIT 백엔드 스쿨에 합격하다. 테킷 백엔드 스쿨 7기부터는 간단한 서류 전형으로 바뀌었다. 나는 원래 게임 개발자이고 왜 백엔드로 옮기려는지 간단하게 작성해 보려고 한다. 백엔드 개발자에 흥미를 느낀 이유 게임 개발을 하면서 baSS 서버리스 백엔드 플랫폼을 써야 하는 경우가 생겼다. 먼저 나의 게임 개발 팀원은 총 8명 ( 1프로그래머 6아트 1작곡가 )로 이루어져 있다. 이게 정상적인 형태는 아니지만 대학교 때 프로그래머가 없었기도 했었고 이미 게임 개발은 어느 정도 진행된 상태라 구하기가 쉽지 않았다. 그렇게 게임 개발을 하면서 모바일 게임이기에 서버가 필요하다고 생각하였고, 백엔드에 관한 지식은 전무했고 또한 혼자서 서버를 만들더라도 문제가 생길 확률이 높았다. 그중 따로 서버를 구현하지 ..
Comment