본문 바로가기

전체 글62

IBM Thinkpad X61 IBM 에서 손떼고 Lenovo 로 처음 나온 씽크패드 X61 당근마켓에서 구입했다. T8300 CPU가 장착되어있어 X61인데 IBM 스티커를 살리고자 전 주인분이 케이스갈이를 한 듯 싶다. 제품이 2007년에 나왔으니 약 15년 쯤 된 노트북이라 상태가 좋을 수 없었다. 택배배송으로 받아서 그런가 처음에 몇 시간동안 부팅화면조차 뜨지않고 다음 단계로 넘어가는데 한세월이 걸려 수십번 껐다 켰다 하니 결국 부팅이 되었다. ... 계정에 비밀번호가 잠겨있어 바이오스 업데이트 작업을 할 수 없어서 귀찮게도 Windows10 32bit 를 재설치 했다. 부팅USB를 만들기에 필요한 최소 용량이 8GB였으나 가지고있던 USB의 용량은 4GB라서 Windows10 부팅 USB 만들기도 어려웠다. 저용량의 구버전 .. 2022. 7. 15.
Queue 구현하기 자료구조중에서 가장 흔히 접할 수 있는 큐이다. 메시지 큐(RabbitMQ) 등을 사용하면 순차적으로 들어온 메시지를 임시적으로 저장하기 위해 Queue를 사용한다. 여기서 큐를 1. Integer Array를 사용한 구현 2. Integer Ring Buffer 을 사용한 구현 3. Object Linked List 를 사용한 구현 을 통하여 만들어 볼 것이다. 큐의 구성을 생각해보자면 FIFO 구조로 특정 자료구조에 데이터를 쌓아놓고 가장 먼저 들어온 데이터와 마지막에 들어온 데이터만 신경써서 구현하면 된다. 필요한 함수들을 나열해보면 다음과 같다. enque : 큐에 데이터를 가장 마지막에 넣는다. deque : 큐의 첫번째 데이터를 뺀다. peek : 큐의 첫번째 데이터의 값을 확인한다. inde.. 2022. 5. 18.
Corsair K70 tkl 이번이 기계식 키보드 입문이다. 거기다가 왠만해서는 적축을 사용해본 다음에 은축을 사용하라는 말도 있으나 그냥 구매했다. 커세어 공식홈페이지의 리퍼비시 상품인 Corsair K70 tkl 이다. 리퍼상품 특성 상 스크래치나 하자 등이 있다고 가정해 배대지에서 검수요청을 했으나 별다른 하자는 발견하지 못했다. 다음 기회에 커세어 리퍼 상품을 구매한다면 검수없이 바로 보내는것도 괜찮은 방법이라 생각한다 기계식 키보드를 잘 모르지만 그래도 이 키보드의 두드러지는 특징은 몇가지 캐치할 수 있었다. - 상판 알루미늄 상판으로 헤어라인 처리가 되어 민무늬의 알루미늄 상판보다 더 고급스러워 보인다. 하지만 기스가 생기면 눈에 잘 띄는 무늬로 조심해서 사용해야겠다. 또한 알루미늄의 끝단은 모두 모서리가 돌출 된 상태로.. 2022. 5. 17.
Error (amqplib) : Channel closed by server: 406 (PRECONDITION-FAILED) |Consul| Unregister service! Error: Channel closed by server: 406 (PRECONDITION-FAILED) with message "PRECONDITION_FAILED - delivery acknowledgement on channel 1 timed out. Timeout value used: 1800000 ms. This timeout value can be configured, see consumers doc guide to learn more" at Channel.C.accept (C:\Users\Smart\Project\MSAexpress\node_modules\amqplib\lib\channel.js:422:17) at Connection.mai.. 2022. 4. 12.
Command Pattern - 행위 디자인 패턴 명령 (Command) 가장 일반적 정의 : 실행에 필요한 모든 정보들을 캡슐화 하고 이렇게 만든 모든 객체를 명령이라 할 수 있음 함수나 기능을 직접적으로 호출하는 대신 이러한 호출을 수행하려는 의도롤 나라태는 객체를 만듦 "그 의도를 구체화 하여 실제 작업으로 변환하는것을 다른 컴포넌트가 담당" -명령 : 함수, 함수를 호출하는데 필요한 정보를 캡슐화 하는 객체 -클라이언트 : 명령을 생성하고 호출자에게 제공하는 컴포넌트 -호출자 : 대상에서 명령의 실행을 담당하는 컴포넌트 -대상 : 호출의 주체, 단일한 함수이거나 객체의 멤버 함수일 수도 있음 네 컴포넌트는 패턴을 구현하는 방식에 따라 크게 달라짐 작업을 직접 실행하는 대신 명령 패턴을 사용하는 여러 어플이 있음 -명령은 나중에 실행 예약 가능 -.. 2022. 2. 14.
Middleware Pattern - 행위 디자인 패턴 미들웨어 (Middleware) Node.js 의 가장 독특한 패턴 일반적 미들웨어 : 하위 수준 메커니즘 추상화에 도움되는 소프트웨어 제품군 여기서는 "하위 계층의 서비스들과 응용 프로그램 사이에서 접착제 역할을 한다"라고 보면되겠음 1. Express의 미들웨어 Express 미들웨어는 파이프라인으로 구서오디어 들어오는 HTTP 요청과 요청에 대한 응답을 처리하는 서비스 집합임 Express 는 자유롭고 작은 웹 프레임워크, 개발자가 핵심에 손 대지 않고도 쉽게 기능을 쉽게 만들고 배포 가능 Express 미들웨어 특징 function (req, res, next) { ... } req, res는 이미 알고있고, next : 다음 미들웨어를 트리거 할 때 호출되는 콜백 어플에 대한 지원을 통해 요청을.. 2022. 2. 14.