본문 바로가기 메뉴 바로가기

Signal over Noise

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • About
  • Privacy
  • Contact
  • RSS

Signal over Noise

검색하기 폼
  • 분류 전체보기 (94)
    • Docs (14)
    • Essays (64)
    • UI & Theme (5)
    • Tech Gear (3)
    • Dev Log (8)
  • 방명록
  • About
  • Privacy
  • Contact

Docs (14)
블로그 안내 — 이곳에서 다루는 내용

공지사항
Babel과 polyfill 차이 — “문법을 바꾸는가, 기능을 채우는가”

문법을 바꾸는가, 기능을 채우는가JavaScript 생태계를 처음 깊게 파고들 때 가장 많이 헷갈리는 개념이 바로 Babel과 polyfill이다. 둘 다 “구형 환경에서 최신 JavaScript를 동작하게 만든다”는 공통점을 갖고 있지만, 실제로 하는 일은 완전히 다르다. 이 차이를 이해하지 못하면 번들 사이즈가 불필요하게 커지거나, 예상치 못한 런타임 오류를 만나게 된다.Babel — “코드를 바꿔서 맞춘다”Babel은 컴파일러다. 정확히 말하면 최신 JavaScript 문법을 오래된 환경에서도 실행 가능하도록 다른 문법으로 변환(transpile) 한다.예를 들어 이런 코드가 있다고 보자.const add = (a, b) => a + b;구형 브라우저는 화살표 함수를 이해하지 못한다. Babel은 ..

Docs 2026. 4. 5. 17:43
nohup이란 무엇인가? — 터미널 종료 후에도 프로세스를 유지하는 방법 완벽 정리

1. 정의 / 결론nohup은 터미널 종료 시 전달되는 SIGHUP 신호를 무시하여 프로세스를 종료되지 않게 만드는 명령어다.2. 핵심 요약nohup은 터미널 종료와 프로세스를 분리한다.백그라운드 실행(&)과 결합해야 완전히 독립된다.출력은 기본적으로 nohup.out으로 리다이렉션된다.3. 왜 필요한가터미널에서 실행한 프로세스는 기본적으로 해당 세션에 종속된다. SSH로 접속한 환경에서 작업을 수행할 경우, 네트워크 단절이나 세션 종료 시 프로세스도 함께 종료된다.이 구조의 핵심 문제는 프로세스가 OS가 아니라 세션에 묶여 있다는 점이다. 즉, 사용자의 연결 상태가 프로세스 생존 여부를 결정한다.예를 들어 다음과 같은 상황이 발생한다.장시간 데이터 처리 작업 실행SSH 세션 종료작업 중단 및 결과 손실..

Docs 2026. 4. 3. 15:28
shebang(#!)이란 무엇인가? 스크립트 실행 원리까지 한 번에 정리

shebang은 스크립트 파일의 첫 줄에 작성하여 이 파일을 어떤 인터프리터로 실행할지 지정하는 선언문이다.직접 실행(./script.sh) 시 운영체제가 사용할 실행기를 결정하는 기준이 된다.인터프리터를 명시하지 않고도 실행 가능하게 만든다는 점이 핵심 차이다.핵심 요약#!는 실행 인터프리터 지정 메커니즘이다파일을 직접 실행할 때만 의미를 가진다 (./script.sh)/bin/bash는 고정 경로, /usr/bin/env는 환경 기반 탐색이다왜 필요한가스크립트 파일은 바이너리가 아니다.운영체제는 파일을 실행할 때, 이 파일을 직접 실행할 수 없다.따라서 누가 이 파일을 해석할지 결정해야 한다.문제는 실행 방식에 따라 이 결정이 달라진다는 점이다.bash script.sh이 경우는 이미 bash를 명시..

Docs 2026. 4. 2. 20:19
polyfill과 ponyfill 차이 완벽 정리 — JavaScript 예제로 이해하기

polyfill은 실행 환경에 없는 기능을 직접 추가해 기존 코드를 그대로 동작하게 만드는 방식이다.ponyfill은 실행 환경은 수정하지 않고 같은 기능을 별도 함수나 모듈로 제공하는 방식이다.차이는 기능 자체보다 환경을 바꿀지, 환경을 우회할지에 있다.1. 정의 / 결론polyfill은 브라우저나 런타임의 부족한 기능을 채워 표준 API처럼 보이게 만드는 코드다.ponyfill은 같은 기능을 제공하지만 전역 객체나 prototype을 수정하지 않는 대체 구현이다.2. 핵심 요약polyfill은 Array.prototype.includes 같은 기능을 환경에 주입한다.ponyfill은 includes(arr, value) 같은 별도 함수를 호출하게 만든다.polyfill은 기존 호출 형태 유지에 유리하..

Docs 2026. 4. 2. 10:58
bash와 sh 차이 완벽 정리 — 문법, 실행 방식, 호환성, shebang까지 예제로 이해하기

1. 정의 / 결론sh는 최소 공통 쉘 인터페이스에 가깝고, bash는 그 위에 확장 기능을 올린 쉘이다. 이 차이는 이름 차이가 아니라, 어떤 문법이 허용되고 어떤 환경에서 스크립트가 안전하게 실행되는지를 결정하는 기준의 차이다.2. 핵심 요약sh는 호환성과 이식성을 우선한다. bash는 배열, [[ ]], brace expansion 같은 확장 문법을 제공한다. 여러 환경에서 안전하게 돌려야 하면 sh, 더 많은 기능이 필요하고 실행 환경을 통제할 수 있으면 bash가 맞다.3. 왜 필요한가문제는 sh와 bash가 겉보기에는 비슷하다는 점이다. 둘 다 명령을 실행하고, 변수와 조건문도 얼핏 비슷해서 같은 것으로 취급되기 쉽다. 하지만 스크립트에 분기, 문자열 처리, 반복 로직이 늘어나면 차이가 바로 ..

Docs 2026. 4. 2. 08:12
쉘과 터미널의 차이 완벽 정리 — Shell과 Terminal은 무엇이 어떻게 다른가

1. 정의 / 결론터미널은 입력과 출력을 보여주는 인터페이스이고, 쉘은 입력된 명령을 해석하고 실행하는 프로그램이다. 둘은 함께 쓰이지만 같은 것이 아니며, 이 차이를 알아야 명령 실행 구조와 SSH 접속, 환경 변수, 초기화 파일 문제를 정확히 이해할 수 있다.2. 핵심 요약터미널은 창이다. 쉘은 그 창 안에서 동작하는 명령 해석기다. 같은 터미널에서도 bash, zsh, sh처럼 다른 쉘을 실행할 수 있고, 문제 원인도 터미널 문제와 쉘 문제로 나뉜다.3. 왜 필요한가리눅스를 처음 접하면 사용자는 보통 “검은 창에 명령을 치면 실행된다”는 수준으로 구조를 받아들인다. 이 인식으로도 간단한 명령 실행은 가능하지만, 왜 동작하는지와 어디에서 문제가 생기는지는 구분하지 못한다. 예를 들어 프롬프트 모양이 ..

Docs 2026. 3. 31. 20:19
grep, sort, uniq를 파이프로 연결하는 이유 — 로그 분석의 기본 패턴

grep | sort | uniq는 텍스트에서 원하는 줄을 추출하고, 동일 값을 모은 뒤, 중복을 제거하거나 개수를 세기 위한 조합이다. 이 조합이 필요한 이유는 uniq가 전체 중복이 아니라 인접한 동일 라인만 처리하기 때문이다. 핵심 차이는 grep이 필터링, sort가 그룹화 준비, uniq가 집계를 담당한다는 점이다.핵심 요약grep만 사용하면 조건에 맞는 줄만 볼 수 있지만 반복 구조는 보이지 않는다. uniq만 사용하면 붙어 있는 중복만 처리되어 전체 패턴이 왜곡된다. sort를 중간에 넣어야 동일 값이 모이고, 그 이후 uniq가 의미 있는 집계를 만든다.왜 필요한가로그와 텍스트 데이터는 동일한 값이 흩어진 상태로 존재한다. 같은 에러 메시지도 시간 순서로 기록되기 때문에 중간에 다른 로그가..

Docs 2026. 3. 31. 10:11
/dev/null 완벽 이해 — 리눅스 출력 버리기, 로그 제어, 리다이렉션 활용까지 한 번에 정리

/dev/null은 리눅스에서 데이터를 받아도 저장하지 않고 바로 버리는 특수 장치다.출력을 남기지 않거나 입력을 끊을 때 사용하며, stdout·stderr·stdin 제어의 기준점 역할을 한다.일반 파일과 다른 점은 데이터를 보관하지 않고, 흐름만 받아 폐기한다는 데 있다.1. 정의 / 결론/dev/null은 리눅스의 “버리는 대상”이다. 출력과 입력을 리다이렉션할 때 사용하며, 저장이 아니라 폐기를 위해 존재하는 특수 파일이다.2. 핵심 요약/dev/null은 출력 결과를 저장하지 않는다.stdout만 버릴 수도 있고 stderr까지 함께 버릴 수도 있다.핵심은 화면을 숨기는 기능이 아니라, 데이터의 도착지를 폐기 지점으로 바꾸는 데 있다.3. 왜 필요한가터미널에서 명령을 실행하면 기본적으로 결과가..

Docs 2026. 3. 31. 10:01
이전 1 2 다음
이전 다음
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • Readium
  • Signal Over Noise(ko)
  • Signal Over Noise(en)
TAG
  • 인터넷문화
  • 이벤트아키텍처
  • CodexApp
  • Readium 개발기
  • 앱 도메인 설계
  • 한국인터넷역사
  • ChatGPTCodex
  • Flutter 앱 개발
  • 트랜잭션 설계
  • AI와인터넷
  • Windows개발
  • NanoClaw
  • Google Play 출시
  • css커스터마이징
  • 블로그디자인
  • SQLite 앱 아키텍처
  • 로컬 우선 아키텍처
  • 오픈소스
  • 다크모드
  • 프론트엔드
  • Idempotent 처리
  • 도메인설계
  • 티스토리
  • 1인 개발
  • 로컬우선아키텍처
  • Readium개발기
  • 웹디자인
  • WSL개발환경
  • 티스토리스킨
  • 온라인신원인증
more
«   2026/05   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함

Powered by Tistory / Theme by Signal Ayu Unified
Contents
Contents

티스토리툴바