일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링부트공부
- Flutter
- JPA
- 플러터 공부
- Axon framework
- JPA 공부
- nestjs공부
- 스프링
- 코테공부
- 스프링부트
- 스프링공부
- 알고리즘공부
- nestjs스터디
- 스프링 공부
- JPA예제
- querydsl
- nestjs
- 코테준비
- Kafka
- DDD
- 자료구조공부
- 플러터 개발
- 기술공부
- JPA공부
- JPA스터디
- 자바공부
- 카프카
- 프로그래머스
- K8S
- 기술면접공부
- Today
- Total
목록[Computer Science] (42)
DevBoi
오늘은 RFC라는 지식에 대해서 포스팅해보려고 한다. 때떄로 다른 모듈이나 외부 연동을 할 때 사용하는 통신 방법이라고 한다. Remote Function call로 해당 작업을 하는 것을 의미한다. SAP나 ERP같이 외부 모듈과 통신할때 주로 쓰이고, Flutter에서 Native에 대한 라이브러리나 통신을 위해 사용하기도 한다. RFC에서는 두가지 호출 인터페이스가 있다. non-sap || abap용 프로그램용 쉽게 얘기하면, SAP와 SAP가 아닌 장비끼리 서로 통신하는 경우 또는 SAP이지만 서로 다른 장비인 경우 즉 , 머신이 떨어진 모든 경우의 통신규약을 정의해놓은것으로 이해하면 편하다. 결국 메커니즘은 비슷하다. CALL FUNCTION .... DESTINATION의 구조로 이루어져 있..
간략하게 말하면 레이어드 아키텍처는 이렇다. 특징은 있다, 상위 레이어에서 하위 레이어에 대한 의존은 허용하지만, 하위 레이어에서는 허용하지 않는다. 인프라 스트럭처에서 사용자 인터페이스나, 응용 레이어에 대한 의존은 허용하지 않는다는 의미이다. 1) 인프라스트럭처 레이어 쉽게 얘기하면, 마리아 디비, 카프카 등 연결이 되어있는 레이어이다. Mybatis로 치면, 다오가 있을거고, JPA로 치면 레파지토리가 있을것이다. 무튼 이렇게 생각하면 된다. 2) 도메인 레이어 해당 도메인 레이어는 이렇다. 서비스나 비즈니스 로직이 들어간 레이어를 의미한다. 3) 응용계칭 컨트롤러, 사용자가 요청을 원하는 계층 정리해서 얘기하면, 사용자에게 원하는 요구를 받아서, 수행하는 계층이다. 뻔하고 알고있지만, 헷갈리거나 ..
페이징 교체 알고리즘은 페이징기법으로, 메모리를 관리하는 운영체제에서 페이지의 부재가 발생하여 새로운 페이지를 기존의 어떤 페이지와 교체할 것인가? 를 결정 하기 위해 필요한 알고리즘이다. FIFO 알고리즘 : 페이지가 적재된 시간을 기준으로 교체되는 알고리즘 (First in First out 관련 알고리즘 이다. ) - 가장 오래된 페이지가 교체되나, 중요한 페이지가 오래되었다는 이유로 교체될 수 있기 때문에 불합리 하다. LFU 알고리즘 : 가장 적게 사용된 페이지를 교체하는 알고리즘, 참조될 가능성이 많은데 가장 적게 사용되었다는 이유로 최근에 사용되었지만 교체될 가능성이 있다. 참조된 횟수를 증가 시키기 때문에 오버헤드를 발생시킨다. LRU 알고리즘 : 가장 오랫동안 참조되지 않은 페이지를 교체..
데이터 통신 방법에서 가장 많이 쓰이는 방식은 두가지가 있다. 두가지 장단점을 비교해서, 언제 어떤걸 쓸지 결정해보자 1. XML xml은 html 과 매우 비슷한 문자 기반의 마크업 언어이다. 장점 : 스키마를 사용하여, 데이터의 무결성을 검증할수 있다. 단점 : XML은 배열을 사용할 수 없고, 데이터를 읽고 쓰는 것이 Json 대비 느리다. 2.Json JSON은 경량 DATA 교환 방식이다. 데이터를 저장하고 전달하는 메타언어이다. javaScript 에서 객체를 만들때 사용하는 표현식을 의미한다. 장점 : JSON은 문자열을 전송받은 후에 해당 문자열을 바로 파싱하므로, XML 보다 빠르다. 단점 : JSON은 개발자가 문자열 데이터의 무결성을 검증해야한다.
1. 템플릿 메서드 패턴 슈퍼 클래스에서 정의한 기본 로직을 서브 클래스에서 필요에 맞게 구현해서 쓰는 방법 - 템플릿 메소드, 슈퍼클래스에서 기본 알고리즘 골격을 담는다. 예를 들면, 해당 클래스를 상속하는 클래스들은 해당 클래스를 호출하면, 동일 메소드 순으로 호출되게 된다. - 훅 메소드 : 추상화 되어있는 메소드를 자식 클래스에서 구현한다. 즉 템플릿 메소드 패턴은 슈퍼 클래스에서 기본적인 로직의 흐름을 만들고 그 기능의 일부를 추상 메소드나 오버라이딩이 가능한 protected 메소드 등으로 만든뒤 서브클래스에서 이런 메소드를 필요에 맞게 구현해서 사용한다. 2. 팩토리 메소드 패턴 추상화된 객체 생성 메소드를 서브클래스에서 구현하고, 슈퍼클래스에서는 해당 생성 메서드를 포함한 return타입만..
애자일과 워터풀의 프로젝트 관리 차이는 무엇일까...? 핵심적인 차이만 알아두자, 사실 너무 많은건 더많은 혼선을 가질 수 있다. 1. 애자일 스프린트라고 하는 관리론을 사용한다. 즉, 고객사가 제품을 보고, 그때그때 요구사항을 변화할수 있다. 예를 들면, 실제로 구현을 했는데, 다른 방식으로의 출력을 원한다거나 등등의 요구사항이 변경되면, 해당 내용을 개발하여 다시 전달해준다. 이러한 과정을 스프린트라고한다. 내부테스팅이 끝난후에 고객사에게 오픈하는 워터풀 모델과는 다르다. 추가로, 프로젝트 완료가 아닌, 품질에 초점을 두고 업무를 진행한다. 물론 고객에 수많은 사항을 검토해야 하지만, 변경될 수도 있는 요건 사항에 대해서 좀 더 자유롭다. 2.워터풀 모델 프로젝트 전 모든 요구사항 분석 및 리스크 범..
MSA 란 무엇일까? MicroService Architecture 의 줄임말이다. 쉽게 말하면, 정확한 정의는 없다, 마이크로서비스란 작고 독립적으로 배포가능한 각각의 기능을 수행하는 서비스로, 구성된 프레임 워크라고 할수 있다. 독립적으로 배포가 가능하고, 각각의 기능을 수행하는 서비스로 이루어진 프레임워크이다. 기존의 프레임워크를 살펴보자, 해당 프레임워크는, 웹의 경우 War 파일로 빌드되어 was에 배포된다. 주로 소규모 프로젝트에서 사용이 된다. 기존의 프로젝트에서는 이런 프로젝트들은 제약이 많다. 1. 부분 장애가 전체 서비스 장애로 확대될수 있다. 예를 들어서, 어떤 개발자가 메인 페이지의 특정 부분을 개발했다고 가정하자. 실수로 이 개발자는 NPE을 발생시켰고, 이는 메인페이지 전체 페이..
비슷하지만, 다른 개념, DTO, DAO,VO의 예시를 공부해보자 1. DTO 란? DTO, 계층 간 데이터 교환을 위한 객체는 DTO이다. 즉 데이터베이스에서 값을 얻어, service, controller 단으로 데이터를 넘길때 필요한 값이다. 로직을 가지고 있지않고, 순수 getter,setter를 가지고 있다. 2. DAO 란? Service에서, Database를 접근하기 위해, 사용되는 객체이다. JPA에서 사용은 repository이고, 실제 DB와 접근 하는 객체의 역할을 한다. 쉽게 말해서 DB에 접속해서, 데이터의 CRUD작업을 시행하는 클래스이다. 3. VO - DTO와 동일한 개념이지만, VO는 값이 변경되지 않는 불변의상태를 의미한다. - readOnly이다. ValueObject
웹 백앤드 개발자가 알아두어야 할, 네트워크 방식에 대해서 알아보자 스프링에서 사용자의 요청에 따른 응답처리는 framework에서의 내부동작이지만, 네트워크 단계에서 사용자의 요청, 응답단계에 대해서 알아보자 1. 사용자가 브라우저에서 url을 입력한다. 2. 브라우저가 해당 url을 분석한다. URL의 구조는 해당 과 같다. 2-1. schem : http, https 와 같이 요청 주체에 따라서 다르게간다. 크게는 http, https (보안 차이), ftp 등이 있다. 2-2. host : 주체 2-3. port : host와 통신하는 쪽의 포트이다. 이건 사전에 약속이 되어있지만, 실제 사용자들은 이렇게 포트까지 치고 들어갈 필요는 거의없다. host쪽에서 자동설정으로 해놓기 떄문에, 대부분 8..
트리와 이진 트리 , Binary Search Tree 구조와, 방식에 대해서 이해해보자 - 트리 일반적으로 계층 구조의 자료구조를 표현할때 사용하는 구조이다. 자식-부모 간의 관계로 되어있고, 싸이클 구조를 가지지 않는다. 되게 간단하다. 단순 트리 구조는, 동료 노드와, 부모 자식 노드 그리고 최상단의 루트 노드가 존재한다는 것이 전부이다. 이진트리 - 자신의 하위 노드의 차수가 최대 2인, 트리 구조를 의미한다. 부모-자식간의 노드 구조는 동일하고, 자식을 최대 2개가진다고 이해하면 된다. 이진트리는 종류가 조금 씩 있는데, 1. 완전 이진 트리 2. 전 이진 트리 3. 포화 이진 트리 이렇게 3가지의 트리가 존재한다. 1. 완전 이진 트리 완전 이진 트리는 , 왼쪽에서 오른쪽으로 데이터가 채워진다..