본문 바로가기
  • 저희는 평생 개발할 운명이걸랑요

Tech.log56

[함수형 프로그래밍] 이전글 2021.04.27 - [Tech.log/개발 상식] - [객체 지향 프로그래밍(Object Oriented Programming)] [객체 지향 프로그래밍(Object Oriented Programming)] 객체 지향 프로그래밍은 인간 중심적 프로그램 패러다임이라고 할 수 있다. 현실 세계의 사물들을 Object로 보고 사물들로 부터 개발하고 자 하는 특징을 뽑아와 프로그래밍하는 것이다. OOP방식 itfordoit.tistory.com 프로그래밍의 패러다임(Programming Paradigm) 프로그래밍 패러다임은 프로그래머에게 프로그래밍의 관점을 갖고 어떻게 코드를 작성할 지에 대한 결정하는 결정을 한다. 최근의 프로그래밍 패러다임은 아래와 같이 구분 가능하다. 명령형 프로그래밍 :무엇(.. 2021. 5. 19.
[RESTFul API] REST의 정의 RESTFul 자원을 이름으로 구분하여 자원의 상태 정보를 주고 받는 것 ex)문서,그림,데이터 (자원)을 JSON, XML(자원의 상태) 월드와이드웹(www)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식으로 웹의 장점을 최대한 활용할 수 있다. 더보기 웹페이지 장점 - 다양한 OS 및 다양한 기기에서 실행이 가능하다. - 브라우저 내에선 다양한 시각적 디자인 및 UI가 가능하다. - 업데이트가 간편하다. - 언제 어디서나 설치 없이 사용할 수 있다. 웹페이지 단점 - 브라우저의 홈으로 등록해두지 않으면 매번 찾아가야 한다. - 브라우저의 홈은 PC당 1개로 제한되어 있다. - 주소를 직접 입력하여 방문하여야 한다. - 검색엔진을 통해 방문하여야 한다. - 즐겨찾.. 2021. 5. 19.
[프로세스와 스레드의 차이] 프로세스와 스레드 프로그램: 파일이 저장장치에 저장되어 있지만 메모리에 올라가 있지 않은 정적 상태이다. 프로세스 : 운영체제로 부터 자원을 할당받은 작업의 단위 스레드: 프로세스가 할당받은 자원을 이용하는 실행 흐름 단위 프로그램 → 프로세스 정적인 파일인 프로그램(.exe)을 자의든 타의든 실행하게 되면 메모리에 올라가 프로세스 상태가 된다. 프로세스 → 스레드 과거에는 프로그램을 실행할때는 프로세스가 하나였다. 하지만 프로그램이 복잡해지고 프로세스 하나만으로 실행하기에 벅차다. 운영체제는 프로세스마다 할당된 메모리내의 정보만 접근할수 있었기때문에 이를 벗어나는 정보를 접근하면 오류가 발생했다.프로세스와는 다른 더 작은 실행 단위 개념이 요구 되었고 이것이 스레드다. 스레드는 프로세스와 다르게 스레드.. 2021. 5. 19.
[꼬리 재귀(Tail Recursion)] 재귀 하나의 함수에서 자신을 호출하여 작업을 수행하는 방식으로 문제를 푼다. 함수는 호추할때 함수의 입력값,리턴값,돌아갈 위치 값들을 스택에 저장한다. 재귀 함수를 사용하면 함수가 끝나지 않은 채 함수를 계속해서 호출함으로 스택에 메모리가 쌓이게 되고 오버 플로우가 발생한다. 이러한 단점을 보완하기 위해 꼬리재귀를 사용한다! 꼬리재귀란 ? 재귀호출이 끝난 후, 현재 함수에서 추가 연산을 요구하지 않도록 구현하는 재귀의 형태이다. 함수 호출이 반복되어 스택이 깊어지는 문제를 컴파일러가 선형으로 처리하여 재사용 가능하다. //일반 재귀 예시 int Factorial(int n) { if (n == 1) return 1; return n * Factorial(n-1); } //꼬리재귀 예시 int Factor.. 2021. 5. 18.