본문 바로가기

개발지식8

MQTT와 EMQX 프로젝트 진행 중 MQTT와 EMQX를 사용해보라는 과제가 내려왔다. 학원쿼리큘럼중 하나인 MQTT를 사용하는 IoT과정이 있긴한데.. 관련서적을 보니 매우 어려워보였다.. 블루투스니, 센서니뭐니를 데이터를 받아와서 브로커를 통해 관리 어쩌구.. 우선 이번 프로젝트에 적용시켜야하니 남는 시간에 공부하기로 해보았다. 멘토님께서 MQTT를 설명해 주시면서 EMQX에 대해서 사용해보라고 권해주셨는데, 제시해준 과제 안에서 최대한 노력해보려고 한다. 우선 이 둘이 무엇을 해주는지 어떤 기능들이 있는지 한번 살펴보고 시작해보겠다. MQTT(Message Queuin Telemerty Transport) 메세지 큐잉 텔레메트리 전송 프로토콜로 IoT(Internet of Things)디바이스 간의 높은 지연 시간,.. 2023. 8. 28.
내가 보려고 만든 Linux 진짜 초 기본명령어 강의 따라가다 다리 찢어지겠다.. 맥북으로 공부하고 있는 나는 리눅스 명령어를 써야할 때가 많이 생기더라.. 이거 때문에 시간 뺏길수 없으니 기본적인 것만 몇개 적어 두겠다!! 1. ls 현재 위치의 파일 목록 조회 2. cd 디렉토리로 이동 아래 것들은 한칸씩 띄어쓰고 사용해야한다. cd ~ 👉 홈 디렉터리로 이동 cd / 👉 최상위 디렉터리로 이동 cd . 👉 현재 디렉토리 확인 cd .. 👉 상위 디렉토리로 이동 cd - 👉 이전 경로로 이동 2023. 6. 25.
POJO JAVA Java에 대해서 글을 읽어보다 POJO Java라는 것을 보았다. Java는 Java인데 POJO Java는 무엇일까? POJO는 "Plain Old Java Object"의 약자로, 자바에서 일반적으로 사용되는 객체를 말한다. POJO는 Java Class를 단순하고 순수한 형태로 작성하는 개념을 말한다. 기본생성자👉 매개변수가 없는 기본생성자를 가지고있어야 한다. 필드👉 멤버 변수 또는 속성을 나타내는 필드를 가지고 있다. Getter 및 Setter 메소드👉 필드에 접근하기 위한 Getter 메소드와 값을 설정하기 위한 Setter메소드를 가지고 있다. 비지니스 로직👉 데이터 처리나 연산을 위한 메소드를 가지고 있지 않는다. POJO는 주로 데이터 전달객체 (Data Transfer Object,.. 2023. 6. 22.
Framework Framwork는 소프트웨어 개발을 위한 구조적인 틀이자 도구 모음이다. 프레임워크는 애플리케이션 개발에 필요한 공통기능, 디자인 패턴, 라이브러리, 툴 등을 제공하여 개발자가 보다 쉽고 효율적으로 애플리케이션을 구축할 수 있게 도와준다. 프레임워크는 개발자가 직접 모든 기능을 처음부터 구현하지 않고, 이미 구현된 기능들을 재사용하여 개발 속도를 향상시킬 수 있다. 이를 통해 개발자는 애플리케이션의 핵심 로직에 집중할 수 있다. 하나의 예로 자바 프레임워크 중에서도 대표적인 것은 Spring Framework이다. 주요 개념과 기능에 대해 알아보자면 구조적인 틀 프레임워크는 개발자가 애플리케이션을 구축 할 때 필요한 기본 구조를 제공한다. 이는 개발자가 처음부터 모든 것을 설계하고 구현할 필요 없이, 프.. 2023. 6. 16.
객체지향 설계 원칙 SOLID 객체지향 설계 원칙인 SOLID SOLID는 소프트웨어 개발에서 유지보수 가능하고 확장 가능한 시스템을 만들기 위한 가이드 라인이다. 이 SOLID는 다섯 가지 원칙으로 구성되어 있으며, 각각 다음과 같이 표현된다. SRP(Single Responsibility Principle) 단일 책임 원칙 클래스는 단 하나의 책임만을 가져야 한다. 즉, 클래스는 변경의 이유가 하나여야 하며, 변경될 수 있는 이유도 단 하나여야 한다. 이를 통해 클래스의 응집도를 높이고 결합도를 낮출 수 있다. OCP(Open-Closed Principle) 개방-폐쇄 원칙 확장에는 열려있고 수정에는 닫혀있어야 한다. 이말은 즉, 기존의 코드를 수정하지 않고도 기능을 추가할 수 있어야 한다. 이를 위해 인터페이스와 추상화를 활용하.. 2023. 6. 14.
Spirng Framework 와 Spring Boot의 차이 기존에 개발에 몸담고 계시는 선배님들이 보면 이게 뭔 어그로야?하실 수 있긴한 글이지만 웹 프로그래밍의 ㅇ 도 몰랐던 때가 떠올라서 한번 적어본다. Spring Framwork와 Spring Boot는 모두 Java 기반의 웹 애플리케이션 개발을 위한 프레임워크이다. 하지만 이둘은 각가의 목적과 특징이 다르다. Spring Framwork는 많은 기능과 모듈을 제공하는 포괄적인 엔터프라이즈 애플리케이션 개발을 위한 프레임워크이다. 주요 목적은 개발자가 애플리케이션의 다양한 측면을 관리하고 제어하는 데 도움을 주는 것이다. Spring Framwork는 제어 역전(Inversion of Control,IoC)과 의존성 주입(Dependency Injection, DI)등의 개념을 기반으로 한다. 이를 통해.. 2023. 6. 14.
Layered architecture Layered architecture(이하 계층화 아키텍쳐) 계층화 아키텍쳐는 소프트웨어를 설계하는 방법 중 하나이다. 이 아키텍쳐는 시스템을 여러 개의 계층으로 분리하여 각 계층이 특정한 역할을 수행하도록 구성하는 것을 의미한다. 각 계층은 서로 상호작용하면서 전체 시스템을 구성한다. 계층화 아키텍처의 가장 일반적인 구성 요소는 다음과 같다. Presentation Layer(프레젠테이션 계층) 사용자 인터페이스(UI)를 담당한다. 사용자와의 상호작용을 처리하고, 입력을 받아 처리 결과를 출력한다. Application Layer(응용 계층 또는 비지니스 계층) 비지니스 로직을 포함하고 있다. 사용자의 요청을 처리하고, 데이터의 유효성 검사, 비지니스 규칙 적용 등을 수행한다. Domain Layer(.. 2023. 6. 5.
Clean Code Clean Code(이하 클린코드)는 개발자에게 매우 중요한 개념이다. 클린 코드는 코드의 가독성과 유지보수성을 향상시키는 방법론이라고 할 수 있다. 이는 코드를 더 이해하기 쉽게 만들어 다른 개발자들과의 협업을 원활하게 하고, 코드의 변경과 수정을 더욱 효율적으로 할 수 있게 도와준다. 클린코드를 작성하는 가장 중요한 이유는 가독성이다. 코드를 작성할 때, 개발자는 코드를 작성하는 것뿐만 아니라 다른 개발자들이 코드를 이해하고 수정할 수 있도록 해야한다. 가독성이 떨어지는 코드는 이해하기 어렵고 오류가 발생할 가능성이 높다. 그렇기 때문에 클린코드를 작성하면 다른 개발자들도 빠르게 코드를 이해하고 필요한 수정을 쉽게 할 수 있다. 클린 코드의 특징 중 하나는 간결함이다. 코드를 간결하게 작성하면, 필요.. 2023. 6. 5.