한 번에 다뤄야 하는 정보의 수를 줄이기 위해, 본질적인 정보를 남기고 불필요한 세부 사항을 걸러 문제를 단순화하자 ⇒ 추상화프로시저 추상화(procedure abstraction) : 소프트웨어가 무엇을 해야 하는지를 추상화한다.기능 분해(functional deco
올바른 객체에게 올바른 책임을 할당 하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동객체지향 설계의 핵심은 책임.책임을 할당하는 작업은 응집도와 결합도 같은 설계 품질과 깊이 연관되어 있다.결합도와 응집도를 합리적인 수준으로 유지할 수 있는 중요한 원칙객체
"이론이 먼저일까, 실무가 먼저일까?"어떤 분야를 막론하고 이론을 정립할 수 없는 초기에는 실무가 먼저 급속한 발전을 이룬다. 실무가 어느정도 발전하고 난 다음에야 비로소 실무의 실용성을 입증할 수 있는 이론이 비로소 실무의 실용성을 입증할 수 있는 이론이 서서히 그
"이론이 먼저일까, 실무가 먼저일까?"어떤 분야를 막론하고 이론을 정립할 수 없는 초기에는 실무가 먼저 급속한 발전을 이룬다. 실무가 어느정도 발전하고 난 다음에야 비로소 실무의 실용성을 입증할 수 있는 이론이 비로소 실무의 실용성을 입증할 수 있는 이론이 서서히 그
목차 1장 객체, 설계 2장 객체지향 프로그래밍 3장 역할, 책임, 협력 4장 설계 품질과 트레이드오프 5장 책임 할당하기 6장 메세지와 인터페이스 7장 객체 분해 8장 의존성 관리하기 9장 유연한 설계 10장 상속과 코드 재사용 11장 합성과 유연한 설계 12장 다
https://www.acmicpc.net/problem/16398Minimum Spanning Tree(MST)는 문제를 보통 2가지 유형으로 푸는 듯 하다.스패닝 트리가 된다는 조건 하에 heap 방식으로 풀이Disjoint Set(분리집합) 문제와 유사하
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV-fO0s6ARoDFAXT최대 Heap과 최소 Heap을 각각 두어 해결해야 하는 문제이다. 중간값을 기준으로 중간값보
https://www.acmicpc.net/problem/11403Shortest Path의 문제 유형이고, 나는 bfs의 방법으로 풀었다. visited\[]를 통하여 방문할 수 있는 지 없는 지를 계속 확인해준다. 만약 방문할 수 있다면, 해당 j번째 노드
문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWNcJ2sapZMDFAV8 해결 아래에 참고 블로그를 적어뒀다. 아주 도움이 많이 됨! 우선 나는 입력은 2차원 배열에
https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV14zIwqAHwCFAYD&categoryId=AV14zIwqAHwCFAYD&category
우선 먼지가 확산되는 것은 diffuse() 함수를 통해 확산되고, 공기청정기는 cleanup() 함수를 통해 먼지를 이동 및 흡수한다.중요한 것은 공기청정기로 먼지를 이동 및 흡수 시킬 때였다. 요령이 없어서 그냥 하나하나 구현했다.공기청정기의 위, 아래를 나누는 것
보통은 배열 arr1을 arr2에 똑같이 복사하고 싶을 때 했던 방법은 아래와 같다.일명 얕은 복사 라고 한다. 근데 시뮬레이션 문제를 풀다가 이렇게 해도 값이 계속 동기화되는 것을 확인했다.왜냐하면 리스트 안에 리스트 mutable 객체 안에 mutable 객체인 경
핀테크 스타트업에서 api 개발을 하면서 Java object를 JSON 형식으로 처리할 일이 많았다.나는 사이드 프로젝트에서도 Jackson을 주로 사용하곤 했는데, 사실 사이드 프로젝트에서는 우리가 모든 api를 개발하다 보니, 문자열의 모양(Lowercase, U
2022-06-16 09:50:59.532 ERROR 19667 --- 0.1-8085-exec-1 o.a.c.c.C.\[.\[./.dispatcherServlet : Servlet.service() for servlet dispatcherServlet in co
전통의 아키텍쳐, 마이크로서비스 아키텍쳐와는 반대되는 개념.하나의 서비스 또는 애플리케이션이 하나의 거대한 아키텍쳐를 가질 때, 모놀리식(Monolithic)하다고 함.내부 요소간의 의존성이 강하다. 필연적으로 구조적인 결합이 강력하게 유지되고, 각 비즈니스 컴포넌트들
DB 테이블에 존재하는 Column들을 필드로 가지는 객체.Entity는 DB의 테이블과 1대 1로 대응.따라서 테이블이 가지지 않는 컬럼을 필드로 가져서는 안된다.다른 클래스를 상속받거나 인터페이스의 구현체여서는 안된다.Domain 로직만 구현하고 Presentati
Docker AI container에서 import cv2 를 했는데 계속 import error가 떴다...No module 이라고 직접적으로 뜨지는 않았는데 계속 import error가 떠서 pip3 freeze 를 통해 requirements를 다 넣었다. 그래
기존에 Colab 환경에서 돌렸던 코드는 https://colab.research.google.com/github/sony/nnabla-examples/blob/master/interactive-demos/fan.ipynb이다.Colab에서는 잘 돌아가니까 바
NNabla git : https://github.com/sony/nnabla-examples링크텍스트SONY 측에서 개발한 Neural network 오픈 소스 소프트웨어. (마치, tensorflow, pytorch같은 것이라고 볼 수 있음.)코드를 짧게