본문 바로가기

728x90

전체 글

(372)
스프링으로 rest 서비스 구축하기 rest는 웹에서 웹 서비스를 구축하기 위한 표준이다. http는 get, post,put, delete, 캐싱, 리디렉션, 보안 등의 기능을 제공한다. http 기반으로 구축된 rest api는 이전 버전과 호환되는 api, 진화 가능한 api, 확장 가능한 서비스, 보안 서비스 등이 가능하도록 한다. 주목할 점은 rest가 그 자체로 표준이 아니라 웹 규모 시스템을 구축하는 데 도움이 될 수 있는 아키텍처에 대한 접근 방식, 스타일, 제약 조건의 집합이라는 점이다. rest와 restful https://devmountain.com/blog/what-is-the-difference-between-rest-and-restful-apis/ What Is the Difference Between REST ..
자바 배열 (java array) https://www.geeksforgeeks.org/arrays-in-java/?ref=lbp Arrays in Java - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions. www.geeksforgeeks.org 자바의 배열은 C, C++와 다르게 동작한다. JAVA에서 모든 배열은 동적으로 할당된다.(힙에 저장된다.) 배열은 객체이기 때문에 lengt..
프로그래머스 스택/큐 기능개발 문제 https://programmers.co.kr/learn/courses/30/lessons/42586?language=cpp 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 문제 분석 input : 작업량, 작업 속도 output : 각 배포마다 몇 개의 기능이 배포되는가? 세부 조건 : 각 작업은 병렬로 처리되지만 앞에 있는 작업이 완료되지 않으면 배포될 수 없다. =>stack의 top이 완료되지 않으면 이전에 완료된 작업이 배포되지 않다가 완료되면 배포한다. 기본적으로 모든 stack의 요소에 접..
자바 객체 지향 프로그래밍(OOP) 절차 지향 프로그래밍은 작업을 수행하는 절차나 메서드를 작성한다. 객체 지향 프로그래밍은 데이터, 메서드를 모두 포함하는 객체를 만드는 것이다. 절차 지향의 경우 프로그램이 함수로 나뉜다. 객체 지향은 객체로 나뉜다. 장점은 다음과 같다. 더 빠르고 쉽게 실행할 수 있다. 명확한 구조를 제공한다. 코드 반복을 줄여 유지관리, 수정 및 디버그하기 쉽다 더 적은 코드와 더 짧은 개발 시간으로 완전히 재사용이 가능한 애플리케이션을 만들 수 있다. 자바의 OOP의 중심에는 클래스와 객체가 있다. 클래스는 템플릿이고 객체는 클래스를 기반으로 만들어진 인스턴스이다. 꽃이라는 카테고리가 클래스이고 장미, 카네이션 등이 객체이다. 자바의 클래스의 구성요소로는 속성과 메서드가 있다.
자료구조 - 스택 스택은 Linear 자료 구조로 LIFO(last in first out) 규칙을 따른다. LIFO는 가장 나중에 들어온 값이 가장 먼저 나가는 규칙이다. 스택의 메인 function으로는 Push와 pop이 있다. PUSH는 값을 추가하는 것이고 POP은 가장 나중에 들어온 값을 빼내는 규칙이다. PUSH를 수행할 때 STACK이 꽉 차있다면 OVERFLOW 오류가 발생한다. POP을 수행할 때 STACK이 비어있다면 UNDERFLOW 오류가 발생한다. 또하나의 중요한 연산으로 TOP이 있다. TOP은 가장 최근에 들어온 값에 대한 포인터이다. 이밖에도 스택이 비어있음을 확인하는 ISEMPTY함수가 있다. 해당 함수들은 모두 루프를 연산을 요구하지 않기 때문에 O(1)이다. 스택은 주로 메모리 관리, ..
솔리디티(solidity) 스토리지, 메모리, 스택 이더리움 가상 머신은 스토리지, 메모리, 스택 크게 3가지 영역으로 이우러져 있다. 스토리지는 각각의 계정에 존재하는 영역으로 지속성이 있는 영역이다.key-value 형식으로 데이터를 저장하고 각각의 데이터는 256 bit words로 이루어져 있다. 컨트랙트 내에서 스토리지를 열거하는 것은 불가능하며 read function에서 비교적 많은 비용이 든다. 때문에 계약 생성시 스토리지 사용을 최소화하는 것이 비용면에서 효율적이다. 메모리는 컨트랙트 호출 input의 복사본을 저장하거나 function의 인자와 결과값을 저장한다. 스토리지와 달리 비영구적 저장소라 가스비가 비교적 작게 들지만 증설시 가스비 부담이 크다. 점점더 커질 수록 가스비가 급격히 증가하므로 많이 사용하지 않도록 주의해야 한다. 스..
도커(docker)란? 도커는 애플리케이션을 개발, 배송 및 실행하기 위한 개방형 플랫폼이다. 도커를 사용하면 애플리케이션을 인프라에서 분리할 수 있어 소프트웨어를 빠르게 제공할 수 있다. 도커를 사용하면 애플리케이션을 관리하는 것과 동일한 방식으로 인프라를 관리할 수 있다. 도커는 컨테이너라는 느슨하게 격리된 환경에서 애플리케이션을 패키징하고 실행할 수 있는 기능을 제공한다. 컨테이너는 가볍고 애플리케이션을 실행하기 위해 필요한 모든 것을 포함하기 때문에 호스트에 설치된 것이 의존할 필요가 없다. 컨테이너는 애플리케이션을 배포하고 테스트하기 위한 단위입니다. 도커는 컨테너의 수명 주기를 관리하기 위한 도구와 플랫폼을 제공한다. 도커는 하이퍼 바이저 기반 가상 머신보다 비용 효율적인 대안이다. 도커는 클라이언트-서버 아키텍쳐를..
네트워크 토폴리지 종류 네트워크 토폴로지는 송신자와 수신자를 통해 노드와 연결 라인을 포함하는 네트워크의 배열을 의미한다. 1.메쉬 토폴리지 모든 장치는 특정 채널을 통해 다른 장에 연결된다. n개의 장치가 연결돼 있고 각 장치에 필요한 총 포트 수는 n-1 개라고 가정해보면 필요한 총 포트수는 n*(n-1)이다. 총 전용 링크 수는 (nC2) = n(n-1)*2이다. 장점 : 견고성, 보안성, 프라이버시 단점 : 구현의 어려움, 높은 유지 보수 비용, 높은 케이블 비용 2.스타 토폴로지 모든 장치가 단일 허브에 연결된 형태이다. 장점 : N개의 장치가서로 연결될 때 필요한 케이블의 수가 N개이다. 각 장치는 허브에 연결하는 데 1개의 포트만 필요하기 때문에 필요한 총 포트수 또한 N개이다. 단점 : 허브에 문제가 생기면 전체..

728x90