본문 바로가기

분류 전체보기

(65)
2-5. Virtualization: Multiprocessor Scheduling 복수의 CPU core가 하나의 칩 안에 들어가 있는 multicore processor의 대두로 multiprocessor scheduling이 필요해졌다.전통적인 응용 프로그램은 하나의 CPU만을 사용해, CPU 추가해도 빨라지지 않는다.→ thread를 사용해 다시 작성 필요.Cache가 있는 single CPU 구조Cache: 작고, 빠른 memory.자주 사용하는 data의 복사본 저장.write-back cache: 일단 cache update, 일정 시간/조건에 따라 내리기.write-through cache: update 한 순간 update (즉시).temporal locality: 한번 access한 것은 또 금방 access할 확률 크다. (반복문)spatial locality: 어떤..
Cleanshot X - 맥 종결 화면 캡처(스크린샷) 앱 https://cleanshot.com맥 사용자라면 한 번쯤 스크린샷이나 화면 녹화에서 불편함을 느껴본 적이 있을 것이다. 기본 스크린샷 도구로는 시스템 소리 녹화, 해상도 설정 등의 기능을 지원하지 않는 등 사용성이 제한적이고, 생산성 소프트웨어를 찾아봐도 복잡하거나 지나치게 고가인 경우가 많았다. 그런데 이번 블랙 프라이데이 세일로 Cleanshot X를 $14.5에 할인한다 하여 한 번 구매해 보았고, 사용 후기를 공유하고자 한다.Cleanshot X란? 🖥️✂️Cleanshot X는 단순히 스크린샷을 찍는 것을 넘어, 강력한 편집 및 화면 녹화 기능을 제공하는 맥 전용 소프트웨어다.주요 기능은 다음과 같다:다양한 스크린샷 옵션스크롤 캡처, 특정 창 캡처, 화면 고정 등 맞춤형 스크린샷 지원.고품..
ElevenReader 앱으로 개인화된 오디오북, 팟캐스트 만들기: TTS와 요약 기능, 활용법 AI 기술이 발전하면서 우리의 독서 방식도 점점 진화하고 있다. 책을 손으로 넘기고 눈으로 읽던 전통적인 방식에서, 바쁜 현대인들에게 맞춤인 귀로 듣는 독서가 새롭게 대두되고 있다. 출퇴근 시간이나 짬짬이 시간에 최신 블로그 글, 업무일지 등을 읽을 수 있고, 또 팟캐스트 형식으로 정리해서 들을 수 있다면 편리할 것이다. 스마트폰 기본 내장 TTS 기능으로 텍스트를 읽어주는 기능은 물론 이미 있으나, 텍스트 영역만 잘 선택해서, 읽게 하기란 여간 불편한 일이 아니다. 이러한 앱을 간단히 제작할 수 있을 것 같아 사전조사 하던 결과, 이러한 수요에 딱 맞는 앱을 발견하여 소개하고자 한다. 이번 글에서는 ElevenReader의 주요 기능과 일상에서 활용할 수 있는 방법을 소개하고, 기존 오디오북 서비스와 ..
GitHub Git Cheat Sheet 한국어 번역본 [원본 파일 출처]https://education.github.com/git-cheat-sheet-education.pdfGithub에서 교육용으로 제공하는 깃 치트 시트의 한국어 번역본을 제작하였다. "번역본"이라는 취지에 맞게 최대한 한글로 용어를 표현하였으나 (ex. repository→저장소, merge→병합)실제로는 원문 용어를 아는 것을 더 추천하므로 원본 파일을 쉽게 이해하는 용도로 사용하길 바란다.
Git Reflog와 문제 해결: 실수 복구하기 Git은 강력한 버전 관리 도구이지만, 작업 중 실수나 예기치 않은 문제가 발생하면 당황하기 쉽다.이때 Git Reflog와 함께 다양한 문제 해결 방법을 알고 있다면,어떤 상황에서도 Git을 유연하게 활용할 수 있다.이번 글에서는 Git Reflog의 개념과 활용법, 그리고 실수로 인한 다양한 문제를 해결하는 방법을 소개한다.1. Git Reflog란? 🔍Git Reflog(Reference Log)는 Git에서 브랜치나 HEAD가 이동한 모든 기록을 추적하는 도구다. 브랜치 이동, 커밋 변경, Reset, Rebase 등 모든 Git 작업의 로그를 볼 수 있다. 실수로 브랜치를 삭제하거나, 이전 상태로 돌아가야 할 때 유용하다.Reflog의 주요 특징모든 작업 이력 추적커밋, Reset, Mer..
Git Stash와 Reset/Checkout의 차이점: 혼란 끝내기 Git Stash와 Reset/Checkout의 차이점: 혼란 끝내기Git을 사용하다 보면, 작업 중인 코드를 임시로 저장하거나, 잘못된 커밋을 되돌리거나, 특정 파일을 이전 상태로 되돌려야 하는 상황이 발생한다.이때 Git Stash, Reset, Checkout은 매우 유용한 도구지만, 처음 접하는 사람들에게는 헷갈리기 쉬운 개념이다.이번 포스팅에서는 이 세 가지 기능을 명확히 비교하고, 언제 어떤 도구를 사용하는 것이 적합한지 쉽고 간결하게 정리해 보았다.1. Git Stash: 작업 저장소 🧳Git Stash는 현재 작업 중인 변경 사항을 임시로 저장하고, 작업 디렉토리를 깨끗하게 비울 수 있도록 도와주는 기능이다.이후 필요할 때 언제든 저장된 상태를 복원할 수 있다.주요 특징작업 저장 및 복원..
Git Rebase와 Cherry-Pick: 버전 관리 테크닉 Git의 기본적인 기능에 익숙해졌다면, 이제 Rebase와 Cherry-Pick 같은 고급 기능을 활용해 버전 관리를 더 정교하게 할 수 있다.이 글에서는 Rebase로 깔끔한 커밋 히스토리 만들기와 Cherry-Pick으로 필요한 커밋만 선택적으로 가져오기를 상세히 다룬다.Rebase란? 🔄Rebase(리베이스)는 브랜치의 변경 사항을 다른 브랜치 위로 재배치하는 작업이다.쉽게 말해, 마치 브랜치의 타임라인을 새롭게 정리하는 것과 같다.Rebase의 주요 목적커밋 히스토리 정리: 병합(Merge)보다 간결한 히스토리 제공.병합 충돌 줄이기: 브랜치를 자주 리베이스해 충돌을 미리 방지.Rebase 사용법 🌱기본 Rebasegit checkout featuregit rebase mainfeature/l..
Git 브랜치 가이드: 만드는 법, 병합, 풀(Pull)까지 브랜치(Branch)는 Git에서 독립적인 작업 공간을 만드는 기능이다. 새 기능 개발, 버그 수정, 실험적인 코드를 작성할 때도 기존 작업에 영향을 주지 않고 안전하게 진행할 수 있다. 이 글에서는 브랜치의 개념부터, 만드는 법, 병합(Merge), 그리고 Pull까지 초보자도 쉽게 따라 할 수 있도록 설명한다.브랜치란? 🌿브랜치는 Git 프로젝트에서 작업의 흐름을 나눠주는 역할을 한다. 기본적으로 Git은 main 브랜치(예전엔 master)에서 시작한다. 새로운 기능을 개발하거나 버그를 수정할 때는 새로운 브랜치를 생성해 작업하고, 완료 후 병합(Merge)하면 된다.브랜치 만드는 법 🌱브랜치 생성git branch 브랜치명브랜치 이동(체크아웃)git checkout 브랜치명브랜치 생성과 동..
Git이란 무엇인가? 초짜를 위한 설명 - 개요 Git은 소스 제어 도구 중에서 가장 널리 사용되는 대표적인 도구다. 개발자라면 누구나 한 번쯤 들어봤을 이름일 것이다. Git은 코드의 변경 사항을 추적하고, 여러 사람이 협업하면서 생기는 문제를 해결할 수 있는 강력한 도구다.이번 포스팅에서는 Git을 처음 접하는 분들을 위해 아주 기초적인 사용법과 개념을 쉽게 설명하려고 한다. 나도 Git을 처음 접했을 때는 단순히 “코드 공유 서비스” 정도로만 알았고, 명령어를 쓰는 것도 꽤 어려웠던 기억이 난다.하지만 Git은 단순한 코드 공유 툴이 아니라, 강력한 버전 관리 도구다. 제대로 이해하고 쓰면 협업 과정에서 발생하는 수많은 문제를 깔끔하게 해결할 수 있다. 이번 포스팅에서는 초보자가 꼭 알아야 할 Git의 기본 개념과 명령어에 대해 다룬다.Git은 ..
남는 아이패드로 자체 제작한 스트림덱(Stream Deck) 평소 데스크테리어에 관심이 많다 보니 관련 자료들을 살펴보면 종종 등장하는 것이 바로 스트림덱이다. 각종 앱의 커스텀 단축키와 유용한 스위치 설정을 간편하게 할 수 있어 데스크 환경을 개선하는 데 매우 유용해 보였다. 하지만 가격이 꽤 비싸서, 단순히 LED 버튼 몇 개를 제공하는 장치를 그 가격에 구입하는 것이 합당한지 의문이 들었다.사실 중요한 것은 물리적 스위치의 존재이며, 소프트웨어나 단축키는 직접 만들 수 있다는 생각이 있었다. 그래서 스트림덱을 사기에는 더욱 아깝다고 느꼈다. 마침 집에 사용하지 않는 아이패드 미니 1세대가 있었고, 웹서핑도 버벅거릴 정도로 성능이 떨어진 이 아이패드를 스트림덱으로 활용해 보기로 마음먹었다.Alfred와 Alfred RemoteMac 사용자라면 한 번쯤 사용해 ..
나의 마크다운 블로그 포스트 작성 루틴 블로그 포스트를 작성할 때, 글의 구조와 가독성, 강조 효과 등을 적절히 표현하기 위해 Markdown을 활용한다. 키보드만으로 빠르게 콘텐츠를 구성할 수 있어 효율적이며, 작성한 글을 블로그에 복사해 붙여 넣었을 때 웹에서도 동일하게 볼 수 있는 장점이 있다. 여러 종류의 에디터 중 Typora를 선택한 이유와 이미지를 다루는 방법, 강조 스타일, 마크다운 다이어그램 등을 다루는 과정을 소개한다.마크다운 작성과 에디터 선택Notion은 개인적인 메모나 자료 정리에 탁월한 도구이지만, 블로그 포스트 작성에서는 Typora를 선택하였다. Typora는 실시간 미리보기를 제공하며, 작성 즉시 최종 모습을 확인할 수 있다는 장점이 있다. 또한 사진 자료의 자동 업로드를 지원해 이미지 경로 문제를 최소화하며, ..
[C++] 백준 2042 구간 합 구하기 [!NOTE]세그먼트 트리 자료 구조에 대한 설명을 보려면 다음 포스트 참조: 세그먼트 트리 (Segment Tree) - C/C++로 설명세그먼트 트리는 구간 합이나 최소값, 최대값을 구하는 데 유용한 자료구조이다. 특히 데이터가 자주 업데이트되면서도 특정 구간의 값을 빠르게 조회해야 하는 문제에서 큰 효율성을 제공한다. 이번 글에서는 백준 온라인 저지의 2042번 문제, 구간 합 구하기를 통해 세그먼트 트리를 구현하고 문제를 해결하는 과정을 설명한다.문제 설명N개의 수가 주어질 때, 중간에 특정 수를 변경하면서 주어진 구간의 합을 빠르게 구하는 문제이다.예제 입력 설명1부터 5까지의 수가 주어지고, 3번째 수를 6으로 바꾸고 2번째부터 5번째까지의 합을 구하라고 한다면 결과는 17이 된다. 그 상태에..