목록혼공학습단 (22)
Scientia Conditorium
[기본 미션] p.150의 확인 문제 1번 풀고 인증하기 웹 페이지나 웹 기반 API를 호출하는데 requests 패키지를 많이 사용 HTML 안에 있는 내용을 찾을 때는 뷰티플수프(Beautiful Soup) 사용 find() : 첫 번째 매개변수에는 찾을 태그 이름을 지정하고, attrs 매개변수에는 찾으려는 태그의 속성을 딕셔너리 지정 find_all() : 테이블 태그를 리스트로 가져오기, 특정 HTML 태그를 모두 찾아서 리스트로 반 [선택 미션] p.137~138 손코딩 실습으로 원하는 도서의 페이지 수를 추출하고 화면 캡쳐하기 실습하면서 나왔던 오류들 1. requests 사용하기 전에 'import requests'해주기 2. requests와 request, 뒤쪽 s 스펠링 주의 3. p..
[기본 미션] p.81의 확인 문제 4번 풀고 인증하기 CSV(Comma-separated values) : 콤마(,)로 구분된 텍스트 파일 한 줄이 하나의 레코드이며 레코드는 콤마로 구분된 여러 필드로 구성 데이터는 엑셀처럼 표 형태여야 하기 때문에 레코드에 있는 필드 개수는 모두 동일 read_csv() : 판다스 패키지를 이용하여 csv 파일을 읽을 때 사용 to_csv() : 판다스의 데이터프레임을 csv로 저장할 때 사용, 기본적으로 UTF-8 형식으로 저장 [선택 미션] p.71~73 남산 도서관 데이터를 코랩에서 데이터프레임으로 출력하고 화면 캡쳐하기
23년 1월 2일부터 시작했던 혼공학습단 9기 활동이 끝났다. 혼공학습단은 총 3번 참여하였다. 5기 머신러닝+딥러닝, 7기 C언어, 9기 컴퓨터 구조+운영체제. 확실히 회사 다니면서 개인 공부 시간을 내는 것은 쉽지 않았다. 여기에 회사 내부에서 진행하는 스터디까지 병행하였더니 스케줄 관리를 따로 하지 않았더라면 결코 완주하지 못했을 것이다. 혼공시리즈는 늘 만족스럽다. 혼공 컴퓨터 구조 + 운영 체제도 다른 책들과 마찬가지로 혼자서 공부하기 적합하며, 언뜻 이해하기 어려운 구조를 그림과 예시로 친절하게 설명해준다. 사실 컴퓨터 구조와 운영체제는 대학교에서도 각각 한 과목으로 분류되고 대학원 과목도 있는 만큼 어려운 내용이다. 저자도 이 사실을 알고 있는지 최대한 핵심만 간결하게 설명해주었다. 컴퓨터구..
[기본 미션] p.185의 확인 문제 3번, p.205의 확인 문제 1번 풀고 인증하기 [선택 미션] Ch.07(07-2) RAID의 정의와 종류를 간단히 정리해 보기 RAID : Redundant Array of Inexpensive/Independent Disk 복수 배열 저가/독립 디스크 데이터의 안전성 혹은 높은 성능을 위해 여러 하드 디스크나 SSD를 마치 하나의 장치처럼 사용하는 기술 RAID 0는 데이터를 단순히 병렬로 분산하여 저장하고, RAID 1은 완전히 복사본을 만듬 RAID 4는 패리티를 저장한 장치를 따로 두는 방식이고, RAID 5는 패리티를 분산하여 저장하는 방식 RAID 6는 서로 다른 두 개의 패리티를 두는 방식
[기본 미션] p.125의 확인 문제 2번, p.155의 확인 문제 4번 풀고 인증하기 프로그램 카운터(PC, program Counter) : 메모리에서가져올 명령어의 주소, 즉 메모리에서 읽어 들일 명령어의 주소를 저정. 프로그램 카운터를 명렁어 포인터(IP, Instruction Pointer)라고 부르는 CPU도 있음(인텔의 x86 계열의 CPU) 명령어 레지스터(IR, Instruction Register) : 해석할 명령어, 즉 방금 메모리에서 읽어 들인 명령어를 저장하는 레지스터. 제어장치는 명령어 레지스터 속 명령어를 받아들이고 이를 해석한 뒤 제어 신호를 내보냄 범용 레지스터(General purpose register) : 일반적인 상황에서 자유롭게 사용할 수 있는 레지스터. 메모리 버..
[기본 미션] p.51의 확인 문제 3번, p.65의 확인 문제 3번 풀고 인증하기 1. 프로그램이 실행되려면 반드시 '메모리'에 저장되어 있어야 합니다. 이 문장이 중요한 이유는 운영체제와 연관되어서 그렇습니다. 흔히들 사용하고 있는 Window 윈도우 운영체제 역시 프로그램의 하나 입니다. 따라서 컴퓨터 전원 버튼을 누르면 가장 먼저 운영체제 프로그램이 메모리에 적재됩니다. 책 261쪽을 보면 '운영체제는 매우 특별한 프로그램이기 때문에 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역(Kernel space)이라는 공간에 따로 적재되어 실행됩니다' 라고 서술되어있습니다. 물론 세부적으로는 BIOS → 부트로드 → 커널영역 → 초기화 프로세스 순서로 동작합니다. 2. 2의 보수는 현재 부호있는 정수를 표..
[기본 미션] - 포인터의 핵심 내용을 정리하고 공유하기 포인터(Pointer) : 주소를 저장하기 위한 변수형 → 변수인데 속에 담긴 내용은 메모리 주소 즉, 메모리 주소를 저장하는 변수 포인터는 어떤 변수에 저장된 값에 직접적으로 접근하는 것이 아니라 주소를 이용해서 간적접으로 접근하는 방식이다. 포인터의 핵심이라고 하면 메모리 주소와 변수이다. 포인터의 용도 설명 1. 큰 데이터를 매개변수로 사용할 때 const 배열에 오소가 10만개 있다고 하면, 매개변수 복사하느라 메모리와 시간 낭비. 포인터로 첫 번째 요소의 주소만 전달하면 모든게 해결 2. 반환 값이 둘 이상일 때 min, max 코드 참조 포인터로 함수 안에서 원본을 직접 변경하는 반환이랑 마찬가지 3. 동적 메모리 할당 함수의 범위에 상..
[기본 미션] - 직접 정리한 키워드 공유하기 [배열(array)] 동일한 자료형을 여럿 담을 수 있는 자료 구조 배열 안에 있는 각 데이터를 요소(element)라고 부름 몇 개의 데이터를 담을지 결정한 뒤에는 그 수를 바꿀 수 없음(단, 내용 변경은 가능) [배열의 색인] 대부분의 프로그래밍 언어에서 배열의 색인은 0부터 시작 -> 첫 번째 = 0, 두 번째 = 1 그 이유는 메모리 때문. 첫 번째 요소(시작)로부터 오프셋(offset) 얼마만큼 떨어져 있는지를 판단 C#과 달리 new를 반드시 사용할 필요가 없음 배열에 접근하는 법은 C#과 동일 모든 기본 자료형 변수(char, int, float)를 new 없이 사용할 수 있었던 이유는 바로 스택 메모리에 할당됐기 때문 기본 자료형을 함수 매개변..
[기본 미션] - 함수의 유형을 정리하여 공유하기 반환형 함수명(매개변수1, 매개변수2, ...) { // 함수 실행 코드 // 반환형에 따른 반환값 } 기본적인 함수의 형태는 위와 같다. 반드시 적어줘야 하는 것은 반환형과 함수명이다. C언어에서 함수는 기본적으로 모두 전역(global) 함수이다. 따라서 어디에서든 접근/호출이 가능하다. 물론 이걸 제한할 수 있는 키워드가 있긴 하다. C언어에서 사람들이 실수하는 부분 중 하나는 함수 오버로딩이 없다는 것이다. 보통 C/C++을 같이 사용하기 때문에 신경을 쓰지 않는다. void print(int score) { printf("Score : %d\n", score); } void print(float gpa) /* 컴파일 오류 */ { printf("..
[기본 미션] - 혼공 용어 노트에 용어 추가 등 노트 활용하고 공유하기 이번 주 미션은 혼공 노트를 활용하는 것이지만, 내 경우에는 반대로 사용하고 있다. 기존에 사용하고 있었던 용어 정리 노트에다가 혼공 노트에 적힌 것을 옮겨적었다. 처음에는 이동 시간에 틈틈이 보려고 했으나 양이 늘어나면서 블로그 등에 올리는게 더 효율적인 것 같다. [선택 미션] - p.123 크리스마스 소개팅 예문 if 문 손코딩 인증샷 또는 실행 화면 캡쳐하기 크리스마스 때 까지 솔로면.... 너무하네 혼공...어휴 그 문구를 손코딩으로 하기 싫어서 그냥 실행화면을 올려버렸다. 프로그래밍의 가장 기본은 조건문과 반복문이다. 사실상 이 2개면 모든걸 다 할 수 있다고 봐도 될 정도라고 생각한다. 이번주차 미션은 가볍게 쉬어가는 ..