소프트웨어 프로젝트 생존전략 4장 :: 생존 기술
2023. 1. 1. 23:55
그리고
계획 소프트웨어 개발에서 성공이란, 세심한 계획에 따른 작은 실수를 통해 계획되지 않은 큰 실수를 얼마나 피할 수 있는 지에 의해 결정된다. 예를 들어, 네 개의 설계 대안을 준비한 후에 최선의 선택을 했다면 추후에 세 번이나 재코딩 하는 것을 피한 것이다. 잘 세워진 계획이란 잘 세웠다고 하는 프로젝트 계획은 다음과 같은 특징을 지닌다. 1. 소프트웨어 개발 계획(Software Development Plan) : 프로젝트의 추진 방향을 설정. 계획을 문서화 시킴으로써 관계자들이 프로젝트 수행 기간 동안 언제든지 문서 참조 2. 프로젝트 추정(project estimates) : 예측을 꼼꼼히 하여 프로젝트의 범위를 적절히 선정. 부실한 예측은 프로젝트의 예산, 인력, 일정 등 모든 면을 무리(unde..
[Github] git-crypt 적용하기
2022. 12. 25. 18:22
그리고/Github
git-crypt 란? (git-crypt repository README.md 번역) git-crypt는 git 저장소에 있는 파일의 투명한 암호화 및 암호 해독을 가능하게 합니다. 보호하기로 선택한 파일은 커밋 시 암호화되고 체크아웃 시 해독됩니다. git-crypt를 사용하면 공개 및 비공개 콘텐츠가 혼합된 저장소를 자유롭게 공유할 수 있습니다. git-crypt는 정상적으로 저하되므로 비밀 키가 없는 개발자는 여전히 암호화된 파일이 있는 저장소를 복제하고 커밋할 수 있습니다. 이렇게 하면 전체 리포지토리를 잠그지 않고도 코드와 동일한 리포지토리에 비밀 자료(예: 키 또는 암호)를 저장할 수 있습니다. Environment OS: MAC 에디터: VSCode git-crypt 사용하기 git-cry..
소프트웨어 프로젝트 생존전략 3장 :: 생존의 개념
2022. 12. 1. 23:36
그리고
2장은 체크리스트로 이루어져있어서 스킵~! 이번 장을 통해 소프트웨어 개발을 성공시키는 데 결정적인 요소들이 무엇인지 알아보자! '프로세스'의 힘 필자가 생각하는 '소프트웨어 프로세스'의 의미는 아래와 같다. - 모든 요구사항에 대하여 문서화를 보장하는 것 - 요구사항에 대한 추가와 변경을 통제하기 위하여 체계적(systematic)인 절차(process)를 적요하는 것 - 모든 요구사항, 설계, 소스코드를 체계적으로 테크니컬 리뷰(technical review)하는 것 - 테스트 계획, 리뷰 계획, 결함 추적 계획 등을 포함하는 체계적인 품질 보증 계획(QAP)을 수립하는 것 - 소프트웨어의 컴포넌트(functional component)를 개발하고 통합하는 순서가 명시된 구현 계획을 수립하는 것 - ..
[Github] GPG Key Github에 적용하기
2022. 10. 25. 22:57
그리고/Github
자, 이제 GPG Key를 Github에 적용해보자! GPG Key를 확인하자 이전 포스팅에서 복사한 키 값을 가지고 public key를 확인한다. gpg --armor --export [GPG Key ID] 위 커맨드를 실행시키면 아래와 같이 키를 볼 수 있다. -----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK----- Github에 GPG Key 적용하기 Github에 들어가서 Settings를 들어가자! 아래 이미지를 차근차근 따라가보자. 이제 아까 확인한 GPG Key를 넣어주고 인증을 하면 GPG Key가 성공적으로 Github에 등록된다! 레퍼런스 Github에서 제공하는 가이드 문서
[Github] GPG Key 생성하기
2022. 10. 21. 23:51
그리고/Github
GPG Key를 생성해보자! 1. 우선 GPG command line tools 를 다운받는다. 링크 클릭! Github에서는 최신 버전을 다운받는 것을 권장한다. 맥은 dmg 파일을 통해 설치한다. 2. 이제 Terminal을 키고 key를 생성해 준다. 2.1.17 이후 버전이라면 아래 커맨드를 통해 키를 생성할 수 있다. gpg --full-generate-key 3. 키를 생성할 때 설정이 필요하다. - key 종류 - key size - 이름, 이메일, 코멘트 ~ gpg --full-generate-key gpg (GnuPG/MacGPG2) 2.2.34; Copyright (C) 2022 g10 Code GmbH This is free software: you are free to cha..
[소프트웨어 프로젝트 생존 전략] 1장 - 살아남기 위한 방법
2022. 10. 20. 08:32
그리고
고품질의 제품을 효과적인 일정으로 적절한 비용에 맞춰 개발하기 위해서 목표들(최단 기간, 최저 비용, 최고의 품질 등)이 서로 균형을 이루어야 한다. 생존의 욕구 소프트웨어 프로젝트에서 성공하기 위한 첫 걸음은 성공이냐 실패냐의 문제가 아니고, 더 근본적인 '생존'의 필요성을 인식하는 것이 중요하다. 매슬로우는 인간은 하위 동기 요인에서 상위 동기 요인으로 자연스럽게 진행되는 욕구 단계에 반응하는 것을 발견했다. 여기서 하위 동기, 상위 동기가 무엇일까? 예를 들어 아래처럼 상하의 단계를 구분할 수 있다. ex. 프로젝트 팀은 계획된 일정과 예산의 10퍼센트 오차 범위에서 프로젝트를 달성 ➡️ 상위 단계 해당 프로젝트를 우선 시간 안에 납품 ➡️ 하위 단계 단계 피라미드는 아래와 같다. 생존권 힘겹게 진..
[Github] PR merge 후 자동으로 branch 제거하기
2022. 10. 19. 06:49
그리고/Github
Github PR 동작 방식 Git은 일반적으로 Pull Requests를 통해 수정사항을 main branch에 반영한 후, 작업 중이던 branch를 제거하는 방식으로 사용한다. 그래서 PR 반영 후에는 아래와 같이 하단에 작업 중이던 branch를 지울 것인지 물어본다. 하지만, 가끔씩 remote branch를 지우지 않고, local branch만 지워서 remote branch의 수가 엄청나게 늘어나는 경우가 있다. 이를 방지하기 위해서, Github에서 PR merge 후에 branch를 자동으로 제거해주는 기능을 제공하고 있다. Github 설정하기 해당 기능은 repository마다 설정을 해줘야 한다. Repository 상단의 메뉴에서 맨 오른쪽에 Settings를 진입한다. 그리고 ..