전체 글 75

C 코드를 어셈블리로 컴파일하기

gcc에서 -S 옵션을 쓰면 코드가 어셈블리로 컴파일 된다.gcc -S main.c # 기본 컴파일gcc -S -masm=intel main.c # intel syntaxgcc -S -masm=intel -fverbose-asm main.c # 상세한 주석코드 예시명령어nvim helloworld.c 파일 내용#include int main(void){ printf("hello world\n");}컴파일 예시1명령어gcc -S helloworld.c -o hello1.s 파일 내용 .file "helloworld.c" .text .section .rodata.LC0: .string "hello world" ..

프로그래밍/C 2026.08.01

Lambda, Map, Filter

1. Lambda 정의이름을 지정할 필요 없는 간단한 함수다.lambda args: do_with_args 예시x = lambda a,b,c: a+b+cprint(x(1,2,3))2. Map 정의func 함수를 iterable의 모든 요소에 적용한다.map(func, iterable) 예시nums1=[1,2,3,4]nums2=list(map(lambda n:n*2, nums1))print(nums2) # [1,4,9,16]3. Filter 정의iterable의 요소 중 cond 조건에 만족하는 요소로 새로운 iterator를 만든다.filter(cond, iterable) 예시nums1=[1,2,3,4]nums2=list(filter(lambda n:n

SOP와 CORS

요약Origin: 프로토콜, 호스트, 포트의 집합이다.SOP: Same origin policy의 약자로, 같은 오리진끼리만 리소스를 공유할 수 있게 하는 정책이다.CORS policy: Cross-origin resource sharing policy의 약자로, SOP가 적용되어 있는 상태에서 다른 오리진끼리 리소스를 공유할 수 있게 하는 정책이다.예시Tistory에 접속 후 console에서 다음 코드를 입력하면 Same Origin Policy에 의해 차단된다.req = new XMLHttpRequest();req.open("GET", "https://google.com", true);req.send(); 반면 tistory에 대한 request는 에러없이 통과된다.req = new XMLHttpR..

정보보안이론 2026.02.01

Flask의 | safe

요약Flask를 사용할 때 HTML의 `| safe` 는 Jinja2의 템플릿 필터로, 내용을 raw HTML로 표시한다는 뜻이다.예시예로 게시물 작성 용 HTML 코드를 생각해 볼 수 있다. 다음 코드를 1안으로 한다. {{ post.title }} {{ post.content }} 다음 코드를 2안으로 한다. {{ post.title }} {{ post.content|safe }} 게시물에 다음 내용을 입력했을 때, Hello 결과는 아래와 같다. 1안2안저장되는 내용<b>Hello</b>Hello게시글에 표시되는 내용HelloHello

데비안 12에서 13으로 업데이트하기

우리나라 시간으로 2025년 8월 10일에 데비안 13이 정식 출시되었다. 데비안 12에서 업데이트하는 것에 대해 공식 메뉴얼에 긴 설명이 있으나 핵심은 다음과 같다. 1. root로 로그인한다.sudo -i # 따로 root 계정이 없을 시 2. apt.sources.list의 bookworm(데비안 12)을 trixie(데비안 13)으로 바꾼다. 명령어 출처sed -i 's/bookworm/trixie/g' /etc/apt/sources.list 3. apr.sources.list.d 디렉토리 속 파일도 마찬가지로 수정한다. 명령어 출처find /etc/apt/sources.list.d -name "*.list" -exec sed -i 's/bookworm/trixie/g' {} \; 4. apt..

APT 기본 명령어

데비안 계열 리눅스의 패키지 매니저인 apt 명령어를 알아보자. 한눈에 보기apt update && apt upgrade패키지 다운로드 전에 실행한다.apt install -y 패키지패키지를 다운로드한다.apt --purge autoremove 패키지패키지를 삭제한다.apt clean캐시를 지운다.apt list --installed설치한 패키지 목록을 확인한다.apt show 패키지패키지에 대한 정보를 조회한다.apt update/etc/apt/sources.list에 있는 레포지토리에서 패키지들의 최신 정보를 가져온다.apt upgrade설치되어 있는 패키지들을 최신 버전으로 업그레이드한다. apt install -y 패키지: 패키지를 설치한다. apt purge --autoremove 패키지: 패키..