SCRIPTS BY
close
프로필 배경
프로필 로고

SCRIPTS BY

  • 분류 전체보기 (76)
    • C++ (19)
    • Flutter, Dart (13)
      • Flutter (11)
      • Dart (2)
    • Database (8)
    • Web (5)
    • 회고록 (6)
    • 개발일지 (6)
    • Review (7)
      • Books (2)
      • Conference & Seminar (4)
      • IT Products (1)
    • Notion (2)
    • Algorithms (3)
    • Computer Science (6)
  • 홈
  • 방명록
Heap VS Stack 무엇을 써야 하나 고민될 때

Heap VS Stack 무엇을 써야 하나 고민될 때

C++은 프로그래머가 직접 메모리를 관리할 수 있어, 매우 저수준의 영역까지 다룰 수 있는 언어이다. 그런만큼 C++ 프로그래머들은 컴퓨터 메모리의 구조를 잘 알고 있어야 한다. 특히 Heap memory, Stack Memory, Static Memory는 잘 알아야 한다. 또한 메모리 관리를 실패한다면, 병렬 처리를 할 때 False Sharing (두 개 이상의 스레드가 같은 블록 영역의 메모리에 접근하면서, 캐시 성능 저하가 발생하는 현상) 이 일어나 성능이 더 떨어지거나, 혹은 Data Racing (두 개 이상의 스레드가 동시에 같은 메모리에 대해 쓰기 접근하면서, 잘못된 연산을 하거나 서로 데이터에 대한 소유권을 주장하면서 성능이 저하되는 현상) 이 발생하기도 쉽다. 무엇이 됐든 C++을 할..

  • format_list_bulleted C++
  • · 2023. 5. 14.
  • textsms
[예약시스템 개발 일지] #2. User Model, Auth 기능 구현, Argon2 Encrypt 사용하기

[예약시스템 개발 일지] #2. User Model, Auth 기능 구현, Argon2 Encrypt 사용하기

전편 #1. C++ 개발 환경 설정 대략적인 클래스 설계 integrated-reservation-system repository 리드미에 구현해야 할 사항들이 상세하게 나와있다. 이 프로그램에서 원하는 요구 사항은 식당 예약, 항공편 예약, 독서실 예약이라는 각기 다른 세 개의 서비스를 동작시킬 것 각기 다른 서비스에 독립적인 Auth 기능, 예약 기능들이 존재할 것. 또한 각기 다른 예약 기능에는 각 서비스에서 요구하는 조건들을 만족할 것 각기 다른 세 개의 독립된 서비스에 대해 독립된 통계 기록을 구현할 것 UI를 구현할 것 다행히 각기 다른 세 개의 서비스에 대해서 통합된 통계 기록을 제공해야 하는 것이 아니라서, 독립된 객체로 서비스를 동작시키는 것이 가능하다. 무지막지한 클래스 설계를 요구하지..

  • format_list_bulleted 개발일지
  • · 2023. 5. 2.
  • textsms
[예약시스템 개발 일지] #1. C++ 개발 환경 설정

[예약시스템 개발 일지] #1. C++ 개발 환경 설정

예약 시스템 개발 계기 우리 학교 2학년 1학기 과정인 객체지향 프로그래밍 과목에서, 전설처럼 내려오는 과제가 하나 있다. C++을 이용한 통합 예약 프로그램인데, C++ 좋아하는 나로썬 참을 수 없는 과제였다. 이 교수님의 객체 과목을 수강한 이들은 이 과제를 해야 객체 과목을 수강했다고 인정하는 분위기다. 바로 시작했다. 실제 과제는 2주라는 시간이 주어졌는데, 이 과제에만 시간을 쏟는다면 모르겠으나 다른 일들이 많아서.. 이거는 완전 사이드 of 사이드라서 얼마나 오래 걸릴 지는 모르겠다. C++ 개발 환경 설정 IDE는 CLion으로 IDE는 별 고민없이 CLion으로 선택했다. 애초에 이 프로젝트를 시작한 이유 중 하나가 CLion에 적응해보려고 한 목적도 있다. 윈도우에서는 주로 Visual ..

  • format_list_bulleted 개발일지
  • · 2023. 5. 1.
  • textsms
[C++] vector iterator, range base loop 사용 시 emplace_back 쓰지 마세요

[C++] vector iterator, range base loop 사용 시 emplace_back 쓰지 마세요

iterator 사용 시 흔히 하기 쉬운 실수 C++ 개발자라면 무조건 알아야 하는 주의 사항 iterator 사용 시 push, emplace 사용 시 발생하는 버그 iterator를 사용하면 C++에서 STL 라이브러리들을 쉽게 다룰 수 있습니다. iterator에 대한 글을 보고 싶다면 iterator, 왜 사용할까?라는 글을 참고하세요. vector를 사용할 때 iterator는 아주 유용하죠. 그런데 vector iterator 사용 시 모든 사람이 꼭 알아야 주의해야 할 점이 있습니다. 바로 iterator 사용 시 그 안에서 push_back, emplace_back과 같은 연산을 사용해선 안 된다는 것입니다. 이건 정말 C++를 다루는 사람이라면 반드시 알아둬야 할 사항이고, 이로 인해 심..

  • format_list_bulleted C++
  • · 2023. 2. 20.
  • textsms
[C++] std::iterator, 왜 사용할까?

[C++] std::iterator, 왜 사용할까?

iterator, 왜 사용할까? iterator의 개념 먼저 C++로 코딩을 하신다고 하면, 반복자 iterator에 대해서 꼭 아시는게 좋습니다. iterator는 C++98 이전부터 있어왔던 포인터의 일종입니다. 매우 강력한 기능이고, 의외로 C++을 사용할 때 C와 다르게 포인터를 사용할 일이 정말 특이한 경우가 아니라면 거의 없는데, iterator는 정말 많이 사용합니다. iterator에서 가장 많이 사용하는 메소드는 begin()과 end()인데, 각각 컨테이너의 시작점, 그리고 끝점 + 1 칸을 리턴합니다. (그림 출처: cppreference vector begin, end) end()가 가장 끝점이 아닌, 가장 끝점에서 한 칸 더 나아간 위치를 리턴한다는 것을 주의하십시오. 그리고 it..

  • format_list_bulleted C++
  • · 2023. 2. 20.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (76)
    • C++ (19)
    • Flutter, Dart (13)
      • Flutter (11)
      • Dart (2)
    • Database (8)
    • Web (5)
    • 회고록 (6)
    • 개발일지 (6)
    • Review (7)
      • Books (2)
      • Conference & Seminar (4)
      • IT Products (1)
    • Notion (2)
    • Algorithms (3)
    • Computer Science (6)
최근 글
인기 글
최근 댓글
태그
  • #C++
  • #Flutter
  • #DevTalk 후기
  • #MySQL
  • #모던C++
  • #GDSC
  • #모던 C++
  • #관계형 데이터 베이스 모델링
  • #Flutter 페이지네이션 구현
  • #Cursor-based Pagination
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.