관리 메뉴

취미개발 블로그와 마음수양

코드스피츠 오브젝트 83 #1 본문

개발관련 잡다/스터디_세미나이야기

코드스피츠 오브젝트 83 #1

아라한사 2020. 7. 25. 03:35


코드스피츠 83 #1

코드를 왜 이리 짤까 - motivation - 돈이 덜 드니까, 돈을 버니까
생각의 기저를 이루는 철학(사료의 틀)

토마스 쿤의 과학혁명
철학을 베이스로 하는 윗단계의 프레임. 

구현패턴 : 생각하는 코드의 틀 (가치, 원칙, 패턴)
가치와 원칙에서 반복되는 패턴
Xoriented
어떻게 적용하느냐에 따라서 패턴이 달라짐.


Relativism : 토마스 쿤(과학 혁명의 구조)
Rationalism : 러커토시 임레(수학적 발견의 논리 : 증명과 반박)
난장판 : 파울 파이어아벤트(방법에의 도전)과 그 이후
상대주의, 합리주의
합리주의 - 최적화. 인간성을 말살하고 합리성
상대주의 : 클래스 위에도 있고, 아래도 있고, JVM은 어플리케이션이지만 클래스 기준으로는 부모
기준을 만들때는 합리성

켄트벡이 말하는 가치 : 돈으로 환산할 수 있는 가치 ( Communication, Simplicity, Flexibility )
간단하면 재사용가능. 유연하면 간단하다.

원칙 : Local consequences, Minimize repetition, Symmetry, Convention
변수의 생명주기를 짧게, 
중복을 최소화 ( 중복은 제거하는 것이 아니라 발견하는 것이다 )
짝을 맞추라 Symmetry :게터세터

XOriented : SOLID, DRY, Reactive, Functional, 

코딩의 생산성 : 50% 이상이 디버깅에 사용
사람의 시간 = 돈. 
돈을 적게 썼다 = 시간을 적게 썼다.
공장은 사람을 적게 쓰면 돈을 버는 것은 아니다. 

유연, 견고, 격리
요구사항은 바뀐다.
납기는 정해져있다. 
변화에 대해서 격리에 성공해서 

객체지향쪽 : 역할모델

역할모델을 이해해서 프로그래밍을 바라보는 시점이 객체지향세계에 입장

추상화
일반화, 연관화, 집단화

일반화 - Modeling, Function, Algorithm
연관화 - Reference, dependence
집단화 - Group, Category

Data 추상화
프로시져 추상화

프로시져 - 메서드가 아닌 함수. 데이터의 처리방법을 함수에게 위임

Data 추상화
- Modeling : 기억해야만 할것을 추상화. 학생 -> 학번, 이름만 추상화
- Categorization : 카테고리로 인식
- Grouping : 유한집합. 자연수 가르치고 집합. 

Procedural Ab
- Generalization : 복잡계를 추상화
- Capsulization :  데이터의 은닉과 다름. ATM 기. 출금. 복잡성을 감추고 추상화된 인터페이스 노출

OOP ab
- Generalization
- Realization
- Dependency
- Association (필드)

- Aggregaation
- Composition


역할모델에 따른 격리 설계까지가면 아무곳이나 갈 수 있다.

=====================================================

:: Program & Timing

프로그램은 메모리에 적재될 때부터 실행될 때부터 프로그램

Language CODE ---- Lint Time
Machine language ---- Compile Time
FILE
load
run ---- Run time
terminate

왠만한 에러는 런타임에 걸리면 최악이니 Lint, Compile 타임에 잡을려고 한다. 


:: Script Program

Language CODE --- LINT time
RUN --- RUN time
File Load 가 없으므로 syntax error

:: Runime 

CPU 
제어유닛 - 디코더
연산유닛 - 제어정보
데이터유닛

Loading
INSTRUCTIOIN FETCH & DECODING 
Execution

Essential Definition Loading
VTable Mapping
RUN
RUNTIME DEFINITION LOADING
RUN

=====================================================

Pointer of Pointer

직접 참조의 문제. 
B참조값을 바꾸는 순간 C,D 가 끝장난다. 
파라미터로 무엇을 던지고 내가 가지고 있던 변수는 안 가져있겠지?
한번더 포인터의 포인터를 가짐으로 쿠션메모리가 있다.
동적 바인딩





















'개발관련 잡다 > 스터디_세미나이야기' 카테고리의 다른 글

코드스피츠 오브젝트 83 #3  (0) 2020.07.25
코드스피츠 83 오브젝트 #1-2  (0) 2020.07.25
공마 스터디 #2  (0) 2019.09.26
코드스피츠 84 #4  (0) 2019.09.24
코드스피츠 84 #3  (0) 2019.09.24