본문으로 건너뛰기

Full Stack JavaScript Developer | Half-time Open Sourcerer.

View All Authors

전세 자금 대출의 모든 것

· 약 12분

개요

여기 저기 흩어져있는 전세자금 대출 정보를 하나로 모으고 싶었다. 필요한 서류도 엄청나고, 준비할 것도 많은데 다들 자기 할말만하고 끝나는 느낌이였다. 집 구하는 걸 무서워하지 말고 한 단계씩 실행해보자. 중고나라인데 집을 사는 것 뿐이다.

사전 작업

먼저 회사에 요청해 원천징수영수증재직증명서를 발급받는다. 둘 다 직인이 찍혀있는 서류여야한다.

원천징수영수증에 연봉이 3500만 이하면서 중소기업에 취업중이면 어마어마한 저리(低利)로 대출을 받을 수 있다. 이 조건에 들 경우, 중소기업취업청년 전월세보증금대출 대출을 받을 수 있는데 된다면 무조건 대출받아야한다. 조건이 안 되면 차선책으로 버팀목 전세자금 대출이 있다.

중소기업 여부는 여기서 확인할 수 있다. 법인 번호는 여기서 찾을 수 있다.

주소 확인

어차피 문 밖의 전단지 매물은 허위매물이니 부동산에 들어가 다음과 같이 말한다.

전세집을 찾고 있고, 어느정도의 금액을 생각하고 있다. 대출 한도를 확인하려하니 주소를 하나 알려주시오.

그럼 공실클럽 이란 중개업자용 직방 웹에서 매물을 찾아서 보여주고 주소를 알려줄 것이다. 안 보여준다면 주소만 하나 알아오면 된다. 혹시 부동산과 연결되어있는 은행이 있는지 확인하고 나온다.

불친절하다면 다음에 온다고 말하고 바로 나오자 시간 아깝다. 어차피 원룸촌이라면 그 지역 매물 다 거기서 거기이다.

근린시설, 다중주택, 다세대주택이 아닌지를 꼭 확인한다. 대출이 안 나올 수 있다.

대출 한도 확인

주거래 은행이 아니여도 상관없다. 월급 통장이 있는 은행일 경우 빠른 처리가 가능하고, 우리은행이 주택도시기금의 주 거래은행이라 빠른 서류처리가 된다. 부동산에서 추천한 은행이 제일 좋긴하다.

은행에 가서 대출상담창구로 간 뒤 전세자금 대출을 한도 확인하러 왔다고 말한 뒤 원천징수영수증과 재직증명서, 그리고 주소를 준다. 원천징수영수증 + 재직증명서 + 주소 <=> 한도 로 교환한다고 보면 된다.

나의 한도를 확인하고 다시 부동산에 방을 보러간다.

방 확인

전세자금대출이 가능하며, 버팀목 대출일 경우 미리 전입신고가 가능한 방만 보여달라고 한다. 한도에 맞는 방을 보고, 중개업자와 함께 돌아다닌다. 사진보다 실물로 봐야 훨씬 방이 크니 꼭 그 집에 가보자.

내가 생각하는 집의 조건은 다음과 같다.

  • 낑긴 층
  • 창문 및 결로현상 확인
  • 가벽 여부 확인
  • 온수 확인
  • 수압 및 물샘 확인
  • 에어컨, 인덕션, 세탁기, 냉장고, 전자레인지 옵션 확인
  • 가스, 수도, 전기가 개별요금인지 확인
  • 집 냄새 확인
  • 장판 및 벽지 들추고 곰팡이 확인
  • 엘리베이터 확인

최소 5군데 이상은 돌아보자. 2년 살 집이다.

계약서 작성

집을 선택하고 건물주의 등기부등본을 확인한다. 이건 건물주가 빚이 얼마나 있는지, 실제 판매하면 얼마정도로 가격을 받을 수 있는지가 나오며 내 전세자금이 안전할 수 있는지에 대한거라 꼭 확인이 필요하다.

그리고 부동산이 보증보험증권에 가입되어있는지도 확인한다.

마음에 드는 집이 있다면 전세가격의 5% 를 계약금으로 걸고, 계약서를 쓴다. 대출이 생각보다 길어질 수 있으므로 넉넉하게 3주 이상으로 잡자.

대출 사전 작업

중소기업취업청년 전월세보증금대출

  • 나이제한: 만 19세 ~ 만 34세
  • 연봉제한: 3500
  • 세대주제한: 없음
  • 평수제한: 25평
  • 금액제한: 1억
  • 이자: 1.2%

1억을 빌려도 한달 이자가 10만원인 대출이다. 10만원이 비싸다고 생각하면, 월급쟁이가 10년 일해야 1억모은다는 걸 생각해보자.

버팀목 전세자금 대출

  • 나이제한: 만 25세 ~
  • 연봉제한: 5000
  • 세대주제한: 세대주만 가능
  • 평수제한: 25평
  • 금액제한: 1.2억
  • 이자: 2.5~2.9%

1억을 빌리면 한달 이자가 30만원 언저리로 나온다. 관리비를 포함한다면 월세집을 사는 게 나을 수 있다.

세대주 작업

버팀목 전세자금의 경우 무주택 세대주여야한다. 조부모님 사촌, 친구을 활용해 전입신고를 하자. 그렇게 못한다면 내가 집의 세대주가 되거나 세대 분리로 세대주가 되어야하는데, 세대주 변경의 경우 부모님 명의로 된 집이 있다면 대출 조건에서 걸린다. 부모님 집의 명의를 돌리고 돌려서, 무주택자 부모님 밑에서 사는 서류가 된다 하더라도 대출시 은행으로 부모님이 직접 가서 무주택자라고 자필 서명을 해야한다.

세대 변경은 부모님 공인인증서와 내 공인인증서 설치가 모두 있는 경우에 한해 온라인으로 가능하고, 아니면 부모님의 도장으로 서류를 작성해야한다. 세대 분리는 동사무소에 전화해서 분리하고 싶다고 문의를 할 수 있는데, 상담해주시는 분에 따라 케바케라 힘들다고 보면 된다.

결국 집을 구할 때 이사 전 전입 신고가 가능한 집주인을 찾아보는 게 속 편하다. 그리고 등본을 발급하기 전 이사할 집에 전입신고를 한다.

서류 작업

공인인증서와의 긴 싸움이 시작된다.

  • 확정일자가 있는 전세계약서
  • 계약금 납입 영수증
  • 가족관계증명서
  • 4대보험가입내역확인서
  • 건강보험자격득실확인서
  • 주민등록등본
    • 버팀목의 경우 세대주로 찍혀야함
    • 주민번호 뒷자리까지 모두 노출
  • 주민등록초본
    • 태어날 때부터 모든 주소변경이력 포함

위 서류에 중소기업 대출일 경우 아래 서류가 추가로 필요하다.

  • 사업자등록증 사본
  • 주업종코드확인서
  • 고용보험피보험자격이력내역서

서류 준비가 완료되면 대출심사를 진행하고 (보통 3영업일 이상) 전세계약서를 들고 이사할 지역의 동사무소를 찾아가 전입 확정일자를 찍어달라고 말한다. (600원 필요)

대출 확인

대출심사 진행 중 은행에서 해당 건물이 진짜 원룸인지 확인을 나간다. 다 될 경우 어마어마한 대출 서류에 싸인한 뒤 대출 보증세, 이자, 중도상환에 대해 확인한다.

그러면 계약일에 집주인 계좌로 은행에서 바로 송금을 해준다. 계약일이 주말일 경우 이전 영업일에 송금되니 참고하자.

계약

계약은 꼭 공인중개사, 집주인과 하자. 공인중개사는 휴대폰 대리점처럼 중개인을 두고 출근하지 않는 경우가 많고 집주인도 멀리 산다고 오지 못 한다는 경우가 많은데 계약시엔 대리인을 두지 말고 담당자들과 거래하는 것이 좋다.

이사

이삿짐 센터 확인

원룸 이사를 용달로 할 경우 견적전화를 돌리고, 모든 게 있는 풀옵션일 경우 자차로 이사할지에 대해 정한다. 인건비는 명 당 십만원 정도로 생각하자.

입주

박스를 구해다가 포장하고 이삿날에 잘 입주하기만 하면 된다. 굳이 계약날이 입주일은 아니여도 된다.

  • 입주 후 생필품을 사는데에 100만원정도 지출이 필요할 수 있다.
  • 가능하다면 대출한도를 전부 대출받아 청약 당첨이나 재계약등에 대비할 수 있다.
  • 부동산 관련 서류(등기 등)은 여기서 출력 가능하다.
  • 해당 공인중개사가 인증된 사람인지 확인은 여기서 가능하다.

Google Analytics Javascript API 사용하기

· 약 2분

GA Client JS API

문서가 있는데 생각보다 사용하기가 어렵다. 하나하나 시작해보자.

인증 토큰 발급

Cridentials page에서 Create credentials 를 눌러 OAuth Client ID 를 발급받는다.

예제

받은 Client ID 를 메타태그에 넣어준다.

example
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello Analytics Reporting API V4</title>
<meta name="google-signin-client_id" content="OAuth 2.0 Client ID">
<meta name="google-signin-scope" content="https://www.googleapis.com/auth/analytics.readonly">
</head>
<body>
<h1>Analytics Reporting API V4</h1>
<p>
<div class="g-signin2" data-onsuccess="queryReports"></div>
</p>

<!-- The API response will be printed here. -->
<textarea cols="80" rows="20" id="query-output"></textarea>

<script>
// Replace with your view ID.
var VIEW_ID = '136416454';

// Query the API and print the results to the page.
function queryReports() {
gapi.client.request({
path: '/v4/reports:batchGet',
root: 'https://analyticsreporting.googleapis.com/',
method: 'POST',
body: {
reportRequests: [
{
viewId: VIEW_ID,
dateRanges: [
{
startDate: '7daysAgo',
endDate: '6daysAgo'
}
],
metrics: [
{
expression: 'ga:sessions'
}
]
}
]
}
}).then(function (response) {
var formattedJson = JSON.stringify(response.result, null, 2);
document.getElementById('query-output').value = formattedJson;
}, console.error.bind(console));
}
</script>
<script src="https://apis.google.com/js/client:platform.js"></script>
</body>
</html>

파라미터 확인

문서의 내용을 확인하기 보다 Query Explorer에서 테스트 후에 그 값들을 Body 로 옮겨 적는 게 확인하기 쉽다.

Windows와 Mac에서 세계시간 설정하기

· 약 2분

윈도우

날짜/시간 설정

  • Window + R 키로 실행 창을 띄운다.
  • timedate.cpl 을 입력한 뒤 날짜/시간 설정에 들어간다.
  • 추가시계 탭에서 시계 표시를 체크한 뒤 시간대를 설정한다.
  • 시계표시줄에 세계 시간이 추가된 걸 확인할 수 있다.

알림 목록

우측 상단 시리 옆의 알림 목록에서 설정할 수 있다. 알림 목록의 편집 버튼을 클릭하면 세계시계 위젯을 추가할 수 있다.

Clocker

설치할 때 굳이 도시 추가를 안하지 않아도 설치 후에 더 직관적으로 추가할 수 있다.

  • Clocker 앱을 다운받는다.
  • 실행하고 원하는 도시를 추가한다.
  • 설치시에 권한은 따로 주지 않아도 시계는 볼 수 있다.
  • 설정의 ON/OFF 모양의 아이콘에서 세계 시간 설정이, 티셔츠 모양 아이콘에서 세부 표시 설정이 가능하다.

Hyper-V Virtual Eternet 네트워크 제거

· 약 3분

windows RS4, RS5 업데이트 이후로 Hyper-V 가 켜있으면 블루스크린이 발생한다. 에러 내용은 vmswitch.sys driver_irql_not_less_or_equal 또는 kernel security check failed 였다.

간헐적으로 발생되는 거라 시한폭탄을 들고 있는 거와 같다고 느껴져서, 이번 기회에 가상화는 맥북에서만 이용하려고 Hyper-V 를 모두 제거해봤다.

Hyper-V 제거

Docker for Windows 제거

Docker for Windows 를 먼저 제거한다.

남아있는 가상서비스 제거

Hyper-V 관리자에서 남아있는 가상 컴퓨터를 모두 삭제한다.

기능 제거

윈도우 실행에서 OptionalFeatures를 치면 바로 Windows 기능 켜기/끄기 메뉴로 들어가진다. Hyper-V 를 Disable 시키고 재부팅 2번을 기다리자.

네트워크 초기화

가상 네트워크 제거

위의 상태로 제거해도 네트워크 > 속성 > 어댑터 설정 에는 Hyper-V virtual Eternet 이 보이는데, 장치관리자 > 네트워크 어댑터 에서 직접 삭제해주면 된다.

장치관리자는 윈도우 실행에서 devmgmt.msc 치면 바로 들어갈 수 있다.

이더넷 재설정

가상 스위치를 제거하면 인터넷이 아예 끊겨버리는데, 이더넷을 원래 상태로 복원하면 된다. 이더넷 설정에서 Hyper-V Extensible Virtual Switch 를 체크 해제하고 확인 버튼을 누른다.

image from hexo

재부팅하고 클린한 네트워크 환경을 맞아보자.

이슈

systeminfo 입력 후 OS 버전이 17763 버전일 경우 Docker for windows의 설치가 아예 되지 않는 듯 싶다.

PS1 > systeminfo

카카오 카풀 후기 (베타 리뷰)

· 약 4분

사용후기

호출

카카오 T 앱을 켜고 카풀 탭에서 위치를 선택한다. 배차가 되면 취소 위약금 3,000원이 나가니 꼭 필요한 경우에만 호출하자.

image from hexo

배차

배차가 되면 탑승 위치에서 기다리면 된다. 차종과 카풀 운전자 (크루) 명, 색상 등을 알 수 있다.

image from hexo

탑승

탑승 후엔 크루가 탑승을 눌러주고, 그 이후부터 편하게 타고가면 된다.

image from hexo

실시간으로 내 위치를 볼 수 없다는 게 너무 불편했다.

남의 차를 타는 것도 안전에 대해 확인할 수 없는데, 내가 어디를 가고 있는지도 다른 지도 앱을 켜야 알 수 있다는 건 웃긴 일이다.

하차

목적지에 도달해서 하차하면 크루를 평가할 수 있는 화면이 나온다.

image from hexo

총평

내가 이동한 거리는 택시비로 33,500원이 나오는 거리지만 카카오 카풀로는 17,500원이 나왔다. 더 이상 무슨 말이 필요할까?

그렇지만 개선점은 많은 것 같다. 미국에서 우버를 이용했을 땐 정말 편리했다.

  • 호출 전 주변 우버 차량의 위치를 확인할 수 있고
  • 이동시간 내내 차의 위치를 지도에서 실시간으로 확인이 가능하고
  • 결제 후에도 이동거리와 비용에 대한 내역이 메일로 곧바로 온다.

아직 카카오 카풀엔 이런 편의 기능들이 제공되지 않는다.

출퇴근 시에만 이용가능하다고 하는데, 사용해보니 편법의 테두리에서 우버랑 똑같은 서비스라고 본다.

카카오에서 제공하는 보험 1억5천까지는 보상 받을 수 있지만, 보험사에서 돈을 받을 수는 없다. 여기에서 변호사 분의 말을 참조하자.

여럿이서 타는데엔 타다가 좋고, 혼자 타기엔 카카오 카풀이 좋은 듯 싶다.

  • 위치 선택시에 조금만 걸으면 되는 거리로 옮기면 2~3천원이 저렴해 지는 경우가 많다.
  • 아직 베타기간이라서 그런지 차량이 많이 없고 잡히면 먼 곳에 있다. 적어도 출발 15분 전에는 호출하자
  • 연말까지 1회 3만원에 한해 무료 이벤트가 추가되었다. 몇 시간만에 철회되었다.

넷플릭스 - 디스인챈트 리뷰

· 약 2분

디스인챈트

심슨 느낌이 물씬나는 그림체다. 실제로도 심슨 제작자가 만든 애니메이션이라고 한다.

리뷰

  • 호머의 몸집에 모의 성격을 가진 왕
  • 바트의 성격을 가진 빈 공주
  • 밀하우스 같은 엘포
  • 정체를 알 수 없는 악마
  • 그리고 왕비들

이 조합이 신선했지만 심슨이 더 재밌긴 하다. 이쯤에선 재밌게 행동해도 될 것 같은데, 결국 아동용 애니메이션처럼 착하게(?) 끝난다.

20부작으로 제작되었는데, 시즌1 마지막화인 10화에서 너무 큰 떡밥을 풀어서 기다리기 힘들다.

줄거리

중세시대를 풍자한 그런 느낌이다.

카카오 계정 변경하기

· 약 5분

카카오 계정의 메일 주소를 바꾸는 방법을 알아보자.

해결방법

먼저 카카오 측에서 회신이 온 메일 내용을 보자.

변경약관
계정 보안 강화를 위해 카카오계정 이메일 주소를 인증한 사용자의 경우
이메일 주소를 직접 변경하실 수 없습니다.

다만, 메일 서비스 탈퇴 및 종료 등으로 인해 이메일을 정상적으로 수신할 수 없는 경우에 한하여
해당 카카오계정에 연결되었던 휴대폰 번호의 이용계약증명서 및
메일 사용현황에 대한 확인 과정 진행 후 이메일 주소 변경을 지원해 드릴 수 있습니다.

이메일을 정상적으로 수신할 수 없는 경우에 한해 휴대폰 이용계약증명서를 가지고 오면 확인 후 변경이 가능하단다. 조건을 만들어보자.

기존 아이디 탈퇴

예를 들어 [email protected] 의 이메일을 카카오 계정으로 사용하고 있다면 먼저 이메일 계정의 사이트에 들어가 탈퇴를 진행해야한다. (카카오 계정 탈퇴가 아니다!)

비밀번호 찾기

메일 탈퇴 후 카카오 홈페이지 우측 로그인화면 하단의 비밀번호 찾기 를 해 탈퇴된 메일로 비밀번호 찾기 메일이 보내지게 만든다.

내부적으로 없는 메일주소로 메일을 보내는 오류 확인이 필요한 것 같다.

문의

카카오 문의하기 에서 일반문의 > 기타문의 를 선택하고 정보들을 입력한다.

문의내용엔 다음과 비슷한 내용으로 적는다.

문의내용
기존 메일 서비스 이용 불가로 카카오 계정을 변경하고 싶습니다.

기존: [email protected]
변경: [email protected]

첨부파일엔 통신사 사이트에 로그인해 가입증명원 을 첨부해야한다. KT의 경우 마이페이지 > 조회/변경 > 가입정보 중앙에 가입증명원 인쇄 메뉴로 접근 후 PDF 저장을 활용하자.

메일 인증번호 확인

문의등록 후 1~2영업일 후에 메일 인증번호를 입력해 재문의하라는 회신이 온다.

인증번호확인
고객님께서 변경 요청하신 [ [email protected] ] 이메일 주소로 인증번호를 보내드렸습니다.

번거로우시겠지만, '이메일 재설정 인증 코드' 8자리를
문의 내용에 기재하시어 재문의 주시면 확인 후 이메일 주소 변경을 도와드리겠습니다.

다만, 인증코드를 다르게 기재하여 보내주실 경우 처리가 어려우므로
정확하게 기재하여 재문의 부탁드립니다.

별도로 전송된 인증번호로 일반문의를 이용해 재문의하고 조금 더 기다린다.

비밀번호 변경

최종으로 변경되었다는 회신이 온 뒤 비밀번호를 변경해주자.

최종변경
고객님의 [ [email protected] ] 계정 이메일 주소가 [ [email protected] ]으로 변경 되었습니다.

로그인 버튼 하단의 '이메일 주소 또는 비밀번호를 잊으셨나요?' 링크를 누르신 뒤
[ [email protected] ] 계정의 비밀번호를 찾아 로그인 부탁드립니다.

비밀번호 변경 후엔 예전 쓰던 데이터 그대로 새로운 메일 계정으로 이용이 가능하다.

Git GUI 클라이언트 분석 (windows)

· 약 4분

Git 고수들은 CLI 만 사용한다지만 난 Rebase 와 Squash 를 하다보면 몇 개의 문서를 다시 열어보는지 모르겠다.

그래서 공식 GUI Clients에서 무료 Git 클라이언트를 파해쳐봤다.

분석

21세기 디자인이면서 커밋 그래프가 제공되고 git flow가 가능하며 쉬운 rebase 가 지원되는 클라이언트는 git krakengit fork 였다.

나머진 다음과 같은 단점이 있었다.

  • SourceTree
    • 윈도우즈에서 UI 가 너무 후지다.
    • 인증이 왜 이렇게 어려운지 모르겠다.
    • 느리다.
  • Github Desktop
    • 딱 깃헙용이다.
    • 되는 기능이 많지 않다.
    • 커밋 그래프도 없다.
  • Tortoise Git
    • 왠지 SVN이 떠올라서 패스했다.
  • Git Extensions
    • 21세기 디자인은 아닌 것 같다.
  • GitEye
    • 솔직히 Git Clients 의 끝인 듯 싶다.
    • 하지만 워크벤치 쓰는 듯한 느낌이라 직관적이진 않다.
  • gitg
    • 너무 간단하다.
  • ungit
    • 너무 간단하다.
  • git-cola
    • cli를 옮겨놓은 느낌이다.
  • Cyeligent Git Tool
    • free 인데 라이센스를 물어본다.
    • 설치 폴더를 설정할 수 없다.
  • Aurees
    • 좋아보였으나 바이러스가 감염됨으로 다운로드 불가능하다.
  • CodeReview
    • diff 용이다.
  • gmaster
    • non-commercial use 이고,
    • 그래프가 너무 느리게 그려진다.
  • GitAhead
    • 좋아보이지만 non-commercial use
  • Guitar
    • diff 용
  • RepoZ
    • 애드온 같은 느낌이다.

Git Kraken

  • 느렸는데 최근 빨라졌다.
  • 근데 아직도 느리다. 일렉트론 기반이라 그런 것 같다.
  • 예쁜 그래프가 있다.
  • 쉬운 rebase 를 제공한다.
  • git flow 가능하다.
  • 검은색 테마가 가능하다.
  • non-commercial use 라 회사에서 못 쓴다.

Git Fork

  • 빠르고 직관적이다.
  • 그래프가 지원된다.
  • 쉬운 rebase 가 가능하다.
  • 검은 테마가 가능하다.
  • 완전한 무료이다.
  • 지속적인 버전 업데이트가 되고 있다.
  • 구글에서 git fork를 검색하면 정말 fork 하는 방법만 나오고 검색이 되지 않는다.

결론

GitFork 를 쓰자. 첫 실행 시에 git config 설정 UI 가 뜨는데 제대로 입력해줘야한다.

그리고 workspace 를 설정하는 란엔 사용하는 workspace 만을 등록하자. 전체를 등록할 경우 모든 폴더의 .git 디렉토리를 읽어오는 것 같다.

Javascript로 리소스 체크

· 약 4분

페이지나 리소스가 있는지 체크하는 방법은 서버사이드에선 엄청 간단하다. 단 두 가지 기능만 있으면 해결된다. 심지어 certinfo 값 안에선 인증서 만료일까지 확인할 수 있다.

  • HEAD 메소드
  • CURL

하지만 수 백개의 리소스를 동시에 체크해야할 경우는 어떨까? 리소스가 있는 서버에선 DDoS 공격으로 오인할 수 있고, 심지어 내 서버가 차단될 가능성도 있다.

클라이언트에서 리소스를 확인할 수 있는 방법이 있을까?

삽질

ajax

  • 당연하지만 크로스도메인 XHR 은 CORS 가 없는 이상 막힌다.
  • HEAD 메소드도 똑같다.
  • fetch 도 똑같다.

script

  • script tag 를 DOM 에 렌더링하는 것이므로 XSS 공격이 가능하다.
  • 스크립트 태그에 한해서 onLoad 와 onError 로 체크가 가능하다.

image

  • 이미지 태그에 한해서 onLoad 와 onError 로 체크가 가능하다.
  • css 일 경우 onLoad 와 onError 로 체크가 가능하다.
  • DOM 에 렌더링하는 것이므로 UI가 틀어질 수 있다.
  • html 등의 페이지도 체크가 가능하지만 firefox 등의 브라우저에서 일관성이 없다.
  • IE와 Edge 브라우저에서 없는 css 인 경우에도 onError 이벤트가 발생하지 않았다.

마지막 이슈는 크리티컬했는데, 다행히 에러를 만들어 낼 수 있었다. cssRules 는 스타일시트가 없을 경우 접근할 수 없는 내부 값이기에 에러를 던진다.

link.onload = (loadEvent) => {
// ie, edge 체크
const isIE = /MSIE|Trident|Edge/i.test(navigator.userAgent);

// sheet 는 현재 로드 된 스타일시트 엘레먼트
if (isIE && loadEvent.target.sheet) {
try {
// 강제로 시트 내의 cssRules 값에 접근한다.
const temp = loadEvent.target.sheet.cssRules;
} catch (e) {
// onError 와 같은 이벤트 처리
}
}
};

video

  • 없는 영상에 대해 onError 가 동작하지 않는다.

기타

  • embed 나 iframe 은 X-Frame-Options 헤더에 차단되거나 XSS 공격이 가능하다.
  • onError 이벤트의 일관성이 없다.

해결

삽질의 결과로 js (script), css (link), image (img) 에 한해서 리소스 체크가 가능한 걸 확인했다. 하지만 js 와 css 의 렌더링으로 인해 페이지가 틀어지는 걸 어떻게 방지할 수 있을까?

불현듯 샌드박스란 단어가 떠올랐다.

sandbox

보이지 않는 샌드박스 프레임을 만들고, 거기에서 위험한 일을 하면 된다.

<iframe id="sandbox" src="about:blank" style="display:none;" />

만들고

$sandbox.contentDocument.write(`
<html>
<head>
<script>
여기에 프레임간 메세징과 리소스별 onLoad, onError 체크 로직을 넣는다.
</script>
</head>
</html>
`);

넣고

메인 프레임에선 샌드박스 메소드를 postMessage 하면 된다.

넷플릭스 - 얼터드카본 리뷰

· 약 2분

얼터드 카본

회당 70억이 들어간 작품에 SF 스릴러라길래 보기 시작했다.

리뷰

주인공이 질투날 정도로 잘생겼다. AI + 뇌에 대해 How to create your mind를 읽고 나서 동경을 했었는데, 그 시대가 그려진 것 같아 보는 내내 행복했다.

반전이 생각지 못해서 좋았지만, 여형사의 월권이 너무 개연성이 없긴 했다.

줄거리

뇌를 Cortical Stack 이란 칩에 넣어 몸을 바꿔낄 수 있는 시대가 열렸다. 돈 많은 사람들은 Head in the Clouds 란 부유선에 자기 정보를 백업해 놓는다. 그리고 백업된 정신으로 몸만 바꿔가면서 성경의 므두셀라처럼 영생을 산다.

영생에 반대하는 반군 엔보이의 일원인 주인공 코바치는 므두셀라 1인자인 뱅크로프트의 살해사건을 맡기 위해 250년 만에 깨어난다.