cs 34

TCP/IP 4계층

TCP/IP 모형은 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜)의 모음이다.각 계층은 담당하는 위치마다 처리 역할을 구분하여 진행함으로, 간섭을 최소화하여 사용자의 편리성을 높인다. OSI 7계층국제표준화기구 IOS에서는 상호이질적인 네트워크간 연결에서 호환성의 결여를 막기 위해 OSI 모형을 개발했다.실제 사용되는 TCP/IP는 OSI 참조 모델을 기반으로 상업적/실무적 이용될 수 있도록 단순화된 모형이다.네트워크 전송 시 데이터 표준: OSI 7계층 (정확한 정의)OSI 기반 실제 사용하는 인터넷 표준: TCP/IP 4계층 응용 계층최종 사용자 서비스를 위한 데이터 교환 규칙을 정의하는 계층표현 계층응용 계층 간 교환되는 데이터의 의미를 동일하게 해석하도록 표현하는 ..

cs 2024.06.30

자료구조-stack

스택의 정의한쪽 끝에서만 데이터를 넣고 뺄 수 있는 후입선출(LIFO, Last In First Out) 형태의 선형 자료구조 Stack 클래스는 내부에서 최상위 배열인 Object[] 배열을 사용해 데이터를 관리한다. 스택의 구조상단(stack top) : 스택에서 입출력이 이루어지는 부분하단(stack bottom): 반대쪽 바닥 부분요소(element): 스택에 저장되는 것공백 스택(empty stack): 공백 상태의 스택포화 스택(full stack): 포화 상태의 스택 (풀스택) 제공 연산 pop() 가장 위의 항목 제거 push(item) item 하나를 스택 가장 위에 추가 peek() 스택 가장 위 항목을 반환 isEmpty() 스택이 비어있을 때 true 반환 isFull() 스택이 차..

cs/알고리즘 2024.06.30

라이브러리 vs 프레임워크

라이브러리공통 사용 기능을 모듈화한 것으로, 폴더명이나 파일명에 대한 규칙이 없고 자유롭다.자동차를 타고 목적지까지 이동할 때경로선택, 창문열기 등 자유도가 높음직접 운전을 해야하고, 음료를 제공받는 등 제공되는 것이 적음개발자가 만든 클래스들의 나열로, 다른 프로그램에서 사용할 수 있도록 제공하는 방식ex. axios 프레임워크공통 사용 기능을 모듈화한 것으로, 폴더명이나 파일명 등에 대한 규칙이 있고, 라이브러리에 비해 엄격하다.비행기를 타고 목적지까지 이동할 때경로 선택 불가, 창문 열기 불가 등 자유도가 떨어짐기장이 운전하고, 음료가 제공되는 등 제공되는 것이 많음개발자들이 소프트웨어를 개발함에 있어 개발 시간을 줄이고, 코드 재사용성을 증가시키기 위해 클래스 묶음, 뼈대, 틀을 라이브러리 형태로..

cs 2024.06.24

디자인 패턴

디자인 패턴이란?객체간 상호관계 등을 이용해 문제를 해결할 수 있도록 규약 형태로 만든 것소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 규약으로 만들어 정리한 패턴 디자인 패턴은 라이브러리의 토대가 된다. ex. passport 라이브러리(간편로그인)서비스를 기반으로 한 로그인은 서비스에서 제공하는 규칙을 지켜야 한다.개발자가 모든 서비스의 규칙을 작성하기 어려우므로, passport 라이브러리를 주로 사용한다.passport 라이브러리는 전략 패턴을 구현한 라이브러리 중 하나!ex. vue.js는 mvn 패턴, spring은 mvc 패턴 디자인 패턴의 의의디자인 패턴을 기반으로, 문제 해결에 영감을 받을 수 있다.문제 해결을 위한 논의 시 효율적인 의사소통이 가능하다. 디자..

cs 2024.06.24

앱 디렉터리와 앱 라우터

page directory & page router page directory pages 폴더 하위의 모든 폴더, 파일명을 경로로 사용할 수 있음 conponent, lib 등은 pages 폴더 외부에 작성해야 함. pages/index.tsx → / pages/about.tsx → /about pages/content/index.tsx → /content pages/index.ts 웹 애플리케이션의 시작점. 루트(/) 경로페이지 pages/_app.ts 공통 레이아웃, 전역 상태 관리 페이지 프로젝트 최상위 컴포넌트 pages/_documents.ts SSR시 사용됨. 초기 HTML, CSS 구조 정의 , 등 전체 페이지 구조와 메타태그. 외부스크립트, 글꼴 등 설정 pages router Next.j..

cs 2024.04.17

styleX

Meta에서 출시한 CSS-in-JS 라이브러리. 컴파일러 기반의 라이브러리로, 컴파일 시 CSS 파일로 변환함 (전통적인 CSS에 가까운 성능 제공) 스타일 관리와 성능 최적화 면에서 전통적인 CSS의 강점을 유지하고, CSS-in-JS의 특징인 유연성과 확장성 제공 또 다른 특징인 Atomic CSS CSS 출력 최소화. 컴포넌트 수가 많아지고 크기가 커지더라도 CSS 크기가 일정하게 유지됨 특징 빠른 속도 런타임 스타일 인젝션*이 없음 모든 스타일은 컴파일 시 정적 css 파일에 번들로 제공됨 *런타임 스타일 인젝션: 웹 애플리케이션이 런타임 중에 스타일을 동적으로 추가하거나 변경하는 기술 확장성 CSS 출력 최소화. 컴포넌트 수가 많아지고 크기가 커지더라도 CSS 크기가 일정하게 유지됨 예측 가능..

cs 2024.04.17

소프트웨어 개발 프로세스

Softeware Development Life Cycle 전통적인 sw 개발 프로세스 폭포수 모델 Waterfall 특징 각 단계 완료 후 다음단계 진행 (이전 단계 못돌아감, 순차적, 다음 단계 시작 전 결과 점검) 결과물 정의 중요. 프로젝트 진행과정 세분화 --> 관리 용이 목표시스템은 후반부에 구체화 --> 중요 문제점 나중에 발견될 가능성 관리는 쉽지만 요구사항 변경 대응력 :( 기술 위험 낮음 적용 유사 프로젝트 경험 존재하거나 요구사항 명확하게 정의된 경우 적용 프로토타이핑 모델 시스템 일부분을 일시적 구현 요구사항 반영 반복 특징 요구분석 어려움 해결(사용자 참여 유도-커뮤니케이션 수단) 간단 시제품 개발 개발 타당성 검토 폭포수 모델 단점 보완 단점 폐기처분에 대한 경제적 손실 프로토타..