분류 전체보기
GoF 디자인 패턴: 소프트웨어 디자인의 핵심
GoF(Gang of Four)는 소프트웨어 디자인 패턴에 대한 가장 잘 알려진 참고 자료 중 하나인 Design Patterns: Elements of Reusable Object-Oriented Software 책의 저자들을 지칭하는 말이다. 이 책은 디자인 패턴을 고안하고 문서화하여 소프트웨어 개발 커뮤니티에 널리 알려진 기반을 제공했다. GoF는 Erich Gamma, Richard Helm, Ralph Johnson, John Vissides 네 명의 소프트웨어 엔지니어를 말한다. GoF가 제안한 Design Patterns: Elements of Reusable Object-Oriented Software 책은 1994년 처음 출판되었으며, 객체 지향 소프트웨어 개발에서 디자인 패턴의 중요성을..
CSR 과 SSR 그리고 SPA
원티드 인턴쉽에서 멘토님의 강의를 듣던 중 CSR 과 SSR 이란 주제가 나왔었다. SSR은 알고 있는데 CSR 과 SPA는 뭐지? 처음 듣네,,, 생각하고 바로 찾아보았다. ㅋㅋ 모두 웹 애플리케이션의 개발 방식인데 개발 방식의 차이를 정리해 보았다. CSR Client Side Rendering 랜더링 위치: CSR은 클라이언트 측에서 랜더링이 이루어진다. 즉, 브라우저에서 페이지의 내용을 생성하고 업데이트한다. 방식: 웹 애플리케이션의 초기 로딩은 서버에서 HTML파일을 받아오지만, 이후 내용 및 뷰의 업데이트는 클라이언트 측 JavaScropt를 사용하여 비동기적으로 처리된다. 이는 주로 JavaScript 프레임워크(ex: React, Angular, Vue.js)를 활용한다. 검색 엔진 최적화..
상속과 컴포지션
이펙티브 자바책에 상속보다는 컴포지션을 사용해라 라는 주제가 있다. 이 주제를 보며 어? 그런가? 라는 생각이 들어 정리해 보았다. ㅋㅋㅋ,,, 상속? 상속은 is-a 관계를 나타낸다. 예를 들면, 자동차가 차량 클래스로부터 상속받는 경우, 자동차는 차량이라고 할 수 있다. 장점 코드 재사용: 부모 클래스의 기능을 자식 클래스가 상속받기 때문에, 중복된 코드를 작성할 필요가 없어 코드 재사용성이 높아진다. 확장성: 자식 클래스는 부모 클래스의 특성을 확장하거나 변경할 수 있다. 새로운 메서드를 추가하거나 기존 메서드를 재정의하여 새로운 동작을 추가할 수 있다. 폴리모피즘(Polymorphism) 구현: 상속을 통해 여러 클래스가 동일한 인터페이스를 공유하고, 이를 통해 다형성을 구현할 수 있다.(객체지향..
if-else vs try-catch: 언제 어떤 것을 사용해야 할까?
코드를 짜다 예외처리를 할 때 어느 순간에는 if else 어떤 순간엔 try catch를 사용하고 있다는걸 발견하게 되었다. 순간 왜 이렇게 왔다갔다 하지 생각해보니 정확하게 쓰임세를 이해하지 못했다고 느껴 정리해봤다. 코드의 제어와 예외 처리로 그럼 차이점을 살펴보자. 'if - else': 조건부 분기 if else 문은 어떤 변수나 상황에 대한 조건문을 태우기 위해 사용되는 문법이다. if (조건) { // 조건이 참일 때 실행되는 코드 } else { // 조건이 거짓일 때 실행되는 코드 } 언제 사용하지? 다양한 조건에 따라 다른 동작을 수행해야 할 때 데이터 유효성 검사 또는 입력 값의 처리 프로그램의 흐름을 제어하고 조건에 따라 다른 동작을 수행해야 할 때 'try - catch': 예외처..