개발일지 (Framework #1)

Gamediver·2023년 1월 28일
0

개발일지

목록 보기
3/6

오늘의 양식은 Framework(프레임워크)이다

이해하는데 조금 애를 먹은 놈이다

일단 프레임워크의 정의에 대해 먼저 알아보자

"소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것"

이라고 한다

음 코딩공부를 하면서 느낀점은 보통 어떤 개념의 정의를 살펴보면 그렇게 확 와닿지가 않는다(그만큼 내 지식이 모자라다는 것이겠지?)

영어로 된 정의를 살펴보자

A framework is a structure that you can build sofrtware on

번역하면 소프트웨어의 구조를 의미한다

그렇다

프레임워크는 복잡하게 생각할것이 없고, 그냥 소프트웨어 구조! 라고 생각하면 되겠다

조금 더 생각을 구체화하여 사람에 비유하자면, 아래와 같이 표현할 수 있을 것이다

사람의 팔을 생각해보자

팔의 구성요소로는 뼈대도 있을 것이고, 피부도 있을 것이고, 혈관도 있을 것이고, 근육도 있을 것이고, 또 깊이 들어가자면 지방, 단백질, 적혈구, 백혈구, 혈장 등등 있을 것이다

여기서 프레임워크는 뼈대이다! 뼈대를 통해서 팔의 구조를 생성할 수 있다!

팔에 영양분과 산소를 공급해주는 기능을 하는 혈관, 팔의 움직임을 담당하는 근육, 혈관 및 근육을 보호해주는 피부 등 기능을 담당하는 녀석들은 라이브러리 라고 표현할 수 있겠다!

이로써 프레임워크의 개념을 다졌다

"그래서 프레임워크를 왜 써야하는데?"

라는 의문이 생긴다

프레임워크를 사용하는 장단점에 대하여 말해보자면

<장점>

1) 효율적이다
: 설계도도 없이 나무와 못을 가지고 책상을 만드는 것보단, 설계도를 미리 그린 뒤 재료를 가지고 책상을 만들면 훨씬 효율적이고 계산적이지 않겠는가?

2) 퀄리티
: 설계도 없이 책상을 만들다가 길이가 안맞는다던가, 높이가 안맞는다던가 하는 잔고장을 예방할 수 있다!

3) 유지보수
: 설계도 없이 책상을 만들어놓고, 전목수는 이직을하고 새로운 목수가 와서 책상을 고쳐야한다면 꽤나 힘들 것이다. 하지만 설계도가 있다면?! 설계도 대로만 책상을 만든다면 안정적이게 될것이다!

장점만 있을 순 없다

<단점>
1) 학습하는데 시간이 오래걸린다
: 다른 사람이 제작한 100 페이지 짜리 설계도를 다 읽고 이해해야하는데, 오래 걸릴 수 밖에 없다!

2) 제약
: 설계도라는 구조를 이미 만들어 놓은 것이기에, 설계도대로 움직이는 수밖에 없다, 즉 뭔가 새로운 기능을 추가하는데 어느정도 제약이 생긴다는 것이다.

정리하자면

<프레임워크 장점>
1. 효율적이다
2. 퀄리티
3. 유지보수

<프레임워크 단점>
1. 학습에 오랜시간 소요
2. 제약

현업에 아직 종사해보진 않았지만, 이직으로 인해 개발자가 변경되게 되는것을 고려하여 프레임워크를 많이 쓸 것이라 예상해본다
고로 프레임워크는 내가 꼭 잘 알아야 할 부분이다!

수업에서 진행했던 프레임워크를 다음 포스팅에서 한번 다 뜯어보겠다

profile
a random gameboy just walking past

0개의 댓글