728x90
반응형
- [ CS/Linux ][Linux] 서버 이전을 위한 리눅스 명령어2024-03-08 16:59:391. ubuntu root 활성화1-1. 현재 접속 계정 확인계정명만 출력 : whoami계정명 + 추가 정보 출력 : who am i 1-2. root 비밀번호 생성sudo passwd root (명령 실행 후 사용할 비밀번호 입력하면 됨) 1-3. root 계정으로 전환su - root✔ super user 참조더보기1. 프롬프트 root@(생략):~#와 같이 오른쪽에 #이 붙어있으면 super user를 의미한다. 반면 $이면 일반 유저이다. 2. super user인 root 계정은 lock이 걸려있다. 3. sudo passwd -u root 명령으로 unlock할 수 있다. 4. sudo passwd -l root 명령으로 lock할 수 있다. 1-4. /etc/ssh/sshd_config ..
- [ 언어·프레임워크/TypeScript ][TypeScript] React.js에서 타입스크립트 사용(udemy 강의 "Typescript :기초부터 실전형 프로젝트까지 with React + NodeJS" 섹션 14)2024-03-06 11:09:33섹션 14: React.js 및 TypeScript 📌 React.js + TypeScript 프로젝트 생성 .은 현재 경로에 프로젝트를 생성하는 것을 말한다. npx create-react-app . --template typescript 😉 공식 문서 : https://create-react-app.dev/docs/adding-typescript/ 📌 React.FC // src/app.tsx import React from "react"; // React.FC는 리액트 함수 컴포넌트 사용함을 의미 const App: React.FC = () => { return ; } export default App; 📌 React.FC와 React.FC에 화살 괄호 를 사용해 props의 타입을 지정할 수 있다..
- [ 언어·프레임워크/React.js ][React.js] 네이버 지도 API 마커 줌인아웃 레벨 값 이용하기2024-03-04 17:01:111. zoom level 값 변경 시 리렌더링 어떻게? zoom level에 따라 오버레이와 마커 등을 각각 다르게 렌더링 하고자 하였다. 이에 따라 현재의 zoom level 값을 useState 훅으로 관리할 필요가 있었다. 아래 코드와 같이 getZoom() 메서드를 이용해 보았지만 아쉬움이 많았다. 왜냐하면 zoom level이 변경될 때 즉시 리렌더링이 일어나지 않았기 때문이다(아래 코드에는 작성하지 않았지만 naverMap.current?.getZoom()의 반환 값을 useState에 넣어보기도 하였으나 결과는 동일했다). 그렇다면 어떻게 해야 zoom level 값이 변경될 때 즉시 리렌더링 할 수 있을까? // (생략) const naverMap = useRef(); useEffect((..
- [ 언어·프레임워크/TypeScript ][TypeScript] 유데미 강의 "Typescript :기초부터 실전형 프로젝트까지 with React + NodeJS" 정리(섹션 2: 기본 & 기본 타입)2024-03-01 23:09:38섹션 2: 기본 & 기본 타입 📌 튜플(tuple) 독특한 배열 각 요소 별로 타입을 지정할 수 있으며, 고정된 길이 가짐 push() 메서드로 요소 추가할 경우 길이 늘어남 const person: { name: string; age: number; hobbies: string[]; // 배열 role: [number, string]; // 튜플 } = { name: "김일남", age: 99, hobbies: ["Squid Game", "Make Money"], role: [1, "businessman"], }; // person.role[1] = 2; // 1번 인덱스는 string 타입 이므로 number 타입의 값으로 변경할 수 없다. person.role[1] = "chairman"; // 변..
- [ 언어·프레임워크/React.js ][React.js] 네이버 지도 API 마커 리렌더링시 누적(쌓이는) 현상(마커 클러스터)2024-02-29 10:03:081. 마커 누적 현상 마커를 커스텀 오버레이로 만들어 사용했다. 그 이유는 마커에 서버로부터 받은 데이터를 표시해야 했기 때문이다. 동적인 데이터를 렌더링 하기 위해 useEffect 훅을 사용했다. 그런데 데이터가 변경(리렌더링) 될 때마다 동일한 위치에 동일한 마커가 계속해서 쌓이는 현상이 발생했다! 2. useEffect의 return 적용 function MarkerCluster({ data }) { const navermaps = useNavermaps(); const map = useMap(); const [cluster, setCluster] = useState(null); // (생략) const MarkerClustering = makeMarkerClustering(window.naver..
- [ CS/Linux ][Linux] LVM 마운트 "can't read superblock" 에러2024-02-26 17:30:501. LVM 마운트 "can't read superblock" 에러 LVM(Logical Volume Manager) 타입 파티션 200GB 저장소를 /mnt라는 폴더에 마운트 하고자 하였는데 "can't read superblock"이라는 에러가 출력되었다. 2. dmsetup remove 명령어로 해결 pvdisplay 명령어로 확인해 보니 다음과 같은 에러가 출력되었다. root@postforty:~# pvdisplay /dev/CloudVG/CloudLV: read failed after 0 of 4096 at 0: Input/output error /dev/CloudVG/CloudLV: read failed after 0 of 4096 at 212600815616: Input/output err..
- [ CS/Linux ][Linux] Putty SSH Key 로그인 에러 "server refused our key"2024-02-26 11:44:221. Key 적용을 잘했는데 ubuntu 로그인 에러KT클라우드에서 SSH Key Pair 생성하여 .pem 파일을 내려받았고, 이 키를 Putty에서 사용하기 위해 Putty Key Generator을 이용해 .ppk로 변환하여 Putty에 잘 적용하였다. 모든 것이 순조로웠으나 ubuntu 접근 시 "server refused our key" 메시지를 전달받고 문전박대당했다. 2. ubuntu의 authorized_keys에 동일 키를 등록해야PuTTY Key Generator에서 .pem을 load 했을 때 보이는 키([그림 1] 참조)를 ubuntu의 ~/.ssh/authorized_keys 파일에 작성(복붙)해줘야 한다. authorized_keys 파일의 수정하는 명령어는 다음과 같다.vi ~..
- [ 언어·프레임워크/React.js ][React.js] 네이버 지도 API 마커 클러스터 튜터리얼 따라하기!2024-02-21 16:52:441. 네이버 지도 API 설치 npm install react-naver-maps --save 2. App.js에 NavermapsProvider 적용 NavermapsProvider의 경우-이 글을 작성하는 시점에-공식 문서에는 NaverMapsProvider로 되어 있었고 따라서 로딩 에러가 발생했다. 따라서 NavermapsProvider라고 import 해야 한다. // src/App.js import { NavermapsProvider } from "react-naver-maps"; import NaverMapsMarkerCluster from "./components/NaverMapsMarkerCluster"; function App() { // ncpClientId에 네이버 지도 API 클라..
728x90
반응형