목록전체 글 (95)
Scientia Conditorium
제목을 정말 잘 지었다. 영문 원 제목을 그대로 직역하면 '범용 컴퓨터'가 된다. 단순히 책 제목이 '범용 컴퓨터'였다면 현대 컴퓨터가 어떻게 동작하는지에 관한 책으로 오해받을 수 있다. 책 제목처럼 우리가 컴퓨터라 부르는 것들이 초기 어떤 원리에서부터 시작하여 어떤 과정을 거쳐왔는지를 서술한 책이다. 그렇다고 해서 역사서/연대기 같은 책은 아니다. 수학적 개념과 철학 사고방식이 어느정도 필요하다. 대표적으로 아래 예제를 이해할 수 있어야 된다고 본다. 우리는 원소의 숫자를 세지 않고도 두 개의 집합이 같은 원소의 개수를 갖는다고 말할 수 있다. 방법은 한 집합의 원소와 다른 집합의 원소를 1 대 1로 매치시키는 것이다. 예를 들어 경기장의 관중석이 꽉 차 있고 입석 관객은 하나도 없다면 경기장의 관객 ..
이 책은 사이버 보안과 관련한 기술적인 얘기는 들어가 있지 않다. 저자의 경험을 토대로 지금껏 있었던 사이버 보안 전쟁에 대해 어떤 일들이 있었고 어떤 위험과 결과를 가져왔는지를 서술한 책이다. 사이버 보안이 왜 중요한지 알기 쉽게 설명해준다. 사이버 보안이라고 하면 다들 별거 아닌 것처럼 여긴다. 다른 범죄들과 다르게 눈에 잘 보이지 않으니 그런 것 같다. 그러나 저자가 말한 것처럼 모든 범죄는 일어나기 전에 막아야 의미가 있다.(p.83) 앞으로는 보안이 중요하며, 보안전문가가 각광받은 직업으로 떠오를거라는 인식은 소프트웨어 산업이 활성화되기도 전부터 있어왔다. 그러나 뉴스를 보면 종종 어느 은행 혹은 어느 기업에서 개인정보 몇천건을 해킹 당했다라는 소식을 쉽게 접할 수 있다. 과연 회사들이 보안 관..
파이썬은 2023년 가장 인기있는 언어 중 하나다. 이 인기는 최소 10년간 줄어들지 않을거라 생각한다. 머신러닝이 대세인 이유도 있지만 다른 언어에 비해 사용하기 더 쉽기 때문이다. 이런 인기에 힘입어 해외에서도 파이썬 입문 책이 베스트 셀러가 된 것 같다. 누적 판매량 150만부라는 '파이썬 크래시 코스' 책을 받아보았다. 이 책은 크게 1부 기본편과 2부 실습편으로 나뉜다. 1부 기본편은 다른 파이썬 기초책과 마찬가지로 파이썬 설치 방법부터 기본적인 프로그래밍 문법을 설명해준다. 변수와 데이터 타입, 리스트, 반복문과 조건문, 함수와 클래스, 파일 입출력 등등. 개인적으로 1부 챕터1 ~ 10까지의 내용은 다른 기초책들과 별 다를바 없다. 더 나은 설명이라던가 부족한 부분없이 동등하다. 그러나 2부..
2023년 6월 5일 CoreC++ 컨퍼런스에서 C++ 창시자 비야네 스트롭스트룹(Bjarne Stroustrup)가 발표한 내용 Approaching C++ Safety 라는 제목으로 C++ 안전성에 대해 다루고 있으며 요약하면 아래와 같음 1. 여러 소프트웨어 커뮤니티에서 메모리 안전 언어를 활용하는 방향으로 소프트웨어 개발 문화를 주도하기 시작 2. 미국 국가 안보국(NSA)에서 C/C++와 같이 고유한 메모리 보호 기능을 거의 또는 전혀 제공하지 않는 프로그래밍 언어에서 메모리 안전 언어로 전략적으로 전환하는 것을 권고 메모리 안전 언어로 C#, Go, Java, Ruby, Swift 3. 그러나 TIOBE 프로그래밍 언어 인기 지수를 보면 C++는 증가함 오늘날 C/C++ 선택하는 사람들은 바보..
혼공학습단 10기 혼자공부하는 데이터 분석도 어느덧 끝났다. 늘 느끼지만 6주라는 시간은 금방 지나간다. 이번에는 지난 혼공학습보다 열심히 참여하지 못했다. 아무래도 처음 접하는 분야이다보니 시간을 좀 더 투자했어야하는데 그러지 못했다. 회사에서 데이터분석을 해야할 일이 종종 있어서 신청했고, 실제로 사용할 일이 있었지만 제대로 적용하지 못해 아쉽다. 확실히 파이썬은 유용한 언어이다. 파이썬으로 제품을 만드는 점은 아직까진 회의적이지만, CPython이라던가 여러가지 보조툴을 사용해서 충분히 커버할 수 있긴하다. C++과 마찬가지로 파이썬 사용 경험도 늘려야겠다. 혼공학습단 책으로 나올 분야는 아직 더 있어보인다. 스프링, 리액트, 프론트엔드, 백엔드, Go, Rust 등등 여러가지 있다. 그러나 개인적..
[기본 미션] p.344의 손코딩(맷플롯립의 컬러맵으로 산점도 그리기)을 코랩에서 그래프 출력하고 화면 캡쳐하기 단순하게 산점도 API만 호출하면 한글 글씨들은 깨져서 나오지 않는다. 따라서 책 p.331~332에 나와있는대로 네이버 나눔 글꼴을 설치해야 한다. [선택 미션] p.356~359의 스택 영역 그래프를 그리는 과정을 정리하기 1. pivot_table() 메서드로 각 '발행년도' 열의 값을 열로 바꾸기 2. '발행년도' 열을 리스트 형태로 바꾸기 3. stackplot() 메서드로스택 영역 그래프 그리기
[기본 미션] p.314의 손코딩(맷플롯립에서 bar() 함수로 막대 그래프 그리기)을 코랩에서 그래프 출력하고 화면 캡쳐하기 맷플롯립 bar()함수 1. plot() 함수와 매우 비슷. x축의 값과 막대 높이에 해당하는 y축의 값을 전달하면 됨 그 외의 제목, 축 이름 등을 표시하는 방법은 동일 2. annotate() 함수의 ha 매개변수에 'center'를 지정하면 텍스트 위치 조절 가능 기본값은 'right'이기 때문에 지정하지 않으면 오른쪽으로 정렬되고, 'left로 지정하면 왼쪽 정렬 3. 텍스트가 서로 겹치는 경우가 있으므로 fontsize 매개변수로 텍스트 크기 조절 가능 4. color 매개변수에 색깔 지정하며 텍스트 색깔도 변화 가능 [선택 미션] p.316의 손코딩(텍스트 정렬, 막대..
[기본 미션] p.297의 확인 문제 5번 풀고 인증하기 맷플롯립(matplotlib) : 파이썬의 대표적은 그래프 패키지. 산점도, 히스토그램, 상자 수염 그림을 비롯하여 막대 그래프, 선 그래프 등 많은 종류의 그래프를 지원하고 그래프의 구성 요소를 다양하게 제어할 수 있는 많은 옵션을 제공 산점도 : 데이터를 2차원 평면 또는 3차원 공간에 점으로 표시하는 그래프 차원의 계약으로 일반적으로 두 개 또는 세 개의 특성을 표현할 수 있지만, 점의 색깔을 달리하여 한 개의 특성을 더 표현할 수도 있음 히스토그램 : 데이터를 일정 구간으로 나누어 구간에 속한 데이터 개수(도수)를 막대로 표현할 수 있는 그래프 데이터가 어떤 부분에 집중되어 분포되어 있는지 잘 볼 수 있음 상자 수염 그림 : 사분위수, 최솟..
모든 기업가가 읽어야할 귀중한 지침서라고 적혀있다. 이 책을 읽고 난 이후 특히 스타트업 창시자들은 반드시 읽어봐야할 필독서라고 생각된다. 그 이유를 처음부터 명쾌하게 알려준다. 두 기업가 스티브와 래리를 예시로 들어 설명해준다. 많은 개발자들이 좋은 아이디어 하나만 가지고 창업을 시작한다. 기술력도 좋다. 누가봐도 제품만 나오면 당장이라도 고객들이 줄서서 살 것이다. 문제는 제품이 나오지 않는다는 것이다. 개발자의 오류이기도 한데, 너무 완벽한 상태로 제품을 출시하려고 하는 경향이 있다. 이 점에 대해서는 흔히들 MVP(Minimum Viable Product), 최소 기능 제품을 말한다. 즉, 자동차를 만들어서 팔아야지 라는 생각을 가지고 있었다면, 시작부터 자동차를 만드는건 너무 오래걸린다는 것이다..
[기본 미션] p.182의 확인 문제 2번 풀고 인증하기 데이터 정제 : 수집된데이터에서 잘못된 부분을 고치거나 제거하여 필요한 데이터를 준비하는 과정 데이터가 올바르게 정제되지 못하면 분석된 결과를 왜곡시킬 수 있으며 잘못된 의사 결정을 초래하기도 함 데이터 랭글링(데이터 먼징) : 데이터를 정제하는 과정과 분석 및 머신러닝에 적합한 형태로 데이터를 변환하는 과정 원소별 비교 : 판다스의 데이터프레임과 인덱스를 하나의 값과 비교하면 데이터프레임과 인덱스에 있는 모든 원소와 비교. 비교한 결과는 True 또는 False로 이루어진 불리언 배열로 반환 넘파이(Numpy) : 파이썬의 대표적인 다차원 배열. 판다스의 데이터프레임과 달리 한 종류의 데이터만 담을 수 있지만 매우 효율적이고 성능이 높음. 파이썬..