전체보기

    [바미] DB에 float 데이터를 저장하기.

    개발 언어에서는 실수형 데이터를 float 타입으로 선언하곤 합니다. 이 때문에 DB를 구성할 때도 실수형 데이터가 저장될 열을 FLOAT 타입으로 선언하게 되는데요. ALTER TABLE 테이블이름 ADD COLUMN 컬럼이름 FLOAT; 이런식으로 선언 시 데이터를 저장한 다음 평균을 내거나 합계를 낼 때 조금씩 차이가 나는 현상이 발생하고, 소수점이 조금 긴 데이터를 저장 시 소수점 몇자리부터 짤리는 현상을 경험하여 알게 되었습니다. 이유는 바로 FLOAT 타입이 근사 값을 저장하기 때문이였습니다. 이 부분은 FLOAT, REAL, DOUBLE PRECISION 모두 동일하였습니다. msdn에서도 다음과 같이 설명하고 있는데요. 부동 소수점 데이터는 근사 값이므로 해당 데이터 형식 범위에 있는 모든..

    [바미] Header 관련한 삽질기

    GO를 사용하여 서버를 구축하고, 운영중에 있는데 문뜩 외부에서 Postman을 사용하여 무분별한 Post가 이뤄질 때, 우리의 데이터를 파싱할 때 이것을 막는 방법이 없을까? 생각해보게 되었습니다. 물론, 내부에 필수값이 존재하기 때문에 여기서 1차적으로 걸러지지만 이런것도 언젠간 뚫리기 마련이기 때문에 좀 더 단단한 무언가가 있었으면 좋겠다 생각이 들었습니다. 물론 완벽한 보안이라는 것은 존재하지 않지만 최소한의 방어벽을 둘러보고 싶었습니다. 먼저 찾아본 것은 'X-Csrf-Token'였습니다. 거기다 고릴라 안에 있던 패키지였기 때문에 이거다! 싶었죠. https://github.com/gorilla/csrf GitHub - gorilla/csrf: gorilla/csrf provides Cross..

    [바미] 12세대 CPU가 탑재된 신형 ThinkPad 공개되었네요.

    Lenovo는 5일, 플래그십 브랜드 「X1」시리즈를 쇄신했습니다. 이 중 노트의 「ThinkPad X1」시리즈는, 「Nano」, 「Yoga」, 「Carbon」의 3 모델이 최신 제 12세대 Core가 되어, 성능이 향상되었습니다. 탑재되는 CPU 모델도 '엘더레이크-P'를 포함한 제12세대 Core이며, 최고 14코어로 구성되어 있습니다.OS는 Windows 11 Pro를 선택해 다운 그레이드권을 이용한 Windows 10 Pro나, Fedora, Ubuntu, Linux도 서포트합니다. ThinkPad X1 Nano Gen 2 ThinkPad X1 NanoGen2는 1kg 이상의 경량성을 실현한 모바일 노트입니다.2022년 4월 출하로, 가격은 1,659달러입니다. 메모리는 최대 32GB, 스토리지는..

    [바미] AMD Ryzen 7 5800X3D 게임 벤치마크

    Ryzen 7 5800X3D 프로세서의 독립적인 테스트 결과를 최초로 공개한 XanxoGaming으로부터 게임 테스트가 막 종료 되었다는 알림을 받았습니다 . 다음은 미디어가 2일 후에 해제되는 검토 금지 대상이 아니라는 알림입니다. 그들은 소매 시장에서 프로세서를 구입할 수 있었지만 페루(구입한 곳)에서 가격이 얼마인지는 명시하지 않았습니다. 공식적으로 449 USD로 출시되며, 이는 1K 단위의 Core i9-12900K MSRP보다 약 120~140 USD 저렴합니다. 웹사이트는 동일한 메모리 유형(DDR4-3200 CL14)을 사용하는 Alder Lake 시스템에 대해 5800X3D를 배치했습니다. Zen3 또는 Alder Lake 아키텍처로 구동되는지 여부에 관계없이 이는 분명히 하이엔드 시스템..

    [바미] Go의 signal에 대해 알아봅시다.

    BackEnd단에서 프로그램을 Go언어로 짜다 보면 Go 프로그램이 Unix signal을 처리해 주었으면 하는 때가 있죠. 예를 들어, SIGTERM signal을 받았을 때 적절하게 서버를 종료하는 경우나 커맨드라인 도구에서 SIGINT를 받았을 때 프로세스를 멈추는 경우가 그런 경우인데요. 오늘은 채널을 이용하여 signal을 다루는 방법을 살펴보겠습니다. 코드 package main import "fmt" import "os" import "os/signal" import "syscall" func main() { sigs := make(chan os.Signal, 1) done := make(chan bool, 1) signal.Notify(sigs, syscall.SIGINT, syscall...

    [바미] MVC, MVP, MVVM 패턴에 대해 알아봅시다.

    MVC 패턴 MVC 패턴은 크게 Model-View-Controller 3가지로 나눈 소프트웨어 개발 방법론입니다. Model : 일반적으로 DB테이블에 해당한다. 순수한 데이터로서 DB의 역할을 하거나 DB에 데이터를 요청해서 원하는 데이터를 받는 역할을 합니다. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 하고 View나 Controller에 대한 정보는 알수없습니다. View : Controller로 데이터를 받아서 클라이언트 측 기술인 html/css/javascript를 이용해 표현하는 역할을 합니다. 데이터를 따로 보관하지 않고 처리합니다. Controller : 사용자가 접근 한 URL에 따라서 사용자의 요청사항을 파악한 후에 그 요청에 맞는 데이터를 Model에 의뢰하고, Mode..

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

    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로 사용할 수 없다는 사실입니다. 나중에 핀 호환 칩만 교체하면 된다는 추측은 사실이 아니어야 합니다. 물론 많은 제조업체..