본문 바로가기
반응형

분류 전체보기127

SpringBoot Framework 회원 서비스 스켈레톤 jpa H2 Gradle redis 0편 안녕하세요 앵과장입니다. 벌써 2021년 11월 입니다. 저에게는 참 여러가지 운이 따라주지 않고 있는 상황이네요 성장보다는 안타까운 상황들이 좀더 많은것 같습니다. 나쁘다면 경험이고 좋았다면 추억인데 경험만 한것 같은 한해입니다. Springboot Framework User Service API Skeleton 예전에는 참 다양한 방법으로 서비스 플랫폼을 구축하기 위한 다양한 스켈레톤을 만들었는데 최근 참여한 프로젝트에서는 Legacy분석 및 운영 및 파트를 담당하는 팀장역활과 커뮤니케이션 컨트롤 타워를 하면서 집에서는 내 미래를위한 재태크 성장만 해서 그런지 요런 토이 프로젝트 할일이 거의 없었던것 같습니다. 역시 회사놈들 돈주는 이유가 다있네여 하고싶은거 할시간이 없습니다. 진행순서 (어디부터 해.. 2021. 11. 16.
Springboot 객체 바인딩 Jackson ObjectMapper 그리고 Jackson Annotation Json to Object 안녕하세요 앵과장입니다. 어떤 포지션에 있냐에 따라서 집중하고 있는 상황이 항상 달라지긴 하는데 최근 외부 도메인을 접근해서 가져오는 행위를 할일이 많지 않았는데 오랜만에 한번 어떻게 사용하는지 아직도 이렇게 사용해도 되는건지 진행하겠습니다. 위메프 와 여기어때에서는 티켓 유가증권 상품 연동한다고 몇달동안 External 처리만 했는데.. 안하면 기억이 안나는군요 Jackson ObjectMapper Jackson의 ObjectMapper 클래스를 이해하는 것과 자바 오브젝트를 JSON으로 시리얼라이징하거나 JSON 문자열을 자바 오브젝트로 디시리얼라이징 하는 방법에 집중하여 작성되었다. 일반적인 Jackson 라이브러리에 대해 더욱 이해하고 싶다면 Jackson Tutorial 을 참고하세요 https.. 2021. 11. 9.
브라우저 와 서버 사이를 이어주는 쿠키(Cookie) 세션(Session) 토큰(Token) JWT 간단한 정리 안녕하세요 앵과장입니다. 오늘도 벌써 2021년 10월이 지나가고 있는 9호선 급행 지하철 입니다. 몇년동안 Frontend 개발에 대해서 진행을 안하다보니 cookie, session, token, jwt에 대해서 빈번하게 사용할 일이없다보니 잠깐 잊고 있던것들에 대해서 가끔씩 이거 맞나 할때쯤 회사에서 네이티브 앱에 있는 기능을 하이브리드 앱으로 변경하면서 회원 정보 공유에 대해서 고민 해야하는 경우가 발생했는데 미리좀 알았더라면 커뮤니케이션 비용이 줄어들수 있었을 텐데 하는 아쉬움이 생겨 정리 합니다. Cookie 와 Session Cookie 쿠키는 브라우저 에서 특정 도메인 정보를 호출할때 보내지는 정보 입니다. Request 정보를 브라우저는 보내고 원하는 정보인 Response정보를 받을수 .. 2021. 11. 2.
객체지향 설계 5원칙 (SOLID) 안녕하세요 앵과장입니다. 한때는 한참 객체지향 설계에 대해서 물어보는 회사들이 많이 있는데 꼭 알아야만 하는 건 아니지만 알면 정보에 하나가 될 수 있으니 가볍게 정리만 해보도록 하겠습니다. 아시죠 말보다는 실천과 행동이 중요하며 서비스를 지속적으로 성장시킬 수 있는 구조와 꾸준한 리펙토링이 동반되어야 합니다. 설계의 원칙 지금은 다양한 방법들이 존재하며 서비스에 상황 그리고 목적에 따라 변할 수 있습니다. 서비스는 항상 일관성이 유지되어야 하며 직관적이며 협업하는 관계에서는 더 좋은 방법도 중요하지만 모두가 동일한 도메인에 대한 지식과 커뮤니케이션 가능한 코드가 우선인 점 항상 유념해주시면 좋을 것 같습니다. 책임(Responsibility) 특정 액터의 요구사항을 만족시키기 위한 일련의 함수의 집합 .. 2021. 10. 20.
마이크로서비스 MSA 코드 파편화 복잡도 최소화 안녕하세요 앵과장입니다. 마이크로 서비스에 대해서 오랜만에 생각 정리를 해볼까 합니다. 닭잡는데 소잡는 칼이 필요는 없지만.. 모놀리딕, 마이크로서비스 말이 많지만 오늘은 마이크로서비스만 집중해보도록 하겠습니다. 마이크로 서비스 마이크로 서비스를 처음 시작한 게 SKP 개발자센터 프로젝트를 만들 때 처음 시작했을 때니 2011~2012년도였던 것 같습니다. 마이크로 서비스라는 개념이 잘 이해가 되지 않았는데 지금은 여러 서비스 플랫폼에서 많은 사용을 하고 있습니다. 마이크로 서비스는 현재 엔터프라이즈급 또는 새로 시작하는 스타트업에서도 많은 부분 프로덕트 구성에 있어서 적합한 트렌드라고 생각됩니다. 다만 AWS 구성에 대한 비용 MSA 아키텍처에 필요한 리소스 등을 전부 초반에 만족시키기에는 부담스러울 .. 2021. 10. 15.
알고리즘 8편 Hash 난이도3 베스트앨범 lamda 함수형 코틀린(kotlin) 으로 시작하는 문제해결방법 안녕하세요 앵과장입니다. 베스트 앨범 Hash 난이도 3 문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요. 제한사항 genres [i]는 고유번호가 i인 노래의 장르입니다.. 2021. 10. 4.
알고리즘 7편 Hash 난이도2 key value 위장 의상경우의수 코틀린(kotlin) 으로 시작하는 문제해결방법 안녕하세요 앵과장입니다. 오늘은 프로그래머스 Hash 난이도 2 위장 코딩해보도록 하겠습니다. 프로그래머스에서 3번째 문제이며 1번 2번을 풀어보셨다면 3번째도 풀어볼 수 있을만한 난이도입니다. 그럼 지금 시작하도록 하겠습니다. package com.programmers.problem /** * 문제 설명 BJ들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 BJ가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류이름 얼굴동그란 안경, 검정 선글라스 상의파란색 티셔츠 하의청바지 겉옷긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때.. 2021. 9. 21.
알고리즘 6편 Hash 로 2개 배열 중복값 찾고 지우기 코틀린(kotlin) 으로 시작하는 문제해결방법 안녕하세요 앵과장입니다. 2021년 그것도 9월이네요 벌써 내 나이 40대 초반도 지나가고 있네요 오늘은 연휴 시작 토요일입니다. 다들 즐거운 한가위 추석 되시고 놀지 말고 공부하세요 알고리즘 문제는 다양한 곳에서 찾아서 배울 수 있으니 시간 날 때마다 풀어보시기 바랍니다. Hash hash에 대한 문제를 풀기 전에 우선 우리가 소스에서도 많이 봐왔던 Hash에 대해서 가볍게 알고 넘어가도록 하겠습니다. hash 많이 쓰잖아요? HashMap HashSet HashTable HashArray Hash를 그토록 쓰는데 Hash에 대해서 설명을 해봐!? 어.. Hash 요? Key, Value로 이루어진 데이터 정도라고 설명할 수는 있는데 좀 더 이해할 수 있도록 설명 가능한 방법이 있을까요? 또 제가 좋아.. 2021. 9. 18.
알고리즘 5편 특정 문자열 찾기 및 최소거리 탐색 코틀린(kotlin) 으로 시작하는 문제해결방법 안녕하세요 앵과장입니다. 알고리즘 잘해쳐나가고 있나요? 저도 개발을 이렇게 나이먹고 문제해결방법 하고 있을줄은 몰랐습니다. 아에 못할거라고 생각하고 접근을 안했는데 하니까 됩니다. 갑자기 이런짤이 생각이 나네요 이제는 고인이되신 현대그룹 정주영 회장님입니다. 일단 해보시기 바랍니다. 좀더 일찍해볼껄 그랬네여 문자열 과 문자에대한 부분을 단계적으로 접근하면서 느낀건 아무것도 모르면 기초부터 하나씩 풀어나가는게 필요한것 같습니다. 오늘의문제 문자열 a 에 문자 s를 0으로 변경하고 문자s를 기준으로 1씩 증가되는 문자열을 만들어보세요 문자열 a : "abcdeapplea" 문자 s: 'a' abcdeapplea 01221012210 이렇게 나와야 정상적인 출력입니다. 음..... 전 아직인가봅니다 어떻게 해.. 2021. 9. 16.
알고리즘 4편 정규표현식 말고 아스키 코드로 문자 숫자 필터링하기 코틀린(kotlin) 으로 시작하는 문제해결방법 안녕하세요 앵과장입니다. 모든 문제풀이는 kotlin 으로 진행하겠습니다. 오늘은 문자를 처리할때 알파뱃 대소문자만 필터링할때 또는 숫자만 처리할때 필요한 문자열처리에 대해서 알아보려고합니다. 빈도수는 자주 사용되는점 인지하세요!! 문자열을 필터링 할때 보통 어떻게 진행 하시나요? 문자열 필터링 저는 주로 regex 정규표현식으로 처리를 한적이 많습니다. 많은 샘플들이 정규표현식을 선호하기도합니다. 인터넷 검색해보면 많은 사람들이 정규표현식을 사랑합니다. 원하는 문자열에 형태를 validation 할수 있습니다. 오늘의 문제 영어 알파뱃과 특수문자로 이루어진 문자열중에서 영어 알파뱃만 뒤집고 특수문자는 자기자리에 있는 문자열로 출력해보세요 예시) A!P!P!L!e e!L!P!P!A val regex = .. 2021. 9. 14.
알고리즘 3편 Char 문자열 뒤집기 한판 코틀린(kotlin) 으로 시작하는 문제해결방법 안녕하세요 앵과장입니다. 모든 문제풀이는 kotlin 으로 진행하겠습니다. Java 만 하다 보니 좀 다른 언어로 진행해보고 싶었고 앞으로 kotlin으로 개발을 해보고 싶다는 생각도 들어서 알고리즘부터라도 진행해보도록 하겠습니다. 문자열 관련 문제를 풀다 보면 단계적으로 비슷한 부분들을 학습하게 됩니다. 문자열을 char배열로 변경해야 한다든가 또는 대소문자만 가지고 와야 한다든가 뒤집어야 할 때 말입니다. 여러 가지 방법으로 진행할수 있지만 현재 단계는 1단계라는 점 그리고 가장 가볍게 여러가지 생각을 하지 말고 접근하는 법부터 진행해야 합니다. 우선 내가 현재 알고 있는 지식으로 최대한 문제를 접근해봅니다. 그래야 리펙토링을 하더라도 이해가 될 수 있기 때문입니다. 처음에 시간이 오래 걸린다고 해서.. 2021. 9. 13.
알고리즘 2편 문장(문자열) 과 단어 코틀린(kotlin) 으로 시작하는 문제해결방법 안녕하세요 앵과장입니다. 이거 굳이 -0- 이런 말 안 해도 되는데 일단 제가 하는 게 항상 최선에 방식도 아니고 더 좋은 개발 방법이나 잘하시는 분들이 있을 겁니다. 저도 10년 차 이상 개발자이지만 이런 거 해본 적도 없는 안타까운 직장인이라 공부한다는 접근이니 소스에서 좀 더 좋은 방법이 있다면 댓글로 추가해주시면 저도 공부하면서 많은 도움이 될 것 같습니다. 모든 문제풀이는 kotlin으로 진행하겠습니다. Java 만 하다 보니 좀 다른 언어로 진행해보고 싶었고 앞으로 kotlin으로 개발을 해보고 싶다는 생각도 들어서 알고리즘부터라도 진행해보도록 하겠습니다. 문장(문자열) 과 단어 오늘은 문장 과 단어를 처리하는 문제를 풀어보도록 하겠습니다. 문장 그리고 단어 단어들이 여러 개 있는 형태를 문장.. 2021. 9. 13.
728x90