전체 글 140

라즈베리파이 (4) - GPIO는 무엇인가?

이전 편에서는 GPIO를 다운로드하였습니다. 이제 GPIO를 이용하여 LED를 사용해보도록 하겠습니다. GPIO는 무엇인가? GPIO는 Gereral Purpose input/output의 약자로 다용도 입출력을 의미합니다. 임베디드 시스템에서 CPU에서 외부에 있는 핀을 사용하기 위하여 통하는 IO 신호입니다. 개발자가 어떻게 제품을 만드는가에 대하여 Input/ Output이 될 수 있습니다. 라즈베리파이에서 GPIO 사용방법 ※저는 C언어를 기준으로 해당 설명을 구성하였습니다. 1) Pin의 Mode를 GPIO로 설정하여야 합니다. wiringPiSetupGpio(); wiringPiSetupGpio()라는 함수를 통하여 GPIO로 사용할 것이다라는 것을 나타냅니다. 2) GPIO로 설정한 경우에는..

웹 브라우저 - 인터넷 익스플로러(IE)는 왜 망하였는가?

최근에 경주 충효동에 있는 카페를 방문하였습니다. 카페 옥상에는 인터넷 익스플로러(IE)의 서비스 종료를 기념한 묘비가 있습니다. 그리고 여기서 아래의 문구를 보았습니다. "He was a good tool to download other browsers" "그는 다른 브라우저를 다운로드하는 좋은 툴이었습니다." 어떠한 소프트웨어든 발전하지 않으면 더 발달한 프로그램들이 점유율을 가져갑니다. 이번에는 왜 익스플로러는 망하였는지 알아보는 시간을 가져보도록 하겠습니다. ※ 논설의 특징상 글에서 필자의 의견이 있을 수 있습니다. 참고하면서 보면 감사합니다. 웹 브라우저란? 지금 인터넷에 접속해서 블로그에 써져있는 글을 보는 있는데 아마도 웹 브라우저를 사용 중입니다. 웹 브라우저는 HTML 문서와 그림, 파일..

컴퓨터/기타 2022.06.24

CMD - 와이파이 비밀번호를 찾아보자

CMD를 사용해서 와이파이 비밀번호를 알 수 있습니다. 공유기에 무차별적으로 값을 대입하여 와이파이를 뚫는 방식이 아닌, 이미 한번 뚫었던 와이파이 비밀번호를 알아내는 방법입니다. 우리가 와이파이 비밀번호를 까먹을 때 유용한 방법입니다. 간단하게 알아보겠습니다. ※ 그동안 설명한 방법에 비하여 무척 간단해서 쉽게 사용 가능합니다. 사용하는 방법 요약 netsh wlan show profiles #그동안 접속했었던 와이파이의 이름이 나온다. netsh wlan show profiles Key=clear 사용방법 1. CMD를 켠다 2. 아래의 명령어를 입력한 뒤 대상이 되는 와이파이의 이름을 찾는다. netsh wlan show profiles 해당 명령어를 입력하면 위의 사진과 같이 화면이 나옵니다. 제..

컴퓨터/기타 2022.06.20

MySQL (6) - 무결성 제약조건

지난번에는 테이블을 정의하는 명령어를 (DDL) 정리하였습니다. 명령어를 중심으로 기술하였는데 제약조건에 대하여 설명이 필요할 것 같아 이렇게 적어봅니다. 제약조건을 사용하여 중복이 없는 데이터베이스를 만들 수 있습니다. 이번에는 무결성 제약조건과 MySQL에 있는 제약조건들을 설명해보겠습니다. 무결성 제약조건 / MySQL에서 사용하는 함수 무결성 제약조건이란 데이터가 결함이 없는 상태 데이터를 정확하고 일관되게 하기 위하여 저장, 수정, 삭제를 제약하는 조건입니다. 위에서 말한 것과 같이 중복이 없는 데이터베이스를 만드는 것입니다. 1. 개체 무결성 각 릴레이션의 기본키를 구성하는 속성은 NULL값이나 중복하는 값을 찾을 수 없다. → PRIMARY KEY(기본키) - 테이블을 대표하는 컬럼이다. 2..

컴퓨터/MySQL 2022.06.18

컴퓨터 고치기 - All boot options are tried 해결

최근에 친구의 컴퓨터를 고쳤습니다. 윈도우를 설치한 SSD에 뻑 소리가 난 다음부터 검정화면에 아래의 텍스트가 출력되었다고 합니다. All boot options are tried. Press key to recover with factory image using Recovery or any other keys for next boot loop iteration. 일반적으로는 F4를 누르고 리커버리 모드로 들어가면 해결할 수 있는데 프리도스 모델이었어서 삼성에서 자체적으로 제공하는 복구툴을 사용할 수 없었습니다. 원래 데이터가 백업되어 있다면 포맷을 하는 것이 답이지만 모든 데이터가 저장되어 있어서 다른 방법을 찾으면서 살렸습니다. ※ 이미 해결을 하였기 때문에 재구성을 하였습니다. 대상 컴퓨터 스펙 C..

Linux (2) - 터미널로 압축 및 압축해제 하기

리눅스도 GUI 화면에서는 오른쪽 클릭을 통하여 쉽게 압축 해제를 할 수 있습니다. CLI화면에서도 명령어를 입력하여 쉽게 압축할 수 있습니다. 이번에는 이것에 대하여 알아보겠습니다. tar 확장자 & gz확장자란? 보통은 zip, rar등의 압축 파일 포맷은 많이 봤어도 tar 확장자는 처음 봤을 것이라고 생각합니다. 간단하게 설명하자면 압축을 전혀 하지 않으며, 그저 파일을 하나로 묶습니다. 유닉스 계통에서 많이 쓰는 파일 포맷이라서 리눅스에서는 자주 보입니다. gz확장자는 gzip으로 보통 tar확장자를 통하여 파일을 하나로 만들고 gz을 이용하여 압축하는 방식으로 사용합니다. 압축을 통하여 용량을 줄입니다. 리눅스 명령어로 압축 및 압축 해제 하기 1. 파일들을 묶어서 tar 파일 만들기/해제 t..

컴퓨터/Linux 2022.06.05

Linux (1) - SSH 접근시 환영하는 문구를 바꾸어 보자

최근에 학교에서 라즈베리파이를 배우고 있습니다. 와이파이를 켜고 VNC에 킬 때 여러 사람들이 같이 들어가서 누구의 라즈베리파이인가 모르는 상황이 발생했었습니다. 물론 ID와 비밀번호를 바꾸면 해결되는데 저는 조금 다른 방식으로 원격 접속을 할 때 문구를 출력하여 제 것을 나타내 보려고 합니다. (보안상 가장 좋은 것은 ID와 비밀번호를 바꾸는 것입니다. ※ 리눅스의 특징상 조금 방법이 다를수 있습니다. 데비안 리눅스 사용 중입니다. 1. 아래의 명령어를 쳐서 파일에 접근한다 sudo nano /etc/ssh/sshd_config 2. sshd_config의 파일 중 다음 부분에 #을 제거한다. #부분을 제거하면 활성화됩니다. 옆에는 경로를 적었습니다. 3. 접속 문구를 수정한다. sudo nano /e..

컴퓨터/Linux 2022.05.24

라즈베리파이 (3) - Raspberry Pi에 GPIO 설치하기 (WiringPi)

라즈베리파이의 진정한 기능은 GPIO 핀을 통하여 다른 모듈들을 제어할 수 있는 점입니다. 이번에는 wiringPi를 통하여 GPIO를 제어하는 방법을 알아보겠습니다. WiringPi라이브러리의 사이트는 아래에 첨부합니다. (꼭 한번 읽어보세요.) http://wiringpi.com/ WiringPi WiringPi is a PIN based GPIO access library written in C for the BCM2835, BCM2836 and BCM2837 SoC devices used in all Raspberry Pi. versions. The source code is not publicly available but may be made available to those who wish c..

RAID - 저장장치를 여러 개 사용하자 (RAID의 종류와 구성방식)

개요 졸업 후 NAS서버를 구축하려고 생각하고 있습니다. NAS서버에서 다양하게 하드디스크 방법을 구성할 수 있는데 이것을 알아보려고 합니다. 레이드(RAID)란? RAID는 Redundant Array of Independent Disk의 약자로 '복수 배열 독립 디스크'입니다. 저장장치를 여러 개를 사용하여 더 큰 용량들을 만들기 위하여 사용합니다. 레이드 기술은 더 큰 용량들을 안정적으로 사용하기 위하여 이용합니다. 레이드(RAID)의 종류 다양한 레이드의 종류가 있으나 많이 사용하는 것 위주로 설명하려고 합니다. RAID 0 (Striping) 레이드 0은 여러개의 하드 디스크를 병렬로 이어서 한개의 거대한 디스크로 사용하는 방식입니다. 데이터의 입출력이 공평하게 분배되며 이로 인하여 입출력 속도..

MySQL (5) - 테이블을 만져보자 (CREATE, ALTER, DROP)

지난편에는 DML(데이터 조작어)을 통하여 테이블 안에 있는 데이터들을 다뤄보았습니다. 테이블은 데이터를 담는 그릇입니다. 이번에는 테이블을 정의하는 법에 대하여 간략하게 설명해보겠습니다. 테이블을 정의하는 명령어를 DDL (Data Definition Language)입니다. 생성 (CREATE) Create table academy ( Class INT, Name VARCHAR(12), Price INT, Go DATE ); CREATE 명령어는 테이블을 생성하는 명령어입니다. 괄호 안에는 테이블에 있는 필드들을 이렇게 사용할 것이다로 표현합니다. 위의 예제는 academy라는 테이블을 제작하였고 해당 테이블은 아래와 같이 생성되었습니다. Class(INT) Name(VARCHAR) Price(INT..

컴퓨터/MySQL 2022.04.30