개발/개발 환경 4

npm-check-updates와 npm audit으로 Node.js 패키지 취약점 손쉽게 관리하기

Node.js로 프로젝트를 만들다 보면 수십 개, 많게는 수백 개의 패키지를 설치하게 된다. 직접 설치한 것도 있지만 대부분은 의존성으로 따라온 것들이다. 문제는 이 패키지들 중 하나라도 취약점이 생기면, 전체 프로젝트가 위험해질 수 있다는 점이다. 아직 보고되지 않은 잠재적인 취약점까지 개발자 선에서 모두 찾아내고 조치하는 건 사실상 불가능에 가깝다. 그렇기 때문에 적어도 이미 보고된 취약점에 대해서는 빠르게 대응하는 태도가 필요하다. 이런 취약점은 공개된 만큼 악용될 가능성도 높고, 보안 사고로 이어질 위험도 크다. 보고된 취약점에 대응하는 방법은 크게 두 가지다. 하나는 내가 직접 package.json에 선언한 의존성 패키지의 버전을 가능한 최신으로 유지하는 것, 다른 하나는 이런 패키지에 딸려온..

Mac에서 Open JDK 설치

Java와 Kotlin 관련 내용은 나중에 Spring으로 백엔드를 구현할 때 포스팅하려 했는데, Private NPM을 위한 Nexus를 설치하려다가 JDK 설치 이슈를 만나서 이렇게 먼저 포스팅하게 됐다. 보통 Oracle의 JDK를 많이 쓰곤 하는데, 일반 유저 입장에서 JDK로 만들어진 프로그램을 돌리려고 Oracle JDK, JVM을 설치하는 것은 전혀 문제가 없지만 JDK 기반 프로그램을 개발하는 입장에서는 라이선스 이슈가 신경이 쓰일 수밖에 없다. 물론 개인 프로젝트나 회사에서 내부적으로만 쓰는 거면 별 상관이 없다고는 하지만 뭔가 불안하다. 그래서 Open JDK를 많이들 설치하곤 한다. 나도 Open JDK를 설치하려고 이것저것 찾아보았는데 잘 되지 않았다. 일단 Home brew 설치가..

AWS LightSail MySQL 세팅

개인 프로젝트를 위해 간단하고 저렴하게 MySQL 서버를 쓰기 위해 AWS LightSail을 세팅하면서 여러가지 시행착오가 있어서 적어 둠여기서 MySQL은 LightSail 인스턴스에서 수동으로 별도 설치한게 아니라 기존 LightSail 이미지에 설치된 패키지임SSH Key 생성일단 인스턴스를 생성하게 되면 인증서를 바꾸지 못하기 때문에 인스턴스 생성 전 미리 만들어놔야 함https://lightsail.aws.amazon.com/ls/webapp/account/keys 여기 들어가서 만들고 다운로드인스턴스 생성적당한 스펙 및 종류를 골라서 설치네트워크 설정인스턴스 페이지 접속네트워킹 선택3306 포트 오픈나머지 하고 싶은 설정첫 터미널 접속 세팅$ sudo apt-get update$ sudo a..

1