☁️클라우드 보안 1강

·2023년 11월 23일

SK 루키즈 17기

목록 보기
1/1

아래의 글은 오로지 공부 목적으로 정리한 개인적 글이며, 무단으로 배포, 상업적 사용을 금지합니다

버전 관리

버전관리란 동일한 정보에 대한 여러 버전을 관리하는 것
-> 팀 단위로 개발 중인 소스 코드 등의 디지털 문서 관리에 사용

버전 관리가 필요한 이유?

파일 수정 시 파일명에 version명을 증가시켜 큰 숫자가 최신 버전으로 파일 관리를 함

  • 복구를 위해
  • 진행 시점 변경을 위해
  • 동기화와 자동을 위해
  • 소스 코드의 변경 사항 추적을 위해
  • 소스 코드 수정 및 추적을 위해
  • 안정적인 대규모 수정 작업을 위해
  • 코드의 의미 추적을 위해

아무리 좋은 기술이라도 "왜 좋은지"와 "우리 팀과 기업에 맞는지"를 유의해야 한다.

버전 관리 시스템 용어

  • Repository : 파일의 현재 버전과 변경 이력 정보를 저장하는 곳
  • Tag : 특정 시점의 소스코드 전체를 복사 및 보관 태깅
  • Check out : 저장소에서 현재 작업 환경으로 소스코드 파일을 가져오는 것
  • Commit : 체크 아웃한 파일의 수정이 끝난 경우 저장소에서 새로운 버전으로 갱신하는 일
  • Conflict : 동일한 파일 변경이 충돌날 경우, 해결이 되야지 커밋이 가능
  • Merge : branch 변경사항을 다른 branch에 반영 시 사용

-> develop branch, 피쳐 브랜치

✍️ git help 를 사용하여 git 명령어에 익숙해지기

Git과 Github

  • git : 소스코드의 이력을 관리하는 분산 버전 시스템
    -> Linus Benedict Tovlads 가 개발
  • Github : git 저장소를 관리하는 웹 호스팅 서비스

googleIO 컨퍼런스

✍️ Git ssh 설정하기

GitHub 를 통한 프로젝트 생성

  • Description > 프로젝트 설명

CLI에서 Github 사용하기

// 복제한 레포지토리에서
git add .
git status

// 커밋하기
git commit -m "하고싶은 말"

// 푸시하기 - 인증 과정 필요
git push

⛔ 커밋 인증 오류

Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'user@DESKTOP-A1VHPVB.(

git config --global user.email "내 이메일@example.com"
git config --global user.name "깃허브이름"

Issue 템플릿 생성

Pull Request 템플릿 생성

  • 사용자가 원격 저장소에 푸쉬하였을 때, 다른 사람에게 푸쉬된 것을 알리는 것

커뮤니케이션 하기
어떤 곳에서 어떤 걸 했는데 어떤게 안되었다.

GitHub Insights

조직 활동에서 코드를 협력하고 작업하는 방법을 이해. 오픈 소스 사용량 추적 보고 및 작업에 도움이 됨

✍️ 라이선스의 종류

apache license 2.0
as재단 아파치 sw 재단에서 만든 라이선스

  • 누구나 자유로운 다운 및 사용 가능
  • 개인적 혹은 상업적 이용이 가능
  • 배포 및 수정 가능
  • 특허 신청 가능

MIT license

  • 메사추세스에서 만든 가장 유연한 라이선스

BSD license

GNU General Public License(GPL)

자유 소프트웨어 재단에서 만든 라이선스로 3차에 걸쳐 발표

  • 컴퓨터 프로그램을 어떠한 목적으로든 사용할 수 있지만, 법으로 제한 행위 불가능
  • 컴퓨터 프로그램의 실행 복사본은 언제나 프로그램의 소스 코드와 함께 판매하거나 소스코드를 무료로 배포해야 한다.
  • 컴퓨터 프로그램의 소스 코드를 용도에 따라 변경 가능하다
  • 변경된 컴퓨터 프로그램 역시 프로그램의 소스 코드를 반드시 공개 배포해야 함 (리차드 스톨만의 의지)
  • 변경된 컴퓨터 프로그램 역시 반드시 똑같은 라이선스를 취해야 한다. GPL 라이선스의 적용

GNU Lesser General Public License(LGPL)

자유 소프트웨어 재단에서 만든 라이선스

  • GPL 라이선스보다 유연

=> 오픈소스 라이센스 메뉴

인공지능 : 인공적으로 지능을 가지고 있는 시스템
머닝러신 : 기계가 학습 데이터를 열심히 공부하여 시간이 지나면 학습에 의해 능력이 커지는 것을 머신러닝이라고 함.
딥러닝 : 머신러닝의 일종으로 심층 신경망을 사용.

인공지능 > 머신러닝 > 딥러닝

ChatGPT 트랜스포머 모델

  • 트랜스포머는 제안 초기 하나의 언어를 다른 나라 언어로 번역하기 위한 번역기 용도로 만들어짐
  • 텍스트 입력을 숫자로 바꾸고, 모델 내부로 새로운 숫자로 변환되며 처리된 숫자를 다시 텍스트로 바꾸면 ChatGPT가 답변함. 트랜스포머 내부의 수많은 파라미터를 조정, 정답에 가깝도록 훈련

ChatGPT 인컨텍스트 러닝

  • 프롬프트로 ChatGPT 요청 시, 실시간 학습을 있다고 착각하지만 세션 이외에는 해당 대화를 기억하지 못함.
  • 현재 이루어지는 대화창 내에서만 이전 대화 기억
    (참조) In context learning

언어 모델은 숫자와 관련된 문제를 푸는 일에 약함.

ChatGPT 할루시네이션
가장 확률이 높은 답변을 완성하지만, 진실 및 거짓 여부 판단 능력은 없음
문맥적으로는 그럴 듯하지만, 거짓된 사실을 섞어서 생성하는 것이 할루시네이션

프롬프트 엔지니어링
꼬리에 꼬리를 무는 질문하기
표준어 사용하기
예시를 추가로 제공
명확하고 구체적으로 질문

아래의 글은 오로지 공부 목적으로 정리한 개인적 글이며, 무단으로 배포, 상업적 사용을 금지합니다

profile
화이트해커 엘입니다😉

0개의 댓글