HashMap을 Value 값으로 정렬하려면 어떻게 해야 할까? Value 기준으로 정렬하기 위해서는List 형태로 Map을 가져와야 한다.Map.entrySet()을 이용해서 Map의 EntrySet을 List 형태로 저장하고 이 EntrySet을 정렬한다.Map map = new HashMap();map.put("a", 3);map.put("b", 2);map.put("c", 1);List> entryList = new ArrayList(map.entrySet); Entry 내장 함수 사용먼저 Map.Entry에 있는 comparingByValue() 함수를 사용하여 정렬할 수 있다.entryList.sort(Map.Entry.comparingByValue());for (Map.Entry entry ..
분류 전체보기
오늘 저는 서버의 유형에 대해 가지고 와봤습니다!전공 수업이나 정처기 공부 중 꼭 나오는 어플리케이션 서버, 웹 서버, 웹 어플리케이션 서버 등등.. 여러 가지 헷갈리는 서버의 유형들..!!부끄럽게도 저는 공부할 때마다 대충 어떤 느낌인지만 파악했던 것 같습니다. 이번 기회로 제대로 이해해보려구요.바로 시작할게요 🚀🚀 🧑🍳: 안녕하세요 우리 레스토랑🥘🍳🥗 입니다 -!!오늘 저는 레스토랑을 예로 들어 서버의 각 역할을 설명하고, 각각의 서버가 어떤 일을 담당하는지 알려드리겠습니다! 먼저 우리의 귀한 손님을 소개합니다. 클라이언트(Client) -손님손님은 레스토랑에 와서 원하는 메뉴를 주문합니다.컴퓨터 세계에서는 이렇게 요청을 보내는 손님을 클라이언트라고 하고, 클라이언트는 서버에 요청을 보..
JUnit자바용 유닛 테스트 프레임워크구현한 기능에 대한 단위 테스트가 가능하며, 클래스 레벨 단위로도 테스트가 가능하다. 사실 이 글을 쓰게 된 건assertThat과 isEqaulTo를 쓰는 것과assertEquals를 쓰는 게 뭐가 다른지 궁금해서 찾아본 것을 정리하기 위함이다.아주 기본적인 거겠지만,이번 기회에 잘 정리해서 단위 테스트를 작성해보고자 한다. assertThat(AssertJ)와 assertEquals(JUnit)차이점 요약은 다음과 같다.특징assertThatassertEquals라이브러리AssertJ (의존성 추가 필요)JUnit오류 메시지상세하고 직관적간단함단언 메서드 다양성매우 풍부제한적확장성객체 상태 확인 등 확장성 우수단순 비교에 적합 정리해보자면,assertEquals를..
스프링 배치 (Spring Batch)스프링 배치는 대량의 데이터 처리를 위한 프레임워크로,대량의 데이터베이스 작업이나 배치 처리를 쉽게 관리하고 실행할 수 있도록 돕는다.주로 데이터 마이그레이션, ETL 작업 등에 사용되면, 대규모 작업에서 유용하다. ** 배치사용자와의 상호작용 없이 여러 개의 작업을 미리 정해진 순서에 따라 중단 없이 처리하는 것→ 일괄 처리정기 배치: 일, 주, 월과 같이 정해진 기간에 정기적으로 수행이벤트성 배치: 특정 조건을 설정해두고 조건이 충족될 때만 수행On-Demand 배치: 사용자 요청 시 수행 스프링 배치는 배치 작업을 관리하지만, 이 작업(Job)을 구동하거나 실행시키는 기능은 지원하지 않는다. 스프링에서 작업을 실행시키려면 Quartz, Scheduler, Jen..
JWT (Json 웹 토큰)JSON 웹 토큰(JWT)은 온라인 네트워크에서 정보를 안전하게 통신할 때 사용하는 인터넷 표준 토큰이다.JWT는 간결하고 URL에 안전하게 사용할 수 있다는 장점이 있다.JWT는 인증, 정보 교환 등 다양한 용도에 사용된다. 이때 주고받는 정보를 클레임(Claim)이라고 하고, 클레임의 집합은 JSON 객체로 표현한다. JWT의 두 가지 유형JWT는 JWS 또는 JWE로 구현되어야 한다. JWT는 JWE와 JWS를 아우르는 인터페이스 같은 존재이고, 실제 구현은 JWS와 JWE로 나누어지는 것이다.JWT는 토큰이고 JWE와 JWS는 그 평문 토큰을 더 안전하게 만들어주는 추가 구현이다. JWE 혹은 JWS 방식 중 하나를 필수적으로 선택해야지만 JWT라고 부를 수 있다. Cl..
(24/10/07 ~ 24/10/11)우리 FISA 14주차 회고 🙄 배운 내용월 - Docker, Dockerfile화 - CI/CD, Jenkins목 - 클라우드 프로젝트금 - 프로젝트 발표 😮 새로 알게된 점아무래도 배포 경험이 부족하기에..프론트, 백 프로젝트를 각각 컨테이너화하고 배포하는 과정이 익숙하진 않았다.신기하기도 하고 어렵기도 하고.. 그리고 프로젝트에서 뉴스 기사를 AI로 요약해주는 파트를 맡아서Spring AI를 사용해봤는데,생각보다 너무 쉽게 구현할 수 있었다!세상이 정말 좋아졌다는 걸 느낌..!! 😅 아쉬웠던 점팀원들과 프로젝트 하는데, ECR이나 CI/CD 자동화, 깃허브 액션..이런 개념들이 부족해 내가 도움이 많이 되지 못하는 것 같아 아쉬웠다.뭔가 뚝딱뚝딱 너무 잘해..
(24/09/30 ~ 24/10/04)우리 FISA 13주차 회고 🙄 배운 내용월, 화 - 기술세미나수 - nginx금 - Cloud, AWS 기술세미나에서는 트랜잭션에 대해 발표했다.다른 분들에 비해 기술적 지식은 부족하지만,잘 모르는 사람도 발표를 듣고 이해할 수 있게 + 나 역시도 이 발표를 준비하면서 새로운 지식을 습득할 수 있게하는 것이 목표였다.트랜잭션의 기본 개념과 ACID, Spring transaction에 대해 설명했다. 😮 새로 알게된 점기술세미나 하면서 다른 사람들 발표를 들고, 잘은 몰라도 신기하고 재미난 기술들이 많다고 느꼈다.DB 튜닝이나 스프링 배치, NoSQl 같이 평소에 궁금은 했지만 잘 모르는 것들에 대한설명을 들어서 좋았다! 😅 아쉬웠던 점딱히 없음! 🥰 잘한 ..
(24/09/23 ~ 24/09/27)우리 FISA 12주차 회고ㅋㅋㅋ바로 그 주차꺼 쓴다 해놓고 또 밀림다시 밀린 거 작성..하자 🙄 배운 내용월 - OAuth 2.0, KeyCloak화 - JWT목 - 백엔드 교과목평가금 - Linux 😮 새로 알게된 점나에게 너모나 익숙하지 않은 인증 인가...공부가 더 필요할 것 같다. 😅 아쉬웠던 점백엔드 교과목평가 ㅋㅋㅋㅋㅋㅋ시큐리티 하는데 정말 모르겠..어서 좀 난감했다.예전에 했던 실습 코드 복붙.. 했는데 로그인 안 돼서 푸핫 당황함기본적인 인증 인가는 당연히 할 줄 알아야 하므로무조건 복습 필요 !.! 🥰 잘한 점 🏆 전체 회고인증 인가는 그 동작 방식을 이해하는 게 특히나 중요한 것 같다꼭 복습하자