MapleStory Finger Point
Java에서 Stack Class는 함정카드다.
·
알쓸신자
프로젝트를 진행하다가 Last In First Out과 같은 자료구조를 활용한 경험이 있다.그래서 Stack을 사용하려고 했는데, 얼핏 누군가가 나에게 "Java Stack은 지양해주세요." 라는 말을 했던 것 같다..  Java에서 Stack 사용을 왜 지양해야하는지, 공부했던 내용을 공유하고자 한다.Stack은 무엇인가요? 스택에 대한 내용은 이미 잘 아시겠지만~ 리마인드 차원에서 간단하게 짚고 넘어가보자!스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조이며 Last In First Out 매커니즘을 가지고 있다. Java에서 간단한 Stack 사용법을 보자면..import java.util.Stack;// initStack st = new Stack();// pushst.push(1);s..
정적 팩토리 메서드(Static Factory Method) 맛보기
·
SPRING
이번에 프로젝트를 진행하면서 정적 팩토리 메소드를 도입해보았는데, 동료들에게 꽤 좋은 평가를 받아 이번 주제로 글을 작성해보려고 한다..!! 이번 글을 한줄 요약하자면 정적 팩토리 메소드란 무엇이고 도입 배경을 소개하는 것이다. 정적 팩토리 메소드 정적 팩토리 메소드는 23개의 디자인 패턴을 수록한 'GoF' Design Patterns에서 소개하고 있는 팩토리 메서드를 응용한 디자인 패턴이라고 생각하면 된다. 오호라.. 그렇다면 팩토리 메소드를 이해하지 않고는 정적 팩토리 메소드를 이해하기란 어렵다는 말씀?! 꼭 그렇지는 않지만 완전한 이해를 위해 GoF 디자인 패턴 책에서 소개하고 있는 "팩토리 메서드"를 먼저 알아보고 "정적 팩토리 메서드"에 대해 설명하겠다. 팩토리 메서드(Factory Metho..
Naver Open API 연결 어렵나?
·
SPRING
요즘 프로젝트가 끝나서 여러가지 삽질을 하고 싶어졌다!! 그러다 문득, 학부생 때 네이버 지도와 연결하는데 실패한 경험을 떠올렸다. 그래서 이번 기회에 Naver Open API를 사용해보면서 네이버 지도 api까지 연동해보고자 한다. 오늘은 가장 쉬운? papago API를 연동해보고자 한다. 별로 어렵지 않으니 블로그 내용만 보고도 바로 적용 가능할 것이다!!! Naver Open API Setting 프로젝트에 적용하기 전에 Naver Open API 세팅을 먼저 진행해보자~ https://developers.naver.com/main/ NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 ..
[정적 코드 분석] sonarQube 사용해보기
·
개발창고
"구글 엔지니어는 이렇게 일한다" 라는 책을 읽고 있는데, 정적 분석에 대한 중요성을 강조하고 있었다. 그래서 호기심이 생겨 정적 분석을 해보고 싶었는데,, 현재 우리 팀에서는 사용하고 있지 않다.. ㅜㅜ 그래도 포기할 수 없어서 팀 몰래 코드 정적 분석 툴을 도입해보고자 한다!!! (로컬에서 나만 사용할 예정~~) 정적 분석이 뭐야? 정적 분석이란 소프트웨어 개발 단계에서 소스 코드를 실행하지 않고도 코드의 구조, 문법, 품질 등을 분석하는 것을 의미한다!! 그렇다면 굳이 소스 코드를 돌려보지 않고 분석을 하는 이유는 무엇일까? 1. 버그와 결함의 조기 발견이 가능하다. 코드를 실행하기 전 상태이기 때문에 버그를 조기에 발견하여 수정할 수 있고, 이후 소프트웨어 개발 과정에서 발생할 수 있는 비용과 시..
[Spring] Static Class, Custom Builder 소개
·
SPRING
요즘 날이 너무 더워서 사망 직전까지 가고있다.. 근데,, 비까지 많이 오니 최악이다.. 그러니 블로그라도 활기차게 써야겠다 ^ 3^ 요번에는 Static Class와 Custom Builder 패턴에 대하여 소개하겠다. 이 부분도 현업에서 가장 많이 사용하고 있는 부분인데, 가독성 좋은 코드를 짜기에 매우 좋다고 판단하여 이번에 소개하고자 한다. Static Class 현업에서 Static class는 클래스 내부에서 클래스를 지정할 때 사용하고 있다. 아 !! 그러면 Static Class는 Inner Class를 구현하기 위해 활요하는 것!! 이라고 생각하면 쉽다. 그렇다면 어떤 장점이 있을까? 개인적인 경험을 바탕으로 가장 좋았던 장점 두 가지를 간단하게 소개하자면 1. Package 정리 저~~..
[JAVA] stream을 활용해보자
·
SPRING
취직하고 4개월 만에 다시 기술 블로그를 오픈해보고자 한다..!! 입사하자마자 신규 프로젝트에 투입되어서 할 일이 너무 많아서 잠시 자기계발에 손을 놨던 것 같다. 지금 회사로 만족할 수 없는 킹명주의 여정이 다시 시작된다 후,,, 이번에 신규 프로젝트를 하면서 for문을 많이 사용했는데, for 문에 대한 가독성 문제나 스타일 등에 대해 지적을 많이 받았다 ㅠㅠ,, 그래서 찾아보았던 것이 stream이였다. 그래서 이번에는 stream 활용에 대해 소개하고 예전에 진행했던 프로젝트에도 stream을 활용하고자 한다. Stream 너 뭐세요? 사실 내 블로그가 인기가 원래 없긴 했는데 GPT의 급 성장으로 인해 더 인기가 없어졌다 ㅠㅠ,, 그래서 GPT에게는 없는 정보가 무엇일까? 생각 해봤는데 없다 ㅎ..
[Spring] AOP 맛보기
·
SPRING
오늘은 AOP와 관련한 내용을 다루고자 한다. 순서는 AOP를 도입해야겠다고 생각한 계기, AOP란 무엇인지 그리고 간단한 실습을 통해 AOP의 2%를 맛볼 예정이다. 왜 AOP를 도입!? 작년 대외활동에서 진행한 프로젝트에 대해 자체적으로 코드리뷰를 수행하고 있다. 그런데, 각 기능을 수행하기 전 JWT 보안 인증을 거치는 중복 코드가 존재했다. 좀 더 자세하게 그림으로 설명하겠다. 위 그림을 참고해보면 게시글 작성, 조회, 삭제할 때 사용자 검증을 위한 사전 작업이 필요하다는 것을 확인할 수 있다. 물론, 이렇게 개발을 진행해도 크게 문제될 것은 없다. 그러나 요즘 clean code가 트랜드 아니겠는가!? 그래서 현재 프로젝트 구조에서 어떻게 하면 가독성 좋은 깔끔한 구조가 될지 고민하게 되었다. ..
[Spring] @Setter vs @Builder
·
SPRING
Entity, Dto를 개발하다보면 @Setter를 써야할지 @Builder를 써야할지 고민된적이 있을 것이다. 그리고 강의나 블로그에 보면 Setter 사용을 지양하라고 되어있다. "그래 Setter 사용 안할게,, 근데 왜 사용하면 안돼?" "..." 이처럼 이유에 대해 명확하게 정리한 곳이 없었다. 그래서 내가 개발을 진행하면서 개인적으로 느꼈던 이유에 대해 소개하고자 한다. 이게 수정이야? 생성이야? 우선 코드로 설명을 하겠다. @Entity @Setter @Getter public class Temp { @Id @GeneratedValue private Long id; private String name; } 해당 코드는 entity로 database의 table이다. 즉, 해당 테이블은 id와..
📌 공지사항

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

2. 다양한 의견 공유해주시면 감사하겠습니다. 😊

3. 조회 수가 1억이 넘어도 광고 붙이지 않겠습니다.


📧 mjoo1106@naver.com