정보원, 수신체, 이 둘 사이의 역할을 담당하는 전송매체가 통신시스템의 3요소이다Open Systems Interconnection의 줄임말로, 7계층으로 구성된다.물리계층(Physical Layer) – 데이터링크계층(Data link Layer) – 네트워크계층(N
!youtubeiOueE9AXDQQ출처 : 얄팍한 코딩사전REST : Representational State Transfer의 약어이기도 하다. 웹 상에서 존재하는 가능한 모든 자원에 고유한 URI(Uniform Resource Identifier)를 부여하여 자원에
공정과 도구보다 개인과 상호작용을, 포괄적인 문서보다 작동하는 소프트웨어를, 계약협상보다 고객과의 협력을, 계획을 따르기보다 변화에 대응하기를 ...적응적 방법론. 역할 보다는 사람, 자기 적응적 개발 프로세스에 초점을 맞춘다.과거 예단적(기존 공학적)인 방법론은 프로
기존의 커밋 풀 방식에서 생성되는 여러개의 커밋메시지는 자칫 복잡하고 혼란스러움을 줄 수 있다. 다수의 작업자들이 함께하는 프로젝트의 경우에는 더 그렇다. 다수 브랜치가 양산하는 커밋 히스토리를 정리하고자 할 때 리베이스를 진행한다.리베이스를 하면서 여러개의 커밋 메시
git은 분산 버전 관리 시스템이다. Version Control System. 한 파일의 변경사항을 추적한다. 그렇기 때문에 특정시점으로 회귀할 수도 있다. 프로젝트를 진행할 시 다수의 작업자가 사용하기 때문에 유용하다.레파지토리는 폴더의 특성이라고 이해하면 쉽다.
특정 함수에 매개변수로 전달된 함수. 콜백함수를 받았을 경우에만 처리하는 로직을 짤 수 있다.일반적으로 자바스크립트는 특정 코드가 종료될 때까지 실행을 중단하기보다는 다음 코드를 실행하기 때문에 비동기 처리의 특성을 가진다. 이런 문제점을 해결 하기 위해 콜백 함수를
파이썬 기반의 웹 프레임 워크 중 하나이다. 1) 장점 : 로그인, 회원가입, 인증, CORS 등 반복적인 작업을 요구하는 부분에 대해선 별도의 라이브러리를 이용해 쉽게 구현 가능. 또한 장고 내의 템플릿에 html 파일을 넣어 연동이 가능하다. (이 경우 Django
1) 장점 : 다양한 운영체제에서도 활용 가능하다(특정 운영체제에 종속되지 않는다). 그렇기 때문에 높은 생산성을 가진다. 비교적 쉽고 간결하며 이는 개발 효율성과도 연관된다. 또한 오픈소스이기 때문에 비교적 접근이 쉽다. 그렇기 떄문에 최근 많은 프로그램에 개발 언어
데이터베이스 : 데이터의 집합, 검색 또는 추출을 위해 용이하게 규합한 것DBMS(Database Management System) : 데이터베이스를 관리RDBMS(Relational Database Management System) : 데이터베이스를 관계형으로 관리S
클래스는 객체의 구조와 행동을 정의한다. 쉽게 말해 쿠키를 만들어내는 모양을 가진 틀이라고 생각하면 된다. 쿠키 반죽은 객체, 쿠키 틀은 클래스에 비유된다.클래스로 만든 객체를 인스턴스라고 한다. melon = Cookie()예를 들어 멜론쿠키를 만들기 위해 멜론이라는
컨테이너 기반의 오픈소스 가상화 기술프로그램, 실행환경에 제약 없이 이것들을 컨테이너로 추상화하며 동일 인터페이스를 제공한다. 그로 인해 배포와 관리를 용이하게 할 수 있다흔히 VM 을 사용하는 것과 같다. 별개의 컨테이너는 각자 독립적으로 실행되며 서로에게 상호간섭,
ORM : 호출에 용이, 객체에 SQL 질의값을 할당.QUERY: 질의 가능, SQL 튜닝 가능
비관계형 데이터베이스. 키 값, 문서, 그래프 데이터베이스. 수평 확장의 용이성. 게이밍, 광고기술 등 다양한 분야에서 키 값 데이터 모델을 설계할 때 적합.유연성 : 유연한 스키마를 제공확장성 : 분산형 하드웨어 클러스터를 이용해 확장하도록 설계되었습니다. 일부 클라
통신에 사용되는 메시지 형식. application programming interface.라이브러리가 제공하는 여러 함수를 이용하여 프로그래밍할 때 api에 단순히 입력값을 주고 결과값을 사용할 수 있게 한다.주방 = 라이브러리메뉴 = api직원 = 연결쉽게 말해 엔
Amazon Web Services(AWS)는 개발자, 엔지니어 등 IT 관계자들에게 제공하는 인프라 서비스를 말한다. 쉽게 말해 사용자에게 원하는 기간, 용량을 차별적으로 받아 서버 등과 같은 운영 시간과 비용을 효율적으로 개선하며 클라우드 기술을 기반으로 '인프라로
함수를 생성할 때 사용하는 예약어로 이해할 수 있다. 일반적으로 함수를 정의하는 def 와 비슷하다. 하지만 def를 사용할 정도로 복잡하지 않거나 한 줄로 표현할 수 있는 식일때 더 사용한다. 일반적으로 람다 예약어로 만든 함수는 리턴문 없이도 결과 반환 가능.lam
딘일 서버에서의 큰 취약점은 과부하, 데이터 처리량 증가에 따른 효율성 저하가 있다. 샤딩은 여러 시스템에 데이터를 분산적으로 배포하면서 이러한 문제점을 해결한다. 시스템 확장의 일종이다. MongoDB는 샤딩을 통해서 수평 확장을 지원한다.강력한 CPU 사용RAM 추
TCP(Transmission Control Protocol). OSI 7 계층 중 전송 계층의 프로토콜이다. 이 계층의 단계에서는 연결형 서비스를 제공한다.IP(Internet Protocol). tcp/ip 프로토콜을 사용해 통신할 때 송수신자를 구별하기 위한 고유
데이터베이스 설계에서 불필요한 데이터의 중복 발생에 따른 데이터의 삽입, 수정, 삭제 연산을 수행하는데 부작용을 방지하기 위해 실행하는 과정 전반을 말한다.
JWT(Jason Web Token). json 기반 표준에 의존하여, 쉽게 말해 토큰 기반 인증 방식이다. 토큰 또한 쿠키나 세션과 같은 인증 방식 중 하나이지만 토큰의 장점은 아래와 같다.쿠키, 세션과 다르게 별도 관리가 필요하지 않음저장소를 따로 필요로 하지 않기
작성된 코드의 함수를 단위별로 테스트하는 메소드이다. 엔드포인트가 많아질 수록 이를 테스트하기 위해 postman이나 httpie로 시험하기엔 시간과 비용 면에서 많은 낭비가 요구되므로 이러한 효율성 저하를 극복하기 위해 사용한다.스크립트로 한꺼번에 자동실행 가능 ->
암호화란? > 인증 인가에 앞서 개인정보 보호 등을 위해 필수적으로 해야하는 요소. 암호화의 세부 과정은 다음과 같다. TIL 인증과 인가 [TIL bcrypt+pyjwt 실습](https://velog.io/@finelinefe/TIL-byscript-%EC%
HTTP(HyperText Transfer Protocol). 컴퓨터들 간 HTML 파일을 주고받을 수 있도록 하는 사전의 정의된 소통 방식.HyperText : html 문서간 연결 할 수 있는 링크로 구성된 것을 말한다.Transfer : 내 컴퓨터 뿐만 아니라 다
상대측의 신호(상태)에 의해 다음 동작이 순차적으로 이루어짐상대측의 신호(상태)와 관계없이 일방적으로 동작이 이루어짐동기 방식의 통신은 주기적 클럭(신호)을 보내지만 비동기 방식의 경우 보내지 않는다. 동기식 : 클럭 간 정해진 수의 문자열을 한 블록으로 전송. 블록단
OOP(Object Oriented Programming). 객체 지향 프로그래밍을 말한다.모든 데이터를 오브젝트로 취급하여 프로그래밍 하는 방법.데이터를 하나의 물체처럼 취급한다.쉽게 말해 붕어빵 틀은 모두 동일한 모양과 크기를 가지지만(클래스), 결과물은 팥 붕어빵
TDD(Test Driven Development). 테스트 주도 개발.일반적으로 선 개발 - 후 테스트 및 검증 방식이 아닌 테스트 코드를 먼저 작성하면서 개발 사이클을 진행하는 것을 의미한다. 코드의 품질을 높이고 유지보수에 용이하게 하기 위해 사용한다. Red,
컴퓨터 상에서 할당되는 자원과 배치는 일정한 단위로 진행된다. 하지만 할당과 해방을 반복하면서 기존에 수용할 수 있는 할당영역의 크기가 가비지(garbage)로 인해 줄어들면서 효율성을 낮추게 된다. 이러한 문제를 해결하기 위해 파일 재배치 등의 처리기능을 하는 것을
일반적으로 유지보수와 테스트 모든 방면에 있어서 효율적으로 관리하기 위해 작성된 아키텍쳐이다.엔티티: 핵심 업무의 규칙, 객체나 함수일 수 있고 가장 중요한 부분.유스케이스: 어플리케이션 내 업무 규칙. 유스케이스 간 캡슐화&구현인터페이스 어댑터: 어댑터들의 모임. 게
작업의 할당 단위인 프로세스내에 존재하는 실행의 한 단위이다. 프로세스 ⊃ 스레드. 스레드는 프로세스를 구성하는 요소이기 때문에, 프로세스가 할당받은 메모리, 자원 등에 대해서도 공유가능하다.그렇기 때문에 프로세스의 실행, 준비, 대기 등의 상태를 가질 수 있고 이것을
함수 호출 방법 중 참조에 의한 호출을 말한다.값이 있는 주소를 참조하여 처리한다. 값의 주소를 전달하는 함수 방식.값 참조와 다르게 복사대신 값의 주소만을 참조하므로 속도가 상대적으로 빠르다값의 주소를 참조하기 때문에 기존의 값이 상대적으로 영향을 받을 가능성이 크다
CI > CI(Continuous Intefration). 지속적 통합. 한 순간이 아닌 지속적으로 테스트, 빌드 등 실시하는 것 서로 같은 작업을 하는 작업자들 사이의 지속적인 테스트와 빌드 과정으로 개발하는데 있어 시간과 비용적인 측면에서 효율성을 증대할 수
마이크로서비스 아키텍처(MicroService Architecture). 대규모 소프트웨어 개발에서 단독 실행가능/독립배치가 가능한 모듈 단위로 기능을 분해하여 서비스하는 아키텍쳐 구조를 말한다. 각 절단된 독립적 모듈을 마이크로서비스 라 한다.각 마이크로서비스는 독립
일반적으로 확장은 데이터베이스의 속도 향상이나 클라이언트의 수가 증가함에 따라 대응하기 위해 다음과 같은 과정을 시행한다.수직 스케일. 기존 서버 -> 향상된 서버 변경 기존의 데이터베이스 속도 향상과 클라이언트 수 증가에 따른 문제점을 해결하기 위해 해당 서버에 하드
사용자(유저)의 아이디와 비밀번호를 확인한다. 서비스를 사용하기에 앞서 아이디와 비밀번호를 생성, 확인함으로써 어떤 사용자가 사용하는지 알 수 있다.사용자(유저)가 요청하는 request에 대해 요청할 수 있는 권한을 가진 사용자인지를 확인한다.사용자가 서버에 로그인
기존의 소프트웨어 개발과 인프라 관리에 이르는 프로세스를 사용하는 조직보다 빠르게 애플리케이션과 서비스를 빠른 속도로 제공할 수 있게 조직의 역량을 향상시키는 문화, 철학, 방식 또는 도구의 조합을 총체적으로 말한다.일반적으로 데브옵스(DevOps)는 개발(Develo
파일의 상단에서부터 하단에 이르기까지 순서대로 순차처리하며 유기적으로 연결된다. 기존의 컴퓨터 처리방식과 유사하기 때문에 상대적으로 속도가 빠르다.1) C언어기능별 모듈화를 통해 절차지향과 다르게 상대적으로 순서에 구애받지 않는다. 모듈의 재사용성이 장점이기 때문에 처
데이터를 후입선출 구조로 유지하는 추상 데이터형. 아래부터 쌓은 구조를 생각하면 이해하기 쉽다. 가장 먼저 들어온 것이 아래에 쌓이기 때문에 맨 마지막에 들어온 것이 가장 먼저 나간다.(LIFO)선형 자료구조의 하나이다. Last In First Out. 일반적으로 콘
일반적으로 대기 큐, 줄, 의미로 해석되는 그 큐를 생각하면 된다. 큐는 자료구조에서 삽입 삭제가 동시에 일어나는 구조를 가진다.일반적으로 삽입 삭제가 동시에 이루어짐에 따라 FIFO(First In First Out) 형태라고도 한다. 일반적으로 계산대에 선 사람들의
리스트의 양쪽 끝에서 삽입삭제가 가능한 자료구조. 스택+큐를 합친 구조이다.두개의 포인터를 사용한다. 각 양쪽에서 삽입삭제 연산을 실행한쪽의 입력을 제한하는 입력제한데크(Scroll), 한쪽의 출력을 제한하는 출력제한데크(Shelf)가 있다큐와 스택을 선형리스트 구조에
사용자가 볼 수 있는 웹 상에서의 화면을 서버에서 렌더링 하는지, 클라이언트에서 렌더링 하는지에 따라 서버사이드 렌더링과 클라이언트 사이드 렌더링으로 나눈다. CSR > CSR(Client Server Rendering).
PCB(Process Control Block). 프로세스를 실행하는데 필요한 정보를 가지고 있는 것. 각각의 프로세스마다 고유하게 생성되며 실행 완료 시 삭제됨일반적으로 프로세스가 CPU로부터 할당 받아 작업을 진행하다가 다른 프로세스나 작업 스케줄링에 의하여 일시적
Http Status Code. Hyper Text Transfer Protocol 응답 상태를 알려주는 코드200 (해당 요청 수행 성공)201 Created (PUT 메소드에 의해 서버에 파일 생성됨)203 Non-authoritative information (서
HTTP 메소드(HTTP Method)를 이용해 클라이언트가 서버에 데이터를 전송하고, 반대로 서버에서 클라이언트로 데이터를 회신할 수 있다. 클라이언트가 서버에 데이터를 요청할 때는 GET 메소드를 사용하고, 클라이언트에서 서버로 회신할 때는 POST 메소드를 사용한
팀 중심의 개발 효율성을 높이는 개발 절차를 의미한다.Product Backlog이 단계에서는 여러 요구사항을 한데 모아 다음 단계에서의 계획회의를 준비한다.제품 개발에 필요한 모든 요구사항을 우선순위에 따라 나열한 것이다.Sprint Planning Meeting요구
FCFS(First Come, First Served)도착 순서에 따라 종료될 때까지 진행되는 방식의 비선점 스케줄링 방식먼저 도착한 순서대로 프로세스 작업이 실행됨작업 시간이 짧고 김에 따라 도착 순서에 변동이 있을 경우 비효율적대화형 시스템(짧고 빠르게 번갈아가며
스프링 상의 컨테이너가 전적으로 관리(객체의 생성 및 생성주기) 하기 때문에 이를 제어의 역전이라 함어떤 두 작업 사이에 있어서 한 작업에서 변경이 필요할 경우 변경될 작업이 변경된 작업과 연관성이 있는 경우 의존성이 있다고 함. 스프링 상에선 setter 메소드를 통