본문 바로가기

반응형

전체 글

(63)
2) kotlin jpa 설정 간단한 샘플예제 앞에서 만든 kotlin 프로젝트에 h2 DB 연결을 하고 JPA설정을 추가해 보자. h2 DB 설치 및 설정 category , item entity 추가 repository 추가 및 querydsl lib 추가 간단한 CRUD 기능 테스트 이렇게 위의 순서대로 설정을 진행해 보자. 먼저 h2 db에 대해 알아보자. h2 DB는 embaded mode , inMemory mode , Serve mode 로 이렇게 세가지 모드로 사용하다. server mode는 말그대로 h2 db자체를 설치해서 h2 db 자체 단독으로 서버로 사용하는것을 애기한다. embaded mode는 application이 뜰때 사용하고 application이 종료되면 h2 db 서버도 종료되는 모드를 애기한다. 이때 데이터는 그..
1) springboot 2.7 kotlin 1.5 시작하기 - GetMapping java 시너어 개발자로써 개인적으로 kotlin이 궁금해 졌다. 회사내에서 굉장히 많은 팀에서 kotlin을 사용하기 시작하기도 했고 , 어떤 장점이 있는지 java 와 어떤점이 다른지를 알고 싶었졌다. 그래서 간단히 GET , POST , DELTE 의 간단한 CRUD의 api 를 만들어보고자 한다. 아래 간단한 Category - Item 구조의 1: N. 구조를 만들어서 테스트 해보도록 한다. 먼저 개발을 위한 프로젝트 구성을 해보자. 조합은 아래와 같이 Spring 2.7 Kotlin 1.5 jdk 16 intelliJ 구성을 이렇게 했는데 . 처음에는 Spring 3. Kotlin 1.6 jdk 1.7 로 구성을 했는데 . 서버가 뜨고 컴파일 되는데는 문제가 없었는데 인텔리제이에서 build...
12. 장애물 넘기 게임 - 5부 앞에서 공룡과 장애물을 이동하거나 점프 할 수 있게 만들어 보았습니다. 이제 장애물과 공룡이 부딪쳤을때 게임이 종료되록해보고 스코어 넣어서 장애물을 잘 피했을때 스코어가 올라가도록 해보아요. 먼저 공룡과 장애물이 부딪혔을때 게임이 종료 되게 하려면 어떻게 방식으로 부딪혔다를 알 수 있게 되는지 알아야 합니다. 위에 이미지를 보면 사각형의 모야이 보이고 있죠? 검정색 사각형과 분홍색 사각형은 각각 공룡과 장애물을 나타내고 있고 실제로 게임상에서 공룡과 장애물이 차지하는 공간을 사각형으로 표시를 한것입니다. pygame에서 충돌은 저 공룡과 사각형이 차지하고 있는 공간과 공간끼리의 부딪혔는지를 체크를 하게 되는데요. 이때 두 공간이 겹쳤는지 체크하는 방법은 아래와 같습니다. if dino_character...
springboot custom Pageable default annotation springboot controller parameter로 아래 샘플 코드와 같이 Pageable parameter를 받을수 있는데, 이때 Pageable 값이 안넘어 올때 기본값을 설정 할 수 있는 @PageableDefault 라는 annotation이 있다. 간단하게 해당 annotation에서 설정가능한게 무었인지 확인해 보았다. @Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PARAMETER) public @interface PageableDefault { /** * Alias for {@link #size()}. Prefer to use the {@link #size()} method as it makes the ann..
undertow upload max-file-size exception handler 아래와 같이 spring 의 upload file size를 설정을 하면 파일 업로드시 최대 파일 사이즈가 제한되고 500에러가 발생하게 되는데. 보통 서버에서 500에러는 알수 없는 에러 의도치 않은 런타임 에러를 생각하게 되고 프론트에서도 500에러는 서버 장애 또는 알수 없는 에러로 취급하고 있다. 그래서 500에러가 아닌 400 에러의 custom exception 을 리턴하고 에러메세지도 상황에 맞게 수정하고 싶은 경우에 어떻게 하면 좋을지에 대해 알아 보자. springboot의 was는 보통 tomcat , netty , undertow 이렇게 사용하고 , tomcat이나 netty는 file size exception handling을 같은방식으로 개발하면 되는데 springboot was..
11. 장애물 넘기 게임 - 4부 이번시간에는 속도에 개념에 대해 알아 보려고 했는데 그전에 공룡을 뛰게 만들고 점프고 하게 만들어 보는것을 먼저 하고 장애물과 공룡의 움직임에 속도의 개념을 넣어 보는것이 좋을것 같아요. 이제 장애물이 움직이게 했으니까 공룡을 뛰게 만들어 보아요. 공룡을 뛰게 만든다는건 우리 눈에 보이는 모습인것이고, 실제는 공룡의 왼발 이미지와 , 오른발 이미지가 번갈아가면서 보여지게 되면 뛰는것처럼 보이게됩니다. 그래서 준비해야하는 이미지는 아래와 같은 이미지에요. 위 뒤개의 이미지가 번갈아 가면서 움직이게 되는것이죠. 위 이미지는 https://github.com/devraccon/PracticeGame1/tree/master/images (요기 링크에서 다운 받으실수 있어요) 이렇게 두개의 이미지가 준비 되었다면..
10. 장애물 넘기 게임 - 3부 이제 장애물을 게임화면에 배치하고 배치된 장애물이 이동되게 만들어 보아요. 장애물 이미지를 찾아서 앞에 공룡이미지를 넣었던 디렉토리에 넣어 두겠습니다. 이런 모양이 될거에요. (여러분이 원하는 디렉토리로 하셔도 됩니다. 단! .PracticeGame1 처럼 게임프로젝트 내에 존재해야해요. 이유는 나중에 다시 설명할게요) 준비된 이미지를 load 합니다. image_tree = pygame.image.load("images/tree.png") #화면의 제일 우측에 장애물을 위치하게 해준다. tree_height = image_tree.get_size()[1] tree_x = MAX_WIDTH - 30 tree_y = MAX_HEIGHT - tree_height 각 라인(줄) 별로 설명을 해볼게요. 첫번째 ..
9. 장애물 넘기 게임 - 2부 이제 앞에서 내용에 이어 공룡이미지와 장애물 이미지르 나오게 하는 부분에 대해 알아 보아요. 하나하나 기능과 파이썬 코드들을 알아가는데 어렵고 오래 걸려서 힘들고 지루하다고 생각하는 사람들이 많을것 같아요. 하지만 이제 시작하는 부분이라 이런 시간이 꼭!! 필요합니다. 이런 시간들이 쌓이고 쌓여가는 과정이 바로 경력! 실력!이 되어가는 것이니까요. 앞에 작성한 코드에 붙여서 공룡이미지를 어떻게 나오하는지 알아 보아요. 먼저 공룡이미지가 필요하겠죠? 공룡이미지는 각자 원하는 이미지를 사용하셔도 됩니다. 공룡이미지는 https://github.com/devraccon/PracticeGame1/blob/master/images/dino1.png 요기서 다운받으셔도 됩니다. 이렇게 준비한 이미지는 아래 그림처럼..

반응형