전체 글

전체 글

    [바미] 서로가 서로를 필요로 할 때

    class ExamClass { constructor() { ... this.init(); } init() { this.A = new constructorA(this.B); this.B = new constructorB(this.A); this.C = new constructorC(this.A, this.B); } } 위처럼 A는 A를 생성하기 위해 B가 필요하고, B는 B를 생성하기 위해 A가 필요하는 상황이였습니다. 그 때는 ExamClass를 사용하여 해결하였습니다. class ExamClass { constructor() { ... this.init(); } init() { this.A = new constructorA(this); this.B = new constructorB(this.A); t..

    [바미] DDR5, 세상을 또 한 번 업그레이드하다

    DDR5 시대가 눈앞으로 다가왔다. 5G, 인공지능에 이어 증강현실과 메타버스까지 고속 대용량 데이터 처리가 관건인 서버 환경에서 고성능 컴퓨팅은 필수 요소가 됐다. 여기에 글로벌 빅테크 기업들의 데이터 센터 서버 확대 추세까지 더해져, DDR5는 미래형 첨단 산업의 키를 쥔‘게임 체인저’로 급부상하고 있다. 전 세계 D램 시장을 바꿔 놓은 삼성전자는 일찍이 DDR5 개발로 IT 산업 베이스의 세대교체를 주도하고 있다. DDR5 D램은 2013년도에 출시한 DDR4를 잇는 D램 반도체 규격으로, DDR4보다 약 2배 빠른 4800Mbps 이상의 데이터 처리 속도와 약 4배 커진 최대 512GB[1]의 용량을 자랑한다. 이러한 차세대 고성능 메모리는 클라우드와 인공지능, 빅데이터, 자율주행 등으로 급증하는..

    [바미] NVIDIA GeForce RTX 4090의 600와트가 실제로 어디에서 왔는지 - GPU 및 구성 요소의 추정치

    번역기 돌린 거라 오역이 많이 있을 수 있으며, 자세한 내용은 원문을 참고 바랍니다. 이번에도 GPU의 전력 소비에 대한 결론을 도출할 수 있도록 개별 구성 요소의 전력 소비를 외삽하려고 합니다. Turing과 함께 저는 와트에서 거의 정확히 맞았고 이번에는 회로 기판이 실제로 그렇게 될 것인지는 미스터리가 아닙니다. GeForce RTX 3090 Ti 및 회로 설계를 기반으로 흥미로운 세부 사항을 도출할 수 있지만, 이에 대한 자세한 내용은 잠시 후에 설명합니다. 하지만, 보드 파트너들도 확인한 바에 따르면 Geforce RTX 3090 Ti의 보드는 차세대 보드와 비슷하지만 1:1로 사용할 수 없다는 사실입니다. 나중에 핀 호환 칩만 교체하면 된다는 추측은 사실이 아니어야 합니다. 물론 많은 제조업체..

    [바미] 이벤트 버블링 (Feat. 너는 움직이면 안돼지..)

    얼마전 JS로 업무를 보던 중에 생겼던 일입니다. 그 문제들을 해결하기 위해 공부하며 알아왔던 것들을 공유하고자 올리게 되었습니다. 어떤 창 안에서 무언가를 삭제 하려 할 때 확인 팝업창이 뜨게 되는데 그 확인 창을 닫게 될 때 그 창도 같이 닫히게 되는 버블링 현상을 마주하였습니다. 좀 더 쉽게 설명하자면 예시로 다나와 견적함을 들자면 여기에서 SSD항목을 삭제하려 할 때 삭제하겠냐는 확인 창이 뜰 것이고, 확인, 취소를 누르면 견적함 창까지도 꺼졌던 것이지요. 이 문제를 해결하기 위해 이벤트 버블링에 대해 알아야했고, 그 전에 이벤트 등록에 대해 알고 있어야 했었습니다. 이벤트 등록이란 웹 애플리케이션에서 사용자의 입력을 받기 위해 필요한 기능입니다. 아래와 같은 코드를 말하는데 print Event..

    [바미] 메모리 릭(memory leak)현상을 마주하다.

    메모리 릭(memory leak) 현상은 현상은 컴퓨터 프로그램이 필요하지 않은 메모리를 계속 점유하고 있는 현상을 말합니다. 할당된 메모리를 사용한 다음 반환하지 않는 것이 누적되면 메모리가 낭비되고, 더 이상 불필요한 메모리가 해제되지 않으면서 메모리 할당을 잘못 관리할 때 발생하죠. 이 일이 어처구니 없는 실수로 제게도 발생해버렸습니다. 실시간으로 조회하는 함수() { functionA(); ... } 원인은 지속적으로 무언가를 조회하는 함수 안에 있는 functionA() 안에서 의미없는 오브젝트를 생성했기 때문이였는데요. fucntionA() { let objectA = new class(); } 이번 일을 계기로 콘솔창에 있는 좋은 기능을 하나 알게 되었는데요. Perfomance monito..

    [바미] 개발자용 노트북 추천해봅니다. (Ver 2022)

    노트북 구매에 관련한 꿀팁을 얻고 싶으시다면 아래 링크를 참고하세요! [바미] 노트북 구매 시 꿀팁. 안녕하세요. 제 블로그 유입 중에 노트북 관련된 글의 유입이 많아 노트북을 구매하실 때 좋은 팁을 공유하고자 합니다. 해당 글은 개발용 노트북이 아닌 노트북 고를 때 유의할 점임을 먼저 알 codesk.tistory.com 2023년도 버전이 업데이트 되었습니다. [바미] 개발자용 노트북 추천해봅니다. (Ver 2023) 노트북 구매에 관련한 꿀팁을 얻고 싶으시다면 아래 링크를 참고하세요! [바미] 노트북 구매 시 꿀팁.안녕하세요. 제 블로그 유입 중에 노트북 관련된 글의 유입이 많아 노트북을 구매하실 때 좋 codesk.tistory.com 안녕하세요. 개발자용 노트북 추천글에 뜨거운 반응을 힘입어 이..

    [바미] Array 중복된 id값 제거하기.

    Array 내에 id 값이 중복된 것을 제거하는 작업은 정말 많이 쓰이죠. 여러 방법으로 제거 하는 방법을 알려드리겠습니다. let example = [{ id: "무지", value: "1" },{ id: "보르도", value: "2" }, { id: "무지", value: "1" }, { id: "콘", value: "3" }]; 위와 같은 배열이 있을 때 id값이 중복된 것을 제거 해보도록 하겠습니다. lodash _.uniqBy(example, "id"); lodash를 사용하면 위와 같이 한 줄로 가능합니다. 참고로 lodash 라이브러리는 자바스크립트로 개발시 가장 많이 사용되는 라이브러리 중에 하나입니다. array 를 다룰때 번거로움을 없애고 쉽게 사용할 수 있도록 해줄뿐만 아니라 obj..

    [바미] 스펙터V2 취약점이슈, AMD CPU 최대 54%의 성능저하가 발생할 수 있다 하네요.

    Intel 및 Arm 프로세서는 지난 주 Spectre V2 취약점 , Branch History Injection 또는 BHI의 공격을 받았습니다. Spectre 취약점은 몇 년 전에 시작되었지만 이 새로운 완화 라인은 두 칩 제조업체에 상당한 영향을 미쳤습니다. AMD는 칩에 대해 훨씬 다른 디자인을 가지고 있으므로 이번 주에 피해를 피할 수 있습니다. 그러나 Intel의 3명의 보안 연구원이 최근에 코드 노출이 있는 AMD 칩셋에 대한 개요 백서를 작성했습니다. 검토 결과, AMD는 이제 제품을 안전하게 유지하기 위한 새로운 효율성을 반영 하는 새로운 보안 게시판을 발행했습니다. AMD는 BHI 취약성을 막기 위한 불충분한 절차를 수정하기 위해 "일반적인" Retpoline 접근 방식을 사용하고 있..

    [바미] RxJS - BehaviorSubject

    안녕하세요. 오늘은 BehaviorSubject에 대해 알아보고자 합니다. 먼저 BehaviorSubject는 모든 새 구독에 저장하고 내보내는 현재 값의 개념이 있는 주제의 변형입니다 . 이 현재 값은 소스 Observable에 의해 가장 최근에 방출된 항목이거나 아직 방출되지 않은 경우 시드/기본값입니다. 항상 현재 값이 BehaviorSubject있어야 하므로 초기화 시 초기 값이 필요합니다. 구독 시 마지막으로 내보낸 값을 원하지만 시드 값을 제공하지 않으려면 대신 ReplaySubject 를 확인하세요. BehaviorSubject이 동작은 구독자가 값이 저장된 것보다 훨씬 늦게 구독하더라도 항상 마지막으로 내보낸 값을 직접 가져올 수 있음을 의미합니다 . 관찰자가 a BehaviorSubjec..