Computer Science

Computer Science/1일 1로그 IT 지식

1일 1로그 - 하드웨어(2)

🌱 오늘의 주제 : 하드웨어(2) 🌱 연속과 불연속 "어떤 단위의 기수가 2라면 그 단위는 이진 숫자, 더 줄여서 비트라고 할 수 있는데, 이는 존 투키가 제안한 단어다." - 클로드 섀넌,1948 컴퓨터가 정보를 표현하는 방식 1. 컴퓨터는 디지털 처리 장치다. 2. 컴퓨터는 정보를 비트로 표현한다. 3. 비트는 모여서 더 큰 정보를 표현한다. 아날로그는 다른 어떤 것이 변함에 따라 연속적으로 변하는 값이라는 개념을 전달하는 단어. 디지털 시스템은 불연속적인 값을 다루므로 가능한 값의 수가 정해져 있다. 🌱 아날로그 정보를 디지털로 바꾸기 대표적인 예시 ( 사진, 음악) 디지털 표현은 모든 종류의 정보와 더불어 숫자 값으로 변환될 수 있는 어떤 것이든 나타낼 수 있다. 이미지 디지털화하기 음향 디지털..

Computer Science/운영체제

CS - 운영체제의 역할과 구조

🌱 오늘의 주제 : 운영체제의 역할과 구조 🌱 운영체제의 역할 CPU 스케줄링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리 디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 관리 I/O 디바이스 관리 : I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리 운영체제란? - (OS, Operating System) 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스이다. 한정된 메모리나 시스템 자원을 효율적으로 분배하는 참된 일꾼이다. 🌱 운영체제의 구조 GUI 란? - 사용자가 전자장치와 상호 작용할 수 있도록 하는 사용자 인터..

Computer Science/1일 1로그 IT 지식

1일 1로그 - REST API 제대로 알고 사용하기

🌱 오늘의 주제 : REST API 제대로 알고 사용하기 🌱 REST API 제대로 알고 사용하기 https://meetup.nhncloud.com/posts/92 REST API 제대로 알고 사용하기 : NHN Cloud Meetup REST API 제대로 알고 사용하기 meetup.nhncloud.com https://sanghaklee.tistory.com/57 RESTful API 설계 가이드 1. RESTful API 설계 가이드본 문서는 REST API를 좀 더 RESTful 하게 설계하도록 가이드할 목적으로 만들어졌다.따라서, 기본적인 REST API 개념 설명은 아래의 링크로 대신한다. REST API 제대로 알고 사용 sanghaklee.tistory.com https://velog.io..

Computer Science/1일 1로그 IT 지식

1일 1로그 - TDD

🌱 오늘의 주제 : TDD 🌱 TDD TDD 란 무엇인가 Test-Driven Development(TDD)는 매우 짧은 개발 사이클의 반복에 의존하는 소프트웨어 개발 프로세스이다. 우선 개발자는 요구되는 새로운 기능에 대한 자동화된 테스트케이스를 작성하고 해당 테스트를 통과하는 가장 간단한 코드를 작성한다. 일단 테스트 통과하는 코드를 작성하고 상황에 맞게 리팩토링하는 과정을 거치는 것이다. 말 그대로 테스트가 코드 작성을 주도하는 개발방식인 것이다. Add a test 테스트 주도형 개발에선, 새로운 기능을 추가하기 전 테스트를 먼저 작성한다. 테스트를 작성하기 위해서, 개발자는 해당 기능의 요구사항과 명세를 분명히 이해하고 있어야 한다. 이는 사용자 케이스와 사용자 스토리 등으로 이해할 수 있으며,..

Computer Science/1일 1로그 IT 지식

1일 1로그 - 하드웨어(1)

🌱 오늘의 주제 : 하드웨어(1) 🌱 컴퓨터의 논리와 구조 "완성된 장치가 범용 컴퓨팅 기계가 되려면 산술 연산, 기억-저장, 제어, 운영자와의 연결을 담당하는 특정 주요 기관을 포함해야 한다." - 아서 벅스, 허먼 골드스타인, 존 폰 노이만, 1946 1. 논리적 구성으로, 컴퓨터가 어떤 부분들로 이루어져 있고 무슨 일을 하며 어떻게 연결되는지 주목한다. 2. 물리적 구조로, 각 부분이 어떻게 생겼고, 만들어지는지를 나타낸다. 컴퓨팅 장치들은 모든 다르게 생겼고 사용하는 느낌도 다르지만, 내부 작동 원리는 근본적으로 똑같다. 논리적인 구성 면에서, 오늘날의 컴퓨터는 1950년대의 컴퓨터와 매우 유사하지만, 물리적 차이는 많은 변화가 있다. 즉, 오늘날의 컴퓨터는 훨씬 작고 저렴하고 빠르고 안정적이며,..

Computer Science/네트워크

CS - 네트워크 기기 정리

🌱 오늘의 주제 : 네트워크 기기 정리 🌱 목차 네트워크 계층은 무엇이 있나요? 애플리케이션 계층을 처리하는 기기 - L7 스위치의 특징은? 물리 계층을 처리하는 기기 - AP의 특징은? 🌱 답변 애플리케이션 계층 : L7 스위치 인터넷 계층 : 라우터, L3 스위치 데이터 링크 계층 : L2 스위치, 브리지 물리 계층 : NIC, 리피터, AP L7 스위치는 로드밸런서라고도 하며, 서버의 부하를 분산하는 기기이다. 클라이언트로부터 오는 요청들을 뒤쪽의 여러 서버로 나누는 역할을 하며 시스템이 처리할 수 있는 트래픽 증가를 목표로 한다. AP(Access Point)는 패킷을 복사하는 기기이다. AP에서 유선 LAN을 연결한 후 다른 장치에서 무선 LAN 기술(와이파이)을 사용하여 무선 네트워크 연결을 ..

Computer Science/네트워크

CS - TCP와 UDP의 비교 간단 정리

🌱 오늘의 주제 : TCP와 UDP의 비교 간단 정리 🌱 질문 TCP란? UDP란? 🌱 답변 TCP는 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용해서 연결을 하여 신뢰성을 구축해서 수신 여부를 확인하며 '가상회선 패킷 교환 방식'을 사용한다. UDP는 순서를 보장하지 않고 수신 여부를 확인하지 않으며 비연결형 프로토콜이다. 단순히 데이터만 주는 '데이터그램 패킷 교환 방식'을 사용한다.

Computer Science/네트워크

CS - 네트워크 토폴로지, 네트워크 분류 정리

🌱 오늘의 주제 : 네트워크 토폴로지, 네트워크 분류 정리 🌱 목차 좋은 네트워크란 ? 네트워크 토폴로지란? 토폴로지 종류는 어떤 것이 있나요? 병목 현상이란? 네트워크 분류는 몇 단계로 되어있나요? 🌱 답변 좋은 네트워크란 많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보완을 갖춘 네트워크를 말한다. 네트워크 토폴로지(network topology)는 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미한다. 트리 토폴로지, 버스 토폴로지, 스타 토폴로지, 링형 토폴로지, 메시 토폴로지가 있다. 병목 현상이란 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상을 말한다. WAN(Wide Area Network), MAN(Metropo..

Computer Science/디자인 패턴

CS - 디자인 패턴 정리(2)

🌱 오늘의 주제 : 디자인 패턴 정리(2) 🌱 목차 MVC 패턴이란? MVP 패턴이란? MVVM 패턴이란? 🌱 답변 MVC 패턴이란? - MVC패턴은 모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴이다. 재사용성과 확장성이 용이하다는 장점이 있다. 애프릴케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해지는 단점이 있다. MVP 패턴이란? MVC패턴으로부터 파생되었다. MVC에서 C에 해당하는 컨트롤러가 프레젠터(presenter)로 교체된 패턴이다. MVVM 패턴이란? MVC의 C에 해당하는 컨트롤러가 뷰모델(view model)로 바뀐 패턴이다. 커맨드와 데이터 바인딩을 가지는 것이 특징이다.

Computer Science/디자인 패턴

CS - 디자인 패턴 정리

🌱 오늘의 주제 : 디자인 패턴 정리 🌱 디자인 패턴 중요한 부분 정리 싱글톤 패턴이란? 싱글톤 패턴은 단 하나의 인스턴스를 생성해 사용하는 디자인 패턴입니다. 인스턴스가 1개만 존재해야 한다는 것을 보장하고 싶은 경우와 동일한 인스턴스를 자주 생성해야 하는 경우에 주로 사용합니다. (메모리 낭비 방지) 싱글톤 패턴의 대표적인 예시는 Spring Bean 입니다. 싱글톤 패턴의 장점과 단점 장점 : 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에, 인스턴스를 생성할 때 드는 비용이 줄어드는 장점 단점 : 모듈간의 결합을 강하게 만들고 의존성이 높아진다. TDD(Test Driven Develpment)를 할 때 걸림돌이 된다. 의존성 주입이란 ? 의존성 주입(DI, ..

요가하는 개발자
'Computer Science' 카테고리의 글 목록