본문으로 건너뛰기

stack — 최근 글

최근
BlogBook Review

GPT-4를 활용한 인공지능 앱 개발 - 책소개

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 원제 : Developing Apps with GPT-4 and ChatGPT 저자 : Caelen, Olivier, Blete, Marie-Alice 출간 : O'Reilly Media, 2023 / 한빛미디어, 2023 ChatGPT 가 이 세상에 등장한지 1년이 됐다. 나도 GPT3.5 첫 출시때부터 사용하기 시작해 지금은 글이나 코드를 작성하는데 도와주는 비서로 많이 활용하고 있다. 이번 책은 GPT모델을 이용해 어플리케이션에 어떻게 접목하는지 상세
FundamentalOOP

오브젝트; 변경과 유연성과 리팩토링

메시지를 처리할 책임과 책임을 수행하는데 필요한 변수 지정을 먼저 한다. 다른 객체의 구현을 고려할 필요 없이 필요한 메시지를 결정하면 다른 객체의 내부 구현을 깔끔하게 캡슐화 할 수 있다. 메시지가 변경되지 않는 한 객체에 어떤 수정을 가하더라도 호출하는 쪽에는 영향을 미치지 않는다. 메시지를 기반으로 협력을 구성하면 객체 사이 결합도를 느슨하게 유지할 수 있다. 책임 주도 설계 calculateFee()를 위한 객체 설계를 한다. 상세 구현을 한다. 4장과 다른점은 switch 문 내에 또 다른 분기가 없다는 점 정도.. 첫번째
BlogThink

초심에 접근하는 방법

세계적으로 유명한 프로듀서 릭 루빈은 역사에 남을 많은 뮤지션들의 음반을 프로듀싱 했다. 내가 아는 뮤지션만 해도 에미넴, Jay-Z, 린킨파크, System of a down, AC/DC, 메탈리카, 레드 핫 칠리 패퍼스 셀수 없을 정도고 특히 그가 프로듀싱한 린킨파크의 A Thousand Suns와 메탈리카의 Death Magnetic은 처음 들었을때 완전히 원초적이고 날 것의 느낌을 간직한 락메탈 밴드의 강렬함에 머리를 두드려 맞는 느낌이였다. 그의 최근 인터뷰나 행보가 번역되어 영상 클립으로 돌아다니는데 영상으로 처음 접한
FundamentalOOP

오브젝트; GRASP와 책임 할당하기

데이터를 먼저 결정하고 고립된 객체의 상태에 초점을 맞추면 캡슐화를 위반하기 쉽고, 요소들 사이의 결합도가 높아지며, 코드를 변경하기 어려워진다. 책임에 초점을 맞춰서 설계할 때 어떤 객체에게 어떤 책임을 할당할지를 결정 하는 것이 어렵다. 책임 할당 과정은 트레이드오프 활동이다. 데이터 중심의 설계에서 책임 중심의 설계로 전환하는 방법 클라이언트 관점에서 객체가 수행하는 행동이란 곧 객체의 책임을 의미한다. 객체는 협력에 참여하기 위해 존재하며 협렵 안에서 수행하는 책임이 객체의 존재가치를 증명한다. 너무 이른시기에 데이터에 초점
BlogBook Review

컴퓨터 시스템 딥 다이브 - 책 소개

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. 작년에 많은 일들이 있어 고사 했음에도 불구하고 올해 다시 좋은 기회로 한빛미디어의 좋은 책들을 소개할 수 있게 되었다. 양질의 번역서와 국내 좋은 저자들의 IT 지식을 접할 수 있게 도와주시는 한빛미디어에게 감사의 말씀 먼저 드린다. 원제 : Dive Into Systems: A Gentle Introduction to Computer Systems 저자 : Suzanne J. Matthews, Tia Newhall, Kevin C. Webb 출간 : N
FundamentalOOP

오브젝트; 자율적인 객체

객체를 설계할 때 "이 객체가 어떤 데이터를 포함해야 하는가?" 라는 질문은 다음과 같은 두개의 개별적인 질문으로 분리해야 한다. 이 객체가 어떤 데이터를 포함해야 하는가? 이 객체가 데이터에 대해 수행해야 하는 오퍼레이션은 무엇인가? DiscountCondition (할인조건) 클래스에 대한 개선 Movie 클래스에 대한 개선 Screening 클래스에 대한 개선 ReservationAgency 클래스에 대한 개선 DiscountCondition 자신의 데이터를 이용해 할인 가능 여부를 스스로 판단하게 되었지만, isDiscoun
EngineeringLinux

암호화 된 사설 SSL 인증서 만들기

그냥 RSA 개인키를 만든다. 그 RSA 개인키를 encryption 한다. 서티 사이닝을 한다 encrypted 된 RSA 개인키로 공개키를 만든다. pem 키 RSA 개인키 생성 RSA 개인키 암호화 아래 두가지 중 택 1 3DES 방식 AES의 경우. (마찬가지) 서티 사이닝 이때 셀프 정보 들어감 암호화된 개인키로 공개키 만들기 이때 또 비밀번호 물어봄 pem 키 생성 까보면 encrypted 랑 아닌거랑 시그니처 차이가 있음 최종 아래와 같은 키 목록 사용 시 복사하는 키 pem 키 RSA 키 (암호화 안된 개인키)
FundamentalOOP

오브젝트; 데이터 중심 설계의 문제

객체지향 설계의 핵심 협력 : 애플리케이션의 기능을 구현하기 위해 메시지를 주고받는 객체들 사이의 상호작용 책임 : 객체가 다른 객체와 협력하기 위해 수행하는 행동 역할 : 대체 가능한 책임의 집합 객체지향 설계 객체에 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동 객체지향의 설계의 핵심은 책임이다. 책임을 할당하는 작업이 응집도와 결합도 같은 설계 품질과 깊이 연관되어 있다. 설계 설계는 변경을 위해 존재한다. 훌륭한 설계한 합리적인 비용안에서 변경을 수용할 수 있는 구조를 만드는 것이다. 변경