저는 모 대회에서 3개 이상 푼 분을 절반 이상으로 예측했습니다. 심지어, 평균을 3.x개라고 예측하기도 했습니다만, 실제 결과는 상이하였습니다. 3번 문제였던 이 문제는 난이도가 그렇게 어려운 편이 아니였습니다. 그래서 문제 분석을 풀이보다 중점적으로 하고자 합니다. 먼저, 문제에서 구하고자 하는 것은 무엇인가요? 연산이 성공하면 1을, 아니면 0을 출력하라는 것입니다. 연산이 무엇인가요? R, W, X 중 하나임을 볼 수 있습니다. USER_NAME, FILE_NAME, operation 순서로 주어집니다. 그리고, 이것은 유저 USER_NAME이 파일 FILE_NAME인 파일에 대해 operation을 수행할 수 있는지를 의미함을 알 수 있습니다. 다시 문제를 이해해 봅시다. 구하고자 하는 것이 무..
전체 글 검색 결과
간혹 가다가, command 로그를 기록하고 싶지 않을 때가 있습니다. 예를 들자면, secret 환경변수를 다른 어딘가에 넣고 싶을 때입니다. zsh에서는 이럴 때, fc 명령어를 쓸 수 있습니다. 문서를 보기 전에 간단한 동작 먼저 이해해 보겠습니다. fc -p 1.log를 입력해 봅시다. 인자로 1.log가 넘어갔는데요. 그 다음에 echo $HISTFILE을 입력해 보면 1.log가 나타남을 알 수 있어요. 이제, fc -P 명령을 입력한 다음에 1.log를 보겠습니다. 그러면, 1.log에 echo $HISTFILE과 fc -P가 저장되었음을 알 수 있습니다. 그러면 -p 옵션 다음에 아무것도 넣지 않은 경우 어떻게 작동할까요? fc -p 명령어를 수행한 다음에 echo $HISTFILE을 입력..
데이터베이스를 공부하는 방법 중에 하나는, 잘 구현된 라이브러리를 보고 어떤 구조로 데이터베이스를 설계했는지 보는 것이라고 생각합니다. 장고에서, 카데고리를 추가해야 할 일이 있었는데요. 저는 항상 하던 것과 같이 self Foreign key와 name만을 필드로 가지는 모델을 정의했습니다. 그런데, 찾다보니 mptt라는 것이 있었는데요. 간단하게 소개해 드리겠습니다. 먼저 계층형 쿼리에 대한 것부터 알아야 하는데요. 흔히 댓글, 대댓글이라던지 1차, 2차, 3차 카데고리와 같은 것들이 계층형 구조라고 할 수 있어요. 여기서 질문을 하나 던져볼게요. 대분류가 Game에 속하는 글은 어떤 것인가? 예를 들자면, 저는 btd5에 대해 썼는데요. btd5의 대분류 역시 Game입니다. 그러면 btd5는 Ga..
파이썬에서 왈러스 연산자는 3.8부터 등장한 기능입니다. 한 마디로 요약하면 대입과 평가를 한번에 할 수 있다는 것입니다. 문서에 나온 예제들이 그리 어렵지 않으니 한 번 쯤 훑어보셔도 괜찮을 듯 싶습니다. 저는 간단하게만 정리하겠습니다. t에 3을 대입한 다음에 이게 0과 같은지 비교해서, 같으면 1을 출력하고 싶습니다. 이런 류의 연산이 생각보다 많이 일어나는데요. 2번째 줄과 같이 if (t = 3) != 0: 이런 식으로 쓸 수도 있다고 생각할 수 있습니다. 사실 저는 그렇게 생각했습니다. 그런데 결과를 보면 invalid syntax라고 뜨네요. 이럴 때 쓸 수 있는 게 왈러스 연산자입니다. 2번째 줄에 보면 (t := 3)이 있습니다. 이것은 변수 t에 3을 대입합니다. 다음에, (t := 3..
장고에서 many to many field를 써야 할 때가 종종 있습니다. 예를 들자면, 게시물 하나에 태그를 구현하는 것, 친구 관계 등이 있습니다. 이 글에서는 many to many field를 다룰려는 것은 아니고, 다대다 관계에서 어떤 식으로 테이블을 생성하는지만 간단하게 알아보겠습니다. 게시물 테이블이 있다고 해 보겠습니다. 보통 한 게시물의 작성자는 하나이므로, 게시물 테이블은 이런 식으로 설계해도 크게 문제는 없습니다. 1, 2, 3은 글을 쓴 작성자의 유저 id를 의미합니다. fk로, 유저의 id를 참조합니다. board에서 user 테이블을 참조하는 외래키 정도라고 생각하시면 편하겠습니다. 2번 유저의 이름을 GA에서 ga로 바꾸었을 때, 2번 게시물의 작성자가 ga라는 것을 알 수 있..
최근댓글