2022/02/18 3

[Spring] Spring POJO 설명

Spring 본질이자, Spring 관련 글들을 읽으면 왠만해선 항상 나오는 POJO...이를 설명하고자 포스팅했습니다. POJO란? Plain Old Java Object의 약자로 단순한 자바 오브젝트라는 뜻입니다. 객체 지향적인 원리에 충실하면서 환경과 기술에 종속되지않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트를 뜻합니다. 그러한 POJO에 어플리케이션의 핵심로직과 기능을 담아 설계하고 개발하는 방법을 POJO 프로그래밍이라고 합니다. 무엇을 POJO라고 부를 수 있나요? 1. 특정 규약에 종속되지 않는다. Java와 꼭 필요한 API외에는 종속되지 말아야합니다. EJB2와 같이 특정 규약을 따라 만들게 하는 경우는 대부분 규약에서 제시하는 특정 클래스를 상속하도록 유도하고 있습니다...

Spring 2022.02.18

[괴발개발] TODO 웹 개발 노트 - 회원가입과 비밀번호 암호화

원래는 그냥 평문으로 저장을 하고자하였지만, 최소한의 암호화는 해야한다고 생각이 들어 암호화를 하도록 하였습니다. 일단, 먼저 기존 엔티티 중 회원(Member) 엔티티 코드를 조금 수정하였습니다. UserDetails 이라는 인터페이스를 구현을 합니다. 일종의 권한 및 핵심 사용자 정보를 편하게 저장시켜주는 인터페이스이기에 사용합니다. 자세한 내용은 이 글을 참조해주세요. (잘 정리되어 있어 도움이 많이된 글입니다.) @ElementCollection(fetch = FetchType.EAGER) @Builder.Default private List roles = new ArrayList(); @Override public Collection

Spring/괴발개발 2022.02.18

[프로그래머스] 더 맵게

※ 해당 문제의 링크는 여기입니다. ※ 프로그래머스에서 설명되어 있듯이 "힙을 이용해서 우선순위 큐를 구현할 수 있습니다." 라고 설명되었있습니다. 우선순위 큐와 힙에 대해서 궁금하신 분들은 링크 참조해주세요. 제한사항 스코빌의 길이는 2이상 1000000 입니다. K는 0이상 1000000000 입니다. 스코빌의 원소는 각각 0이상 1000000 입니다. 모든 음식의 스코빌 지수를 K이상으로 만들 수 없다면 -1를 반환합니다. 문제는 레벨 2 치곤 꽤 쉬운 편입니다. (레벨 1에서 이상한 문제를 만난 적이 있어서 일종의 트라우마가 생겨버린 것 같기도;;) 그리고 효율성 테스트까지 있기때문에 시간복잡도도 적당히 꼬아야합니다. (재귀함수를 사용해서는 효율성 테스트를 통과하기 어렵다는 의미입니다.) 알고리즘..