나를 기록하다
article thumbnail
[객체지향의 사실과 오해] 2장. 이상한 나라의 객체
Review/Book 2023. 10. 2. 22:00

객체지향의 예시 - 이상한 나라의 앨리스 컴컴한 굴 속의 천장이 낮은 긴 통로 위에 떨어진 앨리스. 커튼 뒤에 숨겨져 있던 작은 문을 발견했는데, 그 곳엔 아름다운 정원이 있다. 하지만 문의 높이가 40cm가 채 되지 않았기 때문에 앨리스는 문을 지나 아름다운 정원에 들어갈 수 없다. 주위를 둘러보며 방법을 찾았다. '마셔라' 병의 액체를 마시고 앨리스의 키가 24cm 정도로 작아졌다. 케이크를 베어 물자 머리가 천장에 닿을 만큼 앨리스의 키가 커졌다. 토끼가 떨어뜨린 부채를 이용해 부채질을 하자 몸이 서서히 작아지더니 60cm 정도로 줄어들었다. 쐐기벌레가 남긴 버섯의 한쪽을 먹으면 몸이 커지고 다른 한쪽을 먹으면 몸이 작아진다. 앨리스는 버섯의 양쪽을 번갈아 먹으며 몸의 크기를 조절하여 원래 상태로 ..

article thumbnail
[KSUG Seminar] Growing Application - 애플리케이션과 객체지향
Review/Seminar 2023. 9. 30. 21:00

[Part - 1] 아키텍처(Architecture) 프로젝트에 참여하는 개발자들이 설계에 대해 공유하는 이해를 반영하는 주관적인 개념 아키텍처는 주관적 → 같은 아키텍처라고 한다고 해도 서로 다른 팀에서 말하는 것이 세부적으로 다를 수 있음 아키텍처를 변경하는 것은 매우 많은 비용이 든다. → 변경하기 어렵다. 이유: 모든 개발자들이 현재 아키텍처를 공유하고 있기 때문 아키텍처는 가급적 일찍 올바르게 결정해야 한다. 아키텍처는 관심사의 분리이다. 관심사의 분리는 서로 다르고 관련이 없는 책임들을 분리하는 것 레이어 아키텍처(Layered Architecture) 서로 다른 관심사를 분리한 아키텍처 유사한 것들을 한 레이어에 모아놓음으로써 그 레이어만 교체를 하면 전체 시스템을 다른 환경에서도 사용 가능..

article thumbnail
[TIL-36/230929] 알고리즘, 우아한테크세미나
TIL 2023. 9. 30. 00:30

[백준 2839/자바(Java)] 설탕 배달 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 시간 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 302839 112158 84392 36.699% 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에..

article thumbnail
[우아한테크세미나]TDD와 리팩토링
Review/Seminar 2023. 9. 28. 16:05

1. 의식적인 연습이란? 의식적인 연습의 7가지 원칙 효과적인 훈련 기법이 수립되어 있는 기술 연마 개인의 컴포트 존을 벗어난 지점에서 진행, 자신의 현재 능력을 살짝 넘어가는 작업을 지속적으로 시도 명확하고 구체적인 목표를 가지고 진행 신중하고 계획적. 개인이 온전히 집중하고 의식적으로 행동할 것을 요구 피드백과 피드백에 따른 행동 변경을 수반 효과적인 심적 표상을 만들어내느 한편으로 심적 표상에 의존 기존에 습득한 기술의 특정 부분을 집중적으로 개선함으로써 발전시키고, 수정하는 과정을 수반 의식적인 연습 예시 - 우테코 프리코스 3주 동안 진행. 매주 해결해야할 미션 부여 미션 완료 후 Github의 Pull Request를 제출 공통 피드백 진행 [피드백 예시] space(공백)도 conventio..

article thumbnail
[객체지향의 사실과 오해] 1장. 협력하는 객체들의 공동체
Review/Book 2023. 9. 26. 16:09

객체지향의 시작 객체지향이란, 실세계를 직접적이고 직관적으로 모델링할 수 있는 패러다임 저자가 말하는 객체지향 객체지향의 목표는 실세계를 모방하는 것이 아닌 새로운 세계를 창조하는 것. 개발자의 역할은 단순히 실세계를 소프트웨어 안으로 옮겨 담는 것이 아니라 고객과 사용자를 만족시킬 수 있는 신세계를 창조하는 것. 객체 → 스스로 생각하고 스스로 결정하는 현실 세계의 생명체(캡슐화 + 자율성) 현실 세계의 사람들이 암묵적인 약속과 명시적인 계약을 기반으로 협력하며 목표를 달성해 나가는 과정 → 메세지를 주고받으며 공동의 목표를 달성하기 위해 협력하는 객체들의 관계를 설명하는 데 적합 실세계의 사물을 기반으로 소프트웨어 객체를 식별하고 구현까지 이어간다는 개념 → 연결완전성 역할과 책임, 그리고 협력 요청..

article thumbnail
[Java] 함수형 프로그래밍(Functional Programming)
Java 2023. 9. 8. 20:00

자바를 공부하고 사용한 지 어느덧 5개월이 넘었으나, 람다식에 대해서 제대로 공부를 하지 않았다. 그로 인해 알고리즘이나 기타 강의 등에서 람다식이 등장하면 종종 헷갈리곤 했다. 확실하게 개념을 정리하여 습득할 수 있도록 기록하려 한다. 우선 람다식에 대해서 정확하게 이해하려면 함수형 인터페이스를 먼저 알아야 한다. 이번 글에서는 프로그래밍 패러다임부터 시작해서 함수형 프로그래밍에 대해 알아보겠다. [프로그래밍 패러다임(Programming Paradigm)] 프로그래밍 스타일을 의미하고 전체적인 프로그래밍 방식을 말한다. 프로그래밍 패러다임은 프로그래머에게 관점을 갖게 해 주고, 결정하는 역할을 한다. 프로그래밍은 순차, 분기, 반복, 참조로 구성되어지고 프로그램 개발을 위하여 전략을 수립해야 함. 전..

profile on loading

Loading...