👋 Hello, I am Seung-ho Ham

🧑🏻‍💻 A Developers who create code that changes the world

전체 글 114

[IT] 사물인터넷(Internet Of Things) 주요기술/적용분야

사물인터넷(IoT)는 인터넷에 연결되어 그 정보를 활용하여 사물의 본연의 기능을 더 충실히 행하도록 하는 기술을 말하며, '인터넷을 기반으로 모든 사물을 연결하여 사람과 사물, 사물과 사물 간의 정보를 상호 소통하는 지능형 기술 및 서비스'라고 정의하고 있다. - 사물인터넷 4대 주요기술유무선통신, 네트워크 인프라서비스, 인터페이스보안(정보보안)센싱 - 사물인터넷 적용 분야헬스케어(건강 보조 도구, 혈당 측정, 운동량)홈케어(스마트 거울, 조명/온도/습도 자동제어)자동차(텔레매틱스, 무인자동차)산업(원격공장 자동화, 원격 시설물 관리)스마트시티(교통 관제, 스마트주차, 스마트 횡단보도)에너지(스마트 그리드, 중앙 전력 통제)안전(재해•재난 감지, 조기 대응)환경(날씨 및 온도 관리) - 사물인터넷 기반 ..

카테고리 없음 2021.05.04

[암호화] 단방향 암호화

html 에디터 사용 중 에디터 도구 기능에 MD5와 SHA-256기능이 있었는데 무슨 용도이고 어떻게 사용하는 것인지 궁금하여 이 둘에 대해서 알아보게 되었다. MD5(Message Digest)와 SHA-256(Secure Hash Algorithm)은 암호화를 하는 알고리즘인데 그 중에서도 암호화는 가능하지만 복호화는 불가능한 단방향 알고리즘 이다. 이 알고리즘들을 해시(hash) 알고리즘 이라고 부른다. 먼저 MD5의 원문 입력란에 숫자 1을 입력해보았다. MD5 알고리즘으로 숫자 1을 암호화 한 결과값은 c4ca4238a0b923820dcc509a6f75849b 이 나왔다. 근데 1다음 숫자인 2를 암호화했을 때는 전혀 다른 값인 c81e728d9d4c2f636f067f89cc14862c 가 나..

카테고리 없음 2021.05.03

[블록체인] 비트코인이 모두 채굴된다면?

비트코인을 채굴한다는 건 비트코인의 거래 내역을 기록한 블록을 생성하고 그 대가로 비트코인을 얻는 것이다. 채굴에 성공한 보상으로 지급되는 비트코인의 양은 21만 블록이 지날 때마다 절반으로 줄어들고 총 2100만개의 비트코인 생성되게 설계되어있다. 즉, 총 량이 2100만개에 수렴하도록 설계되어있는 것이다. 2032년이면 약 99%의 비트코인이 생성된다고 전문가들은 예측하고있다. 또한 2140년이면 100% 모두 채굴 된다고 한다. 아무리 100년 이상 먼 미래에 일어날 일이지만 총 발행량인 2100만개의 비트코인이 모두 생성될 것인데 그러면 '거래 내역을 기록하고 보상을 받는 채굴자가 사라진다는 소리인데, 거래가 이루어질 수 있나?' 라는 의문이 생겼다. 찾아본 결과 그 미래의 일은 아무도 알 수 없..

카테고리 없음 2021.05.03

[블록체인] 합의(consensus)알고리즘

합의 알고리즘(consensus algorithm)이란 다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘을 말한다. 합의 모델, 합의 방식, 합의 메커니즘 또는 합의 프로토콜이라고도 한다. 블록체인 시스템의 경우 네트워크에 참여하는 모든 참여자들이 동일한 데이터를 복사하여 분산 저장하기 때문에 원본과 사본의 구별이 없으며, 통일된 의사결정을 내릴 수 있는 권위 있는 중앙(center)이 존재하지 않는다. 이런 상황에서 합리적이고 효율적인 의사결정을 내릴 수 있는 다양한 알고리즘이 개발되었다. 작업증명작업증명(PoW, Proof of Work)이란 목표값 이하의 해시를 찾는 과정을 무수히 반복함으로써 해당 작업에 참여했음을 증명하는 방식의 알고리즘이다. 채굴을 통해 작업증명을 한다. 비트코인..

카테고리 없음 2021.05.02

[DEV] 자바스크립트 호이스팅(hoisting)

호이스팅(hoisting) = 끌어올리다. 상황에따라 변수의 선언과 할당을 분리해서 선언부분을 스코프의 가장 위쪽으로 끌어올리는 것이다. 실제 소스코드를 끌어올리는 것은 아니고 소스를 그런식으로 해석한다는 의미이다. 자바스크립트 해석기는 함수 소스를 훑어보면서 var를 사용한 변수는 따로 기억해둔다. 즉, 변수를 실행하기 전이지만 이런변수가 있구나 하고 기억해두기 때문에 선언한 것과 같은 효과가 있는 것이다. 전역 범위(global scope)에서는 스크립트 단위에서 최상단으로 끌어 올려진다. 함수 범위(function scope)에서는 해당 함수의 최상단으로 끌어 올려진다. var변수 선언과 함수선언문에서만 호이스팅이 일어나고 let/const 변수 선언과 함수표현식에서는 호이스팅이 발생하지 않는다. ..

카테고리 없음 2021.05.02

[DEV] 자바스크립트 소수점 오류

0.1 + 0.2 = 0.30000000000000004 ??자바스크립트에서 실수의 연산 중 일부의 경우는 소수점이 오류가 난다. 사람은 10진수를 쓰지만 컴퓨터는 사람과 다르게 2진수를 사용한다. 그러므로 10진수를 2진수로 바꿔주어야 컴퓨터가 알아들을 수 있다. 2진수는 0과 1 두가지로만 표현하며 2진수와 10진수의 관계는 다음과 같다. *빨간색은 2진수8 (=2의3승) 1000 4 (=2의2승) 0100 2 (=2의1승) 0010 1 (=2의 0승) 00010.5 (=2의 -1승) 0.1000 0.25 (=2의 -2승) 0.0100 0.125 (=2의 -3승) 0.00100.0625 (=2의 -4승) 0.0001 컴퓨터는 위와 같이 2의 n승만 가지고 숫자를 조합하여 나타낸다. 숫자 3을 나타내고..

카테고리 없음 2021.05.02

[DEV] HTTP 상태 코드

모든 HTTP 응답 코드는 5개의 클래스(분류)로 구분된다. 상태 코드의 첫 번째 숫자는 응답의 클래스를 정의한다. 마지막 두 자리는 클래스나 분류 역할을 하지 않는다. 첫자리에 대한 5가지 값들은 다음과 같다:1xx (정보): 요청을 받았으며 프로세스를 계속한다2xx (성공): 요청을 성공적으로 받았으며 인식했고 수용하였다3xx (리다이렉션): 요청 완료를 위해 추가 작업 조치가 필요하다4xx (클라이언트 오류): 요청의 문법이 잘못되었거나 요청을 처리할 수 없다5xx (서버 오류): 서버가 명백히 유효한 요청에 대해 충족을 실패했다웹 페이지 검색을 하면서 3자리 숫자가 뜨면서 페이지 로드가 되지 않는 경우가 종종 있었다. 가장 대표적으로 많이 뜨는 http 상태코드는 404 NOT FOUND 이다. ..

카테고리 없음 2021.05.01

[DEV] Error

구문 에러(Syntax errors): 코드 상의 구문 에러로 대개 철자가 잘못되어 작동이 안되거나 중간에 프로그램이 중지된다. 물론 여기서 에러 메시지가 출력되므로 확인할 수 있다. 코드 편집기 툴을 사용하고 에러 메시지의 의미만 파악할 수 있다면, 충분히 고칠 수 있다.논리 에러(Logic errors): 구문은 올바르지만, 코드의 의미자체가 잘못된 경우이다. 즉 프로그램은 정상적으로 돌아가지만, 원하는 결과를 얻지 못하는 경우이다. 에러 메시지가 직접적으로 표시되지 않기 때문에, 일반적으로 구문에러보다 에러 수정이 힘들다. 에러의 종류에는 크게 두가지가 있다. 자주 일어나는 에러는 구문 에러가 대부분이다. 나는 에러 메시지가 뜨면 끝까지 읽지 않고 에러가 뜨기 전에 내가 뭘 고쳤었는지 생각하여 그 ..

카테고리 없음 2021.05.01

[DEV] Data Backup

데이터 백업(data backup)이라고 하며, 데이터를 미리 임시로 복제하여, 문제가 일어나도 데이터를 복구할 수 있도록 준비해 두는 것을 말한다. 데이터 백업을 수행한 파일은 백업 파일이라고 한다. 웹 페이지 개발을 하면서 나의 나쁜 습관 때문에 페이지 전체를 통채로 수정해야할 뻔 하였다. 내가 가지고 있던 치명적인 나쁜 습관은 일부분에 대한 수정 요청이나 추가 요청이 왔을 때 간단한 것들은 '이건 이 부분 조금만 건드리면 되겠네' 라고 생각하며 원본 파일을 백업 해놓지 않고 원본을 그냥 고쳐버리는 습관이다. 간단한 수정 문제라고 생각하여 몇가지만 고쳤을 뿐인데 원래 같으면 정상적으로 작동 했어야 하는 소스코드가 작동하지 않았다. 백업을 해놓지 않았는데 이러한 상황이 생기니깐 순간 머리가 백지가 되었..

카테고리 없음 2021.04.30

[ERROR] MSVCP140.dll

개발 중 필요한 프로그램 설치 중 위와 같은 오류 메시지가 떴다. 여러번 반복 시도 해봐도 해결 되지 않았다. 일단 이 코드는 Windows 운영 시스템을 위해 Mozilla에서 개발한 Firefox와 관련된 dll 파일 유형이다. dll 확장자 유형은 평소에 시스템파일로 자주 봤던걸로 기억하지만 무엇인지 궁금하여 알아보았다. 파일 확장자 dll 유형은 Dynamic Link Library의 약자로 동적 링크 라이브러리라고 불린다. 이름과 같이 어느 파일을 실행할 때 같이 동작되는 동적인 라이브러리 라고 생각하면 될 것 같다. 이 오류메시지의 원인은 MSVCP140.dll 파일이 제 역할을 하지 못하는 상태이거나 존재하지 않을 때 뜨는 것 이었다. 이 파일이 내 컴퓨터에서 갑자기 에러를 발생시킨 의심할만..

카테고리 없음 2021.04.29

[DEV] 자바스크립트 기초

JavaScript는 HTML과 CSS로 구성된 정적인 화면과 다르게 동적인 화면을 웹페이지에 구현하기 위해 사용하는 스크립트 언어이다. 자바 스크립트의 특징HTML 내장형태이고 클라이언트의 웹브라우저에서 해석되어 수행사용자의 이벤트에 따라 다양한 반응을 할 수 있음동적인 웹페이지의 작성이 가능자바보다 사용하기가 용이함서버의 부담을 줄일 수 있음 jQueryjQuery는 JavaScript 라이브러리라이브러리란 자주 사용하는 기능들을 모아 놓을 것을 말한다. HTML과 JavaScript 의 차이점HTML은 태그의 속성, 즉 정적인 기능만이 존재한다. 하지만 JavaScript의 경우 객체의 속성(정적 기능)과 객체의 메소드(동적 기능)로 구성이 된다.JavaScript = 객체의 속성(변수, 정적기능)..

카테고리 없음 2021.04.23

[DEV] CSS 기본

CSSCascading Style Sheet로 반복되는 속성을 지정해 준다.웹 페이지의 전반적인 스타일을 지정해 주는 것으로 문서 전체의 일관성과 통일성을 가져온다. CSS 구조A { color:blue; } 에서 A는 지정자, color은 속성, blue는 값이다.지정자 : CSS를 적용할 범위를 지정할 때 사용한다.속성 : 글꼴 색(color), 글자크기(font-size) 등을 바꾸고 싶을 때 사용한다.값 : 속성 뒤에 바꾸고 싶은 색이나, 크기 등을 추가하여 사용한다.속성의 종류 - color(글자 색), font-size(글자 크기), font-family(글꼴), font-style(글꼴 스타일), font-weight(글꼴 두께), background-color(배경 색), backgroun..

카테고리 없음 2021.04.22

[DEV] HTML 기본 태그

태그(TAG)HTML기본태그 : 브라우저 상단에 제목을 표시, 사용자의 검색어가 TITLE 태그에 들어있으면 해당 검색어에 높은 순위를 부여한다. (웹 페이지를 대표할만할 제목을 간결하게 표현) : 문서의 문자 세트, 작성자, 날짜, 키워드 및 표현 방법과 같은 메타데이터를 설정할 때 사용, 한글의 경우 문자가 깨져서 보이는 경우가 있는데 깨짐 현상을 방지하기 위해 태그의 charset 속성을 반드시 지정해 주는 것이 좋다. ()속성 [ charset, name, http-equiv, content ] : 문서의 본문을 담고 있다. 속성 [ id class, title, bgcolor, background, text, link, vlink, alink ] : 글자를 꾸미는데 사용한다.속성 [ id cla..

카테고리 없음 2021.04.21

[IT] 인터넷과 웹

인터넷 인터넷이란 TCP/IP (Transmission Control Protocol / Internet Protocol) 를 사용하는 전 세계에서 가장 큰 통신망이다. TCP/IP 전송 프로토콜인 TCP(전송 제어 프로토콜)와 패킷 통신 방식의 인터넷 흐름, 오류조절, 전송할 파일을 패킷들로 나누어 전송, 수신된 패킷을 원래의 메시지로 조립하는 역할을 한다. IP 는 패킷들이 목적지에 정확하게 도달하도록 하는 기능을 가지고 있으며 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다. TCP는 IP위에서 동작하는 프로토콜로, 데이터 흐름, 오류조절, 전송할 파일을 패킷들로 나누어 전송, 수신된 패킷을 원래의 메시지로 조립하는 역할을 한다. 또한 데이터의 전달을 보증하고 보낸 ..

카테고리 없음 2021.04.21
반응형