본문 바로가기
반응형

IT/Knowledge272

Mutex / Semaphore ( 뮤택스 와 세마포어 ) 동기화를 위해 이용되는 도구인 뮤택스와 세마포어에 대해서 정리를 해볼 것이다. Mutex (뮤택스) 자원에 대한 접근을 동기화 하기 위해 사용되는 상호 배제 기술이다. 공유된 자원의 데이터 혹은 임계영역 등에 하나의 프로세스 혹은 쓰레드가 접근하는 것을 막아준다. (프로세스 스레드는 아래 참고 포스팅 참고) 이 말이 무엇이냐면 임계구역을 가진 스레드들의 실행시간이 서로 겹치지 않고 각각 단독으로 실행되도록 한다는 말이다. 다중 프로세스들의 공유 리소스에 대한 접근을 조율하기 위해 동기화 혹은 락을 사용함으로써 뮤택스 객체를 두 스레드가 사용할수 없다. 이해를 돕기 위해서 하나의 예를 들면 마트에서 장볼때 캐셔 한테 계산을 하기 위해서 줄을 서다가 자신의 차례가 오면 계산을 하게 된다. 내가 계산을 할 동.. 2022. 10. 11.
.dat 파일 파일 형식에는 다양한 형식이 있는데 그중 DAT 형식인 dat 는 데이터 파일을 말한다. 일반적으로 이것은 프로그램에 의해 생성되고 해당 프로그램에서만 사용할 수 있는 이진 파일이며 직접 열거나 볼 수 없다. 이 파일을 읽는 방법은 따로 있다. 이들은 레지스트리 파일이다. 편집하려면 RegEdit 프로그램을 사용해야 하기에 메모장이나 워드패드와 같은 간단한 텍스트 편집기로 편집하면 된다. 열기 위해서는 그냥 클릭이 아니라 우클릭하여 해당 파일을 편집기로 읽어서 다루면 된다. dat의 장점 데이터 저장과는 별도로 DAT 파일은 아카이브 첨부 파일이 될 수 있다. 이메일, 레지스트리 파일, 호환성 파일 컴퓨터 게임그들 사이에서 캐시 파일 인터넷 익스플로러, 비디오 파일, DOS 또는 Windows 데이터 파.. 2022. 10. 10.
클라우드 네이티브란?(사례 - 넷플릭스) 2016년 ‘클라우드 네이티브 기업이 됐다’고 선언한 넷플릭스는 무려 7년 동안 IT인프라를 데이터센터에서 클라우드(AWS)로 이관하면서 있는 그대로 옮기는 것이 아닌 전체 시스템을 클라우드 네이티브 방식으로 재설계를 하였다. 변화전의 문제는 다음과 같았다. 모놀리식 구조로 인한 개발/개선 속도가 느림 변경이 발생할 때마다 모든 사람들이 한꺼번에 붙어서 작업을 해야 하고, 변경 시 문제가 발생되면 문제를 찾는 것 자체가 일이 되어버려 앱을 개발하고 개선하는 것이 비효율적이었다. 데이터베이스 의존적 거대한 하나의 오라클 데이터베이스를 사용했는데, 데이터베이스가 다운되면 모든 시스템이 다운되었으며, 매 2주마다 새 스키마를 적용하기 위해 적어도 10분의 가동 중지 시간이 생겼다. 데이터센터 비대화 트래픽이 .. 2022. 10. 8.
클라우드 네이티브란?(정의) 클라우드 컴퓨팅을 도입하는 것이 시기상조라고 여겨질 때가 있었는데 그때에는 클라우드를 왜 사용해야 하는지, 클라우드의 장점과 필요성에 대해 초점을 맞췄다면, 이제는 ‘왜(Why)’가 아닌, ‘어떻게(How) 사용할 것인가’에 대하여 고민하는 시점이 왔다. 점점 클라우드의 시대가 오면서 물리적인 서버의 역할 보다는 가상의, 그리고 컨테이너 개념의 이런 단어들이 더욱 익숙해지고 있다. 클라우드 네이티브 정의 넓은 의미의 정의 넓은 의미로 정의해 본다면 클라우드의 이점을 최대로 활용할 수 있도록 애플리케이션을 구축하고 실행하는 방식을 말한다. 기존 시스템에서의 애플리케이션은 클라우드의 이점을 100% 활용하지 못했다면, 마이크로서비스 아키텍처를 채택하고 컨테이너, 쿠버네티스와 같은 기술과 도구, DevOps,.. 2022. 10. 7.
ELK 란? ELK( Elasticsearch / Logstatsh / Kibana ) 스택 ELK는 위 그림과 같이, 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어이고 접근성과 용이성이 좋아 최근 가장 핫한 Log 및 데이터 분석 도구이다. 각 기능에 대한 설명은 아래 참고 포스팅을 확인해보면 된다. 간단한 설명으로는 Logstash 다양한 소스(DB, csv파일 등)의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱하여 Elasticsearch 로 전달 Elasticsearch Logstatsh로 부터 받은 데이터를 검색 및 집계를 하여 필요한 관심 있는 정보를 획득 Kibana Elasticsearch의 빠른 .. 2022. 9. 23.
kibana 란? kibana는 Elastic Stack 기반으로 구축된 오픈소스 프론트엔드 애플리케이션으로 Elasticsearch에서 색인된 데이터를 검색해서 분석 및 시각화 하는 기능 플랫폼이다. 히스토그램부터 geo맵까지 다양한 시각화 도구를 이용하여 사용자 지정 대시보드와 결합하여 데이터에 생명력을 부여하는 역할을 한다. 고급 데이터 분석을 쉽게 수행하고 다양한 차트, 테이블 및 맵에서 데이터를 시각화 기능을 한다. 사용 용도는 다음과같다. 로깅과 로그 분석 인프라 매트릭과 컨테이너 모니터링 애플리케이션 성능 모니터링 위치기반 정보 데이터 분석과 시각화 보안 분석 및 비지니스 분석 웹 인터페이스를 통해서 elastic Stack 인스턴스를 모니터링 하며 관리하고 보호 주요 기능은 다음 그림과 같다. 2022. 9. 22.
Logstash 란? Logstash란 로그 스테이시는 실시간 파이프라인 기능을 가진 데이터 수집 엔진 오픈소스이다. 로그 스테이시는 서로 다른 소스의 데이터를 동적으로 통합하고 원하는 대상으로 데이터를 정규화 할 수 있는 능력을 가진다. 로그스테이시는 원래 로그 수집의 혁신을 주도했지만, 그 가능성은 실제 사용 사례를 통해 훨씬 더 열렸다. 다양한 입력과 필터 및 출력 플러그인을 통해, 모든 유형의 이벤트를 보강하고 변환할 수 있으며, 많은 기본 코텍이 처리 과정을 단순화한다. 따라서 로그 스테이시는 더 많은 양과 다양한 데이터를 활용하여 통찰력 있게 보는 것을 가능하게 해 준다. 💡Logstash 공식 문서 : www.elastic.co/guide/en/logstash/7.6/introduction.html Logstas.. 2022. 9. 21.
ElasticSearch 란? Elasticsearch는 Apache Lucene(아파치 루씬) 기반의 java 오픈소스 분산 검색 엔진이다. 데이터베이스로 알려져 있기는 하지만 "데이터 저장소"가 아니라서 우리가 아는 MySQL 같은 데이터베이스를 대체할 수 없다. 방대한 양의 데이터를 신속하고 거의 실시간으로 저장,검색,분석할 수 있는것이 장점이다. Elasticsearch는 검색을 위해 단독으로 사용되기도 하며, ELK( Elasticsearch / Logstatsh / Kibana )스택으로 사용되기도 한다. 이 부분에 대해서는 추후에 다시 다뤄볼 것이다. 그럼 과연 RDBMS 랑은 어떤 차이가 있는걸까? Elasticsearch와 관계형 DB (RDBMS)의 비교 RDBMS Elasticsearch schema mapping.. 2022. 9. 20.
정규 표현식 정리(Regex) 정규표현식은 사용을 할때마다 검색하는것 같아서 이참에 직접 정리를 해보려고 포스팅을 작성해본다.  정규표현식에서 사용되는 기호를 Meta 문자라고 하는데 표현식에서 내부적으로 특정 의미를 갖는 문자를 말하며 아래와 같다. 표현식의미  ^x 문자열의 시작을 표현하며 x 문자로 시작됨을 의미한다.x$ 문자열의 종료를 표현하며 x 문자로 종료됨을 의미한다. .x 임의의 한 문자의 자리수를 표현하며 문자열이 x 로 끝난다는 것을 의미한다. x+ 반복을 표현하며 x 문자가 한번 이상 반복됨을 의미한다. x? 존재여부를 표현하며 x 문자가 존재할 수도, 존재하지 않을 수도 있음을 의미한다. x* 반복여부를 표현하며 x 문자가 0.. 2022. 9. 19.
반응형