본문 바로가기
  • ANALOG CODE
  • AnalogCode
반응형

개발34

Javascript ES6 (ECMAScript 2015) 에서 추가된 기능 정확히 알자 ES6은 자바스크립트의 6번째 표준안이다. 아마도 자바스크립트를 가장 모던하게 보이도록 만드는 버전이 아닐까 생각한다. 그동안 무심코 사용했거나 아니면 몰라서 못쓴 문법이 있을 수 있을 것이다. 여기에서 새로운 기능들을 정리하고 간단히 설명해본다. let 블록 scope 변수 선언을 할 수 있다. { var a = 10 let b = 20 } console.log(a) // 10 출력 console.log(b) // 에러발생 ReferenceError: b is not defined var 로 선언한 변수는 블록내부에 선언되더라도 전역적으로 접근 가능하다. 하지만 let 으로 선언하면 블록내부에서만 유효하다. const let 과 같지만 값을 변경할 수 없는 상수로 만든다. const a = 20 a =.. 2023. 3. 20.
리눅스 ulimit open files 테스트 리눅스에서 하나의 프로세스에서 열 수 있는 파일 갯수에 제한이 있다. 네트워크 서버를 만들거나 파일을 동시에 많이 열어야 하는 프로그램을 만든다면 max open file 을 확인하고 변경할 수 있는 법을 알아야 한다. ulimit man page의 설명을 요약하면 아래와 같다. 시스템상에 있는 shell 과 shell이 생성한 프로세스들이 사용 가능한 자원을 통제한다. 이 말은 즉 shell은 유저에 의해 생성이 되므로 유저 프로세스들이 사용할 수 있는 자원을 컨트롤 한다는 말이다. 쉽게 말하면 우리가 어떤 프로세스를 실행시키면 이 프로세스가 사용할 수 있는 리소스를 통제한다는 것이다. 한번 쉘에 로그인해서 실행해보자 [user ~]$ ulimit -a real-time non-blocking time.. 2023. 3. 18.
InfluxDB "too many open files" 에러 InfluxDB를 사용중에 어느날 데이터를 쓰는 중에 too many open files 에러가 발생하고 있는걸 발견하였다. 여기서 ulimit를 이용하여 서버 설정을 확인 / 변경하고 이것을 영구적으로 설정할 수 있는 방법을 설명한다. InfluxDB 버전 Influx OSS 2.4 - 사용하는 InfluxDB 의 읽기 / 쓰기 요청 건수이다. Write 12,000 건 / 분 Query 900 건 / 분 NodeJS로 만든 프로세스에서 InfluxDB로 데이터를 넣는 중에 꽤 자주 아래와 같은 에러가 발생하였다. unexpected error writing points to database: opening shard previously failed with: [shard 3254] open /mnt/.. 2023. 3. 17.
Nuxt + Express 백엔드 API 서버 통합 Nuxt 프로젝트와 Express Backend API 서버 통합 Nuxt를 이용하여 프로젝트를 개발하다보면 한번씩 고민을 하게 될 것이다. 프론트엔드 서버 🤝 API 서버 이 2개를 각각의 프로젝트로 만들건지 하나로 통합할 것인지.. 큰프로젝트라면 2개를 나누어서 별도의 서버로 운영할 것이다. 하지만 작은 프로젝트라면 그냥 하나로 통합해서 개발하고 하나의 서버로 배포하고 싶을 것이다. Nuxt + Express API 통합 어떻게 통합을 할 수 있을까? Nuxt 프로젝트에 Express 서버가 들어가면 된다. 방법은 아주 간단하다. 바로 serverMiddleware !! 👉 serverMiddleware Nuxt에는 serverMiddleware 라는 것이 존재한다. 문자 그대로 server side.. 2023. 3. 16.
반응형