파이썬에서 enum의 원소를 random하게 가져오는 방법을 알아보겠습니다. 먼저, Enum을 상속받은 A 클래스를 보겠습니다. 이름이 A이고 값이 1인 것, 이름이 B이고 값이 3인 것, 이름이 C이고 값이 5인 것, 이름이 D이고 값이 7인 것이 있습니다. 랜덤하게 뽑을 것이므로, choice와 같은 것이 필요한 것은 자명해 보입니다. 그런데 이것은 sequence가 필요하다고 뜹니다. 시퀀스의 대표적인 것은 list이니, enum의 데이터를 list로 변환해야겠네요. rd.choice(list(A))를 해 주면, A에 있는 item 중에 랜덤하게 하나를 뽑습니다. 이게 다입니다. 실행 결과는 A.a, A.b, A.c, A.d 중에 하나가 나옵니다. 즉, list(enum_class_name)은, e..
코딩 검색 결과
postgresql에는 materialized view가 있습니다. 간단하게 실습하면서 알아보겠습니다. 먼저, materialized view는 아래와 같이 생성합니다. create materialized view ~ as ~. 위 문장은, m_a라는 이름의 view를 생성하는데요. select * from a가 들어왔습니다. 테이블 a의 내용을 모두 출력하는 쿼리에 대한 뷰를 만듭니다. 그러면 view와 같은 것이 아니냐? 라는 질문을 하실 수 있는데요. 쿼리의 결과가 사용된다는 점은 같습니다. 그런데, 차이가 있습니다. 먼저, 테이블 a에 들어있는 내용입니다. 이 테이블에 위 2개의 레코드를 추가해 보겠습니다. 그리고, view 하나를 생성해 보겠습니다. 이 view는 a의 전체 내용을 출력하는 쿼리..
java에는 equals랑 compareTo가 있습니다. 이 둘을 언제 쓰는지, 차이점을 간단하게 알아보겠습니다. 먼저 compareTo는 비교를 하기 위해 쓰입니다. 순서를 정하기 위해서. 뒤에 for order가 붙은 것을 보면 알 수 있습니다. 당연하게도, comparator의 compare도 같은 용도로 쓰입니다. Compares object for order. 위에서 말한 순서는 무엇일까요? 랭킹을 정한다고 생각해 봅시다. 이름과 점수로 이루어진 object가 있습니다. 우리는 점수별로 순서를 정하려고 합니다. Obj 클래스는 이 상황에서 학생에 대한 데이터를 저장할 거에요. score와 name이 있는데요. 각각 받은 점수와 이름을 저장하고 있습니다. compareTo는 아래와 같이 오버라이딩..
파이썬의 fastapi에서 Uploadfile은 파일이 엄청나게 클 때 어떻게 관리할까요? 10기가 정도 된다고 했을 때요. UploadFile의 file이 SpooledTemporaryFile을 사용한다고 하였습니다. 파일이 매우 클 때에는 디스크의 임시 파일이 저장되는 위치에 저장하게 됩니 이 글에서는 fastapi에 대해서는 다루지 않습니다. 다만, fastapi가 매우 큰 파일에 대해서 어떻게 다루고 있고, 이를 보기 위해서 임시 파일이 저장되는 위치와, 임시 파일이 저장되는 경로를 바꾸는 방법 정도만 가이드 합니다. 먼저, tempfile은 임시 파일을 의미합니다. gettempdir()은 임시 파일이 저장되는 위치를 가지고 옵니다. Users의 chokw의 AppData의 Local의 Temp..
안녕하세요. enum은 보통 상수값을 선언하고, 제약하기 위해서 많이 쓰게 됩니다. 이번 시간에는 그 중에, valie 값으로 대응되는 enum member를 얻어오는 방법과 name to enum을 하는 방법을 알아보겠습니다. 상당히 많이 쓰일 듯 하니 알아두면 좋을 듯 합니다. 그 전에 몇 가지 용어를 알아볼 거에요. enum은 name과 value가 있어요. 5번째 줄을 보겠습니다. RED = "red"라고 되어 있어요. 여기서 우리는 RED를 name이라고 합니다. 그리고, 이 이름에 대응되는 값 "red"를 값이라 불러요. 8 ~ 9번째 줄은 Color.Red의 이름과 Color.Red의 value를 출력합니다. 각각 RED와 red가 출력되게 됩니다. 이 둘을 묶어놓은 것을 member라고 합..
최근댓글