분류 전체보기 110

[성능 테스트] Artillery로 부하 테스트 하기(1/3), Artillery 설치

현재 진행하고 있는 뉴스피드 프로젝트의 기능들을 얼추 마무리하고 나서,문득 내가 구현한 한 api에 대한 성능을 평가해보고 확장성을 검증해보기 위해 부하 테스트를 진행해 보기로 했다. 개발을 진행하다 어, 이런 상황도 있을 수 있겠구나? 내가 구현한 방향이 이런 상황을 버틸 수 있을까? 라는 의문이 들었기 때문인데 .. 의문에 대한 자세한 상황은 추후 포스팅에서 명시하도록 하고, 일단 기본적인 아틸러리 설치와 테스트 파일 생성에 대해 먼저 포스팅한다! 툴은 Artillery로 선정하고 진행해보았다.Artillery 란?먼저, 아틸러리에 대해 간단히 알아보자.Artillery는 간편하게 사용할 수 있는 기능과 유연성을 제공하여 개발자가 애플리케이션을 효과적으로 테스트할 수 있는 오픈 소스 라이브러리이다. ..

Project/Newsfeed 2024.02.27

[Spring] AOP 란? 관점 지향 프로그래밍 AOP 정의

진행하고 있는 개인 프로젝트에 AOP를 사용한 기능을 추가해 보고 싶어서, AOP 관련 공부를 하려고 한다.포스팅의 순서는 크게 1. AOP 사용 이유 2. AOP 정의3. AOP 관련 용어 4. Advice의 종류 로 진행된다.AOP를 쓰는 이유 우리가 개발을 하다가, 모든 메서드에 메서드의 수행 시간을 알아내는 로그를 찍어야 한다고 생각해보자.메서드가 얼마 없다면 괜찮겠지만, 메서드가 100개, 1000개 된다면 ? 일일히 로그를 찍는 코드를 100번 1000번 서비스단에 넣게 될 것이다.  (다들 .. 반복 작업 ... 싫어하시죠 ..? 🥲)그리고 넣는다고 하더라도, 핵심 기능과 로그 기능이 섞이기 때문에, 관심사 분리와 중복 코드 지양이라는 부분에서 봤을 때도 좋은 코드는 ..

Framework/Spring 2024.02.21

[삽질] cannot find symbol method value() 에러 해결

😣 내 문제는 ... AWS S3 bucket 설정을 위해 서비스 클래스를 작성하던 와중 @Value() 애너테이션을 적용하지 못하는 문제가 발생했다.   😐 고민  구글링 해 본 결과 lombok 설정에 문제가 있어서 그럴 수도 있다는 걸 봤다. 그래서 build.gradle 에서 lombok 에 관한 설정을 뒤져봤지만, lombok 설정에는 문제없었다. 그래서 뭐가 문젤까 하고 에러 메세지를 한참 들여다봤는데 .. 'annotation type not applicable to this kind of declaration'ㅋㅋㅋ아 ..설마 임포트 잘못한거아니야? 란 생각이 들었다. 🥰 해결!!!! 그러했다 ..  바보같이 import lombok.Value를 해줬는데 annotation.Value..

General/debugging 2024.02.10

[IntelliJ] 인텔리제이 자동 저장 끄기, 저장 안된 파일 * 표시

막 이클립스에서 인텔리제이로 넘어와, 헷갈려 머리 쥐어뜯고있는 나같은 주니어 개발자를 위해 씁니다 .★ 자동 저장 끄기 File > Settings > Apperance & Behavior > System Settings​ 에 들어간다. 그 후 Autosave 에서 다음 내용을 체크 해제한다. Apply 클릭! 저장 안된 파일 ' * ' 표시 이클립스에서는 저장 안 된 파일 옆에 * 표시가 있어서 아 저장해야겠다 했는데 ,, (ctrl + s가 습관 된 사람) 인텔리제이에서는 구분이 안 돼서 여간 불편하지 않을 수 없었다 File > Settings > Editor > General > Editor Tabs 에 들어간다. Mark modified (*) 에 체크 !! OK 클릭해주면 끝!

General/IDE 2024.01.26

[leetcode 198. python] 집 도둑 (House Robber) 풀이

https://leetcode.com/problems/house-robber/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 당신은 프로페셔널한 도둑이다. 길을 따라 있는 집의 돈을 훔치려한다. 딱 한 가지 제약은, 하루동안 바로 옆에 인접(adjacent)해 있는 집의 돈을 훔칠 시, 경찰과 연결된 보안경보가 자동으로 울린다는 사..

Algorithm/LeetCode 2024.01.23

프레임워크와 라이브러리의 차이

전에 KDT로 부트캠프에서 강의 들을 때도, Spring framework를 사용해서 팀 플젝 할 때 중간중간 문득! 그래서 프레임워크는 뭔데 ? 라이브러리랑 뭐가 다른건데? 라는 의문이 들었었다. 그럴 때 마다 구글링 해서 찾아보고, 아 ~~~ 이거구나! 하고 넘어가니까 뒤돌아서면 까먹는거다. 아예 기록해둬서 안까먹도록 박제 하려고 포스팅한다. ※ 백엔드 취준생이 작성한 글로, 틀린 개념이 있다면 댓글로 지적해주시면 감사하겠습니다. 프레임워크란? 개발자가 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가 시키기 위해, 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형태로 제공하는 것을 말함 제어의 역전 개념이 적용된 대표적인 기술 프레임워크의 특징 개발자가 따라야 하는 가이드를 제공 개발할 ..

Framework/Spring 2024.01.16

[boj 1244.python] '스위치 켜고 끄기' 풀이

https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 문제 이러한 규칙에 따라 학생들이 스위치를 조작하고 난 후의 스위치 상태를 구해야 한다. (자세한 입/출력 설명과 예제는 포스팅 상단의 문제를 참고해주길 바란다) 문제 이해 알고리즘 문제 푼 지 2주차가 되어 가니 슬슬 어느 지점에서 어떻게 생각해야 편할지 길이 보이는 것 같기도 하다. 남자와 여자의 행동 양식이 달라서, 남자 여자를 따로 생각하고, 와중에 남자/ 여자가 똑같이 해야하는 부분..

Algorithm/BaekJoon 2024.01.15

[leetcode 206.python] 역순 연결 리스트 (Reverse Linked List) 풀이

https://leetcode.com/problems/reverse-linked-list/ Reverse Linked List - LeetCode Can you solve this real interview question? Reverse Linked List - Given the head of a singly linked list, reverse the list, and return the reversed list. Example 1: [https://assets.leetcode.com/uploads/2021/02/19/rev1ex1.jpg] Input: head = [1,2,3,4,5] O leetcode.com 본 포스팅은 책에서 다룬 리트코드 문제들을 다루고 있으며, 문제 풀이의 많은 부분을 책의..

Algorithm/LeetCode 2024.01.08