분류 전체보기 305

5주차 WIL

5주차 회고 Keep : - Lombok 어노테이션 사용 방법 및 실제 사용 사례를 보고 보다 정확하게 구현하기 - Spring-Setting 설정 파일의 의미와 작동 방식, 활용법에 대해서 학습하면서 과제 진행하기 Problem & Try : - 잘못된 구현 > 요구사항을 정확하게 구별하지 못하여 잘못된 방식으로 구현 > 제한 범위를 확인하면서 구현하기 - 재사용 가능한 코드 형식으로 작성하기 > 가능한 부분은 추상화 하며, 적절한 디자인 패턴이 무엇인이 생각하면서 구현 - 복습 > 사용한 코드에 대해서 전반적인 정리와 내부 코드를 확인하면서 보다 완벽한 이해 필요

개발일지 2024.03.03

[디자인패턴] GOF 디자인 패턴

1. GOF 디자인 패턴이란 ? - Gang of Four(GOF) 디자인 패턴은 소프트웨어 디자인에서 자주 발생하는 문제들을 해결하기 위해 고안된 일련의 패턴들을 의미합니다. - 총 23가지의 디자인 패턴이 소개 1. 생성 패턴(Creational Patterns): 싱글톤(Singleton): 어떤 클래스가 오직 하나의 인스턴스만을 갖도록 보장, 전역적인 접근 제공 팩토리 메서드(Factory Method): 객체 생성을 서브클래스에서 처리하도록 하는 패턴 추상 팩토리(Abstract Factory): 관련성 있는 여러 객체의 생성을 책임지는 인터페이스를 제공 빌더(Builder): 복잡한 객체를 생성하는 과정과 표현을 분리, 동일한 생성 과정에서 서로 다른 표현 결과를 만듬 프로토타입(Prototy..

디자인패턴 2024.02.28

[디자인패턴] 객체지향 프로그래밍(OOP)

1. 객체지향이란? - 소프트웨어 개발 방법론 중 하나 - 현실 세계의 사물과 개념을 프로그래밍적으로 모델링하여 문제를 해결 클래스(Class): 클래스는 객체를 생성하기 위한 설계도 추상화(Abstraction): 필요한 공통된 속성이나 기능을 추출 상속(Inheritance): 상속은 이미 존재하는 클래스(부모 클래스)를 기반으로 구체적인 클래스(자식 클래스)로 구현 다형성(Polymorphism): 다형성은 같은 이름의 메서드나 함수가 다른 기능을 수행 캡슐화(Encapsulation): 데이터와 동작을 하나의 단위로 묶어 외부에서의 접근을 제어하고, 객체의 내부를 보호 2. 응집도 와 결합도 - 응집도(Cohesion): 응집도는 클래스나 모듈 내부의 요소들이 서로 연관되어 있는 정도를 나타냄 *..

디자인패턴 2024.02.28

심화 과정 15 일차

1. 자료구조 및 알고리즘 15일차 수강하기 - 다이나믹 프로그래밍(DP) 2. 새롭게 알게된 지식 - DP : 이전의 결과값이 다음 결정에 필요할 때, 이전의 결과값을 업데이트 하면서 프로그래밍 하는 알고리즘 과제 1 : 최대 서브 배열 : https://leetcode.com/problems/maximum-subarray/ Maximum Subarray - LeetCode Can you solve this real interview question? Maximum Subarray - Given an integer array nums, find the subarray with the largest sum, and return its sum. Example 1: Input: nums = [-2,1,-3,..

개발일지 2024.02.27

심화 과정 14 일차

1. 자료구조 및 알고리즘 14일차 수강하기 - 다익스트라 - 플로이드 - 워셜 2. 새롭게 알게된 지식 - 최단 경로 알고리즘 : 다익스트라 경로의 가중치가 음수가 아니고 시작점이 주어진 경우 최단 경로를 찾는 알고리즘 과제 1 : 네트워크 딜레이 타임 : https://leetcode.com/problems/network-delay-time/ Network Delay Time - LeetCode Can you solve this real interview question? Network Delay Time - You are given a network of n nodes, labeled from 1 to n. You are also given times, a list of travel times as..

개발일지 2024.02.26

4주차 WIL

4주차 회고 Keep : - 시간 복잡도 : 정확한 시간 복잡도를 계산하기 위해 N 을 구함, 내장 함수의 시간 복잡도를 고려 - 수의 범위: 정확한 수의 범위를 계산하고 반영 Problem & Try : - 알고리즘 선택 섞임 > 지속적인 학습으로 보충 > 사용 가능한 알고리즘 기법을 다시한번 정리하고 재사용 할 수 있도록 특정한 format을 만들어서 암기 - 인덱스 문제 > 인덱스를 잘못 선택하여 이진 탐색을 하는 경우 누락되는 경우도 있고 무한 루프에 빠지는 경우도 존재 > 인덱스 사용을 최소화 하고, 테스트 케이스를 조금 늘려서 인덱스를 확인 후 문제 접근 - 시간 문제 > 명확하게 풀이 의도가 보인다면 빠르게 해결 할 수 있지만, 그렇지 않는 경우에는 소요 시간이 많음 > 특히, 그리디나 이진..

개발일지 2024.02.25