본문 바로가기

반응형

Develop

(58)
GCP 가상머신 사용하기 새 프로젝트 만들기 [프로젝트 만들기] 버튼을 클릭한다. 이름이나 조직은 필요한 경우 적당히 설정한다. 사이드바에서 홈(또는 홈 > 대시보드)으로 이동한 후, 방금 생성한 프로젝트를 선택한다. 대시보드를 확인할 수 있다. VM 인스턴스 생성 사이드바에서 [Compute Engine > VM 인스턴스]로 이동한다. 이후 [사용] 버튼을 누른다. 필요한 경우 결제 계정을 등록한 후 돌아와서 다시 시도한다. [인스턴스 만들기]를 눌러 새 인스턴스를 생성한다. 나는 월간 무료 등급 한도를 고려해서 다음과 같이 설정했다. (기본값으로 둔 사항은 기재하지 않았다.) 리전: us-west1 영역: us-west1-b 머신 구성: 일반용도, E2(e2-micro) 부팅 디스크: Ubuntu 20.04 LTS, 표준 영..
freenom 무료 도메인 사용 후기 나는 2020년 5월부터 freenom에서 제공하는 무료 도메인을 사용해오고 있다. (그 이전에도 사용한 적은 있으나 모두 일회성이었다.) 내가 사용한 도메인은 u-rl.ga이고, 내가 만든 URL 단축서비스에 연결했다. 이 서비스로 단축된 어떤 URL은 약 800+회 정도로 꽤 많이 사용됐다. 그러다 도메인 사용 기한이 1달 남은 날, 지인이 나에게 단축된 URL로 접속이 안된다고 말했다. 하지만 나는 정상적으로 접속이 가능했기에 무엇이 문제인지 알 수 없었다. 그러나 다음 날, 내 휴대폰으로도 접속이 안되기 시작했다. 여전히 내 PC로는 접속이 가능했다. 기기나 환경에 따라 접속이 안 되기 시작한 것이다. 문제를 확인하고 도메인 사용 기간 연장신청도 알아볼 겸, freenom에 다시 들어갔다. 그동안..
OAuth 사용자가 웹사이트나 애플리케이션의 접근 권한을 얻기 위해, 비밀번호를 제공하는 대신 타 웹사이트 상의 자신들의 정보를 사용하도록 하는 것이다. 예를 들면 Kakao, Naver, Google, Facebook 등의 계정으로 어떤 임의의 타 서비스에 로그인하는 것이 있다. OAuth는 무엇이 좋은가? 사용자 입장에서는 서비스마다 각각의 계정을 관리할 필요가 없다. 하나의 로그인으로 여러 서비스를 사용할 수 있다. 서비스의 보안을 더 신뢰할 수 있다. 개인 정보 노출을 최소화하거나 관리할 수 있다. 서비스 입장에서는 회원의 계정정보 관리에 많은 노력을 기울이지 않아도 된다. 사용자 획득 가능성이 높아진다. OAuth API를 제공하는 서비스 입장에서는 자기 서비스에 대한 서드파티 애플리케이션 개발을 허용할 ..
JKIT-128-1 (ATmega128) 개발 환경 준비 참고 OS는 Windows 10 (64bit) 을 기준으로 함. 기기는 JKIT-128-1 (ATmega128) 을 기준으로 함. 순서 AVR Studio 4를 설치한다. 다운로드: http://ww1.microchip.com/downloads/archive/AvrStudio4Setup.exe 설치과정에서 Jungo도 설치될 것이다. 만약 (Windows 10 환경에서) 설치가 잘 안 된다면, 안전모드로 부팅한 후 시도해보기 바란다. 안전모드로 부팅하기 위해서는 msconfig를 실행한 후, [부팅] 탭에서 '안전 부팅'을 체크하면 된다. Win AVR 20100110을 설치한다. 다운로드: https://sourceforge.net/projects/winavr/files/WinAVR/20100110/W..
웹페이지 로드 최적화 - Layout Shift 줄이기 처음에는 블로그에 남길 생각이 없었는데, 하다보니 꽤나 중요하다고 생각해서 간단하게나마 기록하려고 한다. 웹사이트의 첫 페이지의 로드는 사용자경험과 이탈율에 꽤 큰 영향을 줄 것이라 생각한다. 최근 UOSTime을 개선하면서 최적화에도 관심이 생기고 있는데, 오늘은 웹페이지 로드를 최적화했다. UOSTime의 첫 페이지는 로그인페이지다. (자동로그인 사용자 제외) 이 페이지는 로그인 폼과 푸터, 모달들로만 이루어졌지만, 이미지나 폰트의 뒤늦은 로드 때문에 Layout Shift가 여러 번 발생했다. 더 빠르고 효율적인 렌더를 위해, 화면이 한 번에 짠! 하고 나타날 필요가 있었다. 기존 로그인 페이지의 로드 과정이다. 로드 중간에 Experience(빨간 박스)로 표시되는 부분이 Layout Shift다..
웹브라우저에 www.naver.com을 치면 생기는 일 과정 도메인 주소에 맞는 IP주소를 알아낸다. DNS record에 대한 캐시를 찾는다. 브라우저 캐시에서 찾는다. OS에서 시스템 콜을 통해 찾는다. 라우터에 요청하여 찾는다. ISP에 요청하여 찾는다. IP를 못 찾은 경우, PC는 Local DNS에 요청한다. Local DNS가 IP주소를 모르는 경우, Root DNS에 요청한다. Root DNS가 IP주소를 모르는 경우, Local DNS는 'com' 도메인을 관리하는 DNS에 요청한다. 'com' 도메인을 관리하는 DNS가 IP주소를 모르는 경우, Local DNS에게 'naver.com' 도메인을 관리하는 DNS를 알려주고, Local DNS는 이 DNS에 요청한다. Local DNS는 IP주소를 찾은뒤 캐시하고 PC에 전달한다. TCP 연결..
UOSTime 강의교환 채팅 재구현 UOSTime의 강의교환 채팅은 기존에 Angular를 이용하여 프론트가 구현되었고, 소켓통신을 이용하여 간단한 채팅이 구현된 정도였다. 이번에 강의교환 정책을 변경하며 DB 구조부터 변경하는 작업이 진행중이다. 오늘은 프론트를 재작성했고, Angular 의존성을 모두 제거하는 것을 첫 목표로 했다. 이로써 UOSTime이 서비스하고 있는 영역에서 Angular 의존성을 모두 제거하게 되었다. 이 다음으로 진행할 일은 채팅의 보안 강화이다. 현재 메시지는 암호화되어 처리되고 있지만, 아직 여러 취약점이나 버그가 있으며, 개선할 필요가 있다.
Git Commit 횟수 확인하기 1. 총 커밋 수 보기 git repository에서 총 커밋 수를 보기 위해서는 git rev-list --all --count 를 실행하면 된다. 2. 사용자 총 커밋 수 보기 git repository에서 사용자의 커밋 수를 보고 싶다면 git shortlog -s 를 실행하면 된다. 팀원을 모집하고 교육 후 개발을 시작한지 얼마되지 않은 관계로 아직 커밋 수가 적은 것을 확인할 수 있다.