전체 글
-
[네트워크] TCP/IP 4계층 모델CS/네트워크 2023. 10. 24. 18:03
인터넷 프로토콜 스위트(internet protocol suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 집합이며, 이를 TCP/IP 4계층 모델로 설명하거나 OSI 7계층 모델로 설명하기도 한다. TCP/IP 4계층 모델은 네트워크에서 사용되는 통신 포로토콜의 집합으로 계층들은 프로토콜의 네트워킹 범위에 따라 네 개의 추상화 계층으로 구성된다. 1. 계층 구조 위 그림처럼 TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현하는 것이 다르며, 인터넷 계층을 네트워크 계층으로 부른다는 점이 다르다. 이 계층들은 특정 계층이 변경되었을 때 다른 계청이 영향을 받지 않도록 설계되었다. 예를 들어 전송..
-
[네트워크] 네트워크의 기초CS/네트워크 2022. 12. 2. 19:54
네트워크란 노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미한다. 여기서 노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미한다. 1. 처리량과 지연 시간 네트워크를 구축할 때는 많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크로 만드는 것이 중요하다. 처리량 처리량(throughput)이란 링크를 통해 전달되는 단위 시간당 데이터양을 말한다. 단위로는 bps(bits per second)를 쓴다. 처리량은 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받는다. 지연 시간 지연 시간(latenc..
-
Software System Analysis & DesignStudy/시스템 분석 및 설계 2022. 4. 25. 18:20
소프트웨어 개발 = 컴퓨터의 소프트웨어 문제 해결 Beginning 1. 소프트웨어 개발은 문서(요구사항)로 시작된다. 2. 이미 만들어진 동일한 소프트웨어 개발을 처음부터 하는 것은 자원과 시간 낭비로 이어진다. 3. 모든 사람이 소프트웨어 전문가도 아니며, 자신이 원하는 소프트웨어가 무엇인지 정의하지 못한다. 4. 소프트웨어 개발자는 실제 소프트웨어가 이용되는 환경과 용도를 이해하지 못하고 있다. 분석과 설계 - 소프트웨어 시스템 개발 시, 고객 요구사항을 시스템 환경에 맞추어 구현할 것인가를 결정해가는 과정. 무엇을 어떻게 할 것인지를 정의하기 위해 분석과 설계 작업을 수행한다. 1. 분석(무엇을 할 지) - Do the right thing 시스템의 논리적 구성(또는 개념적인 시스템 구성)을 정의..
-
[spring] 스프링 부트의 특징Language/스프링부트 2022. 4. 4. 20:05
1. 내장 서버를 이용해 별도의 설정 없이 독립 실행이 가능한 스프링 애플리케이션 2. 톰캣, 제티 또는 언더토우와 같은 웹 애플리케이션서버(WAS) 자체 내장 3. 빌드 구성을 단순화하기 위한 'Spring boot Starter' 의존성 제공 4. XML 설정 없이 단순 자바 수준의 설정 방식 제공 5. JAR를 이용해 자바 옵션만으로 배포 가능 6. 애플리케이션의 모니터링과 관리를 위한 스프링 액추에이터 제공 톰캣, 제티, 언더토우와 같은 웹 애플리케이션서버(WAS) 자체 내장 스프링 부트는 디폴트 내장 서버로 톰캣을 사용하고 있다. 내장 웹 서버에 대한 설정을 자동으로 처리하기 때문에 스프링 부트 사용자는 웹 서버와 관련된 설정을 하지 않아도 프로젝트 내부에 포함하게 된다. 제티나 언더토우와 같은..
-
[이더리움 댑 코딩] CryptoZombies | Lesson 5Study/Blockchain 2022. 1. 20. 05:31
블록체인 스터디에서 NFT(대체 불가능한 토큰)에 대해 배웠다. 이는 먼저 대체 가능한 토큰인 ERC20(EIP20)에 대해 공부한 후 대체 불가능한 토큰인 ERC721(EIP721)에 대해서 공부하는 것이 좋다. 메소드(함수)나 이벤트에 대한 설명은 EIP에 더 잘 나와있으니 EIP 표준문서를 보는 것이 더 도움이 될 것이다. 챕터 1: 이더리움 상의 토큰 _토큰_에 대해서 얘기해보지. 자네가 이더리움 세상을 조금이라도 접한 적이 있다면, 사람들이 토큰에 대해 이야기하는 것을 들어봤을 수도 있을 것이네 - 구체적으로는 _ERC20 토큰에 대해서 말이네. 이더리움에서 _토큰_은 기본적으로 그저 몇몇 공통 규약을 따르는 스마트 컨트랙트이네 — 즉 다른 모든 토큰 컨트랙트가 사용하는 표준 함수 집합을 구현하..
-
[이더리움 댑 코딩] CryptoZombies | Lesson 4Study/Blockchain 2022. 1. 20. 02:45
챕터 1: Payable 지금까지 우린 꽤 많은 함수 제어자(function modifier)를 다뤘네. 모든 것을 다 기억하는 것은 힘들 것이니, 한번 빠르게 복습해보세. 우린 함수가 언제, 어디서 호출될 수 있는지 제어하는 접근 제어자(visibility modifier)를 알게 되었네: private은 컨트랙트 내부의 다른 함수들에서만 호출될 수 있음을 의미하지. internal은 private과 비슷하지만, 해당 컨트랙트를 상속하는 컨트랙트에서도 호출될 수 있지. external은 오직 컨트랙트 외부에서만 호출될 수 있네. 마지막으로 public은 내외부 모두에서, 어디서든 호출될 수 있네. 또한 상태 제어자(state modifier)에 대해서도 배웠네. 이 제어자는 블록체인과 상호작용 하는 방..
-
[이더리움 댑 코딩] CryptoZombies | Lesson 3Study/Blockchain 2022. 1. 20. 01:57
챕터 1: 컨트랙트의 불변성 지금까지 본 것만으로는, 솔리디티는 자바스크립트 같은 다른 언어와 꽤 비슷해보였을 것이네. 하지만 이더리움 DApp에는 일반적인 애플리케이션과는 다른 여러가지 특징이 있지. 첫째로, 자네가 이더리움에 컨트랙트를 배포하고 나면, 컨트랙트는 변하지 않는다네(Immutable). 다시 말하자면 컨트랙트를 수정하거나 업데이트할 수 없다는 것이지. 자네가 컨트랙트로 배포한 최초의 코드는 항상, 블록체인에 영구적으로 존재한다네. 이것이 바로 솔리디티에 있어서 보안이 굉장히 큰 이슈인 이유라네. 만약 자네의 컨트랙트 코드에 결점이 있다면, 그것을 이후에 고칠 수 있는 방법이 전혀 없다네. 자네는 사용자들에게 결점을 보완한 다른 스마트 컨트랙트 주소를 쓰라고 말하고 다녀야 할 것이네. 그러..