Welcome :っ)

Devlog/CS 6

객체 지향 프로그래밍이란?

목차 프로그래밍 패러다임 객체지향의 기본적인 개념들 정리 객체지향의 특성 알아보기 인프런 "모든 개발자의 실무를 위한 필수 기본기 클래스" 강의를 듣고 정리한 내용 + 따로 검색하여 공부한 내용입니다. 프로그래밍 패러다임 프로그래밍을 어떤 기준으로 바라보고 작성할 것인지에 대한 관점을 프로그래밍 패러다임이라고 한다. 함수적 호출 과정(프로시저)을 중심으로 설계한다면 절차 지향 프로그래밍이 되고, 객체 중심으로 설계한다면 객체 지향 프로그래밍이 된다. 가장 대중적인 프로그래밍 패러다임은 객체 지향 프로그래밍이다. 대표적으로 절차 지향 언어로 C언어가 있으며, 객체 지향 언어로는 자바가 있다. 파이썬과 자바스크립트는 이 두 패러다임을 모두 수용하는 멀티 패러다임 언어이다. 절차 지향 프로그래밍 순차적인 함수..

Devlog/CS 2022.08.07

객체지향 5대 원칙 - SOLID 원칙

목차 객체지향 프로그래밍의 5가지 설계 원칙 SOLID 원칙 인프런 "모든 개발자의 실무를 위한 필수 기본기 클래스" 강의를 듣고 정리한 내용 + 따로 검색하여 공부한 내용입니다. 객체지향 프로그래밍의 5가지 설계 원칙 SOLID란 객체 지향 프로그래밍을 하면서 지켜야 하는 5대 원칙이다. SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), DIP(의존 역전 원칙)의 앞글자를 따서 만들어졌다. SOLID원칙을 지키면 시간이 지나도 변경이 용이하고, 유지보수와 확장이 쉬운 소프트웨어를 개발하는데 도움이 되는 것으로 알려져 있다. SOLID 원칙 SRP (Single Responsibility Principle, 단일 책임 원칙) 객체는 하나의..

Devlog/CS 2022.08.06

테스트 코드와 TDD 이해하기

목차 테스트 기본 이해하기 의존성을 대체하는 테스트 더블 TDD 기본 개념 인프런 "모든 개발자의 실무를 위한 필수 기본기 클래스" 강의를 듣고 정리한 내용 + 따로 검색하여 공부한 내용입니다. 테스트 기본 이해하기 💡 테스트, 테스트 코드란 무엇인가? 소프트웨어를 테스트하는 작업이다. 숨겨진 버그는 없는지, 여러 명이 동시에 이용할 때에도 잘 견디는지 등 문제를 점검하는 일이다. 제품 혹은 서비스 품질을 확인하는 용도 SW의 버그 찾는 용도 제품(함수, 특정 기능, UI, 성능, API 스펙)이 예상하는 대로 동작하는지 확인 및 검증을 하는 것이다. 보통 우리가 local 환경에서 테스트를 하는데, 백엔드는 postman을 이용하여 api 테스트를 하고, 프론트엔드는 로컬에서 브라우저에 접속하여 테스트..

Devlog/CS 2022.07.11

쿠키와 세션, 인증 이해하기

목차 쿠키와 세션 사용자 인증 (Authentication) 더 공부하면 좋은 내용들 인프런 "모든 개발자의 실무를 위한 필수 기본기 클래스" 강의를 듣고 정리한 내용입니다. 사용자가 있는 서비스의 필수 기능인 인증에 대해 알아보자! 쿠키와 세션 HTTP 프로토콜의 특징으로 비연결성(Connectionless)와 무상 태성(Stateless)이 있다. 비연결성은 한 번의 HTTP 통신으로 요청과 응답이 오간 이후에 통신을 끊는다는 것이며, 이로 인해 통신과 관련된 상태는 남지 않는다(Stateless). 예를 들어, 사용자가 로그인 요청을 한 뒤 응답을 받았다고 하더라도, 다음 요청에 이렇게 로그인된 정보는 통신 어디에도 남지 않는다. 따라서 서버 입장에서는 네트워크 요청이 왔을 때 이 요청이 어떤 사용..

Devlog/CS 2022.06.24

OSI 7계층과 TCP/IP 4계층 모델

목차 네트워크 통신이 일어나는 과정 그래서 OSI 7 계층 모델이 뭔데? TCP/IP 4 계층 모델이란? 정리 인프런 "모든 개발자의 실무를 위한 필수 기본기 클래스" 강의를 듣고 정리한 내용입니다. 네트워크 통신이 일어나는 과정 크롬 브라우저를 열어 네이버 웹사이트를 접속한다고 하면 아래와 같은 흐름으로 통신이 이뤄진다. 1. 크롬 브라우저 검색창에서 https://www.naver.com 을 입력한다. 2. 크롬 브라우저는 이를 네트워크에서 통신 가능한 형태로 만든다. (보통 패킷이라고 부른다) 3. 이 패킷을 네트워크에 흘려보낸다. 4. 네트워크 중간에 있는 기기(라우터)들이 이 패킷을 읽고 네이버 서버로 전달한다. 5. 네이버 서버는 이 패킷을 다시 풀어, 웹서버가 읽을 수 있는 형태로 만들고 웹..

Devlog/CS 2022.06.22

프로그램 운영 기본 지식

목차 프로세스와 스레드 동시성과 병렬성 멀티 스레드와 멀티 프로세스 동기와 비동기, 블락과 논블락 인프런 "모든 개발자의 실무를 위한 필수 기본기 클래스" 강의를 듣고 정리한 내용입니다. 프로세스와 스레드 프로세스 운영체제에 의해 연속적으로 실행되고 있는 프로그램 프로그램을 실행했다면 프로세스는 메모리 위에 올라가 있게 되며 운영체제에 의해 CPU, 메모리 자원을 할당받게 된다. 프로세스는 독립된 메모리 영역으로 Code, Data, Stack, Heap을 할당받는다. Code 개발자가 작성한 코드 Data 전역변수, 정적변수, 배열, 구조체 등 프로그램이 실행되면서 생기는 정적인 데이터들이 저장된다. Stack 함수 호출과 관련된 정보(실행정보, 지역변수, 파라미터 등)이 저장된다. 일반적으로 컴파일 ..

Devlog/CS 2022.06.21
반응형