Fail-fast 전략, 실수를 빠르게 찾아내는 방법

안녕하세요. 오늘 이야기할 주제는 ‘Fail-fast’라는 전략인데요, 이는 소프트웨어 개발에서 많이 사용되는 개념입니다. Fail-fast는 ‘빠르게 실패하다’라는 말 그대로, 오류를 발생하게 하고 이를 빠르게 수정하는 방법을 지향하는 것을 의미합니다.

소프트웨어 시스템을 운영하다 보면 여러 가지 오류가 발생하곤 합니다. 이런 오류 중 일부는 무시하거나 넘어가도 크게 문제가 되지 않지만, 일부 오류는 시스템에 큰 피해를 줄 수 있습니다. Fail-fast 전략은 이러한 큰 문제를 초래할 수 있는 오류를 조기에 감지하고, 그에 따른 대응을 즉시하기 위한 것입니다.

예를 들어, 프로그램에서 잘못된 입력 값이 들어오면, 해당 프로그램은 즉시 오류를 반환하고 작동을 중단합니다. 이렇게 해서 잘못된 입력 값이 프로그램 내에서 더 이상 전파되는 것을 방지하며, 문제가 더 커지는 것을 막습니다.

이런 Fail-fast 전략은 테스트 주도 개발(Test-Driven Development, TDD)과 밀접한 관계가 있습니다. TDD에서는 먼저 테스트 케이스를 작성하고, 이를 통과하는 코드를 개발합니다. 그렇게 해서 개발 초기 단계에서부터 오류를 발견하고 수정하게 됩니다.

하지만 모든 상황에서 Fail-fast가 최선의 전략인 것은 아닙니다. 예를 들어, 네트워크 통신과 같이 일시적인 오류가 발생할 수 있는 상황에서는, Fail-fast보다는 재시도하거나 대체 경로를 제공하는 등의 복구 전략이 필요할 수 있습니다.

결국, Fail-fast는 소프트웨어 개발에서 오류를 빠르게 찾아내고 대응하는 중요한 전략입니다. 하지만 상황에 따라 적절한 전략을 선택해야 하며, 항상 Fail-fast가 최적의 해결책은 아닙니다.

Github 개인 액세스 토큰 만들기 :: 깃허브

개인 액세스 토큰 사용

You can create a personal access token to use in place of a password with the command line or with the API.

노트:

  • If you use GitHub CLI to authenticate to GitHub on the command line, you can skip generating a personal access token and authenticate via the web browser instead. For more information about authenticating with GitHub CLI, see gh auth login.
  • Git Credential Manager is a secure, cross-platform alternative to using personal access tokens (PATs) and eliminates the need to manage PAT scope and expiration. For installation instructions, see Download and install in the GitCredentialManager/git-credential-manager repository.

개인 액세스 토큰(PAT)은 GitHub API 또는 명령줄 을 사용할 때 GitHub에 인증하는 데 암호 대신 사용할 수 있습니다.

PAT를 사용하여 SAML SSO를 사용하는 Organization이 소유한 리소스에 액세스하는 경우 PAT를 인증해야 합니다. For more information, see ” About authentication with SAML single sign-on ” and ” Authorizing a personal access token for use with SAML single sign-on ” in the GitHub Enterprise Cloud documentation.

As a security precaution, GitHub automatically removes personal access tokens that haven’t been used in a year. To provide additional security, we highly recommend adding an expiration to your personal access tokens.

토큰을 사용하여 할당되지 않은 scopes can only access public information repo. For more information, see ” Available scopes “.

토큰 만들기

  1. 아직 확인하지 않은 경우 이메일 주소를 확인 합니다.
  2. 모든 페이지의 오른쪽 상단에서 프로필 이미지를 클릭한 다음 Settings(설정) 를 클릭합니다.
  3. In the left sidebar, click Developer settings .
  4. 왼쪽 사이드바에서 Personal access tokens(개인 액세스 토큰) 를 클릭합니다.
  5. Generate new token 을 클릭합니다.
  6. 토큰에 알기 쉬운 이름을 지정합니다.
  7. To give your token an expiration, select the Expiration drop-down menu, then click a default or use the calendar picker.
  8. 이 토큰에 부여할 범위, 즉 권한을 선택합니다. 토큰을 사용하여 명령줄에서 리포지토리에 액세스하려면 repo 를 선택합니다.
  9. Generate token 을 클릭합니다.경고 : 토큰은 비밀번호처럼 취급하고 비밀로 유지하십시오. API를 사용하는 경우 토큰을 프로그램에 하드 코딩하는 대신 환경 변수로 사용하십시오.
  10. To use your token to authenticate to an organization that uses SAML single sign-on, authorize the token. For more information, see ” Authorizing a personal access token for use with SAML single sign-on ” in the GitHub Enterprise Cloud documentation.

명령줄에서 토큰 사용

토큰을 받으면 HTTPS를 통해 Git을 조작할 때 암호 대신 해당 토큰을 입력할 수 있습니다.

예를 들어, 명령줄에서 다음을 입력할 수 있습니다.

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

개인 액세스 토큰은 HTTPS Git 작업에만 사용할 수 있습니다. SSH 원격 URL을 사용하는 리포지토리의 경우 원격을 SSH에서 HTTPS로 전환 해야 합니다.

사용자 이름과 암호를 묻는 메시지가 표시되지 않으면 자격 증명이 컴퓨터에 캐시되었을 수 있습니다. 이전 암호를 토큰으로 교환하도록 키체인에서 자격 증명을 업데이트 할 수 있습니다.

Instead of manually entering your PAT for every HTTPS Git operation, you can cache your PAT with a Git client. Git will temporarily store your credentials in memory until an expiry interval has passed. You can also store the token in a plain text file that can read before every request. 자세한 내용은 Git에 GitHub 자격 증명 캐싱 을 참조하십시오.

참고 링크

Sublime Text 3 을 윈도우로 바꾸면서 단축키 문제 해결하자.

일단 자주쓰던 Capslock 키를 콘트롤키로 쓰지는 못하니

알트키로 바꿔주고

 

[

{ “keys”: [“alt+d”], “command”: “right_delete” },

{ “keys”: [“ctrl+g”], “command”: “find_next” },

{ “keys”: [“alt+g”], “command”: “show_overlay”, “args”: {“overlay”: “goto”, “text”: “:”} },

]

 

 

S3에는 버킷별로 CORS 설정할 수 있네요.

웹폰트를 쓰기 위해선

<!– Sample policy –>
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>http://YOURWEBSITE.COM</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

 

이렇게 설정해요.

 

Continue reading “S3에는 버킷별로 CORS 설정할 수 있네요.”

관리자 페이지 새로운 아이디어

세수하다가 관리자 페이지의 새로운 아이디어가 생각났다.

편리  빠르게 개발이 가능할것 같다.

일단 이것을 코딩해보자.

이런 코딩은 약간의 설계가 필요한데 노트에 적어놨다.

노트에 적을때 잊기 쉬운것이 이름인데 정확한 메소드와 변수 이름을 아예 정해 놓으면 코딩시 상당히 속도가 난다.

언제 만들지… 밀린 업무가 많다.