[TIL] 0627

yoon Y·2022년 6월 28일
0

2022 - TIL

목록 보기
100/109

공부할 것들을 다시 계획했다.
1. nextJS+TS+Redux 개인 프로젝트 진행
2. CS/네트워크 공부
3. 리팩토링 2판 읽기
4. 이외 공부해보고 싶었던 것들
→ 프로그래밍 패러다임, 프론트 디자인 패턴, 리액트 내부 동작 공부, CICD, TDD, 웹접근성

할게 너무 많다. 심지어 과제나 면접을 같이 병행해야할 수도 있으니 진도가 빨리빨리 안나갈 수 있다.
4번은 일상에서 틈틈이 진행하기로 했다. 밥먹을 때나 틈날 때 폰보지말고 아티클 읽기!
토이프로젝트와 과제 준비로 바닐라js프로젝트는 많이 해봤으니 리액트 프로젝트를 해봐야겠다.
ssr과 csr의 장점을 결합한 nextJS를 학습하면서 만들어볼 생각이다. 전역 상태관리는 contextAPI밖에 안써봤어서 가장 유명하고 진입장벽 높은 리덕스를 사용해보려한다.
리덕스를 먼저 배우면 상대적으로 사용하기 쉬운 recoil이나 mobx는 수월하게 할 수 있지 않을까싶어서.. 또한 지도나 날씨 api를 사용해보고 싶다.


오늘은 프로그래밍 패러다임과 역사에 대한 아티클을 읽었다.
자바스크립트에서 객체지향을하는게 맞나요?

프로그래밍 패러다임과 역사

1. 기술 발전의 사이클

  1. 문제인식
  2. 문제를 해결하는 새로운 기술이 등장하고 이름 명명됨
  3. 기술의 부흥
  4. 새로운 한계점 봉착

→ 싸이클 반복

2. 패러다임 연대기

순차적 프로그래밍과 goto

  • 원시타입 데이터와 for, while만으로 순차적으로만 프로그래밍.
  • 함수가 없기 때문에 특정 구간을 반복하려면 goto를 이용해 실행 순서 변경.

절차적 프로그래밍 (c언어)

  • 함수가 등장.
  • 실행순서 바꾸는 것이 아닌 반복되는 코드를 따로 보관.
  • 코드를 실행하다가 특정 함수로 가서 코드를 실행시킨 후 다시 기존 위치로 돌아와 다시 진행.
  • 함수 단위로 코드를 분리하고 재사용하는 형태의 프로그래밍.

구조체 등장 (c언어)

  • 관련 데이터를 그룹으로 묶어 관리하는 구조체 등장.
  • 네임 스페이스와 중복 코드를 줄이고 효율적으로 프로그래밍 가능.

객체 지향 프로그래밍_v1 (c++)

  • 데이터만 묶는 것 보다 관련 함수까지 같이 묶는게 더 편함 → c++의 class등장.
  • 데이터와 함수가 같이 묶인 데이터 형식인 객체(class의 반환 값) 등장.
  • class를 상속해 재사용하며 객체 지향 프로그래밍 개념 시작.

객체 지향 프로그래밍_v2 (Java)

  • 다량의 객체를 쉽고 효율적으로 만들 필요성을 느낌.
  • 작은 부품(객체)를 미리 만들어두어 조립하고 결합하는 방식으로 개발하자는 진정한
    객체 지향 프로그래밍 개념 정립.
  • 자바의 Class는 c언어의 class보다 객체지향적 특징인 추상화, 캡슐화, 상속, 다형성과 관련한 기능이 더 추가되어있다는 차이가 있음.
profile
#프론트엔드

0개의 댓글