본문 바로가기

전체 글464

mac 오디오 파일 분석 도구 afinfo afinfo는 Apple의 Core Audio 프레임워크 정보를 출력해주는 명령어이다.이미지 → exiftool영상 → ffprobe음원 → afinfo개발자나 오디오 작업하는 사람들이 파일 정보를 확인할 때 많이 사용된다.afinfo "원하는 음원"터미널에서 위 명령어를 입력하면 아래와 같은 결과가 출력된다.File: 파일이름.mp3File type ID: MPG3Num Tracks: 1----Data format: 2 ch, 48000 Hz, .mp3 (0x00000000) 0 bits/channel, 0 bytes/packet, 1152 frames/packet, 0 bytes/frame no channel layout.estimate.. 2026. 8. 8.
Code & Doc Coverage Rust에서 코드 커버리지와 문서 커버리지 관리하기Rust 프로젝트를 운영하다 보면 커버리지(Coverage)라는 용어를 자주 보게 된다.커버리지는 크게 두 종류로 나뉜다.코드 커버리지 (Code Coverage)문서 커버리지 (Docstring Coverage)둘은 완전히 다른 지표이며 각각 별도로 관리해야 한다.코드 커버리지는 코드 품질 관리를 위해 꼭 필요하다. (평균: 80% ~ 90%)문서 커버리지는 오픈소스 프로젝트를 운영한다면 다른 기여자를 위해 또는 crates.io를 통해 사용하게 되는 사용자를 위해서 꼭 필요하다.1. 코드 커버리지 (Code Coverage)코드 커버리지는 테스트가 실제 코드를 얼마나 실행했는지 측정하는 지표이다.예를 들어 다음과 같은 코드가 있다고 가정하자.pub f.. 2026. 6. 20.
Attribute Rust AttributeAttribute는 Rust에서 컴파일러에게 추가 정보를 전달하는 메타데이터(Metadata)이다. 자바의 @어노테이션과 유사하다.#[attribute]#[test]fn add_test() {}또는#[attribute(option)]#[derive(Debug)]struct User {}또는#[attribute(key = "value")]#[cfg(target_os = "linux")]fn linux_only() {} 와 같은 형태로 사용된다.Attribute가 붙을 수 있는 곳함수#[test]fn test_add() {}구조체(Struct)#[derive(Debug)]struct User { name: String,}Enum#[derive(Debug)]enum Color {.. 2026. 6. 1.
Cargo.toml [package]이 패키지(크레이트) 자체의 정보를 적는 영역namename = "프로젝트명" # ex) name = "ripgrep"cargo build # 빌드 결과 -> "프로젝트명"으로 나온다.cargo installcargo publish등에 사용되는 공식 이름이다. versionversion = "메이저.마이너.패치" # ex) version = "15.1.0"version = "1.2.3" # 이면,# 1 = 큰 변경# 2 = 기능 추가# 3 = 버그 수정authors과거 Cargo의 관례였으나 현재는 잘 사용하지 않는다.authors = ["curious week "]descriptiondescription = """프로젝트 설명으로 crate.io에 표시된다."""documentation.. 2026. 6. 1.
실제로 사용하는 Git 명령어 실제 사용하는 Git 명령어깃 공부를 많이 했지만, 실제로 오픈소스 기여를 위해서 사용할 때가 되면 당황스럽습니다. 그래서 실제로 사용하는 Git 명령어만 최대한 간단하게 정리해 봤습니다.0. 가장 중요한 Git 구조이걸 먼저 머리에 넣어야 합니다.upstream=원본 저장소origin=내 fork 저장소local=내 컴퓨터흐름:원본 저장소(upstream)↓ fork내 GitHub(origin)↓ clone내 로컬(local)1. 가장 자주 쓰는 실무 Workflow# 최신 main 가져오기git switch maingit fetch upstreamgit merge upstream/maingit push origin main# 작업 브랜치 생성git switch -c feature/something# .. 2026. 5. 25.
Github Actions Github ActionsGithub Actions를 이용하면 GitHub 안에서 CI/CD를 끝낼 수 있다. 개인 프로젝트, 포트폴리오, 초기 스타트업, 오픈소스는 GitHub Actions로 충분히 처리할 수 있다.장점 GitHub와 통합이 강하다.PR 검사, 리뷰, 브랜치 보호 룰, secrets, 배포 기록을 한 곳에서 관리하기 쉽다.진입 장벽이 낮다.Jenkins처럼 서버를 직접 설치하고 플러그인 관리하고 보안 패치할 필요가 적다.YAML 기반이라 프로젝트 안에 CI/CD 설정을 같이 보관 가능하다..github/workflows/ci.yml 자체가 코드처럼 버전 관리된다.Marketplace Action이 많음actions/checkout, setup-node, setup-java, setup.. 2026. 5. 5.
Learn Git Branching (2) remote Learn Git Branching Learn Git BranchingAn interactive Git visualization tool to educate and challenge!learngitbranching.js.org최소한의 Github(원격 저장소) 규칙 설정Settings > Roules > Rulesets > New ruleset > New branch rulesetEnforcement status를 Active로 설정Add target > Include default barnch 선택, 그리고 Include by patten > Branch naming pattern에 main 패턴 추가Restrict deletions: 삭제 제한Require a pull request before me.. 2026. 5. 1.
GitHub Skills Learn GitHub within GitHub (GitHub Skills) GitHub Learn: Your Personalized Learning ExperienceGitHub Learn is the all-in-one learning experience platform that unifies GitHub’s official learning and enablement resources into personalized journeys. Whether you're pursuing certification or want to learn about one of our new features, GitHub Learn helearn.github.com알고 싶은 주제 선택하기단계를 선택하게 되면 skills의 저.. 2026. 4. 30.
Learn Git Branching (1) main Learn Git Branching Learn Git BranchingAn interactive Git visualization tool to educate and challenge!learngitbranching.js.org들어가기 전 알고 있으면 좋은 learngitbranching 명령어# 뒤로 돌리기undo# 초기화reset# level 선택 (문제 정답을 맞추고 여러 방법으로 테스트를 한다면 필수!)levels기본적인 명령어git --version # 깃 버전 확인git --help # 도움말git diff 파일경로 # 파일 변경 사항 확인git diff --staged 파일경로 # 스태이징 영역(add한) 파일 변경사항 확인init해당 폴더를 Git으로 관리되기 시작하며, .git 폴더를 생성.. 2026. 4. 30.
Leviathan 0 1 2 Level 0SSH InformationHost: leviathan.labs.overthewire.orgPort: 2223Username: leviathan0Password: leviathan0ssh 접속ssh leviathan0@leviathan.labs.overthewire.org -p 2223일단 들어가서 파일을 확인일단 의심스러운 .backup 파일을 분석해본다.- : 일반 파일d : 디렉토리l : 심볼릭 링크c : 문자 장치b : 블록 장치s : 소켓p : 파이프그 뒤로 문자는 읽기 쓰기 실행 권한을 소유자 그룹 나머지사용자 순으로 3개씩 나타낸다.다음 숫자는 하드 링크(물리적 데이터를 가리키는 수) 카운트다. 디렉토리의 경우 2(.(현재 디렉토리) / ..(부모 디렉토리)) + 하.. 2026. 3. 16.
Natas 14 15 Natas14'); mysqli_select_db($link, 'natas14'); $query = "SELECT * from users where username=\"".$_REQUEST["username"]."\" and password=\"".$_REQUEST["password"]."\""; if(array_key_exists("debug", $_GET)) { echo "Executing query: $query"; } if(mysqli_num_rows(mysqli_query($link, $query)) > 0) { echo "Successful login! The password for natas15 is "; } else { .. 2026. 3. 16.
macOS에서 Burp Suite 사용 설정과 natas4 풀어보기 Burp-suite 설치brew install --cask burp-suite Burp-suite 열기Burp-suite Proxy 설정Mac System Settings > Network Proxies 설정간단한 헤더 변경 해보기사이트 입장http://natas4.natas.labs.overthewire.org/# 3번 urlhttp://natas5.natas.labs.overthewire.org/ 2026. 3. 16.