* 제가 구글 클라우드를 아마존보다 먼저 접하고 유일하게 사용하는 클라우드 서비스로, 제 블로그에서는 구글 클라우드를 소개합니다만 아마존 클라우드를 배우시기를 권합니다. 아마존이 국내외 1위 서비스업체입니다. (물론 구글 클라우드로 배우셔도 상관없습니다.) 이 글은 클라우드 스토리지에 대한 간단한 안내이며, 당연히 아마존 클라우드(AWS)에도 비슷한 서비스가 있습니다.

 

구글 클라우드 플랫폼(Google Cloud Platform, GCP)의 스토리지 서비스는 사용자가 데이터를 쉽게 저장하고 안전하게 관리할 수 있도록 지원하는 클라우드 기반의 저장 공간입니다. GCP는 다양한 목적과 상황에 맞는 여러 가지 스토리지 서비스를 제공합니다. 이제 GCP의 대표적인 스토리지 서비스 종류와 간단한 활용 방법에 대해 알아보겠습니다.

 

첫 번째는 Google Cloud Storage입니다. 이것은 인터넷에 연결된 어디서든 데이터를 손쉽게 저장하고 검색할 수 있는 가장 기본적인 저장소입니다. 파일, 이미지, 비디오와 같은 데이터를 클라우드에 저장하여 언제 어디서나 접근할 수 있게 합니다. 예를 들어, 웹사이트에서 사용하는 이미지나 동영상 파일을 저장하거나, 앱에서 사용자 데이터 백업 용도로 활용할 수 있습니다.

 

두 번째는 Cloud SQL입니다. 이는 구글 클라우드에서 관리하는 관계형 데이터베이스 서비스(쉽게 생각해서 엑셀처럼 열과 행이 있는 데이터베이스)로, MySQL, PostgreSQL 및 SQL Server와 같은 널리 쓰이는 데이터베이스 시스템을 지원합니다. Cloud SQL은 데이터를 체계적으로 저장하고 관리할 때 쓰이며, 특히 웹 애플리케이션의 사용자 정보, 상품 목록, 주문 내역 등을 관리할 때 적합합니다. 또한 자체적인 검색 언어를 가지고 있습니다 (필터링, 정렬 등 기능 제공).

 

세 번째는 Cloud Bigtable입니다. 이는 대규모 데이터를 빠르게 처리할 수 있는 비관계형(NoSQL) 데이터베이스로, 주로 IoT(사물인터넷) 센서 데이터, 금융 거래 정보와 같은 대량의 데이터를 저장하고 분석할 때 사용됩니다. 짧은 시간 안에 많은 양의 데이터를 실시간으로 처리해야 하는 환경에 적합합니다.

 

네 번째는 Cloud Firestore입니다. Firestore는 구글 클라우드의 일부인 Firebase 서비스의 일부입니다. Firebase는 휴대폰 앱개발과 구글 클라우드를 쉽게 통합하기 위해서 개발된 서비스로, 앱의 사용자 관리, Firebase 전용 스토리지(=Firestore), 실시간 데이터베이스, 메시징 (Firebase Cloud Messaging), 앱 통계 및 사용자 분석 등의 서비스를 모두 포함하고 있습니다. Firestore는 유연한 구조를 가진 NoSQL 문서 데이터베이스로, collection과 document로 구성됩니다. document들이 모여서 하나의 collection을 구성하며, tree구조를 가지고 있습니다. document에는 기본적인 형태의 데이터들(숫자, 문자열 등)의 정보를 저장할 수 있습니다. 모바일 애플리케이션에서 실시간 채팅 서비스, 협업 툴, 게임 사용자 데이터 저장 등에 널리 활용됩니다.

 

마지막으로, Persistent Disk는 가상 머신(VM)에서 사용하는 영구 저장 공간입니다. 일반적인 하드디스크와 유사하게 작동하며, 서버가 종료된 후에도 데이터를 계속 유지할 수 있어 서버 운영에 필수적입니다. Persistent Disk는 웹사이트나 데이터베이스를 운영하는 서버에서 데이터 저장과 백업 용도로 활용됩니다.

 

구글 클라우드의 스토리지 서비스들은 필요에 따라 자유롭게 선택하고 조합하여 쓸 수 있습니다. 소규모 프로젝트부터 대규모 기업 환경까지 모두 대응 가능하며, 효율성, 안정성, 확장성을 모두 갖추고 있어 다양한 상황에서 데이터 관리를 효과적으로 지원합니다.

 

구글 클라우드 스토리지 설명 동영상

 

이번 글에서는 구글 클라우드 서비스 중의 하나인 Compute Engine에 대해서 소개합니다.

 

Compute Engine은 Google Cloud Platform(GCP)에서 제공하는 원격서버(가상머신) 서비스이며 서버의 성능과 서버의 동작 시간만큼 사용료를 내고 사용할 수 있습니다. 간단한 웹사이트부터 복잡한 고성능 컴퓨팅 작업까지 다양한 작업에 사용할 수 있고, Linux 및 Windows와 같은 여러 운영 체제를 설치할 수 있으며, 사용자가 CPU, 메모리, 스토리지 유형, 네트워크 성능 등 다양한 구성을 필요에 맞게 선택할 수 있습니다.

 

Compute Engine에서 서버 한대를 생성하려면 아래와 같이 하면 됩니다. (자세한 것은 GCP의 도움말을 검색하시거나 유튜브에서 관련 동영상을 찾으시길 권합니다. 여기서는 간략하게 어떤 단계로 설정하는지만 설명합니다.)

    1. Google Cloud Console 로그인: 로그인 후 메뉴에서 Compute Engine 서비스로 이동합니다.

    2. 인스턴스 생성: "인스턴스 만들기"를 클릭하고 원하는 지역(region)과 영역(zone)을 선택합니다. (사용자의 현재 위치와 같은 지역과 영역을 선택하는 것이 응답속도도 빠르고 네트워크 비용도 줄일 수 있습니다.)

    3. 머신 유형 선택: 미리 정의된 유형(예: 표준, 고메모리, 고CPU)을 선택하거나 직접 커스터마이징합니다. (제 기억에 좀 성능이 낮고 공동 사용(shared)이 가능한 CPU를 선택하면 비용이 저렴했습니다.)

    4. 부팅 디스크 구성: 애플리케이션 요구 사항에 맞게 운영 체제와 디스크 크기를 선택합니다.

    5. 네트워킹 및 보안: 방화벽 규칙과 네트워크 설정을 조정합니다.

6. 배포 및 연결: "만들기"를 클릭하여 인스턴스를 실행합니다. 실행 후 SSH(Linux용) 또는 RDP(Windows용)를 사용하여 연결할 수 있습니다.

 

그런 다음 서버에 원격으로 접속하려면 아래와 같이 설정합니다.

    ● Linux 인스턴스의 경우:

        Compute Engine에서 VM 인스턴스를 클릭합니다.

       Cloud Console에 내장된 SSH 버튼을 사용하거나 SSH 키를 수동으로 구성하여 명령어(ssh username@external-ip)로 원격 접속합니다.

    ● Windows 인스턴스의 경우:

        Compute Engine 콘솔에서 Windows 사용자 이름과 암호를 설정합니다.

        로컬 컴퓨터에서 원격 데스크톱 프로토콜(RDP) 클라이언트를 다운로드하여 실행합니다.

        인스턴스의 외부 IP(서버 생성시 외부 주소도 만들수 있습니다.)와 설정한 사용자 이름 및 암호를 사용하여 RDP 연결을 설정합니다.

 

필요에 따라서 서버의 성능을 조절할 수 있습니다. 특히 CPU의 종류, 메모리의 크기 등을 지정할 수 있습니다. 그래서 서버 모델 선택 시 고려할 사항은,

    1. 작업 부하 요구 사항: CPU 집약적인 작업은 고CPU 인스턴스가 적합하며, 데이터베이스나 메모리 집약적인 애플리케이션은 고메모리 인스턴스가 더 적합합니다.

    2. 비용 대비 성능: 예산과 자원 요구 사항 간의 균형을 맞춥니다.

    3. 확장성: 향후 요구 사항에 따라 리소스를 확장하거나 축소할 수 있는 능력을 고려합니다.

 

예를 들어, 데이터 중심의 웹 애플리케이션을 실행하는 경우 CPU와 메모리가 균형 잡힌 "n1-standard-4" 인스턴스(4 vCPU, 15GB RAM)를 선택할 수 있으며, 중간 정도의 트래픽 및 데이터베이스 상호작용에 적합합니다.

'GreenTam의 생각' 카테고리의 다른 글

클라우드 컴퓨팅: Cloud Run  (0) 2025.03.13
클라우드 컴퓨팅: Storage의 종류  (0) 2025.03.12
클라우드 컴퓨팅: App Engine  (1) 2025.03.08
클라우드 컴퓨팅: 개념  (3) 2025.03.08
경제적 독립의 길  (6) 2025.03.03

 

Google Cloud Platform App Engine 개요 예제

 

App Engine이란 App Engine이란 뜻으로, 휴대폰 앱을 예로 들자면, 사용자에게는 보이지 않지만 사용자가 입력하는 데이터를 처리하는 Application(App)이라는 의미입니다. 흔히 말하는 backend(백엔드)입니다. 반면 프론트엔드는 사용자가 볼수 있는 사용자 인터페이스를 의미합니다. 화면 상에 보이는 입력창, 버튼, 그림 등을 말합니다.

 

백엔드는 휴대폰의 앱에 내장되어 있을 있습니다. 예를 들어 계산기 앱은 계산을 하는 코드가 앱에 내장되어 있습니다. 그러나 휴대폰에서 처리할 없는 정보는 원격 서버에 보내서 처리해야 합니다. 예를 들어 chatgpt 앱은 사용자의 질문에 대한 대답을 앱안에 가지고 있지 않으므로, 그 질문을 openaAI에서 관리하는 서버로 보내면, 서버의 LLM(대규모 언어모델) 응답을 생성해서 휴대폰으로 돌려줍니다. 그러니까 원격 서버에서 정보를 처리할 필요가 있습니다.

 

Google Cloud Platform(GCP) App Engine 완전 관리형 서버리스(*1 - 아래 주석을 달았습니다) 애플리케이션 플랫폼으로, 개발자가 서버를 직접 관리할 필요 없이 코드를 배포하고 실행할 있도록 지원합니다. App Engine 요청 트래픽이 늘어나면 서버 수를 자동 확장 기능을 제공하여 트래픽 변화에 따라 서버 수를 자동으로 조절하며, 여러 프로그래밍 언어(Python, Java, Node.js, Go ) 코드를 있습니다.

 

*1 완전 관리형 서버리스란 사용자가 서버를 장만할 필요없이 인터넷연결로 원격서버를 이용하며, 구글이 서버를 관리해 주는 것을 말합니다.

 

아래는 간단한 App Engine 사용 예제입니다.

 

1. 환경 설정 (*2)

  • GCP 콘솔에서 App Engine 사용설정합니다.
  • GCP 프로젝트를 생성하고, App Engine에서 사용할 언어로 Python 선택합니다.
  • GCP 콘솔에서 아래의 명령으로 Google Cloud SDK Flask 설치합니다.

        pip install Flask gunicorn

 

* 2 구글 글라우드에 계정을 만들면 계정마다 여러 개의 프로젝트들을 생성할 있습니다. 하나의 프로젝트 개의 App Engine 만들 있으며, 사용자는 콘솔(GCP 콘솔)에서 명령어를 사용할 있습니다. 콘솔은 계정 기본적으로 제공되는 원격서버에서 구동하는 명령어 창입니다. (윈도우의 명령 터미널 창과 같은 )

 

2. 간단한 API 서버 코드 (app.py)

 

아래의 python 코드를 app.py(*3)라는 파이썬 파일을 작성하고, 콘솔의 업로드 기능을 이용하여 원격서버에 파일을 업로드 합니다.

        from flask import Flask, jsonify

 

        app = Flask(__name__)

 

        @app.route('/hello', methods=['GET'])

        def hello():

        return jsonify({"message": "Hello, App Engine!"})

 

        if __name__ == '__main__':

        app.run(host='0.0.0.0', port=8080)

 

*3 위의 코드는 http 요청을 처리하는 웹서버를 시작하는 코드로, http request get 요청을 받으면 “Hello, App Engine!”이라는 문자열을 json 형태로 응답하는 서버의 코드입니다.

 

3. 배포하기하고 app 실행하기

  • 콘솔에서 아래의 내용이 담긴 app.yaml파일을 생성하고 앱을 배포합니다. (App Engine 설정 파일입니다.)

        runtime: python39

        entrypoint: gunicorn -b :$PORT app:app

  • 콘솔에서 아래 명령어를 실행하면 app 배포하고 실행이 됩니다.

        gcloud app deploy

  • 배포가 완료되면 브라우저에서 https://<YOUR_PROJECT_ID>.appspot.com/hello 접속하여 API 정상 작동하는지 확인합니다. (*4)

*4 <YOUR_PROJECT_ID> 프로젝트 생성시 자동 생성되는 프로젝트 고유 문자열입니다.

 

브라우저로 주소창에 위의 주소를 입력하면 브라우저 화면에 “Hello, App Engine!” 표시됩니다. , 주소를 주소창에 입력하고 엔터키를 누르면, 앱에 http get 요청이 app으로 전달되며, app 요청에 대한 응답으로 “Hello, App Engine!”라는 문자열을 브라우저로 되돌려주면, 브라우저는 문자열을 보여줍니다.

 

위의 예제에서는 문자열 회신이라는 아주 간단한 정보 처리 예를 보여주었지만, 이보다 복잡한 처리 루틴을 python으로 있습니다. 또한 요청에는 사용자가 처리하기를 원하는 정보를 실어서 보내고, 응답에 처리된 결과값을 포함하여 받을 있습니다.

 

이와 같은 방식으로 App Engine 활용하면 웹브라우저, 모바일 , 또는 인터넷에 연결된 장치 등의 단말기가 어떠한 정보 처리 요청을 app 보낼 있고, app 처리를 마치면 다시 단말기로 응답을 보낼 있습니다.

 

 

'GreenTam의 생각' 카테고리의 다른 글

클라우드 컴퓨팅: Storage의 종류  (0) 2025.03.12
클라우드 컴퓨팅: Compute Engine  (0) 2025.03.12
클라우드 컴퓨팅: 개념  (3) 2025.03.08
경제적 독립의 길  (6) 2025.03.03
직장인으로서의 단상  (1) 2025.02.17

녹소토 + 펄라이트편에 이어 이번에는 동생사 + 펄라이트로 해보았습니다. 이 두 흙을 고른 이유는 동생사와 펄라이트가 습도에 따라 변화가 매우 다르므로, 두 흙을 부피 기준으로 반씩 섞었을 때 어떻게 행동하는지 궁금하기 때문입니다.

 

아래의 그래프는 측정결과를 나타냅니다. 흙의 무게는 각 흙을 부피기준 50%씩 섞어서 약 110g입니다. (동생사 ~ 73g , 펄라이트 ~ 37g) x는 상대 습도 (%), y는 센서의 값입니다.

대표사진 삭제

사진 설명을 입력하세요.

데이터를 보니 몇 개의 점들이 다른 점들에 비해 많이 낮게 나온게 보입니다. 측정할 때 3개의 화분을 준비했는데 그 중 한 화분에서는 흙이 잘 배합되지 않아서 그런 모양입니다. 그러니까 펄라이트가 센서에 좀 더 많이 배치된 모양입니다.

 

위의 데이터를 동생사처럼 sigmoid함수로 fitting한 결과가 아래의 결과입니다.

Fit equation은 아래와 같습니다.

 

마지막으로 이전에 구한 동생사(파란색), 펄라이트(빨간색) 식들에, 각 식들을 0.5 씩 가중치를 두고 합산한 식(보라색 점선)을 그려보았습니다. 위 그래프에서 데이터를 fit한 결과는 보라색 실선으로 그렸습니다.

 

그러니까 보라색 실선이 측정한 결과를 fitting한 결과이고, 보라색 점선이 동생사, 펄라이트 결과를 가지고 절반씩 비중을 두고 합산한 결과입니다. 두 선이 좀 차이가 많이 나 보입니다. 만일 아래에 처진 점들이 없다면 보라색 실선이 점선과 비슷해 보였을 것 같네요.

 

일단 결론은 "흙이 잘 배합되어 있다면 측정결과와 합산결과가 비슷할 것 같다"입니다.

흙의 배합에 좀더 신경을 써서 좀 더 데이터를 모아 봐야 겠습니다.

 

 

이번 부터 제가 알고 있는 한도내에서 클라우드 컴퓨팅, 기계학습, 임베디드 등에 대해서 소개를 해보겠습니다. 어디까지나 소개니 간략히 각각이 무엇인지 왜 필요한지 정도만 설명하겠습니다.

 

먼저 클라우드 컴퓨팅을 설명합니다. 한마디로 표현하면 서버를 빌려쓴다라는 개념입니다. 즉 사용하는 자원, 시간 만큼 돈을 지불하고 사용하는 것인데, 그 것 외 다양한 서비스가 있습니다. 최근 많은 회사들이 자사의 내부에 서버를 두고 운영하는 게 아니라 클라우드 서비스를 활용해서 전산업무를 수행하고 있습니다. 왜냐하면 직접 서버를 운영하는 것보다 그렇게 하는 것이 더 저렴하고 관리가 쉽기 때문입니다.

 

대표적으로 아마존의 AWS(Amazon Web Service), 구글의 GCP(Google Cloud Platform)가 있습니다. 아래는 클라우드 컴퓨팅을 소개하는 어느 유튜브 동영상의 내용을 요약한 것입니다.

 

클라우드 컴퓨팅이 유용한 이유

 

스케일링(Scaling)

    • 애플리케이션이 갑자기 인기가 많아지면, 많은 사용자가 몰려 서버가 버티지 못할 수 있음.
    • 이를 해결하기 위해 두 가지 방법이 있음:
      • 수직 스케일링(Vertical Scaling): 서버의 CPU, 메모리, 저장 공간을 늘려 더 강력하게 만듦. 하지만 비용이 점점 비싸지고 한계가 있음.
      • 수평 스케일링(Horizontal Scaling): 여러 개의 작은 서버를 추가하여 부하를 분산시킴. 더 안정적이고 비용 효율적임.

 

로드 밸런싱(Load Balancing)

    • 수평 스케일링을 할 때, 트래픽을 여러 서버에 고르게 분배하는 기술.
    • 특정 서버에 과부하가 걸리지 않도록 자동으로 분산함.
    • 라운드 로빈(Round Robin) 방식 등 다양한 분배 방식이 있음.

 

서버리스(Serverless)

    • 사용자는 서버를 직접 관리하지 않고, 원하는 기능을 수행하는 코드만 실행하는 방식.
    • AWS Lambda 같은 서비스가 대표적이며, 코드 실행만 신경 쓰면 됨.

 

이벤트 기반 아키텍처(Event-Driven Architecture)

    • 예를 들어, 아마존에서 주문이 들어오면 ‘결제’, ‘배송’, ‘사기 감지’ 등 여러 서비스가 자동으로 반응하는 방식.
    • 서비스 간의 의존도를 줄이고 유연성을 높여줌.

 

컨테이너 오케스트레이션(Container Orchestration)

    • 여러 개의 서버에서 동일한 애플리케이션을 실행하고 관리하는 기술.
    • 쿠버네티스(Kubernetes) 같은 도구를 사용해 컨테이너를 효율적으로 배포하고 운영함.

 

클라우드 스토리지(Cloud Storage)

    • 데이터를 저장하는 방식이 여러 가지 있음:
      • 객체 스토리지(Object Storage): 사진, 영상 등 파일을 저장하는 방식 (예: AWS S3).
      • 블록 스토리지(Block Storage): 서버의 하드디스크처럼 사용되는 저장소.
      • 데이터베이스 스토리지(Database Storage): SQL, NoSQL 등 데이터 저장을 위한 공간.

 

클라우드 네트워크(Cloud Network)

    • 기존의 기업 데이터센터와 달리, 클라우드는 기본적으로 모든 리소스가 인터넷과 차단된 상태.
    • 보안 규칙을 설정하여 원하는 리소스끼리만 통신할 수 있도록 함.

 

 

유튜브에 있는 많은 클라우드 컴퓨팅 소개 영상들 중에 몇 개 가져왔습니다.

 

안될과학 - 클라우드 컴퓨팅 한 방 정리

https://www.youtube.com/watch?v=exewHoMNjsQ&pp=ygUd7YG065287Jqw65OcIOy7tO2TqO2MhSDqsJzrhZA%3D

 

조코딩 - 요즘 모르면 안되는 클라우드 개념과 필수 서비스 무료 교육 알아보기

https://www.youtube.com/watch?v=eRTUmgODZtg&pp=ygUd7YG065287Jqw65OcIOy7tO2TqO2MhSDqsJzrhZA%3D

 

다음 글부터는 좀 더 구체적으로 제가 사용해본 클라우드 서비스들에 대해 설명해 보겠습니다.

 

'GreenTam의 생각' 카테고리의 다른 글

클라우드 컴퓨팅: Storage의 종류  (0) 2025.03.12
클라우드 컴퓨팅: Compute Engine  (0) 2025.03.12
클라우드 컴퓨팅: App Engine  (1) 2025.03.08
경제적 독립의 길  (6) 2025.03.03
직장인으로서의 단상  (1) 2025.02.17

 

저는 현재 많은 다른 분들과 같이 직장인의 삶을 살고 있습니다. 하지만 몇년전까지만 하더라도 대학교 연구실에서 연구활동에 종사하고 있었습니다. 그런데 현재의 삶을 돌아보니, 연구실에 있을때보다 많은 부분이 열악함을 느끼고 있습니다. 그래서 이직을 생각하고 있고 동시에 창업에도 관심이 있습니다.

 

이직의 경우에는 제 경험을 살려서 다른 연구실이나 회사로 옮길 수 있겠습니다만, 가장 바람직한 것은 창업입니다. 그렇지만 창업을 하려면 많은 준비를 해야해서 섣불리 시도하기 힘들고 위험하기도 합니다.

 

그래서 제가 가지고 있는 전문기술을 나열해 놓고 어떤 분야로 창업이 가능한지 생각해보려 합니다. 아래는 제가 지금까지 살면서 교과과정으로 혹은 독학으로 배운 전문 지식과 기술입니다.

 

  • 앱 개발 지식: 이 분야는 이미 많은 분들이 도전하고 있고, 온라인 강의 사이트를 통해서 쉽게 학습에 접할 수 있는 부분입니다. Android 개발용 코틀린, iOS 개발용 스위프트 등의 언어 학습이 필요합니다.
  • 인공지능 개발: 이 분야도 최근에 온라인 학습 사이트를 통해서 모델을 제작하고 배포하는 등의 실습을 할 수 있는 강의가 있습니다. 여러 종류의 기계학습 기법을 배울 수 있고, python 등의 언어로 모델을 만들 수 있습니다. 여기서 중요한 것은 데이터의 수집과 정제과정이 중요합니다.
  • 클라우드 컴퓨팅: 클라우드 컴퓨팅은 아직 생소한 분들이 많을 텐데, 쉽게 얘기해서 사용한 만큼 빌려쓰는 서버라고 생각하면 됩니다. 하지만 단순히 서버를 빌려준다기 보다는 매우 다양한 서비스가 있습니다. 예를 들면, 앱의 백앤드 기능 수행에서 부터, 앱의 부하가 늘어날 경우 서버를 자동으로 늘려준다든가, 인공지능 모델을 제공한다든가 등등 매우 방대한 내용이 있습니다. 대표적인 서비스 제공자로 아마존의 AWS와 구글의 GCP(google cloud platform)이 있습니다. 또한 각 사마다 클라우드 컴퓨팅에 대한 자격증을 발급하므로, 자격증을 취득하여 전문성을 갖출수 있습니다.
  • 디지털 제조: 3D 프린트, 그리고 CNC (computer numerical control)와 레이터 커팅 등이 있습니다. 이 3분야의 공통점은 모두 CAD (computer aided design) software를 사용할 줄 알아야하는 점입니다. 보통 상업적인 소프트웨어가 필요하지만 Autodesk의 일부 제품은 개인사용의 경우 프로젝트의 갯수를 제한하는 등의 제한을 걸고 무료로 사용하게 해 주기도 합니다.
    • 제 기억에 inventor 혹은 fusion을 무료로 사용한 적이 있습니다. 이것을 이용해서 desktop CNC를 구동하기 위한 tool path를 생성하고 실제로 CNC를 구동한 적이 있습니다.
    • 레이저 커터의 경우 maker space 등 공용장비를 확보하고 서비스하는 곳에서 사용할 수 있습니다. 대당 가격이 비싸므로 이런 서비스를 이용하는게 좋습니다.
    • 3D 프린터의 경우 다양한 가격대의 제품이 있으므로 선택할 수 있습니다. 대신 가격이 높을 수록 고급기능을 제공하므로 적당한 가격과 성능을 고려할 필요가 있습니다. 이 역시 형상을 디자인 할 수 있게 CAD 프로그램 사용지식이 필요합니다.
  • Embedded hardware: 특정한 기능을 수행하는 회로를 설계하고 제작하는 기술입니다. microcontroller가 포함된 기판을 주문 제작하여, 주로 센서에서 얻은 데이터를 온라인 상에 전송하여 데이터를 가공해서 다시 앱 등으로 제공하거나, 아니면 모터, 디스플레이 등을 구동합니다. 회로를 제작하기 위해서 유료 프로그램(Altium Designer) 혹은 무료 프로그램(KiCAD)를 사용할 수 있습니다.
  • MEMS(microelectromechanical system) 제작 지식: 이 부분은 제 본래 전문분야이며 대학교 연구실에서 다년간 경험을 쌓아야 되는 분야로 미세공정에 대한 지식과 공정에 대한 경험, 장비 사용 경험이 필요합니다. 대학원에서 해당분야(전자공학 등) 석사학위 혹은 박사학위를 받은 분에게만 해당하며 일반적으로 얻을 수 있는 지식이 아닙니다. 하지만 그래도 많은 분들이 이공계 대학원에서 석박사 학위를 취득하려 대학원에 진학하니, 가지고 있으신 분들도 많을 것입니다.

 

그럼 각 분야으로 어떤 일을 할 수 있는지 chatgpt에게 나열해보라고 하겠습니다. 1인 창업이 가능한 것만 추려달라고 했습니다.

 

1. 앱 코딩 (App Coding)

  • 모바일 앱 개발자: Android 및 iOS 앱을 개발하여 배포하는 전문가. 개인이 독립적으로 앱을 출시하거나 클라이언트 프로젝트를 수주할 수 있음.
  • 프리랜서 웹/소프트웨어 개발자: 웹사이트, SaaS(서비스형 소프트웨어), 데스크톱 애플리케이션을 개발하여 판매하거나 계약 작업 수행.
  • 게임 개발자: Unity, Unreal Engine 등을 활용한 모바일 및 인디 게임 개발 및 퍼블리싱.

 

2. 클라우드 컴퓨팅 (Cloud Computing)

  • 클라우드 솔루션 아키텍트: 중소기업 및 스타트업을 위한 클라우드 인프라 설계 및 구축.
  • DevOps 컨설턴트: CI/CD 구축, 서버 자동화, 클라우드 환경 최적화 등 기술 컨설팅 제공.
  • 프리랜서 백엔드 개발자: 클라우드 기반의 웹 서비스 및 API 구축을 통한 프로젝트 수행.

 

3. 디지털 제조 (3D 프린팅, CNC, 레이저 커팅 등)

  • 3D 프린팅 제작자: 주문 제작 서비스, 맞춤형 부품 및 프로토타입 생산.
  • CNC 가공 전문가: 소형 CNC 기계를 활용한 맞춤 부품 제작 및 온라인 판매.
  • 레이저 커팅 제품 제작자: 맞춤형 목재, 아크릴, 금속 제품을 디자인 및 생산하여 온라인 판매.
  • 디지털 제조 컨설턴트: 제조업체 및 스타트업 대상 디지털 제조 기술 도입 컨설팅.

 

4. AI 프로그래밍 (AI Programming)

  • AI 솔루션 개발자: 머신러닝 및 딥러닝 모델을 활용한 맞춤형 AI 솔루션 개발.
  • 컴퓨터 비전 개발자: 영상 인식, OCR, 객체 탐지 등의 AI 모델을 활용한 제품 개발.
  • AI 자동화 컨설턴트: 기업의 업무 자동화를 위한 AI 및 RPA 솔루션 개발.

 

5. 임베디드 하드웨어 제작 (Embedded Hardware Fabrication)

  • 임베디드 시스템 개발자: IoT 기기 및 소형 전자 장치의 펌웨어 개발 및 제조.
  • 프리랜서 하드웨어 엔지니어: 맞춤형 PCB 설계 및 개발, 소량 생산 서비스 제공.
  • IoT 제품 개발자: 스마트 센서, 웨어러블 디바이스 등 독립적 제품 기획 및 제작.

 

6. 마이크로 전자 제조 (MEMS 및 기타 마이크로 전자 장치)

  • MEMS 센서 개발자: 소형 센서의 설계 및 시제품 제작, 연구기관 및 스타트업 대상 컨설팅.
  • 프리랜서 전자 소자 개발자: MEMS 공정 및 마이크로 전자 공정을 활용한 특화 제품 개발.
  • 전문 시제품 제작 서비스: 연구기관, 대학, 스타트업을 위한 맞춤형 MEMS 센서 및 전자 소자 개발.

 

위의 대답들 중 이미 익숙한 것들이 많이 보입니다. 그 다음 2개의 전문 분야 지식으로 어떤 일을 할 수 있는지 chatgpt에게 나열해보라고 하겠습니다. 역시 1인 창업이 가능한 것만 추려달라고 했습니다.

 

1. 앱 코딩 + 클라우드 컴퓨팅

  • 클라우드 기반 SaaS 개발자: 클라우드에서 동작하는 웹앱이나 서비스를 개발하고 운영하는 1인 창업 가능.
  • 모바일+백엔드 개발자: 모바일 앱과 클라우드 백엔드를 함께 개발하여 완전한 솔루션 제공.
  • AI 기반 앱 서비스 개발자: AI 기능이 포함된 모바일 또는 웹앱을 클라우드와 연동하여 서비스 구축.

 

2. 앱 코딩 + 디지털 제조 (3D 프린팅, CNC, 레이저 커팅)

  • 스마트 제품 개발자: 맞춤형 하드웨어(3D 프린팅, CNC)와 앱을 결합한 제품 개발 및 판매.
  • IoT 기반 DIY 키트 제작자: 앱으로 제어할 수 있는 DIY 전자 키트 제작 및 판매.
  • 디지털 제조 자동화 개발자: 제조 공정을 최적화하는 소프트웨어 및 앱 개발.

 

3. 앱 코딩 + AI 프로그래밍

  • AI 챗봇 개발자: 자연어 처리 AI를 활용한 챗봇을 개발하여 기업에 제공.
  • AI 영상 분석 앱 개발자: 얼굴 인식, 객체 탐지 등의 AI 기능을 포함한 모바일/웹앱 개발.
  • AI 기반 데이터 분석 SaaS 개발자: 데이터 시각화 및 분석 웹앱을 AI와 결합하여 개발.

 

4. 클라우드 컴퓨팅 + 디지털 제조

  • 클라우드 기반 제조 자동화 솔루션 개발자: 3D 프린팅, CNC 기계의 원격 제어 및 데이터 분석 시스템 개발.
  • 스마트 팩토리 컨설턴트: 중소 제조업체의 클라우드 기반 디지털 제조 솔루션 구축.
  • 클라우드 연동 IoT 제조 개발자: 클라우드와 연결되는 스마트 디지털 제조 장비 개발 및 판매.

 

5. 클라우드 컴퓨팅 + AI 프로그래밍

  • AI API 서비스 개발자: 머신러닝 모델을 클라우드에서 API로 제공하는 서비스 개발.
  • AI 클라우드 데이터 분석 컨설턴트: 클라우드 기반 데이터 분석 및 인공지능 자동화 컨설팅.
  • 자동화 SaaS 개발자: AI를 활용한 클라우드 기반 자동화 툴 개발 및 운영.

 

6. 클라우드 컴퓨팅 + 임베디드 하드웨어 제작

  • IoT 솔루션 개발자: 클라우드와 연결되는 IoT 기기 설계 및 펌웨어 개발.
  • 스마트 디바이스 개발자: 원격 제어 및 클라우드 연동이 가능한 하드웨어 제작.
  • 임베디드 시스템 클라우드 관리자: 원격 센싱 및 IoT 데이터 수집을 위한 클라우드 솔루션 개발.

 

7. 디지털 제조 + AI 프로그래밍

  • AI 기반 제조 공정 최적화 컨설턴트: 머신러닝을 활용하여 제조 공정을 분석하고 자동화.
  • 스마트 로봇 제작자: AI 모델을 활용하여 3D 프린팅 및 CNC로 제작한 로봇 개발.
  • AI 기반 맞춤형 제조 서비스 개발자: AI가 자동으로 최적의 디자인을 생성하는 디지털 제조 솔루션 개발.

 

8. 디지털 제조 + 임베디드 하드웨어 제작

  • 맞춤형 IoT 디바이스 제작자: 3D 프린팅/CNC로 케이스를 제작하고, 내부에 임베디드 하드웨어를 조립하여 판매.
  • DIY 전자 제품 개발자: 3D 프린팅과 회로 설계를 결합한 전자 제품 제작 및 판매.
  • 웨어러블 디바이스 개발자: 스마트밴드, 헬스케어 제품 등을 제작하여 1인 기업으로 운영.

 

9. AI 프로그래밍 + 임베디드 하드웨어 제작

  • AIoT 디바이스 개발자: AI 기반 센서를 개발하여 IoT 기기로 활용.
  • 스마트 센서 개발자: 머신러닝을 활용한 환경 감지 센서 제작 및 판매.
  • AI 음성 인식 디바이스 개발자: 음성 인식 AI를 활용한 소형 임베디드 하드웨어 제작.

 

10. 임베디드 하드웨어 제작 + 마이크로 전자 제조 (MEMS 등)

  • MEMS 센서 기반 IoT 기기 개발자: MEMS 센서를 활용한 소형 IoT 제품 제작 및 판매.
  • 웨어러블 헬스케어 디바이스 개발자: 마이크로 전자 기술을 활용한 맞춤형 건강 모니터링 기기 제작.
  • 초소형 로봇 개발자: 마이크로 전자 공정을 활용한 초소형 로봇 설계 및 제작.

 

좀 새로운 개념의 직업이 보이시나요? 그 다음엔 3개의 전문 분야 지식으로 어떤 일을 할 수 있는지 chatgpt에게 나열해보라고 하겠습니다. 역시 1인 창업이 가능한 것만 추려달라고 했습니다.

 

1. 앱 코딩 + 클라우드 컴퓨팅 + AI 프로그래밍

  • AI 기반 자동화 SaaS 개발자: 머신러닝과 클라우드를 활용한 웹 서비스 및 앱 개발. (예: AI 고객지원, 데이터 분석 플랫폼)
  • AI 영상 분석 솔루션 개발자: 클라우드에서 실행되는 AI 기반 영상 분석 웹앱 및 모바일 앱 개발.
  • AI 챗봇 및 음성 인식 앱 개발자: AI 기반 챗봇, 음성 인식 시스템을 클라우드와 연동한 앱 제작.

 

2. 앱 코딩 + 클라우드 컴퓨팅 + 디지털 제조 (3D 프린팅, CNC, 레이저 커팅)

  • 스마트 제조 플랫폼 개발자: CNC, 3D 프린터와 연동되는 클라우드 기반 제조 관리 소프트웨어 및 앱 개발.
  • IoT 스마트 가전 개발자: 앱을 통해 클라우드에 연결되는 스마트 가전 제품(예: 맞춤형 공기청정기, 로봇청소기) 설계 및 제작.
  • 디지털 제작 주문 시스템 개발자: 3D 프린팅 및 CNC 가공을 위한 온라인 맞춤 제작 플랫폼 개발 및 운영.

 

3. 앱 코딩 + 클라우드 컴퓨팅 + 임베디드 하드웨어 제작

  • IoT 스마트 홈 디바이스 개발자: 클라우드와 연동되는 스마트 홈 기기(예: 원격 온도조절기, 스마트 조명) 개발.
  • 웨어러블 디바이스 개발자: 실시간 데이터 전송이 가능한 스마트 밴드, 건강 모니터링 디바이스 개발.
  • AIoT 제품 개발자: 클라우드 기반 IoT 센서를 활용한 맞춤형 하드웨어 및 앱 개발.

 

4. 앱 코딩 + 디지털 제조 + 임베디드 하드웨어 제작

  • 스마트 IoT 제품 개발자: 3D 프린팅, CNC 가공으로 하드웨어를 제작하고 앱을 통해 제어 가능한 IoT 기기 개발.
  • 스마트 헬스케어 디바이스 개발자: 3D 프린팅으로 웨어러블 장치 제작 후 센서를 탑재하여 건강 모니터링 제품 제작.
  • 맞춤형 스마트 장난감 개발자: 어린이를 위한 스마트 장난감 및 교육용 IoT 디바이스 제작.

 

5. 클라우드 컴퓨팅 + AI 프로그래밍 + 임베디드 하드웨어 제작

  • AIoT 디바이스 개발자: AI가 학습한 데이터를 클라우드로 분석하고, 임베디드 기기로 피드백 제공. (예: 스마트팜 시스템)
  • AI 기반 스마트 센서 개발자: 클라우드에서 데이터를 처리하는 지능형 센서 개발.
  • 자율주행 로봇 개발자: AI 알고리즘을 탑재한 소형 자율 로봇 제작 및 제어.

 

6. 클라우드 컴퓨팅 + 디지털 제조 + 임베디드 하드웨어 제작

  • 스마트 공장 솔루션 개발자: CNC, 3D 프린팅 공정과 연동된 클라우드 기반 자동화 시스템 구축.
  • 커스텀 IoT 제품 개발자: 디지털 제조를 활용하여 맞춤형 IoT 기기 제작 및 클라우드로 원격 제어 기능 제공.
  • 산업용 스마트 센서 개발자: 공장에서 사용하는 환경 센서를 개발하고 클라우드 분석 기능 제공.

 

7. AI 프로그래밍 + 디지털 제조 + 임베디드 하드웨어 제작

  • AI 기반 로봇 개발자: 3D 프린팅 및 CNC 가공으로 하드웨어를 제작하고 AI를 활용한 자율제어 로봇 개발.
  • AIoT 스마트 센서 개발자: AI로 환경 데이터를 분석하는 스마트 센서 제작 및 클라우드 연동.
  • AI 영상 처리 드론 개발자: 드론에 AI 카메라를 장착하여 영상 분석 및 자율 주행 기능 개발.

 

8. AI 프로그래밍 + 클라우드 컴퓨팅 + 마이크로 전자 제조 (MEMS)

  • AI 기반 MEMS 센서 개발자: 머신러닝을 활용한 스마트 MEMS 센서 개발 및 클라우드 데이터 분석.
  • AIoT 초소형 센서 개발자: MEMS 기술로 초소형 센서를 제작하고 AI 기반 데이터 분석 솔루션 제공.
  • 스마트 헬스케어 센서 개발자: MEMS 기반 생체 신호 센서를 개발하고 클라우드로 실시간 분석.

 

9. 디지털 제조 + 임베디드 하드웨어 제작 + 마이크로 전자 제조 (MEMS)

  • MEMS 기반 스마트 디바이스 개발자: MEMS 센서가 포함된 웨어러블 또는 스마트 IoT 기기 제작.
  • 맞춤형 의료기기 개발자: MEMS 기술을 활용한 의료용 웨어러블 기기 제작.
  • 초소형 로봇 개발자: 마이크로 전자 공정과 디지털 제조 기술을 활용한 초소형 로봇 설계 및 제작.

 

이상 모두 1인 창업이 가능한 직업을 제시한 결과입니다.

 

물론 위의 어느 한 분야도 전문가가 되기 쉽지 않습니다. 하지만 자신의 주 전문 분야가 한 분야 정도는 있을 수 있고, 그것에 더하여 다른 분야의 지식을 조금씩 덧붙일 수 있겠습니다. 제 경우도 MEMS 분야만 제 전문 분야이고 나머지는 독학으로 조금씩 배운부분이라 전문가 수준에 미치지는 못합니다. 그래도 필요한 기능의 실현을 위한 정도로는 배워서 써먹고 있습니다. 나중에 위의 지식들 중에 어떤 부분이 제가 현재 진행하는 습도센서, 토양습도 감지 시스템의 실현에 사용되는지 말씀드리겠습니다. 또한 다음 글에서 각 부분을 어디서 어떤 경로로 배우게 되었는지 차례로 알려드리겠습니다.

 

아무쪼록 직장생활을 하시면서 평소에 조금씩 배우셔서 나중에 독립하실때 밑천이 되시길 바랍니다.

 

'GreenTam의 생각' 카테고리의 다른 글

클라우드 컴퓨팅: Storage의 종류  (0) 2025.03.12
클라우드 컴퓨팅: Compute Engine  (0) 2025.03.12
클라우드 컴퓨팅: App Engine  (1) 2025.03.08
클라우드 컴퓨팅: 개념  (3) 2025.03.08
직장인으로서의 단상  (1) 2025.02.17

 

지난번글에서 예고했듯이 두 종류의 흙이 섞인 복합흙에서의 센서값을 조사해 보았습니다. 총 7종의 흙 중에서 센서의 값이 가장 큰 녹소토와 가장 작은 펄라이트를 골라서 섞었습니다.

 

그 흙들은 밀도가 매우 달라서 녹소토가 펄라이트에 비해 약 2.6배 무겁습니다. 그래서 부피 기준으로 절반씩 되도록 섞어주었습니다. (녹소토 214g + 펄라이트 82g = 총 296g) 만약 무게 기준으로 절반씩 섞으면 펄라이트가 훨씬 많이 섞여서 순수한 펄라이트와 비슷해집니다. 그래서 부피 기준으로 절반씩 섞어야 흙을 혼합했을때 절반씩 섞인 것으로 보입니다.

 

아래는 상대 습도의 변화에 따른 센서값의 변화입니다.

여기서 X는 상대 습도 (혼합흙의 무게 대비 투입한 물의 양), Y는 센서의 값입니다.

 

X와 Y를 뒤집은 함수는 아래와 같습니다.

 

그럼 순수한 녹소토, 순수한 펄라이트와 복합흙의 결과를 비교해 보겠습니다.

 

아래의 그래프는 이전의 녹소토, 펄라이트의 결과에 오늘 측정한 혼합흙의 결과를 합친 결과입니다. 녹소토는 빨간색, 펄라이트는 파란색으로 표시하였으며, 보라색 점선은 위에서 측정한 혼합흙의 측정결과, 보라색 실선은 녹소토와 펄라이트의 식들을 절반씩 비중으로 합산한 결과입니다. 그러니까 보라색 실선은 두 종류의 순수한 흙으로부터 예상되는 예측값인 셈입니다.

보라색 실선과 점선을 비교하면 측정값과 예측값이 약간 차이가 있기는 하지만, 대체로 측정 결과가 예측 결과와 비슷하다는 것을 알 수 있습니다.

그러니까 결론은, "두 종류의 순수한 흙들로 혼합흙을 만들면, 혼합흙의 측정결과는 각 구성 흙의 부피비율에 따른 합산 (weighted sum by volume ratio) 결과와 비슷하다"입니다.

 

다음 시간에는 다른 종류의 흙들로 좀 더 실험을 해보고 위의 주장이 맞는지 좀 더 검증해 보겠습니다.

 

 

제가 호야 카르노사 작은 화분2개를 가지고 있는데 작년 10월말부터 지금까지 습도센서를 이용해서 주기적으로 물을 주고 있습니다. 11월 초에 찍은 사진은 아래와 같이 2개 모두 건강합니다.

사진 1
사진2

그런데 위쪽 화분(사진1)은 12월 경부터 시들시들하더니 잎이 하나씩 떨어지기 시작했습니다. 아래의 사진3은 같은 화분(사진1의 화분)을 1월 25일경에,  사진4는 오늘 (3월2일) 찍은 사진입니다.

 
사진3
사진4

습도센서의 값이 일정 수준으로 내려오면 그때마다 물을 주곤 했으니 물이 부족해서 시든것은 아닙니다. 무언가 다른 원인때문입니다. 반면 사진2 화분은 아래 사진 처럼 여전히 건강합니다.

 

 

식물 초보인 저는 무슨원인으로 이렇게 된 것인지 알수 없습니다.

여기서 드는 생각은 다음과 같습니다.

 

  • 식물의 건강은 물주기만으로 충분하지 않으며 토양, 양분, pH, 일조량, 공기 온습도 등의 다른 요소도 중요하다.
  • 따라서 식물 관리는 센서만으로는 부족하며 이상이 있을 경우 전문가(혹은 진단 서비스 등)의 도움이 필요하다.

 

하지만 습도센서의 기록을 보면 시드는 증세와 관련이 있어보이는 점이 있습니다.

아래 두 그래프에서 위의 것은 건강한 화분(사진2)의 것이고 아래의 것은 시든 화분(사진1, 3, 4)의 것입니다. 물을 주기 위한 습도 하한값은 임의로 제가 약 1000정도로 놓았습니다. 그래프의 값이 갑자기 뛰어오르는 시점이 제가 화분에 물을 준 시점입니다.

사진2 화분

 

 
사진1 화분

 

두 화분 모두 습도의 기록은 작년 10월말 부터입니다. 위쪽 화분(사진2 화분)의 기록을 보면 습도의 상승/하강 주기가 약 9일 정도로 현재까지 비교적 일정한 편입니다. 그러나 아래쪽 화분(사진1 화분)의 경우 11월의 기록을 보면 물을 준 직후 습도의 하강이 비교적 완만하다가 최근에는 하강속도가 매우 빠른 것을 알 수 있습니다. 그래서 아래쪽 화분의 경우 습도를 빨리 감소시키는 어떤 원인이 있는 것 같습니다. (중간의 그래프(11월20일 ~ 12월 18일)가 이상한 것은 실수로 다른 데이터와 섞여서 그렇습니다.)

 

결론적으로 식물의 상태와 관수 직후의 토양습도 하강률 간에 어떤 상관관계가 있는 것 같습니다. 그래서 하강률이 식물의 건강상태 확인의 지표 중 하나가 될 수 있을 것 같습니다. 다만 여전히 1월 경에도 11월 기록과 하강률이 비슷하므로 식물이 매우 좋지 않은 상태가 되어서야 하강률의 변화가  나타나는 것 같습니다.

 

+ Recent posts