[글쓴이:] summerorange

  • Python) Reeborg’s World Maze – 알고리즘

    Python) Reeborg’s World Maze – 알고리즘

    일요일에는 Maze 부분 못 풀었는데 정답 보기는 싫고 어떻게든 알아서 풀어보고자 했고,

    퇴근하고 와서 다시 Maze 부분 붙들고 풀다가 풀었습니다.

    뭐 만들 때 안 풀리면 하루 잠을 자고 다음 날 풀거나 산책하고 와서 풀거나, 커피 마시고 돌아와서 풀고, 수학 문제처럼 머리 속에 두고두고 있다가 어떻게 하다보면 풀리는 것 같습니다.

    Reeborg’s World – Maze 편

    python 함수 move() 를 넣으면 움직이고, turn_left()하면 왼쪽으로 돕니다.

    front_is_clear(), wall_in_front(), right_is_clear(), wall_on_right(), at_goal() 이 부분은 True / False 로 반환 받을 수 있습니다받는 부분입니다.

    while로 루프 써서,

    저 미로를 로봇이 도착지점까지 올 수 있도록 코드를 짜는 것이 요 미로 편이였습니다.

    미로 풀기는 하단 링크에서 할 수 있습니다.

    https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Maze&url=worlds%2Ftutorial_en%2Fmaze1.json

    주어지는 미로 속에서 로봇이 잘 헤쳐나갈 수 있도록 많은 경우의 수를 고려해서 코드를 짜는 걸 알고리즘이라고 합니다.

    로봇이 보는 곳은 동서남북 중 랜덤으로 방향이 정해집니다.

    풀었던 코드:

    이렇게 저렇게 풀어보다가 풀었던 코드는 이 방법이었습니다.

    def turn_north():
        while is_facing_north() != True:
            turn_left()
    
    def turn_west():
        turn_north()
        turn_left()
        turn_left()
        turn_left()
            
    turn_west()            
    while at_goal() != True:
        if front_is_clear() and wall_on_right():
            move()
        if wall_in_front() and right_is_clear():
            turn_left()
            turn_left()
            turn_left()
            move()
        if wall_in_front() and wall_on_right():
            turn_left()
        if front_is_clear() and right_is_clear():
            turn_left()
            turn_left()
            turn_left()
            move()
        elif front_is_clear():
            move()

    이 중에서 약간 핵심이라고 생각하는 조건이 front_is_clear() and right_is_clear()일 때 어느 방향으로 움직일 지 설정해 주는 거였습니다. 미로를 푸는 방법은 벽을 따라 오른쪽으로 쭉 돌다보면 나가는 곳이 보일테니 오른쪽으로 가도록 설정을 하고, 하지만 벽이 막혀 있다면 왼쪽으로 틀어주는 방법. 으로.

    이렇게 저렇게 실험하 듯 짜다보니 코드가 정리되지 않았는데,

    저 turn_left() 3번 쓰는 걸 함수로 묶는

    def turn_right():
       turn_left()
       turn_left()
       turn_left()

    대략 어떻게 움직일지 동작하는 걸 구현했지만 좀 더 깔끔한 코드 리팩토링이 필요할 것 같네요.

    깊이 우선 탐색, 넓이 우선 탐색 이런 걸 뭔가 몸으로 체득하듯이 코드를 짜는 것 같아서 저 사이트 정말 유용하다고 생각합니다.

    문제는 답지 없이 꼭 풀고. 어떻게든 혼자 힘으로 풀어내는 걸 추천합니다 🤖🤖🤖🤖🤖

    굳었던 머리가 말랑해지는?? 좋아지는 느낌도 듭니다.

    치매 예방! 두뇌 회전!

    (무슨 광고 같아ㅋㅋㅋㅋ)

  • tistory 현재 상황 22.10.17

    tistory 현재 상황 22.10.17

    엄… 티스토리도 일단 들어가는 지는데,

    완전히 복구된 건 아닌 듯합니다.

    15일은 아예 접속이 안되었고, 어제 저녁(16일)은 관리자 페이지에 아예 안들어가졌고.

    지금은 뜨기는 하는데 파비콘을 불러오지는 못하는 것 같네요.

    음… 그리고 포스팅이 모두 m 으로 시작하는 주소로 봐서는 모바일 형식으로 불러와 집니다.

    가로 길이를 모니터 크기에 맞춰서 max로 늘렸는데 여전히 모바일 형태로 나타납니다.

    반응형 부분은 아직 안 먹히는 것 같단 생각이 듭니다.

    블로그… 이전에도 다음카카오는 블로그 운영에 관심을 점점 안 두고 있다는 느낌이 강해서 좀 슬퍼지려고 했는데…🥲

    구글 검색창으로 이것저것 치면 개발과 관련해서 나름 양질의 글은 티스토리가 그래도 선방하는 편이라고 생각했습니다.

    궁금한 거 구글 검색창에 치면 그래도 나름 이런 저런 방향이나 정보 글은 티스토리가 많을 거예요. 네이버는 잘 안들어가서 모르겠지만요.

    아예 접속이 안되다보니 좀 멘붕이 왔습니다. 열심히 포스팅해서 올려놓은 글들이니까요.

    티스토리 방문자 수 추이

    15일과 16일 부분은 아예 접속이 안되었던 것 같은데 방문자 수가 있어서 신기했습니다. 0으로 예상했었거든요.

    그리고 반응형 웹 부분이 확실히 안되니 구글 애드센스 부분도 공란이 많이 보입니다.

    사실 들어가지는데 뭐 건드리는 게 겁납니다.

    (열심히 복구하시는 엔지니어 분들 화이팅🥲)

  • 워드프레스 사용자 추가 및 권한 설정하는 법

    워드프레스 사용자 추가 및 권한 설정하는 법

    워드프레스에 사용자를 추가할 수 있습니다.

    티스토리도 팀 블로그 형식으로 운영할 때 사용자를 추가했던 적이 있었는데.

    워드프레스도 마찬가지로 권한을 주고 사용자를 추가할 수 있습니다.

    사용자 – 새로 추가 를 누르면

    다음과 같이 사용자명, 이메일, 사용자 알림 전송하기, 역할을 설정해서 새 사용자를 추가할 수 있습니다.

    역할은 구독자 / 기여자/ 글쓴이 / 편집자 / 관리자 권한으로 나뉩니다.

    글쓴이 권한으로 할당해서 권한 테스트를 해보았습니다.

    해당 권한을 받은 메일로 들어가서, 이메일 인증하면 워드프레스 알림판에서 글쓸 수 있는 기능들만 보이면서 작성할 수 있습니다.

    관리자는 루트(/)권한으로 웹사이트 관리할 수 있고, 그 다음으로 > 편집자 > 글쓴이 > 기여자 > 구독자 순으로 보입니다.

  • Erica Jong – You take your life in your own hands

    Erica Jong – You take your life in your own hands

    daily_quotes
    daily_quotes

    “You take your life in your own hands, and what happens? A terrible thing, no one to blame.”

    매일 매일 조금씩 변화하기.

  • 랠프 월도 애머슨 – Always do what you are afraid to do

    랠프 월도 애머슨 – Always do what you are afraid to do

    always do
    always do

    당신이 두려워 하는 그 일을 하십시오.

    에서 Always do 라는 단어에 집중했다.

    항상 행동하는 정신이 되자. 라고 생각한다.

  • 워드프레스 플러그인 설치하다

    워드프레스 플러그인 설치하다

    워드프레스는 플러그인을 추가해서 필요한 기능을 하나씩 블럭처럼 합체하는 블로그입니다.

    플러그인을 설치해서 활성화를 해보면서 많이 테스트 해보고 있습니다.

    wpplugin
    wpplugin

    이런 식으로 필요한 플러그인을 하나씩 설치합니다. 블록 편집기는 원래 설치 되어 있는 편집기인 것 같은데 사실 아직 익숙하지 않습니다. 고전 편집기도 예전에 써본 것 같은데 안쓴지 오래되어서. 조만간 다시 한 번 설치해보고 써봐야겠습니다.

    현재까지 설치해보고 테스트 하고 있는 플러그인은 총 10개 정도 되며,

    그 중 ithem-security

    부르스 포스 공격(무차별 대입 공격이라고도 합니다)을 방지하는데 사용하기 때문에 설치해보았고

    WP content copy Protection은 오른쪽 클릭 복붙 방지하는 플러그인입니다

    Korea SNS 플러그인도 있어서 설치는 했지만, 음… 잘 안쓸 것 같습니다. 네이버, 카카오 등등 있는데 카카오톡은 유료이고,

    티스토리 플러그인 중 포스트가 발행되면 자동으로 트윗으로도 전송하는 게 있었는데 그 부분을 좀 알아볼 것 같습니다.

    이렇게 조금씩 설치하면서 알아가는 중입니다.

  • python) Reeborg’s World Hurdle4 풀기

    python) Reeborg’s World Hurdle4 풀기

    은근히 안되서 될 때까지 붙잡고 풀었습니다.

    python 코드를 연습하기 좋은. 스크래치 게임과 비슷한 Reeborg’s World 입니다.

    Reeborg's World
    Reeborg’s World

    1, 2, 3 단계는 쉽게 풀릴테고, 4단계부터는 코드 하나에 하나하나 어떻게 돌아가는지 확인이 필요합니다.

    코드를 짜는 건 귀찮으니 빠르게 해결하려고 했던 건데… 가는지 안가는지 확인해야 한다니ㅋㅋㅋ

    사람이라면 장애물이 대략 몇 미터인지 파악해서 4미터면 4번 갔다 도는 것, 1미티 정도면 1번 돌고… 이런 식으로 빠를 텐데.

    귀여운 Reeborg는 눈 앞에 장애물이 없으면 이동해, 우측에는 벽이 있어? 앞에는 장애물이 있어? 만약 우측에 벽이 없다면…

    이라고 하나부터 열까지 하나하나 설정해야 합니다.

    일단 4단계 풀었던 코드는 요렇습니다. 그런데 해결된 코드 복붙해봐야 재미없으니 직접 하는 걸 강추…

    원래 가지고 있던 def와 따로 만들어서 움직이도록 짰습니다.

    하다가 에러나면 오기도 생기고, 될 때까지 한다. 이런 느낌으로 해보면 엄청 재밌습니다.

    사이트 주소:

    https://reeborg.ca/reeborg.html?lang=en&mode=python&menu=worlds%2Fmenus%2Freeborg_intro_en.json&name=Hurdle%201&url=worlds%2Ftutorial_en%2Fhurdle1.json

    def turn_right():
        turn_left()
        turn_left()
        turn_left()
    
    def jump():
        turn_left()
        move()
        turn_right()
        move()
        turn_right()
        move()
        turn_left()
        
    while at_goal() != True:
        if right_is_clear():
            turn_right()
            move()
            turn_right()
            move()
        elif front_is_clear():
            move()
        elif wall_in_front():
            turn_left()
        elif wall_on_right():
            move()
            turn_right()

    그리고 다음 스테이지로 이동!

    또다른 솔루션은

    def turn_right():
        turn_left()
        turn_left()
        turn_left()
    
    def jump():
        turn_left()
        while wall_on_right():
            move()
        turn_right()
        move()
        turn_right()
        while front_is_clear():
            move()
        turn_left()
            
        
    while at_goal() != True:
        if wall_in_front():
            jump()
        else:
            move()

    좀 더 깔끔한 코드

  • 티스토리 먹통🥲

    티스토리 먹통🥲

    저녁 9시 46분 여전히 티스토리에 안 들어가집니다.

    티스토리에 예전에 작성한 에러 관련 메모가 있어서 복구되면 빨리 옮겨야 할 것 같습니다.

    프로그래밍 관련한 글들은 다 티스토리에 있고, (복구되면 중요한 건 옮겨야죠…)

    조회수가 크지 않아도 나름(?) 수익형 블로그인데

    오늘 들어오는 에드센스는 정말 0.00 달러가 찍힐 것 같습니다. 🤣

    22.10.15… 오후 9:52

  • 카카오톡, 다음 등 카카오 데이터 센터 화재

    카카오톡, 다음 등 카카오 데이터 센터 화재

    카카오톡, 카카오택시, 티스토리, 다음 등이 계속 접속이 안됩니다.

    2022.10.15. 오후 5시 기준!

    3시 반부터 접속이 안되고 있는데,

    서버실이 있는 데이터 센터에 화재가 났다고 합니다.

    카카오톡
    카카오톡

    카카오 서비스 전반적 장애와 관련해서 하루 빠른 복구가 되길 바랍니다🙏🏻

    +덧, 스타벅스의 일부 서비스 이용 불가 안내

    저녁 8시 6분…

  • 헬렌켈러 명언

    헬렌켈러 명언

    헬렌켈러
    헬렌켈러

    “세상은 고통으로 차 있는 것처럼 보이지만, 고통을 극복하는 걸로도 차있다.”

    – 헬렌켈러 –

error: Content is protected !!