게임을 하다가 발견한 문제가 마침 CS 지식을 요구하는군요. Bitburner라는 게임인데 광기에 물든 개발자들이 즐기는 게임인 것 같습니다. 게임을 처음 시작하면 Sector-12라는 곳에서 게임을 시작하게 됩니다. 이곳 저곳 서버를 돌아다니면, contract 파일을 발견할 수 있는데 이 파일을 열어보면 다양한 문제가 등장합니다. 처음 발견한 문제가 아래의 해밍 코드를 활용한 문제입니다. 총 10번의 기회가 있다는군요. 해밍 코드를 이용해서 오류를 고치고 십진수 값을 구해달라고하네요. Hamming Codes: Encoded Binary to Integer You are attempting to solve a Coding Contract. You have 10 tries remaining, after..
어느날 문득 저의 커밋 메세지를 살펴보던 중 메세지만 봐서는 정확히 어떤 작업을 했는지 바로 떠오르지 않는 다는 것을 느끼게 되었습니다. 보다 간결하고 명확한 내용으로 작성할 수 없는지 찾아보게 되었습니다. 그렇다면 Git에 commit을 할때 어떤 내용으로 커밋 메세지를 작성하는 것이 좋을까요? 앞으로 협업할 일이 많아지게 될텐데 좋은 커밋 메세지 습관을 들여둔다면 더욱 좋을 것 같습니다. 보편적으로 사용되는 좋은 커밋 메세지 7가지의 규칙이 있습니다. 제목과 분문을 한 줄 띄워 분리하기 제목은 영문 기준 50자 이내로 제목 첫 글자를 대문자로 제목 끝에 마침표(.) 금지 제목은 명령하듯이 작성 본문은 영문 기준 72자마다 줄 바꾸기 본문은 어떻게보다 무엇을, 왜에 맞춰 작성하기 Github - 제목이..
시작하기에 앞서 사용자의 프로필 사진 데이터를 아마존 S3에 이미지를 업로드 하여 사용하고 있었는데 이미지 업로드 시에 별도의 제한 없이 업로드할 수 있도록 생각했지만 서버에서 1MB 이상은 업로드할 수 없는 문제가 있었습니다. 업로드 가능한 용량을 프론트에서 제한하거나 서버에서 제한을 수정하는 것으로 문제를 해결할 수도 있겠지만 프로필 사진의 경우 항상 같은 크기로 사용자들에게 노출되며 그다지 큰 해상도가 필요하지 않았습니다. 따라서 큰 이미지를 굳이 서버에 저장하고 커다란 이미지를 내려 받는 것을 비효율적이라고 생각했습니다. 그러므로 이미지를 업로드하기 전 압축해서 서버에 업로드하도록 합시다! 이미지를 압축하는 방법은 여러가지 있습니다. 브라우저에서 이미지를 압축하는 방법과 서버에서 압축하는 방법에 ..
리액트에서 전역 상태 관리가 필요한 이유는 애플리케이션의 규모가 커지고 복잡해질수록 컴포넌트간의 데이터 공유와 상태 관리를 보다 효율적으로 처리하기 위해서입니다. 우리는 다양한 이유로 전역 상태 관리의 필요성을 느끼게 됩니다. 저는 주로 컴포넌트간의 데이터 공유와 복잡성 관리를 위해 사용한다고 생각했지만 조사해보니 보다 다양한 이유로 전역 상태 관리를 하고 있는 것을 알 수 있었습니다. 1. 컴포넌트간 데이터 공유 여러 컴포넌트에서 공통적으로 사용되는 상태가 있을 수 있습니다. 예를 들면 사용자 인증 정보, 로그인 상태, 언어, 테마, 설정 등 애플리케이션의 여러 곳에서 공유해야하는 데이터가 있을 때입니다. 2. 상태의 일관성 유지 리액트는 단방향 데이터 흐름을 가지고 있으며 그 방향은 하향식으로 고정되..