Framework 개발할 때 자주 사용되는 기능을 한꺼번에 제공해 개발 효율의 향상을 목표하는 소프트웨어 환경 프레임워크는 전체적인 흐름을 스스로가 가지고 있고 개발자가 필요한 코드를 짜 넣어서 사용합니다. 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 연동과 같은 기능들을 위해 어느 정도 뼈대(Frame)를 제공 사용자는 코드를 작성하여 애플리케이션을 개발합니다. 앱/서버 등의 구동, 메모리 관리, 이벤트 루프 등의 공통된 부분은 프레임워크가 관리하며, 사용자는 프레임워크가 정해준 방식대로 클래스, 메서드들을 구현하면 됩니다. 특징 1. 제어의 역전(IOC) 개념이 적용된 대표적인 기술입니다. 2. 공통적인 개발환경을 제공합니다. 3. 개발할 수 있는 범위가 정해져 있다. 예시 Python 서버..
용어정리/IT
객체 지향 프로그래밍이란 무엇인가? 객체 지향 프로그래밍 이전의 프로그래밍 패러다임을 살펴보면, 중심이 컴퓨터에 있었고. 컴퓨터가 사고하는대로 프로그래밍을 했었다. 객체지향 프로그래밍이란 인간 중심적 프로그래밍 패러다임이라고 할 수 있다. 현실 세계의 사물들을 객체라고 보고 그 객체로부터 개발하고자 하는 애플리케이션에 필요한 특징들을 뽑아와 프로그래밍 하는 것이다. 절차지향 데이터를 여러 프로시저가 공유하는 방식 특징 요구사항이 추가 될 때마다 프로세스가 추가되며 같은 소스가 여러곳에 산재하게 되고 해당 요구사항이 추가수정 된다면 여러곳에 비슷한 소스가 존재하는 상황이 만들어지면 점점 프로그램의 수정에 비용이 커지게 된다. 객체지향 데이터 및 프로시저를 객체 단위로 묶는것 특징 기능 제공 객체는 제공하는..
꼬리 재귀 - Tail Recursion 재귀 호출이 끝난 후 현재 함수에서 추가 연산을 요구하지 않도록 구현하는 재귀의 형태 함수 호출이 반복되어 스택이 깊어지는 문제를 컴파일러가 선형으로 처리하도록 알고리즘을 바꿔 스택을 재사용할 수 있게 됩니다. 꼬리 재귀를 사용하기 위해서는 컴파일러가 이런 최적화 기능을 지원해야 합니다. 가장 중요한건 현재 함수에서 추가 연산을 하면 안된다는 겁니다. 목차 특징 예시코드 관련 글 순환 호출 (circular call) - 재귀적 호출 (recursive call) https://steadiness-dev-invest.tistory.com/84 순환 호출 (circular call) - 재귀적 호출 (recursive call) 순환 호출 (circular call..
순환 호출 (circular call) - 재귀적 호출 (recursive call) 함수 내부에서 함수가 자기 자신을 또다시 호출하는 행위를 의미합니다. 이러한 재귀 호출은 자기가 자신을 계속해서 호출하므로, 끝없이 반복되게 됩니다. 재귀의 특징 - 무한 루프에 빠지지 않기 위해 일정한 탈출 조건이 있어야 한다. - 코드를 단순화 할 수 있다. - 스택 공간을 이용하므로 무리하게 호출하면 스택 오버플로우가 일어날 수 있다. - 디버깅 및 실행 흐름을 파악하기 힘들다 목차 어떤 경우에 사용할까? 장점 & 단점 예시 코드 관련글 꼬리재귀 - Tail Recursion https://steadiness-dev-invest.tistory.com/86 꼬리재귀 - Tail Recursion 꼬리 재귀 - Tai..