728x90

서비스 플랫폼 개발은 다양한 서비스들을 제공하기 위한 기반 시스템을 개발하는 것입니다. 이를 위해서는 다양한 기술과 프레임워크, 라이브러리 등을 사용하여 안정적이고 확장 가능한 시스템을 구축하는 것이 필요합니다.

서비스 플랫폼 개발에서는 주로 백엔드 시스템과 프론트엔드 시스템으로 구분됩니다. 백엔드 시스템은 데이터베이스와 서버 사이드 언어, 프레임워크 등을 사용하여 비즈니스 로직을 구현하고 API를 제공합니다. 프론트엔드 시스템은 사용자 인터페이스를 개발하여 웹 페이지나 애플리케이션을 제공합니다.

또한, 서비스 플랫폼 개발에서는 보안, 성능, 가용성, 확장성 등 다양한 요구사항을 고려해야 합니다. 보안 측면에서는 인증, 인가, 암호화 등을 적용하여 사용자 정보를 보호합니다. 성능 측면에서는 캐싱, 로드 밸런싱 등을 사용하여 빠른 응답 속도를 제공합니다. 가용성 측면에서는 여러 대의 서버를 사용하여 장애 대응을 할 수 있도록 합니다. 확장성 측면에서는 수요가 늘어나면 시스템의 자원을 추가로 할당할 수 있도록 합니다.

서비스 플랫폼 개발은 기업에서 자사 서비스를 제공하는 경우뿐만 아니라, API를 제공하여 다른 애플리케이션에서 사용할 수 있는 경우도 많습니다. 이를 통해 다른 기업과의 협력이나 제휴 등 다양한 비즈니스 기회를 모색할 수 있습니다.

 

 

  1. 클라우드 컴퓨팅 기술 서비스 플랫폼은 클라우드 컴퓨팅 기술을 기반으로 개발됩니다. 클라우드 컴퓨팅 기술을 이용하면 서비스 제공자는 유연한 서버 자원을 사용할 수 있으며, 서비스 이용자는 필요한 만큼의 자원을 이용할 수 있습니다.
  2. 대용량 데이터 처리 기술 서비스 플랫폼은 매우 많은 양의 데이터를 처리해야 하므로 대용량 데이터 처리 기술이 필요합니다. 이를 위해 분산 데이터 처리 기술, 데이터 분석 기술, 빅데이터 기술 등을 이용합니다.
  3. 마이크로서비스 아키텍처 서비스 플랫폼은 여러 개의 서비스를 운영하므로 각 서비스는 독립적으로 운영되어야 합니다. 이를 위해 마이크로서비스 아키텍처를 이용하면 각 서비스는 독립적인 프로세스로 운영될 수 있습니다.
  4. API 개발 및 관리 기술 서비스 플랫폼에서는 서비스 제공자와 이용자가 API(Application Programming Interface)를 이용해 상호작용합니다. 이를 위해 API 개발 및 관리 기술이 필요합니다. 이를 위해 REST API, GraphQL 등을 이용할 수 있습니다.
  5. 보안 기술 서비스 플랫폼에서는 다양한 종류의 데이터를 다루므로 보안 기술이 매우 중요합니다. 이를 위해 데이터 암호화 기술, 인증 및 권한 부여 기술, 네트워크 보안 기술 등을 이용합니다.
  6. DevOps 서비스 플랫폼 개발에서는 빠른 배포와 안정적인 서비스 운영이 중요합니다. 이를 위해 DevOps(Development and Operations)를 이용하면 소프트웨어 개발과 운영을 통합하여 더욱 효율적인 개발이 가능하다

 

 

728x90

'프로젝트' 카테고리의 다른 글

목동코딩학원, 게임을 개발하는 벙법론 요약  (0) 2023.03.11
728x90

게임 개발 방법론은 크게 물리 엔진, 그래픽 엔진, 인공지능, UI/UX 디자인 등으로 나뉘어 개발됩니다. 보통 게임을 개발하는 과정은 아래와 같은 단계로 이루어집니다.

 

  1. 기획 단계 게임 개발을 시작하기 전에는 게임 아이디어를 기획합니다. 게임 아이디어를 기획하는 단계에서는 게임의 장르, 시나리오, 캐릭터, 그래픽 등에 대한 기획을 수행합니다. 이 과정에서는 기획자, 그래픽 디자이너, 스토리 작가 등 다양한 직군이 참여합니다.
  2. 디자인 단계 게임 기획이 완료되면, 이어서 디자인 단계로 진행됩니다. 이 단계에서는 게임의 캐릭터, 아이템, 배경 등을 디자인합니다. 그래픽 디자이너, 애니메이터, 3D 모델러 등 다양한 직군이 참여합니다.
  3. 프로그래밍 단계 디자인이 완료되면, 이제 프로그래밍 단계로 진행됩니다. 프로그래밍 단계에서는 게임의 물리 엔진, 그래픽 엔진, 인공지능, UI/UX 등을 구현합니다. 프로그래머, 엔진 개발자, UI/UX 디자이너 등 다양한 직군이 참여합니다.
  4. 테스트 및 QA 단계 프로그래밍이 완료되면, 이제 테스트 및 QA 단계로 진행됩니다. 이 단계에서는 게임의 버그를 발견하고 수정합니다. QA 테스터, 프로그래머 등 다양한 직군이 참여합니다.
  5. 출시 단계 게임이 완성되면, 이제 출시 단계로 진행됩니다. 이 단계에서는 게임을 출시할 플랫폼에 맞게 최적화하고, 마케팅을 수행합니다. 게임 퍼블리셔, 마케팅 디자이너, 그래픽 디자이너 등 다양한 직군이 참여합니다.

이처럼 게임 개발에는 다양한 직군들이 참여하며, 기획, 디자인, 프로그래밍,QA, 출시 등의 단계를 거쳐 개발됩니다.

728x90
728x90

목동코딩 : 무인키오스크 개발

이번에 개발해서 납품한, 무인스터디카페 시스템이 실제 운영을 시작했습니다.

개발을 하면서 운영 방식이 조금씩 바뀌다 보니, 미쳐 생각하지 못한 에러를 바로 잡느라고 2일 정도를 추가로 현장에서 작업을 했습니다.

이제 실제 모드로 바꾸어서 , 방문 하는 학생들이 회원 등록하고, 결제하고 , 자리 설정을 하고 하는 장면을 보니까 마음이 뿌듯합니다 ㅎㅎ.

부디 큰 에러 없이 시스템이 운영 되기를 바랍니다.

시스템이라는 말이 유기적인 연관성을 가지고 운영 된다는 말인 것 처럼, 이번에 개발한 무인스터디카페 시스템도 여러가지 모듈이 연결된 구성이라서 나름 재밌는 프로젝트 였습니다.

마스크 덕분에 모자이크 처리는 안 해도 되네요 ㅎㅎ.

 

목동코딩 키오스크개발
목동코딩 키오스크개발
목동코딩 키오스크개발
목동코딩 키오스크개발
목동코딩 키오스크개발

 

 

728x90
728x90

목동코딩: 내발산동 그랑데 무인스터디카페 오픈

2021.10.1 토요일 , 언택트메이커스 2호점을 오픈했습니다.

시스템 준비는 1호점을 위해서 시작했는데 실 적용은 2호점을 먼저 하게 되었습니다 ㅎ.

음악을 잘 모르는 나 이지만, 음악으로 설명하면 오늘 오케스트라 공연을 한거와 비슷할거 같습니다.

키오스크를 통한 사용요금 결제를 하고, 자리 설정을 통한 출입을 통제하고, 동시에 사용할 자리의 전등 제어까지 운영 시나리오에 따라서 시스템 테스트를 했습니다.

테스트 과정을 지켜본 관계자 분들이 코딩의 신기함에 얼굴에 미소가 번져갔습니다. 예전에 제회사 로고를 인쇄한 트럭들을 길에서 볼때의 설레임이 생각 났습니다. 이 시스템도 많은 회원들이 사용 하기를 바랍니다.

 

많은 프로젝트가 개발비를 들인다고 모두 만족할 만한 성과를 내지는 못하는데, 나름 만적한 모습 이었습니다.

시스템 테스트를 하는 동안, 내 머리속은 바쁘게 돌아 갔습니다. 오케스트라를 지휘하면서 악기 소리가 제대로 나느지도 체크하고, 그러면서 제대로 하모니가 이루어지는 지를 점검했습니다.

전과정을 혼자서 만들었기에 오히려 편했다는 생각입니다. 테스트 과정에서 보완 할 문제를 내 머리속에서만 해결하면 되니까 다른 팀 과의 인터페이스가 필요 없었습니다.

카드결제, 출입통제, 전등통제, 카톡을 통한 알림 등등이 통합된 시스템입니다. 이렇게 언택트로 ,하나 둘씩 제가 관리해야할 업체가 늘어 가는 모습에 만족한 하루 였네요.....

조만간 간석점도 오픈을 해야하니 이제 3호점에서 운영할 시스템을 또 준비해야겠습니다. 각각의 점포의 운영 방식이 조금씩 다르다 보니, 적용할 무인시스템도 약간의 커스터마이징이 필요하네요. 그래도 모 어때요 그게 다 돈인데 ㅎㅎㅎ.

 

목동코딩 코딩교육 키오스크개발
목동코딩 코딩교육 키오스크개발
목동코딩 코딩교육 키오스크개발
목동코딩 코딩교육 키오스크개발

 

목동코딩 코딩교육 키오스크개발
목동코딩 코딩교육 키오스크개발
목동코딩 코딩교육 키오스크개발

 

 

목동코딩: 그랑데 스터디카페 키오스크운영 테스트

 

목동코딩: 그랑데 스터디카페 키오스크운영 테스트

 

728x90
728x90

목동코딩학원 : 안드로이드 교육

안드로이드로 앱을 개발하다 보면, 안드로이드에서 제공하는 Toast 메시지로만 처리하기에는 조금 부족한 면이 있다. 그래서 Toast 역시 커스터마이징 해서 표시되는 위치나 글자 크기, 색상 등을 변경해서 사용하곤 했다.

이번에는 커스텀 다이얼로그를 만들어서 이미지 까지 포함하는 메시지를 사용하는 방법을 정리해둔다.

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="500dp"
    android:layout_height="500dp"
    android:gravity="center"
    android:layout_marginBottom="30dp"
    android:layout_marginTop="50dp"
    android:background="#ffffff"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:background="#ffffff"
        android:orientation="vertical">

        <TextView
            android:id="@+id/custom_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:text="이용약관"
            android:textSize="40dp" />

        <TextView
            android:id="@+id/custom_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:text="확인합니다"
            android:textSize="20dp" />

        <ImageView
            android:id="@+id/custom_image"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:src="@drawable/common_member" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:layout_marginTop="20dp"
        android:weightSum="100">

        <Button
            android:id="@+id/pbutton"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="50"
            android:text="확인" />

        <Button
            android:id="@+id/nbutton"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="50"
            android:text="취소" />
    </LinearLayout>
</LinearLayout>

 

목동코딩학원 코딩교육 키오스크개발

 

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //다이얼로그 밖의 화면은 흐리게 만들어줌
        WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
        layoutParams.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
        layoutParams.dimAmount = 0.8f;
        getWindow().setAttributes(layoutParams);

        setContentView(R.layout.custom_dialog);

        full_screen();

        //셋팅
        mTitle = (TextView)findViewById(R.id.custom_title);
        mText = (TextView)findViewById(R.id.custom_text);
        mImage = (ImageView)findViewById(R.id.custom_image);

 
        mTitle.setText(sTitle);
        mText.setText(sText);
        mImage.setImageResource(R.drawable.common);        

        mPositiveButton=(Button)findViewById(R.id.pbutton);
        mNegativeButton=(Button)findViewById(R.id.nbutton);

        //클릭 리스너 셋팅 (클릭버튼이 동작하도록 만들어줌.)
        mPositiveButton.setOnClickListener(mPositiveListener);
        mNegativeButton.setOnClickListener(mNegativeListener);
    }
String title = "구매등록";
String text1 = "이용권 구매를 완료했습니다";
customDialog = new CustomDialog(AmountActivity.this,positiveListener,negativeListener);
customDialog.setsTitle(title);
customDialog.setsText(text1);
customDialog.show();

목동코딩 언택트 코딩교육

 

728x90
728x90

목동코딩 : 안드로이드 코딩교육

안드로이드 앱을 개발하면서 아래 사진과 같은 체크박스를 만들고 싶어서, 구글 검색을 통해 체크박스 크기를 변경하는 방법을 찾다보니, background에 이미지를 넣어서 하는 방법이 있어서 정리해 둡니다.

 

 

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 체크박스 해제상태 -->
    <item android:drawable="@drawable/check_before" android:state_checked="false" />
    <!-- 체크박스 선택상태 -->
    <item android:drawable="@drawable/check_drop" android:state_checked="true" />
    <!-- 체크박스 기본상태 -->
    <item android:drawable="@drawable/check_before" />
</selector>

 

 

<CheckBox

android:layout_width="40dp"

android:layout_height="40dp"

android:text=""

android:id="@+id/term"

android:layout_marginLeft="76dp"

android:gravity="center"

android:button="@android:color/transparent"

android:background="@drawable/check_box"

android:layout_alignParentRight="true" />

 

목동코딩 안드로이드 앱개발 코딩교육

 

 

목동코딩 안드로이드 앱개발 코딩교육

 

 

목동코딩 안드로이드 앱개발 코딩교육

728x90
728x90

목동코딩:

오늘은 청라에 가서 무인 스터디카페 시스템을 종합 테스트를 진행했습니다. 그중에 입실.퇴실과 동시에 각각 회원의 자리의 전등제어를 하기 위해서 Sonoff의 펌웨어를 커스터마이징을 하였습니다.

이번 시스템은 중앙 집중적인 서버 방식에서 벗어나, 로컬방식으로 진행했습니다.

간혹 중앙 집중적인 서버에 문제가 생기면, 전체 스터디카페 프랜차이즈가 문제가 발생하는 것을 방지 하기 위하여, 로컬 방식으로 진행을 했습니다. 그리고 인터넷으로 인한 문제를 최소화 하기 위해서 3중 인터넷 방식으로 준비 하였습니다.

전등제어 전체 모듈에 펌웨어를 업로드 한후 , 자리예약, 입실, 퇴실을 테스트 해보니 다행스럽게 잘 동작 하였습니다.

이제 본격적으로 무인 스터디 카페가 오픈을 하면 , 조금 더 모니터링을 하면서 혹시 수정 사항이 있는지 , 다시 한번 체크할 예정입니다. 경험상 시스템의 가(假) 오픈에서 발견되지 않던 오류가 , 실제 오픈에서 발견되는 경우가 종종 있으니 신경을 더 많이 써야 하겠습니다 ㅎ.

 

 

목동코딩학원 무인스터티카페 전등제어 펌웨어 커스터마이징

 

728x90
728x90

목동코딩학원: 키오스크개발

스터디카페용 무인 키오스크 프로젝트를 하면서 전등 제어를 해야할 필요가 생겼다. 회원의 입실과 퇴실시 전기를 낭비하지 않기 위하여, 자동으로 전등을 On Off 하는 내용이 프로젝트에 포함 되어있었다.

그래서 새롭게 PCB를 설계하여 개발하려고 했으나 빠른 납기문제로 기존에 판매중인 와이파이 스위치를 사용하기로 했다.

현재 판매되는 제품은 거의 모든 제품이 와이파이 스위치를 판매하는 브랜드별로 컨트롤 앱을 별도로 제공을 한다. 일반 사용자는 간편하게 앱을 다운받아서 사용하면 된다. 하지만 여기에 문제가 있었다. 지금 내가 개발하는 스터디카페 키오스크시스템에 연동을 하기 위해서는 펌웨어를 반드시 바꿔야만 했다. 그래서 열심히 검색한 결과로 펌웨어를 교체하는 방법을 알게됐다. 오늘의 블로그는 단순하게 펌웨를 바꾸어서 테스트한 영상을 올립니다

 

 

 

 

 

 

 

728x90

+ Recent posts