본문 바로가기

Develop Study142

(25.04.22) Spring Security 인증 인가를 통한 Login 기능 - Filter & JWT에 대해 2025.03.20 - [[Gena Co.] Internship Project/GENA Labeling Tool] - Gena Labeling Tool 개발기 : 기획부터 PoC 까지 Gena Labeling Tool 개발기 : 기획부터 PoC 까지안녕하세요, 저는 Gena Co. 인턴 김현진(Andrew) 입니다. Gena에서 text2sql GenaSQL의 자연어(NL) - SQL query 변환 간 AI 학습을 위한 고품질의 데이터 셋을 만들기 위해, 기존 데이터 셋의 주석과 오류andrew75313.tistory.com GENA Labeling Tool의 구현 계획 이었던 Spring Security와 JWT(JSON Web Token)을 활용한 보안 전략을 수립권한(Authority)별.. 2025. 4. 22.
(25.04.21) Bounded Knapsack 아이템이 정해져 있는 배낭 문제 동전을 가지고 특정 값을 맞추는 문제다 -> 바로 Greedy 문제라고 생각해서 풀려고 했지만,가장 큰 동전이 여러개 있을 경우 1개만 사용하더라도 조건을 만족시킬 수 있는 경우의 수가 있다고 생각했다.당연히 이 알고리즘은 반례가 생길 수 밖에 없고, 이때 사용하는 게 DP 중 아이템이 유한한 배낭문제로 풀 수 있다. Q. 윤화와 준희는 솔선수범하여 쓰레기를 줍는 착한 일을 하였다. 원장선생님께서는 윤화와 준희를 칭찬하시고 과자나 사 먹으라고 하시며 동전 몇 개를 윤화와 준희에게 건네 주었다.그런데 돈을 받은 윤화와 준희는 좋아하기보다 고민에 빠지고 말았다. 원장선생님께 받은 이 돈을 어떻게 나누어 할지 고민에 빠진 것이다. 두 사람 모두 상대방이 자기보다 1원이라도 더 받는 것은 도저히 인정할 수 없어.. 2025. 4. 21.
(25.04.16) HATEOAS & Spring Boot 에서 적용하기 Spring 면접준비 및 공부를 하면서 HATEOAS라는 도구에 대해서 알게 되었는데,Swagger 처럼 문서나 UI로 작동하는 것이 아닌,클라이언트가 JSON 형태로 다음 행동을 할 수 있도록 전이 할 수 있도록 응답하는 도구로 특이하게 보였다.특히, 하드 코딩이나 또는 미리 만들어진 게 아니라, 동적으로 동작할 수 있또록 한다는 점에서학습하고 실습해보았다. HATEOAS 에 대해서 정리하고, 미리 만들어둔 간단한 User CRUD Boilerplate에 Spring Boot 의 starter 의존성을 주입해User CRUD의 Fetching(읽기) 요청에 대해 응답하는 것을 예로 들었다. HATEOAS, Hypermedia As The Engine of Application State// HATEOS.. 2025. 4. 16.
(25.04.12) DP vs LIS (Longest Increasing Subsequence) 최적의 경우의수를 나타내는 형태의 DP 알고리즘을 활용하는 문제인데, 값들의 순서를 기억할 필요는 아니기 때문에,DP로 백준문제에서 통과는 했지만,  LIS 알고리즘 이란 것을 검색하면서 우연히 알게 되어이 문제에 적용을 해보았다.KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 위해 목적지까지 번호순서대로 일렬로 서서 걸어가도록 하였다. 이동 도중에 보니 아이들의 번호순서가 바뀌었다. 그래서 선생님은 다시 번호 순서대로 줄을 세우기 위해서 아이들의 위치를 옮기려고 한다. 그리고 아이들이 혼란스러워하지 않도록 하기 위해 위치를 옮기는 아이들의 수를 최소로 하려고 한다.. 2025. 4. 12.
(25.04.05) 이분탐색의 활용 알고리즘을 보다보면, 정말 간단한 이분탐색의 활용도, 문제의 기준점을 어떻게 잡냐에 따라서 생각하는데 한참 걸리기도 한다.특히 이번 문제일 경우에도,  공유기를 멀리 떨어뜨려야 한다 -> 이분탐색을 사용한다 -> 집 순서를 left right mid로 잡아서 를 멀리 떨어 뜨려야한다. -> 그런데 집 거리가 주어진다 -> left right 을 사용하는데 조건이 있다 이런 고민이 있어 한참을 생각했던 문제이다.하지만, 템플릿을 활용하는데에 있지, 집간 거리 자체를 기준점으로 잡는다면 오히려 접근하는데 굉장히 쉬워진다. 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다.도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 .. 2025. 4. 5.
(25.04.03) Singleton Pattern & Spring Bean 면접 준비와 그리고 채용공고에서 보듯이 싱글톤 패턴을 통한 개발을 할 수 있는지 또는 이에 대한 이해가 있는지를 보기도 해,한번 더 공부하기 위해서 찾아서 정리를 했다.기본적으로 Spring 의 Bean이 싱글톤 패턴이라는 것으로만 알고 있었지만, 실제로 Singleton Pattern과는 조금 다른 점이 있고,그리고 특히, Spring Bean을 싱글톤 패턴으로 개발하는 것이 목적이 아닌 DI를 목적으로 두기 때문에,Singleton Pattern에 대해서 한번 찾아보고 공부했다.싱글톤 패턴 Singleton PatternApplication 내에서 객체를 단 하나만 생성하고, 이를 공유하는 패턴Application 상태를 유지 또는 자원을 전역에서 공유 (또는 logging 등)일종의 전역 변수처럼 .. 2025. 4. 3.
(25.03.29) 최대 사각형 구하기 알고리즘 : 히스토그램, DP, 비트마스크 Maximal Rectangle 이란 알고리즘을 비트마스크와 DP를 사용하는 예제로 풀게 되었는데,상당히 이해하는데 많은 시간이 걸렸기에.. 일단 완벽하게 이해를 하는것 보다 이렇게 작동되는지 알고 코드 흐름을 기억하는 수 밖에 없는 것 같다. 추후에 언젠가 보여질 수 있기 때문에 반복해서 코드를 기억해서 작성하기도 했다.Given a rows x cols binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area.Input: matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0".. 2025. 3. 29.