나를 기록하다
article thumbnail
[테코톡] Stream - 스트림, 알고 쓰자!
Review/Techotalk 2023. 10. 24. 00:30

Stream이란? 정의 모던 자바 인 액션 - 스트림은 데이터처리 연산을 지원하도록 소스에서 추출된 연속된 값 요소이다. 이것이 자바다 - 스트림은 컬렉션의 요소를 하나씩 참조해 람다식으로 처리할 수 있는 반복자이다. → 스트림은 데이터 컬렉션 반복을 멋지게 처리하는 기능이다! Stream을 사용하는 이유 [예시] 연봉이 1억이 넘는 직장인들의 평균 연봉 구하기 BEFORE JAVA 8 int sum = 0; int count = 0; for(Employee emp : emps) { if (emp.getSalary() > 100_000_000) { sum += emp.getSalary(); count++; } } double average = (double) sum / count; 자바 8이 나오기 전에..

article thumbnail
[테코톡] MVC 패턴
Review/Techotalk 2023. 10. 14. 21:00

자바 MVC 패턴을 공부하면서 저번에 시청한 적이 있지만 정리를 하지 않았기에 복습 겸 우아한테크 유튜브에 올라와있는 테코톡 MVC 패턴을 시청하고 정리하려 한다. 테코톡엔 양질의 자료가 많으니 CS에 관심이 있다면 듣는 것을 추천한다. MVC는 왜 생겨난걸까? 과거의 프로그래머들은 수많은 프로그램을 만들었다. 코드가 많아질수록 복잡해져 코드가 파악하기 힘들고 기능을 수정할 때마다 대부분의 코드를 갈아엎어야 하는 경우가 많았다. 즉, 유지보수가 어려웠다. 계속 코드를 짜다보니, 특정 코드 구성에서 유지보수의 편리성을 발견했다. 이러한 규칙성을 조금씩 찾고 패턴을 공식처럼 만들어 논문으로 발표하게 됐고, 많은 프로그래머들의 사랑을 받아 오늘날의 MVC 패턴이 생겨나게 되었다. MVC는 유지보수가 편해지는 ..

article thumbnail
[테코톡] DTO와 VO
Review/Techotalk 2023. 9. 12. 15:47

DTO(Data Transfer Object) 예시) OMR 카드 계층(Layer)간 데이터를 전달하기 위해 사용하는 객체 getter와 setter 메서드 외에 특별한 기능을 가지지 않음 → 정렬 직렬화 등 데이터 표현을 위한 기능은 가질 수 있음 데이터의 캡슐화를 통해 유연한 대응이 가능 → 데이터 요청 수 감소 효과. 각기 다른 API 요청 대신, DTO에 데이터를 묶어서 보냄으로 요 청 수 감소 효과 기대 가능 setter가 아닌 생성자를 이용해서 초기화 할 시 불변 객체로 활용 가능. → 불변 객체로 만들 시 데이터 전달 과정에서 데이터가 변조되지 않음을 보장 비즈니스 로직을 포함하지 않음 public class OrderDTO { private Long orderId; private Strin..

article thumbnail
[테코톡] OCP와 전략패턴
Review/Techotalk 2023. 9. 11. 15:00

if-else문의 문제점 변경 또는 확장이 될수록 코드가 복잡해진다. 코드를 수정하거나 수정할 위치를 찾는데 점점 오래 걸린다. 실수로 추가하지 않고 누락하는 부분이 생길 가능성이 있다. 즉, 유지보수가 점점 어려워진다. 참고자료 https://www.youtube.com/watch?v=90ZDvHl8ROE&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=374&t=589s 예시 1) 초기코드 public class LottoNumbersAutoGenerator { public List generate() { List numbers = new ArrayList(); for (int i = LottoNumber.MIN; i

profile on loading

Loading...