본문 바로가기

전체 글

(181)
TIL-231116(DDD, 도메인 주도 설계) 📝오늘 공부한 것 'DDD 도메인 주도 설계' 공부하기 커리어톤 참여 프로그래머스 문제풀기 📌 DDD(Domain-Driven Design) : 도메인 주도 설계 실제 업무에서 사건이 발생하는 집합인 도메인을 중심으로 설계하는 방법 해당 도메인과 일치하도록 소프트웨어를 모델링하는 데 중점을 둔 소프트웨어 설계 접근 방식(wikipedia) 한가지 중요한 특징은 소프트웨어 코드의 구조와 언어(클래스 이름, 클래스 메서드, 클래스 변수)가 비즈니스 도메인의 용어를 일치시켜 나간다는 점이다. 보편적인(ubiquitous) 언어의 사용이다. 도메인 전문가와 소프트웨어 개발자 간의 커뮤니케이션 문제를 없애고 상호가 이해할 수 있고 모든 문서와 코드에 이르기까지 동일한 표현과 단어로 구성된 단일화된 언어체계를 구축..
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; } }
WIL-2023/11월 (2) 2023.11.06. ~ 2023.11.12. ✍🏻이번주 목표 및 달성 여부 ✅ 기술면접 스터디 ✅ 커리어톤 참여하기 ✅ 프로그래머스 문제풀기 ✅ 이력서 수정하기 ✅ '행동대장' 성능 테스트 💡알게 된 점 총정리(TIL회고) 이번주에는 JMeter를 이용한 성능테스트를 진행해보았다. JMeter를 사용하는 것은 생각보다 쉬웠는데 성능테스트를 진행할 때 목표를 어떻게 설정해야 하는지, 어떠한 기준을 잡아야 유의미한 결과가 나올 수 있는지 등에 대해 고민하는 것이 어려웠다. 실제로 발생한 일이 아니라 모든걸 가정하에 진행해야 한다는 것이 어려웠다. 내가 처음부터 끝까지 상황을 설정해야 했기 때문이다. 그래도 더미데이터도 생성해보고 지금 프로젝트의 성능이 어떤지를 확인하는 것은 재미있었다!! 이번주에는 목표로..
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를 사용할 때 서버가 터..