전체 글 82

MVC 디자인 패턴

MVC 디자인 패턴: 입문자를 위한 안내서MVC란 무엇인가요?MVC는 Model-View-Controller의 약자로, 소프트웨어 개발에서 자주 사용되는 디자인 패턴입니다. 이 패턴은 애플리케이션을 세 가지 주요 구성 요소로 나누어, 각 구성 요소가 특정 역할을 맡도록 설계됩니다. 이렇게 나누는 이유는 코드의 구조를 명확히 하고 유지보수를 쉽게 하기 위함입니다.1. Model (모델)모델은 애플리케이션의 데이터와 그 데이터에 대한 로직을 담당합니다. 예를 들어, 사용자의 정보를 저장하거나 데이터베이스와 상호작용하는 작업이 모델의 역할입니다. 모델은 애플리케이션의 상태를 표현하며, 뷰와 컨트롤러로부터 독립적으로 동작합니다.역할데이터 처리비즈니스 로직 구현데이터베이스와 상호작용2. View (뷰)뷰는 사용자..

SPRING&BOOT 2024.08.09

그레이들(Gradle)이란?

스프링(Spring) 프레임워크로 개발을 시작하게 되면, 많은 새로운 도구와 개념들을 접하게 됩니다. 그 중에서도 **그레이들(Gradle)**이라는 도구는 개발 과정에서 자주 사용되는 중요한 도구 중 하나입니다. 이 글에서는 그레이들이 무엇인지, 그리고 스프링 프로젝트에서 어떻게 활용하는지 쉽게 설명해드리겠습니다.1. 그레이들이란 무엇일까?**그레이들(Gradle)**은 여러분이 작성한 코드를 자동으로 처리해주는 빌드 자동화 도구입니다. 예를 들어, 여러분이 코드를 작성한 후에는 컴퓨터가 이해할 수 있는 형태로 변환(컴파일)하고, 테스트하고, 실제로 작동 가능한 프로그램으로 만들어야 합니다. 그레이들은 이 모든 과정을 자동으로 처리해주기 때문에, 개발자는 복잡한 과정을 일일이 신경 쓰지 않아도 됩니다...

SPRING&BOOT 2024.08.09

KPT 회고

Keep - 현재 만족하고 있는 부분문제 해결의 협력: 팀이 직면한 문제를 함께 해결하려는 태도가 매우 좋았습니다. 서로의 의견을 존중하며 문제를 해결하는 과정에서 팀워크가 빛났습니다.화기애애한 팀 분위기: 서로를 존중하고 배려하는 화기애애한 팀 분위기가 매우 만족스러웠습니다. 이러한 분위기 덕분에 더 효율적으로 협업할 수 있었습니다.코드 리뷰 및 작성 공유: 화면 공유를 통해 다 같이 코드 리뷰와 코드를 작성하는 과정이 좋았습니다. 이를 통해 서로 다른 구현 방식이나 생각을 공유할 수 있었고, 더 나은 솔루션을 찾는 데 도움이 되었습니다.Problem - 불편하게 느낀 부분문서 작성 부족: 문서 작성이 체계적이지 않아 업무 분담이 명확하지 않았고, 그로 인해 특정 인원에게 업무가 몰리는 경향이 있었습니..

내일배움캠프 2024.08.08

StringBuilder에 대한 가이드

1. StringBuilder란 무엇인가?StringBuilder는 자바에서 문자열을 조작할 때 사용되는 클래스입니다. java.lang 패키지에 포함되어 있으며, 문자열을 효율적으로 생성하고 수정할 수 있도록 설계되었습니다. StringBuilder는 변경 가능한(mutable) 객체로, 문자열을 더하거나 수정할 때 새로운 객체를 생성하지 않고도 원본 객체를 변경할 수 있습니다. 이는 String 클래스와의 주요 차이점으로, String은 불변(immutable) 객체이기 때문에 문자열을 조작할 때마다 새로운 객체를 생성합니다.2. StringBuilder를 어떻게 사용하는가?StringBuilder를 사용하는 방법은 매우 간단합니다. 먼저 StringBuilder 객체를 생성한 후, 다양한 메소드를 ..

JAVA 2024.08.07

자바 예외 처리: 자주 사용하는 예외 및 처리 기법

자바에서 예외 처리는 프로그램의 오류를 관리하고 안정성을 유지하는 데 필수적인 기능입니다. 예외 처리를 적절히 사용하면 프로그램이 예기치 않은 상황에서도 계속해서 실행될 수 있도록 할 수 있습니다. 이번 포스트에서는 자바에서 자주 사용하는 예외 처리 기법 5가지와 그 예제를 소개하겠습니다.1. NullPointerException설명: NullPointerException은 객체가 null일 때 객체의 메서드나 필드에 접근하려고 할 때 발생합니다. 이는 코드에서 참조가 잘못된 경우 발생할 수 있습니다. 예제 코드:public class NullPointerExample { public static void main(String[] args) { String str = null; ..

ERRORHiSTORY 2024.08.06

Iterator: 컬렉션을 안전하게 순회하기

Java 컬렉션을 다룰 때, 요소를 순회하면서 안전하게 제거하거나 수정할 필요가 종종 있습니다. 이럴 때 유용하게 사용할 수 있는 것이 바로 Iterator입니다. Iterator는 컬렉션의 요소를 순회할 수 있는 표준화된 방법을 제공하여, 요소의 접근과 제거를 안전하고 효율적으로 처리할 수 있도록 합니다. 이번 포스트에서는 Iterator의 개념, 사용 방법, 그리고 주요 기능에 대해 알아보겠습니다.Iterator란 무엇인가?Iterator는 Java 컬렉션 프레임워크의 일부로, 컬렉션(예: List, Set, Map 등)의 요소를 순차적으로 접근할 수 있는 객체입니다. Iterator는 다음과 같은 세 가지 주요 메서드를 제공합니다:hasNext(): 컬렉션에 순회할 다음 요소가 있는지 여부를 확인합..

JAVA 2024.08.05

[프로그래머스]마지막 두 원소

아무리 쉬운 코드도 리뷰 합니다.문제 설명정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.제한사항2 ≤ num_list의 길이 ≤ 101 ≤ num_list의 원소 ≤ 9입출력 예num_list result[2, 1, 6] [2, 1, 6, 5][5, 2, 1, 7, 5] [5, 2, 1, 7, 5, 10]입출력 예 설명입출력 예 #1마지막 원소인 6이 그전 원소인 1보다 크기 때문에 6 - 1인 5를 추가해 return합니다.입출력 예 #2마지막 원소인 5가 그전 원소인 7보다 크지 않기 때문에 5의 두 배..

[프로그래머스]분수의 덧셈

아무리 쉬운 코드도 리뷰 합니다.문제 설명첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.제한사항0 설명공통 분모 계산: 두 분수의 분모를 곱하여 공통 분모를 계산합니다.분자 합산: 첫 번째 분수의 분자는 두 번째 분수의 분모를 곱하고, 두 번째 분수의 분자는 첫 번째 분수의 분모를 곱하여 두 분수의 분자를 더합니다.최대공약수(GCD) 계산: gcd 메서드를 사용하여 두 수의 최대공약수를 계산합니다. 이 메서드는 유클리드 알고리즘을 사용하여 재귀적으로 GCD를 구..

[프로그래머스]이어 붙인 수

아무리 쉬운 코드도 리뷰 합니다.문제 설명정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.제한사항2 ≤ num_list의 길이 ≤ 101 ≤ num_list의 원소 ≤ 9num_list에는 적어도 한 개씩의 짝수와 홀수가 있습니다.입출력 예num_list result[3, 4, 5, 2, 1] 393[5, 7, 8, 3] 581입출력 예 설명입출력 예 #1홀수만 이어 붙인 수는 351이고 짝수만 이어 붙인 수는 42입니다. 두 수의 합은 393입니다.입출력 예 #2홀수만 이어 붙인 수는 573이고 짝수만 이어 붙인 수는 8입니다. 두 수의 합은 581입니다. --..

[프로그래머스]원소들의 곱과 합

아무리 쉬운 코드도 리뷰 합니다.문제 설명정수가 담긴 리스트 num_list가 주어질 때,모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록solution 함수를 완성해주세요.제한사항2 ≤ num_list의 길이 ≤ 101 ≤ num_list의 원소 ≤ 9입출력 예num_list result[3, 4, 5, 2, 1] 1[5, 7, 8, 3] 0입출력 예 설명입출력 예 #1모든 원소의 곱은 120, 합의 제곱은 225이므로 1을 return합니다.입출력 예 #2모든 원소의 곱은 840, 합의 제곱은 529이므로 0을 return합니다. --------------------------------------------------------------------------..