최신버전의 Spring Boot와 Hibernate버전을 사용하여 Native 컴포넌트를 빌드하면서 알 수 없는 버그를 만났습니다.. Hibernate의 Lazy 로딩에 대한 스펙이 변경 되면서 발생한 이슈인데요 현재기준 (6.4.4.Final) 버전에서 발생하고 있습니다. Hibernate가 6.2버전으로 올라가면서 enhancement 설정을 deprecated시키고 항상 byte Laze 코드를 생성하도록 만드는 설정인데요, 해당 설정이 정상적으로 적용이 안되었는지 적용이 충돌이 발생하는 이슈가 있습니다. 이때 겪었던 트러블 슈팅을 했던 과정을 간단하게 공유하고자 합니다. (무한 반복의 굴레...) 이 사건의 발단은 Spring Boot 버전을 최신버전으로 업데이트하면서 발생했습니다.. Spring..
인피니티 게임에서는 목표를 달성하기 위해 함께하는 동료들, 팀원들을 아주 중요하게 이야기 하고 있습니다. 같은 게임을 하면서 그들이 지속적으로 같은 방향을 바라봐야 우리의 무한게임을 잘 해내갈 수 있기 때문입니다. 그 중 대표적인 이야기로 의지력에 대해 이야기하고 있습니다. 의지력이란 무엇일까요? 말 그래도 지속적으로 게임을 이어나가면서 목적을 달성하기 위한 힘이 아닐까 생각합니다. 다른 말로는 사기, 오너십 등등 상황에 따라 다르게 불리기도 한다고 생각합니다. 실력보다는 동료의 신뢰 인피니티 게임에서는 이런 의지력을 유지하고 함께 나아가는 원동력에 대해 가장 중요하게 생각하는 요소를 신뢰성이라고 말하고 있습니다. 신뢰성이란 말 그대로 얼마나 믿고 맡길 수 있는가에 대한 내용입니다. 신뢰성은 개인의 능력..
[https://www.yes24.com/Product/Goods/110710700] 인피니티 게임을 읽으면서 드는 느낌과 후기를 정리해보고자 합니다. 우선, 우리는 무한게임과 유한게임의 차이를 명확히 이해해야 합니다. 유한게임은 규칙이 정해져 있고 승패가 결정되어 있는 게임입니다. 대표적으로 농구나 축구와 같이 수치적인 결과가 있는 게임이 그 예입니다. 반면, 무한게임은 승패가 명확히 정해지지 않고 규칙이나 법칙도 따로 정해져 있지 않습니다. 이 책을 읽으면서 우리는 인생과 커리어, 여러 목표를 무한게임의 플레이어로서 접근하는 연습이 필요하다는 것을 느꼈습니다. 유한게임의 시각에서 바라보면 항상 모든 것에 승과 패가 존재해야 합니다. 그래서 1등을 해야하거나 높은 연봉을 받아야 하거나, 더 좋은 회사에..
API는 서버 - 서버 또는 서버 - 클라이언트, 클라이언트 - 클라이언트 간 정보를 요청하고 전달하는데 목적을 가지고 있는데 목적을 가지고 있습니다. 풀어서 Application Programming Interface 이라고 합니다. 소프트웨어에서는 다양한 곳에서 다양한 뜻으로 사용되지만 해당 글에서는 Backend에서 제공하는 인터페이스에 대해서 이야기하려고 합니다. 해당 글에서는 Rest와 GraphQL의 깊은 이야기는 배제하고 각각의 장단점과 언제 쓰이면 좋을지에 대해 기술합니다. 주관적인 요소가 많이 들어가 있어 상황에 따라 유연하게 사용하시기를 권장드립니다! Rest API 장점 리소스를 중심으로 설계되어 있어 계층구조를 파악하고 연관관계를 알기 쉽습니다. 정해진 규칙에 대한 Response만..
DB의 테이블을 설계하면서 ID를 생성할때 일반적으로 두 가지 선택권이 존재합니다. UUID를 이용하는 방법과 DB의 Increase Number를 활용하는 방법입니다. 우선 두 가지 방법에 대해 간단하게 소개해 드리겠습니다! UUID (= Universally Unique Identifier)는 여러 버전이 존재하는데요, 일반적으로 V4를 많이 사용합니다. 이유는 Random을 이용해 생성되기 때문입니다. 총 128bit로 구성되며 Dash를 포함하여 36자의 string으로 표현됩니다. V1과 V2는 Mac Address가 포함되어 있는데 이는 서버 자체 보안이 중요할 경우 서버의 Mac Address가 탈취될 위험이 있다고 합니다. 또한 Timestamp도 포함되어 있지만 비트단위로 쪼개져 정렬은 ..
많은 개발자들은 개발을 시작하고 성장하면서 아키텍처에 대해 여러 방면으로 고민하고 나만의 방법을 찾아 나가기 시작합니다. 저는 이런 성장 과정에서 여러 성장통을 겪었는데 그때 느꼈던 점을 정리해보려고 합니다! 아키텍처를 처음 공부하고 배워나갈때 정답은 없지만 최소한 베스트는 있다는 생각으로 접근을 했었습니다. 이런 접근법은 지금 생각해보면 좋은 접근법은 아닌 것 같지만 그래도 저한테는 빠르게 나의 아키텍처를 찾는데는 도움을 주었습니다. 이런 아키텍처의 접근방식을 통해 다른 팀은 어떻게 아키텍처를 쌓아나가는지 그리고 DDD와 같은 설계 철학은 어떤 이야기를 하고 있는지 깊게 고민하고 공부하는 계기가 되게 해주었습니다. 이 과정에서 겪은 성장통은 결국 아키텍처는 정답도 없고 베스트도 없다는 생각이였습니다. ..
SNS 로그인을 백엔드에서 검증하는 방법은 2가지가 존재합니다. 오늘은 그 중 하나인 OpenID Connect 규격의 Id Token을 활용하는 방법을 간단하게 정리해보려고 합니다. 먼저 OpenId에 대해 이해하고 넘어갈 필요가 있습니다. 외부 서비스의 계정을 이용한 통합 인증 시스템인 OAuth 제정되고 현재까지 다양한 표준들이 제정되었습니다. 그중 OAuth2.0의 확장 표준?에는 OpenID Connect라는 표준이 존재합니다. 간략하게 소개하면 JWT를 기반으로 하며 JWT내에는 사용자의 여러 정보를 담아서 공개하게 됩니다. 이런 Token은 우리에게 IdToken이라는 이름으로 제공되게 됩니다. SNS 로그인을 연동하면 제공되는 Jwt 형식의 IdToken이 바로 이 OpenID Connec..
어플리케이션(서비스)의 본질은 무엇일까? * 서비스: 해당 글에서는 Web / Mobile 등에서 사용하는 Application을 지칭합니다. 사용자는 서비스를 사용할 때 어떤 행위를 할까요? 사용자는 서비스을 사용하면서 다양한 행동을 취합니다. 회원가입을 수행하고 게시글을 등록하기도 하며 다른 사람과 친구를 맺어 채팅을 하기도 합니다. 사용자의 이런 행동들은 어떤 결과를 만들고 우리는 왜 가치있다고 여길까요? 이런 행위를 통해서 사용자들은 자신만의 데이터를 생성해나가기 때문입니다. 이런 정보들이 나만을 위한 편리함을 제공할 때 사용자는 내가 사용하고 있는 서비스가 가치있다고 생각합니다. 결국 서비스는 사용자들의 입맛에 맞게 데이터를 생성하고 이용하는데 본질을 두고 있다고 말할 수 있습니다. 따라서 서비..
많은 개발자들이 성장을 갈구하고 성장하기 위해 공부를 이어나갑니다. 새로 공부한 내용을 써보기도 하고 더 좋은 구조를 만들기 위해 상당기간 고민하기도 합니다. 이런 경험들이 쌓이다 보니 항상 경계하게 되는 점들이 있습니다. 우리는 새로운 기술에 대해 항상 받아들이고 흡수해야한다는 강박이 있는지 생각해봐야합니다. 주변을 관찰하다 보면 주니어에 가까울 수록 이런 생각을 많이 하시는 것 같습니다. 새로운 기술을 배우고 도입해야 성장한다? 새로운 기술을 접하고 공부하다 보면 해당 기술에 대한 장점들에 매력을 느끼고 빠져들게 됩니다. 그러다 보면 시야가 좁아지고 반드시 필요한지에 대한 판단은 나중으로 미뤄버리게 됩니다. 그러면서 아, 나는 한 단계 더 성장했다는 착각에 빠집니다. 새로운 기술을 배웠고 도입도 해봤..
Service를 구현할때 Interface를 써야할까? Spring을 사용하다 보면 많은 서적과 안내서에 Interface를 이용하여 Service를 구현하도록 설명합니다. 하지만 왜 Interface를 활용해야하는지에 대해 자세하게 설명하는 경우는 못 본 것 같습니다. 그래서 생각없이 Interface를 사용하여 Service를 구현하는 케이스를 종종보게 됩니다. 우리는 여기서 고민해야하는 지점은 Service를 구현할 때 Interface를 써야하는가 그리고 왜 사용해야 하는가입니다. 해당 내용은 제 생각으로 정답이 아니며 각자의 철학과 사고를 바탕으로 판단해야합니다. 저는 Service를 구현할때 interface를 써야할까 라는 질문은 No라고 말하고 싶습니다. 먼저 Interface를 사용하는 ..
- Total
- Today
- Yesterday
- spring boot
- 신작
- Java
- 보따리장사
- 우주게임
- frontend
- JPA
- 인디
- 턴드림
- 유니티
- 개발일지
- studio108
- QueryDSL
- 게임 개발
- JIRA
- 튜토리얼
- JPQL
- 사이드프로젝트
- Unity3D
- 인디게임
- Lombok
- 용사
- mobx
- 게임개발
- 게임
- 개발
- spring
- 이명규
- 스크럼
- 모험
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |