반응형

개발관련/ETC.. 14

가십 프로토콜

1. 가십 프로토콜이란?가십 프로토콜은 분산 시스템에서 노드들이 정보를 교환하며 동기화하는 방식입니다. 이름 그대로, 소문(gossip)이 퍼지듯 정보가 네트워크 전체로 확산됩니다.가십 프로토콜의 주요 특징랜덤성: 정보가 무작위로 선택된 노드들에게 전파됩니다.확장성: 네트워크의 크기가 커져도 효율적으로 작동합니다.내결함성: 일부 노드가 고장 나더라도 전체 정보 전파에 문제가 없습니다.2. 가십 프로토콜의 동작 방식기본 개념정보의 전파:새로운 정보를 가진 노드가 무작위로 선택된 다른 노드에게 정보를 전달합니다.선택된 노드들은 다시 새로운 노드를 선택해 정보를 전파합니다.이 과정이 반복되면서 네트워크 전체로 정보가 확산됩니다.3. 전파 수(Fanout)전파 수란?전파 수는 한 번에 정보를 전파할 노드의 수를..

개발관련/ETC.. 2025.01.25

MMF(Memory Mapping File)

메모리 매핑 파일(Memory-Mapped File)은 파일이나 장치의 내용을 메모리 주소 공간에 매핑하는 기술이다. 이 방법을 사용하면 파일이나 장치의 데이터에 대한 접근을 마치 메모리에 직접 있는 데이터에 접근하는 것처럼 수행할 수 있다. 이는 데이터의 읽기와 쓰기 속도를 향상시킬 수 있으며, 대용량 파일 처리에 특히 유용하다. 메모리 매핑 파일을 이용한 프로세스 간 공유는 고성능의 IPC 메커니즘을 제공하며, 파일 입출력보다 훨씬 빠른 데이터 접근 속도를 가능하게 한다. 그러나 공유 데이터에 대한 동시 접근을 관리하는 것이 중요하며, 적절한 동기화 방법을 선택하여 데이터의 일관성과 무결성을 보장해야 한다. 작동 원리 매핑 생성: 운영 체제는 파일의 내용을 프로세스의 가상 메모리 주소 공간에 매핑한다..

개발관련/ETC.. 2024.03.18

Https 적용하기

SSL FOR FREE 사이트에 도메인을 입력하고 차례 차례 순서대로 입력한다. 90일 짜리 공짜 CName 입력 Name: _95D1090C735AB2C3856848066F6C96C0 도메인을 제외하고 입력 별칭 : 824C3264FAF387913C281A2F7F799281.AA6016E7E6E327734C6A1CE3FA469BDF.bb884888ef31b52.comodoca.com 값을 그대로 입력한다. Install Certificate 단계에서 해당 파일을 다운로드 받는다. 3개의 파일을 서버에 올린 후 합쳐준다. cat certificate.crt ca_bundle.crt > combined.pem docker compose 설정에 볼륨 경로를 연결한다. - type: bind source: ...

개발관련/ETC.. 2024.03.11

aws ec2 프리티어 메모리 부족

https://repost.aws/ko/knowledge-center/ec2-memory-swap-file 스왑 파일을 사용하여 Amazon EC2 인스턴스의 스왑 공간으로 메모리 할당 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 스왑 파일로 사용할 메모리를 할당하려고 합니다. 어떻게 해야 하나요? repost.aws t2.micro 유형에 도커를 통하여 Gitlab을 설치를 하게 되면 터미널이 끊어지고 EC2가 뻗어버리는 현상이 발생한다. 이는 t2.micro RAM이 1GB 밖에 지원하지 않기 때문이다. 이 문제를 해결하려면 스왑 메모리를 고려해볼 수 있다. 스왑 메모리는 주 메모리(RAM)가 부족할 때 하드 드라이브나 SSD의 일부를 임시 메모리로 사용하여 ..

개발관련/ETC.. 2023.09.22

Linux에 서비스 등록

서비스를 실행하려면 .service 파일이 필요하다. 서비스 파일이 없이 서비스를 등록하려고 하면 Unit not found. 해당 에러가 발생한다. systemctl enable ba.internalserverd 파일을 생성해준다. 현재 개인 프로젝트의 서버 등록을 위해 ba.internalserverd.service 로 파일을 만들어준다. vi /etc/systemd/system/ba.internalserverd.service [Unit] Description=BA.InterServer.dll [Service] WorkingDirectory=/ba/bin/interserver ExecStart=/usr/bin/dotnet /ba/bin/interserver/BA.InterServer.dll Resta..

개발관련/ETC.. 2023.01.10

Apple revoke token 처리

최근 애플 앱 심사 거절 이유로 회원탈퇴를 하는 경우 revoke token 처리를 해야한다고 한다. 클라단에서 처리를 못하기에 서버단에서 처리하기로 결정하고 서버에서 처리한다. https://developer.apple.com/documentation/sign_in_with_apple/revoke_tokens //client_secret 생성 public static string GenerateAppStoreJwtToken(string teamId, string keyId, string clientId, string p8key) { var aud = "https://appleid.apple.com"; string iss = teamId; string sub = clientId; string kid = ..

개발관련/ETC.. 2022.07.09

AWS CodeBuild, CodeDeploy

AWS 설정 IAM 역할 추가 CodeDeploy AWSCodeDeployRole EC2Deploy AmazonEC2RoleforAWSCodeDeploy CouldWatchFullAccess AWSCodeDeployFullAccess AWSCodeDeployRole CodeDeploy는 CodeDeploy 설정에 역할에 들어가는 것이고 EC2Deploy인 경우는 EC2 인스턴스에 들어가는 역할이다. CodeBuild 설정 아티팩트 설정 secondary-artifacts가 작성될 시에 아티팩트 추가 기능을 사용하여 buildspec.yml에 작성된 아티팩트 키와 맵핑 시켜야 한다. CodeDeploy 설정 appspec.yml은 배포된 압축 파일을 풀었을때 root에 있어야 한다. root : C:\Pr..

개발관련/ETC.. 2019.07.25

객체 지향 설계의 원칙>SOLID

1.단일 책임 원칙(SRP, Single Responsibility Principle) 클래스를 변경해야 할 이유는 단 한가지여야 한다. 이 원칙은 클래스 응집도와 관련이 있다. 책임이 하나뿐인 응집도 높은 클래스를 만든다면 이 원칙을 충족시키는 것이다. 2.개방 폐쇄 원칙(OCP, Open-Closed Principle) 소프트웨어의 구성요소는 확장에 관해서는 열려있어야 하고 변경에 대해서는 닫혀있어야 한다. 클래스 상속을 생각해보면 부모 클래스가 닫힌 부분이고 자식 클래스는 열린 부분이다. 부모 클래스를 굳이 변경하지 않더라도, 자식 클래스의 행동을 변화시키면 확장할 수 있다. 3.리스코프 치환 원칙(LSB, Liskov Substitution Principle) 파생 자료형은 기본 자료형과 치환 할..

개발관련/ETC.. 2019.05.08
반응형