본문으로 건너뛰기

Full Stack JavaScript Developer | Half-time Open Sourcerer.

모든 저자 보기

호주에서 사용할 번호, 계좌, 체크 카드 준비

· 약 1분

출국 전​

네이버페이머니 카드​

  • 여기서 발급하면 된다.
  • 이 카드가 25년 현재 기준 혜택이 제일 좋다. 해외 여행 10% 네이버페이 포인트 페이백과 수수료 페이백, 해외 결제 적립까지 다 갖췄기 때문이다.
  • 발급 후 해외여행 여정을 입력한다.

E-Sim​

  • 몇일 동안만 사용할 데이터용 E-Sim을 구매했다.
  • 유심사에서 구매해도 되고, Airalo을 구매해도 된다.

도착 후​

E-Sim 활성화​

  • 구매했던 E-Sim을 공항 도착 후 활성화한다.

호주 Prepaid Sim 활성화​

  • Woolworths에 가서 Optus Prepaid Sim을 구매한다.
    • 플랜은 여러가지인데, $49가 적당해보였다.
    • 그 날 마다 울월스 할인 혜택이 있어서 더 저렴한 걸로 구매해도 좋을 것 같았다.
  • Optus 는 Uplus, Telstra 는 SKT 느낌이다. (경험상 SKT가 기지국이 많아 커버리지가 좋았음)
  • 옵터스 유심의 QR Code를 찍으면 유심 번호를 넣고 활성화할 수 있는데, 그 다음에 유심을 꼽고 스마트폰을 재부팅해주면 된다.
  • 그 후 MyOptus 앱을 설치하고, 회원 가입하고 로그인한다.
  • MyOptus > Services > 내 번호 > AutoRecharge 를 해제해준다. Prepaid 이기에 달마다 리차지를 관리하는게 좋다.

호주 결혼 준비

· 약 3분

시리즈​

NOIM​

Notice of Intended Marriage, 결혼의향서

  • Attorney-General's Department: NOIM
  • 최소 예식 한 달 전에 작성해야만 한다.
  • 작성 후 호주 내에서 의사, 경찰관 등에게 공증을 받아야한다.
  • 한국인으로서 결혼하려면 직접 진행하기에 관계증명서류, 공증서류들이 많이 필요하기에 업체를 먼저 알아보았다.
    • 문서들은 NATTI, National Accreditation Authority for Translators and Interpreters 공증을 받아야하며 건별로 A$30부터 시작하는 듯 했다.
    • 영사관에서도 공증이 있지만 몇몇 서류는 안 되어 직접 방문해봐야할 것 같았다.

예식 예약​

  • Simple Ceremonies
  • 저렴한데 업체를 이용하면 아래 서류들을 다 처리해준다.
    • 결혼식 최소 한 달 전에 작성되어야 하는 결혼의향서(NOIM) 양식 접수
    • 결혼식 당일 예식을 진행하고 모든 법적 서류를 준비할 주례자
    • NSW 주 출생, 사망, 결혼 관리 당국(BDM)에 결혼을 등록하는 절차
  • 사이트를 통해서만 NOIM 양식을 작성해야하고, Attorney-General's Department 에서 출력한 NOIM 양식은 사용할 수 없다.
  • Blues Point Reserve A$350에 오페라하우스가 뒤로 보이는 다리 앞에서, 한국에서는 규격화된 웨딩문화를 벗어나려고하면 기하급수적으로 비용이 붙어 해볼 수 없던 스몰/야외 결혼식이 가능하다.

예식 날짜 결정시​

  • 예식 날짜는 1달 전에 결정해야 한데 입국과 시험 일정이 어떻게 겹칠지 몰라 선뜻 결정하기 어려웠다.
  • 이럴 때를 위해 Lodgement Voucher를 준비해뒀다고 한다.
    • 예비 배우자 비자(Subclass 300)를 신청하려는 경우
    • 결혼식 기간 단축(Shortening of Time)을 신청하려는 경우
    • 결혼식 날짜를 유동적으로 정하고 싶은 경우
    • 일정 변경에 따른 추가 비용을 피하고 싶은 경우
    • 지금 서류를 먼저 처리하고 결혼식 날짜는 나중에 정하고 싶은 경우
  • 접수일로부터 최소 1개월 후, 최대 18개월 이내에 예식을 진행 할 수 있다.

예식 날짜 변경시​

  • 날짜 변경은 원래 예약된 날짜로부터 최소 1달하고도 2일 전까지는 업체 고지가 필요하다.
  • 일정 변경 수수료는 A$85
  • 그 이후로는 전체 비용 새로 결제 필요

결혼 증인​

if a party signs the Notice in Australia: an authorized celebrant, a justice of the peace, a barrister or solicitor, a medical practitioner, or a member of the Australian Federal Police or the police force of a State or Territory.

  • NOIM 에는 공인이 서명을 해줘야하는데 가까운 경찰서에 가서 증인을 해달라고 서명을 부탁하면 된다.
  • The Rocks Police Station에서 흔쾌히 해주었다.

증명서 발급​

주시드니 대한민국 총영사관​

호주 학생 보험 및 한국 건강보험, 국민연금 연기

· 약 1분

시리즈​

학생 보험​

  • 각 보험사의 앱을 다운받아놓고, 입국 시에 번호 개통 후 회원 가입
  • 앱으로 실비 청구 가능

한국 건강보험 및 국민연금​

건강보험 연기​

유학으로 인한 국외출국자가 급여정지 신고를 하면 그 기간 동안에는 보험급여가 정지되어 보험료가 면제되거나 보험료 산정할 때 보험료부과점수가 제외

국민연금 연기​

국내에 소득원이 없는 사람이 유학으로 국외출국을 하는 경우 그 사유가 계속되는 기간 동안에는 연금보험료를 내지 않을 수 있음

참조​

CGI와 그래픽

· 약 12분

CGI 용어​

  • 프레임, frame: 연속된 이미지의 한 장면
  • 잔상, persistence of vision: 다음 프레임과 적절하게 배합하면 마치 사물이 움직이는 것처럼 보이는 현상
  • 트위닝, tweening: 두 프레임 사이의 중간 프레임을 생성하는 기술
  • 셀 애니메이션, cel animation: 프레임마다 그림을 그려서 애니메이션을 만드는 기법
  • 픽셀, pixel: 화소, 화면을 구성하는 가장 작은 단위
  • 가색법, addictive color mixing: 빛의 색을 혼합하는 방법, RGB 색상 모델, 세 가지 모두 최대 명도를 가지면 흰색.
  • 감색법, subtractive color mixing: 물체의 색을 혼합하는 방법
  • 비트맵, bitmap: 색 데이터들의 바이트 목록, 이 바이트의 집합(블록)을 나타냄
  • 해상도, resolution: 이미지(비트맵)의 높이와 너비를 픽셀 단위로 표현한 것
  • 화면 버퍼, display buffer: 디지털 화면의 각 픽셀 색을 저장하는 공간
  • 화면 좌표, screen coordinate: 화면의 픽셀 위치를 나타내는 좌표계, 일반적으로 왼쪽 상단이 원점
  • 모델, model: 3D 객체의 기하학적 표현, 점, 선, 면 등으로 구성됨
  • 로컬 좌표, local coordinate: 모델의 좌표계, 모델의 중심을 원점으로 하는 좌표계
  • 제어점, control point: 모델의 형태를 정의하는 점, 곡선이나 곡면을 정의하는 데 사용
  • 보간, interpolation: 두 점 사이의 값을 계산하는 방법, 선형 보간, 곡선 보간 등, 트위닝 기법에서 사용
  • 스케일링, scaling: 모델의 크기를 조정하는 과정, 각 좌표에 특정 숫자를 곱하거나 나눠서 구현
  • 포지셔닝, positioning: 모델의 위치를 조정하는 과정, 각 좌표에 특정 값을 더하거나 빼서 구현
  • 레스터라이즈, rasterize: 벡터 그래픽을 픽셀로 변환하는 과정, 모델의 각 점을 화면 좌표로 변환
  • 톱니바퀴, jaggies: 레스터라이즈 과정에서 발생하는 계단 현상, 픽셀 단위로 표현되기 때문에 발생
  • 에일리어싱, aliasing: 연속적인 모델과 비연속적인 비트맵 사이에 발생하는 불일치
  • 안티에일리어싱, anti-aliasing: 톱니바퀴 현상을 줄이기 위한 기술, 주변 픽셀의 색을 평균내어 부드러운 경계를 만듦 (흰색 바탕의 경우 겹치는 픽셀에 회색 추가)
  • 알파 수준, alpha level: 각 픽셀이 모델에 겹치는 정도에 따라 투명도 조정
  • 알파 채널, alpha channel: 비트맵에 있는 모든 픽셀의 알파 수준, 비트맵은 모델에 의해 겹쳐지는 픽셀을 색으로 표현한 것이고 알파 채널은 각 픽셀의 투명도를 표현한 것
  • 렌더링, rendering: 모델을 최종 이미지로 바꾸는 작업
  • 렌더러, renderer: 렌더링을 수행하는 소프트웨어
  • 영화수준 렌더링, movie-quality rendering: 고품질 렌더링, 많은 시간과 계산 필요
  • 월드 좌표, world coordinate: 3D 공간에서 모델의 위치를 나타내는 좌표계, 로컬 좌표를 월드 좌표로 변환하는 과정이 필요
  • 뷰포인트, viewpoint: 카메라의 위치와 방향, 3D 공간에서 2D 화면으로 모델을 투영하는 데 사용
  • 투영, projection: 3D 모델을 2D 화면으로 변환하는 과정
  • 거리 효과, distance effect: 3D 모델의 깊이를 표현하기 위한 기술, 원근법을 사용하여 멀리 있는 객체는 작게, 가까이 있는 객체는 크게 표현
  • 확산 효과, diffusion effect: 빛의 입사각에 따라 밝기가 달라지는 현상, 빛이 표면을 비추는 각도에 따라 달라지지만 뷰포인트에 따라선 달라지지 않음.
  • 거울 반사, mirror reflection: 빛의 입사각이 반사각과 일치하는 지점에 나타남, 빛 반사는 빛이 표면에 비치는 각도와 시점 각도에 달라지고, 뷰포인트에 따라 다른 위치에 나타남
  • 직접 조명, direct lighting: 빛이 광원으로부터 나와 물체의 표면을 직접 비추는 것
  • 간접 조명, indirect lighting: 빛이 다른 물체에 반사되어 물체의 표면을 비추는 것
  • 전역 조명 모델, global illumination model: 간접 조명을 포함한 조명 모델, 물체의 표면이 다른 물체에 반사된 빛을 고려하여 조명을 계산
  • 감색법, subtractive color: 색이 섞이면 어두운 색조가 되는 것, CMY 색상 모델, 세 가지 모두 최대 명도를 가지면 검은색
  • 광선 추적법, ray tracing: 빛 추적시 비효율을 줄이기 위해 렌더러가 뷰포인트부터 시작해서 빛을 반대로 추적하는 방법
    • 뷰포인트부터 시작되는 가상의 선이 픽셀 격자의 가운데를 지나가도록 설정
    • 장면의 모든 모델의 기하학적 구조가 가상의 선과 교차하는지 확인
    • 뷰포인트로부터 가장 가까이 있는 교차점은 보이는 표면을 나타내며 이 표면의 색으로 픽셀을 채움
    • 해당 보이는 점으로부터 시작해서 더 많은 선을 그리고 어떤 광선이 직접 또는 간접적으로 이동해서 빛의 출발점에서 끝나는지를 찾아냄
    • 거울반사를 확인하기 위해 동일 각도로 튕기는 광선을 추적, 확산 반사를 위해 임의 각도로 여러 번 튕기는 광선을 추적
  • 그림자, shadow: 뷰포인트를 기준으로 광선을 추적했을 때 광선이 닿지 않는 부분
  • 전체 장면 에일리어싱 방지, full-scene anti-aliasing: 전체 장면의 에일리어싱을 방지하기 위한 기술, 광선을 픽셀 중앙으로만 보내지 않고, 픽셀 나머지 공간으로도 보내어 각 픽셀의 최종 색을 중앙 광선과 모서리 부분의 광선을 섞어서 결정
  • 디지털합성, digital compositing: 여러 이미지를 합성하여 최종 이미지를 만드는 기술, 이미지를 프레임단위로 조합하여 프레임마다 알파를 적용해서 윤곽과 배경을 자연스럽게 합성
  • 디졸브, dissolve: 다음 장면으로 넘어갈 때 이전 장면과 다음 장면을 겹쳐서 자연스럽게 장면을 바꾸는 효과, 자막처럼 화면 위에 글자가 표시되는 것도 디졸브

그래픽 용어​

모든 것은 직선이며 곡선은 없다.

  • 폴리곤, polygon: 다각형, 3D 모델의 기본 단위, 삼각형으로 구성
  • 시야, field of view: 눈에서 멀어질 수록 작아지는 시각적 효과, 가상 월드의 뷰포인트와 투영 화면 사이의 거리를 조정하여 시야를 조정 가능
  • 화가 알고리즘, painter algorithm: 장면에 있는 모든 삼각형에 뷰포인트로부터의 거리를 기준으로 순서를 부여하고, 위치 상 우선순위가 정해지면 뒤에서부터 앞으로 그리는 방식
  • 깊이 버퍼, depth buffer: 각 필셀의 깊이 즉 뷰포인트로부터 떨어진 거리를 저장하는 공간, 이를 통해 렌더러는 장면 상에 있는 모든 물체의 순서를 자유롭게 변경 가능
    • 픽셀을 렌더링하기 전 렌더러가 해당 픽셀의 깊이 버퍼를 확인
    • 깊이 버퍼가 새로운 픽셀 (화면 버퍼에 있는 픽셀)의 앞이나 뒤인지를 확인
    • 새로운 픽셀이 화면 버퍼 상에서 기준 픽셀의 뒤에 있다면 렌더러는 건너뛰고 다음 픽셀 처리
    • 앞에 있다면 화면 버퍼의 픽셀을 새로운 픽셀로 교체하고 깊이 버퍼 업데이트
    • 깊이 버퍼를 통해 중복된 작업을 방지하고 투영을 효율적으로 처리, 모델의 렌더링 순서를 자유롭게 조절할 수 있으므로 그래픽 프로세서 병렬 처리 가능
  • 픽셀 셰이딩, pixel shading: 각 픽셀의 색을 계산하는 과정, 조명, 재질, 텍스처 등을 고려하여 최종 색상을 결정
    • 삼각형과 수직을 이루는 수직선을 다른 방향으로 휘어 평면 삼각형의 빛 반사를 제어하여 곡면 구현
  • 그림자 맵, shadow map: 빛의 시작점을 뷰포인트로 해서 화면 버퍼 없이 깊이 버퍼만 계산한 이미지
  • 그림자 수준, shadow quality: 그림자 맵의 해상도, 해상도가 높을수록 그림자가 더 선명하게 표현
  • 주변 조명, ambient lighting: 이미지에 자연스렁누 조명을 반영하기 위해 입사각이나 광선의 도달 여부와 상관없이 모든 모델의 표면을 일정하게 밝히는 조명
  • 주변 폐색, ambient occlusion: 주변 조명으로부터 가짜 그림자를 만들어내는 기법, 틈새나 구멍, 금이 간 곳 등에 그림자 적용
  • 화면 공간 주변 폐색, screen space ambient occlusion (SSAO): 주변 폐색을 화면 공간에서 계산하는 기법, 깊이 버퍼를 사용하여 주변 조명을 시뮬레이션
    • 뷰포인트 수직에 둔다.
    • 표면 상의 수직선에서 수직선을 회전시켜 반구를 만든다.
    • 셰이딩은 반구 안에 있는 점에서 발생하는 빛의 확산을 관찰한다.
    • 각 점은 모델상의 점이 화면에 투영될 때와 같은 방식으로 투영된다.
    • 각 점의 깊이는 해당 픽셀 위치의 깊이 버퍼와 비교해서 점이 모델 앞에 있는지 뒤에 있는지를 확인한다.
    • 표면 뒤에 있는 점의 비율은 주변 폐색의 비율을 계산하기 위한 근사치가 된다.
    • 적어도 픽셀 하나당 16개의 점을 투영하고 관찰해야하여 무거운 처리지만 각 픽셀의 계산이 독립적이라 병렬 처리 가능
  • 텍스처 매핑, texture mapping: 모델 표면을 평면으로 된 이미지로 덮는 기술
  • 텍스처, texture: 텍스처 매핑에 사용되는 비트맵 이미지
  • 샘플링, sampling: 텍스처를 입힌 영역에서 텍스처를 기반으로 픽셀 색을 결정하는 것
  • 턱셀, texel: 텍스처 내의 픽셀, 텍스처 매핑에서 사용되는 픽셀 단위
  • 최근접 샘플링, nearest sampling: 텍스처에서 가장 가까운 턱셀의 색을 픽셀에 적용하는 방법, 빠르지만 품질이 낮음
  • 이중선형 필터링, bilinear filtering: 텍스처에서 네 개의 인접 턱셀을 혼합한 값에 비례해서 색을 결정하는 방법, 인접한 네 개의 턱셀로 구성되는 사각형의 두 축을 따라 샘플링하여 색을 결정
  • 밉맵, mipmap: 작은 텍스처의 집합, 텍스처를 확대해서 봐야하는 경우는 높은 해상도의 텍스처를, 텍스처 대상 영역이 작다면 낮은 해상도의 텍스처 사용, 각 단계의 밉맵은 이전 단계 밉맵의 1/4 크기.
  • 삼중선형 필터링, trilinear filtering: 각 텍스처에 대한 필터링 결과와 이것을 혼합한 것을 다시 필터링하는 방법, 밉맵상의 작은 텍스처와 큰 텍스처를 이중선형 처리하고 결과를 혼합한다.
  • 뚜렷한 반사, clear reflection: 유리나 거울처럼 사물의 표면이 깨긋할수록 주변에 있는 사물이 뚜렷하게 반사돼 비치는 효과
  • 환경 매핑, environment mapping: 주변에 있는 사물을 렌더링한 것을 텍스처로 사용해서 상자 안을 포장하고, 이 상자 안에 반짝이는 물체(개념적 물체)를 두는 것
  • 거리 조작자, distance impostor: 게임에선 각 사물이 두 번 모델링되는데 하나는 많은 삼각형을 사용해 표현한 정밀한 모델, 다른 하나는 적은 삼각형을 사용한 단순한 모델, 단순한 모델이 원본 모델의 "조작자"이며 모델이 뷰포인터로부터 특정 거리 이상으로 멀어지면 정밀한 모델을 조작자로 대체
  • 범프 매핑, bump mapping: 삼각형의 수는 유지하면서 각 픽셀의 조명 계산을 바꿔서 불균일한 표면을 만드는 것, 평면에 빛이 반사될 때 마치 울퉁불퉁한 평면에 빛이 닿은 것 같은 효과를 주는 것
  • 높이 맵, height map: 범프 매핑을 위해 텍스처와 같은 크기의 흑백 비트맵을 만들어서 모델 표면에 적용하는 것, 각 픽셀의 밝기가 표면의 높이 정보를 나타낸다.
  • 조각화, tessellation: 모델의 표면을 더 많은 삼각형으로 나눠 세분화한 삼각형들의 모서리 부분을 높이 맵을 이용해서 하나씩 안쪽이나 바깥쪽으로 조작, 범프 매핑을 이용해 수직선의 방향을 바꾸는 눈속임이 아니라 모델을 실제처럼 정밀하게 만드는 것
  • 슈퍼 샘플링 안티에일리어싱, super sampling anti-aliasing (SSAA): 다수의 광선을 픽셀 단위로 보내지 않고 원하는 최종 이미지보다 훨씬 큰 중간 단계의 이미지를 만들고 최종 이미지에 있는 각 픽셀의 색은 큰 이미지의 픽셀 샘플들을 혼합한 값으로 결정하는 방법
  • 서브 픽셀, sub-pixel: 높은 해상도의 렌더링 이미지를 이용해서 최종 렌더링 이미지 픽셀 색을 정하기 위해 사용되는 작은 단위, 서브 픽셀 단위로 색을 결정하여 더 부드러운 경계와 세밀한 디테일을 표현
  • 멀티 샘플링 안티에일리어싱, multi-sampling anti-aliasing (MSAA): 삼각형 내부에 있는 서브 픽셀은 제외하고 삼각형의 외곽선(울퉁불퉁한 부분) 부분에 있는 서브 픽셀만 처리하여 성능을 향상시키는 방법
    • 먼저 서브 픽셀이 포함되는 삼각형을 찾은 후 각 서브 픽셀이 동일 삼각형 내에 있다면 모두 같은 색을 적용
    • 네 개의 서브 픽셀이 모두 같은 삼각형 내에 있으면 멀티 샘플링은 하나의 서브 픽셀만 칠하기 때문에 계산량이 줄어 성능 향상
  • 후처리 에일리어싱 방지, post-processing anti-aliasing: 원하는 해상도로 이미지를 먼저 렌더링한 후 각진 윤곽을 부드럽게 다듬어주는 방법, 잘못된 색으로 칠해진 픽셀을 찾아 정정
  • FXAA, fast approximate anti-aliasing: 후처리 에일리어싱 방지의 한 종류, 겹쳐있는 삼각형의 경계에 존재하는 픽셀을 찾아서 주변의 픽셀과 색을 혼합하여 각진 경계를 부드럽게 만들 수 있음
    • 이미지 상의 각 픽셀을 하나한 확인
    • 관찰 대상 픽셀인 현재 픽셀의 밝기를 계산하고 주변에 있는 네 개의 픽셀을 확인해서 가장 밝은 픽셀과 어두운 픽셀을 선택
    • 두 픽셀의 차이를 기준 값과 비교하여 주변 픽셀과 밝기 차이가 큰 경우(고대비인 경우) 에일리어싱 방지 처리 적용

압축​

  • 연속 길이 부호화, run-length encoding (RLE): 연속된 동일한 값의 길이를 기록하여 압축하는 방법, 예를 들어 "AAAABBBCCDAA"는 "4A3B2C1D2A"로 압축
  • 독립 픽셀, raw pixel: 동일 색이 두 번 이상 연속되지 않는 픽셀
  • 사전식 압축, dictionary compression: 자주 사용되는 패턴이나 문자열을 사전에 저장하고, 해당 패턴이 나타날 때 사전의 인덱스를 사용하여 압축하는 방법
  • 허프만 부호화, Huffman coding: 문서상 단어들을 사용 빈도에 따라 순서를 매겨 압축하는 방법, 자주 사용되는 단어는 짧은 코드로, 덜 사용되는 단어는 긴 코드로 표현
  • 접두 코드, prefix code: 허프만 부호화에서 사용되는 코드의 형태, 각 코드가 다른 코드의 접두사가 되지 않도록 설계되어 있어, 압축된 데이터를 해석할 때 혼동을 방지
  • 예측 인코딩, predictive encoding: 원 데이터에서 중복데이터가 없을 경우, 이전 값과의 차이 등 예측 가능한 값을 기록하여 압축하는 방법, 예를 들어 "100, 102, 101, 105"는 "100, +2, -1, +4"로 압축
  • deflate 압축: 슬라이딩 윈도우를 사용해서 중복된 단어가 등장한 이전 위치를 수치로 기록하여 단어와 대체, 허프만 부호화를 추가해 가장 자주 등장하는 숫자 쌍에 짧은 코드 할당
  • 양자화, quantization: 데이터의 정확성을 떨어뜨려서 저장하는 방식

TGA 기준 예시​

0123456789
흰색흰색노란색노란색노란색흰색초록색파란색파란색흰색

크기가 0000000 이면 1이고, 0000001이면 2로 실제 크기보다 하나 작게 표현

연속/독립크기RedGreenBlue설명
10000001111111111111111111111111두 개의 연속 흰색 픽셀
10000010110011001100110000000000세 개의 연속 노란색 픽셀
00000001111111111111111111111111픽셀 두 개의 독립 패킷, 첫 번째는 흰색
000000001000000000000000독립 패킷의 두 번째 픽셀, 초록색
10000001000000000000000011111111두 개의 연속 파란색 픽셀
00000000111111111111111111111111하나의 독립 흰색 픽셀

사전식 압축 예시​

위치바이너리 위치단어
1000000a
2000001an
3000010An
4000011animated
.........
2410111When

허프만 부호화 예시​

단어빈도바이너리 코드
the25%01
a20%000
good11%110
ate7%0011
.........
forevermore1%10111

JPEG​

Joint Photographic Experts Group

  • 픽셀 색이 이미지 전체에 다양하게 적용되지만 개별 픽셀은 주변에 있는 픽셀과 비슷하다는 것.
    • 구름 낀 날씨에 초록색 잎이 무성한 나무를 찍으면 초록 색 잎 픽셀 주변에는 초록색 픽셀들이 있고, 파란색 하늘 픽셀 주변에는 파란색 픽셀들이, 회색 구름 주변에는 회색 픽셀들이 모임
  • 주변 픽셀 중에 다른 것보다 더 밝은 픽셀이 존재한다는 성질
    • 무성한 나뭇잎 중 어떤 것은 빛을 받아서 더 밝은 픽셀로 나타나지만 각 픽셀이 가진 기본적인 색은 비슷함
    • 사람의 시각은 색의 차이보다 밝기 차이에 더 민감
  • JPEG는 이미지를 8x8 픽셀 블록으로 나눠 압축, 밝기와 색을 별도로 압축하기 위해 각 픽셀의 RGB 값을 Y, Cb, Cr로 변환
    • Y, luminance: 휘도, 픽셀이 가진 빛의 정도(밝기)
    • Cb, blue difference: 파란색 차이
    • Cr, red difference: 빨간색 차이
  • 픽셀 간에 발생하는 대부분의 차이가 Y 요소에 집중
  • Cb와 Cr 블록의 낮은 분산 정도는 압축에 용이
  • 색상 차이보다 밝기 차이에 더 민감하기 때문에 손실을 무시한 채 Cb, Cr 블록을 더 크게 압축 가능
  • 휘도 값의 중간 값이 0이 되도록 조정
  • DCT 처리

RGB vs YCbCr​

RGB색상YCbCr
02550초록색1455434
255255255흰색235128128
0255255아쿠아17016616
12800마룬49109184
25500빨간색7685255

비연속 코사인 변환​

discrete cosine transform (DCT)

  • 절대 휘도와 색 데이터를 상대 측정 값으로 변환하는 것
  • 각 픽셀이 가진 값 자체가 아닌 픽셀 간의 값 차이를 이용하는 것

압축 과정​

  • DCT 처리된 8x8 나누기용 블록 (왼쪽 위는 낮은 값, 오른쪽 아래는 높은 값)으로 나눠 양자화
  • 양자화 이후 0이 아닌 값들은 행렬 왼쪽 상단에 모이므로, 지그재그 패턴으로 목록화
  • 앞에 있는 연속된 0의 수와 계수(0이 아닌 수)를 한 쌍으로 만들어 처리
/* 8 10 -7 -7 6 -4 0 -2 1 -2 -1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0... */
0, 8
0, 10
0, -7
0, -7
0, 6
0, -4
0, 0
1, -2
0, 1
0, -2
0, -1
2, 1
// 나머지 모두 0
  • 자주 등장하는 쌍은 짧은 허프만 코드 (001, 010 등)로 대체
  • 나머지 0인 모든 계수들은 1010이라는 특별한 코드 사용
  • 나누는 수를 크게하여 quality 조정
  • 시각적 품질을 떨어뜨리지 않고 만들 수 있는 압축률은 일반적으로 10:1 정도

MPEG​

  • 시간의 중복성, temporal redundancy: 프레임과 프레임 사이에 발생하는 데이터의 연속성
  • 시간적 압축, temporal compression: 프레임 간의 중복 데이터를 제거하여 압축하는 방법, 스트리밍 영상이나 영상 저장 등에 사용하는 핵심 기술
  • 픽처 그룹, group of pictures (GOP): MPEG에서 사용하는 프레임 그룹
    • 인트라코드 프레임, Intra-coded frame: 각 GOP 중 프레임 하나를 선택해서 기본 JPEG 압축 이미지로 사용, 다른 나머지 프레임은 모두 시간적 압축 사용
    • 예측 프레임, Predicted frame: 현재 프레임과 이전 프레임의 픽셀 값 차리를 저장
    • 양방향 프레임, Bi-directional predicted frame: 이전 프레임과 이후 프레임의 픽셀 값 차이를 저장
  • 매크로 블록, macro block: MPEG에서 사용하는 16x16 픽셀 블록
  • 오프셋, offset: P-Frame과 I-Frame의 화면 좌표상 위치 차이
  • 블록화 제거 필터, deblocking filter: 프레임이 매크로 블록으로 나눠진 방식에 따라 블록 경계에서 부조화가 발생하는데, 블록 경계의 픽셀을 평균화하여 부드럽게 만드는 필터

MPEG4​

  • 32개 프레임을 사용하여 일치 처리
  • 16x16 매크로 블록 자체를 8x8 블록으로 나눠서 압축

구문 분석

· 약 2분

개념도​

while (count <= 100) {
count++;
// ...
}
  • 재귀적 하향 구문 분석: recursive descent parsing
  • LL(0) 문법: 어떤 비단말 노드에서 유도되는 규칙이 여러 개인 경우에, 그 중 어떤 규칙을 적용할지는 항상 첫 번째 토큰만 보고 결정 가능한 속성

구문 예시​

요소예시
keyword'class' | 'function' | 'if' | 'else' | 'while' | 'for' | 'return' | 'int' | 'string' | 'boolean' | 'true' | 'false' | 'null'...
symbol'(', ')' | '{', '}' | '[', ']' | ';' | ',' | '.' | '=' | '==' | '!=' | '<' | '>' | '<=' | '>=' | '~'
integerConstant10진수 숫자
stringConstant따옴표와 줄바꿈 문자를 제외한 유니코드 문자열
identifier숫자로 시작하지 않는, 영문자, 숫자, 밑줄(_)로 구성된 문자열
comment//로 시작하는 한 줄 주석, /* ... */로 감싸진 여러 줄 주석
whitespace공백, 탭, 줄바꿈 문자 등

프로그램 구조​

요소예시
class'class' className '{' classVarDec\* subroutineDec\* '}'
classVarDec('static' | 'field') type varName (',' varName)\* ';'
type'int' | 'boolean' | 'char' | className
subroutineDec('constructor' | 'function' | 'method') ('void' | type) subroutineName '(' parameterList ')' '{' varDec\* subroutineBody '}'
parameterList(type varName (',' type varName)*)?
subroutineBody'{' varDec* statements '}'
varDec'var' type varName (',' varName)* ';'
classNameidentifier
subroutineNameidentifier
varNameidentifier

명령문​

요소예시
statementsstatement\*
statement:letStatement | ifStatement | whileStatement | doStatement | returnStatement
letStatement'let' varName ('[' expression ']')? '=' expression ';'
ifStatement'if' '(' expression ')' '{' statements '}' ('else' '{' statements '}')?
whileStatement'while' '(' expression ')' '{' statements '}'
doStatement'do' subroutineCall ';'
returnStatement'return' (expression)? ';'

표현식​

요소예시
expressionterm (op term)*
termintegerConstant | stringConstant | keywordConstant | varName | varName '[' expression']' | subroutineCall | '(' expression ')' | unaryOp term
subroutineCallsubroutineName '(' expressionList ')' | (className | varName) '.' subroutineName '(' expressionList ')'
expressionList(expression (',' expression)*)?
op'+' | '-' | '*' | '/' | '&' | '|' | '<' | '>' | '='
unaryOp'-' | '~'
keywordConstant'true' | 'false' | 'null' | 'this'

호주 학생 비자 주의사항

· 약 2분

시리즈​

주의사항​

  • 비자 받으면 여러 주의사항들이 적혀있는데 한 번 정리가 필요했다.
조건 번호핵심 내용주의 포인트
8104구직 제한석사/박사 코스 시작 후 배우자만 풀타임 근무 가능
8105근로 시간 제한2주 48시간, 방학 예외, 무급도 포함
8202학업 유지출석/성적 관리, 과정 레벨 변경 주의
8501건강보험체류 전체 기간 OSHC 유지 필수
8533주소 신고7일 이내 신고, 학교 변경 시도 포함
8208민감기술 연구 제한석사/박사 연구 시 승인 필요
8516/8517비자 요건 유지/자녀 교육가족 동반 시 자녀 교육 필요
8532미성년자 복지보호자 변경 시 학교 승인 필요

8104 구직 제한​

8105 근로 시간 제한​

  • 학기 중엔 2주에 48시간까지만 근무 가능
    • 8h 기준 최대 한주에 3일
  • 개강 전까지는 아예 일 못 함
  • 방학 중에는 시간제한 없음
  • 무급 인턴십도 시간 제한에 포함
    • 단, CRICOS 등록된 필수 실습만 예외로 무제한 가능

8501 건강 보험 유지​

  • 체류 기간 동안 OSHC(Overseas Student Health Cover) 유지 필수
  • BUPA 보험사 활용했음
  • 보험 가입은 미리 가능하고 비자 발급에 필수임
  • 앱은 호주 입국 후 전화번호가 나오면 활성화 가능

참고​

IELTS Speaking 기출 오답노트 2025

· 약 4분

D1, Plants​

  • Do you keep plants at homes?
    • Yes, I do. I have one plant on my living room desk and another on the dining table. I’m not exactly sure what type they are, but I bought them from an online store because I wanted to try growing some plants.
  • What plant did you grow when you were young?
    • When I was young, I used to grow vegetables and flowers at home. Sometimes, I’d even pick a few lettuce leaves and enjoy eating them.
  • Do you know anything about growing a plant?
    • Well, I don’t know the best growing methods exactly, but I do know the basics. I usually water my plants once a week, keep them near a window for sunlight, and sometimes use fertilizer to enrich the soil.
  • Do Chinese people send plants a gifts?
    • Yes, they do. Although I haven’t experienced it personally, I know that Chinese people often give plants as gifts because they symbolize life, prosperity, and beauty.

D2, Holidays​

  • Where did you go for your last holiday?
    • I went to Jeju Island because my parents live there. I visited Youngmeori beach with them. The rock formations there are amazing because they were shaped by waves over thousands of years.
  • Do you like holidays? Why?
    • I really like holidays because I've worked for ten years and don't get many vacations. So when I have a holiday, I usually go on a short trip abroad with my wife.
  • Which public holiday do you like the best?
    • Maybe New Year's Day, because it's the biggest holiday in Korea, and I get to celebrate it with my loved ones.
  • What do you do on holidays?
    • Sometimes I go on a short trip to another country, and other times I just want to completely relax at home.
  • Do you like to spend your day at home?
    • Yes, as I mentioned earlier, I sometimes like to completely rest at home. I enjoy it because it helps me recharge and get ready for the next week. Plus, watching Netflix with my wife helps me relieve stress.
  • Do you prefer a leisure or a busy holiday?
    • It depends on my condition. When I'm feeling good, I love going out, having coffee, and enjoying outdoor activities. But When I'm not, I prefer a leisurely holiday at home.

D3, Science​

  • Do you like science?
  • When did you start to learn about science?
  • Which science subject is interesting to you?
  • What kinds of interesting things have you done with science?
  • Do you like watching science TV programs?
  • Do people in your country often visit science museums?

D4​

  • I'm a first-year grad student.
  • I'm in my first year at a grad school.
  • I want to reduce the calories I eat.
  • We became friends from the moment we first met.
  • I traveled alone for nine days in Cambodia.
  • What do you do for fun?
  • What do you like to do?
  • What classes are you taking?
  • Why are you taking English classes?
  • How much holiday time do we really get?
  • What are the perks of this job?
  • What was your major in university?
  • What did you study in university?
  • Do you have any siblings?
  • What do you like to read?
  • What are you reading these days?
  • Do you travel a lot?
  • What are you going to do for the next holiday?

D5​

  • I really like V~ing/N
  • I'm interested in V~ing/N
  • I'm really into V~ing/N
  • I'm crazy about V~ing/N
  • I can't stand V~ing/N
  • I'm not a big fan of V~ing/N
  • It's right up myu street!
  • I can't bear it!
  • It doesn't float my boat!
  • It's not really my cup of tea!

D6​

  • I think it is excessive regulation
  • There may be no link between the cause and the result
  • When tourists visit popular destinations, they often travel by large cruise ships or airplanes.
  • These vehicles emit large amounts of CO2 during operation, which contributes to global warming.
  • CO2 emissions doubled after COVID-19 restrictions were lifted and international travel resumed.
  • Tourists often cause noise pollution, especially at night.
  • Statistics show that police reports have steadily increased near tourist areas due to drunk tourists.
  • Local residents struggle to sleep at night.
  • Visitors from other regions tend to throw rubbish more carelessly.
  • Most of them stay only a few days and do not dispose their waste properly.
  • Street cleaners have to work harder, creating a financial burden for the city's budget.
  • It should be regulated to strike a balance between promoting tourism and preventing over-tourism.

MCP, Model Context Protocol

· 약 4분

MCP 개요​

MCP 개념​

  • AI 모델이 외부 데이터 소스 및 도구와 원활하게 통합될 수 있도록 하는 개방형 프로토콜
  • 2024년 11월에 Anthropic에서 오픈 소스로 공개, AI 생태계에서 USB-C 포트와 같은 역할을 수행

MCP 등장배경​

  • 정보 사일로, 데이터 고립 해결
  • AI 모델 통합시 각 데이터소스마다 사용자 정의 코딩으로 인한 비효율 -> AI 시스템의 활용 범위 제한
  • AI 에이전트와 에이전틱 워크플로우 발전 -> 실제 비즈니스 시스템과 데이터의 통합 필요성 대두

MCP 구성도, 구성요소, 활용방안​

MCP 구성도​

MCP

MCP 구성요소​

구분설명기능
호스트LLM 애플리케이션으로, MCP 연결 시작점사용자로부터 질문이나 명령을 받아 모델에게 전달하고, 모델의 응답을 사용자에게 보여주는 전체 흐름 조율
클라이언트호스트 애플리케이션 내에서 서버와 1:1 연결을 유지서버로 요청을 보내고 응답을 받아 모델에 전달
MCP 서버클라이언트에 컨텍스트, 도구, 프롬프트를 제공각 서버는 특정 기능을 표준화된 모델 컨텍스트 프로토콜을 통해 노출
MCP 리소스AI가 컨텍스트로 불러올 수 있는 데이터 소스파일, 문서 또는 데이터베이스 쿼리와 같은 데이터 소스 접근 제공
MCP 도구AI가 수행할 수 있는 작업API 호출을 하거나 명령을 실행하는 것과 같은 기능 제공
프롬프트LLM 상호작용을 위한 재사용 가능한 템플릿특정 시나리오에서 AI의 행동을 안내
통신 프로토콜JSON-RPC 2.0 기반 표준 메시지 형식클라이언트와 서버 간의 통신 규약 정의
전송 레이어표준 입출력(stdin/stdout) 또는 HTTP(SSE)클라이언트와 서버 간의 통신 채널 제공

MCP 활용방안​

구분내용사례
기업용 솔루션기업 내부 데이터 접근 및 통합Slack(대화 기록, 채널 정보), Google Drive(문서 검색), 데이터베이스(Postgres, SQLite) 등 업무 도구 통합
개발 도구코드 컨텍스트 및 개발 환경 통합GitHub, Sourcegraph, Replit, Codeium, Zed 등 개발 플랫폼과 통합, 코드 리포지토리 상호작용
개인 생산성개인 정보 관리 및 자동화이메일 관리(Gmail), 캘린더, 작업 관리, Puppeteer를 통한 웹 브라우징
데이터 분석데이터 소스 접근 및 분석멀티모달 데이터 분석, 모니터링 시스템(Cloudflare, Sentry) 통합
AI 에이전트 개발복잡한 워크플로우 자동화RAG(Retrieval-Augmented Generation) 시스템, 복잡한 작업 조정을 위한 AI 에이전트 프레임워크
보안 및 규정 준수안전한 데이터 접근 및 통제민감한 데이터에 대한 제어된 접근, 권한 관리, 감사 로깅

MCP, LSP 차이점​

MCP는 LSP, Language Server Protocol에서 영감 받음

구분LSPMCP
목적개발 도구와 언어 서버 간 통신 표준화AI 모델과 외부 데이터 소스 및 도구 간 통합 표준화
활용 영역코드 편집기, IDE에서 언어 기능 제공AI 애플리케이션에서 외부 데이터 접근 및 도구 활용
핵심 기능자동 완성, 정의로 이동, 오류 진단 등컨텍스트 제공, 도구 호출, 데이터 접근 등
아키텍처클라이언트(편집기)-서버(언어 서비스)클라이언트(AI 앱)-서버(데이터 소스/도구)
통신 방식JSON-RPC 2.0JSON-RPC 2.0
통신 채널stdin/stdout, 명명된 파이프, 소켓(TCP)stdin/stdout, HTTP + SSE(Server-Sent Events)
개발 주체MicrosoftAnthropic
공개 시기2016년2024년 11월
영감 출처V8 디버거 프로토콜부분적으로 LSP에서 영감을 받음
주사용자프로그래밍 언어 서비스 개발자, 도구 제작자AI 모델 개발자, 데이터 통합 엔지니어

MCP 예시 코드​

#!/usr/bin/env node
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import {
ListToolsRequestSchema,
CallToolRequestSchema,
McpError,
ErrorCode
} from "@modelcontextprotocol/sdk/types.js";

// MCP 서버 인스턴스 생성
const server = new Server({
name: "mcp-simple-server",
version: "1.0.0",
});

// 도구 목록 제공 핸들러
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [{
name: "calculate_sum",
description: "두 숫자를 더합니다",
inputSchema: {
type: "object",
properties: {
a: { type: "number" },
b: { type: "number" }
},
required: ["a", "b"]
}
}]
};
});

// 도구 호출 핸들러
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name === "calculate_sum") {
const { a, b } = request.params.arguments;
return { toolResult: a + b };
}

throw new McpError(ErrorCode.ToolNotFound, "도구를 찾을 수 없습니다");
});

// 표준 입출력을 통한 MCP 서버 연결
const transport = new StdioServerTransport();
await server.connect(transport);

테스트 타임 컴퓨트

· 약 2분

테스트 타임 컴퓨트 개요​

테스트 타임 컴퓨트 개념​

  • 추론 단계에서 동적 계산 자원 할당을 통해 모델 성능을 최적화하는 기술
  • 기존 모델 스케일링 접근법과 달리 파라미터 확장 대신 추론 시 연산량을 가변 조절함으로써, 동일 아키텍처에서도 문제 난이도에 따른 효율적 자원 관리가 가능
    • 훈련 시간 계산(Train-Time Compute) 대비 추론 단계 계산 최적화

테스트 타임 컴퓨트 배경​

  • 데이터 고갈 문제: 대규모 학습 데이터 확보의 물리적 한계
  • 에너지 효율성 요구: 100B+ 파라미터 모델의 환경 부담 증가
  • 엣지 컴퓨팅 수요: 모바일 기기에서의 실시간 추론 필요성
  • LLM 스케일링 한계: 단순 모델 확장의 성능 한계 돌파 필요

테스트 타임 컴퓨트 구성도, 구성요소, 적용방안​

테스트 타임 컴퓨트 구성도​

테스트 타임 컴퓨트 구성요소​

구분내용비고
난이도 평가 모듈쉬운 문제에서 최소계산, 어려운 문제에서 병렬 계산최적의 답안 도출
Proposer다중 후보 답안 생성, 가능성 탐색몬테카를로 트리 탐색
Verifier답안의 정확도, 신뢰도 평가 후 오류 최소화과정 검증(PRM), 결과 검증(ORM)
피드백 루프오류 패턴 자가 수정 메커니즘강화학습 기반 최적화

테스트 타임 컴퓨트 적용방안​

구분내용비고
Best-of-N SamplingN개 답안 생성 후 최상위 선택계산 비용 대비 효율 균형 필요
Beam Search상위 K개 경로 유지하며 탐색PRM과 결합시 성능 향상
STaR 알고리즘자기 주도적 추론 개선실시간 지식 습득 가능
동적 컴퓨트 할당문제 난이도에 자원 조정Easy: 1-4회, Hard: 16-256회 반복
멀티모달 통합텍스트+코드+시각 데이터 협업HuggingFace 다중 검증기 모델

테스트 타임 컴퓨트 발전방향​

  • PRM(Process Reward Model) 고도화
    • 계층적 점수화(Hierarchical Scoring): 추론 단계별 가중치 차등 적용
    • 교차 검증 메커니즘: 다중 PRM 앙상블을 통한 편향 감소
  • 에지 컴퓨팅 통합
    • 분산 검증 아키텍처: 모바일 디바이스-클라우드 협업
    • 양자화 기반 경량화: 8비트 PRM 모델 개발

내부 게이트웨이 프로토콜

· 약 1분

내부 게이트웨이 프로토콜​

  • 네트워크 규모에 따라 소규모 네트워크에서 주기적으로 라우팅 정보를 교환하는 RIP, 대규모 네트워크에서 Dijkstra 알고리즘을 사용하여 최단 경로를 계산한 OSPF 선택

RIP, OSPF 동작 매커니즘, 상세 비교, 활용 방안​

RIP, OSPF 동작 매커니즘​

RIP, OSPF 상세 비교​

구분RIPOSPF
프로토콜 유형내부 게이트웨이 프로토콜내부 게이트웨이 프로토콜
알고리즘거리 벡터 알고리즘링크 상태 알고리즘
최대 홉 수15제한 없음
전송 계층 프로토콜UDPIP
특징주기적 업데이트, 단순 구조빠른 수렴, 멀티캐스트 사용

RIP, OSPF 활용 방안​

구분내용적용 방안
RIP소규모 네트워크에서 기본 라우팅 제공구현 및 유지보수 용이
최대 홉 수 제한으로 인해 대규모 네트워크에는 부적합OSPF 등 다른 IGP 프로토콜 검토
OSPF대규모 네트워크에서 확장성과 안정성 요구빠른 수렴, 정확한 경로 선택
복잡한 설정 및 높은 리소스 요구전문가 컨설팅 및 하드웨어 성능 확보