본문 바로가기

All View91

[컴퓨터구조] RAID5 디스크 복구, 패리티 계산 방법 ※ E block 의 패리티비트의 계산 오류가 있어 2023.12.06에 내용이 수정되었습니다. 지적해주신 지환킴님 상기님 감사합니다. 위 그림은 리눅스에서 가장 흔하게 볼 수 있는 RAID5(레이드5)로 구성된 이미지입니다. 이 포스트에서는 그렇게 크게 중요한 것은 아닌데, 서론만 조금 설명해보면 레이드 5 구성은 보통 최소 3개 이상의 디스크로 구성된 것을 말합니다. 보통은 디스크 5개로 구성해서, 각 디스크마다 패리티를 한개씩 분산되어 저장합니다. 이 중에서 디스크가 하나가 사망선고를 당해서 데이터가 사라져도, 이 포스팅 주제인 패리티 XOR연산을 통해 데이터를 얼마든지 복구가 가능합니다. 대신 얼마든지 복구가 가능한 것은 조건이 한가지가 따라옵니다. 바로 "디스크가 5개라고 가정했을 때, 최소 3.. 2021. 6. 8.
[Javascript] IE 브라우저 호환성 한번에 적용하기 1. 'Promise'이(가) 정의 되지 않았습니다. 2. IE에서 Object.values() 사용하기 등등... IE에서 사용하지 못하는 메소드가 굉장히 많죠 IE는 마이크로소프트에서 버린 아이템이지만, 아직까지 IE를 사용하고 있는 곳이 있다보니 호환성을 무시할 수가 없긴하죠. (제발 좀 버려.. 해킹당해서 그때가서 부랴부랴 고치지말고) 우선 polyfill 에서 제공하는 버전은 v2로 구버전입니다. 두번째는 최신버전인 v3 이에요. 그럼 사이트에 들어가는데, 그 전에 사진으로 하나씩 설명을 드려볼게요. [1] Polyfill 라이브러리 버전을 어떤걸로 선택할 것인지 선택할 수 있습니다. [2] CDN으로 불러올 라이브러리를 일반버전으로 불러올 것인지? 압축버전으로 불러올 것인지? 선택하면 되구요... 2021. 5. 21.
[Javascript] Babel을 이용한 IE 에서 ES6 문법 사용하기 크로스플랫폼을 지원으로 인한 각 브라우저별 호환성때문에, 프론트앤드 개발자는 항상 웁니다... 이번에 저는 "크롬"과 "엣지"를 기반으로 개발했는데 사용자가 "인터넷 익스플로러 11"이 필요하다고 하여 호환성때문에 Babel을 적용해서 조금이나마 쉽게 호환성을 유지하려고 Babel을 도입했어요. 그런데 이게 왠걸? 생각보다 너무너무 쉬운데요??? IE에서 ES6를 사용하기 위해서는 Babel 이라는 라이브러리를 사용할건데요. 우선 저는 간단하게 CDN 으로 사용해서 라이브러리를 적용해볼건데요 먼저 html의 head 영역에 아래 babel 스크립트를 import 시켜줍니다. 그리고 내부에서 스크립트 코드를 작성할 때에는 다음과 같이 작성하면 되요. 외부 스크립트를 불러올 때는 아래처럼 사용하면 된답니다! 2021. 5. 20.
[논문 조사/코드분석] 스토리지(STORJ) 코드 분석 - Uplink 최초 작성일 : 2021. 05. 01. 마지막 업데이트일 : 2021. 05. 09. Go 언어는 처음입니다. 그런데 튜토리얼 없이 바로 코드 분석을 하는 스파르타식이라니 ... :( Go 언어는 변수 선언시 데이터 타입을 뒤에, 변수명을 앞에 적는가봅니다. 제가 했던 대부분의 언어는 데이터 타입이 앞에 있어서 코드 보는데 자주 햇갈리네요. 1. root.go 1-1. Function init uplink 모듈을 사용하기 위해, storj에 모듈을 등록하는 부분인 듯합니다만, 정확히 컴파일&빌드할 때 바이너리 파일에 등록을 하는 것인지 ? uplink를 실행할 때 네트워크에 등록을 하는 것인지 추가적인 확인 필요 func init() { defaultConfDir := fpath.ApplicationD.. 2021. 5. 9.