MapleStory Finger Point
QR Login System 개발
·
개발창고
요즘 로그인을 할 때, QR을 통해서 로그인하는 경우가 많았다. 엄청 간편해서 많이 사용하고 있는데, 문득 그런 생각이 들었다."어떻게 개발되었을까?", "이런 혁신적인 아이디어는 어디서 나온 걸까" 뭐 이런 생각들...? 그래서 이번에는 QR 로그인 시스템을 구축해보고 조금이나마 원리를 파악해보려고 한다. 논문으로 알아보는 QR Login뭔가 필자 마음대로 개발하려다보니 잘못된 정보를 전달할 것 같아 두려웠다.그래서 대학생 때의 마음가짐으로 돌아가 논문을 찾아보았고 2가지 fit 한 논문을 찾을 수 있었다. (논문 출처는 해당 챕터 아래에 있다!) 두 가지 논문을 ChatGPT와 함께 같이 읽어보았고, QR Login의 특징을 작성해보려고 한다. 👨‍🏫 왜 QR Login 시스템을 활용해야하는가?..
Kafka 공부하기 (with Spring Boot)
·
SPRING
요즘 프로젝트를 하다보니 API, 화면 공장장이 되어서 공부를 하고싶다는 생각이 들었다.그래서 미뤄왔던 카프카에 대해 알아보아야겠다고 다짐했다. 해당 글은 카프카의 기본과 간단한 실습으로 구성되어 있으니카프카를 잘 모르지만 공부해보고 싶은 분들에게 좋은 글이 되었으면 좋겠다. Kafka의 역사이건 갑자기 궁금한건데, 어떤 똑똑한 사람이 kafka를 만들었고 왜 만들었는지 궁금해졌다. 그래서 찾아보던 중, 우리에게 익숙한 플랫폼인 LinkedIn에서 Kafka를 개발했다는 사실을 알게되었다. https://engineering.linkedin.com/kafka/kafka-linkedin-current-and-future Kafka at LinkedIn: Current and FutureThe LinkedI..
오타니 캘린더 개발 (大谷カレンダー)
·
개발창고
요즘 날씨가 더워서 그런지 행동이 느리고 게을러졌다..이렇게 사는 건 시간이 너무 아깝다. 뭐라도 해야겠다는 생각이 번쩍 들었다. 그래서, 다이소에서 목표 달성 플래너를 구입하려고 했다.스읍 근데 생각해보니 수기로 목표 달성을 관리하는 건 개발자 관점에서 매우 비효율적이다.그래서 시중의 앱을 찾아보았는데, 뭔가 내 입맛에 맞지 않았다. 안 되겠다. 그냥 나만의 캘린더를 만들 수밖에... 최고의 동기부여 - 오타니어떤 테마의 캘린더를 만들까 고민하던 중, 문득 오타니 쇼헤이 선수가 떠올랐다.꾸준한 트레이닝으로 타자로서 최고의 성적을 유지하면서도, 투수 복귀까지 준비하고 있다니.. 배고파서 군것질을 준비하는 나와는 전혀 다른 행보를 걷고 있다. 그래서 캘린더의 테마는 ‘오타니 쇼헤이’로 정했다. 단순한 팬..
MyBatis와 Entity 생성자에 대한 고찰
·
SPRING
이번에 프로젝트 설계부터 개발까지 모두 진행하게 되었다. 설계할 때, 중요한 요소 중 하나인 코드컨벤션을 작성하고 있는데, 4개의 프로젝트를 진행하면서 가장 규격을 세우고 싶었던 게 바로 MyBatis에서 Entity 매핑할 때 적합한 어노테이션과 생성자를 정의하는 것이였다. 왜냐면 많은 사람들이 너무나도 다르게 Entity를 선언하고 있었다. 누구는 @Data를 쓰고 누구는 @AllArgsConstructor를 쓰고 이러다 보니 유지보수할 때, 어떤 방식을 따라가야 할지? 어떤 게 적합한지? 의문이 들었다. 그래서 오늘은 MyBatis에 활용하기 위한 Entity를 선언할 때, 어떤 방식이 적합할지? 한번 알아보자! MyBatis는 Entity 매핑을 어떻게 하는가?어떤 방식이 적합한지 파악하기 앞서,..
실무 예제로 배우는 Template Method Pattern
·
SPRING
여느 때와 같이 운영업무를 진행하고 있었는데, 특정 필드의 수정이력을 쌓아달라는 요청이 왔다.그래서 우리 프로젝트의 History를 쌓는 로직을 살펴보고 있었는데, 도서에서만 접한 Template Method Pattern이 적용되어 있었다. 그래서 이번 주제는 Template Method Pattern에 대해 간단하게 설명하고 실무에 적용된 Template Method Pattern 예제를 통해 도입을 고민하는 분들에게 조금이나마 도움을 주고싶다. Template Method Pattern 설명GoF의 디자인 패턴 도서에서는 템플릿 메서드를 아래와 같이 정의하고 있다."템플릿 메서드 패턴은 알고리즘의 골격을 정의하고, 일부 단계를 서브클래스에서 구현하도록 한다. 즉, 알고리즘의 구조는 변경하지 않으면서..
[운영일지] IF 지옥을 벗어나보자.
·
운영일지
'운영일지'라는 카테고리를 만들어보았다.아무래도 현재 팀은 서비스 운영하는데 초점을 두고 있기 때문에 운영을 하면서 생긴 노하우, 지식이 많을 것이라고 생각했다. 다만, 팀에 들어온지 한달이 안되었기 때문에 업무자체가 단순 오류수정이 많아 성능을 개선한다거나 구조를 변경한다거나 이런건 없어서 초반에는 Clean Code에 관련한 내용이 더 많을 것 같다. 그리고 운영일지의 글 흐름은 문제 상황(운영 접수 건) > 고민사항 > 해결 방안 순으로 진행하려고 한다. 필자와 동일한 고민을 했던 사람들에게 공감을 이끌어낼 수 있는 글을 앞으로 작성하려고 한다. (띵동) 쪽지가 도착했습니다.쪽지 내용을 살펴보면 변경이력을 관리할 때, DB에서 사용하는 코드 값이 아닌, 사용자가 알 수 있는 실제 값으로 변경해달라는..
GC Overhead limit exceeded 로 시작하여 JVM ... (생략)
·
JAVA
새해를 맞이하여 회사에서 나에게 서프라이즈를 준비해주었다.그것은 바로 팀이동이였다..!! (사실 n번째라 놀라지 않음)어찌되었든 새로운 환경에서 살아남기 위해 다시 치열하게 싸워보려고 한다. 팀이동을하면 가장 먼저하는게 무엇인가?바로, 개발환경 세팅이다. 프로젝트를 clone하고 build를 진행했다.위 이미지같이 GC overhead limit exceeded 원인으로 OutOfMemoryError가 발생하고 있다. 잉..? 이런 에러는 살면서 처음보았다.빨간줄을 없애보자 Build 시, GC overhead limit exceeded를 해결하는 것은 Intellij 환경에서는 식은 죽먹기이다. Intellij의 Setting > Build, Execution, Deployment > Compiler ..
LIKE Wildcard 검색을 막아보자(MySQL, MyBatis)
·
SPRING
크리스마스 기념으로 글을 발행하려고 한다. 다들 크리스마스라고 어디 나가지말고 집에서 개발 공부를 해보자!! (경험치 2배 이벤트) 이전 글에서 SQL Injection에 대해 자세하게 알아보았다. SQL Injection (MyBatis, SQL LIKE 절)회사에서 프로젝트를 진행하면서 SQL Injection 이라는 공격에 처음으로 당해보았다.다행히도 아직 오픈 전이라 십년감수했다.. ^ 3^ 그래서 이번 주제는 SQL Injection은 뭔지? 그리고 MyBatis, 쿼리 문에mjoo1106.tistory.com다양한 공격 방법 중, 실제 프로젝트에 적용한 LIKE wildcard 공격을 막을 수 있는 방법을 소개하고자 한다.하지만, 이전 글을 보지 않고 바로 해당 게시물에 진입한 독자들도 있으니..
📌 공지사항

1. 광고 댓글 자제 부탁드립니다😭😭

2. 업무 중에는 질문 답변이 늦을 수 있습니다!

3. 초보자라 잘못된 부분이 많습니다
     많이 알려주세요😊

4. 이 블로그가 성공하더라도 광고로 수익 창출
     하지 않겠습니다🫡


📧 mjoo1106@naver.com