django 버전은 4.0.3, 파이썬은 3.9 버전에서 실습하였습니다. 그리고, 디비는 postgresql을 쓰고 있습니다. migration을 진행하다 보면, 당황할 법한 에러 메세지를 보게 되는 경우가 있는데요. postgresql과 연결한 상태에서, migrate를 하다가 오류가 생겨서 당황하였습니다. 사실, 잘 될 거 같았기 때문입니다. 예외를 자세히 읽어 보니, relispartition이 언급되었는데요. 옛날 버전은, pg_class 테이블에 해당 필드가 없어서 생긴 문제였습니다. settings.py에서 디비 연결 정보를 정의하였습니다. 그리고 마이그레이션이 잘 될 줄 알았는데 이게 왠걸? relispartition이 떨어졌습니다. c가 무엇인지 알아보기 위해서, 코드 내부를 타고 들어가 ..
전체 글 검색 결과
문자열을 처리할 때 regex는 생각보다 많이 쓰게 됩니다. 파이썬에서는 re를 제공하고 있는데요. match와 fullmatch에 대해서 간단하게 알아보겠습니다. 먼저 match를 보도록 하겠습니다. match는 target이 해당 패턴으로 시작하는지를 검사해서, 그렇다면 Match object를 돌려줍니다. 예를 들자면, 패턴 'a'로 시작하는 문자열 'abc'는 참입니다. 그런데 패턴 'b'로 시작하는 문자열 'abc'는 거짓입니다. 따라서, 위 프로그램의 결과는 1번째는 Match 되는 오브젝트가 떨어질 것이고, 2번째는 None이 나올 겁니다. 정말 그런가요? 네. 그래서, 어떠한 문자가 특정한 패턴으로 시작하는지 판단하려면 re의 match를 이용하면 됩니다. fullmatch는 문자열 전체가..
파이썬으로 문제를 풀다가, 다른 분들의 코드를 보면 생각보다 간결하게 짠 코드들도 많았는데요. 파이썬의 enumerate 또한 그 중 하나입니다. 이것이 어떤 함수인지 간단하게 알아보겠습니다. 먼저, 이 함수는 iterable한 것을 받고, 옵션으로 start를 받습니다. iterable 한 것 중, 대표적인 것은 list가 있는데요. 예제 프로그램을 보겠습니다. 'cho', 'ga', 'hui' 순서로 저장되어 있는 리스트가 있습니다. 뭔가 순회하는 것 처럼 보이는데요. 결과를 보겠습니다. 어? 순회해서 값을 가져올 때 마다 앞에 index가 붙음을 알 수 있어요. (0, 'cho'), (1, 'ga'), (2, 'hui')가 순서대로 나왔네요. start 값을 주면 어떻게 될까요? start에 3을 ..
python에서 2개의 set에 대해서 합집합, 교집합, 차집합, 대칭 차집합 등을 구하고 싶을 때가 있습니다. 어떻게 구하면 될까요? 먼저 set A에 속하지만, set B에 속하지 않는 원소들을 모두 구해봅시다. 그러려면 A에서 B를 빼면 됩니다. 3번째 줄에 C = (A - B)라고 했는데요. 이는 A와 B의 차집합을 구하라는 의미입니다. 이는 A에서 A와 B의 교집합을 빼는 것과 같습니다. A와 B의 교집합에 속하는 원소는 2이므로, A에서 원소 2가 빠지면 {1, 4}가 됩니다. 결과는 예상한 대로 나왔음을 알 수 있습니다. 교집합을 구해 봅시다. (A & B)는 set A와 set B의 교집합을 구합니다. A와 B 집합에 동시에 속하는 원소는 2입니다. 따라서 2만 출력됩니다. A 또는 B에 ..
log를 쌓기만 하면 의미가 없을 겁니다. 이것을 적절히 가공해서 어딘가로 보내는 것이 logstash라고 할 수 있는데요. 이 글에서는, 특정 조건에 따라 처리하는 방법을 다르게 하는 conditional에 대해서 간단하게 언급해 보겠습니다. if절이나, if else 절이 꽤 많이 나올 거 같네요. logstash와 filebeat는 8.1.2 버전을 썼음을 미리 알려드립니다. 먼저, filebeat의 설정 파일을 보겠습니다. filebeat.inputs는 어디로부터 입력을 받을지에 대해서 설정하는 것인데요. 뭔가 복잡해 보입니다. /var/log에 있는 log 파일들로부터 input을 얻어옵니다. 또 /home/cho 밑에 있는 log 파일로부터 또 뭔가를 얻어오는데요. 저는 /home/cho 밑에..
최근댓글