CS

1. OSI(Open System Interconnection) 참조 모델의 개요 OSI 참조 모델 다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약(protocol) 개방형 시스템(Open System) 간의 데이터 통신 시 필요한 장비 및 처리 방법 등을 7단계로 표준화하여 규정 OSI 7계층은 1~3계층을 하위 계층, 4~7 계층을 상위 계층이라고 한다. 하위 계층 : 물리계 ➡️ 데이터 링크 계층 ➡️ 네트워크 계층 상위 계층 : 전송 계층 ➡️ 세션 계층 ➡️ 표현 계층 ➡️ 응용 계층 2. OSI 참조 모델의 목적 서로 다른 시스템 간 상호 접속하기 위한 개념을 규정 OSI 규격을 개발하기 위한 범위를 정한다. 관련 규정의 적합성을 조절하기 위한 공통적 기반을 ..
1. 인터넷의 개요 인터넷이란 TCP/IP 프로토콜을 기반으로 하여 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망 인터넷은 미 국방성의 ARPANET에서 시작되었다. 인터넷은 유닉스 운영체제를 기반으로 한다. 통신망과 컴퓨터가 있는 곳이라면 시간과 장소에 구애받지 않고 정보를 교환할 수 있다. 인터넷에 연결된 모든 컴퓨터는 고유한 IP주소를 갖는다. 컴퓨터 또는 네트워크를 서로 연결하기 위해서는 브릿지, 라우터, 게이트웨이가 사용된다. 다른 네트워크 또는 같은 네트워크를 연결하여 중추적 역할을 하는 네트워크로, 보통 인터넷의 주가 되는 기간망을 일컫는 용어를 백본(Backbone)이라고 한다. 2. IP주소(Internet Protocol Address) IP주소는 인터넷에 연결된 ..
9. 패키지 패키지(package)란? 자바에서 클래스를 체계적으로 관리하기 위해 사용하는 것 물리적인 형태는 파일 시스템 폴더 기능만 하는 것이 아니라 클래스의 일부분 클래스를 유일하게 만들어주는 식별자 역할 패키지가 다르면 다른 클래스 패키지의 선언 숫자로 시작해서는 안 되고, _, $를 제외한 특수 문자를 사용해서는 안 된다. java로 시작하는 패키지는 자바 표준 API에서만 사용하므로 사용해서는 안된다. 모두 소문자로 작성하는 것이 관례이다. 번외) 회사들 간에 패키지가 서로 중복되지 않도록 회사의 도메인 이름으로 패키지를 만든다. 10. 어노테이션 Annotation은 메타데이터(metadata)라고 볼 수 있다. 메타데이터? 애플리케이션이 처리해야 할 데이터가 아니라, 컴파일 과정과 실행 과..
1. 객체 지향 프로그래밍(OOP) 1.1 객체란? 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지며 다른 것과 식별 가능한 것. 속성 - 필드 동작 - 메소드 현실 객체를 소프트웨어 객체로 설계 : 객체 모델링(Object Modeling) 현실 세계의 객체의 속성과 동작을 추려내어 소프트웨어 객체의 필드와 메소드로 정의하는 과정 1.2 객체의 상호작용 현실 세계에서 일어나는 모든 현상은 객체와 객체 간 상호작용으로 이루어져 있다. 각 객체는 독립적으로 존재하며, 다른 객체와 서로 상호작용을 하면서 동작한다. 객체들 사이의 상호작용 수단 - 메소드 객체가 다른 객체의 기능을 이용 - 메소드 호출 리턴값 = 전자계산기객체.메소드(매개값1, 매개값2, ...) 1.3 객체 간..
5.3 메소드 객체 동작에 해당하는 이름을 가진 중괄호 {} 블록 메소드 호출 시 중괄호 블록에 있는 모든 코드들이 일괄적으로 실행 객체 간의 데이터 전달의 수단으로써 사용 외부로부터 매개값을 받을 수 있으며 실행 후 어떤 값을 리턴할 수도 있다. 리턴값 = 전자계산기객체.메소드(매개값1, 매개값2, ...) 리턴 타입 메소드가 실행 후 리턴하는 값의 타입 메소드는 리턴값이 있을 수도, 없을 수도 있다. 메소드 이름 숫자로 시작하면 안 되고, $와 _를 제외한 특수 문자를 사용하지 말아야 한다. 관례적으로 메소드명은 소문자로 작성한다. 서로 다른 단어가 혼합된 이름이라면 뒤이어 오늘 단어의 첫머리 글자는 대문자로 작성한다. void run() { ... } void startEngine() { ... }..
· CS
Flask (플라스크) Flask 프레임워크란? 웹 개발에 특정 라이브러리나 도구가 필요하지 않는 마이크로 프레임워크이다. 쉽고 빠른 방법으로 더 낮은 기능을 가진 경량 애플리케이션을 개발하는 것이다. Flask 장점 단순하고 간단하게 일부를 쉽게 안전하게 변경할 수 있다. 대규모 네트워크에 배포할 수 있는 모듈 식의 응용 프로그램이나 서버를 만들 수 있다. 파이썬을 잘 이해하면 쉽게 응용 프로그램을 개발할 수 있다. 확장성이 뛰어나다. Flask 단점 표준화 되어 있지 않기 때문에 Django 등의 프레임워크 전환이 어려울 수 있다. 개발 확장과 배포를 위해서 라이브러리 및 확장을 많이 검색해봐야 한다. FastAPI FastAPI is a mordern, fast(high-performance), w..
1. 데이터 타입 분류 프로그램이 하는 일은 데이터를 처리하는 것. 참조 타입 (Reference Type) 객체(Object)의 번지를 참조하는 타입 배열, 열거, 클래스, 인터페이스 기본 타입 vs 참조 타입 차이 : 저장되는 값이 무엇인가 기본 타입 : 실제 값을 변수 안에 저장 참조 타입 : 메모리의 번지를 값으로 저장 번지(주소값)를 통해 참조. 2. 메모리 사용 영역 메소드(Method) 영역 코드에서 사용되는 클래스(~.class)들을 클래스 로더로 읽어 클래스 별로 런타임 상수풀(runtime constant pool), 필드(field) 데이터, 메소드(method) 데이터, 메소드 코드, 생성자(constructor) 코드 등을 분류해서 저장한다. JVM이 시작할 때 생성 모든 스레드가..
CH01. 자바 시작하기 자바란? 자바 소개 자바 초기 1995년 썬 마이크로시스템즈(Sun MicroSystems)에서 자바(Java)언어 발표 Oak(오크)라는 언어에서부터 시작, 가전제품에서 사용될 목적 메모리 미치 CPU를 지나치게 많이 사용하여 윈도우 프로그래밍 언어로는 부적합하다는 문제점 인터넷 활성화 이후 웹 애플리케이션 구축용 언어로 급부상 기업체 및 공공기관의 다양한 서버 운영체제에서 한 번의 작성으로 모든 곳에서 실행이 가능한 언어는 자바뿐 스마트폰, 데스크톱, 금융 공공기관 대기업 등의 엔터프라이즈 기업 환경에서 실행되는 서버 애플리케이션을 개발하는 중추적인 언어 자바의 특징 이식성이 높은 언어 자바로 구현된 프로그램은 소스파일을 다시 수정하지 않아도, 자바 실행 환경(JRE: Jav..
프로세스(process) 컴퓨터에서 실행되고 있는 프로그램 CPU 스케줄링의 대상이 되는 작업(task)와 거의 동일한 의미로 사용됨. 스레드(thread) 프로세스 내 작업의 흐름 프로그램이 메모리에 올라가면 프로세스가 되는 인스턴스화가 일어나고, 이후 운영체제의 CPU 스케줄러에 따라 CPU가 프로세스를 실행 1. 프로세스와 컴파일 과정 프로세스 → 프로그램이 메모리에 올라가 인스턴스화 된 것. ex) 프로그램은 구글 크롬 프로그램과 같은 실행 파일, 더블클릭 시 구글 크롬 프로세스로 변환되는 것. 전처리 소스 코드의 주석을 제거하고 #include 등 헤더 파일을 병합하여 매크로를 치환 컴파일러 오류 처리, 코드 최적화 작업을 하며 어셈블리어로 변환. 어셈블러 어셈블리어는 목적 코드 (object ..
짛
'CS' 카테고리의 글 목록