분류 전체보기
-
[CS] RAIDComputer Science 2024. 7. 8. 17:54
데이터 저장에 있어 성능을 향상시키는 방법론 중에 하나로, Kafka에서도 이 원리가 활용된다. Redundant Array of Independent Disks여러 개의 물리적 디스크 드라이브를 하나의 논리적 유닛으로 결합하여 데이터 저장의 성능, 용량, 신뢰성을 향상 OS RAID : 운영체제 레벨에서 이 RAID를 구현하는 것하드웨어 RAID와 구분되며, 소프트웨어 RAID로도 불린다 RAID Level RAID 0 : 스트라이핑 기법을 사용하여 데이터를 여러 디스크에 분산 저장성능은 향상되나 데이터 중복이 없어 신뢰성은 낮다모든 디스크를 동시에 사용하기 때문에 성능은 단일 디스크 성능의 N배안정성은 1/N으로 줄어든다(하나라도 문제가 발생할 경우 전체 RAID가 깨지는 현상 발생) RAID 1 ..
-
[CS] Persistent Data structureComputer Science 2024. 7. 5. 09:56
Kafka 공식문서를 읽는 중에, Constant Time Suffices 항목에서 몰랐던 개념이 등장했다.The persistent data structure used in messaging systems are often a per-consumer queue with an associated BTree or other general-purpose random access data structures to maintain metadata about messages. BTrees are the most versatile data structure available, and make it possible to support a wide variety of transactional and non-transa..
-
[Nginx] WEB 배포 시 문제Intern 2024. 7. 3. 11:03
문제 상황 : ACP 내 2개의 VM을 서버로 운용중 WEB 소스코드 업데이트 시 발생한다.업데이트 방법은 각 VM에 접속하여 git 레포지토리에 있는 main 브랜치를 pull하고, restart 해준다docker exec -it web-container sh -c "git pull" && docker restart web-container 이 과정에서 각 VM에서 업데이트된 컨테이너의 로그를 확인하다보면, 신경써줘야 하는 부분이 있다.이 위의 dist/assets 내의 두 .js 파일이다.현 프로젝트의 web 코드는 react 이다.위 두 .js 파일은 React Application 빌드 과정에서 생성된 번들 파일로, 애플리케이션 배포 시 중요한 역할을 한다.1번째 .js 파일은 React 애플리케..
-
OOPIntern 2024. 6. 26. 09:09
프로그램을 보다 유연하고 변경이 용이하게 만든다코드의 변경을 최소화하고 유지보수하는 데 유리코드의 재사용을 통해 반복적인 코드를 최소화하고, 코드를 최대한 간결하게 표현인간 친화적이고 직관적인 코드를 작성하기에 용이 *객체 : 객체 지향 프로그래밍의 가장 기본적인 단위이자 시작점객체들 간의 상호작용을 통해 발생한다는 점에서 출발모든 실재하는 대상 객체지향 프로그래밍에서는 각각의 객체를 속성과 기능으로 분류한 후, 이것을 다시 각각 변수와 함수로 정의기본적인 학습을 선행하시거나 전체적인 흐름을 중심으로 콘텐츠 소비 추상화사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는 것공통성과 본질을 모아 추출불필요한 세부 사항은 제거하고 가장 본질적이고 공통적인 부분만을 추출하여 표현 :..
-
[Git] Error: failed to push some refs to ~Intern 2024. 6. 13. 14:20
App에서 문제가 발생하여, 관련 소스 코드를 수정한 다음 배포하려던 중에 에러가 발생했다.. 이는 원격저장소에서 로컬에는 없는 파일이 있을 때 push하면 발생하는 오류라고 한다.이 때 원격저장소에서 내 로컬에 저장하지 않은 파일을 pull 한 후 원격저장소에 다시 push를 진행해야 한다.git pull origin mastergit push origin master를 순서대로 입력하게 되면 로컬에서 내가 수정한 파일을 리모트 서버에 정상적으로 반영할 수 있다.* 물론 내 문제는 .ern/cauldron/master에서 git pull을 해줬더니 해결이 된 이슈다...하하
-
AKS Migration을 해보며Intern 2024. 6. 3. 09:03
Azure VM에서 AKS로 Migration 작업을 하면서 많은 시행착오를 겪었다.쿠버네티스가 리소스 관리를 위한 것임을 몸소 체감하는 계기가 되었고, vm 사양을 따져가며 내 프로젝트에 맞는 게 어떤건지,애플리케이션이 가져야할 신뢰성/확장성/유지보수성이 확보되는지 확인할 수 있었다.또한 네트워크 지식을 직접 사용해보는 계기가 되며, 가상화와 클라우드 컴퓨팅에 대한 이해도가 높아진 것을 체감한다.역시 직접 써봐야 알 수 있다. On-Premise라즈베리 파이 5를 이용해 Ubuntu를 설치하고, 회사에 있던 기존 프로젝트를 서버에서 띄우는 실습을 진행했다.처음 다뤄보는 기술인만큼 꽤 어려웠지만, 쿠버네티스의 개념을 공부를 하며 정리를 하였다. 실제 도입메모리와 cpu 사용량이 이상치를 감안하더라도 매우..
-
시분할 / 클라우드 컴퓨팅Network 2024. 5. 26. 19:14
클라우드 컴퓨팅은 네트워크를 통해 다른 누군가의 컴퓨터를 사용한다는 의미로, 1960년대 시분할 개념을 포장한 버전이라고 생각하면 된다.개요를 간략히 설명하자면, 전 세계로 네트워크가 보급되었고 속도의 극적인 변화가 일어났다.믿을 수 없을만큼 큰 컴퓨팅 파워와 저장소를 사용할 수 있을만큼 하드웨어의 가격이 저렴해졌고, 그 결과 과거와 달리 새로운 알고리즘이나 처리 방식을 사용할 수 있게 되었다. 이 배경을 토대로 클라우드 컴퓨팅은 하드웨어와 소프트웨어의 조합으로 컴퓨팅 자원을 빌려주는 것이라고 생각하면 된다.시분할?여러 명의 프로세스가 사용하는 시스템에서 컴퓨터가 자원을 시간적으로 분할해주어 사용자들의 프로그램을 번갈아가며 처리해줌으로써 각 프로세스에게 독립된 컴퓨터를 사용하는 느낌을 주는 것이다.특징-..
-