Linux란
·
카테고리 없음
Linux®는 리눅스 토르발스(Linux Torvalds)가 1991년에 개발한 오픈소스 운영 체제(OS)로, 오늘날 막강한 사용자 기반을 확보하고 있으며 세계에서 가장 강력한 슈퍼컴퓨터 500대에서 사용되고 있습니다. Linux의 인기가 높은 이유는 여러 가지지만 특히 유연성과 보안 기능 덕분입니다. Linux 커널은 전 세계 오픈소스 매니아 커뮤니티에서 계속 사용하고 있고 고유 배포판이 수백 개나 됩니다. - Red Hathttps://www.redhat.com/ko/topics/linux/what-is-linux Linux란?Linux는 OS의 기본 구성 요소인 커널과 함께 번들로 제공되는 툴, 애플리케이션, 서비스로 구성되는 오픈소스 운영 체제입니다.www.redhat.com Linux 환경은 L..
gRPC란?
·
Web지식/네트워크
gRPC는  Google에서 개발한 오픈 소스 원격 프로시저 호출(Remote Produce Call RPC) 프레임워크로, 고성능의 분산 시스템이나 마이크로서비스 아키텍쳐에서 서비스 간 통신을 효과적으로 수행할 수 있도록 설계되었다.  기본 개념RPC(Remote Produce Call)RPC는 네트워크를 통해 다른 서버나 서비스에 있는 함수를 로컬 함수처럼 호출할 수 있게 해주는 통신 방식입니다. gRPC는 이러한 RPC 방식을 기반으로 하여 클라이언트와 서버 간의 직접 호출을 쉽게 구현할 수 있게 도와준다. gRPC의 정의gRPC는 고성능, 다중 언어 지원, 그리고 효율적인 네트워크 통신을 목표로 개발된 RPC 프레임워크이다. 주요 특징 HTTP/2 기반gRPC는 전송 계층 프로토콜로 HTTP/2를..
AWS Lamda란?
·
AWS
AWS Lambda는 이벤트에 대한 응답으로 코드를 실행하고 컴퓨팅 리소스를 자동으로 관리하는 컴퓨팅 서비스로, 아이디어를 최신 프로덕션 서버리스 애플리케이션으로 전환하는 가장 빠른 방법입니다. - AWS Lamda 공식 홈페이지 https://aws.amazon.com/ko/lambda/ 클라우드 컴퓨팅 PaaS | Amazon Web ServicesAWS Lambda를 사용하여 1만 8,000개 이상의 vCPU로 즉시 스케일 아웃하여 리소스 집약적이고 예측할 수 없는 수요를 충족하세요. 기타 서버리스 제품 및 서비스와 이벤트 트리거 모음을 사용하여 처리aws.amazon.comAWS Lambda는 Amazon Web Services(AWS)에서 제공하는 서버리스(Serverless) 컴퓨팅 서비스이다..
자바 디자인 패턴(행동 패턴)
·
Java 문법정리 (Array부터)
객체 간의 상호작용과 책임 분배를 정의하는 패턴 1. 옵저버(Observer) 패턴객체의 상태 변화를 감지하고 자동으로 업데이트하는 패턴Observer 인터페이스와 Subject 사용 import java.util.ArrayList;import java.util.List;interface Observer { void update(String message);}class ConcreteObserver implements Observer { private String name; public ConcreteObserver(String name) { this.name = name; } public void update(String message) { Syste..
자바 디자인 패턴(구조 패턴)
·
Java 문법정리 (Array부터)
구조(Structural) 패턴은 클래스와 객체의 구조를 조합하여 더 큰 구조를 형성하고, 코드의 유연성과 확장성을 높이는 데 초점을 둔 디자인 패턴이다. 구조 패턴의 주요 특징객체 간 관계를 정의하고 관리하여 유지보수성을 높임코드 재사용성을 증가시키고 확장에 용이함시스템의 복잡성을 줄이고 일관성을 유지 주요 구조 패턴1. Adapter (어댑터) 패턴서로 다른 인터페이스를 가진 클래스를 연결하여 함께 동작할 수 있도록 해주는 패턴이다.예제: USB-C 포트에 HDMI를 연결하는 어댑터처럼, 기존 코드와 새로운 코드 사이의 호환성을 제공. // 기존 코드 (호환되지 않는 인터페이스)interface OldSystem { void legacyMethod();}class OldSystemImpl imp..
자바 디자인 패턴 종류 (생성패턴)
·
Java 문법정리 (Array부터)
생성패턴 (Creatrional Patterns)생성 패턴은 객체 생성과 관련된 문제를 해결하기 위한 패턴. 객체를 직접적으로 생성하는 대신, 객체를 생성하는 방법을 캡슐화하여 객체 생성 로직을 분리한다. 싱글턴 패턴(Singleton Pattern)목표: 클래스의 인스턴스가 오직 하나만 존재하도록, 보장하고, 그 인스턴스에 접근할 수 있는 전역적인 접근점을 제공하는 패턴이다. 사용시기: 한 애플리케이션에서 하나의 객체만 존재하야 할 경우에 사용된다. 예를 들어, 설정 관리 객체, 데이터베이스 연결 객체, 로그 관리 객체 등에 유용하다. 구현방법인스턴스를 private static으로 선언하여 외부에서 직접 접근할 수 없게 하고, public static 메서드를 통해 인스턴스에 접근한다.클래스의 생성자..
foodList 조회시 엘라스틱 서치 인덱스에 저장(Node.js 기준)
·
Elastic Search
(해당 글은 Node.js typescript 코드로 작성한 내용입니다. Elastic search 8.17.0 version)  차후 엘라스틱 서치를 통해 검색 기능을 이용할때 필요한 MySQL에 저장된 데이터를 엘라스틱 서치에 저장할려고 한다.   Elastic Search 설치https://github.com/elastic/start-local GitHub - elastic/start-local: Try Elasticsearch and Kibana locallyTry Elasticsearch and Kibana locally. Contribute to elastic/start-local development by creating an account on GitHub.github.com(해당 테스트는..
ubuntu서버에 있는 MySQL데이터 dump후 로컬에 저장하기
·
SQL 정리
ubuntu 서버에 있는 데이터를 가져와서 로컬서버로 실행시키고 싶을때 사용하는 명령어이다. (MySQL WorkBench에서 파일을 받는 방법이 아닌 ubuntu에서 dump 한 방법을 이용하여 로컬로 받는 방법입니다.)  (해당 방법은 보안을 고려하지 않은 경우로 사용하는 방법이니 보안을 고려하는 분들은 해당 방법을 사용하는것에 대해 지양합니다.) 보통 MySQL 서버에 접속해서 쿼리를 이용해 dump 파일을 추출할 경우 --secure--file경로에만 저장이 가능하게 한다. 그러기에 해당 에러가 나오지 않는 다른 경로를 우회해야 하는데 ubuntu 최상단 경로에 dump하여 로컬로 보내는 방법이다. 해당 필자는 /tmp 경로로 저장하였다. mysqldump -u -p > /tmp/.xml 그..
Elastic Search란?
·
Elastic Search
Elasticsearch는 오픈 소스 분산형 RESTful 검색 및 분석 엔진, 확장 가능한 데이터 저장소, 증가하는 사용 사례를 처리할 수 있는 벡터 데이터베이스입니다. Elastic Stack의 핵심으로서, 번개처럼 빠른 검색, 미세 조정된 관련성, 쉽게 확장되는 강력한 분석을 위해 데이터를 중앙에 저장합니다. - elastic 공식 홈페이지https://www.elastic.co/elasticsearch Elasticsearch: The Official Distributed Search & Analytics Engine | ElasticElasticsearch is the leading distributed, RESTful, open source search and analytics engine d..
Survey 저장중 발생하는 지연현상에 대한 최적화(비동기 처리)
·
Node.js
TravEat 어플에서 Survey tag를 통해 자신이 원하는 tag선택하여 알맞는 음식 상품에 대한 결과가 도출되게 한다. 하지만 여기서 문제점은 Survey에 대한 저장시간이 오래걸리면서 사용자의 불편을 초래하게 된다는 것이다. Survey의 saveSurvey 메서드를 호출하면서 해당 API (api/survey/save-survey)를 테스트한 결과 응답 시간이 39.64초로 지나치게 오래 걸리는 문제가 발견되었다. 이로 인해 사용자 경험이 저하될 가능성이 높아지고, 시스템의 성능 병목 현상이 발생할 우려가 있었다. 해당 병목 현상에 대한 문제를 해결하기 위하여 비동기 처리를 하여 성능을 개선하고자 했다. 왜 비동기 처리를 해야 하나요?saveSurvey 메서드 내에서 여러 데이터베이스 연산과 ..