목록내일배움캠프/TIL (18)
공부하는 블로그

Spring MVC에 대한 강의를 듣는데, Servlet, Controller에 대한 개념이 제대로 잡히지 않아서 전체적으로 정리를 해보려고 한다. 디자인 패턴이란? 소프트웨어 설계에서 자주 발생하는 문제들을 해결하기 위해 만들어진 일반적인 해결책이다. 즉, 디자인 패턴은 특정한 묹제를 해결하기 위한 최적의 방법을 미리 정의해 둔 '템플릿'이라고 할 수 있다. MVC 디자인 패턴이란? Model-View-Controller 디자인 패턴의 약자로, 하나의 소프트웨어 애플리케이션을 세 부분(Model,View,Controller)으로 나누어 개발한다는 뜻이다. 모델(Model) : 데이터와 비즈니스 로직을 담당한다. 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행한다. ..

나는 지금까지 주석이라고는 그냥 //(메서드가 하는 일) 정도로만 달고있었는데, Javadoc 문서화 주석이라는 걸 알게됐다. 내가 짠 코드를 나중에 다시 볼 때나, 다른 사람들이 내 코드를 볼 때 확실히 보기 좋은 것 같아서 정리해보려고 한다. Javadoc 주석이란? Javadoc 주석은 '/** ... */' 형식으로 작성되며, 주로 클래스, 메서드, 필드 등에 대한 설명을 작성하는데 사용된다. 주석 내부에 특정 태그를 사용하면 문서화 할 때 유용한 정보를 포함할 수 있다. 가장 많이 사용되는 태그 중 하나가 '@param' 태그다. 주요 Javadoc 태그 @param : 메서드의 매개변수(parameter)를 설명한다.@return : 메서드의 반환값을 설명한다.@throws (또는 @ex..

SRP(Single Responsiblity Principle) : 단일 책임 원칙객체 지향 설계의 5대 원칙 중 하나인 SOLID 원칙 중 첫번째 원칙. 소프트웨어 개발에서 각 클래스나 모듈이 하나의 책임만 가지도록 하는 것을 의미한다. 우리 조는 팀 프로젝트를 과제 발제 시간에 공유된 템플릿을 이용해서 과제를 하고 있었는데, 이건 메인 자바 파일에 모든 필드, 모든 메서드들을 다 여기서 관리하는 방식이라 튜터님께서 중간 점검차 오셔서 '객체 지향적 설계에는 SOLID라는 게 있다. 거기에 단일 책임 원칙이라는 게 있는데, 지금 메인 자바 파일이 너무 많은 기능을 하고있다. 이거를 객체 지향적으로 바꿔보는 게 좋다.'는 이야기를 해주셨다. 그래서 단일 책임 원칙을 내 나름대로 공부하면서 하다가 뭔가 ..
https://durururuk.tistory.com/15 2024 08 01 TIL 스트림최고Java 기초 주간 중 팀 프로젝트가 시작되었다. 수강생들의 명부, 성적 등을 관리하는 프로그램을 만드는 건데, 그간 스트림, 람다식을 제대로 연습하지 못했어서 이번 기회에 마음껏 연습할 수 있durururuk.tistory.com 얼마전 스트림을 배우고 스트림에 대한 무한한 신뢰와 애정이 있었는데, 오늘 알고리즘 문제를 풀고 다른 사람의 풀이를 보면서 댓글을 보다가 'for문 썼으면 효율적일텐데 스트림 왜 썼냐' '보기엔 좋은데 코테 채점하는 입장에선 마이너스다.' 이런 말이 적혀있었다. 분명 저번에 스트림을 배울 때는 "내부반복자이므로, 처리 속도가 빠르고 병렬 처리에 효율적이다." 라고 배웠어서 이해를 ..

Java 프로그래밍 기초 팀 과제를 시작하고, 내가 맡은 역할 중에 어떤 수강생의 과목별 평균 등급을 조회해야 하는 기능을 만들어야 하는 게 있다. 우리는 score 객체 안에 score id, 학생 id, 과목id, 회차, 점수 , 등급을 필드로 보관하는데, 여기서 학생id, 과목id를 찾아서 그 학생의 그 과목 점수들을 관리하는 방식이다. 그래서 일단 코드를 짜다가, 중간에 아까 만들었던 코드를 수정해야 할 일이 생겼는데, 그냥 쳐다만 봐도 수정 하기 싫게 짜여있어서 놀랐다. 짠지 얼마 안 된 코드인데도, 너무 개판이었다.더보기 public static char filterAndPrintAverageGradeByStudentandSubject(String studentId, String subje..
Java 기초 주간 중 팀 프로젝트가 시작되었다. 수강생들의 명부, 성적 등을 관리하는 프로그램을 만드는 건데, 그간 스트림, 람다식을 제대로 연습하지 못했어서 이번 기회에 마음껏 연습할 수 있는 기회가 생겼다. 나는 수강생 정보 조회, 수강생의 과목별 평균 등급 조회 기능을 맡았는데, 학생 객체들이 들어있는 리스트를 상태별로 뽑아다가 출력하는 로직이 필요했다. 딱 스트림 쓰기 좋은 환경이라서 바로 연습해서 구현하고 나니 확실히 지금까지 for문으로 짜던 코드와는 남다른 가독성 덕분에 개발이 한 층 더 재밌어졌다. List filteredStudents = studentStore.stream() .filter(student -> status.equals(student.getSt..