More actions
No edit summary |
(Repair batch-0002 pages from live compare) |
||
| (16 intermediate revisions by 10 users not shown) | |||
| Line 15: | Line 15: | ||
** 주마다 진행 요일이 불가피하게 바뀌어야 할 수도 있습니다. | ** 주마다 진행 요일이 불가피하게 바뀌어야 할 수도 있습니다. | ||
* | * 진행에 사용된 소스 코드 및 PPT 자료는 해당 레포지토리에 있습니다. | ||
** | ** [https://github.com/nErumin/MFCplusplus] | ||
* | |||
* '''종료되었습니다!''' | |||
== 참가자 == | == 참가자 == | ||
* 참가하실 분은 아래 이름을 적어주세요! | * 참가하실 분은 아래 이름을 적어주세요! | ||
* [[신형철]], ~~프로 도강러~~[[성훈]], [[지무근]], [[이민욱]] | * [[신형철]], ~~프로 도강러~~[[성훈]], [[지무근]], [[이민욱]] | ||
* ~~[[박인서]] : 탈주자인데 개근중이다.. 응?~~ | * ~~[[박인서]] : 탈주자인데 개근중이다.. 응?~~ | ||
* [[권준혁]] : 참가할수있을 때 참가합니다. | |||
== 목표 == | == 목표 == | ||
* C++ 돌아보기 --돌아보는 척 하면서 더 낯설게 만들기-- | * C++ 돌아보기 --돌아보는 척 하면서 더 낯설게 만들기-- | ||
| Line 83: | Line 85: | ||
** shared_future/system_clock/steady_clock/high_resolution_clock/duration/ratio/time_point | ** shared_future/system_clock/steady_clock/high_resolution_clock/duration/ratio/time_point | ||
** 타임 아웃 대기를 위한 접미사 for/until | ** 타임 아웃 대기를 위한 접미사 for/until | ||
* MFC++/17/9월28일 | |||
** 메모리 모델, 객체와 메모리 위치, 원자적 연산 | |||
** modification order | |||
** typedef atomics | |||
** 복합 대입 연산자/fetch | |||
* MFC++/17/10월25일 | |||
** atomic_flag, atomic<bool> | |||
** exchange | |||
** compare_exchange_weak/compare_exchange_strong | |||
** 원자적 연산의 종류와 선택적 메모리 순서 적용 | |||
* MFC++/17/11월3일 | |||
** 이전 진행 내용 회고 | |||
** atomic<T*>, atomic<Integral>, atomic<T> | |||
** atomic free functions | |||
** inter-thread happens-before/synchronize-with relationships | |||
** memory_order | |||
** sequential consistency | |||
* MFC++/17/11월8일 | |||
** 이전 진행 내용 회고 | |||
** operation visibility | |||
** non-seq_cst world | |||
** relaxed order | |||
* MFC++/17/11월17일 | |||
** 이전 진행 내용 회고 | |||
** acquire/release order semantics | |||
** mixing memory order with transition | |||
** carries-dependencies-to | |||
** dependency-ordered-before | |||
** release/consume order | |||
* MFC++/17/11월24일 | |||
** kill_dependency | |||
** release sequence | |||
** atomic fence | |||
** tuple | |||
* MFC++/17/12월27일 | |||
** bitset | |||
** random generator/distribution | |||
** I/O manipulator | |||
** Concurrency Quiz! | |||
* MFC++/18/1월5일 | |||
** regex | |||
** non-format I/O operation | |||
* MFC++/18/1월10일 | |||
** operator new/delete | |||
** enum/union | |||
** pointer-to-member/pointer-to-mem_fun | |||
* <font color="#287a63"><b>종료!</b></font> | |||
== 진행 예정 내용 == | == 진행 예정 내용 == | ||
=== A. C++의 기능과 라이브러리 === | === A. C++의 기능과 라이브러리 === | ||
| Line 110: | Line 160: | ||
* Chapter 4. 동시성 연산 간의 동기화 | * Chapter 4. 동시성 연산 간의 동기화 | ||
* Chapter 5. C++ 메모리 모델과 원자적 연산 | * Chapter 5. C++ 메모리 모델과 원자적 연산 | ||
== 덧글 == | == 덧글 == | ||
* 얍 - [[성훈]] | * 얍 - [[성훈]] | ||
** 얍! 얍! 얍! - [[박인서]] | ** 얍! 얍! 얍! - [[박인서]] | ||
* 2년에 걸친 대서사시가 종료되는군요 - [[박인서]] | |||
----------- | ----------- | ||
Latest revision as of 00:16, 27 March 2026
개요
- Mastering Further C++
- --Mxxxxx Fxxxxxx C++...--
진행
- 진행 방식은 과거 미시Cpp를 벤치마킹(?)해서 진행합니다.
- 즉, 주마다 특정 주제 내용을 소개하는 방식으로 진행됩니다.
- --진행 스타일은 과거 CS 스터디와 동일합니다.--
- 복사와 이동부터는 완전히 PPT 진행으로 변경되었습니다.
- 2016년 2학기 시작 직후부터 시작합니다.
- 되도록이면 수요일 정모 직후, 7시에서 9시까지 진행합니다.
- 주마다 진행 요일이 불가피하게 바뀌어야 할 수도 있습니다.
- 진행에 사용된 소스 코드 및 PPT 자료는 해당 레포지토리에 있습니다.
- 종료되었습니다!
참가자
목표
- C++ 돌아보기 --돌아보는 척 하면서 더 낯설게 만들기--
- C++11과 C++14의 내용 숙지
- 흔한 C++ 프로그래밍 실수 방지하기
- C++에서의 동시성 활용하기
참고
- Primer 5th Edition
- 기본 바탕은 이 책을 기준으로 합니다.
- C++
- Effective C++
- Modern C++
- STL
- Concurrency In Action
- C++
- Exceptional C++
- C++ Style
- 그 외 위키피디아와 C++ 레퍼런스 사이트 등
진행 내용
- MFC++/9월7일
- MFC++/10월5일
- MFC++/11월2일
- MFC++/11월9일
- MFC++/11월30일
- MFC++/1월4일
- MFC++/1월11일
- MFC++/1월18일
- MFC++/2월1일
- MFC++/2월15일
- MFC++/2월22일
- MFC++/3월7일
- Chapter 11. 복사와 이동에서 복사까지 완료!
- MFC++/3월22일
- Chapter 11. 복사와 이동 완료!
- MFC++/3월29일
- Chapter 12. 연산자 오버로딩 완료!
- MFC++/5월9일
- Chapter 13. 객체 지향 프로그래밍과 C++ 진행중.
- MFC++/5월24일
- Chapter 13. 객체 지향 프로그래밍과 C++ 완료!
- Chapter 14. 템플릿 진행중.
- MFC++/5월31일
- Chapter 14. 템플릿 완료!
- 스레드, 스레드 라이브러리의 역사, 컴퓨터 환경의 변화
- MFC++/7월12일
- thread
- MFC++/7월21일
- 경합 조건, 경합 조건 방지와 인터페이스 설계, mutex, mutex를 제외한 경합 방지 수단
- MFC++/7월26일
- reader-writer mutex(shared_lock), 다중 락에서의 교착 방지하기, recursive_mutex
- MFC++/8월11일
- 이전 진행 내용 회고
- condition_variable
- MFC++/8월17일
- 이전 진행 내용 회고
- future/async/packaged_task/promise
- MFC++/8월30일
- 이전 진행 내용 회고
- shared_future/system_clock/steady_clock/high_resolution_clock/duration/ratio/time_point
- 타임 아웃 대기를 위한 접미사 for/until
- MFC++/17/9월28일
- 메모리 모델, 객체와 메모리 위치, 원자적 연산
- modification order
- typedef atomics
- 복합 대입 연산자/fetch
- MFC++/17/10월25일
- atomic_flag, atomic<bool>
- exchange
- compare_exchange_weak/compare_exchange_strong
- 원자적 연산의 종류와 선택적 메모리 순서 적용
- MFC++/17/11월3일
- 이전 진행 내용 회고
- atomic<T*>, atomic<Integral>, atomic<T>
- atomic free functions
- inter-thread happens-before/synchronize-with relationships
- memory_order
- sequential consistency
- MFC++/17/11월8일
- 이전 진행 내용 회고
- operation visibility
- non-seq_cst world
- relaxed order
- MFC++/17/11월17일
- 이전 진행 내용 회고
- acquire/release order semantics
- mixing memory order with transition
- carries-dependencies-to
- dependency-ordered-before
- release/consume order
- MFC++/17/11월24일
- kill_dependency
- release sequence
- atomic fence
- tuple
- MFC++/17/12월27일
- bitset
- random generator/distribution
- I/O manipulator
- Concurrency Quiz!
- MFC++/18/1월5일
- regex
- non-format I/O operation
- MFC++/18/1월10일
- operator new/delete
- enum/union
- pointer-to-member/pointer-to-mem_fun
- 종료!
진행 예정 내용
A. C++의 기능과 라이브러리
- Chapter 1 - Chapter 10의 목차는 MFC++/이전목차를 참조해주세요.
- Chapter 1. 변수와 타입
- Chapter 2. 문자열과 배열, 벡터
- Chapter 3. 표현식과 문장, 함수
- Chapter 4. 클래스
- Chapter 5. I/O와 C++
- Chapter 6. 순차 컨테이너
- Chapter 7. 일반화 알고리즘
- Chapter 8. 연관 컨테이너
- Chapter 9. 효율적이고 안전한 STL
- Chapter 10. 동적 메모리 관리
- Chapter 11. 복사와 이동
- 이 챕터부터 스터디 진행이 완전히 PPT 진행으로 변경되었고, 따로 만들어진 목차는 없습니다.
- Chapter 12. 연산자 오버로딩
- Chapter 13. 객체 지향 프로그래밍과 C++
- Chapter 14. 템플릿
B. C++에서의 동시성 활용
- Chapter 1. Hello, Concurrency!
- Chapter 2. 스레드 관리
- Chapter 3. 스레드 간 데이터 공유
- Chapter 4. 동시성 연산 간의 동기화
- Chapter 5. C++ 메모리 모델과 원자적 연산