[TypeScript] 타입스크립트 시작하기
·
Web/TypeScript
타입스크립트란?  자바스크립트를 더 안전하게 사용할 수 있도록 타입 관련 기능들을 추가한 오픈소스 언어이다.자바스크립트의 확장판이라고 해도 무방하다.  타입스크립트를 왜 써야할까?리액트를 공부하면서 자바스크립트를 많이 사용해보았다. 전공 공부를 하며 Python, C++, JAVA와 같은 언어들을 배워보았는데, 비교적 입문하기 쉬운 편에 속한다고 생각한다.(물론 깊이 들어가면 들어갈수록 모든 언어가 어렵다...🥹)  Node.js는 자바스크립트의 런타임 환경으로, 이를 이용해 자바스크립트 코드를 읽어서 실행할 수 있다.웹브라우저 뿐만 아니라 어디서든 자바스크립트를 통해 구동이 가능해졌다.지금도 웹서버나 앱, 데스크탑 앱 등을 만드는데 활용되고 있다. 그런데 복잡한 상황이나 대규모 프로그램에서 발생하는 ..
[Storybook] 컴포넌트의 UI를 관리하는 스토리북 사용해보기
·
Web/Storybook
스토리북이란?최근 스토리북(Storybook)에 대해 알게되었다.스토리북이란 FE 개발에서 필수적인 컴포넌트를 문서화하고 시각화할 수 있는 도구이다.props와 onClick 등 다양한 매개변수에 대한 테스트도 가능하며, 페이지 자체도 구동할 수 있다.또 문서화된 스토리북 자체를 배포해서 협업에 유용하게 사용할 수 있다! 물론 정석적으로는 스토리북과 함께 개발하는 것이 베스트겠지만공부를 위해 현재 진행하고 있는 프로젝트에 스토리북을 임시로 설치해봤다.이번 연습을 통해 스토리북을 익혀서 다음 프로젝트에 적용할 수 있었으면 좋겠다.  설치 방법npx storybook@latest init 실행방법npm run storybook 실행 후 localhost 6006번에 접속하면 된다.다음과 같은 화면이 뜬다면 ..
[vscode] settings.json을 수정해서 나만의 포맷팅 스타일을 만들어보자!
·
Web
🤔문제 상황 최근 인터넷 프로그래밍 과목을 수강하면서 간단한 SpringBoot + Vue.js + MySQL을 활용하는 프로젝트 과제를 수행했다. 그 전까지는 간단한 과제여서 덜 불편했으나, 이것저것 다양한 확장자를 다루다보니폴더에 포매터를 하나만 설정하기에는 매우 부족하다는 생각이 들었다. 스프링부트 파일을 다룰 때에는 java 포매터를,Vue나 JavaScript에는 Prettier를 사용하고 싶었다.그래서 찾아보니 역시나 이를 한꺼번에 설정할 수 있는 방법이 있었다😊    😁해결 방법 바로바로 이를 해결하는 방법은?나처럼 vscode를 사용하고 있는 사람이라면 settings.json 파일을 수정하면 된다.먼저 설정하기 전 설치하고자 하는 포매터 확장을 미리 설치해야 한다.나는 Prettie..
[npm] 보안 취약점 문제 해결
·
Web
비주얼 스튜디오 코드에서 npm 설치가 되지않는 문제가 발생했다.찾아보니 보안 종속성 관련 문제로 파악됐다. 이런 경우 npm audit 명령어를 실행하면, 해당 프로젝트에서 사용하는 모든 의존성 패키지들을 검사하여 보안 취약점이 있는 패키지들의 목록을 출력한다. 보안 취약점을 해결할 수 있는 패치 버전으로 의존성 패키지를 업데이트할 수 있다.    터미널 내용에 따르면 의존성 설치 후에 npm이 일부 보안 취약점을 발견했다고 한다. nth-check (High Severity): nth-check 패키지의 버전이 2.0.1보다 낮은 경우에는 불필요한 정규 표현식 복잡성이 발생할 수 있습니다. postcss (Moderate Severity): postcss 패키지의 버전이 8.4.31보다 낮은 경우에는..
자바스크립트 기초
·
Web/JavaScript
자바스크립트란? 웹의 동작을 구현하는 객체 기반 언어 온클립 속성의 값으로 옴. 객체 객체: 이름(name)과 값(value)으로 구성된 프로퍼티의 정렬되지 않은 집합 객체의 프로퍼티 참조 객체이름.프로퍼티이름 또는 객체이름["프로퍼티이름"] 객체의 메소드 참조 객체이름.메소드이름() innerHTML 프로퍼티 선택 1. HTML 태그 이름 - getElementsByTagName() 2. 아이디(id)를 이용한 선택 - getElementById() 3. 클래스(class) - getElementsByClassName() 메 4. name 속성(attribute) - getElementByName() 5. CSS 선택자(아이디, 클래스, 속성, 속성값 등) - querySelectorAll() 6. H..