본문 바로가기

전체 글74

[03] Do it! 데이터 분석을 위한 판다스 입문 3일차 HTML 삽입 미리보기할 수 없는 소스 2024. 1. 4.
[02] Do it! 데이터 분석을 위한 판다스 입문 2일차 03 판다스 자료구조 살펴보기 HTML 삽입 미리보기할 수 없는 소스 2024. 1. 3.
[01] Do it! 데이터 분석을 위한 판다스 입문 1일차 01 판다스 실습 환경 준비하기 01-1 아나콘다 설치하기 Free Download | Anaconda 01-2 판다스 실습 공부하기 https://github.com/EasysPublishing/do_it_pandas 아나콘다 설치 후 Jetbrains ultimate 요금제를 매년 결제하고 있기 때문에 Data Spell을 사용해 책을 진행하려고 한다. 02 판다스 시작하기 판다스는 데이터프레임과 시리즈라는 두 가지 새로운 자료형을 제공하는 데이터 분석용 오픈소스 라이브러리, 스프레드시트 형태의 데이터를 불러와 빠르게 조작, 정렬, 병합할 수 있다. 시리즈는 데이터프레임의 한 열을 나타낸다. 시리즈를 여러 개 모은 딕셔너리나 컬렉션이 판다스의 데이터프레임 판다스의 장점 자동화 모든 실행 단계를.. 2024. 1. 2.
[리뷰] 객체지향의 사실과 오해 동료 개발자의 추천으로 읽게 된 책인데 그 분께 굉장히 고맙다. 책이 기술 서적이 아니라 인문학 서적을 읽는 듯한 느낌을 받았다. 덕분에 굉장히 재밌게 읽힌다. 그리고 중요한 내용을 비유를 통해서 쉽게 설명하며 반복을 통해 뇌에 새겨버린다. SI 업계에 들어온지 3년이 지났다. 그동안 컨트롤러 - 인터페이스 - 구현체의 단순한 구조와 가끔씩 공통 Util 하나 추가해서 개발하는데 너무 익숙해져버렸다. 그동안 사실 객체지향을 쓴다고 하면 그냥 클래스를 쓰면 되는건줄 알았다. 그런데 이 책을 읽으니, 객체지향 프로그래밍에 대해 무엇을 오해했는지, 객체지향이란 무엇인지 조금은 알게된거 같다. 책의 내용이 방대하여 각 장마다 한 줄로 요약하자면 1장에서는 역할, 책임, 협력 그리고 객체가 핵심을 명시한다. 2장.. 2024. 1. 1.
[07][完] 객체지향의 사실과 오해 - 함께 모으기 코드와 모델을 밀접하게 연관시키는 것은 코드에 의미를 부여하고 모델을 적절하게 한다. - 에릭 에반스(Eric Evans)[Evans 2003] 마틴 파울러는 [UML Distilled 2판]에서 객체지향 설계 안에 존재하는 세 가지 상호 연관된 관점에 관해 설명한다. 파울러는 세 가지 관점을 각각 개념 관점, 명세 관점, 구현 관점이라고 부른다. 개념 관점(Conceptual Perspective)에서 설계는 도메인 안에 존재하는 개념과 개념들 사이의 관계를 표현한다. 사용자가 도메인을 바라보는 관점을 반영하여 실제 도메인 규칙과 제역을 최대한 유사하게 반영하는 것이 핵심이다. 명세 관점(Specification Perspective)에 이르면 소프트웨어 안에서 살아 숨쉬는 객체들의 책임에 초점을 맞추.. 2024. 1. 1.
[06] 객체지향의 사실과 오해 - 객체지도 객체지도는 객체지향 프로그래밍에서 사용되는 개념입니다. 객체지향 프로그래밍은 객체들의 상호작용을 중심으로 프로그램을 구성하는 방법론입니다. 객체지도는 이러한 객체들의 관계와 상호작용을 시각적으로 표현한 도구입니다. 객체지도를 사용하면 프로그램의 구조를 쉽게 이해하고 관리할 수 있습니다. 유일하게 변하지 않는 것은 모든 것이 변한다는 사실뿐이다. -헤라클레이토스(Heraclitus of Ephesus) 지도는 길을 찾는 데 필요한 구체적인 기능이 아니라 길을 찾을 수 있는 ‘구조’를 제공한다. 지도는 범용적이다. (새로운 목적까지도 만족시킬 수 있다.) 객체지향은 지도와 같다. 자주 변경되는 기능이 아니라 안정적인 구조를 기반으로 시스템을 구조화한다. 기능 설계 대 구조 설계 모든 소프트웨어 제품의 설계에.. 2023. 12. 31.
[05] 객체지향의 사실과 오해 - 책임과 메시지 NOTION AI 결과 ———————————————————————————————————— 책임과 메시지 소프트웨어 개발에서 책임의 개념은 시스템 내에서 특정 객체나 구성 요소가 가지는 작업과 의무를 말합니다. 각 객체나 구성 요소는 특정한 동작을 수행하거나 특정한 기능을 제공하기 위해 책임을 집니다. 반면에 메시지는 시스템 내의 객체나 구성 요소 사이에 통신하는 데 사용됩니다. 객체는 서로에게 메시지를 보내어 동작을 트리거하거나 정보를 요청합니다. 메시지는 데이터를 전달하거나 메서드를 호출하거나 다른 객체에 이벤트에 대해 알리는 데 사용될 수 있습니다. 명확한 책임을 이해하고 정의하며 효과적인 메시지 전달 메커니즘을 설계하는 것은 견고하고 유지 관리 가능한 소프트웨어 시스템을 구축하기 위해 중요합니다. .. 2023. 12. 30.
[04] 객체지향의 사실과 오해 - 역할,책임, 협력 우리 모두를 합친 것보다 더 현명한 사람은 없다. - 켄 블랜차드 중요한 것은 개별 객체가 아니라 객체들 사이에 이뤄지는 협력이다. 객체지향 설계의 전체적인 품질을 결정하는 것은 개별 객체의 품질이 아니라 여러 객체들이 모여 이뤄내는 협력의 품질이다. 협력 협력은 요청할 때 시작한다. 요청하면 응답한다. 협력은 다수의 연쇄적인 요청과 응답의 흐름으로 구성된다. 책임 객체지향의 세계에서는 어떤 객체가 어떤 요청에 대해 대답해 줄 수 있거나, 적절한 행동을 할 의무가 있는 경우 해당 객체가 책임을 가진다고 말한다. 책임의 분류 하는 것과 아는 것으로 나뉜다. 역할 협력 안에서 역할은 “이 자리는 해당 역할을 수행할 수 있는 어떤 객체라도 대신할 수 있다.” 역할은 객체지향 설계의 단순성(simplicity).. 2023. 12. 29.
[03] 객체지향의 사실과 오해 - 타입과 추상화 NOTION AI 타입과 추상화는 프로그래밍에서 중요한 개념입니다. 타입은 데이터의 종류를 정의하고 제한하는데 사용됩니다. 추상화는 복잡한 개념이나 데이터를 단순화하고 일반화하는 과정을 의미합니다. 이러한 개념을 이해하면 프로그래밍에서 더 효율적이고 유지보수가 쉬운 코드를 작성할 수 있습니다. 타입은 변수, 상수, 함수 등에 적용됩니다. 각각의 타입은 특정한 속성과 동작을 가지며, 이를 토대로 프로그래밍 언어는 타입 검사와 타입 추론을 수행합니다. 타입은 컴파일 시간에 오류를 방지하고 코드의 안정성을 높이는 역할을 합니다. 추상화는 개념이나 데이터를 단순화하여 복잡성을 줄이는 과정입니다. 이를 통해 코드의 가독성을 높이고 개발자가 코드를 이해하고 관리하기 쉽게 만듭니다. 추상화는 객체 지향 프로그래밍에서.. 2023. 12. 28.