분류 전체보기
-
[IoT] MQTT 무엇일까?IoT 2024. 1. 1. 16:33
MQTT 란? MQTT란 Machine 대 Machine 통신에 사용되는 표준 기반 메시징 프로토콜이다. 스마트 센서, 웨어러블 및 기타 사물 인터넷(IoT) 디바이스는 일반적으로 리소스 제약이 있는 네트워크를 통해 제한된 대역폭으로 데이터를 전송하고 수신해야 한다. 이러한 IoT 디바이스는 MQTT를 데이터 전송에 사용하는데, 구현이 쉽고 데이터를 효율적으로 전달할 수있다. MQTT 장점 가볍고 효율적임 MQTT를 IoT 디바이스에 구현할 때는 최소한의 리소스가 필요합니다. 따라서 작은 마이크로컨트롤러에도 사용될 수 있습니다. 예를 들어 가장 작은 MQTT 제어 메시지는 데이터 2바이트만큼 작습니다. MQTT 메시지 헤더도 작기 때문에 네트워크 대역폭을 최적화할 수 있습니다. 확장성 MQTT 구현에는 ..
-
[TYPE SCRIPT] 타입 스크립트 GenericLanguage/TypeScript 2023. 12. 31. 10:00
Generic 이란? Generic 은 C#, Java 등의 정적 타입 언어의 경우, 함수 또는 클래스를 정의하는 시점에서 리턴 타입이나 매개변수의 타입을 선언해줘야하는데, 같은 함수여도 매개변수 타입과 리턴 타입이 다른 경우가 있다면 그에 해당하는 함수를 하나하나 다 작성해줘야 합니다. 이때, 재사용성이 높은 컴포넌트를 만들어 하나의 함수만으로 사용하고 싶을 때 자주 사용하는 기능이 바로 Generic 입니다. Generic 을 사용하면 단일 타입이 아니라 사용하고 싶을 때 마다 그에 맞는 타입으로 사용할 수 있어서 코드를 일일이 작성할 필요가 사라져 코드의 가독성 또한 향상됩니다. Generic 사용 방법 Generic 을 사용하기 위해서는 변수명, 함수명 뒤에다가 를 작성해줍니다. (꼭 T 가 아니..
-
[TYPE SCRIPT] 타입 스크립트 Type AliasLanguage/TypeScript 2023. 12. 31. 08:20
Type Alias 란? Type Alias 는 새로운 타입을 정의할 때 사용한다. 타입으로 사용할 수 있다는 점에서 Type Alias 는 Interface 와 유사하다. Type 사용 방법 type PositionType = { x: number; y: number; }; const position: PositionType = { x: 3, y: 4 } Type 의확장 Interface 와 type 을 비교해보면 확장 기능에 있어서 interface 가 조금 더 준수한 성능을 가지고 있다고 한다. (최신 버전에서는 성능으로 인한 차이는 없다고 확인) type 과 interface 를 사용하는 데에는 팀 내 규칙에 따라서 달라지곤 하지만 일반적으로 type 을 사용할 때에는 단순히 값을 담아두기 위해..
-
[TYPE SCRIPT] 타입 스크립트 InterfaceLanguage/TypeScript 2023. 12. 30. 13:06
Interface 란? 인터페이스는 일반적으로 상호 간에 정의한 약속 혹은 규칙을 말하는데, 우리가 사용하는 Object 객체에는 특정 속성값에 대한 정보가 없기 떄문에 인터페이스로 선언해서 사용할 수 있다. 인터페이스는 프로퍼티와 메서드를 가질 수 있다는 점에서 클래스와 유사하지만 직접 인스턴스를 생성할 수 없고, 모든 메서드는 추상 메서드로 선언되어 있다. 하지만, 추상 클래스의 추상 메서드와는 다르게 abstract 키워드를 사용하지 않는다. 인터페이스는 변수의 타입으로 사용될 수 있으며, 이때 선언된 변수는 인터페이스에 정의된 프로퍼티와 메서드 규칙을 준수해야 한다. 이는 사용자가 새로운 타입을 만들어서 정의하는것으로도 볼 수 있다. 이제 Interface 에 대해 알아봤으니 어떠한 경우에 사용하..
-
[GO] Go 기초 문법 - 변수 선언 및 자료형Language/Go 2023. 12. 30. 02:32
변수 선언 -Go 에서 변수를 선언하는 방법은 여러가지 방식이 있으며, 선언만 하고 사용하지 않는 변수가 있는 경우 에러가 표시된다. 기본적으로 var 키워드를 사용하여 변수를 선언한다. var 키워드를 앞에 적고 바로 뒤에 변수명, 그 뒤에 변수의 타입을 적는다. ex ) var name string 변수를 선언함과 동시에 초기화를 할 수 도 있다. ex ) var name string = "Kim XX" Go 에서 지원하는 단축 구문을 사용하여 변수를 선언할 수도 있다. (함수 내에서만 단축 구문 사용 가능) ex ) name := "Kim XX" 으로 줄여서 표현 가능. 변하지 않는 값, 상수를 선언하기 위해서는 const 키워드를 사용한다. 아래에서는 지역 변수 선언 방법과 전역 변수 선언 방법 ..
-
[VsCode] code . 에러 시 해결 방안Error Handling 2023. 12. 28. 22:47
문제 발생 회사에서 사용하는 장비가 맥북이라서 vscode 를 열 때 종종 code . 명령어를 사용하곤 하는데, 한번씩 command not found 에러가 발생해서 스트레스를 받을 때가 많았다. 커맨드를 등록했는데도 재부팅하거나 그러면 다시 같은 에러가 발생하길래 이참에 완벽하게 해결하고 나서 어떻게 해결했는지를 기록하려고 노트북을 열었다. 해결 방법 1 vscode 상에서 ⇧⌘P를 눌러서 code 검색 Shell Command: Install ‘code’ command in PATH 를 선택해서 path 설치 해결 방법 2 path 설치 하려고 하는데 permission denied, unlink '/usr/local/bin/code' 에러 발생 시에는 cd /usr/local/bin sudo r..
-
[DART] Dart(다트)에 대해서 알아보자Language/Dart 2023. 12. 28. 21:36
Dart란 무엇일까? Google 이 JavaScript 를 대체하기 위해 개발한 웹, 앱 프로그래밍 언어. 이를 사용하여 모바일 앱, 웹 앱, 서버 프로그래밍 등을 개발할 수 있다. 웹앱이 아닌 네이티브 코드로 안드로이드나 IOS 앱을 개발할 수 있다. Java 와 문법이 유사하며, 몇가지 특징만 숙지하면 쉽개 개발할 수 있다. Dart 특징 모든 것들이 Object 로 취급된다. Variable 안에 넣을 수 있는 것들은 모두 Object 취급 Function, number, null 전부 Object 취급 변수에 넣을 수 있는 모든 것들은 객체이며, 모든 객체는 클래스의 인스턴스로 취급한다. List 등의 제너릭 type 지원 기본적으로 Typed 언어지만 자유도를 가지고 있다. 변수를 선언할 때 ..
-
[PYTHON] 파이썬 - 문자열 메서드Language/Python 2023. 12. 28. 21:22
문자열 인덱싱 파이썬에서 문자열 인덱싱은 [a:b] 으로 사용 가능하며 a부터 b-1 까지의 문자열을 잘라낸다는 뜻이다. 예를들어, "문자열".[0:3] 은 0번째부터 `3 - 1` 인 2번째까지의 문자를 추출하겠다는 의미이다. count() count 메서드는 해당하는 문자열이 몇개 있는지 찾아주는 메서드이다. s = '내가 그린 기린 그림은 목 긴 기린 그림이고, 네가 그린 기린 그림은 목 짧은 기린 그림이다.' print(s.count('기린'))# 4 s = 'best of best' print(s.count('best', 5))# 5번째 부터 best 문자열을 찾아라 print(s.count('best',-7))# -7번째 부터 find(), index() 둘 다 특정 문자열의 위치를 반환해주는..