반응형

전체 글 44

컴파일러 구조와 LLVM

컴퓨터 프로그래밍에서 소스 코드를 기계어로 번역하여 컴퓨터에서 실행 가능한 프로그램으로 만드는 작업은 컴파일러의 역할입니다. 전통적인 컴파일러는 코드 변환 과정에서 최적화를 수행하고, 각 CPU 아키텍처에 맞는 기계어를 생성합니다.  하지만 이 과정에서 발생하는 비효율성이나 다양한 프로그래밍 언어 및 아키텍처에 대한 대응이 어렵다는 문제점이 있었습니다. 이를 해결하기 위해 등장한 것이 LLVM이라는 모듈식 컴파일러 인프라스트럭처입니다. 이 글에서는 전통적인 컴파일러와 LLVM의 구조와 차이점을 설명하고, LLVM이 제공하는 장점들을 살펴보겠습니다.전통적인 컴파일러 구조컴파일러는 일반적으로 세 가지 단계로 구성됩니다: 프런트엔드(Frontend), 미들엔드(Middle-end), 그리고 백엔드(Backen..

Python __함수__ 매직 메서드란?

파이썬을 접하면서 다른 프로그래밍 언어와 달리 __ init__ 와 같이 함수 앞뒤에 언더바가 2개씩 붙이는 표현이 있습니다. 이를 매직 메서드(Magic method) 혹은 던더 메서드(Dunder method)라고 합니다. 이 표현에 대해 알아보고 기록하기 위해 정리합니다. 매직 메서드 Python에서 매직 메서드는 사용자가 직접 호출할 수 없습니다. 연사자를 사용하여 숫자 연산을 하면 내부적으로 __add__() 메서드가 호출됩니다. __add__()를 호출하면 op1 + op2일 때 컴파일러가 해당 class의 __add__() 구현 여부를 확인하여 인라이닝 합니다. class Student def __init__(self, name, age): self.name = name self.age = ..

IT 이야기/Python 2024.03.07

클래시오브클랜 장인기지 6홀 배치

coc 장인기지 6홀부터는 O.T.T.O의 전초기지라는 게 생기면서 배치해야 하는 지도가 2개가 됩니다. 장인회관이 2개로 늘어나면서 완파 시 총별의 개수도 6개로 늘어납니다. 클래시오브클랜 장인기지 6홀 배치를 공유합니다. 장인기지 1번째 마을 배치 건물 외관은 모두 풀업상태이지만 따라서 배치하는 데는 문제없을 겁니다. 가운데 장인회관을 배치하고 벽으로 지상유닛을 돌아오게 만들어서 크러셔로 모이게 한 배치입니다. 생각 없이 공격 들어오면 완파가 절대 나오지 않는 까다로운 배치입니다. 해당 배치는 벽이 균일하게 있어서 따라하기 어렵지 않지만 건물을 숨기고 벽만 보이게 했을 때 배치입니다. 균일하지만 상당히 견고한 배치라 생각됩니다. 장인기지 2번째 마을 배치 2번째 장인기지 배치입니다. O.T.T.O의 ..

ETC/ETC 2024.03.05

클래시오브클랜 장인기지 5홀 배치

coc 장인기지 4홀 배치 이후로 오랜만에 포스팅하네요 최근 장인기지 10홀에 풀방타를 달성한 기념으로 장인기지 5홀 배치를 공유합니다. 중앙 홀을 방타로 감싸는 형태로 최대한 공략하기 어려운 형태인데 좋은 것 같네요 장인기지 5홀 배치 건물들이 모두 10홀 기준 풀업상태라 외관 이미지는 살짝 고급스럽지만 배치하는 데는 문제없을 겁니다. 중요한 포인트는 점프 트랩을 모두 크러셔 쪽으로날아가도록 방향을 신경 써서 배치하셔야 합니다. 공격자에게 보이는 배치 홀 중심으로 방어가 탄탄해 보여서 공격 방향 잡기 어렵습니다. 방어타워 사이사이 트랩이 신경 쓰이고 공략이 어려워 보입니다. 건물을 제외한 벽 배치 배치를 따라 하다 보면 건물 때문에 벽이 가려져서 헷갈릴 때가 있어서 공유합니다. 클래시오브클랜 장인기지 ..

ETC/ETC 2024.02.08

비디오 처리, 인코더(Encoder)와 디코더(Decoder)

비디오 처리의 핵심 인코더(Encoder)와 디코더(Decoder) 비디오 처리는 디지털 영상을 압축하고 전송, 재생하는 등의 다양한 작업을 포함하며, 이를 가능하게 하는 중요한 요소로 인코더와 디코더가 있습니다. 이 두 요소는 데이터의 압축과 해제, 전송, 저장에 관련된 핵심 기능을 수행합니다. 인코더(Encoder) 인코더는 비디오 데이터를 효과적으로 압축하여 파일 크기를 줄이고, 동시에 원본 비디오의 품질을 유지합니다. 이렇게 압축된 데이터는 효율적으로 저장 및 전송될 수 있어, 용량이 제한된 환경에서도 높은 화질의 비디오를 다룰 수 있게 합니다. 인코더의 알고리즘은 여러 가지 비디오 코딩 표준에 따라 선택되며, 이는 효율적이고 품질 좋은 압축을 가능하게 합니다. 비디오 압축 인코더는 높은 해상도의..

네비게이션 교통정보용어 해설

네비게이션 용어 해설 네비게이션 교통정보 용어들의 이해 네비게이션에서의 "유고 정보"는 주로 운전자에게 도로 상황과 관련된 중요한 정보를 전달하는 기능을 말합니다. 이 정보들은 실시간으로 업데이트되며 운전자들이 안전하게 목적지에 도달할 수 있도록 돕습니다. 아래는 주요 유고 정보와 그 의미에 대한 설명입니다. Traffic Congestion (교통 체증): 도로가 혼잡하거나 차량이 움직이지 않는 상황으로, 대체 경로나 타 시간대를 고려해야 할 수 있습니다. Road Restrictions (도로 통제): 특정 지역에서의 도로 통행이나 주차와 같은 제한 사항을 의미합니다. Accident Area (사고 지역): 도로에서 사고가 발생한 지점으로, 주행 중에 특별한 주의가 필요한 구간을 나타냅니다. Wea..

윈도우 그림판 활용! 간편하게 이미지에 모자이크 넣는 방법 소개

윈도우 그림판의 마법 디지털 이미지 모자이크 그림판은 마이크로소프트 윈도우 운영 체제에 포함된 그래픽 편집 프로그램으로, 사용자들에게 직관적이면서도 간편한 환경에서 다양한 그림 작업을 할 수 있는 도구를 제공합니다. 무료로 이용 가능하며, 주로 간단한 이미지 편집이나 그림 그리기를 위해 활용됩니다. 디지털 이미지에서 발생하는 에일리어싱(Aliasing)은 고해상도 이미지를 낮은 해상도로 표현할 때 나타나는 현상으로, 부드러운 곡선이나 선이 계단 모양으로 근사되는 것을 의미합니다. 이는 픽셀 단위의 디지털 이미지에서 연속적이고 부드러운 곡선을 표현하는 데 어려움이 생기면서 발생하는 문제입니다. 그림판을 활용하여 이미지를 편집할 때, 확대나 축소 작업을 통해 에일리어싱 (Aliasing)을 일부로 활용하기도..

지식 이야기 2024.01.30

Figma 기초 사용법 정리 - 2

UX/UI 디자인 협업 툴 Figma 툴 기초 사용법 정리 지난 글에서 Figma에 가입하고 실행까지 해봤습니다. Figma에서 제공하는 기본 인터페이스를 살펴보고, 제공하는 툴 사용법에 대해서 살펴보겠습니다. 윈도우에서 그림판을 사용해 보신 분들이라면 쉽게 따라 하실 수 있습니다. Figma 기본 인터페이스 알아보기 Figma에서는 새로운 파일을 Draft라고 합니다. new File, new Project 같은 느낌입니다. 우측 상단에서 Design file을 눌러서 Drafts 버튼을 누르면 바로 생성이 되면서 페이지로 이동합니다. 화면 구성은 크게 4가지로 구분할수 있습니다. 화면 상단의 Tool Bar: 디자인을 위한 도구들의 모음 화면 왼쪽의 Layer 패널: Layer와 컴포넌트 관리 및 이..

지식 이야기 2024.01.18

해외 설문조사하고 달러 보상 받기(ft. Surveytime)

앱테크로 달러 용돈 벌이 설문조사로 달러 용돈 벌이 해외 설문조사를 하면 달러로 바로 지급해 주는 앱테크가 있어서 찾아봤습니다. 여가 시간에 간단한 용돈벌이로 재밌을 거 같아 직접 해보고 계좌에 달러로 입금받았습니다. streetbees와 Surveytime 2가지가 있어서 각각 알아보겠습니다. Streetbess 후기 먼저 streetbess는 모바일 앱으로만 서비스를 제공하고 있습니다. 설치를 위해 Play 스토어에서 검색을 했는데, 거주 지역에서 사용할 수 없는 앱이라고 나왔습니다. 다른 분들의 이용 후기가 있었는데, 현재 대한민국에서 사용할 수 없나 봅니다. vpn을 사용해 우회하면 설치할 수 있을 거 같은데 굳이 그렇게까지는 안 하고 싶어서 패스했습니다. Streetbess 장점 - Street..

지식 이야기 2024.01.18

Figma 기초 사용법 정리 - 1

UX/UI 디자인 협업 툴 Figma 사용법 정리 'Figma'는 웹 기반 UI/UX 디자인 협업 툴입니다. 부분 유료이긴 하지만, 개인으로 사용하면 사실상 무료 프로그램입니다. 웹 기반 툴이기 때문에 설치가 따로 필요하지 않고, 브라우저에서 바로 실행할 수 있습니다. 더 나은 퍼포먼스를 위해 네이티브 앱도 지원하고 있지만, 초보자 기준으로 브라우저에서 하는 게 편합니다. 저장이 존재하지 않습니다. 웹 기반 프로그램의 특성을 살려 작업을 하는 순간순간 자동으로 저장됩니다. 협업에 특화되어 있습니다. Figma는 자체가 웹 기반이기 때문에 계정 소유자가 링크를 공유하여 여러 명이 동시에 온라인으로 실시간 작업을 진행할 수 있습니다. Figma 가입방법 및 실행하기 먼저, 'figma.com' 사이트 회원가..

지식 이야기 2024.01.05
반응형