스터디 87

Mini Project

휴가 및 근태 관리 시스템1. 프로젝트 개요직원들의 휴가 신청 및 근태 기록을 관리하는 시스템을 개발. 직원들은 휴가를 신청하고 관리자는 이를 승인 또는 반려할 수 있으며, 직원들의 근무 상태를 실시간으로 추적할 수 있다.2. 주요 기능휴가 신청 및 승인직원들이 온라인으로 휴가 신청관리자에게 승인 요청 자동 발송휴가 승인 및 반려 기능근태 기록 관리직원의 근무 시간 및 지각/결근 기록휴가 사용 내역과 남은 휴가 일수 계산캘린더 연동캘린더와 연동하여 직원들의 휴가 상태를 시각적으로 확인동료들의 휴가 일정 확인 가능보고서 생성관리자용 휴가 및 근태 현황 보고서 생성직원별 연간 근태 기록 관리

멘딕스 2024.10.09

멘딕스란

멘딕스(Mendix)란 무엇인가?멘딕스(Mendix)는 저코드(Low-Code) 애플리케이션 개발 플랫폼으로, 개발자와 비즈니스 사용자가 협력하여 빠르고 효율적으로 애플리케이션을 만들 수 있게 도와줍니다. 복잡한 코딩 대신 시각적인 개발 환경을 제공하여, 기업의 디지털 트랜스포메이션을 가속화하고, 시장 변화에 빠르게 대응할 수 있는 솔루션을 제공합니다.저코드란 무엇인가?저코드 개발은 전통적인 코딩 방식을 최소화하고, 비즈니스 요구에 맞춘 애플리케이션을 신속하게 구축할 수 있도록 도와주는 방식입니다. 이를 통해 전문 개발자뿐만 아니라 코딩 경험이 적은 비즈니스 사용자도 애플리케이션 개발에 참여할 수 있습니다. 저코드 개발은 특히 기업의 디지털 혁신을 촉진하는 중요한 도구로 자리 잡고 있습니다.멘딕스의 주요..

멘딕스 2024.09.30

스프링과 스프링부트의 차이점

1. 스프링 프레임워크란?스프링(Spring)은 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로, 주로 엔터프라이즈 애플리케이션 개발에 사용됩니다. 자바 EE(Enterprise Edition)의 복잡함을 줄이고, 다양한 기능을 간편하게 제공하는 핵심적인 프레임워크입니다.스프링의 주요 기능은 다음과 같습니다:IoC (Inversion of Control): 스프링의 IoC 컨테이너는 객체의 생성과 관리, 의존성 주입을 담당합니다.AOP (Aspect-Oriented Programming): 횡단 관심사를 처리하여 중복된 코드를 제거할 수 있습니다.트랜잭션 관리: 데이터베이스 트랜잭션을 효과적으로 관리할 수 있습니다.MVC (Model-View-Controller): 웹 애플리케이션을 구성하는 패턴..

CS 지식 2024.09.23

TDD

1. TDD의 정의TDD(Test-Driven Development, 테스트 주도 개발)는 테스트를 먼저 작성하고, 그 테스트를 통과할 수 있는 최소한의 코드를 구현하는 개발 방법론입니다. 즉, 코드를 작성하기 전에 먼저 해당 코드가 정확히 동작하는지를 확인할 수 있는 테스트를 먼저 작성하는 것입니다.TDD의 핵심 단계:테스트 작성: 아직 구현되지 않은 기능에 대해 실패할 테스트 코드를 작성합니다.구현: 해당 테스트를 통과할 수 있을 정도로 최소한의 코드를 작성합니다.리팩토링: 테스트가 통과한 후, 코드를 개선하거나 최적화합니다.2. TDD의 장점빠른 피드백: 테스트를 먼저 작성함으로써 코드 작성 후 바로 테스트가 가능합니다. 이를 통해 오류를 빠르게 발견할 수 있습니다.디자인 개선: TDD는 자연스럽게..

CS 지식 2024.09.23

예외처리

1. 예외(Exception)란?예외는 프로그램 실행 중 발생하는 예기치 못한 오류 상황을 말합니다. 자바에서 예외는 Throwable 클래스의 하위 클래스로 관리되며, 크게 두 가지로 나뉩니다:Checked Exception: 컴파일 시점에 확인되는 예외로, 반드시 예외 처리를 해주어야 합니다. 예를 들어 파일을 읽거나 쓸 때 발생하는 IOException 등이 해당됩니다.Unchecked Exception: 실행 시점에서 발생하는 예외로, 주로 프로그래머의 실수로 발생하는 예외입니다. 예를 들어 배열의 인덱스가 범위를 벗어났을 때 발생하는 ArrayIndexOutOfBoundsException 등이 있습니다. 이는 명시적인 예외 처리를 강제하지는 않습니다.2. 예외 처리의 구조자바에서 예외 처리는 다..

CS 지식 2024.09.08

동기 ,비동기 처리

1. 동기(Synchronous) 처리란?1.1 동기 처리의 개념동기 처리에서 작업들은 순차적으로 실행됩니다. 하나의 작업이 끝나기 전까지 다음 작업은 시작되지 않습니다. 프로그램은 한 작업이 완료될 때까지 기다린 후에야 다음 작업으로 넘어가므로, 코드의 실행 순서가 예측 가능하고 직관적입니다.1.2 동기 처리의 특징순차적 실행: 모든 작업이 순서대로 처리되므로, 코드의 흐름이 명확하고 예측 가능합니다.간단한 디버깅: 모든 작업이 순서대로 이루어지기 때문에 디버깅이 비교적 쉽습니다.잠재적 성능 문제: 시간이 오래 걸리는 작업이 있다면, 그 작업이 완료될 때까지 다른 작업들이 모두 대기해야 하므로 성능에 영향을 줄 수 있습니다.1.3 동기 처리 예제public class SynchronousExample ..

CS 지식 2024.09.02

SOLID 원칙

1. 단일 책임 원칙 (Single Responsibility Principle, SRP)1.1 SRP 개념단일 책임 원칙은 클래스는 단 하나의 책임만 가져야 한다는 원칙입니다. 즉, 클래스는 하나의 기능만 담당해야 하며, 그 기능을 변경해야 할 이유도 하나뿐이어야 합니다. 이 원칙을 따르면 코드의 가독성이 향상되고, 유지보수가 쉬워집니다.1.2 잘못된 예제public class User { private String name; private String email; // 사용자 정보 저장 public void saveUser() { // 사용자 정보를 데이터베이스에 저장하는 코드 } // 이메일 전송 public void sendEmail(String ..

CS 지식 2024.09.01

추상 클래스와 인터페이스

추상 클래스(Abstract Class)란 무엇인가?추상 클래스(Abstract Class)는 객체지향 프로그래밍(OOP)에서 공통된 특성을 가지는 클래스들의 기본 구조를 정의하는 데 사용되는 중요한 개념입니다. 추상 클래스는 클래스 설계 시 다형성과 재사용성을 높여주며, 이를 활용하여 공통된 동작을 여러 하위 클래스에서 일관되게 구현할 수 있습니다. 1. 추상 클래스란?추상 클래스는 하나 이상의 추상 메서드를 포함할 수 있는 클래스입니다. 추상 메서드는 메서드의 시그니처(이름, 반환 타입, 매개변수 목록)만 정의하고, 실제 구현은 하위 클래스에서 제공됩니다. 추상 클래스는 그 자체로는 인스턴스화할 수 없으며, 반드시 이를 상속받은 구체적인 하위 클래스에서 인스턴스화가 가능합니다.2. 추상 클래스의 특징..

CS 지식 2024.08.25

오버로딩과 오버라이딩

1. 오버로딩 (Overloading)오버로딩은 같은 이름의 메서드를 여러 개 정의할 수 있게 하는 기능입니다. 오버로딩된 메서드는 메서드의 이름은 같지만, 매개변수의 유형이나 개수, 순서가 달라야 합니다. 이를 통해 같은 기능을 수행하지만 입력 값이 다를 때, 각각의 상황에 맞는 메서드를 선택적으로 호출할 수 있습니다.오버로딩의 특징:메서드 이름: 동일한 이름을 사용합니다.매개변수: 매개변수의 타입, 개수, 순서가 달라야 합니다.반환 타입: 반환 타입은 오버로딩과 관련이 없습니다. 즉, 반환 타입만 다르고 매개변수가 같다면 오버로딩이 성립하지 않습니다.컴파일 시에 결정: 어떤 메서드를 호출할지 컴파일 시에 결정됩니다.오버로딩 예제:class Calculator { // 정수 두 개를 더하는 메서드..

CS 지식 2024.08.15

MVC 패턴

MVC 패턴이란?MVC(Model-View-Controller) 패턴은 소프트웨어 디자인 패턴 중 하나로, 애플리케이션을 모델(Model), 뷰(View), 컨트롤러(Controller)라는 세 가지 주요 컴포넌트로 분리하여 각각의 책임을 분리하는 구조를 의미합니다. 이 패턴은 특히 사용자 인터페이스를 가진 애플리케이션에서 매우 유용하며, 자바를 포함한 다양한 프로그래밍 언어에서 널리 사용됩니다.1. Model (모델)모델은 애플리케이션의 데이터와 비즈니스 로직을 담당합니다. 모델은 애플리케이션의 핵심 기능을 수행하며, 데이터베이스와의 상호작용, 데이터를 저장 및 수정, 비즈니스 규칙을 적용하는 작업을 처리합니다.모델의 주요 역할은 다음과 같습니다:애플리케이션에서 사용하는 데이터를 나타냅니다.데이터에 대..

CS 지식 2024.08.11