profile
서울대학교 컴퓨터공학부 github.com/BaekGeunYoung
태그 목록
전체보기 (101)book(35)review(35)project(28)kotlin(19)DDD(15)agile(13)docker(13)Domain Driven Design(13)agile software development(12)Spring boot(11)kubernetes(11)k8s(10)Infra(10)container(10)practice(9)archiving(9)algorithm(8)aws(8)Spring(7)recofashion(6)coroutine(6)typescript(5)multi thread(5)msa(5)server(5)nodejs(5)Backend(5)rxjs(5)clean architecture(5)graphql(5)React(5)unit test(4)SQS(4)blog(4)SOLID(3)JavaScript(3)알고리즘(3)test(3)dynamodb(3)mysql(3)OOP(3)query(3)Context API(3)architecture(3)mutex(3)best practice(2)redis(2)API(2)dependency injection(2)serverless(2)apollo(2)d3(2)jest(2)crawler(2)object oriented(2)nosql(2)security(2)mongodb(2)rgb(2)cloud(2)canvas(2)spring cloud(2)netflix oss(2)synchronization(2)race condition(2)async(2)JPA(2)prisma(1)cloudwatch(1)enzyme(1)http(1)Embeddable(1)Node(1)exception(1)development(1)개발자(1)react hook(1)계획(1)Embedded(1)exceptionahandler(1)data structure(1)functional programming(1)mocha(1)hanoi tower(1)netlify(1)react dnd(1)Mockito(1)upload(1)DeepLearning(1)Cache(1)image(1)sql(1)tree(1)hooks(1)mutation(1)multi threading(1)Thread(1)Singleton(1)IaaS(1)Crawling(1)complete search(1)dynamic programming(1)greedy algorithm(1)heuristic(1)pruning(1)express(1)dynamo(1)decision(1)optimization(1)prim(1)netlify dev(1)over engineering(1)under engineering(1)SEDE(1)cs224n(1)1st class collection(1)multithread(1)use case(1)structure(1)trip(1)MST(1)lucid architecture(1)GKE(1)회고(1)laravel(1)visualization(1)geometry(1)apollo server(1)authorization(1)schema(1)introduction(1)AI(1)drag drop(1)actor(1)junit(1)mockMvc(1)mutl thread(1)cpu(1)Side Project(1)study(1)core(1)php(1)Database(1)lambda(1)BFS(1)React Hooks(1)Java(1)hardware(1)memoization(1)Design Pattern(1)software(1)di(1)deploy(1)S3(1)docker compose(1)mongoose(1)hackerton(1)공부(1)JWT(1)
post-thumbnail

Review: 소프트웨어 개발의 지혜 - TEMPLATE METHOD 및 STRATEGY 패턴: 상속과 위임

이 장은 상속과 위임의 차이를 전형적으로 보여주는 두 개의 패턴에 대해 다룬다. TEMPLATE METHOD 및 STRATEGY 패턴은 비슷한 문제를 해결하고 보통 호환되어 쓰인다. 그러나 TEMPLATE MEHOD는 문제를 해결하기 위해 상속을 사용하는 반면, STR

2일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 13장_COMMAND 및 ACTIVE OBJECT 패턴

COMMAND 패턴은 서로 다른 일을 하는 객체 그룹이 하나의 레벨로 묶이길 원할 때 사용하는 패턴이다. COMMAND 패턴의 핵심은 매우 단순한 인터페이스 하나로 설명될 수 있다.이것은 command 객체 안에 존재하는 do() 함수의 수준을 클래스 수준으로 격상시키

2일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 12장_인퍼테이스 분리 원칙

위 상황은 ISP가 지양하는 바로 그 상황이다. 각각의 Transaction 파생 클래스들은 모두 하나의 UI 인터페이스에 의존하게 되는데, 자신이 사용하지 않는 메소드에 의존하게 될 수 밖에 없으며 UI의 일부 메소드의 변경에 대한 영향이 이 UI에 의존하는 모든 T

2일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 11장_의존 관계 역전 원칙

DIP는 물론 매우 유익한 내용을 담고 있는 객체 지향 설계 원칙이지만, 그 이름에 왜 역전(inversion)이라는 단어가 사용되는지 단번에 와닿지 않을 것이다.(나도 이 책을 읽고 나서야 그 이유를 알게 되었다.) 이는 보다 전통적인 소프트웨어 개발 방법에서는 소프

3일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 10장_리스코프 치환 원칙

위 함수는 LSP를 위반한다. 현재는 Shape라는 기반 클래스를 상속하는 클래스가 Circle 클래스와 Square 클래스 뿐이지만, 이를 상속하는 또 다른 클래스 Triangle이 추가된다면 이 함수에 등장하는 Shape(기반 타입)은 Triangle(하위 타입)로

5일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 9장_개방 폐쇄 원칙

모듈의 동작을 쉽게 확장할 수 있다는 것을 의미한다. 애플리케이션의 요구 사항이 변경될 때, 이 변경에 맞게 새로운 동작을 추가해 모듈을 확장할 수 있다.어떤 모듈의 동작을 확장하는 것이 그 모듈의 소스 코드의 변경으로 이어지는 것은 아니다. 한 객체의 변경이 의존관계

5일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 8장_단일 책임 원칙

클래스는 단 한 가지의 변경 이유만을 가져야 한다.객체 지향 설계에서 '책임'이란 '변경의 축'을 의미한다. 하나의 클래스가 여러 책임을 떠앉고 있을 경우 이 클래스는 변경에 대한 여러 가지 이유를 가지게 되며, 이는 불필요한 관리 포인트를 증가시켜 코드의 유지보수를

6일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 7장_애자일 설계란 무엇인가

설계가 잘못되었을 때 소프트웨어는 다음과 같은 증상을 보인다.경직성 - 설계를 변경하기 어려움취약성 - 설계가 망가지기 쉬움부동성 - 설계를 재사용하기 어려움점착성 - 제대로 동작하기 어려움불필요한 복잡성 - 과도한 설계불필요한 반복 - 마우스 남용불투명성 - 혼란스러

6일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 5장_리팩토링

소프트웨어는 고객을 위한 것이지만, 동시에 개발자를 위한 것이기도 하다. 개발자를 위한 소프트웨어라는 측면에서, 소프트웨어는 읽기 쉽고 변경하기 쉬워야 한다. 이 책의 대부분은 읽기 쉽고 변경하기 쉬운 코드를 작성하기 위해 필요한 원칙과 패턴을 소개하고 있지만, 궁극적

6일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 4장_테스트

TDD를 하는 방법은 간단하다. 프로그램을 설계하기 전에 테스트 코드부터 작성하는 것이다. 단순한 방법이지만, 이렇게 함으로써 여러가지 이득을 얻을 수 있다.개발 과정에서 작성하게 되는 모든 코드는 기능을 검증할 수 있는 테스트 코드를 갖게 된다. 빈번하게 변경이 일어

6일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 3장_계획 세우기

이번 장에서는 XP에서 일을 계획하는 방식에 대해 자세히 다룬다.프로젝트 초기에 개발자 팀은 사용자 스토리를 추정하기 위해 고객과 함께 일해야 한다. 이 단계에서의 추정은 절대적이 아닌 상대적으로 이루어져야 한다. 사용자 스토리의 상대적인 비용을 표현하기 위해서 '스토

6일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 2장_익스트림 프로그래밍 소개

익스트림 프로그래밍은 애자일 방법 중 가장 유명한 것으로, 단순하면서도 서로 의존적인 실천방법의 집합으로 구성되어 있다. 이 장에서는 그러한 실천방법들을 전체적으로 살펴본다.고객이란 개발자와 같은 회사에서 일하는 비즈니스 분석가일수도, 사용자를 대신하는 대리인일 수도

6일 전
·
0개의 댓글
post-thumbnail

Review: 소프트웨어 개발의 지혜 - 1장_애자일 실천방법

원칙, 패턴, 실천방법 등도 모두 중요하지만, 이것들이 그 기능을 제대로 발휘하게 하는 것은 바로 인간이다. 프로세스와 기술은 프로젝트의 결과에 이차적 영향만을 미칠 뿐, 일차적 영향을 미치는 것은 인간이다. 따라서 프로젝트를 성공적으로 이끌기 위해서는 협력적이고 자기

7일 전
·
0개의 댓글
post-thumbnail

AWS lambda + Cloudwatch로 serverless 크롤러 만들기

주기적으로 작동하는 크롤러를 만들기로 결정한 후 처음 들었던 고민은 '어떤 배치 서비스를 사용해야 하나' 하는 것이었다. 백엔드는 spring boot로 개발하고 AWS에 배포할 계획이었기 때문에 높은 통합성을 보이리라고 생각되는 spring batch, AWS bat

7일 전
·
0개의 댓글
post-thumbnail

MSA로 헬스/영양 관리 어플리케이션 만들기 (2)

대략적인 MSA의 구조는 다음과 같다.

2020년 3월 17일
·
0개의 댓글
post-thumbnail

MSA로 헬스/영양 관리 어플리케이션 만들기 (1)

spring cloud 및 netflix OSS를 이용해 MSA를 구축해보기 위한 실습입니다.헬스/영양 관리 애플리케이션사용자 관리 (회원가입 / 로그인 / 회원정보 수정 등)헬스한 내용 입력 (운동 종류 / 볼륨)음식별 칼로리 및 탄단지 검색하루 먹은거 입력입력받은

2020년 3월 17일
·
0개의 댓글
post-thumbnail

deliSHAs - 서울대학교 학식 어플리케이션 만들기

우리 대학교 학생들이 많이 사용하는 학식 어플이 있는데, 어느 순간부터 앱이 작동하질 않아서 불편함이 있었다. 친한 형들과 함께 완벽하게 배포해서 운영할 만한 프로젝트를 찾고 있었는데, 우선 간단하게 학식 정보 제공 어플리케이션을 만들어보기로 했다.학식 정보를 공식 홈

2020년 3월 17일
·
0개의 댓글
post-thumbnail

practice - 공연 예약 / 등록 애플리케이션

나는 보통 언어나 프레임워크를 처음 학습한 후 전반적인 기능개발에 관한 실습을 해보기 위해서 '공연 예약/등록 어플리케이션'을 만들어보곤 한다. 그 이유는 이 어플리케이션을 만들기 위해서는 보편적인 CRUD 기능이 존재해야 하고 DB 스키마 설계를 어느정도 신경써야 하

2020년 3월 8일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 16. 대규모 구조

큰 시스템에 해당 시스템의 요소를 전체 설계에 걸친 패턴에서의 역할 측면에서 해석하게 할 수 있는 지배적인 원칙이 없다면 개발자들은 나무만 보고 숲을 보지 못한다. 우리는 전체의 세부사항을 깊이 파고들지 않고도 전체의 각 부분이 담당하는 역할을 이해할 수 있어야 한다

2020년 2월 26일
·
0개의 댓글
post-thumbnail

도메인 주도 설계 - 15. 디스틸레이션

디스틸레이션(distilation)은 혼합된 요소를 분리해서 본질을 좀더 값지고 유용한 형태로 뽑아내는 과정이다. distilation이라는 단어의 사전적 의미처럼 도메인 모델은 여러 번의 증류 과정을 거쳐 중요한 부분과 중요하지 않은 부분을 명확히 구분할 수 있게 된

2020년 2월 26일
·
0개의 댓글