반응형

전체 글 240

[클린코드][3장] - 함수

안녕하세요 Dibrary입니다. 클린코드 책 3장은 함수라는 이름으로 시작합니다. 1. 함수는 무조건 작게 만들자 여기서 작게의 의미란, 하나의 함수가 하나의 기능만을 가지게 하라는 의미입니다. 조건문, while문 안에는 가능하면 한 줄 정도로 코드가 작성된 것이 좋습니다. 중첩 구조가 생길 정도로 함수가 커져서는 안 됩니다. 만일 의미있는 이름으로 함수의 일부 혹은 다른 함수를 추출할 수 있다면 그 함수는 이미 여러 작업을 하는 셈입니다. 객체지향 5원칙 중에 하나로 '하나의 객체는 반드시 하나의 동작만을 책임진다'는 것이다. 함수가 '한 가지' 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 합니다. 2. 코드는 위에서 아래로 이야기처럼 읽혀야 좋다 아래, 위 반복적으..

프로그래밍 2022.04.03

Redis 설치 (Windows에 설치하기)

안녕하세요 Dibrary입니다. 이번엔 Redis를 설치해보겠습니다. Redis는 리눅스를 토대로 동작하는 것인데, 윈도우에도 설치 할 수 있습니다. 주로 데이터를 producer-consumer 형태로 다룰 때는 리눅스에 설치해서 사용하면 더 편하지만, 우선 Redis를 다루는 연습을 하기에는 윈도우에 설치해서 연습하는 것도 나쁘지 않습니다. 먼저 윈도우에 설치할 수 있는 Redis를 받으려면 아래 깃허브로 이동 하셔야 합니다. GitHub - microsoftarchive/redis: Redis is an in-memory database that persists on disk. The data model is key-value, but many dif Redis is an in-memory data..

[초격차] 세계1위 기업을 만들어 본 리더의 관점

원래 베스트셀러는 먼저 찾아 읽지 않는데 이 책은 정말 궁금해서 신간 나오자마자 읽어보았다. 물론 처음에는 도서관에서 읽어보았고, 그 후에 회사 생활 하면서 힘들 때 한 번, 그리고 이번에는 아예 구매를 했다. 사실 책을 읽으면서 정리를 해두곤 하는데, 이 책은 정리해둔 내용을 봐도, 책 본문을 봐도 계속 색다른 관점으로 보인다. 아무래도 저자가 직접 자신의 성장 경험을 토대로 작성한 내용이라 그런지, 나 역시도 읽는 순간마다 겪은 경험의 차이로 다르게 보이는 것 같다. 가장 먼저 리더라는 개념의 정리를 해 나간다. 리더는 어떤 업무를 주로 하는지, 리더는 어떤 성향을 가져야 하는지, 어떻게 분류해 바라볼 수 있는지 등등.. 제일 첫 부분을 읽음으로써 일개 사원인 나 역시 정말 '따르고 싶은 리더'가 어..

독서/서평 2022.03.31

[NoSQL철저입문] NoSQL에 대한 전반적인 요약본

NoSQL이 생각외로 군데군데 쓰이고 있어서 전반적인 개념을 잡을 목적으로 읽은 책이다. 이 책의 내용을 궁금해하는 사람이라면 NoSQL이라는 단어가 뭘 의미하는지 간단하게나마 알고 있을 것이다. 기존에 가장 흔하게 쓰이던 관계형 테이블 식의 DB 설계방식은 정형화된 SQL문이라는 것이 존재했고, 이 SQL문으로 해당 테이블에서 관련 업무를 수행할 수 있었다. NoSQL은 말 그대로 SQL이 No인 것이다. 정형화 되어 있지 않은 셈이다. SQL역할을 하는 명령문도 그렇고, 테이블 자체도 정형화가 되어 있지 않은 셈이다. 나 역시 NoSQL은 굉장히 유연한 것만 알고 정확히는 모르는 상태였다. 이제는 이 책의 내용을 토대로 크게 분류 및 목적에 따라 어떻게 써야 할 지에 대한 생각을 해 볼 수 있어졌다...

독서/서평 2022.03.30

파이썬 데이터 분석 준비! - Numpy배열 다루기 - 3(배열 응용하기)

안녕하세요 Dibrary입니다. 이번에는 그동안 배운 Numpy배열을 응용해 볼 것입니다. Numpy를 사용할 때 중요한 점은, 배열 단위로 연산을 한다는 것 이게 중요합니다. Numpy배열로 만들어놓고, 기존 list 처럼 계산 하면 Numpy의 장점이 드러나지 않습니다. 먼저 임의의 Numpy배열을 만들고, Numpy배열에 곧바로 비교 연산자를 사용하니 True, False로 결과가 나오죠? True인 것만 데이터가 있다는 의미 입니다. 그러면, 이렇게 True / False로 나오는 결과를 활용할 수 있습니다. 예를 들어, 각 회사마다 매출액이 Numpy배열로 만들어져 있다고 할 때, 특정 회사의 매출액만 볼 수 있는 것입니다. 바로 이렇게요. 지금 names == 'samsung' 문장은 위에서 ..

[독서] 책 읽는게 어려운 사람들을 위한 팁 - 1 (선입견)

안녕하세요 Dibrary입니다. 이번에는 책 읽는 것이 어렵거나, 책 읽는게 막연히 싫은 사람들을 위한 '독서 팁' 을 알려드려보고자 합니다. 먼저, 저는 현재 직장생활을 하며, 1년에 약 300권 가량의 책을 읽고, 정리하고, 메모합니다. 처음부터 이해력이 좋았던 것은 아니라서 대학교 다니면서 도서관에 빠져 살기 시작할 때 1년에 30권, 40권, 50권 이렇게 점진적으로 늘려 나갔습니다. 따라서 저 역시 초반에 책 읽을 필요성과, 막연한 걱정, 그리고 글자보다 그림을 더 좋아했었습니다. 앞으로 방법을 소개하겠지만, 위 내용은 제가 읽고, 정리해 둔 독서 목록 입니다. (물론 위 내용을 찾기 쉽게 간단한 프로그램을 만들어 놓아서 관리는 편리합니다.) 책은 읽고싶은데 걱정이라면!? 내가 아는 것이 맞는지..

독서 2022.03.28

[클린코드][2장] - 의미있는 이름

안녕하세요 Dibrary입니다. 클린코드를 읽고 계속 생각할 내용을 정리 해 두고자 합니다. 코드를 작성하면서 문득 '코드를 더 클린하게 할 방법이 없을까' 하고 떠오를 때마다 참고할 생각입니다. 1. 변수, 함수의 의도를 분명하게 밝히자. 2. 일관성이 떨어지는 표기법은 피하자. 3. 널리 쓰이는 단어를 다른 의미로 사용하지 말자. 4. 이름이 달라진다면 의미도 달라져야 한다. 5. 이름 길이는 범위 크기에 비례해야 한다. 검색을 할 때 특정 단어를 검색하면 관련 함수만 몇 개 서칭결과로 나와야 찾기가 용이합니다. 모든 함수마다 단어를 공통으로 사용했다면, 서칭결과가 매우 많이 나오겠죠? 6. 인터페이스 이름에 접두어 붙이지 말기. 굳이 차이를 주겠다면 "클래스이름 + Impl" 로 붙이는걸 추천합니다..

프로그래밍 2022.03.27

[파이썬 코딩의 기술] 파이썬을 좀 더 유용하게 쓸 수 있는 팁

원서 제목은 effective python인데, 한글판 제목이 effective python이 안 떠올라서 이런 책이 있는지도 몰랐던 책이다. 굳이 이 책이 아니더라도, effective java 혹은 effective C++ 책을 본 적이 있는 사람이라면 이 책의 내용 역시 어떻게 풀어나갈지 알 수 있을 것이다. '파이썬 코딩의 기술' 책은말 그대로 코딩하는 방법 n가지가 차례대로 나열되어있다. 파이썬은 워낙에 쉬운 언어라는 인식이 많아서 많이들 배우지만, 정작 효율이라는 잣대를 들이대면 그 기준을 만족시키는 코드를 찾기란 쉽지 않다. 그만큼 배우는 것과 실제 효율적인 코드를 작성 및 활용하는 것은 별개라는 것이다. 바로 그 효율적인 코드 작성의 방법이 총 90개나 나와있다. 각각의 내용은 파이써닉, ..

독서/서평 2022.03.25

파이썬 데이터 분석 준비! - Numpy배열 다루기 - 2(배열 데이터 다루기)

안녕하세요 Dibrary입니다. 저번 글에 이어서 이번에는 배열의 데이터를 다뤄보겠습니다. 혹시 Numpy배열을 만드는 방법을 모르신다면 이전 글을 참고해 주세요. 파이썬 데이터 분석 준비! - Numpy배열 다루기 - 1(객체 만들어보기) 안녕하세요 Dibrary입니다. 최근 화두가 되는 데이터 분석 및 빅데이터 등등 데이터가 들어가는 것에 파이썬이 안쓰이는 곳이 없습니다. 데이터를 다루려면 Numpy와 Pandas를 다룰 줄 아는 것이 거진 dibrary.tistory.com Numpy를 사용하려면 당연히 import부터 해 주셔야 합니다. 먼저 데이터의 자료형을 바꿔보겠습니다. astype 함수를 사용해서 자료형을 입력하면, 구성 데이터가 해당 자료형으로 변경됩니다. 자료형은 Numpy 자료형을 써..

Dixon Q test - 특이치 식별 및 제거, 파이썬으로 구현

안녕하세요 Dibrary입니다. 이번 시간에는 데이터 분석을 하기 전에 데이터의 이상치(outlier)를 제거하는 Dixon Q test를 파이썬으로 구현 해 보겠습니다. 먼저, Dixon Q test에 대해 알아보겠습니다. Dixon Q test는 이상치를 제거할 때 사용할 수 있습니다. 식은 간단하게 아래와 같이 나타낼 수 있고, 여기서 gap은 이상치(outlier)로 추정되는 값, 그리고 그 값과 가장 가까운 숫자간의 절대값 '차이' 입니다. range는 전체 데이터의 (최대값 - 최소값) 차이 입니다. 이렇게 계산된 Q값이 table의 Q값보다 크다면 이상치(outlier)로 추정되는 값이 이상치가 맞다는 결론을 내립니다. 신뢰도를 90, 95, 99로 다르게 적용 할 수록, table의 Q값은..

반응형