인터프리터 언어와 컴파일 언어의 특징과 차이점
·
Develop/Coding
1. 인터프리터 언어인터프리터가 코드를 한 줄씩 읽어 즉시 실행합니다.특징실시간 실행: 코드를 실행할 때마다 한 줄씩 해석하며 즉시 실행.디버깅 용이: 코드 수정 후 바로 결과를 확인할 수 있어 디버깅이 빠름.플랫폼 독립성: 인터프리터만 있으면 어디서든 실행 가능.속도: 실행 시마다 해석하므로 초기 실행 속도가 느림.예시 언어: Python, JavaScript, Ruby, PHP, R 등.장점:코드 수정 후 즉각 반영 가능.개발 속도가 빠름.단점:실행 속도가 느릴 수 있음.배포 시 소스 코드가 노출될 가능성이 있음.2. 컴파일 언어코드를 한 번에 기계어로 번역한 후 실행합니다.특징사전 번역: 전체 코드를 기계어로 번역(컴파일)한 후 실행.빠른 실행 속도: 컴파일 후 실행 시 기계어가 바로 실행되어 속도..
DRY, KISS, YAGNI 프로그래밍 원칙
·
Develop/Coding
DRY 원칙 (Don't Repeat Yourself)DRY 원칙은 코드에서 중복을 피하는 것을 목표로 합니다. 즉, 동일한 정보나 로직이 여러 곳에서 반복되지 않도록 코드를 작성하는 것입니다. 중복 코드는 유지보수 시 불필요한 위험을 초래할 수 있으며, 한 곳에서 수정이 필요할 때 다른 모든 중복된 부분을 동시에 수정해야 하기 때문에 오류가 발생하기 쉽습니다.DRY 원칙을 적용하면 코드의 재사용성과 유지보수성이 크게 향상됩니다. 중복을 제거하고 코드의 단일 소스를 유지함으로써, 특정 기능의 수정이 필요할 때 해당 소스만 수정하면 되기 때문에 관리가 훨씬 용이합니다. 예를 들어, 함수나 클래스를 재사용 가능한 형태로 작성하여 반복적인 로직을 하나의 위치에 모아둘 수 있습니다.DRY 원칙은 설계 단계부터 ..
보일러플레이트 코드란
·
Develop/Coding
보일러플레이트 코드(Boilerplate Code)란?보일러플레이트 코드(Boilerplate Code)는 프로그램의 구조나 기본 동작을 설정하기 위해 반복적으로 작성해야 하는 표준화된 코드 부분을 말합니다. 이런 코드는 대개 기능 구현과는 직접적인 관련이 없지만, 프로그램이 정상적으로 실행되기 위해 필요합니다. 예를 들어, 언어의 특성상 반드시 작성해야 하는 클래스 정의, 인터페이스 구현, getter/setter 메서드 등이 포함될 수 있습니다.보일러플레이트 코드는 필수적이지만, 개발자 입장에서는 반복적이고 불필요하게 느껴질 수 있습니다. 따라서 현대 프로그래밍 언어들은 이러한 코드를 줄이기 위해 다양한 기능을 제공합니다. 예를 들어, **코틀린(Kotlin)**에서는 자바(Java)에서 필요했던 많..
DTO, VO, Entity, POJO 의 특징과 차이점
·
Develop/Coding
1. DTO (Data Transfer Object)정의:데이터 전송 객체로, 계층 간 데이터 전송을 목적으로 사용됩니다.주로 컨트롤러와 서비스 간, 또는 외부 API와 데이터를 주고받을 때 사용됩니다.비즈니스 로직은 포함하지 않으며, 데이터 구조와 Getter/Setter만 포함됩니다.특징:역할: 데이터를 캡슐화하여 네트워크 또는 계층 간에 전송.변경: 전송 과정에서만 사용되므로 유연하게 설계 가능.목적: 필요한 데이터만 담아 과도한 데이터 전송 방지.예시 코드:@Getter@Setterpublic class UserDTO { private String name; private String email; // 기본 생성자 public UserDTO() {} // 생성자 p..