전체 글
-
[Algorithm] - 기본 문자열 처리Algorithm/Algorithm 2022. 4. 12. 16:05
문자열 처리 문자열 관련하여 반복되는 개념들이 자주 나와 정리하기 위하여 쓴 글입니다. 1. 회문 ( palindrome ) 문자열에 대해서 거꾸로 봐도 동일한지 여부 # 1. 회문(palindrome) temp = '가나다다나가' def palindrome ( data ) : if data == data[::-1] : return True return False print ( palindrome(temp) ) print( temp[::-1]==temp ) 2. 정규 표현식 정규 표현식을 이용한 문자열 컨트롤 ( re ) re.sub( '패턴' , '바꿀문자열' , '적용할 문자열' ) re.compile('패턴') = 문자열 내에서 패턴 찾을 때 사용 match = 문자열의 처음부터 패턴이 일치하는지 ..
-
[Algorithm] - 최소 신장 트리Algorithm/Algorithm 2022. 4. 11. 14:27
신장 트리 연결 그래프의 부분 그래프로서 그 그래프의 모든 정점과 간선의 부분 집합으로 구성되는 트리로 모든 노드는 적어도 하나의 간선에 연결 ( 단 , 싸이클 X ) 아래 그림은 신장트리를 나타난 예시이다. 아래 그림은 신장트리가 아닌 예시이다. Node에 Edge가 연결되지 않거나 , Cycle이 발생되어 Tree의 개념을 상실한 경우이다. 우측 마지막 그림에서는 Edge가 새롭게 생성된 경우이다. 최소 신장 트리 Graph Edge에 Cost가 부여된 그래프를 가중치 그래프 또는 네트워크라고 합니다. 이때 Cost란 비용이나 거리를 의미하는 값이 될 수 있습니다. 신장 트리 비용은 신장 트리를 구성하는 모든 간선의 비용 중 최소의 합 최소 Cost를 알기 위해서는 Edge들의 가중치를 가장 작은것은..
-
INDEX 조각화( Rebuild , Reorganize )CS/DB 2022. 3. 4. 19:12
PAGE SPLIT INSET , UPDATE 동작이 발생 시 여유 공간의 부족으로 페이지 변화가 일어나는 것 저번에 올린 부분과 같이 PAGE = SQL Server 기본 I/O 단위 / 1Page = 8KB = 8016byte / 8page = 1Extent CREATE TABLE PageSplitTest ( --int: 4byte / --nchar(1000) 2,000byte Id int not null , TextChar nchar(1000) not null ) GO --클러스터형 인덱스 생성 CREATE CLUSTERED INDEX CL_ID ON PageSplitTest (Id) GO --하나의 row당 4 + 2000 = 2,004byte --1Page(8KB) = 8192byte --4개의..
-
sp_WhoIsActive ( 서버 부하 및 락 관련 )CS/DB 2022. 2. 28. 02:36
sp_WhoIsActive 매번 장애는 발생하는데.. 실 서비스 때문에 이슈를 파악하기에는 시간이 없고 바로 서버 전환하여 재부팅하기 일수였다. 이런 문제를 해결하기 위해 저장하면 좋겠다고 하여서 찾아보니 위와 같은 SP 가 존재하였다. sp_who2 sp_WhoIsActive -- https://m.blog.naver.com/stonefly2001/221850646532 /* Test 용도 - Lock drop table tblx go begin tran create table tblx (idx int) waitfor delay '15:55:08.700' insert into tblx values ( 1) commit tran */ /* step1) table setting exec sp_help wh..
-
DB INDEXCS/DB 2022. 2. 28. 00:58
개발을 하면서 생각보다 조회 자체로도 서버 부하에 큰 영향을 준다는 점을 알았습니다. 테스트 서버와 달리 실서버 수십만건의 결제 데이터 조회 시 서버에 부하를 일으켰습니다. 기존 서비스들이 무분별한 확장만 추구하였을 뿐 어느 누구도 서비스의 질을 생각하지 않아 속도가 느려지며 부하가 발생하여 데드락이 발생하여 점점 서비스에 영향이 갔습니다. PAGE란? 데이터 파일을 구성하는 논리 단위 SQL Server의 기본 데이터 저장 단위(8KB) 데이터를 쓸 때 행을 페이지에 기록됨 데이터를 읽을 때 페이지 내의 모든 행이 읽어짐 페이지 내의 행이 많을 수록 I/O 효율 증가 INDEX란? 추가적인 쓰기 작업과 저장 공간을 활용하여 DB 테이블의 검색 속도를 향상시키기 위한 자료구조 장점 빠른 데이터를 검색 (..
-
Kubernetes개발/K83 2022. 2. 20. 16:49
시작에 앞서, Terraform / AWK_EKS Terraform 설치 SCRIPT를 제공해주어 Module들을 사용할 수 있도록 지원 IAC 표준 , Cloud 업체에서 관리해서 사용 할 수 있도록 잘 되어 있다. User는 Script의 module name , version 만 설정하면 구축 가능 AWS_EKS Amazon Elastic Kubernetes Service(Amazon EKS)는 Kubernetes를 실행하는 데 사용할 수 있는 관리형 서비스 제어 플레인 또는 노드를 설치, 작동 및 유지 관리할 필요 X Kubernetes는 컨테이너화된 애플리케이션의 배포, 조정 및 관리 자동화를 위한 오픈 소스 시스템 K8S ( Kubernetes ) Docker의 Container의 개념을 사용..