Node.js를 이용한 타입스크립트(Typescript) 프로젝트 생성과 기초 이론 알아보기

타입스크립트는 동적 자료형인 일반 자바스크립트를 자바(Java)같은 객체지향 언어에서 사용하는 정적 자료형을 사용할 수 있도록 도와주는 프로그래밍 언어입니다. 장점으로는 마이크로소프트가 관리하고 있기 때문에 점유율이 높고 안정적입니다. 협업에 있어 형변환 충돌로 인한 문제가 없어진다는 점도 있다고 합니다. 일반 웹 브라우저나 Node.js에서는 원래 지원을 하지 않으며, tsc 라는 타입스크립트용 컴파일러를 설치해야 합니다.   더보기…

인텔리제이 아이디어 (IntelliJ IDEA) 접힌 패키지 분리해서 표시하는 방법

위의 예처럼 인텔리제이를 사용할 때 패키지 안에 다른 내용이 없다면 합쳐서 보여주는 기능이 있습니다. 이것을 펼쳐서 표시하려면 다음과 같이 합니다.   1) 프로젝트 바 상단 오른쪽에 있는 옵션 버튼 (Show Options Menu) 을 클릭합니다.   2) Compact Middle Packages 란 체크를 해제하거나 선택합니다. 체크를 선택하면 첫 예시처럼 접혀서 나오고, 체크 더보기…

macOS: 설치된 그래픽카드 확인방법

  새로운 맥북을 샀기 때문에 사양이 제대로 되었는지 확인을 하였는데 그 과정에서 깜짝 놀랄 일이 있었습니다. 주문시에는 Radeon 4GB라고 되어있었는데 정확히는 라데온 그래픽카드만 있는것이 아니라 인텔 1GB 내장 그래픽카드도 있으며 시스템 자원 사용 정도에 따라 두 카드가 번갈아가며 활성화됩니다. 맥북 사양 개요 화면에서 인텔 1GB라고 해서 잘못 도착한것이 아닌가 하여 더보기…

리액트(React): react-router-dom을 이용한 라우팅 기능 사용하기 기초

1) 터미널에서 프로젝트 폴더로 이동한 뒤 npm에서 react-router-dom을 설치합니다. npm i react-router-dom –save   2) App.jsx 에서 <BrowserRouter> 태그쌍을 작성한 뒤 안에 라우팅 관련 정보를 작성합니다. <Route> 태그는 주소를 입력받으면 특정 컴포넌트로 이동합니다. exact는 정확히 이 path만 받아들인다는 의미이며 다른 주소는 적용되지 않습니다. 만약 exact를 사용하지 않는다면 /anyurl 등 모든 더보기…

자바스크립트 코딩테스트 예제: 유지비 청구 날짜 구하기

문제 유지비는 매달 k일에 청구됩니다. 그 날이 주말(토요일 & 일요일)이라면, 유지비는 제일 가까운 주말에 청구됩니다. 1월(매 연도의 첫 달)의 첫째 주 첫 날의 요일이 day로 주어지며, k는 매달 유지비를 지불해야 하는 날짜일 때 이러한 파라미터를 받아 1월부터 12월까지 k가 주말이면 0, 아니라면 1을 반환하는 배열을 반환하는 solution 함수를 작성하세요.   제약 더보기…

자바스크립트, HTML: 이벤트 버블링, 캡처링, 위임(delegation) – 동적 요소에 이벤트 할당

이벤트 버블링 하위 요소의 이벤트가 상위까지 전달되는 현상입니다. 예를 들어 위의 그림에서 <a> 태그를 클릭했는데 <a> 태그에 걸려있는 이벤트가 실행되는 것에 더해 상위 요소 <li>, <ul> 에 걸려있는 이벤트까지 같이 실행되는 현상을 말합니다. 자바스크립트에서 이것을 방지하려면 event.stopPropagation()를 사용합니다. 아래는 이벤트 버블링이 적용되는 코드입니다. <a> 만 클릭해도 모든 이벤트가 발동됩니다. const 더보기…

Vue.js: this.$emit으로 하위 컴포넌트에서 상위 컴포넌트로 정보 전달

먼저 상위(부모) 컴포넌트의 이름은 Topic, 하위(자식) 컴포넌트의 이름은 TopicSearch라고 가정합니다.   먼저, 상위 클래스에서 컴포넌트를 삽입할 때 v-on:xxx(약어 @xxx)를 사용해 커스텀 이벤트를 만듭니다. Topic.vue (일부) <template> <div class=”topic”> <TopicSearch v-on:search=”doSearch” v-on:allOrder=”doAllOrder”/> </div> </template> 여기서 search. allOrder 는 나중에 this.$emit에서 사용할 이벤트 이름이며. doSearch, doAllOrder는 상위 컴포넌트에 있는 메소드 이름입니다. 왼쪽이 더보기…

자바스크립트 npm: package.json의 정보 가져와 웹 페이지에 보여주기

자바스크립트 npm으로 만든 프로젝트에서 package.json의 정보 가져와 웹 페이지에 보여주는 방법입니다. package.json을 import문을 사용하여 불러오면 객체로 사용할 수 있습니다. 다른 json 파일도 마찬가지입니다. import React from ‘react’; import Container from ‘@material-ui/core/Container’; import packageJson from ‘./../../package.json’ const Home = () => { const dependencies = packageJson.dependencies const depElements = [] for(let 더보기…

리액트(React): npm(npx)에서 새로운 앱 생성, 컴포넌트 파일 생성

리액트(React) 새로운 앱 생성하는 방법입니다.   리액트 앱 생성 npx create-react-app [앱_이름] 터미널을 열어 생성하고자 하는 폴더의 상위 폴더에 이동한 후 위의 명령어를 터미널에 입력하면 생성이 됩니다. (Node 8.10 혹은 상위 버전 및 npm 5.6 혹은 상위 버전인 경우) 또는 다음 명령어를 입력해 생성할 수 있습니다. npm install -g create-react-app 더보기…

PHP: JSON 스트링을 객체 또는 배열로 변환, explode, str_replace, 대소문자 변경방법

1) JSON을 배열로 변환 객체(stdClass)로 변환하는 방법 $array_data = json_decode($str, false); // 또는 $array_data = json_decode($str); 배열로 변환하는 방법 $array_data = json_decode($str, true);   2) explode 다른 언어의 String.split과 기능이 비슷합니다. 스트링의 경계기호(delimiter) 문자를 기준으로 배열을 생성합니다. $date = “2020-08-25”; // explode(delimiter, string) $exploded = explode(‘-‘, $date); echo $exploded[0]; // 더보기…