본문 바로가기

TIL(Today I Learned)

(137)
TIL-231115([프로그래머스/자바] 콜라츠 수열 만들기) 📝오늘 공부한 것 커리어톤 참여하기 프로그래머스 문제풀기 면접 준비 면접 보고오기 📌 문제 📌 정답 import java.util.ArrayList; import java.util.List; class Solution { public int[] solution(int n) { List listAnswer = new ArrayList(); while (n!=1){ listAnswer.add(n); if(n%2==0){ n = n/2; } else { n = 3 * n +1; } } listAnswer.add(1); int[] answer = listAnswer.stream().mapToInt(Integer::intValue).toArray(); return answer; } } ⭐ for문과 while문 ..
TIL-231114([프로그래머스/자바] 가까운 1 찾기) 📝오늘 공부한 것 커리어톤 참여하기 면접 준비하기 프로그래머스 문제풀기 📌 문제 📌 풀이 class Solution { public int solution(int[] arr, int idx) { int answer = 0; for(int i=idx;i
TIL-231113([프로그래머스/자바] 특별한 이차원 배열 2) 📝오늘 공부한 것 JMeter 테스트 커리어톤 참여하기 프로그래머스 문제풀기 📌 문제 📌 풀이 class Solution { public int solution(int[][] arr) { int answer = 1; int n = arr.length; for(int i=0;i arr[i][j] == arr[j][i])) ? 1 : 0; } }
TIL-231111([프로그래머스/자바] 홀수 vs 짝수) 📝오늘 공부한 것 JMeter 테스트 커리어톤 참여하기 프로그래머스 문제풀기 📌 문제 📌 풀이 class Solution { public int solution(int[] num_list) { int answer = 0; int even = 0; int odd = 0; for(int i=0;i odd){ answer = even; } else { answer = odd; } return answer; } } ⭐ Math.max 함수를 사용한 풀이 더 큰 값을 비교하여 return하는 방법에서 if문을 사용하여 비교하였다. 그런데 정리하다 보니 Math.max함수를 사용하면 코드가 더 간단해진다는 것이 생각났다! if(even > odd){ answer = even; } else { answer = odd..
TIL-231110(프레임워크, 라이브러리) 📝오늘 공부한 것 '프레임워크 vs 라이브러리' 공부하기 커리어톤 참여 프로그래머스 문제풀기 📌 프레임워크 vs 라이브러리 📍 프레임워크 컴퓨터 프로그래밍에서 소프트웨어 프레임워크는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조, 프레임워크라고도 한다.(wikidedia) 원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미한다. 애플리케이션의 코드가 프레임워크에 의해 사용된다. 프레임워크의 코드에는 완성된 기능들이 포함되지 않는다. 즉, 애플리케이션의 설계도를 제공하는 프로그램의 골격들이지 완성된 제품은 아니라는 것이다. 장점 : 적은 코드 길이, 코드 재사용, 쉬운 디버깅과 애플리케이션 모니터링, 단순화된 ..
TIL-231109(Swap Memory) 📝오늘 공부한 것 '행동대장' JMeter 테스트 Swap Memory 공부하기 커리어톤 참여 프로그래머스 문제풀기 📌 Swap Memory 부트캠프에서 프로젝트를 진행했을 때, 실제로 만든 서비스를 배포하고 유저피드백을 받았었다. 서버비 부담으로 인해 AWS 프리티어를 사용하였다. 그러다보니 프리티어인 t2.micro는 RAM이 1GB밖에 되지 않아 서버가 다운되는 문제가 발생하였었다. 아무도 서버를 사용하지 않은 채 기다려도 CPU 사용률이 낮아지지도 않고, SSH를 접속하려해도 접속이 되지 않아 당황했었다. 심지어 유저피드백을 앞두고 있어서 서버가 또 터지면 어떡하지?하는 고민이 있었다. Scale Up을 하기에는 서버비가 부담이 되어 스왑메모리를 사용하였다. 그때는 'ec2를 사용할 때 서버가 터..
TIL-231108(부하테스트 목표설정) 📝오늘 공부한 것 '행동대장' JMeter 테스트 커리어톤 참여 프로그래머스 문제풀기 📌 목표 설정하기 부트캠프에서 진행한 프로젝트는 배포가 되어있는 서비스이다. 그리고 그 서비스에는 130명의 유저가 있다. 하지만, 이 수준의 트래픽으로는 대용량 트래픽 상황을 실제로 경험하기에는 어렵다고 판단하였다. 따라서, 대용량 트래픽에 관해서 공부해보고 싶어, 로컬 환경에서 부하테스트를 진행해보기로 하였다. 테스트를 위해 가상의 가입자 10,000명을 가정하였고, 그 중 30%인 3000명을 활성 유저로 설정하였다. 또한, DB에는 게시글 100,000건 정도의 더미데이터를 생성하였다. 📍 현재 상태 서비스 성능 게시글 수 : 약 100,000건 테스트 조건 : 1000명의 user가 1초당 1번 요청 Numbe..
TIL-231107(MySQL 더미데이터 생성) 📝오늘 공부한 것 '행동대장' JMeter 테스트 커리어톤 참여 프로그래머스 문제풀기 📌 MySQL 더미데이터 생성 성능테스트를 위해 DB에 더미데이터를 생성하는 작업을 진행하였다. 이 과정에서 java faker, mockaroo, filldb라는 세가지 방식을 비교하여 선택하였다. 📍 Java faker 장점 많은 양의 데이터를 빠르게 넣을 수 있다. 자바 기반의 프로젝트에서 사용하기 용이하다. 무료이다. 단점 다양한 데이터를 넣기 힘들다. GUI가 없어, 코드로 작성해야 한다. 📍 mockaroo 장점 다양한 데이터를 넣을 수 있다. GUI가 있어 쉽게 더미데이터를 생성할 수 있다. 한번에 최대 1000개의 데이터를 생성한다.(비회원일 경우) 단점 일정 횟수 이상부터는 유료이다. 한글로된 데이터를 ..