Study/Programming 7

[알고리즘 스터디] 스터디 후기

알고리즘 스터디 활동 안내 프로젝트장 : 박상열 참여자 : 박상열, 박희준, 김예진, 임준혁, 임학범, 유상범, 김수현, 양지승 스터디 기간 : 3월 13일부터 4월 9일까지 (4주) 활동 내용 4주간 백준과 프로그래머스 문제풀이를 통해 알고리즘 스터디를 진행했습니다. 처음에는 백준 골드 4 이상, 프로그래머스 레벨 3 이상의 문제난이도를 설정했지만, 참여율이 저조하여 난이도 제한을 제거하였습니다. 활동 정리 3월 11일 shake! 대회에 참여한 뒤 낮은 성적을 받아 알고리즘 공부를 더 해야겠다는 다짐으로 스터디를 계획하게 되었습니다. 참가자마다 원하는 주제의 문제를 풀도록 하였고, 저는 수학과 관련된 문제를 주로 풀었습니다. 스터디를 진행하며 일요일의 정기모임을 계획했지만, 참여율이 낮아 실제로 이루..

Study/Programming 2023.04.11

[객체지향의 사실과 오해] 6장. 객체지도

개발책 읽기 스터디 #1 - 객체지향의 사실과 오해 스터디 날짜: 2022.11.27(일) 작성자: 강보영(M) 6장. 객체 지도 “유일하게 변하지 않는 것은 모든 것이 변한다는 사실 뿐이다.” 길을 직접 알려주는 방법이 기능적이고 해결 방법 지향적인 접근법이라면 지도를 이용하는 방법은 '구조적이고 문제 지향적인 접근법'이다. 지도는 길을 찾는 데 필요한 구체적인 기능이 아니라 길을 찾을 수 있는 '구조'를 제공한다. 지도는 현재의 목적뿐만 아니라 다양한 목적을 위해 재사용될 수 있다. 즉, 지도는 범용적이다. 지도 은유의 핵심은 기능이 아니라 구조를 기반으로 모델을 구축하는 편이 좀 더 범용적이고 이해하기 쉬우며 변경에 안정적이라는 것이다. 따라서 기능을 중심으로 구조를 종속시키는 접근법은 범용적이지 ..

Study/Programming 2022.11.28

[객체지향의 사실과 오해] 5장. 책임과 메세지

개발책 읽기 스터디 #1 - 객체지향의 사실과 오해 스터디 날짜: 2022.11.27(일) 작성자: 정재욱(C) 자율적인 책임 설계의 품질을 좌우하는 책임 객체지향 공동체를 구성하는 기본 단위는 ‘자율적’인 객체다. 이때 자율적인 객체란 스스로 정한 원칙에 따라 판단하고 스스로의 의지를 기반으로 행동하는 객체다. 객체가 어떤 행동을 하는 유일한 이유는 다른 객체로부터 요청을 수신했기 때문이다. 요청을 처리하기 위해 객체가 수행하는 행동을 책임이라고 한다. 따라서 자율적인 객체란 스스로의 의지와 판단에 따라 각자 맡은 책임을 수행하는 객체를 의미한다. 적절한 책임이 자율적인 객체를 낳고, 자율적인 객체들이 모여 유연하고 단순한 협력을 낳는다. 따라서 협력에 참여하는 객체가 얼마나 자율적인지가 전체 appl..

Study/Programming 2022.11.28

[객체지향의 사실과 오해] 4장. 역할, 책임, 협력

개발책 읽기 스터디 #1 - 객체지향의 사실과 오해 스터디 날짜: 2022.11.20(일) 작성자: 김민석(M) 4장. 역할, 책임, 협력 협력이라는 것은 객체의 행동 방식을 결정한다. 개별 객체가 아니라 객체들 사이에 이뤄지는 협력이 중요한 것이다. 객체의 모양을 빚는 것은 객체가 참여하는 협력이다. 어떤 협력에 참여하는지가 객체에 필요한 행동을 결정하고, 필요한 행동이 객체의 상태를 결정한다. 협력 -> 행동 -> 상태 4-1. 협력 4-1-1. 요청하고 응답하며 협력하는 사람들 협력의 본질은 요청과 응답으로 연결되는 사람들의 네트워크다. 협력은 한 사람이 다른 사람에게 도움을 요청할 때 시작된다. 협력은 다수의 연쇄적인 요청과 응답의 흐름으로 구성된다. 4-1-2. 누가 파이를 훔쳤지? 객체지향의 ..

Study/Programming 2022.11.28

[객체지향의 사실과 오해] 3장. 타입과 추상화

개발책 읽기 스터디 #1 - 객체지향의 사실과 오해 스터디 날짜: 2022.11.20(일) 작성자: 정재욱(C) 추상화를 통한 복잡성 극복 추상화란 현실에서 출발하되 불필요한 부분을 도려내가면서 사물의 본질을 드러나게 하는 과정이라고 할 수 있다. 다시 말해 추상화의 목적은 불필요한 부분을 무시함으로써 현실에 존재하는 복잡성을 극복하는 것이다. 이 책에서는 추상화를 다음과 같이 정의한다. 추상화 어떤 양상, 세부 사항, 구조를 좀 더 명확하게 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법. 복잡성을 다루기 위해 추상화는 다음의 두 차원에서 이뤄진다. 구체적인 사물들 간의 공통점은 취하고 차이점은 버리는 일반화를 통해 단순하게 만드는 것. 중요한 부분을 강조하기 ..

Study/Programming 2022.11.28

[객체지향의 사실과 오해] 2장. 이상한 나라의 객체

개발책 읽기 스터디 #1 - 객체지향의 사실과 오해 스터디 날짜: 2022.11.13(일) 작성자: 박지윤(L) 2장. 이상한 나라의 객체 2-1. 객체지향과 인지 능력 객체지향 패러다임은 인간이 인지할 수 있는 다양한 객체들이 모여 현실 세계를 이루는 것처럼 소프트웨어의 세계 역시 인간이 인지할 수 있는 다양한 소프트웨어 객체들이 모여 이뤄져 있다는 믿음에서 출발한다. 그러나 객체지향 패러다임의 목적은 현실 세계를 모방하는 것이 아니라 현실 세계를 기반으로 새로운 세계를 창조하는 것이다. 2-2. 객체, 그리고 이상한 나라 2-2-1. 이상한 나라의 앨리스 2-2-2. 앨리스 객체 어떤 행동의 성공 여부는 이전에 어떤 행동들이 발생했는지에 영향을 받는다. 또한, 행동 간의 순서가 중요하다. 앨리스의 특..

Study/Programming 2022.11.14

[객체지향의 사실과 오해] 1장. 협력하는 객체들의 공동체

개발책 읽기 스터디 #1 - 객체지향의 사실과 오해 스터디 날짜: 2022.11.13(일) 작성자: 박지윤(L) 1장. 협력하는 객체들의 공동체 1-1. 협력하는 사람들 처음 객체지향을 접하게 되었을 때, "객체지향이란 실세계를 직접적이고 직관적으로 모델링할 수 있는 패러다임"이라는 설명을 마주한다. 그러나 소프트웨어 객체와 실세계 사물 사이에 존재하는 연관성은 희미하다. 객체지향의 목표는 실세계를 모방하는 것이 아니라, 새로운 세계를 창조하는 것이다. 실무적 관점에서 실세계의 모방이라는 객체지향에 대한 설명은 부적합하지만, 객체지향이라는 용어에 담긴 기본 사상을 이해하고 학습하는 데는 매우 효과적이다. 1장에서는 기본적인 내용을 설명하기 위해 실세계의 모방이라는 전통적 관점으로 접근을 해본다. 1-1-..

Study/Programming 2022.11.14