분류 전체보기
-
Hindex - 프로그래머스 [자바]CodeingTestPrac/Java Coding Test 2023. 11. 6. 16:54
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42747 문제 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니..
-
[모던 자바 인 액션] part 1 - 1Java&Spring/Java 2023. 11. 3. 16:24
"Stream 을 이용하면 에러를 자주 일으키며 멀티코어 cpu를 이용하는 것보다 비싼 synchorized 를 사용안해도 된다" "synchronized" 키워드는 다음과 같은 비용을 수반할 수 있다. 대기 시간(Wait Time): 한 스레드가 락을 획득하기 위해 다른 스레드가 락을 해제하기를 기다려야 할 때 발생합니다. 이는 특히 공유 자원에 대한 경쟁이 치열할 때 성능 저하를 가져온다. 컨텍스트 스위칭(Context Switching) 비용: 락을 기다리는 스레드들 사이에서 발생하는 컨텍스트 스위칭은 CPU 시간을 소비한다. 메모리 일관성 비용(Memory Consistency Costs): 락을 사용하여 메모리 캐시 사이의 데이터 일관성을 유지하는 데 있어 추가적인 메모리 배리어(memory b..
-
DTO , VO - "내 돈 1000원이 달라서 핫식스를 못 먹는다고 ?"ProgrammingTheory/DDD 2023. 10. 27. 13:25
이글은 테크톡의 각종 영상과 각종 블로그를 읽고 작성한다. 최종 수정 : 2023 년 10월 27일 , 최초 작성일 2023.03.27 이 글은 DTO , VO 그리고 lombok 의 @Data 를 다룬다 DTO ,VO 둘다 데이터를 저장하는 객체(Object)이다. DTO는 데이터를 전송하기 위한 객체이며 불변일 수 도 있다. VO 는 값에 관한 객체이며 일반적으로 불변이여야 한다. DTO : Data Transfer Object (데이터. 전송. 객체) 처음 단어를 보았을때 엥 이게 뭐야 라는 생각을 했었다. DTO 를 DDD 의 Layerd 아키택처에서 다음 두가지 경우로 이용 할 수 있다. 1. API Layer 즉 controller 단에서 사용자와 데이터를 특정 형식으로 주고 받는 경우 . 2..
-
AWS 스왑 파일을 이용한 메모리 늘리기Project/TravelFeelDog 2023. 10. 25. 17:11
프로젝트 빌드와 배포중 빌드시간이 코드가 늘어감에 따라 증가하여 메모리를 늘리기로 하였다. 기존) $ free total used free shared buff/cache available Mem: 1892324 1097460 530728 1448 264136 638868 Swap: 0 0 0 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 29G 3.9G 26G 14% / tmpfs 924M 0 924M 0% /dev/shm tmpfs 370M 1.0M 369M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/nvme0n1p15 98M 6.3M 92M 7% /boot/efi tmpfs 185M 4.0K 185M ..
-
Spring Security OIDC,JWT : 모바일/웹 연동 (2)Project/TravelFeelDog 2023. 10. 18. 12:21
이전 글입니다. https://chosunghyun18.tistory.com/177 Spring Security OAuth2 ,JWT : 모바일/웹 연동 (1) 이글은 Firebase 에서 OAuth2 , JWT 전환기(4) 에서 이어지는 글 입니다. https://chosunghyun18.tistory.com/176 Firebase 에서 OAuth2 , JWT 전환기(4) : 예외처리 지금까지 FireBase 를 사용한 시나리오에서 OAuth2 , JWT를 사 chosunghyun18.tistory.com 특정 url 을 통해 구글 로그인 페이지를 열고 로그인 하여 url 의 jwt 토큰을 받는 것을 만들었습니다. 이번에는 안드로이드 어플리케이션을 통하여 확인 하겠습니다. 로그인시 시퀀스 다이어그램은 ..
-
EC2 가비아 - 도메인 등록 + Nginx & CertBotProject/TravelFeelDog 2023. 10. 16. 18:33
Https 의 통신을 위하여 Certbot 을 사용한 권한 증명을 받는 구성을 합니다. 3 번째로 시스템을 구성 하며 기억을 위하여 글을 작성해 봅니다. 사전 준비 1. AWS 의 EC2 를 구성합니다. 2. 인바운드 아웃 바운드를 구성하고 탄력적 IP 를 할당받습니다. 3. 퍼블릭 IPV4 주소를 확인합니다. 가비아 준비 가비아의 경우 37 프로 이벤트를 진행하는 중으로 1년 도메인 구매시 16500 원입니다. AWS 의 도메인 서비스 Route53을 사용하여도 좋습니다. + 2023 년 연초에 가비아는 디도스 공격을 받아 도메인 서비스 이용이 반나절 중단된 상황이 있었습니다. 구매한 가비아의 DNS 설정을 합니다. 호스트가 @ 인 경우 http://sunghyun98:8080 호스트가 api 인 경우..
-
Spring Security OAuth2 ,JWT : 모바일/웹 연동 (1)Project/TravelFeelDog 2023. 10. 16. 15:28
이글은 Firebase 에서 OAuth2 , JWT 전환기(4) 에서 이어지는 글 입니다. https://chosunghyun18.tistory.com/176 Firebase 에서 OAuth2 , JWT 전환기(4) : 예외처리 지금까지 FireBase 를 사용한 시나리오에서 OAuth2 , JWT를 사용한 시나리오로 변경한 것은 다음과 같습니다. 1. 사용자는 구글 로그인 버튼이 있는 홈페이지에 접속합니다. - 테스트를 위한 홈페이지 chosunghyun18.tistory.com 필요한 작업의 목록은 다음과 같습니다. 1. OAuth2 로그인이 가능한 Spring 의 내장 정적페이지를 유지한 상태로 mobile 에서 사용할 API 를 개발합니다. 2. 권한별 처리를 만듭니다. 사용자의 분류의 따라 GU..
-
Firebase 에서 OAuth2 , JWT 전환기(4) : 예외처리Project/TravelFeelDog 2023. 10. 14. 18:55
지금까지 FireBase 를 사용한 시나리오에서 OAuth2 , JWT를 사용한 시나리오로 변경한 것은 다음과 같습니다. 1. 사용자는 구글 로그인 버튼이 있는 홈페이지에 접속합니다. - 테스트를 위한 홈페이지로 RESTful API 를 지원하는 Spring 서버 어플리케이션을 만드는 것을 목표로 합니다. 2. 사용자는 구글 로그인을 통한 인증을 진행 합니다. - 인증이 완료가 되면 리소스 서버(Spring-MySQl)에 GUEST 로 저장이 됩니다. 3. 구글 로그인을 통한 인증이 완료된 사용자는 추가적인 API 를 호출하여 회원가입을 진행 합니다. - 회원 가입이 완료가 되면에 USER 로 저장이 됩니다. 다음 필요한 작업입니다. 1. 구글 로그인을 하는 유저에게 토큰을 갱신 해주는 기능이 필요합니다..