반응형

프로그래밍 106

[git] 계정 비밀번호 바꾼 후에 재접속 하기

안녕하세요 Dibrary입니다. 제가 어느 순간부터 Gitlab 에 로그인이 안 되어서 비밀번호를 변경했었습니다. 근데 비밀번호를 변경하고 나서부터 원래 git clone으로 해놓은 프로젝트들에 접근이 안되었죠. 이렇게 Authentication failed ~ 이런 문구가 계속 나오면서 진행이 안되었습니다. 이럴 때는 계정 설정 정보만 초기화 해 주면 됩니다. 보시는 바와 같이 git config --unset credential.helper 를 입력한 후에 다시 git 작업을 하려고 하면 로그인 정보를 다시 입력하라는 팝업이 나옵니다. 고작 비밀번호 하나 바꿨는데 관련 프로젝트를 다 못쓰는 줄 알고 식겁한 순간입니다.

프로그래밍 2022.04.16

[Fluent Python] 2장 - 데이터 구조체 정리

안녕하세요 Dibrary입니다. '전문가를 위한 파이썬' 2장 정리 내용 입니다. 컨테이너 시퀀스 = list, tuple, collections, deque 균일 시퀀스 = str, bytes, bytearray, memoryview, array.array 컨테이너 시퀀스는 객체의 참조를 담고 있습니다. 균일 시퀀스는 값을 직접 담고 있습니다. 값과 참조의 차이를 코드로 살펴보겠습니다. list를 예로 들면, alpha값이 변하니까 alpha를 가지고 있던 tmp의 값도 변하네요. (참조하고 있었기 때문이죠) 원래 튜플은 불변형인데, 이렇게 하면 변경이 됩니다. (즉, 이렇게 사용하면 안 됩니다.) 튜플도 컨테이너 시퀀스라서 참조를 담고 있기 때문에 변경이 되네요. 반면 str은 아래처럼 작성시 그저 ..

[클린코드][4장] - 주석

안녕하세요 Dibrary입니다. 클린코드 4장은 코드를 작성하면서 같이 기록하는 주석에 대한 내용입니다. 주석도 의도하지 않게, 읽는데 방해가 되거나 하는 요소가 될 수 있으니 깔끔하게 작성하고자 할 때 참고하시면 좋을 듯 합니다. 1. 코드로 의도를 표현하자 코드를 설명하는게 아니라 코드가 무슨 목적으로, 무슨 기능을 하기 위한건지 주석으로 남기자는 것입니다. 2. 함수나 변수로 표현할 수 있다면 주석을 달지 마라 즉, 변수나 함수 이름으로 해당 내용 표현이 된다면 주석이 필요 없을 것입니다. 주석을 달지 않도록 코드를 작성하는 것이 가장 기본입니다. 3. 주석과 주석이 설명하는 코드는 둘 사이의 관계가 명확해야 한다 주석이 관련 코드를 설명하는 게 아니라 넘어오는 값의 상태나, 해당 함수 동작 이전의..

프로그래밍 2022.04.09

파이썬으로 Redis 데이터 베이스 값 읽고 쓰기

안녕하세요 Dibrary입니다. 이번에는 Python을 이용해서 Redis의 값을 읽거나 써보겠습니다. 우선 윈도우에 설치한 Redis를 실행 해 놓겠습니다. 파이썬에서 Redis를 사용하려면 Redis모듈을 설치 하셔야 합니다. pip install redis 를 입력해서 설치 하시면 됩니다. 저는 이미 설치를 해 둬서 already satisfied 라고 나오네요. 그리고 파이썬에서 코드를 아래와 같이 작성 했습니다. 실행을 해 보겠습니다. 우선 print문까지 진행이 완료 되었기 때문에 Redis안에 들어갔을거라고 생각해야겠죠? 과연 Redis안에 들어 있는지 확인을 직접 해 보겠습니다. 엇? 입력을 했는데 안 나옵니다. 네 이는 위에 파이썬 코드에서 db=1 이라고 해 놓았기 때문에 못 읽는 것입..

[클린코드][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..

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

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

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

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

프로그래밍 2022.03.27

파이썬 데이터 분석 준비! - 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값은..

반응형