Blog

  • distinctipy PART 2

    파이 차트를 그릴 때 distinctipy 를 이용해서 색상을 선택한다. 대부분 경우에는 각각의 파이가 잘 구별된다. 이렇게 사용하면 1번과 마지막 N번이 비슷한 경우가 있다. 이러면 가독성이 떨어진다. 그래서 이 문제를 해결하고 싶었다.

    처음에는 random 하게 섞어서 몇 달째 사용하였다. random 보다는 더 그럴듯한 방법을 이용하고 싶었다. Gemini 에 다음 내용을 질의했다.

    • matplotlib으로 파이 차트를 작성할 것이다.
    • 서로 인접한 경우에는 색이 분명하게 구별되어 있으면 좋겠다.
    • 1번과 마지막 N번도 서로 구별되었으면 좋겠다.

    처음 Gemini가 제시한 방법대로 해보았는데 random가 큰 차이가 없었다. Gemini에게 어떤 알고리즘을 이용한 것이냐고 물었고, 탐욕 알고리즘을 이용했다고 한다.

    그래서 추가로 다음 조건을 제시했다.

    • 탐욕 알고리즘은 제외할 것

    Gemini 가 다시 제시한 방법은 2개이다. TSP 알고리즘을 최대 경로로 하는 것과 몬테카를로 방법이다. 몬테카를로 방법은 10,000번 임의로 배열한 것 중 가장 색상 거리가 먼 순서를 이용하는 것이다.

    몬테카를로 방법을 선택했다. 적어도 현재까지는 색 순서가 만족스럽다.

  • Permalink 설정

    server {
        ...
        location / {
            # 이 구문이 있어야 ?p=123 요청이 워드프레스 index.php로 전달되어 301 처리가 됩니다.
            try_files $uri $uri/ /index.php?$args;
        }
        ...
    }

    개인 블로그라서 SEO를 신경 쓰지 않았다. 하지만 Site Health 항목에서 Object cache 부분은 개선하고 싶었다. 이 문제는 보통 플러그인으로 해결한다. 나의 경우 시도해 본 플러그인 모두에서 Permalink 설정을 요구했다. 설정이 어려운 것은 아니다. 문제는 다른 글들을 볼 수 없다는 것이었다.

    오늘은 이 문제를 해결해 보고 싶었다. Gemini에게 질의해 보니 처음은 redirection 이라는 플러그인을 추천했다. 이 것은 그 동안 작성한 글에 맞는 것들을 새로운 주소로 redirection 하는 것으로 보였다. 문제는 그 동안 작성한 글이 6000개가 넘는 다는 것이다. 여러 번 질의한 후에 해결할 수 있었다. 기본적으로 워드프레스에서 전환이 가능하도록 구성되어 있다. 그리고 nginx 를 사용하는 경우는 위와 같은 설정으로 permalink 로 전달할 수 있는 것이었다. 시도해 보니 잘 되었다. 그리고 그 동안 사용처를 모르던 slug도 사용법을 조금 알 것 같다.

    Permalink를 설정해서 WP Super cache도 설치할 수 있었다. 이제 Site Health 상태가 Good이다.

  • William Strunk, Jr. “The Elements of Style”

    원서를 본 것은 아니다. 번역한 책이다. 반대쪽에 원문이 있고, 이 쪽으로 사진을 찍었다.

    먼저 8개 기본 규칙을 설명한다. 이러한 것들은 콤마, 세미콜론 등에 대한 것이다.

    다음으로는 작문의 기본 원칙 10개를 설명한다.

    • 작문의 단위는 단락 – 한 단락에 한 화제만을 다룬다.
      Make the paragraph the unit of composition: one paragraph to each topic
    • 주제문으로 단락을 시작하고 그 주제문에 부합하도록 단락을 마무리하라.
      As a rule, begin each paragraph with a topic sentence; end it conformity with the beginning.
    • 능동태를 이용하라.
      Use the active voice.
    • 긍정문을 사용하라.
      Put statements in positive form.
    • 불필요한 단어는 생략하라.
      Omit needless words.
    • 산만한 문장의 나열은 피하라.
      Avoid a sucession of loose sentences.
    • 대등한 아이디어는 비슷한 형태로.
      Express co-ordinate ideas in similar form
    • 연관된 단어는 함께 쓴다.
      Keep related words together.
    • 요약은 동일한 시제로.
      In summaries, keep to one tense.
    • 문장에서 강조하는 단어는 마지막에.
      Place the emphatic words of a sentence at the end

    본문에서 많은 예시를 보여준다. 짧은 규칙들과 이런 예시들을 같이 본다면 좋을 것이다. 스티븐 킹의 책에서 보고 빌려 보았다. 얇은 두께에 실망하지 말자. 모든 내용이 좋은 책이다.