전체 글191 결국 또 XPS 17(9700)으로 맥북 팔고서 돌아오게 되었습니다.... 안녕하세요 노트북 기변 대표(호구) 라이킷입니다. 안녕하세요... 결국 다시 윈도우로 돌아오게된 라이킷입니다. 예, 아실 분들은 아시다시피 저는 게임 개발자(취준생이자 아직 대학교 다니는 군필 2학년)입니다. 저번에 맥북프로 m1 pro 16인치 관련 글을 쓰게 되었죠. 사실 그때 그 맥북에 관한 글을 쓰던 이유는 슬슬 이 아이를 보내줘야할 각이 보였기에...가기전 그래도 제 블로그에 박제라도 하려고 쓰게 되었는데어쩌다보니 맥쓰사에도 기존처럼 공유해서 올렸습니다. 그리고선 산게 델 XPS 9700입니다. 예, 그렇습니다.저는 그냥 호구가 맞는거 같습니다. DELL XPS 17(9700) 리뷰, 그리고 내가 팔아버린 이유.안녕하세요. 정말 오랜만에 돌아온 라이킷입니다. 최근에 활동을 개인사로 인.. 2025. 8. 20. 블로그 정리 - 리뷰를 끝내며, 2019년부터 달려...왔다고 해야하나대충 저는 티스토리 블로그와 맥쓰사 카페에서 주로 활동했던 라이킷이라고 합니다. 지금은 티스토리 블로그에서 제 개인공부(프로그래밍 공부) 관련만 올리고 있었다보니최근 맥쓰사에 들리는 일이 많진 않았네요. 그런 의미로 정말 6년동안 블로그와 카페를 돌아가면서 들락날락 거리며 글을 쓰다보니꽤나 많은 기기들이 저에게 왔다가 갔고, 그 과정에서 저에게 약간 문제가 있다는 것도 많이 깨달았습니다.오늘은 그 이야기를 해보려고하나, 약간 어두운 이야기가 될 수도 있을거 같네요. 두서 없이 쓴글이라.... ㅎㅎ;;; 양해바랍니다. 생각해보면 정말 병적으로 애플에 집착했던 고등학생이었다. 당시 고등학생때의 제 모습입니다. 지금도 물론 미쳤다고 생각합니다만, 정말 이때는 지금보다 .. 2025. 8. 4. 2025년에도 맥북프로 M1 Pro는 쓸만할까? - 개발자 관점 안녕하세요. 라이킷입니다. 정말 기기 리뷰글로는 오랜만에 찾아뵈는거 같네요. 한동안은 계속해서 프로그래밍 관련 글만 쓰다가 일주일을 개인적인 사정으로 인해서좀 쉬고서 다시 월요일(오늘)부터 좀 블로그를 시작하려고 합니다. 그런 워밍업으로 현재 제가 사용하고 있는 맥북프로 2021년형 16인치인M1 Pro에 대해서 좀 리뷰해 보는게 어떨까 싶어 글을 써보게 되었습니다. 1. 구매 계기?사실 저는 다들 알다시피 해킨토시 유저였습니다. 기존에도 맥을 상당히 좋아했고 중학생 3학년 때부터, 이 블로그를 시작할 무렵부터 저는macOS를 상당히 좋아하던 사람이었고, 2017년형 논터치바 13인치, 2017년형 15인치 터치바 맥북, 2019년형 맥북프로 16인치, m2 맥북에어 13인치, 또는 그 중간에 있.. 2025. 8. 4. 18. C++ 템플릿 활용 C++ 클래스 템플릿이란?템플릿은 타입에 구애받지 않고 재사용 가능한 코드를 작성하게 한다. 특히 클래스 템플릿은 C++ 프로그래밍에서 코드 재사용성과 타입 안전성을 높이는 도구이다. 클래스 템플릿은 다양한 타입에 대해서 동일한 구조와 기능을 제공하는 클래스를 정의하는 방법. 클래스 템플릿의 매개변수는 클래스의 멤버 변수 타입, 메서드의 매개 변수나 반환 타입을 결정한다. 게임 개발에서는 기획서에 정의된 데이터 처리나 유사한 기능을 가진 게임 객체 관리를 위해서 자주 사용된다.클래스 템플릿 선언클래스 템플릿은 일반 함수 템플릿과 유사한 방식으로 선언한다.// C++14templateclass ObjectMgr { ... }// C++17templateclass ObjectMgr { ... } templ.. 2025. 7. 28. 5. 삽입정렬에 대해서 삽입 정렬(Insertion Sort)핵심 개념삽입 정렬은 이미 정렬되니 부분에 새로운 원소를 올바른 위치에 삽입하는 방식으로 동작하는 정렬 알고리즘이다. 마치 카드 게임에서 손패를 정렬하는 방식과 동일하다. 문제 정의 - 입력 : 양의 정수 n개의 키를 가진 배열 S[0...n-1]- 출력 : 오름차순으로 정렬된 배열 S[0...n-1]- 방법 : 각 원소를 이미 정렬된 부분의 적절한 위치에 삽입 핵심 아이디어1. 첫 번쨰 원소는 이미 정렬이 된 것으로 간주(미정렬부분과 정렬부분은 별개로 분리하여 따로 빼둔다.)2. 두 번째 원소부터 시작해서 하나씩 처리. 3. 현재 원소를 정렬된 부분의 올바른 위치에 삽입4. 모든 원소가 처리될 때까지 반복한다. 단계별 동작 과정초기 배열: [10, 7, 9, 1.. 2025. 7. 27. 1. Rust에 대해서 Rust란 무엇인가?Rust(러스트)는 성능과 안정성을 모두 추구하는 시스템 프로그래밍 언어이다. 모질라(Mozilla) - FireFox 개발사에서 개발해 시작되었으며, 현재는 독립적인 커뮤니티, 재단등을 중심으로 활발하게 개발되는 중인 언어. 러스트의 가장 큰 특징은 아래와 같다. 1. 메모리 안정성을 보장한다. 2. C++ 수준의 실행 성능을 유지한다. 3. GC(가비지 컬렉터) 없이도 안정적인 코드 작성이 가능하다. 이런 특성 떄문에 러스트는 시스템 프로그래밍, 네이티브 성능이 중요한 어플리케이션,웹 백엔드, 임베디드 개발등에서 많이 활용되는 중이다. Rust는 왜 필요할까? 기존에 널리 사용되고 있던 C,C++의 경우 고성능을 제공하지만, 사용자가 직접 메모리 관리 책임을 져야 한다는 점.. 2025. 7. 27. 17. C++ 람다(Lamda) 표현식 람다 표현식이란?C++에서는 C++11에 도입된 람다 표현식(Lambda Expressions)은코드를 더 간결하고 가독성 있게 작성할 수 있는 코딩 표현식중 하나이다. 특히 알고리즘, STL과 함께 사용 시 진가를 발휘 할 수 있는 기능. 간단히 말하자면 이름 없는 함수(익명함수)를 의미한다. 일반적으로 짧고 간단한 작업을임시로 함수처럼 사용할 때 유용하다. 기존에 함수를 정의하고 이름을 지정하는 번거로움 없이코드 내에서 직접 함수 로직을 작성할 수 있다. 주요 장점들은 아래와 같다. 1. 코드를 더 간결하게 작성 가능하다. 2. 함수를 사용하는 곳과 가까운 위치에 정의하여 가독성을 향상시킨다. 3. 지역 변수에 쉽게 접근 가능하다.(캡처)4. 함수 객체를 즉석에서 생성 가능하다. 5. STL 알.. 2025. 7. 27. 4. 선택정렬과 이중 선택정렬에 대해서 알아보자. 정렬 알고리즘의 기초 개념정렬의 대상: 레코드(Record)struct Student { int id; // 학번 string name; // 이름 int score; // 점수}; 정렬의 대상: 레코드(Record) - 정렬키 : 정렬의 기준이 되는 필드 - 위 예시에서 id, name, score 중 어느 것이든 정렬키가 될 수 있다. 정렬 방향 - 오름차순 (Ascending) : 작은 값 -> 큰 값 - 내림차순 (Descending) : 큰 값 -> 작은 값 정렬 분류 : 메모리 사용에 따른 분류1. 내부 정렬 (internal Sorting) - 정렬 대상을 한꺼번에 메인 메모리에 로딩 가능 할 때, - 대부분의 기본 정렬 알고리즘이.. 2025. 7. 26. 16. C++ 순수 가상함수(추상 클래스 & 인터페이스)에 대해서 C++ 추상 인터페이스와 추상 클래스 객체 지향에서 추상화는 매우 중요한 핵심 개념중 하나이다. C++에서 추상화를 구현하는 주요 방식으로 추상 인터페이스와 추상 클래스가 있는데, 해당 개념, 그리고 순수 가상함수와 추상 클래스의 차이점에 대해서도 알아보자. 추상 인터페이스의 개념추상 인터페이스는 클래스의 기능(행위)을 정의하지만구현은 포함하지 않는 순수 가상 함수(pure virtual function)들의 집합이다.C++에서 추상 인터페이스는 다음과 같은 특징을 가진다. 1. 순수 가상 함수만 포함 하는 클래스2. 함수에 대한 구현 부분이나 멤버 변수가 존재하지 않음. 3. 헤더파일에 선언되며, public 메서드로만 선언된 클래스. 4. 인터페이스 클래스는 종종 'I' 접두어를 사용(예시 : IG.. 2025. 7. 26. 3. 버블정렬 알고리즘에 대해서 버블 정렬이란?*버블 정렬(Bubble Sort)**은 가장 기본적인 정렬 알고리즘 중 하나로, 인접한 두 원소를 비교하여 순서가 잘못되어 있으면 교환하는 과정을 반복하는 방식이다.기본 정보입력: 양의 정수 n개의 키를 가진 배열 data[0..n-1]출력: 오름차순으로 정렬된 배열 data[0..n-1]정렬 방식: In-place sort (추가 메모리 공간을 거의 사용하지 않음)안정성: 안정 정렬 (Stable Sort) 버블 정렬이라 불리는 이유는 큰 원소가 배열의 끝으로 이동하는 모습이 마치 물속에서 기포(bubble)가 수면으로 떠오르는 것과 같다고 생각해서 그렇다고 한다....(.....진짜로..?) 동작 원리 1. 인접한 두 원소를 비교한다.2. 순서가 잘못되어 있으면 교환한다.3. 배열 .. 2025. 7. 25. 15. C++ 예외 처리 Try Catch문 C++ 예외 처리 : try-catch, throw, noexcept예외 처리는 C++ 프로그래밍에서 오류를 감지하고 대응하는 매커니즘.적절히 활용한다면 안정적인 프로그램을 작성할 수 있으며,오류 처리 로직을 메인코드와 분리해서 가독성을 높일 수 있다. 1. Try-Catch 문의 기본 개념기본 구조와 동작 방식C++의 예외처리는 try, throw, catch 세가지 키워드를 중심으로 이뤄진다. #include using namespace std;double SafeDivide(double num, double den){ if (den == 0) { throw invalid_argument("Divide by zero"); } return num / den;}int ma.. 2025. 7. 25. 14. C++ 이동의미론과 rvalue & lvalue 이동의미론이란?성능최적화에 관심이 많은 개발자라면 한번쯤은 들어봤을 이동의미론.C++11에 도입되고서 C++17에서 더욱 개선된 이동의미론의 의미는 뭘까? 불필요한 객체 복사를 줄이고, 리소스 소유권을 효율적으로 이전하는 매커니즘. 기존에는 객체를 전달할 때 깊은 복사(deep copy)가 발생했지만, 이동의미론 사용시에는 리소스의 소유권만 이전하여 성능을 크게 향상 시킬 수 있다. 1.1 이동 의미론의 핵심 개념1.1.1 우측값 참조(Rvalue References)우측값 참조는 &&를 사용하여 표현하며, 임시 객체나 곧 소멸될 객체를 참조한다.즉, 임시 객체에 대한 우측값을 참조한다는 것. string&& rvalue_ref = string ("Hello"); 1.1.2 이동 생성자와 이동 대입 .. 2025. 7. 22. 이전 1 2 3 4 ··· 16 다음