본문으로 건너뛰기

stack — 최근 글

최근
BlogBook Review

객체에서 함수로 - 책 소개

길벗에서 책을 제공받아 자유롭게 작성된 서평입니다. 원제 : From Objects to Functions: Build Your Software Faster and Safer with Functional Programming and Kotlin 저자 : Uberto Barbini 출간 : 길벗, 2024 / Pragmatic Programmers, 2023 함수형 프로그래밍은 순수 함수라는 뜻으로 참조 투명성을 통해 변하지 않는 결과값을 도출하면서 내부 가시성을 최소화 하고, 함수를 일급 시민으로 취급하여 함수를 반환하는 특징을 갖
BlogBook Review

Do it! 자바 프로그래밍 입문 개정판 - 책 소개

이지스퍼블리싱에서 책을 제공받아 자유롭게 작성된 서평입니다. 저자 : 박은종 출간 : 이지스퍼블리싱, 2024 프로그래밍 언어는 많은것들을 가능하게 한다. 몇 가지 문법과 메소드와 컴파일과 인터프리터가 갖추어지면 그 법칙 속에서 짜여진 코드라는 글자를 통해 비서, 도구, 나만의 세상, 나아가 직업으로도 활동할 수 있는 수단으로 매우 매력적인 언어다. 세상에 수 많은 언어가 있고, 역사가 있으며, 유행도 있으며 오늘날에도 새로운 언어가 자리를 잡아가고 있다. 그 중에서도 Java는 95년 등장 이래 많은 철학과 세상의 변화를 받아들이
BlogThink

2024 4Q 분기정리

한 분기에 4가지가 동시에 돌아갔다. 기술 검증 피쳐 개발 레거시 코드 파먹기 차세대 설계 및 개발 건강 챙기기 건강 만들기 건강 하기 마지막이니 생각의 변화 보다는 오랫동안 그렇다고 믿어왔고 경험이 증명하는 가치 몇 가지를 적어본다. 다른 사람한테 '이렇게 살아라-' 훈계 보다는.. 어느날에 내가 잘 흘러가게 되는 날이 온다면, 그때 한번 더 만전을 기하기 위해 이 순간을 다시 들여다 볼려고 정리해놓는 글이다. 인내심 참고 견디는 행동을 알아주는 사람은 아무도 없다. '원래 그런 사람' 내지는 '그렇게 해도 괜찮은 사람' 이 될
BlogBook Review

소플의 처음만난 AWS - 책 소개

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 저자 : 이인제 출간 : 한빛미디어, 2024 막연히 클라우드 플랫폼을 마주쳤을때 어떤 기능을 사용할 수 있는지, 내 노트북에서 실행 가능했던 어플리케이션을 어떻게 배포할지 막막해진다. 또한 2024년 기준으로 컴퓨팅, 스토리지, 네트워킹 외에도 CDN, 서버리스, 관측가능성 등 시나리오나 학습 없이는 잘 활용하기 어려운 기능들도 있다. 그래서 아는 기능만 다시 쓰게 되고 새로운 기능들은 과금에 대한 걱정이나 인프라 구성의 복잡성 때문에 주저하게 되는 경우
FundamentalOOP

오브젝트; 동적 메서드 탐색과 다형성

객체지향 언어가 제공하는 업캐스팅과 동적 바인딩을 이용하면 부모 클래스 참조에 대한 메시지 전송을 자식 클래스에 대한 메서드 호출로 변환할 수 있다. 객체지향 시스템은 다음 규칙에 따라 실행할 메서드를 선택한다. 메시지를 수신한 객체는 먼저 자신을 생성한 클래스에 적합한 메서드가 존재하는지 검사하낟. 존재하면 메서드를 실행하고 탐색을 종료한다. 메서드를 찾지 못했다면 부모 클래스에서 메서드 탐색을 계속 한다. 이 과정은 적합한 메서드를 찾을 때 까지 상속 계층을 따라 올라가며 계속된다. 상속 계층의 가장 최상위 클래스에 이르렀지만
BlogBook Review

소프트웨어 엔지니어 가이드북 - 책 소개

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 원제 : The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups 저자 : Gergely Orosz 출간 : Pragmatic Engineer BV, 2023 / 한빛미디어, 2024 일반적으로 부르는 개발자라는 직군은 이 나라를 대표하는 직업 중 빠질 수 없는 직군으로 자리잡은지 오래다. 대
FundamentalOOP

오브젝트; 업캐스팅과 동적 바인딩

실행 시점에 메서드를 탐색하는 과정을 살펴보자. 다음은 다익스트라 교수가 강의하는 알고리즘 과목의 성적 통계를 계산하는 코드다. Lecture대신 아래와 같이 GradeLecture로 전달할 수 있다 생성자의 인자 타입은 Lecture로 선언되어 있지만 GradeLecture의 인스턴스를 전달하더라도 아무 문제 없이 실행된다. 동일한 객체 참조인 lecture에 대해 동일한 evaluate메시지를 전송하는 동일한 코드 안에서 서로 다른 클래스 안에 구현된 메서드를 실행할 수 있다는 사실을 알 수 있다. 이처럼 코드 안에서 선언된 참
FundamentalOOP

오브젝트; 상속과 다형성

코드 재사용을 목적으로 상속을 사용하면 변경이 어렵고 유연하지 못한 설계에 이른다. 상속은 타입 계층을 구조화하기 위해 사용해야 한다. 타입 계층은 다형성의 기반을 제공한다. 상속은 인스턴스를 동일하게 행동하는 그룹으로 묶기 위한 관점으로 사용되어야 한다. 다형성 Polymorphism은 많은 형태를 가질 수 있는 능력을 의미한다. 컴퓨터 과학에서 다형성은 하나의 추상 인터페이스에 대해 코드를 작성하고 이 추상 인터페이스에 대해 서로 다른 구현을 연결 할 수 있는 능력으로 정의한다. 다형성의 구분은 위 그림과 같다. 오버로딩 다형성