드림톡 콘서트 - 과학 행사

오픈 소스 소프트웨어(코딩)

이광춘

비영리법인 한국 R 사용자회

2023년 7월 10일

목차

  1. 오픈소스 소프트웨어
  2. 챗GPT 인터페이스
  3. 다양한 소프트웨어 개발방법
  4. 계산기 프로그램
  5. 문서화 프로그래밍 커뮤니티
  6. 질의응답

강사소개 & 강의 개요

AI 아바타

주요경력 및 학력

  • (현) 공익법인 한국 R 사용자회: 기술 이사

  • (현) 국가교육위원회 전문위원: 과학/기술 분과

  • (현) 건국대학교 챗GPT 데이터 사이언스 과정: 외래교수

  • (현) 경기도 빅데이터 위원회 자문위원

  • (전) TCS: GS 칼텍스 디지털 아카데미 강사

  • (전) 연세대학교 데이터 사이언스: 겸임교수

  • (전) 삼정 KPMG: Lighthouse AI 기술총괄

  • (전) 웹젠: 데이터 과학자 TD

  • (전) 현대모비스: 차량용 반도체 개발구매

  • (전) 현대자동차: VAATZ / FTA




  • KAIST, CMU, 연세대 응용통계 및 컴퓨터 과학 전공

  • RStudio Instructor - Tidyverse

  • Seoul R Meetup Organizer

강의상세

  • 자율형 교육과정: 다들배움 - 과학 강연
  • 날짜 : 2023. 7. 10. (월) 10:30 ~ 12:30
  • 장소 : 부산남고
  • 대상 : 25명
  • 내용: 오픈 소스 소프트웨어(코딩)
    • 하드웨어/소프트웨어
    • 챗GPT 사용자 인터페이스
    • 다양한 소프트웨어 개발방법
    • 계산기 프로그램
    • 문서화 프로그래밍 커뮤니티
    • 챗GPT 디지털 글쓰기 출판

오픈소스 소프트웨어

컴퓨터 하드웨어

컴퓨터 소프트웨어 (Meeker, 2017)

오픈소스 소프트웨어

라이선스 문제

라이선스 호환과 선택

콘텐츠와 데이터


데이터베이스 라이선스

graph TD
  A["Database Licenses"] --> B["Open Database License (ODbL)"]
  A --> C[Creative Commons licenses]
  A --> D["GNU General Public License (GPL)"]
  A --> E["Affero General Public License (AGPL)"]
  A --> F[Proprietary Licenses]  

콘텐츠 라이선스

graph TD;
    A["Content Licenses"] --> B[Public domain]
    A --> C[Creative Commons licenses]
    A --> D[All rights reserved]
    C --> E[CC0]
    C --> F[Attribution]
    C --> G[Non-commercial]
    C --> H[Share-alike]
    C --> I[Custom]
    D --> J[No use without permission]
    D --> K[No copying without permission]
    D --> L[No distribution without permission]  

챗GPT 인터페이스

소프트웨어 3.0

Andrej Karpathy

  • 소프트웨어 1.0: 코드 작성을 통한 프로그래밍
  • 소프트웨어 2.0: 데이터셋 큐레이팅을 통한 프로그래밍
  • 소프트웨어 3.0: 프롬프트 엔지니어링을 통한 프로그래밍 (LLM에 입력으로 제공, GPT 스타일)

프롬프트 공학




구글 검색의 종말(?)

글쓰기 역사


오피스 전쟁

항목 MS 오피스 1 구글 오피스 2 리브레 오피스 3 한컴 오피스 4
문서 작성 및 편집 워드, 엑셀, 파워포인트 등의 데스크톱 및 웹 앱 제공 구글 문서, 스프레드시트, 프레젠테이션 등의 웹 앱 제공 라이터, 캘크, 임프레스 등의 데스크톱 앱 제공 한글, 한셀, 한쇼 등의 데스크톱 및 모바일 앱 제공
협업 및 공유 원드라이브를 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움 구글 드라이브를 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정하고 실시간으로 확인 가능 드롭박스나 구글 드라이브와 연동하여 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움 넷프리즘을 통해 문서를 클라우드에 저장하고 공유 가능. 여러 사람이 동시에 문서를 수정할 수 있으나 실시간으로 보기 어려움
이메일 및 채팅 Outlook을 통해 비즈니스 메일 제공. Teams을 통해 채팅 및 화상 회의 가능 Gmail을 통해 비즈니스 메일 제공. Chat과 Meet을 통해 채팅 및 화상 회의 가능 이메일 및 채팅 기능 없음 이메일 및 채팅 기능 없음
가격 1인당 월 5~20달러 다양한 요금제 제공. 데스크톱 앱 사용 가능한 요금제는 12.5달러부터 시작 1인당 월 6~18달러까지 다양한 요금제 제공 완전 무료 개인용은 무료로 사용 가능하며 업무용은 별도로 견적 요청 필요

오피스 전쟁: 패러다임 충돌

챗GPT 시대 사무실

챗GPT가 이룬 대통합

인터페이스 (Interface)




flowchart TB
    
    subgraph A["사용자 인터페이스"]
    direction LR
        CLI["CLI<br>Command Line Interface<br> 1950~"]     --> GUI["GUI <br> Graphic User Inferface<br> 1970~"]
        GUI               --> WI["Web Interface <br> 1994~"]
        WI --> MI["Mobile Interface <br> 2007~"]
        MI --> NUI["LUI <br> Language User Interface <br> 2023~"]

    end


class A nodeStyle

classDef nodeStyle fill:#fcfbfa,stroke:#000000,stroke-width:0.7px,font-weight:bold,font-size:14px;



챗GPT NUI

  • 챗GPT (ChatGPT)

  • OpenAI Playground

Command Palette 역사

  • 60년대로 거슬러 올라가는 명령 팔레트는 최근 기술 업계에서 다시 인기를 얻고 있으며 사용자 중심 소프트웨어의 필수적인 부분으로 간주됨.
  • CLI는 개인용 컴퓨터가 대중화되기 전 초기 컴퓨팅을 지배했으며 사용자가 시스템을 작동하기 위해 특정 명령을 알아야 했다. 1984년 Apple의 매킨토시와 함께 도입된 그래픽 사용자 인터페이스(GUI)는 중요한 혁신으로 여겨졌지만, 소프트웨어의 복잡성이 증가함에 따라 GUI만으로는 탐색하기가 점점 더 어려워졌다.
  • 사용자가 항목 이름의 짧은 약어입력하여 앱과 파일을 검색할 수 있는 런처가 점점 더 보편화 되었다. 예를 들어 2001년에 출시된 Mac OS X용 LaunchBar, Quicksilver, 2005년에 출시된 Apple의 시스템 전체 Spotlight가 있다. 검색과 CLI의 결합은 Command Palette의 탄생으로 이어졌다.
  • 오늘날 우리가 알고 있는 현대식 명령 팔레트는 2011년 Sublime Text 2 베타 Joe Skinner가 처음 소개. 명령줄 사용에 익숙한 프로그래머들이 단축키를 모두 외울 필요 없이 더 빠르게 작업할 수 있어 중요한 발전이 됨.

계산기 프로그램

진화과정

문서화 프로그래밍 커뮤니티
챗GPT 디지털 글쓰기 출판

문서화 프로그래밍



graph LR

    subgraph "소프트웨어"
        direction LR
        sourcecode[소스코드] --> package1[패키지]
        package1 --> product1["제품(S/W)"]
        product1 --> distribute1[배포]
        distribute1 --> service1["서비스<br>(앱)"]
    end
    
    subgraph "문서"
        direction LR
        text[텍스트] --> package2[패키지]
        package2 --> product2["제품(문서)"]
        product2 --> distribute2[배포]
        distribute2 --> service2["서비스<br>(출판)"]
    end

    style 소프트웨어 fill:#f5f5f5,stroke:#333,stroke-width:3px
    style 문서 fill:#b5b5b5,stroke:#111,stroke-width:3px

    style sourcecode fill:#ffeeee,stroke:#f66,stroke-width:2px
    style package1 fill:#eeffee,stroke:#6f6,stroke-width:2px
    style product1 fill:#eeeeff,stroke:#66f,stroke-width:2px
    style distribute1 fill:#eefeee,stroke:#6ff,stroke-width:2px
    style service1 fill:#ffeeee,stroke:#f66,stroke-width:2px

    style text fill:#ffeeee,stroke:#f66,stroke-width:2px
    style package2 fill:#eeffee,stroke:#6f6,stroke-width:2px
    style product2 fill:#eeeeff,stroke:#66f,stroke-width:2px
    style distribute2 fill:#eefeee,stroke:#6ff,stroke-width:2px
    style service2 fill:#ffeeee,stroke:#f66,stroke-width:2px

글쓰기

글쓰기 → 커뮤니티

참고문헌

Meeker, H. (2017). Open Source For Business: A Practical Guide to Open Source Software Licensing. Createspace Independent Publishing Platform. https://books.google.co.kr/books?id=aKHGswEACAAJ