본문 바로가기

전체 글

[Js] 값, 리터럴, 표현식, 문, 토큰이란 리터럴 문자 또는 약속된 기호로 값을 생성하는 표기법 *런타임시 리터럴을 평가해 값을 생성(메모리에 타입별로 값 넣음) ex: ‘1’, true, null 표현식 값으로 평가될수 있는 (statement) 문 *리터럴도 런타임으로 평가받으니, 표현식으로 볼수 있다 *식별자 참조시에도 값을 평가하니 표현식이다(여기서 평가는 가져온다는 개념) *크롬 개발자 도구에 표현식은 값을 출력한다 값 (표현)식이 평가되어 생성된 결과 ex: 1+1, function(parameter) 값 = 표현식의 결과 값과 표현식의 결과는 동치(equivalent)이다 -동치이므로 표현식이 값 자리에 위치할수 있다. ex: 1+a 문(statement) 프로그램을 구성하는 기본 단위이자 최소 실행 단위 *문의 집합이 프로그램이고,.. 더보기
[NestJS] 사용할 메소드가 Promise인지? 객체 지향의 클래스, 함수형의 순수함수. 모두 사용할 함수/객체의 특징을 자세히 알기보단, 어림잡아 개발하는 뉘양스를 품고 있는거 같다. // ioc 없다 가정 class TestClass{ constructor(){ this.service = new TestClass2() } method1(){ this.service.method2() } } class TestClass2{ async method2(){ console.log(“hi") } } 위 예시에서 method1 작성시, TestClass2.method2의 특성을 다 알아야할까? 뭐 알면 좋지만, 대규모 프로젝트를 진행한다 가정했을때 사용할 메소드(함수)를 자세히 알고 개발하기 어렵다. 어렵다보단, 상위 단위로 사고한다는 관점으로 부적합하다. 그.. 더보기
사용 도구를 바꾼 자만이 생존했다 성취, 편의, 이득등 복합적 이유로 과학은 발전해왔다. 과학의 발전은 새로운 도구를 만들었고, 유익함에 다수가 쓰기 시작했다. 그러다 기술이 발전하면 이전 도구는 잊혀진다. 불을 사용한 인류가 생존했듯이. 철기가 청동기를 압도했듯이. 카메라가 미술계에 영향줬듯이. 도구의 변화를 근본의 변화로 이해하면 안된다. 변하지 않는게 근본이라면, 그동안 정의가 잘못된거니깐. 오히려 근본에 집중해, 디테일한 정의를 재확립할 기회다. AI는 새로운 도구다. 더보기
[NestJs] Exception Error 처리 NestJs에서는 exception 에러 class를 제공한다. https://nestjs-doc.exceptionfound.com/globals.html @nestjs/common Const longPayload longPayload: object[] = [{_id: '584f17147fce7ca0a8bacfd2',index: 0,guid: '1d127572-0369-45fb-aa2f-e3bb083ac2b2',isActive: true,balance: '$2,926.06',picture: 'http://placehold.it/32x32',age: 26,eyeColor: 'green',name:'Wçêtson Aguilar [s nestjs-doc.exceptionfound.com // controlle.. 더보기
[NestJs] microservice RabbitMQ 적용 - (적용) 이전 글에서 NestJs에서 microservice-RabbitMQ 개념을 설명했습니다. RabbitMQ은 docker을 통해 띄웠는데, 다른글 참조해주세요. 0. RMQ_URL과 RMQ_QUE // ex: amqp://guest:guest@localhost:5672 // RMQ 최초 아이디/비밀번호는 guest/guest RMQ_URL = amqp://{rmq id}:{rmq pw}@{host}:{port} // ex: hellow RMQ_QUE = que name 1. main.ts에서 microservice start async function bootstrap() { const app = await NestFactory.create(AppModule); const configService = ap.. 더보기
[NestJs] microservice RabbitMQ 적용 - (개념) NestJs에서 RabbitMQ를 적용한 레퍼런스가 많지 않습니다. 이전에 MSA(MicroService Architecture)를 구축했었기에, 금방할거라 생각했지만 꽤 걸렸네요. 두 글에 걸쳐서 적용하는 과정을 공유하려 합니다 NestJs는 microservice 기능을 제공한다. http단계를 넘어 transport단계까지 아우를수 있다고 한다. *transport 수단으로 RabbitMQ를 사용한다 이해하면 좋다 https://docs.nestjs.com/microservices/basics Documentation | NestJS - A progressive Node.js framework Nest is a framework for building efficient, scalable Node.j.. 더보기
[NestJs]Instead change the require of index.js in /Users/user/Desktop/url-shorter/dist/url/url.service.js to a dynamic import() which is available in all CommonJS modules. url 친화적인 난수 생성을 위해 nanoid 모듈을 사용합니다. https://www.npmjs.com/package/nanoid nanoid A tiny (116 bytes), secure URL-friendly unique string ID generator. Latest version: 4.0.2, last published: 4 months ago. Start using nanoid in your project by running `npm i nanoid`. There are 6922 other projects in the npm registry using nanoid. www.npmjs.com 그런데 아래 에러가 발생하는데요... Instead change the require of index.. 더보기
[자료구조] hash, hash table, mapping table, bloom filter, bit map 해시 해시함수(단방향 암호화)를 통해 도출된 고정된 길이의 비트 해시 테이블(=해시맵) 해시 함수를 통해 생성된 value와 원래값을 key로한 구조 가짐. 매핑 테이블 RDBS에서 N:N관계를 1:N, N:1로 징검다리 역할하는 것 블륨필터 특정 원소가 집합에 포합되어 있는지 검색 가능한 자료구조. 값이 없는데 있다고 말하는 긍정 오류는 발생하지만, 값이 있지만 없다고 말하는 긍정 오류는 발생안함. 데이터 추가는 가능하지만 삭제 불가 비트맵 디지털 이미지 저장하는 방식. 메모리 저장 방식중 한개 더보기