DB 만들기이전에 외부에서 라즈베리파이(이하 라파)에 접근하는 방법을 정리했다. 이제 라파에 데이터베이스를 구축해 보도록 하자. 필자는 MariaDB를 사용했다. 설치 및 기초 세팅 우선 MariaDB를 설치해주자.sudo apt-get updatesudo apt-get install mariadb-server 설치가 완료되었다면 mysql에 접속해보자.sudo mysqluse mysql; 그 다음 아래의 명령어를 사용해 값들이 잘 나오는지 확인해보자.select user, host, password from user; 값들이 잘 나왔다면 라파 내부가 아닌 외부에서도 DB에 접속할 수 있게 권한을 설정해주자.create user '사용할 계정명'@'%' identified by '비밀번호';grant a..
분류 전체보기
최근에 대다수의 프로젝트가 타입스크립트 기반으로 작성되었다. 코드를 작성하며 타입을 체크할 수 있는 타입스크립트는 코드를 더욱 안전하게 작성하면서도 잠재적인 버그도 크게 줄일 수 있다. 타입스크립트란?기존 자바스크립트 문법에 타입을 가미한 것이 타입스크립트라 할 수 있다. 동적 타입의 언어인 Javascript는 런타임에 에러를 확인할 수 있으며 동적 타입 언아라는 점은 개발자에게 자유를 줄 수 있지만 코드의 규모가 커질수록 오히려 발목을 잡는 경우도 있다.function test(a,b) { return a/b}test(5,2) // 2.5test('안녕하세요','하이')// NaN 두 인수를 받아 나눗셈한 결과를 반환하는데, 숫자가 아닌 타입의 값이 들어오면 NaN이 반환된다. 이러한 문제는 Java..
호출 스케줄링함수를 명시적으로 호출하면 함수가 즉시 실행된다. 함수를 명시적으로 호출하지 않고 일정 시간이 경과된 이후에 호출되도록 함수 호출을 예약하려면 타이며 함수를 사용한다. 이를 호출 스케줄링이라 한다. Javascript는 타이머를 생성하는 함수 setTimeout과 setInterval, 타이머를 제거할 수 있는 함수 clearTimeout과 clearInterval을 제공한다. 위 함수들은 ECMAScript 사양의 빌트인 함수는 아니지만 브라우저 환경과 Node.js 환경에서 모두 전역 객체의 메서드로 타이머 함수를 제공한다. Javascript 엔진은 단 하나의 실행 컨텍스트 스택을 갖기 때문에 싱글 스레드로 동작하며, 타이머 함수 setTimeout과 setInterval은 비동기 처리..
취준 생활이 점점 길어지고 있다. 코딩 학원 알바를 하며 공부하고, 입사지원하고, 떨어지고, 또 넣고, 떨어지고를 반복한다. 그러다 이번에 카카오 모빌리티 서합이 되어 1차 코딩테스트를 보게되었다. 정말 오랜만에 보는 코딩테스트이다. 서합이 되야 코딩테스트를 보던가 하지 평소에 알고리즘은 계속 연습하며 백준 기준 골드 4까지의 문제는 풀 수 있게 되었기에 알고리즘 문제는 두 문제 다 10분 내외로 풀었다. 하지만, React 구현 문제를 결국 못 풀었다. 원인은 Context API 였다. 그동안 Redux나 Zustand에 대해서는 공부를 했지만 Context API는 너무 오랫동안 공부를 하지 않았던 것이 내가 문제를 풀지못했던 원인이라 생각한다. 바보같이 Provider의 value 프로퍼티에 전달..
자바스크립트의 데이터 타입자바스크립트의 모든 값은 데이터 타입을 갖고 있으며, 이 데이터 타입은 크게 원시 타입과 객체 타입으로 나눌 수 있다.원시 타입 : boolean, null, undefined, number, string, symbol, bigint객체 타입 : object위 타입들 중 boolean의 true와 false 처럼 평가되는 값들이 존재하는데, 이를 truthy, falsy한 값이라 한다.falsy 값은 false, 0, -0, 0n, 0x0n, NaN, "", '', ``, null, undefined 이며, truthy는 falsy를 제외한 모든 값이다. Number자바스크립트의 Number는 다른 언어와 다르게 모든 숫자를 하나의 타입에 저장한다. 그 수의 범위는 -(2^53 ..
이벤트 전파DOM 트리 상에 존재하는 DOM 요소 노드에서 발생한 이벤트는 DOM 트리를 통해 전파된다. 이를 이벤트 전파라 한다. Apple Banana Orange ul 요소의 자식 요소인 li 요소를 클릭하면 클릭이벤트가 발생하며 생성되는 이벤트 객체는 이벤트를 발생시킨 이벤트 타깃을 중심으로 DOM 트리를 통해 전파된다.캡처링 단계 : 이벤트가 상위 요소에서 하위 요소 방향으로 전파타깃 단계 : 이벤트가 이벤트 타깃에 도달버블링 단계 : 이벤트가 하위 요소에서 상위 요소 방향으로 전파ul 요소에 이벤트 핸들러를 바인딩한 예제를 보며 알아보자. Apple Banana Orange 이벤트 핸들러 어트리뷰트/프로퍼티 방식으로 등록한 이벤트 핸들러는 타깃..