문자열 처리를 할 때 토큰화 시키는 것이랑 trim 등은 매우 많이 쓰게 됩니다. 이번 시간에는 postgresql에서 특정 문자를 기준으로, split_part라는 함수를 이용해서 토큰화 시키는 방법을 알아보겠습니다. 먼저 3개의 인자를 받습니다. 원본 스트링, 그리고 delimeter 역할을 할 것 하나, 위치입니다. 저는 '-'를 기준으로 나누었기 때문에, a, b, c, d, efg, hi 순으로 나누어질 것이라는 것을 알 수 있습니다. 이 중 2번째는 b이므로 b가 출력되게 됩니다. 정말 그런지 보니, 'b'가 출력됨을 알 수 있어요. 다음에, 원본 문자열 'a-b-c-d-efg-hi'에서, '-'를 delimeter로 해서, 5번째 원소를 뽑으려고 합니다. 이 경우, a, b, c, d, ef..
전체 글 검색 결과
장고에서 유저의 비밀번호를 어떻게 설정해야 할까요? 비밀번호는 평문으로 저장되면 안 됩니다. 그렇기 때문에, set_password 라는 별도의 함수를 제공합니다. 이 글에서는 암호화 방식에 대한 상세한 설명을 다루지 않습니다. 먼저 사용법부터 봅시다. auth.models에 붙어 있는 User를 쓰는 경우, 비밀번호를 셋팅할 User 계정을 불러옵니다. 저는 "admin"이라는 유저 이름을 가진 유저를 filter와 get을 이용해서 불러왔습니다. 다음에 set_password 함수로 새롭게 설정할 raw_password를 넣습니다. 다음에, 반영하기 위해, user.save()를 해서 실제 데이터 베이스에 넣습니다. 사용법은 어렵지 않습니다. 이제, 어떤 식으로 동작하는지 간단하게만 보겠습니다. 메타..
이번 시간에는 리눅스 which 명령어를 알아보겠습니다. which는 command의 위치를 알려줍니다. 예를 들어 java라던지, ls와 같은 것들의 명령어 위치를 알려줍니다. 제 서버에는 java가 설치되어 있지 않습니다. 그렇기 때문에 처음에 which java를 입력하면 아무 것도 나오지 않습니다. java를 설치하고 나서, 다시 which java를 입력해 보겠습니다. 그러면, /usr/bin/java에 설치되었다고 나옵니다. ls로 상세 정보를 보면, 링크 파일임을 알 수 있습니다. 이들을 통해서 따라 들어가 봅시다. 먼저, java가 /etc/alternatives/java의 링크임을 알 수 있어요. /etc/alternatives로 들어가 봅시다. 그러면 java가 있을 텐데요. java가..
파이썬에서 딕셔녀리의 첫 번째 원소를 어떻게 가져올까요? iter와 next를 적절히 잘 이용해서 가져오는 방법이 있습니다. 먼저 이해해야 할 것은 iter입니다. object로부터 iterator를 얻어오는데요. 이터레이터. 무언가를 순회하기 위한 도구 정도로 이해하면 적당합니다. 다음 원소를 가리키게 하는 메서드가 있는데요. 그것이 바로 아래에서 설명드릴 next입니다. 설명을 읽어 보면, next item을 이터레이터로부터 얻어온다고 되어 있습니다. 만약에, exhausted가 되면, Stopiteration을 리턴하는데요. default 값이 있다면 default 값을 리턴합니다. 여기까지 내용을 종합해서 정리해 봅시다. 일단, 저는 python 3.9를 쓰고 있으니, 기본적으로 Ordered가 ..
이번 시간에는 django의 Q object로 복잡한 filter를 조금 깔끔하게 작성하는 방법을 알아보겠습니다. 물론, 문서에 예제가 매우 잘 나와 있긴 합니다. 먼저, 데이터는 요래 있습니다. 작성자가 "alpha"인 사람은 "beta"라는 내용의 포스트를 썼고, 작성자가 "admin"인 유저는 "alpha" 라는 내용의 포스트를 썼습니다. 여기까지 보면 별로 어려울 게 없어 보입니다. 자. 그런데, 어떠한 정보를 얻어올 때, 쿼리 파라미터가 여러개 들어오는 것은 보통입니다. 예를 들어 네이버에 "코딩테스트" 를 검색하고 view 탭만 봐도 query parameter가 상당히 많음을 볼 수 있어요. 이런 것을 어떻게 깔끔하게 처리할까요? 문제 상황이 이해가 가셨으리라 생각됩니다. 저는 post의 유..
최근댓글