분류 전체보기(15)
-
실패하는 스터디에 대하여, 그리고 성공적인 스터디의 자세.
필자는 대학교 1~2학년 동안 총 네 번의 스터디를 스터디장으로서 진행했으며, 현재 24-1에 열 스터디 준비 및 여러 스터디의 컨설팅을 하고 있다. 이 글에선 네 번의 스터디를 진행하면서 실패했던 점과 그 이유 위주로 적어보려 한다.사실 스터디에 정답은 없다고 생각하며, 스터디의 성공은 스터디원의 영향을 많이 받는다. 따라서 정답 보단 오답을 피해가기 위해 이 글을 적는다.22-1 일반수학1 스터디 (인하동동)👤인원 5명 / 🖥️ 온라인(1주에 1번, 약 30분) / 📆1학기(3~6월) / ☑️ 일반수학1 (교양 과목) 공부대학교에 들어와 처음 열었던 스터디로, 진행 방식은 다음과 같았다.1. 교양 수업에서 한 주 동안 배웠던 내용을 자유롭게 복습한다.2. 다섯 명이서 한 주씩 돌아가면서 주간 학..
2024.02.20 -
오픈소스sw개론 Part2, chap 7. Pandas (1)
1. Pandas란 무엇인가? Pandas란 무엇인가? 판다스는 빠르고 쉽게 데이터를 cleaning(청소)하고, 분석할 수 있게 돕는 데이터 구조와 도구들을 가지고 있다. NumPy, SciPy와 같은 수치 계산 도구들이나, statsmodels, scikit-learn 같은 분석적 라이브러리, matplotlib과 같은 데이터 시각화 라이브러리 등과 함께 쓰인다. NumPy와 마찬가지로, 배열 기반이며 for loop 사용 없이 데이터를 가공할 수 있다. 한편 NumPy와는 달리 표 형식의 데이터, 이종의 데이터를 다룰 수 있게 설계되어 있다. (NumPy는 동종의 데이터만 다룰 수 있다.) Pandas의 데이터 구조 크게 두 가지가 있다. : Series, DataFrame 2. Series Ser..
2023.12.08 -
시스템 프로그래밍 chap 8. Process and Virtual Memory
1. Processes process process란 쉽게 말하면, 실행되고 있는 프로그램을 말한다. 정확하게는 실행되고 있는 프로그램의 상태이다. 프로그램, 프로세서(프로세스를 실행시키는 하드웨어)와 다른 말임에 유의하자. 프로그램은 하나여도 프로세스는 여러 개일 수 있다. 예를 들어, 크롬 창을 여러 개 띄워두는 것은 하나의 프로그램(크롬)에 여러 프로세스(각각의 창)가 존재하는 것이다. 프로세스와 두 가지 추상화 프로세스는 각 프로그램에 두 가지 주요 추상화를 제공한다. 이는 다음과 같다. logical control flow (실행 흐름) 하나의 CPU가 여러 개의 프로그램을 순회하며 동작하는데, 프로그램 입장에선 자신이 CPU를 독점적으로 사용하는 것처럼 보인다. 이는 context switch..
2023.12.07 -
시스템 프로그래밍 chap 7. Linking
1. Linking 1-1. 링킹 기본 개념과 링커 linking에 들어가기 전에 linking의 발생 : 라이브러리의 특정 함수를 호출하게 되면 linking이 발생한다. compilation system의 분류 : compilation system은 크게 assembly phase와 linking phase로 구분된다. assembly phase에서는 C 코드를 object code로 만들고, linking phase에서는 앞에서 만든 object code와 필요한 다른 object file, 라이브러리를 결합해 단일 실행 가능한 프로그램으로 만든다. linker를 이해함으로써 얻는 것 : 큰 프로그램의 설계 가능 다른 중요한 시스템 컨셉 이해 공유 라이브러리 이용 가능 언어 범위 지정 규칙이 구현되..
2023.12.07 -
시스템 프로그래밍 chap 6. Machine-Level 프로그래밍 : 데이터
1. Arrays (배열) 1-1. 배열의 정의 배열 할당 T A[L]의 꼴로 할당한다. (예를 들면, int A[10];) 이 경우 T라는 데이터 타입의, 길이 L인 배열을 할당한 것이다. 결국, T A[L]은 메모리 내에서 L * sizeof(T) 바이트의 연속적으로 할당된 영역이다. 배열 접근 int val[5]; 에 접근한다고 가정하자. val은 다음과 같은 메모리 공간을 가질 것이다. 이를 바탕으로 val에 다양하게 접근할 수 있다. Reference Type Value val [4] //4번째 칸의 값에 접근 int 3 val //시작점 (포인터)에 접근 int * x val + i //자료형의 크기 * i만큼 주소 증가해 주소에 접근 int * x + 4i &val [2] //val[2]의 ..
2023.12.07 -
논리회로 chap 9. MSI Logic Circuits
9-0. MSI MSI란? medium-scale integration의 약어로, 중간 규모의 통합을 의미한다. 수백에서 수천 개의 전자 부품(트랜지스터, 저항기, 캐패시터 등)을 하나의 칩에 통합한 것을 의미한다. 이 범주는 소규모 통합(SSI)와 대규모 통합(LSI) 사이에 위치한다. 9-1. 디코더 디코더란? 디코더란 한 출력이 특정한 입력들의 조합에 의해서만 이루어질 때 사용한다. 카운터나 레지스터의 출력에 대해서 작동한다. 이진수를 나타내는 입력들을 받는다. 디코더는 특정한 입력의 조합에 대해 하나의 결과만이 active(HIGH)하며, 나머지는 LOW이다. 많은 디코더들은 active-LOW output을 만들게끔 설계되었다. 즉, 하나의 선택된 output만이 LOW, 나머지는 HIGH 상태..
2023.12.04