Copyright 2008 - 2023 blrunWed, 04 Oct 2023 13:03:52 +0900 Wed, 04 Oct 2023 13:03:52 +0900 네티즌칼럼에 오신 것을 환영합니다! 우리 국민 모두가 주인인 세상, 우리 네티즌 모두가 참여하는 진정한 참여민주주의를 실현해 나갑시다. 이곳은 이런 모토에 관심있는 분들, 또 거기에 열성적으로 뜻을 같이할 분들을 위한 공간입니다. https://www.blrun.net/ 네티즌 세상을 위하여... https://blrun.net/rss/banner1.jpg 네티즌 세상을 위하여... https://www.blrun.net/ 141 197 안녕하세요 이윤찬입니다. 신뢰가 넘치는 네트워크 세상, 우리 네티즌들이 만들어나가야 합니다. blrun39@hanafos.com blrun39@hanafos.comko 이윤찬 - 제가 https://bit.ly/3rutDAs 이 포스트 올린 직후 텍스트 내용을 백업하려고 윈도우즈10 탐색기를 열었지만 이게 이런 상태로 2분여 간 지연이 됐는데 이것 굉장히 의심스런 동작이네요. https://www.blrun.net/bbs/zboard.php?id=basket1&no=372 헐~ 아래 포스트 작성 직후 탐색기를 몇 번이나 닫고 열었을 때 2분 이상 진행바가 움직이면서 지연이 되었는데 뭔가 윈도우즈10에서 저를 주시하고 있는 해커가 제 백업 행위를 지연시키는 의도(시간끌기 의도)인 것이 바로 느껴져 이렇게 별도의 쓰레기통 글을 작성하게 되었습니다. 하기사 지금까지 윈도우즈10에서 벌어진 일을 생각하면 당연히 그러고도 남을 일이지요. <br /> <br />여러분도 탐색기 주소표시줄이 진행바가 천천히 움직이면서 "작업 중..." 이라는 메시지가 작게 보이면 윈도우즈10 해커내지 악성코드가 의심스런 의도로 해당 증상을 발현시키고 있다고 보시면 100% 맞습니다. 왜냐하면 전 윈도우즈10 사용하면서 이렇게 오랫동안 탐색기가 열리지 않은 적이 없었기 때문이지요. <br />ㅡ_ㅡ <br /> <br />https://bit.ly/3rutDAs <br /> <br />[탐색기 열기가 지연되는 현상] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C0%CC%C0%E7%B8%ED_%C0%AF%C6%A9%BA%EA_%B0%FC%B7%C3_%C3%B7%BE%F0_%BD%BA%C5%A9%B7%A6_%B3%BB%BF%EB_%B0%D4%BD%C3%C6%C7%BF%A1_%BF%C3%B8%AE%B0%ED_%B3%AA%BC%AD_%C5%BD%BB%F6%B1%E2_%BF%AD%B1%E2%B0%A1_%C1%F6%BF%AC%B5%C7%B4%C2%B5%A5_%C0%CC%B0%CD_%C1%BB_%B8%C5%BF%EC_%BC%F6%BB%F3%C7%D5%B4%CF%B4%D9.png' align='' width='1920' height='1080' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 26일 Tuesday PM 05:23:29 이윤찬 Tue, 26 Sep 2023 17:23:29 +0900 0 https://www.blrun.net/bbs/zboard.php?id=basket1&no=372 쓰레기통 > 일반 이윤찬 - 이재명이 직접 밝힌 '대장동 개발사업' 의 진실... 대체적으로 다 맞는 내용이네요. https://www.blrun.net/bbs/zboard.php?id=cap1&no=776 다운로드1:<a href="https://www.blrun.net/bbs/data/cap1/%B4%EB%C0%E5%B5%BF_%B0%B3%B9%DF_%BB%E7%BE%F7_%B3%ED%B6%F5___%B3%AA%B9%AB%C0%A7%C5%B0%282023.09.26%29.pdf">대장동_개발_사업_논란___나무위키(2023.09.26).pdf</a><br /><br /> 첨부 파일에 올려드린 "대장동 개발 사업 논란" 스크린 캡처 PDF 파일은 나무위키에서 2023년 9월 8일 오후 9시 46분에 수정된 내용을 그대로 오늘 캡처해 올려드리는 겁니다. 저도 아래 유튜브 영상을 16분 다 시청했는데 직감적으로 이재명 지사의 말이 크게 틀리지 않았다는 생각을 했습니다. <br /> <br />나무위키 캡처 전문은 개요만 읽고 다 읽어보지 못하였으나 이재명 지사가 밝힌 아래 동영상이 대장동 개발사업의 개략적인 내용을 이해하는데 가장 적합하다고 판단했습니다. 관심있는 분들은 길지 않으니 시간되시면 동영상을 한번 시청해 보세요. <br /> <br />동영상은 벌써 2년 전에 올려놓았던 콘텐츠네요. <br />======================================================================= <br /> <br /><iframe width="800" height="450" src="https://www.youtube.com/embed/-BMKm86eI64?si=r3i1qtyAUVY7xnCY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 26일 Tuesday PM 05:07:36 이윤찬 Tue, 26 Sep 2023 17:07:36 +0900 0 https://www.blrun.net/bbs/zboard.php?id=cap1&no=776 스크랩 > 첨언 이윤찬 - CJ대한통운 택배 앱에서 왜 아이폰13 바탕화면 아이콘의 빨간색 동그라미 원이 사라지지 않나요? https://www.blrun.net/bbs/zboard.php?id=chat1&no=29 요새 계속 그런데 저번에 대한통운에 전화해서 문제점을 알려주는 과정에서 통화대기 중에 동그라미가 사라져서 상담사한테 마저 이 내용 전달하고 끊었는데 요새 또 다시 이 증상이 발생하고 있네요. <br />이 문제는 왜 고질적으로 약방의 감초처럼 발생해 저번에 인스타그램 앱 삭제했던 경우처럼 유저들 괴롭히는지 아시는 분 계신가요? <br /> <br />[대한통운 아이폰13 앱 바탕화면 아이콘에서 빨간색 동그라미가 내용을 다 뒤집어 봐도 사라지지 않는 문제가 요새 계속 발생합니다] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/IMG_8133.png' align='' width='960' height='2079' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 26일 Tuesday AM 05:12:42 이윤찬 Tue, 26 Sep 2023 05:12:42 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=29 이윤찬 - 오늘 새벽에 일어나기 전엔 꿈에서 오래 전에 고장나서 보관하고 있다 버린 AMD MP 듀얼CPU 본체를 제 방 베란다 쪽에 놓고 걱정하는 꿈을 꾸었네요. https://www.blrun.net/bbs/zboard.php?id=chat1&no=28 제 방 베란다 쪽에 그 본체를 놓고 비가 오면 습기차서 본체가 고장나는데 하면서 걱정하는 꿈을 꿨네요. 벌써 오래 전에 분해해서 버린 그 본체를요. <br />또 일전에 저희 아파트 어느 분이 컴퓨터 점검 의뢰하실 때 팔았던 다른 본체 한 대도 이미 없는 상태인데 그 본체도 꿈에 나타났네요. 저를 거쳐간 본체가 아주 많은데 그게 이상하게 오늘 새벽에 깨어나기 전 꿈에 나타났다는 거지요. 사람이나 예전에 공부하던 시절이 꿈에 나타날 때가 있지만 이렇게 컴퓨터 본체가 나타나기는 또 첨이네요. -_-; <br /> <br />또 메인보드가 말썽이 생겨 분해해서 버린 케이스가 또 한대 있는데 그건 깨어나서 생각이 났습니다. ^^; 뇌가 오래 전 기억을 더듬는 습성이 있나 봐요.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 26일 Tuesday AM 03:42:51 이윤찬 Tue, 26 Sep 2023 03:42:51 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=28 이윤찬 - 아이폰13에서 네이버 앱으로 다음과 같이 편한가계부 사용자 카페에서 의견을 좀 달으려고 했는데 이게 커서 위치 탐색이 안되는 게 너무 불편하네요. 아직까지 이 문제는 이렇게 방치되고 있네요. ㅡ_ㅡ https://www.blrun.net/bbs/zboard.php?id=blog1&no=3553 네이버 앱 문제인지 아이폰13 문제인지 아래 네이버 사용자 카페에서 건의사항 덧글을 수정하는데 원하는 위치로 게이지 탐색이 안돼서 너무 불편했습니다. <br /> <br />애플 아이폰13의 기능이 이렇다는 게 너무나 한숨스럽습니다. 이용자들 골탕먹이는 이런 작태는 하루빨리 척결돼야 하는데 네이버든 애플이든 좀 뜨거운 맛을 봐야 정신을 차리지 않을까 싶습니다. <br />ㅡ_ㅡ <br /> <br />제가 편한가계부 네이버 이용자 카페에서 건의했던 내용은 아래와 같습니다. <br /> <br />출처 - <a href=https://cafe.naver.com/cashbook/59782 target=_blank>https://cafe.naver.com/cashbook/59782 </a><br /> <br />[그림1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%BF%C0%B4%C3_%C6%ED%C7%D1%B0%A1%B0%E8%BA%CE_PC_%B0%A1%B0%E8%BA%CE_%B5%BF%B1%E2%C8%AD_1%B3%E2_%B1%B8%B5%B6%C0%BB_%C3%B3%C0%BD_%BD%C5%C3%BB%C7%CF%BF%B4%B4%C2%B5%A5%BF%E4_%C0%CC%B0%D4_2%B0%B3_%B0%E8%C1%A4_%C1%DF%BF%A1_%C7%D1_%B0%B3_%B0%E8%C1%A4%BF%A1%B8%B8_%C0%FB%BF%EB%C0%CC_%B5%C7%BE%FA%B4%C2%B5%A5_%C0%CC%B0%CD_2%B0%B3_%B0%E8%C1%A4_%B8%F0%B5%CE_PC_%B0%A1%B0%E8%BA%CE_%C1%A6%C7%D1%BE%F8%C0%CC_%BB%E7%BF%EB%C7%D2_%BC%F6_%C0%D6%B0%D4_%C7%D8%C1%D6%BD%C3%B8%E9_%BE%C8%B5%C7%B3%AA%BF%E4_%B3%D7%C0%CC%B9%F6_%C4%AB%C6%E4.png' align='' width='1211' height='2238' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 25일 Monday AM 05:53:03 이윤찬 Mon, 25 Sep 2023 05:53:03 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3553 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - 쿠쿠 전기밥솥 4년 남짓 쓰다 내솥 코팅 벗겨지고 메인보드 에러나는 것 오늘 작은누나가 와서 엄마랑 차 타고 낙성대역 1번 출구에 있는 서비스센터로 가져갔는데 수리비가 22만원 든다고 해서 도로 가져왔습니다. 근데 이 모델 새 제품이 인터넷에서 약 23만원 하는데 현실적으로 수리 비용이 너무 많이 드네요. https://www.blrun.net/bbs/zboard.php?id=chat1&no=27 처음에는 그려려니 했는데 수리비가 사실상 새 제품 구입 가격과 거의 나지 않아 좀 불합리하다는 생각이 들었네요. <br />봉천역 인근 서비스센터도 낙성대역 근처로 이사가고 교통편도 불편해 제가 8kg이나 나가는 무거운 것 들고 가는 게 부담이 돼서 누나가 우리집에 온 김에 간 거였는데 누나 말로는 우리 아파트 정문에서 한번에 가는 맞춤형 버스가 있다지만 배차 간격도 불확실해서 그곳 주차장도 없어서 주차하기 힘들다는데 힘들게 찾아갔다가 헛탕만 치고 돌아왔네요. <br /> <br />암튼 좀 그렇네요.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 23일 Saturday PM 01:37:23 이윤찬 Sat, 23 Sep 2023 13:37:23 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=27 이윤찬 - 저희 회사가 PHP 소스로 이용하는 sms17.com 문자 메시지 서비스 보면 메시지 배달이 너무 늦고 중복적으로 메시지를 배달하는 케이스도 간혹 발생합니다. https://www.blrun.net/bbs/zboard.php?id=chat1&no=26 이것 왜 그러냐고 고객센터에 전화해서 시정을 요구하면 그 사람들 통신회사에서 그러는 거라고 발뺌을 하는데 드랍박스 2단계 인증할 때 문자 메시지 오는 것 보면 정말 번개같이 인증 문자가 도착하는데 유료 서비스가 이렇게 메시지가 늦게 도착하는 건 굉장히 큰 문제가 있는데 최근에 메시지 배달 속도가 더 느려져서 정말 짜증이 날 정도입니다. <br /> <br />이것 다시 따지면 정 불만이시면 다른 회사 서비스 이용하라고 배째라는 식으로 이야기하는데 정말 서비스 정신이 바닥 수준입니다. 이런 식으로 영업하는 회사가 간혹 있는데 정말 마음에 들지 않습니다. 이곳에 방문하는 개발자 분들 중엔 그런 회사 혹시 보신 적 없으신지... 왕 짜증납니다. <br />ㅡ_ㅡ <br /> <br />이게 문제인 게 번호 인증 같은 거 할 때 이용자들이 메시지가 늦게 오면 여러번 인증 문자를 발송하게 되는데 그렇게 해서 중복 과금을 매길 수 있기 때문인데 너무나 속보이고 노골적이어서 엄청 기분이 나쁘고 이해가 가질 않았거든요. 게다가 똑같은 서비스 알림 메시지를 두 번씩 보내는 건 명백히 사기잖아요.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 17일 Sunday PM 05:08:50 이윤찬 Sun, 17 Sep 2023 17:08:50 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=26 이윤찬 - 지금 저희 집 LG 유플러스 인터넷이 계속 먹통이네요. 카톡 이용하다 먹통이 됐는데 지금 스마트폰으로 카톡 쓰면서 챗 게시판 글 작성하고 있네요. https://www.blrun.net/bbs/zboard.php?id=chat1&no=25 아까부터 카톡 채팅창이 열리지 않는 증상이 발생하더니 조금 전 완전 먹통이 됐습니다. 그래서 스마트폰으로 카톡을 이용하면서 이 챗 게시판에 글을 작성하고 있는데 유플러스 인터넷이 한동안 이런 일이 없다가 오늘 크게 한번 터지네요? <br /> <br />혹 해커가 날라오는 메시지 받기 싫어서 네트워크를 먹통 만들어 놓은 건 아닐까요? ㅋㅋ <br /> <br />아무래도 그것 때문이라는 생각이...<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 17일 Sunday PM 02:36:12 이윤찬 Sun, 17 Sep 2023 14:36:12 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=25 이윤찬 - 오늘 유튜브 "연금박사" 에서 소득공제 후 세액공제 받지 않은 사람들은 나중에 국민연금 받을 때 세금을 그만큼 덜 낸다는 내용이 나와있어서 혹하고 다음과 같이 내용을 살펴봤는데... ㅋㅋ https://www.blrun.net/bbs/zboard.php?id=chat1&no=24 아래와 같이 "공적연금 소득공제액" 이란 1년 전체 소득에서 해당 공제액을 제하고 세액을 산출하는 중간 과정의 요소인데 소득이 적은 사람들은 소득구간 세율이 작기 때문에 그만큼 환급받아야할 세액이 적다는 것이고 그만큼을 당시에 안 돌려 받았어도 추후에 국민연금(or 노령연금) 받을 때 세금을 덜 내는 액수가 미미할 수 있다는 사실을 알았습니다. ㅋㅋ <br /> <br />그래도 액수가 궁금해서 오늘 알아본 거였는데 아무래도 카톡 AskUp이 가장 잘 내용을 이해하기 쉽게 설명해 주었네요. 그래도 소득이 많으신 분들 중에 혹 소득공제를 받지 않으셨다고 하면 아래 유튜브 내용을 유심히 살펴보시고 "연금보험료등 소득·세액공제확인서" 도 한번 떼 보세요. 오늘 저도 한번 허투로 떼어 봤습니다. <br /> <br />여기서 핵심 내용은 확인서에 나타나 있는 "공적연금 소득공제액" 이 환급받아야하는 전체 금액이 아니라 전체 소득에서 이 금액을 제한 후 세액을 산출해 그 차액만큼을 환급받을 수 있다는 개념입니다. ^^; <br /> <br />"혹시나" 했는데 "역시나" 지만 소득이 적은 분들이라도 오랜 기간 동안 소득공제를 받지 않으신 분들 역시 국민연금공단에 해당 내용을 확인해 보는 것도 나쁘지 않을 듯 싶습니다. <br /> <br />https://youtu.be/cXM5vOX3qcM?si=L4Cu3KrN5K_Ye_NG <br /> <br />[AskUp이 "연금보험료등 소득·세액공제확인서" 에 나타난 "공적연금 소득공제액" 과 세금 환급에 대해서 설명해 준 내용] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%B0%F8%C0%FB%BF%AC%B1%DD_%BC%D2%B5%E6%B0%F8%C1%A6%BE%D7%C0%CC%B6%F5.png' align='' width='1920' height='1080' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 16일 Saturday PM 06:10:59 이윤찬 Sat, 16 Sep 2023 18:10:59 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=24 이윤찬 - 삼성산주공.apti.co.kr 에서 관리사무소가 올린 마을 변호사 관련 이미지가 흐릿하게 보여서 방금 전화해서 다시 올려달라고 전화했는데 직원 말이 300dpi에서 600dpi로 해상도를 올려도 마찬가지로 그 정도 밖에 안보인다고 해서 제가 1층 게시판의 출력용지를 가져다가 600dpi 해상도로 스캔해 봤는데... https://www.blrun.net/bbs/zboard.php?id=chat1&no=23 <a href=http://삼성산주공.apti.co.kr target=_blank>http://삼성산주공.apti.co.kr</a> 에다 관리사무소가 올린 마을 변호사 관련 이미지가 흐릿하게 보여서 방금 그쪽에 전화해서 다시 올려달라고 했더니 30분 있다가 연락 온 직원 말이 300dpi에서 600dpi로 해상도를 올려도 마찬가지로 그 정도 밖에 뚜렷이 안보인다고 해서 제가 1층 현관 앞에 게시된 종이 출력 게시물을 가져다가 제 L365 복합기를 이용, 600dpi 해상도로 한번 스캔해 봤는데 이게 보니까 원본 스캔 이미지 해상도는 아래와 같이 잘 나오지만 관리사무소가 이미지를 업로할 때마다 <a href=http://삼성산주공.apti.co.kr target=_blank>http://삼성산주공.apti.co.kr</a> 서버를 무료로 운영해 주는 업체가 웹용량을 줄이기 위해 그 과정에서 이미지 해상도를 떨어트려 사이즈를 줄이는 소스를 적용했기 때문이더라구요. <br /> <br />단박에 이 생각이 들었고 처음에 이걸 모르고 전 또 관리사무소가 스캔을 잘못한 줄 알고 재차 업로드를 요구한 거였는데 암튼 제가 스캔 뜬 이미지를 아래 <a href=http://삼성산뜨란채.kr target=_blank>http://삼성산뜨란채.kr</a> 홈페이지 공지게시판에 다시 업로드해 놓았고 여기 챗 게시판에도 링크 이미지로 업로드해 드리니 혹시 필요하신 분은 이미지에 대고 우클릭 후 "다른 이름으로 이미지 저장" 을 클릭하여 다운로드 받으시기 바랍니다. <br /> <br />https://bit.ly/3EBAmvl <br /> <br /><a href="https://blrun.cdn2.cafe24.com/law1.jpg" target="_blank"><img src="https://blrun.cdn2.cafe24.com/law1.jpg"></a><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 14일 Thursday PM 12:05:49 이윤찬 Thu, 14 Sep 2023 12:05:49 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=23 이윤찬 - 왜 지금 크롬 브라우저에서 이 에러가 뜨면서 트위터가 열리지 않나요? 헐~ (2) https://www.blrun.net/bbs/zboard.php?id=chat1&no=22 왜 지금 크롬 브라우저에서 이 에러가 뜨면서 트위터가 열리지 않나요? 헐~ <br />Bad Message 어쩌구 저쩌구 나오는 것 보면 메시지가 업로드하기에 적절치 못하다고 판단해서 이렇게 나온 게 아닌가 싶기도 한데요. 왜 이런 메시지가 뜨면서 트위터만 열리지 않는지 여러분은 아십니까? MS 뉴엣지 브라우저는 똑같은 상황에서 현재 트위터가 잘 열립니다. <br />ㅡ_ㅡ <br /> <br />[오류 코드: RESULT_CODE_KILLED_BAD_MESSAGE] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%BF%D6_%C5%A9%B7%D2%BF%A1%BC%AD_%C0%CC_%BF%A1%B7%AF%B0%A1_%B6%DF%B8%E9%BC%AD_%C6%AE%C0%A7%C5%CD%B0%A1_%BF%AD%B8%AE%C1%F6_%BE%CA%B3%AA%BF%E4_%C7%E6.png' align='' width='1400' height='1050' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 11일 Monday PM 09:08:42 이윤찬 Mon, 11 Sep 2023 21:08:42 +0900 2 https://www.blrun.net/bbs/zboard.php?id=chat1&no=22 이윤찬 - 오늘 대표님이 들어오시더니 우리 사무실 건물 앞 쪽에 공사 하는 게 뭔줄 아냐고 저한테 물어서 제가 뭐예요 그랬더니 글쎄 서초구청이 대로변도 아닌 골목 이면도로에 자전거 도로를 만들고 있는 거라고 해서 저도 굉장히 황당했습니다. (2) https://www.blrun.net/bbs/zboard.php?id=chat1&no=21 대표님 말은 요새 같은 어려운 시국에 서초구청이 돈이 튀는지 더 소중한 데 써야할 돈을 골목길 이면도로에 자전거 도로 만든다고 주차도 못하게 길을 파헤치고 콘크리트 공사하는 게 도무지 이해가 안간다고 해서 제가 아까 출근하고 나서부터 다다다다 시끄럽게 콘크리트 부수는 공사를 하고 있더니만 그것 때문에 그런 거냐고 반문하고 나서 정말 그러네요 대로변도 아니고 골목길 이면도로에 왠 자전거 도로냐고 아주 나쁜 놈들이네요 그랬더니 대표님이 혀를 끌끌 차시는 게 화가 좀 나신 것 같더라구요. <br /> <br />그래서 제가 서울시인가 어디에서 서울에 자전거 길을 촘촘히 만들겠다는 구상을 발표한 걸 들었는데 그 일환일지도 모른다는 말을 했는데 공사 주체는 서초구청이라는 말을 듣고 이 자식들 안되겠네 하는 생각이 들면서 역시 공무원들은 다 똑같애 라는 생각을 했네요. <br /> <br />여러분도 저희 회사 근처에 있었던 일이지만 굉장히 황당하지 않나요? 예전에도 아래 링크와 같은 내용을 전한 적이 있어서 아까 그 얘기 듣고 저도 씁쓸했는데 공사 내용을 모르고 있었던 걸 대표님이 알아가지고 오셔서 저한테 얘기해 주셔서 알았지만 저도 그 얘기 듣고 순간적으로 속으로 "또 예산낭비 시작됐구만" 했네요. <br />ㅡ_ㅡ <br /> <br />&lt;추신&gt; <br />두 번째 덧글에서 시공사가 엉터리 보도블럭 공사를 하고 공무원들이 멀쩡한 보도블럭을 교체하는 이유가 시민들을 위해서가 아니라 공사를 하는 시공사와의 계약의 산물이다란 속성에 치중하다 보니 그런 세부 지침은 그런 식으로 내팽개쳐지고 거기서 나오는 잇권 챙기기에만 골몰한 결과가 아닌가 싶더라구요. 참으로 공공의 역할이 실종된 타락한 행정이요 담당 공무원들의 실종된 개념 탑재인 셈입니다. 가뜩이나 요사이 같은 어려운 시기에 이런 개념을 탑재한 서초구청에서 이 따위 공사를 하고 있으니 대표님이 화가 단단히 나실 이유가 충분히 있었던 겁니다. <br /> <br />https://bit.ly/2SKoYVr <br />https://bit.ly/3hDw3XW<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 11일 Monday PM 06:43:48 이윤찬 Mon, 11 Sep 2023 18:43:48 +0900 2 https://www.blrun.net/bbs/zboard.php?id=chat1&no=21 이윤찬 - 헐~ 유튜브에서 요새 가끔 이런 영상 올라오는데 이렇게 안 위험한 은행 없는 걸로 은행 위험 조장하는 의도가 무엇인지 너무 속보이네요. 이런 영상이 추천 영상으로 올라온다는 게 유튜브가 요새 이상해졌다는 반증이 아닐런지... ㅡ_ㅡ https://www.blrun.net/bbs/zboard.php?id=chat1&no=20 헐~ 유튜브에서 요새 가끔 이런 영상 올라오는데 이렇게 안 위험한 은행 없는 걸로 은행 위험 조장하는 의도가 무엇인지 너무 속보이네요.(주: 아마도 조회수 올리기 목적이 아닐까 싶습니다) 이런 영상이 추천 영상으로 올라온다는 게 유튜브가 요새 이상해졌다는 반증이 아닐런지... ㅡ_ㅡ <br /> <br />너무 무책임하네요. 일부러 시중 은행들 위기로 몰아가겠다는 뜻인지 이런 영상은 좀 안봤으면 좋겠습니다. 역시 유튜브는 뭔가 위험한 구석이 있습니다. 지난 대선 때도 특정 우익 유튜브 노출 몰아주더니 이젠 시중 은행 앞 뒤 안보고 다 위험하다는 식으로 이런 영상 홍보해 주고 있네요. 전 이 동영상 안봤지만 제목 부터가 마음에 안들어 패스했습니다. 시중에 있는 모든 은행들을 거의 다 나열해 놓고 있잖아요. ㅋㅋ <br /> <br />관련 덧글 - <a href=https://bit.ly/3piM8Xg target=_blank>https://bit.ly/3piM8Xg </a><br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C0%CC%B7%B8%B0%D4_%BE%C8_%C0%A7%C7%E8%C7%D1_%C0%BA%C7%E0_%BE%F8%B4%C2_%B0%C9%B7%CE_%C0%BA%C7%E0_%C0%A7%C7%E8_%C1%B6%C0%E5%C7%CF%B4%C2_%C0%C7%B5%B5%B0%A1_%B9%AB%BE%F9%C0%CE%C1%F6_%C7%E6.png' align='' width='1280' height='1024' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 11일 Monday AM 06:10:39 이윤찬 Mon, 11 Sep 2023 06:10:39 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=20 이윤찬 - 오늘 오후 1시 40분 쯤에 집에 도착해서 양치질하고 낮잠 좀 자고 친구 일체형 컴 건네주면서 얘기 좀 하고 아버지랑 기억력 관련해서 이야기 하고 오후 4시 되어 윗몸일으키기+팔굽혀펴기 하고 산책 갔다오고 나서 어영구영 했더니 벌써 오후 5시가 넘어버렸네요 헐~ https://www.blrun.net/bbs/zboard.php?id=chat1&no=19 이렇듯 시간이 물새듯이 막 빠져나가는 것 같아 은근 걱정이 되기도 합니다. 어제 자다가 자정 넘어서 깨어 친구 건네 줄 일체형 컴퓨터 켜서 좀 사용해 보고 새벽까지 제 사이트 "컴퓨터 관리대장" PHP 게시판 역슬래쉬 표현 안되는 것 소스 고치느라 잠을 못잤는데 낮잠 약간 자서 좀 낫지만 아까는 엄청 피곤했었습니다. 그렇게 오후 시간이 비몽사몽 간에 다 흘러가 버렸네요. <br />ㅡ_ㅡ <br /> <br />뭔가 시간을 계획성 있게 보낼 필요가 있다는 생각이 드는데 누구는 그랬다죠? 인생을 멍때리면서 살 필요도 있다구요. ㅋㅋ<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 06일 Wednesday PM 05:25:42 이윤찬 Wed, 06 Sep 2023 17:25:42 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=19 이윤찬 - 삼성산뜨란채.kr/m/main.php 는 삼성산뜨란채.kr/main2.php 로 위치가 변경됐는데 왜 자꾸 구글 웹마스터 도구에선 이 파일을 자꾸 404 에러로 찾을 수 없는 페이지라고 보고하나요? 짜증나네요. (1) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3533 이 보고가 자꾸 와서 제가 sitemap.xml 파일을 다시 생성해 업데이트 한 후 구글 웹마스터 도구에 적용해 줬는데 심사할 동안 기다려 달라고 하더니만 아래 그림과 같이 또 해당 위치의 파일을 찾으면서 파일이 여전히 발견되지 않는다고 헛다리를 짚으며 보고 알림을 보내왔는데 좀 짜증이 나네요. 뭔가 웹마스터 도구 로봇 심사 알고리즘이 잘못됐는데 구글은 이 글을 보면 서둘러 해당 문제점을 고쳐주세요. <br /> <br />삼성산뜨란채.kr/m/main.php 파일은 삼성산뜨란채.kr/main2.php 로 파일 이름과 위치가 변경됐다구요. <br /> <br />[그림1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%B8%F0%B9%D9%C0%CF_%B8%DE%C0%CE_%C6%E4%C0%CC%C1%F6_%C0%A7%C4%A1%B0%A1_%BA%AF%B0%E6%B5%C6%B4%C2%B5%A5_%B1%B8%B1%DB_%C0%A5%B8%B6%BD%BA%C5%CD_%B5%B5%B1%B8%BF%A1%BC%AD_%C0%DA%B2%D9_%C7%D8%B4%E7_%C0%A7%C4%A1%B8%A6_%C3%A3%C0%BB_%BC%F6_%BE%F8%B4%D9%B0%ED_%BA%B8%B0%ED%B0%A1_%BF%C0%B3%D7%BF%E4_%C7%E6.png' align='' width='1400' height='1050' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 05일 Tuesday PM 08:27:23 이윤찬 Tue, 05 Sep 2023 20:27:23 +0900 1 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3533 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - 애플의 사후 지원 불량에 관한 네이트 기사를 보고 작성한 덧글.... https://www.blrun.net/bbs/zboard.php?id=chat1&no=18 관련기사 - <a href=https://news.nate.com/view/20230830n06747?mid=n0600 target=_blank>https://news.nate.com/view/20230830n06747?mid=n0600 </a><br /> <br />아이팟터치4세대, 아이폰6, 아이폰SE 2세대 사고나서 일주일 내 환불, 아이폰13 까지 사용하고 나니 애플의 정체성이 좀 이해가 간다. 사용감은 좀 맛나지만 구체적인 디테일로 들어가면 많이 사용하는 기능에 고의인지 아닌지 깐작깐작 괴롭히는 버그가 상당히 많고 결정적인 게 볼륨 크기나 특정 메뉴 보임, 특정 기능 사용에 있어 사용자 스마트폰을 임의대로 제어하는 각종 플래그 스위치들의 동작 때문에 극도의 스트레스를 받는 일이 다반사로 벌어진다는 점. 이는 잠잠하다가도 언제든지 다시 고개를 들 여지가 있고 계속 요청을 해도 일부러 그러는지 여태까지 해소되지 못한 버그가 많음.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 05일 Tuesday AM 06:43:41 이윤찬 Tue, 05 Sep 2023 06:43:41 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=18 이윤찬 - 오늘 쿠팡에서 두유 96개를 주문했는데 결제 하고 나서 판매점에 남긴 배송 관련 전달 사항을 쿠팡 AI가 판매점에 전달하지 않고 알 수 없는 위치로 문의하라는데 그게 메뉴에 구비돼 있지 않아 고객센터에 전활 했더니... 헐~ (1) https://www.blrun.net/bbs/zboard.php?id=chat1&no=17 두유 96개를 주문 결제 완료하고 나서 "○○○○○○○ 상품 주문결제 완료했으니 확실한 제품 보내주세요" 라고 판매점에 한번 더 배송관련 절달사항을 적어 해당 상품 "문의하기" 란에 남겼는데 이게 [그림1]과 같이 쿠팡 AI에 의해 판매점에 전달되지 않고 어느 위치로 문의하라는데 거길 가봤는데 거긴 FAQ만 잔뜩 나와있지 따로 배송관련 전달 사항을 말할 수 있는 곳이 아니라서 뭔가 이상해서 바로 쿠팡 고객센터에 전활 해봤더니 어느 여성 상담사 전활 받았고 제가 자초지정을 얘기하자 자기가 올바른 위치를 메시지로 전달해주겠다고 해서 그런가보다 하고 알았다고 하고 전화를 끊었는데 스마트폰으로 날라온 메시지를 봤더니 <br /> <br />헐~ 아래 [쿠팡]과 같은 문자 메시지가 와서 이게 어디에 배송 관련 요청 사항을 남기라는 거야 하고 마이 쿠팡을 한참을 찾아봐도 안보이고 비슷하게 발견한 해당 메뉴는 "배송요청사항 변경" 이라고 택배 아저씨한테 전달하는 내용을 변경(주: 즉 직접 수령하고 부재시 경비실)하는 메뉴여서 아무래도 낌새가 이상해 쿠팡 얘네들이 나같이 로캣배송 상품에 배송관련 내용을 쓰는 이용자들 물먹이고자 하는 메시지 같아서 바로 고객센터에 다시 전화했더니 다른 여성 상담사 전활 받더니 이 주문은 로켓배송 상품이라 따로 배송 문의를 하지 않아도 내일 물건이 도착한다고 해서 아니 제가 그걸 말하는게 아니라 예전엔 따로 판매점에 배송 관련 전달 사항을 적으면 상품문의 쪽에 바로 올라가 얼마 후 답변이 달렸는데 이번에 시스템이 좀 바뀐 것 같아서 일부러 전활 드린 거다 라고 말하고 아까 전화받은 상담사가 전송한 메시지를 확인해 보시면 알겠지만 꼭 저 같이 이용하는 이용자들 엿먹이려고 하는 것처럼 이상한 영문 문자에다 최대한 제가 비슷한 메뉴를 들어가봐도 배송관련 내용을 쓸 곳은 없었다 라고 했더니, 떡 줄 사람은 생각도 없다는 옛말처럼 제가 나쁜 말 한 것도 없는데 미리부터 통화 내용이 지금 녹음되고 있다고 저속한 표현은 자제해 달라고 해서 욕도 하는데 제가 뭐라고 했냐고 계속 말을 이어갔는데 상담사 반복하는 말이 기본적으로 로켓배송 상품엔 이용자들이 상품문의 쪽에 배송관련 의견을 남겨도 이런 식으로 AI가 해당 요청 사항을 판매점한테 전달하지 않고 [그림1]과 같은 답변이 달린다는 겁니다. <br /> <br />그것도 이해가 안되지만 제가 말씀드리고 싶은 것은 뭔가 일부러 이용자가 작성하는 문의와 답변 처리 과정에서 그 안내가 명확하지 않은 점을 건의를 드리는 거다라고 했더니 그 상담사 실무자에게 전달은 하겠다는 말을 하고 나서 계속 똑같은 설명을 하는 걸 어머니가 옆에서 스피커폰으로 다 들으시고는 상담사에게 자기는 그 두유 안먹어도 좋으니 막무가내로 취소를 해달라고 하시더라구요. <br /> <br />저도 마치 배알이 꼴려서 알 수 없는 개악을 만들어 놓은 것 같은 쿠팡의 시스템과 그걸 설명하는 상담사가 도무지 이해가 되지 않아서 마지막에 말하길 쿠팡이 애초부터 로켓배송 상품은 배송관련 내용을 전달할 수 없다는 방침을 가지고 상품문의 창구를 운용해 이용자가 힘들게 작성한 배송관련 내용이 전달이 안되어 헛수고를 하게 만드는 시스템 자체가 이해가 안된다고 했고 사전에 충분한 안내와 프로그램 처리 과정이 부족했고 AI 답변에 실제로 존재하지 않는 알 수 없는 경로를 안내하여 이용자를 두 번 혼돈에 빠트린 점은 분명히 문제가 있는데 상담사분은 계속 시스템을 두둔하는 말씀을 하시면 어떡하냐고 말을 전하고 어차피 두유는 어머니가 많이 드시는 거라 어머니가 취소해 달라고 하시니 취소할 수는 있는 거냐고 하니까 상담사 왈 주문자가 본인이냐고 묻더니 "마이쿠팡 &gt; 주문목록" 에서 "취소요청" 을 누르시면 된다고 해서 바로 취소를 누르고 전화를 끊었네요. <br /> <br />요새 쿠팡이 어려운 건 잘 알고 있지만 잘못된 시스템은 고쳐야지 이대로 방치하고 고집하는 건 분명히 아닌 것 같아서 이렇게 챗 게시판에 있었던 일을 작성하게 되었습니다. <br /> <br />여러분은 들어보니 어떠신가요? 쿠팡이 확실히 잘못하고 분명히 문제가 있어 보이시죠? 왜 잘 나가다가 이렇게 삼천포로 빠지는지 모르겠네요. <br />ㅡ_ㅡ <br /> <br />[그림1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C4%ED%C6%CE_%BB%F3%C7%B0%B9%AE%C0%C7%28%B9%E8%BC%DB%B9%AE%C0%C7%29_%B0%FC%B7%C3_%B9%AE%C0%C7_AI_%C0%DA%B5%BF_%BA%D0%B7%F9_%C0%CC%C0%C7.png' align='' width='616' height='573' vspace='0' hspace='0' border='1'> <br />============================================== <br /> <br />[쿠팡] <br />[Web발신] <br />안녕하세요. 고객님, 쿠팡고객센터입니다. <br /> <br />- [AHRI &gt; 주문자/배송지 &gt; 배송요청사항 &gt; 변경] <br />3<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 04일 Monday PM 08:18:32 이윤찬 Mon, 04 Sep 2023 20:18:32 +0900 1 https://www.blrun.net/bbs/zboard.php?id=chat1&no=17 이윤찬 - 이게 제 FX-4100 주컴에 상주돼 있는 프로세스들인데 여기에 대한 분석이 좀 필요할 듯 싶습니다. 요새 발생하는 문제가 이 프로그램 때문은 아니겠지요? 모르죠 간혹 수상한 짓을 하고 있는지도요. (2) https://www.blrun.net/bbs/zboard.php?id=chat1&no=16 윈도우즈10은 자체 보안 프로그램이 랜섬웨어나 악성코드를 방지한다고 많이 홍보하지만 인터넷에서 다운받은 프로그램을 계속 설치하다 보면 이렇듯 수많은 램상주 프로세스들이 상주가 되면서 윈도우즈 시작시 메모리에 로드가 되고 보시는 것처럼 실시간으로 이 놈들이 CPU 처리 속도를 사용하면서 공간을 차지하고 있기 때문에 평소 이 놈들이 무슨 역할을 하는지 등 유심히 살펴봐야 하는데 이게 숫자가 많아서 제대로 파악하기는 쉽지 않습니다. <br /> <br />아래는 [그림1] 시작 프로그램으로 등록된 프로세스와 [그림2] 현재 백그라운드로 실행 중인 프로세스 목록을 나타낸 건데 여기서 눈에 띄는 것들만 빨간색 사각형으로 표시했습니다. <br /> <br />뉴엣지 브라우저는 실행도 안했는데 작업관리자에서 백그라운드로 상주돼 있는 프로세스들이 많이 있네요? <br /> <br />[그림1 - 작업관리자 시작 프로그램] <br /><img src="https://blrun.cdn2.cafe24.com/start_process1.png"> <br /> <br />[그림2 - 작업관리자 백그라운드 프로세스 주요 프로그램] <br /><img src="https://blrun.cdn2.cafe24.com/back_process1.png"><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 03일 Sunday AM 09:30:10 이윤찬 Sun, 03 Sep 2023 09:30:10 +0900 2 https://www.blrun.net/bbs/zboard.php?id=chat1&no=16 이윤찬 - 오늘 친구 일체형 컴 모델 VD960-UX30K 의 HDD를 SSD로 교체해 달라는 부탁을 받고 알게 된 사실... 정말 평소 제가 지적했던 게 다 맞았습니다. (5) https://www.blrun.net/bbs/zboard.php?id=chat1&no=15 오늘 친구 일체형 컴 모델 VD960-UX30K 의 기존 HDD 750GB를 SSD로 교체할 수 있는지 부탁을 받고 오늘 이걸 밑판의 나사를 풀어봤는데 mSATA 라고 다른 방식의 SSD를 장착할 수 있게 돼 있는데 반해 정작 750GB 도시바 HDD는 보이지 않아서 추후에 LG 고객센터에 전화해서 도시바 HDD를 SSD로 교체하려면 어떻게 해야 하는지를 문의해 볼 예정인데 다시 밑판을 끼고 나사를 조이고 나서 부팅해 보니 윈도우즈7가 정상적으로 단박에 엄청 느리게 부팅이 됐고 친구가 거기에 들어있는 데이타를 일단 다 삭제해 달라고 해서 "C:\Users\내계정" 폴더의 데이타들을 몽땅 삭제하는 과정에서 하드라 느려서 그렇지 정상적으로 제거가 무난하게 되어서 아무래도 기기는 이상이 없는 것 같아서 그길로 프로그램 추가/제거로 오피스와 PDF 프로그램, 드라이버, 윈도우즈 관련 프로그램만 빼고 보안 프로그램 등 몽땅 제거해 봤는데 인터넷이 연결이 안된 상태에서 정상적으로 무난하게 다 제거가 되더라구요. <br /> <br />그래서 헐~ 이상이 없네 하면서 제거가 끝난 후 윈도우즈7을 재부팅해 보았고 로그인 까지는 얼마 안걸리는데 바탕화면 까지 좀 느리긴 하지만 정상적으로 부팅이 됐고 안들리던 일체형 컴 상황음도 프로그램 몇 개 제거하고 나서 부터는 잘 들렸기 때문에 기기에는 전혀 이상이 없음을 다시한번 인지하게 되었습니다. 하여 곧바로 와이파이로 저희 집 AP에 접속 연결해 봤는데 바로 연결이 됐고 부팅 중엔 인터넷 연결 아이콘에서 윈도우즈7의 빙글빙글 도는 아이콘 있잖아요 그렇게 연결완료 까지는 좀 늦는 것 같긴 해도 무선 연결에도 전혀 이상이 없었습니다. <br /> <br />그 뒤 친구가 깔아놓은 크롬 브라우저와 네이버 웨일 브라우저를 한번 실행해 보니 헐~ 크롬은 어떤 status_breakpoint 오류가 보이면서 사이트가 열리지 않았고 네이버 웨일 브라우저는 주소표시줄에 보안서버인증서 자물쇠와 그 밑에 하얀 백지가 보이면서 역시 사이트가 열리지를 않더라구요.(프레임셋으로 돼 있는 제 사이트만 열어보고 다른 사이트는 열어보지 않았습니다. 크롬은 구글 홈페이지도 열리지 않더라구요) <br /> <br />그래서 웨일 브라우저도 열리지 않는 걸 보면 LG나 MS가 윈도우즈7 동작에 있어 브라우저를 아예 사용하지 못하게 이렇게 고장을 만들어놓았다는 걸 알았습니다. <br /> <br />친구한테는 LG 고객센터에서 이 일체형 컴은 윈도우즈8.1 까지만 설치 가능하지만 MS 지원이 공식적으로 중단됐으니 윈도우즈10을 설치하더라도 공식 드라이버 제공을 안하기 때문에 동작은 보장 못한다고 해서 3D Chip 같은 드라이버 설치 프로그램을 이용해 설치 시도는 해볼 수 있지만 기능이 잘 안될 수 있다고 담당자가 말한 내용을 전해주고 현재 상황에서 시도해 볼 수 있는 건 이 본체의 도시바 750GB HDD가 설치돼 있는 상태로 윈도우즈10을 설치해 보고 이상이 없으면 mSATA SSD를 달아 복제하는 방법이 있다고 전했더니 친구가 그렇게 해보자고 하여 지금 시간날 때 이 작업을 이어서 하려고 하는데 램도 8GB로 좋은 컴인데 이렇게 소프트웨어가 구동이 안돼 친구가 이 좋은 PC를 버리려는 걸 저한테 가져오라고 한 것이거든요. <br /> <br />친구가 본체 쓴 걸 보니까 프로그램 제거가 다 잘 되는 것 보니까 정상적으로 윈도우즈와 프로그램은 잘 사용했고 이후 제가 프로그램을 몽땅 제거한 상태이기 때문에 범인은 LG 아니면 MS(마이크로소프트), 브라우저 회사밖에 없거든요. 근데 웨일 브라우저도 그런 것 보고 제가 LG나 MS를 의심하고 있는 거거든요. <br /> <br />오늘 친구 일체형 컴터 점검하면서 평소 개탄스럽게 생각하는 점들을 다시한번 상기한 계기가 되었는데 이렇게 여러분께 톡 게시판에 오늘 있었던 내용을 정리해 올려 드립니다. <br />ㅡ_ㅡ <br /> <br />&lt;추신&gt; <br />이게 HDTV도 케이블을 연결하면 윈도우즈10과는 별개로 따로 시청할 수 있는 화면이 넓고 크며 좋은 LG 일체형 컴이거든요.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 02일 Saturday PM 05:44:54 이윤찬 Sat, 02 Sep 2023 17:44:54 +0900 5 https://www.blrun.net/bbs/zboard.php?id=chat1&no=15 이윤찬 - 꿈에 베트남 공산당에 어떤 큰 재난이 발생했는데 그걸 각 가구주들이 모여서 일정 쿼터의 지분을 투표로 모아 해결하는 방식의 현장을 목격했습니다. https://www.blrun.net/bbs/zboard.php?id=chat1&no=14 꿈에 얘네들이 국회의 국회의원들이 모여서 투표를 하여 결정을 하는 현장처럼 뭔가 각 가구주들을 소집해 일정 쿼터의 지분을 모아 그 재난 복구에 사용할 충당량을 만들어 그걸 해소하는 말도 안되는(?) 특이한 제도를 목격했고 한참 있다 우리나라나 미국의 자본주의가 어떻게 돌아가는지 그 메커니즘도 아울러 떠올리게 하는 꿈도 꾸었는데 그건 해당 나라의 구성원이 일을 하면 정부에서 돈이 나오고 그 돈을 가지고 구성원이 경제 활동을 하는 현대의 수정자본주의의 공공근로(or 희망근로 or 뉴딜사업) 같은 시스템으로 국가경제가 돌아가는 그런 꿈이었습니다. ㅋㅋ <br /> <br />즉 현대의 각종 정부 발주 프로젝트나 공사도 다 그런 형태라는 것이고 저소득층이나 사업주에게 지급하는 각종 장려금은 일을 하지 않지만 간접적으로 지급하는 돈이라는 것, 저 같은 사람이 이렇게 각종 글을 쓰면서 다양한 주제와 관련해 생산유발효과를 발휘하는 것은 돈 한 푼 받는 건 아니지만 인터넷이란 통신 인프라를 타고 다른 사람에게 지대한 영향을 미친다는 것, 미국의 MS(마이크로소프트)와 같은 PC 운영체제를 만들어 공급하는 회사 같은 경우는 전 세계의 소비자들이 설사 제품을 구입하지 않아도 미 연방정부의 달러 풀기 같은 정책적 지원으로 결국은 직원들이 고액의 연봉을 받으며 일을 계속할 것이다란 사실, 다른 다국적 美 거대 기업들도 다 그런 생리로 돌아가고 있다는 것, 이런 형태의 국가경제 시스템은 부익부빈익빈의 다소 황폐화될 수 있는 자본주의의 약점을 보완할 수 있기 때문에 현대 국가가 적극적으로 사용하는 중요한 형태로 자리잡았다는 내용 등이 떠올랐네요. <br /> <br />^^; 암튼 다 평소 머릿속에 뜬구름 잡듯 이해하고 있는 개념들이었지만 이렇게 새벽에 깨어 어제 꿨던 꿈들의 내용을 정리해 봤네요. ㅋㅋ<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 09월 01일 Friday AM 03:59:19 이윤찬 Fri, 01 Sep 2023 03:59:19 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=14 이윤찬 - 국회 홈페이지 로그인할 때 통합회원 전환할 거냐고 묻는데 어디랑 통합할 건지도 안나와 있어서 전환한다고 하고 공동인증서 인증을 선택했더니 TouchEn Key 모듈이 설치되고 나서 뉴엣지 브라우저에 에러코드 안내 팝업이 브라우저 실행할 때마다 뜹니다. https://www.blrun.net/bbs/zboard.php?id=chat1&no=13 이 자식들 아래와 같이 어떤 계정과 통합할 건지도 안내하지 않고 무작정 통합회원 좌측에 보이길래 그것 클릭하고 나서 3개 인증 방법 중 2번째 공동인증서 인증을 선택했더니 모듈을 설치하라고 떠서 설치하고 났더니 계속 설치하라고 떠서 국회 홈페이지 담당한테 전화했더니 재부팅하라고 해서 재부팅 후 통합회원 전환 인증에 성공하긴 했는데 뉴엣지 브라우저를 실행할 때마다 에러코드 안내 팝업이 떠서 이것 제거 방법 안내해 달라고 했더니 통합회원 전환에 성공했으면 이 모듈 다시 필요없다고 제거하면 된다고 해서 "프로그래 추가/제거" 에서 제거를 하는 쇼를 했네요. 헐~ <br /> <br />뭔가 엉성하게 국회 홈페이지 통합 로그인 전환을 만들어 놨는데 잠시 당황해서 몇 번 전화를 하는 등 쇼를 했네요. 전화 응대하는 사람들의 태도도 거의 건성이고 이렇게 편법을 두 번이나 연이어 사용해 처리를 하더라구요. <br />ㅡ_ㅡ <br /> <br />&lt;추신&gt; <br />이 통합회원은 국회 내에서만 사용할 수 있는 통합회원이랍니다. ㅋㅋ 그래서 좌측 통합회원 전환 클릭 후 한 개 계정밖에 안보였던 겁니다. <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%B1%B9%C8%B8_%C8%A8%C6%E4%C0%CC%C1%F6_%BE%EE%B6%B2_%B0%E8%C1%A4%B0%FA_%C5%EB%C7%D5%C7%CF%B0%DA%B4%D9%B4%C2_%B0%C7%C1%F6_%A4%BE%A4%BE.png' align='' width='1280' height='1024' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 31일 Thursday PM 04:28:29 이윤찬 Thu, 31 Aug 2023 16:28:29 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=13 이윤찬 - 애플이 구형 아이폰 성능 저하 혐의 때문에 미국에서 각 사용자당 약 3만원 정도씩 전체 6000억 정도를 보상해 줬다는데... (1) https://www.blrun.net/bbs/zboard.php?id=chat1&no=12 이게 제 예전 blog1 게시판 <a href=https://bit.ly/3KSF3Cy target=_blank>https://bit.ly/3KSF3Cy</a> 이 덧글 보셨는지 모르겠지만 이게 카트목록 전체 보기를 해서 측정되는 로딩 소요 시간이 정말 몇 십배로 느려진 정황이 있는데 보상금은 달랑 3만원 정도라는 게 우습더라구요. ㅋㅋ <br /> <br />푼돈 보상해 주고 구형 아이폰6 성능은 이렇게 형편없이 떨어뜨리고 최근엔 브라우저 상단에 모래시계가 뜨면서 로딩이 먹통 지연되는 현상까지 발생하고 있는데 참 그 뉴스 들으니 개인적으로 이 부분을 많이 탐구하고 고발했던 사람으로서 정말 어처구니가 없었다는 거지요. <br /> <br />게다가 한국에서 집단 소송을 제기한 당사자들은 한국 법원에 의해 1심에서 기각을 당했다고 하는데 ㅋㅋ 이게 코미디입니까 낫 놓고 기역자도 모르는 판결입니까? 이렇게 수치상으로 다 드러났는데 말이죠. ㅎㅎ <br /> <br />완전 블랙 코미디를 넘어서 씁쓸하네요. <br />ㅡ_ㅡ<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 31일 Thursday AM 10:50:40 이윤찬 Thu, 31 Aug 2023 10:50:40 +0900 1 https://www.blrun.net/bbs/zboard.php?id=chat1&no=12 이윤찬 - 물론 모든 일본 기업이 다 그런 건 아니겠지만 예전의 도시바 노트북 사운드 불량과 손님 소니 노트북 드라이버 게시 불량 사건만 생각하면 정말 이들 기업 이미지가 너무 안좋습니다. https://www.blrun.net/bbs/zboard.php?id=chat1&no=11 오늘 갑자기 그 두 기업과 관련한 일화가 생각이 났는데 그 때 일을 여러분도 아래 링크를 클릭해 보시면 알겠지만 너무 안좋아서 오늘 한번 더 언급해 보고자 합니다. <br /> <br />물론 얼마 전에 도시바 4TB 외장하드를 네이버 쇼핑에서 구입한 적은 있지만 이것도 최근에 FX-4100 CPU 주컴 윈도우즈10 USB 드라이버 문제 때문인지 USB 3.0에 케이블을 연결하면 윈도우즈10의 고질적인 딩동딩동 소리가 나면서 연결이 해제됐다 연결됐다 하는 증상이 최근에 발생하기 시작해서 엄청 화가 났는데 이런 식으로 아이폰6나 아이폰13 USB-라이트닝 캐이블 접속 불량 문제를 비롯해 대부분의 USB 연결이 USB 메모리 사용 때만 빼고 다 이래서 과연 이게 누구짓이냐를 생각해 보면 여전히 강한 의혹이 앞섭니다. <br /> <br />외장하드 연결에 있어 USB 3.0 포트로의 안정적인 연결이 기술의 가장 큰 핵심이기 때문에 이런 식으로 USB 메모리 보다 못한 케이블 연결 안정성이 발생한다는 건 굉장히 큰 문제인데 일전엔 분명히 이 문제가 발생하지 않았지만 제가 회사 시게이트 하드 백업 문제를 포스팅하면서 거기서 도시바 4TB 외장하드 백업 관련 언급을 한 뒤부터 이래서 속이 상하는데 이것 왜 그런지 아시는 분 계신가요? <br /> <br />보통 USB 3.0 포트와 함께 사용하는 외장하드에 아크로니스 백업을 저장하기도 하는데 이렇듯 USB 3.0 연결이 불안정해서 연결이 중간에 끊어지기라도 하면 데이타 유실이 발생할 수도 있는 상황이라서 케이블 연결 초반에 이런 상황을 여러번 목격했다는 사실이 이용자로선 굉장히 큰 부담이거든요. <br />ㅡ_ㅡ <br /> <br />https://bit.ly/3YVvhHA <br />https://bit.ly/3Z0Lo6O<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 31일 Thursday AM 08:07:58 이윤찬 Thu, 31 Aug 2023 08:07:58 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=11 이윤찬 - 인터넷에서 "꼼꼼이" 가 아니라 "꼼꼼히" 로 적어야 한다는 맞춤법 관련 설명을 보고 드는 한가지 의문... ㅋㅋ (1) https://www.blrun.net/bbs/zboard.php?id=chat1&no=10 관련글 - <a href=https://lifelong-education-dr-kim.tistory.com/entry/%ED%8B%80%EB%A6%AC%EA%B8%B0-%EC%89%AC%EC%9A%B4-%EC%9D%B4%EC%99%80-%ED%9E%88-%EB%A7%9E%EC%B6%A4%EB%B2%95-%EA%B5%AC%EB%B6%84-%EA%B9%A8%EB%81%97%EC%9D%B4-%EA%B9%A8%EB%81%97%ED%9E%88#google_vignette target=_blank>https://lifelong-education-dr-kim.tistory.com/entry/%ED%8B%80%EB%A6%AC%EA%B8%B0-%EC%89%AC%EC%9A%B4-%EC%9D%B4%EC%99%80-%ED%9E%88-%EB%A7%9E%EC%B6%A4%EB%B2%95-%EA%B5%AC%EB%B6%84-%EA%B9%A8%EB%81%97%EC%9D%B4-%EA%B9%A8%EB%81%97%ED%9E%88#google_vignette </a><br /> <br />이 글 보면 "틈틈이/겹겹이" 와 같이 같은 말이 반복된 단어 뒤에는 -이 를 붙여야 한다고 돼 있는데 그럼 "꼼꼼이" 가 맞는 표현이지 않나 하는 점입니다. ㅋㅋ 하지만 "꼼꼼하다" 가 기본형이니까 "꼼꼼히" 도 맞게 되는 것이구요. <br /> <br />제 사이트 게시글 중 "꼼꼼이" 표현을 "꼼꼼히" 로 일괄 수정을 하려다가 갑자기 이런 궁금증이 생겼네요. ^^; <br /> <br />이것 "꼼꼼이" 로 그냥 놔둬도 상관 없겠지요?<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 31일 Thursday AM 05:25:04 이윤찬 Thu, 31 Aug 2023 05:25:04 +0900 1 https://www.blrun.net/bbs/zboard.php?id=chat1&no=10 이윤찬 - 가끔 브라우저에서 페이스북 위젯이 안보이는데 이것 왜 그럴까요? (3) https://www.blrun.net/bbs/zboard.php?id=chat1&no=9 아래와 같은 증상 브라우저에서 발생하는 것 여러분은 경험하지 않으셨나요? <br /> <br />평소에도 브라우저 페이지뷰에서 해당 트윗 위젯이나 페이스북 위젯이 안보일 때가 있는데 오늘도 그러네요. 이 때 해당 트워터나 페이스북 홈페이지는 정상적으로 잘 열리는데 이럽니다. 오늘 무슨 일 있는 것 아니죠? <br />ㅡ_ㅡ <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%B0%A1%B2%FB_%BA%EA%B6%F3%BF%EC%C0%FA%BF%A1%BC%AD_%C6%E4%C0%CC%BD%BA%BA%CF_%C0%A7%C1%AC%C0%CC_%BE%C8%BA%B8%C0%CC%B4%C2%B5%A5_%C0%CC%B0%CD_%BF%D6_%B1%D7%B7%B2%B1%EE%BF%E4.png' align='' width='1280' height='1024' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 30일 Wednesday PM 06:31:52 이윤찬 Wed, 30 Aug 2023 18:31:52 +0900 3 https://www.blrun.net/bbs/zboard.php?id=chat1&no=9 이윤찬 - [덧글이 중요] 오늘 i5-3570 컴 윈도우즈10에 이 업데이트가 설치되고 나더니 브라우저 열리는 게 무겁습니다. (3) https://www.blrun.net/bbs/zboard.php?id=chat1&no=8 노란색 사각형 보시면 알겠지만 예전에 21H2 윈도우즈10에도 설치가 됐던 업데이트인데 22H2 용이 설치되고 나서 갑자기 브라우저 열리는 느낌이 엄청 무겁습니다. 뭔가 누덕누덕 코드를 덧붙인것 같은데 업데이트 되고 나서 이러니 썩 기분은 좋지 않습니다. 이 본체가 사양이 낮지 않아서 평소 빠릿빠릿해진 느낌이 있었는데 이 업데이트 때문에 상당부분 그 느낌이 사라져 버렸습니다. <br />ㅡ_ㅡ 어떤 업데이트를 했길래... 업데이트 하려면 성능의 감소가 없어야 하는데 MS는 늘 그렇듯이 이런 식의 업데이트를 하기 때문에 제가 업데이트를 잘 안하는 것이거든요. <br /> <br />저번에 말씀드렸듯이 엑셀 구동 망가뜨려서 업데이트 하게 만들고 이런 식으로 업데이트 하고 나면 왕창 느려지고 정말 퍽큐~ MS를 다시한번 실감하게 만드네요. <br /> <br />다시한번 말하지만 전 향후 PC 하드웨어/소프트웨어 업그레이드는 없습니다. 이런 식의 MS 프로그램이 너무 싫고 나중에 수습이 안되면 다른 프로그램을 깔든지 PC방을 이용할 생각입니다. <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%BF%C0%B4%C3_i5_3570_%C4%C4_%C0%A9%B5%B5%BF%EC%C1%EE10%BF%A1_%C0%CC_%BE%F7%B5%A5%C0%CC%C6%AE%B0%A1_%BC%B3%C4%A1%B5%C7%B0%ED_%B3%AA%B4%F5%B4%CF_%BA%EA%B6%F3%BF%EC%C0%FA_%BF%AD%B8%AE%B4%C2_%B0%D4_%B9%AB%B0%CC%BD%C0%B4%CF%B4%D9.png' align='' width='1280' height='1024' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 30일 Wednesday PM 04:38:33 이윤찬 Wed, 30 Aug 2023 16:38:33 +0900 3 https://www.blrun.net/bbs/zboard.php?id=chat1&no=8 이윤찬 - 오늘 회사 끝나고 뷔페 식당에서 음식을 맛있게 먹고 지하철 타고 오는데 뇌혈류 이상 전조 증상이 약간 있었습니다. https://www.blrun.net/bbs/zboard.php?id=chat1&no=7 이게 뇌 쪽에 미세한 모세혈관이 터졌는지 약간 찌릿한 느낌이 들었고 일전에도 잠깐 언급드렸지만 요새 등산 운동을 안한지 4개월 20일이 훨씬 지나서 그동안 왕복 36분 출퇴근길을 걷고 집에서 근력운동 및 스트레칭을 꾸준히 해주었지만 역시 음식 조절은 잘 못해서 많이 먹고 짠 음식도 가리지 않고 뷔페식당 등에서 남김없이 다 먹었기 때문인지 뇌혈류 이상 전조 증상 같은 게 간혹 이렇게 느껴진 것 같았고 어차피 현 상태에선 등산 운동을 다시 하기는 힘들기 때문에 천상 앞으로 추가적인 운동보다 음식 조절을 잘 해나가는 방법밖에 없다는 결론을 내리게 되었습니다. <br /> <br />또 전 지금까지 거의 30년 동안 포탈 칼럼을 비롯해 "네티즌 세상을 위하여..." 사이트에서 각종 게시판들을 운영하면서 온갖 정밀도 높은 글들을 작성하면서 계속 머리를 쓰고 있고 각종 기록을 위한 메모 쓰기 및 최근의 음식일기 쓰기, 비교적 오래된 가계부 어플 쓰기 등 머리쓰기 강도가 사실상 엄청 높았기 때문에 뇌혈류 건강에 각별히 신경을 써야 하는 만큼 앞으로 이 음식 조절을 제1의 도전과제로 삼아야겠다는 다짐을 하게 됩니다. <br /> <br />음식 일기를 보면 지금까지 먹었던 음식에 딱히 특별히 문제가 있는 것 같지는 않고 점심에 회사 인근 뷔페 식당에서 기름진 음식을 좀 많이 먹었던 게 주요한 요인으로 짚히기 때문에 여기에 대한 습관을 뜯어고치려고 하는 겁니다. <br /> <br />일례로 집에서 짜장면 먹을 때도 곱배기를 지양하고 보통을 먹는다든지 기름진 음식을 당긴다고 많이 먹는 걸 좀 자제하고 회사 인근 뷔페식당에서도 음식을 좀 적게 먹어야 합니다. <br /> <br />이런 기본적인 수칙들을 앞으로 좀 실천해 나가려고 합니다. 돈 아깝다고 또 음식 아깝다고 이걸 자제하지 못하면 돈이 문제가 아니라 나중에 건강 잃고 더 큰 불행을 야기해서 훨씬 더 큰 돈이 깨질지 모른다는 생각이 오늘 번뜩 들었습니다. <br /> <br />듣고 보니 여러분도 바로 그거야 하는 생각이 확 들으시죠? <br /> <br />&lt;추신&gt; <br />요며칠 비가 많이 내려 출퇴근길을 걷지 못하고 먹기만 했던 것도 전조 증상이 발생한 주요한 요인 같기도 하더라구요. <br />ㅡ_ㅡ <br /> <br /><blockquote class="twitter-tweet"><p lang="ko" dir="ltr">어제 오늘 크림빵과 피자빵을 좀 먹고 난 뒤 오늘 갑자기 뇌혈류 건강이 걱정돼서 챗GPT한테 물어보니 매우 그럴듯한 조언을 해줬는데 잘 유념해 두면 좋을 것 같습니다. 여러분도 함 보세요. ^^;<a href="https://t.co/L3Y4yYLPcK">https://t.co/L3Y4yYLPcK</a></p>&#8212; 이윤찬 (@blrun) <a href="https://twitter.com/blrun/status/1692473458154967260?ref_src=twsrc%5Etfw">August 18, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 30일 Wednesday PM 03:12:54 이윤찬 Wed, 30 Aug 2023 15:12:54 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=7 이윤찬 - 저희 동네 신림선 서울대벤처타운역 쪽으로 건너가는 횡단보도 신호등 잔여시간 표시 체계가 뭔가 이상합니다. (2) https://www.blrun.net/bbs/zboard.php?id=chat1&no=6 이게 2초나 남았는데 보행자 신호등이 빨간색으로 변하는데 아주 제가 황당하더라구요. <br /> <br />이게 차량 신호에도 이렇게 잔여 시간을 놓고 사기를 치는지 잘 모르겠지만 공정을 기해야할 경찰서 교통신호 체계가 이렇듯 경찰관 머릿속에 탑재한 잣대로 임의로 설정될 수 있다는 것 자체가 굉장히 뭔가 혐오스럽고 이해가 안된다는 거죠. <br /> <br />일전에도 차량 정지 신호가 떨어진 후 15초나 늦게 보행자 신호가 떨어지지 않아 제가 관련 포스트를 언급한 적이 있지만 관악경찰서의 이런 신경질적인 보행신호 체계 설정은 시민들의 외면만 받을 뿐 사고 예방 효과는 별로 없어 보입니다. <br /> <br />오랜 간 살아왔지만 이곳 처럼 보행 신호를 만들어놓은 곳은 본 적이 없고 실제 사고가 났을 때도 제대로 보행자를 보호해 주지 못할 뿐더러 왜 빨간색 신호등이 떨어졌는데 횡단보도를 건넜냐며 되레 경찰관이 피해자를 나무랄게 뻔하디 뻔한 신호 체계라 더욱 걱정스런 일이 아닐 수 없습니다. <br /> <br />정석대로 신호체계를 운용하면 이런 미묘한 분란을 만들지도 않고 좋을텐데 왜 관악경찰서는 이렇게 상식적으로 이해가 안되는 보행자 신호 체계를 억지로 적용시키고 있는지 여러분은 이해가 되시나요? <br /> <br />개황당합니다. ㅡ_ㅡ<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 30일 Wednesday AM 08:07:52 이윤찬 Wed, 30 Aug 2023 08:07:52 +0900 2 https://www.blrun.net/bbs/zboard.php?id=chat1&no=6 이윤찬 - 아까 회사에 일찍 도착해 https://bit.ly/3YWR0ir 이글 마저 작성 후 트윗을 날리려고 했는데 회사 작업컴에서 트윗이 올라가지 않았습니다. https://www.blrun.net/bbs/zboard.php?id=chat1&no=5 아까 회사에 일찍 도착하고 나서 휴게 시간에 작업컴으로 아까 지하철 안에서 작성하다 만 <a href=https://bit.ly/3YWR0ir target=_blank>https://bit.ly/3YWR0ir</a> 이 내용을 불러와 마저 작성 후 트윗 로그인 후 글쓰기 작성창 안에 단축 내용을 생성 후 확인 버튼을 클릭했더니 이게 타임라인에 올라가지 않고 "당황하지 말고 다시 시도하세요" 가 오페라/크롬 양쪽 브라우저에서 모두 뜨면서 다시시도 버튼만 보이면서 페이지 전환이 안되면서 트윗이 올라가지 않는 현상이 있었습니다. <br /> <br />그래서 누가 제 작업컴을 들여다보면서 회사에서 트윗 올리지 말라고 장난치는 것처럼 황당한 경험을 했는데 전 여유 시간에 올린 것이기 때문에 아이폰13에서 다시 챗게시판 본문으로 들어가 트윗 버튼으로 다시 글쓰기 단축 내용을 생성 후 트윗과 페북글을 올릴 수 있었는데 여러분은 가끔 오페라나 크롬 브라우저 사용하면서 이런 경험 없으셨는지... 이게 안 올라가니까 황당하고 아주 환장하겠더라구요. <br /> <br />뭔가 제 네트워크 활동을 감시하고 있다는 생각을 했는데 그게 누구냐는 거죠? <br />ㅡ_ㅡ<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 29일 Tuesday PM 02:23:56 이윤찬 Tue, 29 Aug 2023 14:23:56 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=5 이윤찬 - bit.ly 에서 온 메일을 번역한다고 DeepL에 붙여넣기 한 이후로 다른 메일 내용의 영문을 DeepL 앱으로 붙여넣기 할 수 없습니다. https://www.blrun.net/bbs/zboard.php?id=chat1&no=4 헐~ 이건 무슨 뚱딴지 같은 문제래요? 아까 bit.ly 에서 온 메일의 영문 내용을 DeepL에 붙여넣기한 이후로 계속 다른 영문 메일의 내용이 DeepL 앱으로 붙여넣기가 안되는데 이것 왜 그런지 아시는 분... 젠~장 이것 때문에 현재 영문서를 DeepL로 번역을 못하고 있습니다. 우클릭으로 복사/붙여넣기도 안되는데요? <br /> <br />누가 클립 보드의 복사/붙여넣기 기능을 잠궈 놓은 것 같은데 누구죠? 어제 제 레고르 X2-260 컴에 블루스크린 장난 친 그 놈 아닐까요? 운영체제 안의 기능을 불구로 만들 놈은 그 놈 밖에 없잖아요.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 29일 Tuesday PM 02:13:14 이윤찬 Tue, 29 Aug 2023 14:13:14 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=4 이윤찬 - 어제 동네 시장 입구 "막 퍼주는 집" 에서 작은 사과 10개랑 파프리카 4개를 사왔는데 바가지를 퐁당 썼습니다. https://www.blrun.net/bbs/zboard.php?id=chat1&no=3 이게 둘 다 5천원씩 1만원 어치인데 사과가 작아서 맛있을 줄 알았는데 맹탕이라 거의 다른 사람한테 그냥 줘서 먹으라고 해도 내키지 않을 정도로 품질이 떨어져서 이건 그냥 안파느니만 못한 상품이겠더라구요. <br /> <br />그래서 오늘 아침 후식으로 어머니가 깎아주신 그 사과를 먹고 기분만 잡치고 속았다는 생각에 괜한 화가 났는데 거기 장사하는 양태가 한결 같이 잘하는 게 아니라 장사가 안될 때는 싸면서도 괜찮은 상품을 갖다놓다가도 이렇게 중간 중간 품질이 떨어지는 상품을 곧잘 팔았습니다. <br /> <br />가격이 저렴하더라도 기본적으로 충족돼야할 품질 수준이라는 게 있는데 이건 그마저도 미달되는 맹탕 사과였다는 거죠. <br /> <br />또 파프리카도 예전엔 엄청 큰 게 한 개 1천원씩 3개 2천원, 2개 1500원씩 팔았는데 어제 보니까 보기에도 훨씬 작은 파프리카를 2개 2500원씩 팔았지만 제가 그걸 4개나 사가지고 왔다는 것 아닙니까? <br />ㅡ_ㅡ <br /> <br />또 거기 누나 말로는 카드를 받는다는데 저나 어머니, 아버지한테는 신용카드도 안받고 현금영수증도 안받는 걸 보면 사람 따라 카드를 받기도 하고 안받기도 하는 곳인 것 같았습니다. 그 점도 괘씸하죠. <br /> <br />암튼 사과 사건만 아니었어도 제가 이런 챗 작성 안하는데 정말 다른 사람한테 그냥 나눠줘서도 안될 품질의 사과를 오늘 아침 먹고 나서 이렇게 한마디 하지 않을 수 없네요.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 29일 Tuesday AM 08:24:37 이윤찬 Tue, 29 Aug 2023 08:24:37 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=3 이윤찬 - 요새 레고르 X2-260 8GB 램 본체가 부팅 후 블루스크린이 뜨거나 멈추는 증상이 있어서 다시 리셋 버튼을 눌러 재부팅을 하여 정상적으로 사용하곤 했는데 오늘 시스템 정보를 보니 사용가능한 램이 이렇게 줄어져 있네요. 헐~ (5) https://www.blrun.net/bbs/zboard.php?id=chat1&no=2 이것 누구 소행인 건가요? MS(마이크로소프트) 맞죠? <br /> <br />https://bit.ly/3VkjPl9 여기서 저번에 낮은 클럭의 삼성램이 불안해서 PC3-12800의 SK하이닉스 램을 새로 구입하여 장착해 완벽히 튜닝을 했는데 이렇게 사용 도중 사용 가능한 램의 용량을 떨어트리며 구형 본체 안정성을 떨어트리는 수법으로 MS가 업그레이드를 유도하고 있는 것 같습니다. <br /> <br />이건 부팅에 성공했을 때 정상적으로 윈도우즈10이 이용가능한 것 보면 하드웨어 문제는 아닙니다. <br /> <br />아래 [그림2]에서 사용가능한 메모리가 확 줄어있는 것 보이시죠? 이런 식으로 윈도우즈10이 운영체제 동작을 망가뜨립니다. 여기다 설치한 윈도우즈10은 처음 사용자용 27만 5천원 짜리 정품입니다. <br /> <br />[그림1 - 오늘 최대절전모드 복원 후 한번 블루스크린이 뜬 뒤 리셋으로 재부팅해 잘 사용하다가 어머니가 멀티탭 전원을 실수로 끄고 나서 다시 부팅 뒤 다시 블루스크린이 떠서 다시 리셋 버튼을 몇 번 눌러 부팅 시킨 뒤 시스템 정보를 봄 1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_08_28_001.JPG' align='' width='3264' height='2448' vspace='0' hspace='0' border='1'> <br /> <br />[그림2 - 오늘 최대절전모드 복원 후 한번 블루스크린이 뜬 뒤 리셋으로 재부팅해 잘 사용하다가 어머니가 멀티탭 전원을 실수로 끄고 나서 다시 부팅 뒤 다시 블루스크린이 떠서 다시 리셋 버튼을 몇 번 눌러 부팅 시킨 뒤 시스템 정보를 봄 2] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%B7%B9%B0%ED%B8%A3_X2_260_%BA%BB%C3%BC_8GB_%B7%A5%C0%CC_%C0%CE%BD%C4%B5%C7%C1%F6_%BE%CA%C0%BA_%B8%F0%BD%C0_%C0%CC%B7%B1_%BD%C4%C0%B8%B7%CE_%C0%A9%B5%B5%BF%EC%C1%EE10_%BC%BA%B4%C9%C0%BB_%B6%B3%BE%EE%B6%DF%B8%B3%B4%CF%B4%D9.png' align='' width='1400' height='1050' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 28일 Monday PM 08:46:03 이윤찬 Mon, 28 Aug 2023 20:46:03 +0900 5 https://www.blrun.net/bbs/zboard.php?id=chat1&no=2 이윤찬 - 오늘 회사에서 L365 복합기로 어떤 A4 문서를 스캔하는데 이게 자꾸 기울어지게 스캔이 돼서 짜증이 났네요. 알고 보니 환경설정에 옵션이 있는데 그걸 체크했더니 기울어짐 정도가 덜하더라구요. https://www.blrun.net/bbs/zboard.php?id=chat1&no=1 오늘 A4 용지를 유리 상단에 올바르게 올려놓고 스캔을 했는데도 계속 스캔 이미지가 많이 기울어져 스캔이 돼서 이 문제 때문에 짜증이 났고 그렇게 잘못 스캔하기를 두 번 정도 하다가 에전에 환경설정에서 기울어진 문서 보정 옵션을 어디선가 본 것 같아서 L365 오피스 모드 스캔 창에서 하단 환경설정 클릭 후 열리는 팝업의 기타 탭에 "기울어진 문서 보정" 체크박스를 발견했고 그걸 체크했더니 그제서야 기울어지는 정도가 덜하더라구요. <br /> <br />젠장 이 자식들 기본으로 문서를 왜 이렇게 기울어지게 스캔되도록 프로그램을 만들어놨는지 당췌 이해가 안갔고 여태까지 계속 이렇게 문서를 기울어지게 스캔을 해서 많이 억울했기 때문에 이 내용을 챗게시판에 써야겠다는 생각을 했습니다. <br /> <br />여러분 엡손 L355 복합기 스캔 기능 이용할 때 이런 문제가 있으니 잘 염두에 두십시요. <br />ㅡ_ㅡ<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 28일 Monday PM 02:38:47 이윤찬 Mon, 28 Aug 2023 14:38:47 +0900 0 https://www.blrun.net/bbs/zboard.php?id=chat1&no=1 이윤찬 - 방금 산책하다 前 부녀회장 아줌마가 필로피에서 보여 인사를 했는데 다른 사람 보고 모른 척 한다고 지나가는 얘기를 하는데 정작 인사하는 저를 보고 모른 척 하시네요. ㅋㅋ https://www.blrun.net/bbs/zboard.php?id=blog1&no=3522 ㅎㅎ 방금 산책하다 前 부녀회장이 필로피 의자에서 다른 아줌마하고 이야기하고 있길래 산책하고 오다 인사를 했더니 언뜻 들리는 얘기가 "모른 척을 해. 아주 쌩까" 하면서 다른 사람 이야기를 하는 걸 들었는데 정작 그 아줌마는 저희 부모님하고 안좋은 일이 있어서 그런지 저를 그냥 모른척을 하시더라구요. 그래서 속으로 좀 웃었습니다. 앞에서 같이 이야기하고 있던 다른 아줌마가 대신 인사를 받으시더라구요. ㅋㅋ<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 27일 Sunday PM 04:16:53 이윤찬 Sun, 27 Aug 2023 16:16:53 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3522 ▶이윤찬의 알파와 오메가◀ > 미분류 이윤찬 - 평소 일정에 따라 해야 하는 습관적인 일들을, 해야할 일을 마저 하고 한다고 미루는 고질적인 병폐가 참으로 저한테 깊숙하게 뿌리잡고 있었더만요. ㅡ_ㅡ; https://www.blrun.net/bbs/zboard.php?id=blog1&no=3521 2023.08.26 <br />오늘은 새벽 4시 30분 정도에 일어나 제 카페24 blrun 계정 사이트에 있는 게시글을 윈도우즈10 IIS [개인서버]에 옮기는 작업을 했는데 글이 좀 많아서 이미지까지 다운로드해 따로 저장하느라 시간이 오래 걸렸네요. 또 url 까지 재구성해야 하는데다가 등산을 안해서 그런지 예전보다 작업이 좀 힘에 부쳤는데 그것 마치고 삼성산주공아파트 관리사무소가 업로드하는 사이트의 게시글을 제가 운영하는 삼성산뜨란채.kr 사이트에 그대로 복사업로드 하는 일을 했는데 이것도 이번주에 게시글이 많아서 그런지 좀 힘이 부쳤습니다. <br />&nbsp; <br />근데 이게 힘이 부쳤던 결정적인 이유가 새벽 5시 20분이 되어 기상 알람이 울렸을 때 바로 일정대로 제 방 바닥 청소를 하고 아침 6시 25분에 윗몸일으키기/팔굽혀펴기를 하고 15분 있다가 체조를 해야 하는데 제가 삼성산뜨란채.kr 에 게시글을 마저 복제하고 나서 청소를 시작한다고 했다가 거의 6시 30분 까지 청소가 지연이 됐고 결국 그 때 한꺼번에 청소와 운동, 산책, 체조까지 다 하고 밥을 서둘러 먹느라 그랬던 겁니다. <br />ㅡ_ㅡ <br />&nbsp; <br />그래서 나이들어 이렇게 시간에 쫓겨 무리를 하면 몸이 나빠지는구나 하는 것을 실감했는데 오늘 이 일화에 대한 이야기를 해야겠다고 생각하면서 담번 부터는 매일 해야할 습관을 절대로 미루지 말고 시간표대로 할 일을 하고 나머지 시간에 일정을 소화해야겠다는 다짐을 했습니다. <br />&nbsp; <br />이게 쉬운것 같아도 쉽지 않기 때문에 평소 잘 유념했다가 나의 생각과 행동에 브레이크를 잘 걸어야 하는데 오늘 그렇게 하지 않았을 때 부작용을 확실히 경험했던 만큼 제가 물고기 지능을 가진 게 아니기 때문에 꼭 실천하려구요. <br />&nbsp; <br />여기서 극구 다짐합니다. <br /> <br />2023.08.27 <br />평소 계속 하던 일에 집중하여 일정에 따른 습관을 미루는 행동이 늘상 일반화되다 보니 어제 하루 이걸 뜯어고친다고 시도하다 보니까 정말 제가 평소 얼마나 일정에 따른 습관을 미루고 마저 하고 하자 라는 병폐가 일반화되었는지 절절이 실감을 하였네요. 어제 SNS를 날리고 나서 오후 늦게와 저녁에 정신없이 뭔가를 하고 있는데 아버지가 두 번이나 식사 시간과 스트레칭 시간 알림이 올리는 걸 보고 제가 다시 부지불식간에 이런 행동을 하는 걸 상기시켜 주셨는데 저도 그렇게 행동하는 자신을 인식하고는 소스라치게 놀랐네요. 이런 병폐는 회사 생활하면서도 늘상 벌어지기 때문에 제대로 뜯어고치기가 쉽지 않을 것 같습니다. 하지만 어제인가 그 폐악을 제대로 경험했기 때문에 저는 이 악습을 고칠 수 있다는 자신감이 생깁니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 27일 Sunday AM 08:14:18 이윤찬 Sun, 27 Aug 2023 08:14:18 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3521 ▶이윤찬의 알파와 오메가◀ > SNS 이윤찬 - 파이썬에서 크롬이 버전업이 되면서 웹드라이버 기존 자동 다운로드 소스를 사용할 수 없게 됐는데 새로운 방식에 있어 뭔가 이해가 안되는 부분이 있습니다. (2) https://www.blrun.net/bbs/zboard.php?id=basket1&no=371 예전에 크롬 웹드라이버를 이용, 회사 사이트의 특정 페이지를 실행하는 파이썬 코드를 만들었다가 이게 매번 크롬이 버전업이 될 때마다 웹드라이버를 구글 사이트에서 다시 찾아 해당 드라이버를 다운로드 후 이용해야 해서 그게 너무나 싫어서 아래 [그림1] [그림2] [그림3]에서 보이는 코드로 교체하기 전에 예전 형태의 크롬 웹드라이버 자동 다운로드 소스(주: 여기선 적시하지 않았습니다)로 해당 웹드라이버를 자동 다운로드해 해당 사이트에 로그인 후 특정 페이지를 실행시키는 파이썬 코드를 오랫동안 잘 사용했는데 이게 일주일 전부터 크롬 브라우저가 버전업이 되면서 웹드라이버 자동 다운로드 소스도 같이 아래와 같이 고쳐야 했고 그걸 처음에 아래 [그림1]과 같이 자동 다운로드하는 파일의 버전을 지정하지 않았더니 하단 커맨드 창 빨간색 에러와 같이 해당 드라이버가 존재하지 않는다고 해서 그 이후 며칠 있다 [그림2]와 같이 114.X 버전대 웹드라이버를 지정한 이후 며칠 동안 잘 사용을 했는데 헐~ 오늘 또 다시 실행하니 [그림2] 하단 빨간색 처럼 비주얼 Code에서 업데이트된 116.X 버전대의 현재 설치된 크롬의 버전을 알려주면서 114.X 버전대가 다시 실행이 안되더라구요. <br /> <br />그래서 크롬이 버전업이 되면서 또 기존 파이썬 코드를 무력화시키는 등 개악이 된 것 아니냐는 의혹이 앞서면서 이렇게 관련 포스트를 작성하게 됐는데 왜 웹드라이버 새 자동 다운로드 소스는 버전을 지정하지 않았을 때 웹드라이버가 존재하지 않는다고 뜨면서 실행이 안되고 또 버전을 지정하면 이렇게 3일도 못 가 다시 크롬이 업데이트가 되고 나서 기존 버전의 웹드라이버 동작을 무력화 시키는 등 다시 실행이 안되게 만들어놨는지 여러분은 이해가 되시나요? <br /> <br />분명히 일전에 크롬이 업데이트 되기 전 예전의 파이썬 코드론 업데이트 된 크롬 브라우저에서 사용할 수 있는 웹드라이버 버전을 자동으로 다운로드 받아 그 다음 행의 파이썬 코드가 실행이 되면서 100% 사이트의 특정 페이지를 실행할 수 있었는데 왜 새 파이썬 웹드라이버 다운로드 코드로는 그게 안되느냐는 거죠. <br /> <br />최근에 웹드라이버 다운로드 소스를 새 방식에 맞게 적용해 보신 분은 제가 무슨 말을 하는지 잘 아실거라고 봅니다. <br />ㅡ_ㅡ <br /> <br />[그림1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C6%C4%C0%CC%BD%E3_%C5%A9%B7%D2_%C0%A5%B5%E5%B6%F3%C0%CC%B9%F6_%B4%D9%BF%EE%B7%CE%B5%E5_%BC%D2%BD%BA_%B9%AE%C1%A62.png' align='' width='1280' height='1024' vspace='0' hspace='0' border='1'> <br /> <br />[그림2] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C6%C4%C0%CC%BD%E3_%C5%A9%B7%D2_%C0%A5%B5%E5%B6%F3%C0%CC%B9%F6_%B4%D9%BF%EE%B7%CE%B5%E5_%BC%D2%BD%BA_%B9%AE%C1%A6.png' align='' width='1280' height='992' vspace='0' hspace='0' border='1'> <br /> <br />[그림3] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C6%C4%C0%CC%BD%E3_%C5%A9%B7%D2_%C0%A5%B5%E5%B6%F3%C0%CC%B9%F6_%B4%D9%BF%EE%B7%CE%B5%E5_%BC%D2%BD%BA_%B9%AE%C1%A63.png' align='' width='1280' height='1024' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 25일 Friday PM 07:13:18 이윤찬 Fri, 25 Aug 2023 19:13:18 +0900 2 https://www.blrun.net/bbs/zboard.php?id=basket1&no=371 쓰레기통 > 블록 이윤찬 - 원자는 과연 무엇인지에 대해 연구한 현대 물리학 이론과 관련 공식의 진실한 이해를 돕는 영상... 이런 유튜브 영상도 있군요. https://www.blrun.net/bbs/zboard.php?id=cap1&no=775 아래는 페친 한 분이 소개시켜 준 동영상인데 관심이 있어 클릭해 봤더니 거기서 설명하는 어떤 분이 원자의 동작 원리에 대해서 아주 흥미롭고 쉽게 현대 양자역학 이론을 설명해 주시는데 정말 그 분은 현대 물리학이 밝혀낸 원자의 동작 원리에 대해서 아주 잘 아는 분 같았습니다. 이 동영상만 제대로 시청해서 공부해도 미시세계의 작동 원리를 아주 잘 이해할 수 있겠구나 하는 생각이 들었습니다. <br /> <br />이렇듯 미시세계는 아인슈타인의 상대성 원리가 적용되는 거시세계와 작동하는 방식이 완전히 틀린데 양쪽 다를 제대로 이해하기는 쉽지 않지만 수많은 과학 아마츄어들에게 지적 호기심을 불러일으키기에는 충분한 것 같습니다. <br />^^; <br /> <br />여러분도 시간되시면 함 시청해 보세요. 흥미롭습니다. 저도 동영상을 보면서 이면의 원리를 생각하느라 완벽히 이해는 못했지만 가끔씩 보면서 음미하면 여러분도 그 분이 전달하려고 했던 내용을 충분히 이해하고 자기것으로 만들 수 있지 않을까 싶습니다. <br /> <br />훌륭한 동영상입니다. <br />============================================================== <br />============================================================== <br /> <br /><iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2Fkonghyun.sunwoo%2Fposts%2Fpfbid023qgHV37xmgG1ngRSzcw7a33nZkyR3hDemh9RwLoNbbhZoU3twEhNnn3uJgGBM9tnl&show_text=true&width=500" width="800" height="450" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowfullscreen="true" allow="autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share"></iframe> <br /> <br />헐~ 잘 보았습니다. 원자의 정체성에 대한 알기쉬운 설명과 관련 공식의 이해 까지 정말 엄청난 이해가 없으면 제작이 불가능한 동영상인 듯 합니다. 양자역학에 대한 물리학 공부에 있어 진실한 이해를 주는 동영상이네요. <br /> <br />선우공현님은 가끔 저에게 넘사벽과 같은 정보들을 가끔 선사해 주시네요 ㅋㅋ. 과거 테트리스 C언어 소스도 그랬는데... <br /> <br />이번 건 그것보다 이해가 쉬웠습니다. 물론 근본 메커니즘은 양파껍질 벗기듯 더 신비롭게 다가올 여지는 있습니다만... <br /> <br />좋은 동영상 소개시켜 주셔서 감사드려요. <br />^^; <br />============================================================== <br /> <br /><iframe width="800" height="450" src="https://www.youtube.com/embed/6Csu_VZ4xR0?si=gOQKxZYzEXdvmFu6" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 25일 Friday AM 06:06:32 이윤찬 Fri, 25 Aug 2023 06:06:32 +0900 0 https://www.blrun.net/bbs/zboard.php?id=cap1&no=775 스크랩 > 추천 이윤찬 - 어제 까지 잘 되던 MSI GE60 (MS-16GC) 모델의 노트북이 오늘 갑자기 전원이 켜지지 않아서 용산 서비스센터에 다녀왔습니다 외 1건 (1) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3508 <b>1.</b> 상태를 보니 처음엔 전원 어댑터 플러그를 꽂았을 때 배터리 모양 LED엔 불이 들어오고 전원 버튼를 누르면 아무 반응이 없었는데 노트북 수리점에 그 사이 증상을 물어보고 나서 다시 전원 플러그를 꼽아봤더니 이번엔 LED에 불이 전혀 들어오지 않고 전원 버튼을 눌러도 먹통이라 집에 테스터기가 있어 전원 플러그의 직류 전압을 재보니 19.5V 규격 전압에 실제 측정치는 18V가 나와서&nbsp;&nbsp;용산 전자랜드 옆 용산전자오피스텔 건물 1층 MSI 공식 서비스센터에 일단 전활 해서 증상을 말했더니 실제로 제품을 봐야지 안다고 해서 그길로 노트북과 전원 어댑터를 들고 새로 이사한 센터에 도착했고 기사 아저씨 제품을 보더니 자기가 가진 전원 플러그를 꼽아보고 마찬가지로 먹통인 걸 확인하고 이 제품이 10년 된 거라 보나마나 메인보드가 나간 거라는 겁니다. <br /> <br />그래서 제가 이게 어젯밤 까지 잘 사용하던 노트북인데 이렇게 갑자기 메인보드가 나갈 수도 있는거냐고 하니까 메인보드는 어느날 갑자기 안나오는 수가 있다고 해서 바이오스가 혹시 손상을 받은 건 아니냐고 물으니 보통 바이오스가 손상을 입으면 전원은 들어온다는 겁니다. <br /> <br />그러고나서 이 제품은 현재 MSI에서 부품이 없어서 수리가 불가능하다고 하면서 고장난 노트북을 도로 주더라구요. 그래서 제가 아까 나오기 전 이 제품 출시 년월을 보려고 인터넷에서 모델명을 쳤더니 메인보드가 11만원, 12만원 짜리가 나온 걸 봤다고 했더니 그런 건 MSI에서 공식 취급하는 부품이 아니라 중국산 짝퉁들일 거라고 쓰다가 금방 고장이 날 수도 있다고 해서 알았다고 하고 노트북을 가방에 넣고 집으로 그대로 가지고 왔습니다. <br /> <br />예전에 ASUS eeePC 넷북도 잘 사용하다가 갑자기 이렇게 전원이 안들어오는 증상 때문에 서비스센터에 갔을 때 메인보드 불량이라고 엄청 비싼 값의 수리비를 불러 그냥 제가 부품을 모두 분해 후 쓸만한 부품을 빼고 다 버렸거든요. <br /> <br />암튼 뭔가 그 때나 지금이나 고장 증상이 찝찝하기는 해서 제가 이렇게 게시판에 글을 작성해 본 겁니다. <br /> <br /> <br /><b>2.</b> 요새 아이폰6에서 사파리 브라우저가 이상해졌습니다. 제 사이트 즐겨찾기 페이지에서 통합 검색 등을 이용하다 보면 정상적으로 검색 결과가 나오고 나서 결과의 링크를 클릭했을 때 새 탭에서 그 글이 열려야 하지만 이게 상단 주소표시줄에 모래시계가 보이면서 로딩이 지연되거나 나머지 검색 결과가 출력되지 않는 증상이 잦아졌습니다. <br /> <br />이땐 글쓰기 중 임시저장도 "임시저장 중..." 이라고 보이면서 임시저장 완료 파란색 글씨가 잘 안뜨며 지연되는데 이것 명백히 네트워크 먹통 증상이잖아요. 암튼 이런 증상 때문에 또 애플이 구형 아이폰6 동작을 이런 식으로 불구를 만들어버렸구나 하고 엄청 기분이 나빴네요.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 16일 Wednesday PM 01:09:31 이윤찬 Wed, 16 Aug 2023 13:09:31 +0900 1 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3508 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - 요새 카페24 호스팅에서 지메일 수신자로 사이트 메일을 보내면 다음과 같은 에러가 보이면서 반송이 되는데 이것 좀 문제가 심각한 것 같더라구요. (6) https://www.blrun.net/bbs/zboard.php?id=basket1&no=370 보통 사이트 메일은 서버 아이피가 저 같은 경우는 카페24 특정 서버로 돼 있는데 지메일은 제가 사이트 이용 중 지메일 수신자로 사이트가 메일을 보내게 되면 그 발신자 메일 주소가 예를 들어 <a href=mailto:blrun@daum.net>blrun@daum.net</a> 으로 돼 있다고 하면 daum.net 서버 아이피 주소와 사이트 메일을 보낸 서버 주소인 카페24 특정 서버 아이피를 대조해 틀리면 무조건 이를 아래와 같은 오류를 뿜으면서 메일을 반송시킵니다. 문제는 카페24 1대1 문의 담당자 말로는 요사이 Daum 등 다른 웹메일 서비스도 이같은 조치를 하고 있다고 하면서 고객님이 <a href=https://blrun2.cafe24.com/ target=_blank>https://blrun2.cafe24.com/</a> 에서 <a href=mailto:blrun@daum.net>blrun@daum.net</a> 관리자 발신 메일 주소로 보낸 수신자 <a href=mailto:blrun@hanmail.net>blrun@hanmail.net</a> 메일이 구글 지메일 처럼 <b>반송되는 게 아니라 3분여 시간 동안이나 지연되는 거라고</b> 말하는데 그게 말이 안되는 게 <a href=https://blrun.net/ target=_blank>https://blrun.net/</a> 사이트에서 보낸 똑같은 <a href=mailto:blrun@daum.net>blrun@daum.net</a> 관리자 발신 메일 주소로 보낸 수신자 <a href=mailto:blrun@hanmail.net>blrun@hanmail.net</a> 메일은 즉시 배달이 되고 구글 지메일은 여전히 똑같은 사유로 반송이 되는데 이건 분명히 다른 상황이라는 거죠. <br /> <br />제가 젤로 의심을 하는 게 <a href=https://blrun2.cafe24.com/ target=_blank>https://blrun2.cafe24.com/</a> 절약형 상품은 한달에 부가세 포함 500원의 상품이라 얘네들이 일부러 이렇게 사이트 메일 발송 서비스를 만들어 놓은 것이며 개선해 줄 의지가 없다는 것입니다. 제가 오늘 카페24 1대1 문의에 이같은 내용을 같이 전달했는데 제가 오늘 말씀드리고자 하는 부분은 이제부터 입니다. <br /> <br />지메일이 웃긴 게 이런 식으로 발송자 이메일 주소에 들어있는 도메인 아이피와 사이트 메일을 보낸 웹서버 아이피와 대조해 다르다고 해서 이런 식으로 무조건 반송 처리를 해버리면 자이언트 상품을 이용중인 <a href=https://blrun.net target=_blank>https://blrun.net</a> 사이트에선 어찌저찌해서 카페24 무료 관리자 메일을 하나 만들어 이용할 수 있지만 <a href=https://blrun2.cafe24.com/ target=_blank>https://blrun2.cafe24.com/</a> 에선 카페24 무료 도메인을 사용하고 있기 때문에 카페24에서 카페24용 무료 관리자 메일을 생성해 주지 않는다는 겁니다. <br /> <br />이것을 어제 오늘 제가 인터넷에서 PHPMailer란 SMTP 소스까지 다운로드 받아 호스팅에 설치해서 SMTP 서버 주소와 이메일을 설정해 <a href=mailto:blrun@daum.net>blrun@daum.net</a> 을 관리자 사이트 발송용 이메일 주소로 사용해 보려고 소스를 다 헤집어서 분석해 가며 수정해 여러번 적용해 봤지만 아무래도 발송 자체가 안돼서 카페24가 중간에 막은 것 같다 라는 생각을 했는데 이 방법이 좌절됐기 때문에 천상 구글 지메일로 사이트가 발송용 메일을 보내기 위해선 카페24로부터 <a href=https://blrun2.cafe24.com/ target=_blank>https://blrun2.cafe24.com/</a> 용 무료 관리자 메일을 발급받아야 하는데 이게 아까도 말씀드렸지만 현실적으로 불가능하다는 거죠. <br /> <br />제가 보기엔 지메일이 카페24 대표 서버(cafe24.com) 아이피가 아닌 사이트 메일을 보내는 서버 <a href=https://blrun2.cafe24.com/ target=_blank>https://blrun2.cafe24.com/</a> 사이트를 호스팅 하는 uws7-067 이 서버 아이피를 발신자 이메일에 들어있는 daum.net 아이피와 대조를 하고 있다는 생각을 했는데 이건 이번에 카페24에 문의한 내용의 답변을 들어보면 알 수 있습니다. <br /> <br />여러분도 제가 한 설명을 들어서 이해하셨는지 모르겠지만 지메일의 이런 행동은 무조건 호스팅에서 보내는 사이트 메일은 이런 식으로 반송시키겠다는 뜻이나 다름 없는 조치거든요. 정말 이건 있을 수 없는 일입니다. 구글 지메일이 나쁜 놈들인거죠. 그래서 지메일은 이용하면 안되는 겁니다. <br /> <br />그리고 사이트 메일은 호스팅 이용해 보셔서 아시겠지만 인증번호 메일이나 답글 혹은 덧글 알림 메일 등 꼭 필요한 기능입니다. <br />============================================================================ <br /> <br />제목: 사이트에서 원덧글 작성자한테 보낸 덧글 달림 알림 메일이 반송이 됐는데... 2023.07.26 <br /> <br />[현재 상황 및 문의 내용] 이슈 현상 및 문의 내용을 기재해 주세요. <br />2023년 7월 23일 오후 10시 7분 경에 사이트에서 원덧글 작성자한테 보낸 덧글 달림 알림 메일이 반송이 돼서 아래와 같은 사유문과 함께 반송메일이 왔는데 이게 왜 배달이 안됐던 건가요? <br />반송 메일 원본 압축 파일과 메일 내용 번역 캡처 이미지도 같이 첨부드립니다. <br />--------------------------------------- <br /> <br />This is the mail system at host relay-001-01.cafe24.com. <br /> <br />I"m sorry to have to inform you that your message could not <br />be delivered to one or more recipients. It"s attached below. <br /> <br />For further assistance, please send mail to postmaster. <br /> <br />If you do so, please include this problem report. You can <br />delete your own text from the attached returned message. <br /> <br />The mail system <br /> <br />: host gmail-smtp-in.l.google.com[64.233.188.27] said: <br />550-5.7.26 This mail is unauthenticated, which poses a security risk to the <br />550-5.7.26 sender and Gmail users, and has been blocked. The sender must <br />550-5.7.26 authenticate with at least one of SPF or DKIM. For this message, <br />550-5.7.26 DKIM checks did not pass and SPF check for [daum.net] did not <br />pass 550-5.7.26 with ip: [222.122.197.166]. The sender should visit <br />550-5.7.26 <a href=https://support.google.com/mail/answer/81126#authentication target=_blank>https://support.google.com/mail/answer/81126#authentication</a> for <br />550 5.7.26 instructions on setting up authentication. <br />u189-20020a6385c6000000b00534866eb2c2si6840784pgd.835 - gsmtp (in reply to <br />end of DATA command) <br /> <br /> <br />Reporting-MTA: dns; relay-001-01.cafe24.com <br />X-Postfix-Queue-ID: A67D97A2A29 <br />X-Postfix-Sender: rfc822; <a href=mailto:blrun@daum.net>blrun@daum.net</a> <br />Arrival-Date: Sun, 23 Jul 2023 22:07:44 +0900 (KST) <br /> <br />Final-Recipient: rfc822; <a href=mailto:mesinzer@gmail.com>mesinzer@gmail.com</a> <br />Original-Recipient: rfc822;<a href=mailto:mesinzer@gmail.com>mesinzer@gmail.com</a> <br />Action: failed <br />Status: 5.7.26 <br />Remote-MTA: dns; gmail-smtp-in.l.google.com <br />Diagnostic-Code: smtp; 550-5.7.26 This mail is unauthenticated, which poses a <br />security risk to the 550-5.7.26 sender and Gmail users, and has been <br />blocked. The sender must 550-5.7.26 authenticate with at least one of SPF <br />or DKIM. For this message, 550-5.7.26 DKIM checks did not pass and SPF <br />check for [daum.net] did not pass 550-5.7.26 with ip: [222.122.197.166]. <br />The sender should visit 550-5.7.26 <br />https://support.google.com/mail/answer/81126#authentication for 550 5.7.26 <br />instructions on setting up authentication. <br />u189-20020a6385c6000000b00534866eb2c2si6840784pgd.835 - gsmtp <br /> <br />[필수정보] <br />- 대상아이디 : blrun <br />- 테스트정보 : 해당없음 <br />- 발생시점 : 2023년 7월 23일 일요일 오후 10시 7분경 지메일을 가진 원덧글 작성자에게 답덧글을 달아 사이트에서 보낸 메일이 반송이 됨. <br />- 문제되는 증상 : 이 사이트 메일이 반송된 원인을 알고 싶습니다. <br />- 상세 문의내용 : 상기에 기술 <br />- 고객님의 자료 열람,수정 및 FTP에 파일 생성 동의 : 동의 <br /> <br /> <br />※ 문의하신 내용에 따라 문제를 확인/조치해드리기 위해서 고객센터에서 고객님의 자료를 열람, 수정 및 FTP에 파일 생성(임시파일, 백업파일, 로그파일 등)을 할 수 있습니다. 동의하시지 않으면 문의 처리에 상당히 제한적일 수 있습니다. <br /> <br />※ 다수 문의를 남겨주실 경우 유관부서별로 확인이 필요하여 답변처리가 지연될수 있으므로 문의별로 각각 접수 부탁 드립니다. <br /> <br />[카페24 답변] <br />안녕하세요. <br />카페24 호스팅센터입니다. <br />&nbsp; <br />문의주신 내용 확인시 메일발송자를 from=&lt;<a href=mailto:blrun@daum.net>blrun@daum.net</a>&gt; 으로 daum.net 으로 하신걸로 확인됩니다. <br />이로인해 gmail스팸정책으로인해 발송자의 도메인 SPF레코드값과 실제 발송된 서버IP주소가 일치하는지 체크하는과정에서 @daum.net 도메인의 SPF레코드와 카페24 서버IP주소가 일치하지않아 문제가되는 부분으로 daum.net 도메인에 SPF레코드값을 등록을할수 없으므로 메일발송 smtp정보를 daum.net 쪽 smtp 정보로 수정을해보시거나 <br />혹은 고객님이 직접 도메인에 SPF레코드값을 입력을할수있는 이메일주소로 변경후 발송을해보시기 바랍니다. <br />&nbsp; <br />다른 문의가 있으시면 언제든지 게시판으로 문의주시기 바랍니다. <br />성심성의껏 안내해 드리겠습니다. <br />&nbsp; <br />감사합니다. <br />============================================================================ <br /> <br />제목: 지금 소스 수정하면서 테스트 중인데 로그인 후 번호인증 메일이 너무 늦게 도착해 자꾸 시간 초과가 됩니다. 2023.08.13 <br /> <br />[현재 상황 및 문의 내용] 이슈 현상 및 문의 내용을 기재해 주세요. <br />예전부터 이 사이트 계정에서만 발생하던 문제점인데요 지금 이 계정에서 소스 수정하면서 테스트 중인데 로그인 후 번호인증 메일이 너무 늦게 도착하여 자꾸 3분의 인증 메일 확인을 위한 제한 시간이 자꾸 초과가 됩니다. <br /> <br />이것 확인 후 제가 가진 blrun 자이언트 상품 계정과 동일하게 사이트 메일이 동작하도록 서버 설정 부탁드립니다. 너무 불편하니 꼭 좀 확인 후 필요한 조치 부탁드립니다. <br /> <br />[필수정보] <br />- 대상아이디 : blrun2 <br />- 테스트정보 : DB 멤버 테이블에서 sprdrg 아이디의 email 필드를 담당자님 아메일로 변경한 뒤 아래 테스트 로그인 정보를 사용하여 한번 테스트 해보세요. 인증번호 메일이 너무 늦게 도착해 거의 로그인을 할 수가 없어 소스 테스트에 어려움이 많습니다. <br />- 발생시점 : 2023년 8월 14일 오전 9시 29분 전후 이전부터 죽 그랬음. 9시 35분 전후에 발송된 인증메일도 그랬음.(아래 해당 시간에 mail 함수로 발송된 메일의 발신자와 수신자 이메일 주소를 기재해 드립니다) <br />발신자 관리자 메일 주소: <a href=mailto:blrun@daum.net>blrun@daum.net</a> <br />수신자 이메일 주소: <a href=mailto:blrun@hanmail.net>blrun@hanmail.net</a> <br />- 문제되는 증상 : 로그인 시 인증번호 메일이 너무 늦게 도착하여 로그인을 할 수가 없음 <br />- 상세 문의내용 : 상기에 기술 <br />- 고객님의 자료 열람,수정 및 FTP에 파일 생성 동의 : 동의 <br /> <br /> <br />※ 문의하신 내용에 따라 문제를 확인/조치해드리기 위해서 고객센터에서 고객님의 자료를 열람, 수정 및 FTP에 파일 생성(임시파일, 백업파일, 로그파일 등)을 할 수 있습니다. 동의하시지 않으면 문의 처리에 상당히 제한적일 수 있습니다. <br /> <br />※ 다수 문의를 남겨주실 경우 유관부서별로 확인이 필요하여 답변처리가 지연될수 있으므로 문의별로 각각 접수 부탁 드립니다. <br /> <br />[답변] <br />안녕하세요. <br />카페24 호스팅센터입니다. <br /> <br />알려주신 방법으로 테스트 해보니 메일 서버의 문제는 아니며 구글에서 메일수신을 거부 하고있습니다. <br /> <br />메일 로그를 살펴보면 거부 하는 이유가 아래와 같습니다. <br /> <br />5.7.26_This_mail_is_unauthenticated,_which_poses_a_security_risk_to_the/550-5.7.26_sender_and_Gmail_users,_and_has_been_blocked._The_sender_must/550-5.7.26_authenticate_with_at_least_one_of_SPF_or_DKIM._For_this_message,/550-5.7.26_DKIM_checks_did_not_pass_and_SPF_check_for_[daum.net]_did_not_pass/550-5.7.26_with_ip:_[183.110.224.48]._The_sender_should_visit/550-5.7.26__<a href=https://support.google.com/mail/answer/81126#authentication_for/550_5.7.26_instructions_on_setting_up_authentication._e15-20020a17090301cf00b001bc028375aasi3043890plh.538_-_gsmtp/ target=_blank>https://support.google.com/mail/answer/81126#authentication_for/550_5.7.26_instructions_on_setting_up_authentication._e15-20020a17090301cf00b001bc028375aasi3043890plh.538_-_gsmtp/ </a><br /> <br />발송 주소를 <a href=mailto:blrun@daum.net>blrun@daum.net</a> 로 설정 하신 것이 문제인데 <br />대부분의 포탈 메일은 SPF 검증을 합니다. spf 는 발송 도메인의 DNS 레코드에 발송 지 서버의 아이피를 입력 하여 <br />발송 메일 서버를 인증 하는 정책입니다. 도메인을 연결 하신 후 해당 도메인의 SPF 레코드를 카페24 서버인 183.110.224.48 아이피 값으로 입력 하시면 메일 발송 문제는 해결 될 것으로 보입니다. <br /> <br />다른 문의가 있으시면 언제든지 게시판으로 문의 주시기 바랍니다. <br />성심성의껏 안내해 드리겠습니다. <br /> <br />감사합니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 15일 Tuesday PM 03:11:57 이윤찬 Tue, 15 Aug 2023 15:11:57 +0900 6 https://www.blrun.net/bbs/zboard.php?id=basket1&no=370 쓰레기통 > 블록 이윤찬 - 브라우저에서 여러분 고객센터 등에 글을 작성할 때 자꾸 오타가 발생하는 것 같지 않나요? (1) https://www.blrun.net/bbs/zboard.php?id=basket1&no=369 이번에 카페24에 중요한 문제로 문의하는 과정에서 오페라나 크롬 브라우저 등에서 전 올바르게 분명히 맞게 타이핑을 했는데 꼭 보면 나중에 받침이나 자모 오자가 보여 여러번 수정하기를 반복하게 되는데 이것 보니까 브라우저 동작 상의 대단히 큰 음모가 도사리고 있는 걸 제가 다시한번 알아차렸습니다. 제가 아래 링크에서 예전에 카톡에서도 그런다고 한번 안급을 드린 적이 있습니다만 이것 좀 사악하고 심각하더라구요. <br /> <br />여러분은 브라우저 사용하시면서 그런 적 없으셨는지... 이게 사용자가 타이핑을 할 때 조합 순서를 바꾸든지 다른 자모로 바꿔치기하거나 누락시키는 수법을 쓰고 있는 것 같은데 왜 크롬과 오페라 등의 브라우저에선 이같은 기능을 내재해 유저들 골탕을 먹인다고 생각하십니까? <br /> <br />아마도 브라우저 제작자들과 이들 고객센터에 근무하는 사람들과 어떤 동류 의식을 느끼고 그런 짓을 하고 있는 것 같은데 이게 여러분 있을 수 있는 일인가요? 이게 보니까 타이핑 과정 중에도 발생하지만 업로드한 내용을 이런 식으로 변조하는 케이스도 좀 있는 것 같더라구요. <br /> <br />물론 여기엔 인공지능 기술이 사용됐을 수도 있습니다. 뭔가 사람들이 너무 타이핑을 잘해서 고객문의가 빗발치니까 이런 식으로 겐세이를 한다고나 할까요? 이번에 카페24에 문의한 내용은 앞으로 소개해 드릴 기회가 있을지도 모르겠네요. <br /> <br />굉장하지 않나요? 헐~ <br />ㅡ_ㅡ <br /> <br />관련 포스트 - <a href=https://bit.ly/3qzmcCn target=_blank>https://bit.ly/3qzmcCn</a><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 15일 Tuesday PM 02:27:48 이윤찬 Tue, 15 Aug 2023 14:27:48 +0900 1 https://www.blrun.net/bbs/zboard.php?id=basket1&no=369 쓰레기통 > 일반 이윤찬 - 제 사이트 게시판에서 회원이 작성한 비밀글의 조회수가 일괄 변조된 일이 있었습니다. (1) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3506 일전에 제 사이트 각 카테고리의 제가 올린 비밀글들이 새벽에 일괄적으로 조회수가 18회, 회사 다녀와서 +18회 해서 36회로 변조된 일이 있었습니다. 그 뒤로 카페24 고객센터에 한번 문의해봤는데 담당자 SQL 인젝션이 날로 진화하니 소스 차원의 분석과 대비가 필요하다고 해서 해킹이 이뤄진 시간대의 로그를 건네받아서 그 안의 UTF-8 스트링이 들어간 SQL 인젝션 로그를 역변환해 나름 분석해 본 뒤 제 사이트에서 브라우저 상단 주소표시줄에 대고 SQL 공격 스트링을 동일하게 대부분의 유형을 다시 다 실행해 봤지만 먹히지를 않았기 때문에 이게 어떤 식으로 해킹이 됐는지 DB 차원의 해킹일 수도 있어서 일단 SQL 인젝션에 대한 보안 취약점을 보강한다고 소스를 일부 수정해 준 일이 있었는데 카페24 담당자 말은 명확한 원인은 현재 모르는 상태고 SQL 인젝션은 날로 진화하기 때문에 100% 막아내기는 힘들거라는 겁니다. <br />(그 때 시도된 대부분의 많은 SQL 인젝션 공격은 ModSecurity 모듈에 의해 차단이 된 듯 했고 쿼리가 실행된 로그도 많이 있었지만 실제로 사이트에 대고 실행해 보면 로그가 누락이 됐는지 먹히는 게 하나도 없었습니다) <br />ㅡ_ㅡ <br /> <br />그 때 안 먹히는 SQL 인젝션 시도를 계속했던 그 아이피 근원지가 어디였을까 후이즈에서 조회해보니 미국의 "디지털오션" 이라는 웹클라우드 호스팅 기업이었는데 일전에 거기서 작성한 블로그에서 본 내용으로 오드로이드-M1 마이크로서버에 설치된 우분투 20.04.5 LTS + Apache 2.4.41 + MySQL 8.0.3 + PHP 7.4.3 환경에서 이번에 <a href=https://삼성산뜨란채.kr/ target=_blank>https://삼성산뜨란채.kr/</a> 웹서버를 보안성 있게 구축했던 일이 있었거든요. <br /> <br />왜 그런 곳에서 이런 해킹 시도를 할까 암튼 희안한 일이었는데 물론 당시 전 거기서 전부의 도움을 얻은 건 아니고 상당 부분의 도움을 얻었지만 그 때 MySQL 8.0.3 셋팅 후에 갑자기 아파트 홈페이지 회원들의 로그인이 안되는 현상이 발생해서 봤더니 MySQL의 password() 함수가 없어져서 그런 걸 알아내고 바로 MySQL 8.0.3을 완벽히 제거 후 MariaDB 10.3.37 버전으로 셋팅해 이 문제의 해결을 보았습니다. <br /> <br />변조된 조회수는 최근에 제가 DB 쿼리문을 실행해서 다시 0으로 일괄 환원해 놓긴 했습니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 15일 Tuesday AM 06:56:51 이윤찬 Tue, 15 Aug 2023 06:56:51 +0900 1 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3506 ▶이윤찬의 알파와 오메가◀ > 코딩 이윤찬 - 요새 식사 때 사진 촬영을 하지 않으면 前 식사 시간에 무얼 먹었는지 잘 기억이 안납니다. ㅋㅋ 그래서 냉장고를 열어보곤 하네요. ^^; https://www.blrun.net/bbs/zboard.php?id=blog1&no=3504 헐~ 아까 아침에 먹은 오이무침/삶은계란/호박볶음 중에 호밖볶음이 영 생각이 안났는데 아버지한테 여쭤보니 아버지는 기억하셔서 겨우 음식일기를 작성할 수 있었는데 요새 단기(치매는 초단기 기억 까지 잘 안난다고 합니다) 기억이 좀 떨어진 것 같아서 아버지 말은 정신과 외래 담당 의사 선생님한테 말해보라고 하시는데 약 1년 10개월 남짓 전에 병원에서 연구 목적의 뇌기능 및 IQ와 인지 기능 검사를 한 적이 있었고 그 때 반응시간이 그 검사 하기 이전의 오래 전 검사보다 약간 떨어지고 기억력은 오래 전(2005년 당시) 데파코트정 500mg(디발프로엑스나트륨 성분)과 아티반정 1mg(로라제팜 성분 0.5mg 두 알) 먹을 당시의 검사 때 많이 떨어진 결과가 나왔다는 얘길 들었기 때문에 그리 놀랄 일은 아닙니다만 요샌 작년부터 리스페달약만 먹기 시작하면서 올 3월 말에 리스페달을 2mg 용량까지 줄여 먹으면서 이렇게 前 식사 때 먹은 음식에 주의를 기울이지 않아서 그런지 어떤 음식을 먹었는지 85세 잡수신 아버지보다 잘 생각이 나지 않는 경우가 있어서 외래 때 한번 말이나 해보자 싶은 생각이 들더라구요. <br />^^; <br /> <br />암튼 오늘 갑자기 이 이야기를 들려주고 싶었습니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 14일 Monday PM 02:11:24 이윤찬 Mon, 14 Aug 2023 14:11:24 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3504 ▶이윤찬의 알파와 오메가◀ > 미분류 이윤찬 - 오늘 아침 어머니와 오무론 혈압기 완장을 왼쪽에다 차는지 오른쪽에다 차는지 하는 문제로 한바탕 시끄러웠네요. 못 말립니다. 완장이 왼쪽에서 나오니까 당연히 왼쪽 팔뚝에다 차야지요. https://www.blrun.net/bbs/zboard.php?id=blog1&no=3503 아이참 어머니 때문에 미치겠네요. 사진과 같이 오무론 혈압기에서 왼쪽으로 완장이 나오기 때문에 제가 왼쪽 팔뚝에다 대고 혈압을 재라고 어머니한테 말씀드렸는데도 의사가 오른쪽 팔뚝에다 대고 혈압을 재라고 했다고 극구 말을 듣지 않으시고 [사진1] 처럼 오른쪽 팔뚝에다 엇갈려서 완장을 차고 혈압을 재시네요. 헐~ 오늘 아침 이것 때문에 또 한바탕 시끄러웠습니다. <br />ㅡ_ㅡ <br /> <br />[사진2]는 제가 바른 위치로 혈압을 재고 있는 모습입니다. <br /> <br />[사진1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%BE%EE%B8%D3%B4%CF_%BF%C0%B9%AB%B7%D0_%C7%F7%BE%D0%B1%E2_%C0%DF%B8%F8_%BB%E7%BF%EB%C7%CF%BD%C3%B4%C2_%B8%F0%BD%C0.jpg' align='' width='1536' height='2048' vspace='0' hspace='0' border='1'> <br /> <br />[사진2] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%BF%C3%B9%D9%B8%A5_%C0%A7%C4%A1%B7%CE_%B3%BB%B0%A1_%C7%F7%BE%D0%C0%BB_%C0%E7%B0%ED_%C0%D6%B4%C2_%B8%F0%BD%C0.jpg' align='' width='1836' height='2447' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 14일 Monday AM 06:26:38 이윤찬 Mon, 14 Aug 2023 06:26:38 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3503 ▶이윤찬의 알파와 오메가◀ > 미분류 이윤찬 - 오늘 어머니가 이불 한 개 들고 빨래방에 가자고 해서 갔다가 기운 쭉쭉 빼고 왔습니다. https://www.blrun.net/bbs/zboard.php?id=blog1&no=3501 오늘 어머니랑 이불 한 개 들고 동네 입구 셀프 빨래방에 갔다가 저 뿐 아니라 빨래하러 온 손님에게 까지 어머니의 혼비백산 질문 공세와 빨래 다 끝나고 나서 건조기 사용법에다 집에 와서 중간에 과자 사 온 비용 정산 까지 거의 1시간 넘게 시달렸더니 엄청 힘이 드네요. <br /> <br />빨래 끝나고 아파트 올라오다 슈퍼에 들러 산 과자가, 오랜만에 진짜 먹고 싶었던 꼬깔콘 134g 짜리였는데 집에 도착하자마자 신나게 먹다가 어머니한테 3분의 1도 못 먹고 뺐겨 집안이 더 시끄러웠네요. <br /> <br />아버지는 어머니와 제가 씨름하는 소란에 진작 산책하러 나가시고 완전 죽을 맛이었습니다. 어머니더러 담 번부터 저 혼자 다녀온다고 했습니다. <br />ㅡ_ㅡ<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 13일 Sunday PM 04:09:59 이윤찬 Sun, 13 Aug 2023 16:09:59 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3501 ▶이윤찬의 알파와 오메가◀ > 미분류 이윤찬 - 요새 사람들이 윈도우즈10 업데이트를 안하니까 PC에서 어떤 문제가 발생하면서 업데이트를 유도하는 케이스가 부쩍 많아졌습니다. https://www.blrun.net/bbs/zboard.php?id=blog1&no=3499 예전엔 이렇지 않았는데 이런 케이스가 부쩍 늘어났습니다. 앞으로 마이크로소프트는 유저들로 하여금 이렇게 밑도 끝도 없는 업데이트를 언제까지 계속하게 할 생각인지 정말 어처구니가 없다는 생각이 듭니다. <br /> <br />뭔가 업데이트를 수렴하게 만들어야 하는데 이렇게 되면 나중에 윈도우즈10의 소위 지원기간이 만료되면 이런 식으로 특정한 문제(블루스크린/먹통증상/응답없음/랙/타이핑딜레이/단축메뉴열기지연/열리는속도지연/실행속도지연/메뉴깨짐/USB인식불량)를 야기시킨 채로 방치해서 차기 윈도우즈 버전을 사용하도록 또 악마의 스킬을 사용할 것이 뻔합니다. 거기엔 어떤 장인 정신이나 공적 책임 같은 건 없구요. <br /> <br />분명히 여기서 말해 두지만 저 같은 경우는 차기 윈도우즈 버전 업그레이드는 없습니다. 애플과 마이크로소프트가 제가 가진 10대의 PC와 3대의 아이폰을 어떤 식으로 망가뜨리고 괴롭히는지(주: 안드로이드 Go 태블릿과 오드로이드-M1도 가지고 있습니다) 제 두 눈으로 직접 다 확인한 다음 도저히 안되겠다 싶으면 PC방을 이용하든지 할 생각입니다.(그게 오랜 시간 추후 소요될 비용을 합쳤을 때 더 싸게 먹힐 수도 있습니다) <br /> <br />농담이 아닙니다. 포탈 블로그 이용 중단 처럼 전 한다면 합니다. PC 사용하지 않아도 크게 불편함이 없습니다. 저도 나이를 먹었고 부모님을 옆에서 한 시간 더 보살펴 드리면서 제 개인 시간을 갖도록 하겠습니다. 이런 식으로 계속 악행을 저지르는 사기꾼들을 제 자존심이 더 이상 허락을 하지 않기 때문입니다. <br /> <br />여기에 대한 책임은 전적으로 그 사기꾼들에게 있으며 이는 우리가 그 사기꾼들에게 농락당하느냐 한 수를 가르쳐 주느냐의 갈림길에 있는 것이기 때문에 중요한 대목입니다. 모든 일의 근본은 자기 자신의 행동 여하에 달려있다는 삶의 기본 원리를 여러분도 꼭 유념해 두십시요. 오랜 시간 윈도우즈와 애플 아이폰을 사용하면서 전 이 같은 결론을 내리게 됐고 이게 가장 최선의 길이란 사실을 깨달았습니다. <br /> <br />여러분은 앞으로 신뢰를 저버리고 이익과 돈, 백도어 설치만을 좇는 기업이 망가질 수 있는 최대한의 악행을 목격할 가능성이 있고 전 그걸 거부하겠다는 뜻입니다. 어차피 차기 OS 구입은 글렀으니 제 사이트 처럼 최대한 업데이트를 수렴시키고 문제가 있다면 정직하게 그걸 사용자들에게 적극적으로 알리고 그에 맞는 패치를 개별적으로 제공하십시요. 지금처럼 어떤 업데이트가 이뤄지는지 모르는 상태에서 특정한 문제를 발생시켜서 싸잡아서 믿을 수 없는 업데이트 까지 하도록 유도하지 말구요. <br /> <br />그게 제가 바라는 요구사항입니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 12일 Saturday AM 06:23:04 이윤찬 Sat, 12 Aug 2023 06:23:04 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3499 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - [덧글이 중요] 오늘 회사 작업 컴 시게이트 하드가 SeaTools 검사 도중 어떤 인터럽트 신호에 의해 로그도 없이 프로그램이 종료됐던 문제와 드랍박스 장치 끊고 로그인할 때 알 수 없는 문제로 로그인 안되는 현상 외 2건 (6) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3497 <b>1.</b> 제가 어제 <a href=https://bit.ly/453FWSz target=_blank>https://bit.ly/453FWSz</a> 여기서 말씀드렸던 시게이트 1TB 하드의 불량 여부를 진단하기 위해 SeaTools 1.10 버전의 프로그램으로 쇼트 테스트가 통과하는 걸 봤고 롱 테스트를 걸어놓고 계속 지켜보고 있었는데 대표님이 자기가 본다고 퇴근을 하라고 해서 그 길로 집엘 왔고 얼마있다 대표님한테 카톡이 와서는 화면 상태를 촬영한 걸 보여줘서 보니까 이게 정상적으로 테스트가 완료되어 에러 유무를 표시해 준 게 아니라 비정상적으로 어떤 인터럽트 신호에 의해 SeaTools DOS용 CLI v1.10 프로그램이 그냥 종료가 됐더라구요. <br /> <br />이걸 어떻게 알았냐 하면 오늘 다시 회사에서 혹 검사 프로그램 문제인 줄 알고 SeaTools DOS용 CLI v1.12 최신 버전의 프로그램을 다운로드 받아 부팅CD를 만들어 테스트 하는 과정에서 [그림1]의 48%를 지나 65% 정도 까지 정상적으로 롱 테스트(읽기 검사)를 완료하는 걸 보았고 다시 대표님이 화면을 걸어놓고 식사하고 오자고 해서 식사 하고 와 보니 다시 SeaTools DOS용 프로그램이 [그림2]와 같이 종료가 돼 있었다는 사실이고 여기에 나타난 영문 메시지를 보면 *.LOG 파일을 C: 드라이브에서 찾아 보라고 돼 있어서 해당 로그 파일 한 개가 오늘 날짜로 생성된 게 보여서 그걸 type 명령어로 들여다 봤는데 보통 하드 검사 도중 누군가 Esc 키나 a키로 검사를 중단하고 나서 q키를 눌러 프로그램을 빠져나오면 사용자에 의해 프로그램 실행이 중단되었다고 그 로그 파일 끝에 읽기 검사 시작 시간 밑에 한 줄로 보이는데(이건 집에 와서 세컨드 컴으로 직접 테스트를 했습니다) 제가 식사하고 와서 [그림2]를 목격하고 해당 로그 파일을 들여다 봤을 땐 쇼트 테스트를 패스한 기록 한 섹션과 이어서 롱 테스트를 기록한 섹션 중 읽기 검사 시작한 시간만 마지막 줄에 표시돼 있을 뿐 사용자에 의해 프로그램이 중단되었다는 기록은 없는 걸로 봐서는 누군가 사무실에 들어와서 프로그램을 중단한 게 아니라 어떤 원격 인터럽트 신호에 의해 프로그램이 비정상적으로 종료가 됐기 때문입니다. <br /> <br />근데 이상한 게 이 하드는 바이오스 상으로 인식이 됐다 안됐다 하는 증상이 한 두 번 있었고 인식이 됐을 땐 외장 하드로의 백업도 500GB 온전히 다 이뤄졌다는 것이고 어제 목격했던 증상은 I/O 에러가 뜨면서 이미지 폴더 내의 특정 2023년 폴더가 이 에러가 뜨면서 접근이 안되는 증상이었는데 오늘은 또 해보니까 한번은 제대로 잘 되다가 부팅 우선 순위 지정한 뒤 부팅했더니 바탕화면이 통째로 안보였다가(데이타 파티션 하드가 인식이 안되면 이렇게 바탕화면이 통째로 사라집니다) 컴을 끄고 3분 있다 다시 켰더니 다시 잘 동작하는 거였습니다. 그래서 아까 말씀드렸던 그 이후의 SeaTools의 종료 증상이 더욱 의구심이 들었는데 한마디로 어떤 해커가 사무실 HDD 하드가 정상인지 비정상인지 DOS 유틸로 검사하는 걸 방해하고 있다는 생각이 들었고 그건 이틀에 걸쳐 검사가 잘 진행되다가 제가 자리를 비우고 나서 얼마 있다 프로그램이 비정상적으로 종료가 되면서 그게 로그 기록에도 전혀 남지 않았기 때문에 더욱 그런 의심을 했습니다. <br /> <br />지금 대표님이나 저나 이 하드가 정말로 고장이 났는지에 대해서 대단히 큰 회의심을 갖고 있습니다. 혹시 어떤 개발자 해커가 하드디스크 사용 기간에 대한 만료 시간을 두어 이런 인터럽트 신호에 의해 하드가 바이오스에서 인식이 됐다 안됐다 하는 증상을 야기시키는 건 아닌지 의심을 품고 있습니다. 왜냐하면 어제도 오늘도 그 1TB 시게이트 하드의 500GB 나 되는 용량을 두 번이나 외장 하드로 100% 증분 백업을 다 받았다는 사실이고 꼭 어제 웬디 4TB로 백업할 때만 서두 링크를 보시다시피 문제를 일으켰는데 여러분은 이런 하드디스크 고장에 대해서 어떻게 생각하십니까? <br /> <br />왜 하드가 시간을 두어 몇 번 인식이 됐다 안됐다 하고 I/O 에러가 뜨는 것 까지는 좋은데 왜 그 이후로 정상 동작하냐는 것이며 더욱 이상한 건 왜 SeaTools 프로그램이 검사 결과를 알려주지 않고 자리를 비울 때 비정상적으로 종료가 되느냐는 거지요. 계속 지켜보지 못한 것이 억울할 정도인데 65% 까지 정상 읽기 테스트에 통과한 하드디스크가 왜 식사를 하고 오니까 에러 유무를 표시해 주지 않고 그냥 사람이 종료한 것이 아닌 비정상적인 인터럽트 신호에 의해 프로그램이 그냥 종료돼 있느냐는 거죠. <br /> <br />이것 무지 이상합니다. 여러분은 무척 이상하지 않으신지... SeaTools 많이 써보신 분은 아실 겁니다. <br /> <br />[그림1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_08_11_016.JPG' align='' width='3264' height='2448' vspace='0' hspace='0' border='1'> <br /> <br />[그림2] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_08_11_017.JPG' align='' width='3264' height='2448' vspace='0' hspace='0' border='1'> <br /> <br /> <br /><b>2.</b> <a href=https://bit.ly/3DFdzOI target=_blank>https://bit.ly/3DFdzOI</a> 여기서 제가 단축메뉴가 엄청 늦게 열린다고 말씀드렸는데요 이게 척 보니까 단축메뉴가 예전에 두더지 처럼 열린다는 문제 등을 제가 언급한 적이 있는데 이런 보안 문제를 해결한답시고 이걸 이렇게 만들어놓지 않았나 싶은데 웃기는 게 FX-4100 HDD 데이타 파티션에서 이렇게 단축 메뉴 열리는 속도를 환장하게 느리게 만들어 놓는다는 건 아무리 코딩이 보안 문제와 연계가 돼 있다고 하더라도 이렇게 프로그램을 만드는 건 아니거든요. 발로 코딩하였거나 아니면 일부러 사용자 컴을 느리게 할 목적으로 이렇게 아이튠즈 업데이트 내지 윈도우즈10 업데이트를 했다는 소리밖에 안되는데 이게 심각한 게 유저 입장에선 이 FX-4100 주컴이 상당히 소중한 컴인데 이걸 이런 식으로 동작하게 만들어놨다는 건 도저히 용납이 안되는 사안이라는 거죠. 이걸 강조드리고 싶구요 현재도 이 문제는 계속 방치되고 있습니다. <br /> <br /> <br /><b>3.</b> 드랍박스 여러분도 써보셨는지 모르겠지만 이게 로그인 단계에서 뭔가 수시로 프로그램이 새로고침 되면서 업데이트 되는 것 같았고 최대 3개 기기 까지 로그인 유지를 할 수 있어서 제가 이동 중 기기 한 개와 저녁에 책 정리하는 용도로 사용하는 레고르 X2 260 컴만 장치 연결을 해제하지 않고 다른 컴들은 사용할 때마다 연결을 끊고 다시 로그인을 하여 사용하는데 이게 결정적으로 드라이브 레터 엑박 오류가 한 개 보이고 나서 아래 [그림1] 과 같이 잦은 빈도로 "요청을 완료하는 도중 문제가 발생했습니다" 가 보이면서 계속 로그인 시도를 하게 만들고 문자인증 번호 입력하는 창이 열리지 않는다는 사실이고 이것 때문에 매번 드랍박스 로그인을 못하고 USB 동기화를 이용한다는 것이고 예전에는 발생하지 않았던 문제이기 때문에 얘네들 보니까 동기화 기기에 제한을 걸지 않는 유료 플랜으로 유저를 유도하기 위해 좀 상습적으로 저지르는 일이거나 누군가 네트워크 연결을 감시하면서 훼방을 놓고 있는 것 같다는 생각이 들었습니다. 즉 드랍박스가 저지르는 문제라기 보다 1번의 경우처럼 어떤 인터럽트 신호에 의해 제 3자가 저지르는 문제일지도 모른다는 거지요.(그게 드랍박스 개발자 해커인지는 모르겠지만) <br /> <br />[그림1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%B5%E5%B6%F8%B9%DA%BD%BA_%B7%CE%B1%D7%C0%CE_%B9%AE%C1%A6_%B5%E5%B6%F8%B9%DA%BD%BA%C0%C7_%B9%AE%C1%A6%B0%A1_%BE%C6%B4%D2_%BC%F6_%C0%D6%B4%D9.png' align='' width='802' height='552' vspace='0' hspace='0' border='1'> <br /> <br /> <br /><b>4.</b> 또 한가지가 있습니다. OpenVPN이 제가 문제 있다고 계속 말씀드렸는데 이게 보니까 수시로 최대 2개 연결 까지 이용할 수 있다고 뜨면서 기존 연결이 해제가 된다는 사실입니다. 이는 현재 제가 눈 앞에서 1개 기기 사용하고 있는 걸 아는데도 또 2개 까지 다 사용하고 있는 걸 아는데도 계속 이 메시지가 뜨면서 기존 연결이 끊어지기 때문에 상당히 불편합니다. 전 처음에 누군가 제 OpenVPN 연결 계정에 몰래 들어와서 이용하고 있는 건 아닌가 의심까지 했는데 그게 신빙성이 있는 게 OpenVPN 액세스 서버가 집에 마이크로 서버로 구축이 돼 있고 그걸 이용 OpenVPN 회사가 다른 유저에게 유료로 VPN 서비스를 제공하면서 그 액세스 서버를 이용하게 하는 건 아닌가 싶은 생각이 들었기 때문입니다. 상당히 신빙성이 높습니다. 그렇게 했다면 적어도 원래 주인의 VPN 서비스는 방해하지를 말아야죠. 안그렇습니까? <br />ㅡ_ㅡ <br /> <br /> <br />오늘 이 네 가지 문제로 엄청 당황을 하고 의심을 하고 신경을 썼는데 세상이 다 염세적으로 보이면서 언젠가는 이것도 언급하고 가야할 문제라서 이렇게 게시판의 글로 작성해 봤습니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 11일 Friday PM 06:01:05 이윤찬 Fri, 11 Aug 2023 18:01:05 +0900 6 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3497 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - 동네 아파트 전자투표 운영 방식에 한가지 헛점이 존재하더라구요. https://www.blrun.net/bbs/zboard.php?id=clmn1&no=1266 요새 아파트 주요 현안에 대해 관리기구가 전자투표를 실시하는 경우가 있는데 지난 회기 때 한번 전자투표 하라고 메시지가 와서 링크를 클릭, 시도했을 때 동/호수 확인하고 나서 아버지 이름이나 제 이름, 또는 어머니 이름을 치고 투표를 하려고 했지만 이상하게 투표가 안돼서 관리소에 전활 한 적이 있었고 세대주가 누구냐고 해서 어머니 노XX 아무개로 돼 있지 않냐고 물었더니 이XX 아무개로 돼 있다고 해서 저희 아버지가 세대주로 등록이 돼 있나보더라고 말하자 당시 "그럼 투표 시 아버지 이름으로 치고 들어가서 할 수 있도록 해드렸다" 고 해서 당시엔 제 스마트폰으로 아버지 이름을 치고 들어가 전자투표를 했는데 이게 보니까 어제 화요일에는 저희 동 동대표 보궐선거 투표를 하려다 보니까 투표 메시지 링크를 클릭했을 때 사전에 접속자 핸드폰으로 번호 인증을 한번 받았고 이후에 제 이름을 치고 투표를 시도했지만 또 안돼서 다시 관리소엘 전화했더니 아마도 세대주인 이XX 아무개의 휴대폰이 아니라서 그런 걸 거라고 해서 이것 투표하려면 어떻게 해야 하냐고 하니까 관리소에 한번 찾아오시든지 전화 상으로 지금 전화주신 분을 세대주로 등록해 놓으면 담번 투표부터 이XX 아무개 아버지 분 말고 본인 이윤찬 휴대전화로 투표를 하실 수 있을 거라고 해서 그럼 그렇게 처리해 달라고 말하고 이번 회차 투표는 어떻게 되는 거냐고 물으니까 낼 모레 목요일부터 경비초소에 비치해 놓는 기표용지로 투표를 할 수 있다고 해서 그럼 그렇게 해달라고 말하고 전화를 끊었는데 오늘 수요일 아침, 아직 저희 집이 투표 완료가 안돼서 또 카톡 통해서 투표를 할 수 있는 메시지가 왔고 그걸 다시 클릭해 제 이름을 치고 투표를 테스트로 한번 다시 시도해 보니 투표자 명단에 등록돼 있지 않다고 확인해 달라는 안내가 뜨먼서 진행이 안돼 그길로 조금 전 관리소엘 찾아갔고 어제 전화드렸던 사람인데요 관리소 찾아오면 전자투표 할 수 있다고 해서 찾아왔다고 하니 신분증 가져왔냐고 해서 안가져왔다고 하니 이름과 휴대전화번호, 세대인 명부를 확인하더니 이미 말씀드렸지만 담번 회차부터 전자 투표를 본인 명의의 스마트폰으로 할 수 있을 거라고 해서 여기 오면 전자투표를 할 수 있다고 해서 찾아왔는데 이번 회차는 안되는 거냐고 하니까 자기 스마트폰을 보여주더니 거기서 308동 403호를 선택해 이름을 치라고 하면서 사인 받고 투표를 그 폰에서 할 수 있었다는 것이고 제가 이상하게 생각했던 건 전자투표를 할 당시, 본인 인증을 확인 한 다음 그 사람이 각 세대의 세대주로 확인된 사람인지만 대조해서 투표를 처리하면 될 일을 이렇게 정작 투표 시엔 본인 인증을 거치지 않고 직원 스마프폰으로 직접 임의대로 투표할 수 있도록 시스템이 돼 있다는 사실이었습니다. <br /> <br />뭔가 관리소 운영 권한으로 직권 투표할 수 있는 시스템이 같이 마련돼 있는 듯 했는데 이것 좀 위험한 발상이겠더라구요. 설사 그 사람이 관리소 직원이라고 하더라도 누구든 본인 인증을 받아야 하고 조회 결과 아파트 각 동/호수 세대주로 등록돼 있지 않은 경우엔 절대 투표할 수 없게 시스템 운영을 고쳐놔야 한다는 것입니다. 물론 본인 확인은 어제 처럼 접속할 때 무조건 확인하는 것이 아닌 투표 직전에 투표 자격이 있는 사람인지 조회하는 용도로 한 번 확인해 투표를 진행해야 합니다. <br /> <br />이게 기본인데 이번 전자투표 시스템에선 이게 제대로 안갖춰져 있다는 거죠. 물론 있을 수 없는 일이지만 이렇게 해야 투표율 저조 등의 사유로 관리사무소가 임의대로 특정 세대 투표를 하는 상황을 철저하게 막을 수 있고 지금처럼 관리소 직원의 스마트폰에서 입주자가 투표를 하더라도 이후 각 세대 세대주가 전자투표를 시도하게 되면 "이미 투표를 했기 때문에 투표를 할 수 없다" 는 메시지가 뜨면서 이같은 사실을 세대주에게 바로 알려줄 수 있을 겁니다. 비록 후자의 중복투표 방지는 현재도 그렇게 운영되고 있지만 말입니다. <br /> <br />중요한 문제를 간과하고 있는 듯 하여 한마디 해보았습니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 09일 Wednesday PM 12:05:03 이윤찬 Wed, 09 Aug 2023 12:05:03 +0900 0 https://www.blrun.net/bbs/zboard.php?id=clmn1&no=1266 네티즌칼럼 > 일반 이윤찬 - 여러분은 아크로니스 2021 버전 사용하면서 혹 이런 오류 뜨면서 백업이 안되지는 않았는지... 오늘 이 문제 때문에 데이타 파티션 백업을 받지 못했습니다. (1) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3493 오늘 회사에서 데이타 백업을 아크로니스 존에 막 받기 시작하고 있었는데 대표님이 동영상 작업을 시키셔서 해당 동영상 작업이 데이타 파티션에서 이뤄지기 때문에 아크로니스 존 백업이 되다 말고 지연되다가 동영상 인코딩 과정 몇 번을 기다리는 과정 중에 제가 파일질라로 호스팅에 있는 파일 여러 개도 수정을 했는데 거의 동영상 작업과 소스 수정 작업을 한 차례 다 마치고 나서 아크로니스 백업진행 창을 보니 백업이 몇 백 기가를 다 받아야 하지만 몇십 기가 이뤄지고 나서 백업 진행 용량이 더 이상 증가되지 않으면서 멈춰서 뭔가 잘못된 걸 알아차리고 나니 곧이어 [그림1] 과 같은 쓰기 오류가 떴고 재시도를 했지만 계속 떠서 취소를 눌렀는데 얼마 있다가 [그림5] 와 같은 백업 중지 에러가 뜨기 이전 단계에서 연두색 백업 중단을 클릭했는데 이게 중지하는데 시간이 오래 걸려 아크로니스 창을 닫고 재부팅을 시도하자 재시작 전에 "이미 수행중인 작업이 있다. 기다려 달라" 라고 영문으로 뜨면서 윈도우즈10 재부팅이 하염없이 지연되다가 리셋 버튼을 누를까 하다가 끝까지 기다렸더니 15분인가 있다가 재부팅이 되더라구요. <br /> <br />그때부터 두번째 하드디스크인 웬디하드 4TB가 I/O 오류가 뜨면서 "디스크 관리" 쪽에 엑박 오류가 붙은 채 초기화가 되지 않아 엄청 난감했습니다. 전 처음에 하드가 망가진 줄 알았지만 인터넷에 찾아보니 그 오류가 뜨면 하드를 뺐다 부팅 후 연결해서 다시 사용해 보라고 해서 그렇게 했더니 처음엔 숫제 하드가 인식이 안돼서 이상하다 그러면서 재부팅을 한번 더 해봤더니 정상적으로 예전에 사용하던 4TB 하드의 Data2 파티션과 아크로니스존 파티션이 제대로 인식이 돼서 아무래도 아크로니스 기존 백업이 손상이 된 듯 하여 그 길로 2TB 아크로니스 존을 밀고 재할당 해준 뒤 다시 SSD 시스템 백업부터 받아 성공을 했는데 다음 다시 시게이트 1TB HDD 하드의 데이타 파티션 백업을 시도했더니 잘 되는가 싶어서 전 퇴근하고 인근 식당에서 점심을 먹고 지하철을 탔는데 거기서 사무실 컴에 혹여나 해서 접속해 백업이 정상적으로 진행되는지 원격데스크탑 연결로 확인해 봤더니 아니 왠걸 다시 [그림1]과 같은 쓰기 오류가 뜨면서 취소를 물어봤고 제가 하도 이상해서 바로 이벤트 뷰어를 원격으로 찾아봤더니 [그림2] 가 뜬 사실을 알게 됐고 [그림3]이 그 뒤로 계속 이벤트 로그에 쌓인 사실을 알게 되었습니다. <br /> <br />그 후 이벤트 로그에 나타나 있는 오류 메시지를 구글에서 찾아봤더니 [그림4]와 같이 마소 커뮤니티에 올라온 글이 있었고 거기에 본체 내부가 열을 받으면 그런 오류가 뜰 수 있다는 내용이 보여서 [그림1] 상태에서 취소를 다시 클릭했더니 [그림5] 와 같이 백업이 중지됐다면서 몇 시 몇 분에 재시작하겠다는 파란색 글씨가 보였고 2분 정도 있다 백업을 다시 시도하더니 그 아래 백업을 열 수 없다는 메시지도 여전히 계속 보이면서 백업 완료가 안되더라구요. <br /> <br />여러분은 아크로니스 2021 버전 이용하면서 저와 비슷한 문제 겪으신 적 없는지... 오늘 이것 때문에 사무실 뿐만 아니라 집에서도 시간을 많이 잡아먹었는데 아직도 이 문제의 원인을 저는 잘 모르겠습니다. 사무실 컴은 원격데스크탑 연결도 정상적으로 잘 되고 브라우저 서핑 및 그림 파일 저장도 잘 되는 것 보면 특별한 문제는 없어 보이는데 아크로니스 백업이 이렇게 오늘 계속 말썽을 부렸네요. <br /> <br />아까 사무실에서 근무하면서 윈도우즈10 아크로니스 2021로 데이타 파티션 백업 받을 때 동영상 작업이나 코딩 작업 등 다른 작업을 많이 했던 게 원인인 것 같기도 한데 왜 아크로니스존을 몽땅 다 날리고 다시 백업을 받았는데도 이게 안되느냐는 거죠. 아크로니스 2020과 2021은 윈도우즈10에서 작업을 하면서도 백업이 가능한 걸 제가 잘 아는데 오늘은 하드 고장 같기도 하고 암튼 이 문제 때문에 오늘 30분이나 퇴근이 늦었네요. 여러분은 원인이 어디에 있다고 보십니까? 아크로니스 문제일까요? <br />ㅡ_ㅡ <br /> <br />[그림1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/1._%BE%C6%C5%A9%B7%CE%B4%CF%BD%BA_2021_%B5%A5%C0%CC%C5%B8_%C6%C4%C6%BC%BC%C7_%BE%C6%C5%A9%B7%CE%B4%CF%BD%BA_%C1%B8_%B9%E9%BE%F7_%B5%B5%C1%DF_%C0%CC_%B8%DE%BD%C3%C1%F6%B0%A1_%B6%E5%B4%CF%B4%D9.png' align='' width='2079' height='960' vspace='0' hspace='0' border='1'> <br /> <br />[그림2] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2._%C0%CC_%B6%A7_%C0%CC%BA%A5%C6%AE_%B7%CE%B1%D7%B8%A6_%BA%B8%B8%E9_%C3%D6%C3%CA_%C0%CC_%BF%A1%B7%AF%B0%A1_%B6%DF%B4%D9%B0%A1.png' align='' width='2079' height='960' vspace='0' hspace='0' border='1'> <br /> <br />[그림3] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/3._%B1%D7_%B4%D9%C0%BD%BA%CE%C5%CD_%C0%CC%BA%A5%C6%AE_%B7%CE%B1%D7%BF%A1_%C0%CC_%BF%C0%B7%F9%B0%A1_%B0%E8%BC%D3_%BD%D7%C0%D4%B4%CF%B4%D9.png' align='' width='2079' height='960' vspace='0' hspace='0' border='1'> <br /> <br />[그림4] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/4._%C0%CC%BA%A5%C6%AE%BA%E4%BE%EE_%BD%C3%BD%BA%C5%DB_%B7%CE%B1%D7%BF%A1_whea_logger_%BF%C0%B7%F9%B0%A1_%C1%F6%BC%D3%C0%FB%C0%B8%B7%CE_%B9%DF%BB%FD_%C7%D5%B4%CF%B4%D9_Microsoft_%C4%BF%B9%C2%B4%CF%C6%BC.png' align='' width='1920' height='2608' vspace='0' hspace='0' border='1'> <br /> <br />[그림5 - 집 노트북에서 회사 작업컴에 접속한 모습] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/5._%C3%D6%BD%C5%B9%E9%BE%F7%C0%CC_%C1%DF%C1%F6%B5%C7%BE%FA%BD%C0%B4%CF%B4%D9_%B9%E9%BE%F7%C0%BB_%BF%AD_%BC%F6_%BE%F8%BD%C0%B4%CF%B4%D9.jpg' align='' width='4032' height='3024' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 08일 Tuesday PM 03:54:46 이윤찬 Tue, 08 Aug 2023 15:54:46 +0900 1 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3493 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - 지난 주 8월 4일 금요일, 제 카페24 계정 웹용량이 6000MB로 다 차 상위 상품으로 업그레이드를 하고 나서 오늘 까지 그 사이 147MB가 늘어나 하도 이상해서 1대1 문의에 문의를 해보았는데 알고 보니 data/__zbSessionTMP 폴더에 쌓인 세션 파일 때문이더라구요. (2) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3492 예전에 제가 오픈소스 캡차 소스를 고쳐 세션 파일 저장 위치를 카페24 서버의 지정된 폴더에서 제 계정 bbs/data/__zbSessionTMP 폴더에 저장해도 문제가 없게 소스를 고친 이후로 여기에 접속자들의 세션 파일이 쌓이기 시작했는데 그 갯수를 보니 지금 이 시각 까지 442,684개이고 여기에 4096바이트를 곱하면 1.7GiB 정도가 나오더라구요. 게다가 제가 로그인 풀림 현상을 막기 위해 세션 파일을 지우는 확률도 70만 로드 후에 한 개로 그 빈도를 엄청나게 낮게 PHP 환경을 설정해서 이같은 일이 벌어졌는데 처음엔 원인을 몰라서 의구심을 가졌다가 카페24 담당자가 오늘 알려줘서 평소 왜 웹용량이 이렇게 부족해질까 하고 엄청 궁금했는데 알고 나니 궁금증이 확 해소가 됐습니다. <br /> <br />전 442,684개의 조각 파일을 더한 용량만 생각해서 32MB라 대수롭지 않게 생각했는데 여러분도 아실지 모르겠지만 세션 파일은 그 개당 크기가 100바이트 보다 작아서 파일 할당 크기인 4096바이트를 갯수로 곱해야 실제 SSD에서 차지하는 용량이 나오는데 그게 1.7GiB란 얘기거든요. <br /> <br />이걸 몰라서 왜 지난 8월 4일부터 오늘 까지 제가 이미지를 업로드한 용량은 1MB 밖에 안되는데 웹용량이 실시간으로 조금씩 늘어날까 하고 순간적으로 궁금증이 생겼고 그 궁금증을 오늘 해결했다는 것이죠. <br /> <br />여러분들도 이같은 사실을 잘 참고하셔서 혹여나 호스팅 계정 잔여용량 문제로 어떤 불이익을 받는 일을 사전에 차단하시기 바랍니다. 정말 접속자들의 폭주로 인한 이런 세션 파일의 크기가 차지하는 용량이 엄청나지 않나요? <br /> <br />저도 정말 이번에 놀랬습니다. 쌓이는 세션 파일의 할당 크기가 이렇게나 늘어날 수 있다는 사실을요. ^^; <br /> <br />&lt;추신&gt; <br />맞어 제로보드 관리자 페이지 우상단엔 세션 파일을 한꺼번에 삭제하는 기능이 있으니 그것도 알고 계시면 좋습니다. 물론 세션 파일을 비우게 되면 모든 브라우저에서 로그인이 자동으로 풀리게 되니 그 점도 유념하세요.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 07일 Monday PM 09:45:37 이윤찬 Mon, 07 Aug 2023 21:45:37 +0900 2 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3492 ▶이윤찬의 알파와 오메가◀ > 블록 이윤찬 - AskUp 카톡 AI 사용하면서 댓카톡을 달 수 없다는 점과 피드백을 통한 성능 개선이 이뤄지는 체계가 없는 점이 많이 아쉽습니다. 매우 중요한 문제 같아 보이는데요. https://www.blrun.net/bbs/zboard.php?id=clmn1&no=1265 AskUp 카톡 AI는 왜 아래 [그림1] 이미지 처럼 예전 답변에 댓카톡을 달아 그 답변을 카리킬 수 없게 돼 있나요? 챗GPT는 히스토리를 통해 해당 대화의 연속성을 언제든지 보장하는데 그건 좀 불편하네요. 이게 답변 평가도 수시로 이뤄질 수 있는 게 합리적이거든요. <br /> <br />[그림1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/IMG_8055.png' align='' width='960' height='2079' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 06일 Sunday AM 11:59:26 이윤찬 Sun, 06 Aug 2023 11:59:26 +0900 0 https://www.blrun.net/bbs/zboard.php?id=clmn1&no=1265 네티즌칼럼 > 블록 이윤찬 - 미국에서 사용하는 슁글즈 백신은 대상포진 예방백신이고 다음과 같이 두 종류가 있다고 합니다. (1) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3488 수두 앓았던 사람들은 수두 다시 앓지 않는다고 들었는데 대상포진도 원인 바이러스가 이 수두 바이러스 라고 하는데 예전엔 대상 포진에 걸리지 않는다는 설이었다가 이게 수두 앓은 사람들이 앓는 병이라는 알 수 없는 설로 중간에 바뀌었는데 미국에서 놓는 슁글즈 백신도 수두예방백신이라는데... <br /> <br />[챗GPT 보충 질의 및 답변] <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C0%E7%C8%B0%BC%BA%C8%AD%B5%C8_%B4%EB%BB%F3%C6%F7%C1%F8_%B0%A1%B4%C9%BC%BA.png' align='' width='1400' height='1841' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 05일 Saturday PM 09:12:20 이윤찬 Sat, 05 Aug 2023 21:12:20 +0900 1 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3488 ▶이윤찬의 알파와 오메가◀ > SNS 이윤찬 - 트위터 트렌드를 보다보니 20대 우리 청년들이 인격장애 성향이 높다는 내용이 나오더군요. (2) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3487 아래는 방금 트위터 트렌드로 클릭해 들어간 트윗에서 발견한 이미지인데 우리나라 20대 청년들의 인격장애 성향이 좀 있는 것 같습니다. 나름 이번 칼부림 사건의 원인에 대한 일종의 단서를 어느 정도 제공해 주고 있는 것 같습니다. 여기서 언급된 권준수 교수님은 오랫동안 제가 서울대 병원에서 외래로 진료를 봤던 교수님이라서 빈말은 하지 않을 분이란 걸 아는데 이런 조사결과를 내놓으셨네요. <br /> <br />이걸 보고 든 생각은 누가 우리 20대 청년들을 이 지경으로 만들었을까 하는 자괴감과 함께 우리 사회의 책임, 그리고 원인 진단을 통해 대책을 마련할 필요가 있다는 생각이 들었습니다. "인격 장애" 라 함은 남을 생각하지 않고 자기의 안위와 쾌락, 인정만을 위해 반사회적(이번 연이은 칼부림 사건 처럼 잔인한 행동 포함)인 행동을 하는 것을 말하는데 아래 스크랩글을 보면 아시겠지만 유전적 요인도 매우 큼을 알 수 있습니다. 헐~ <br /> <br />아래 속성에서 저한테 해당되는 것은 편집성과 분열형(사고의 비약), 강박성 정도가 약간 해당이 될 수도 있겠네요. <br /> <br />[원인] 부분을 유심히 잘 읽어보세요. 공감이 많이 가실 겁니다. <br /> <br />[트위터 트렌트에서 가져온 이미지] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C6%AE%C0%A7%C5%CD_%C0%CC%B9%CC%C1%F6_%C4%B8%C3%B31%2820%B4%EB_%C3%BB%B3%E2_%C0%CE%B0%DD%C0%E5%BE%D6_%B0%E6%C7%E2%29.jpg' align='' width='946' height='2048' vspace='0' hspace='0' border='1'> <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C6%AE%C0%A7%C5%CD_%C0%CC%B9%CC%C1%F6_%C4%B8%C3%B32%2820%B4%EB_%C3%BB%B3%E2_%C0%CE%B0%DD%C0%E5%BE%D6_%B0%E6%C7%E2%29.jpg' align='' width='946' height='2048' vspace='0' hspace='0' border='1'> <br /> <br />=================================================================== <br /> <br />출처 - <a href=https://www.amc.seoul.kr/asan/healthinfo/disease/diseaseDetail.do?contentId=33881 target=_blank>https://www.amc.seoul.kr/asan/healthinfo/disease/diseaseDetail.do?contentId=33881 </a><br /> <br />[정의] <br />인격장애란 습관, 성격, 사고방식 등이 사회적 기준이나 규범에서 벗어나 문제를 일으키는 것을 말합니다. 이는 불안, 대인 관계에서의 부적응, 타인을 괴롭히는 경향, 자기 중심적인 인간 관계 등으로 나타납니다. 인격장애는 특징적인 행동이 유사한 것들을 3개의 유형으로 분류하고 있습니다. <br /> <br />① 별나거나 이상한 유형 : 편집성, 분열형, 분열성 인격장애 <br />② 극적이며 변덕스러운 유형 : 반사회성, 경계성, 자기애성, 히스테리성 인격장애 <br />③ 걱정하거나 회피하는 유형 : 회피성, 의존성, 강박성 인격장애 <br /> <br />이중 히스테리성 인격장애는 이기적이고 자기중심적인 성향을 보이는 것이 특징입니다. 또 극적인 표현을 하고 즉각적 만족과 관심을 요구하지만 그런 요구가 좌절되면 불쾌하게 느끼고 히스테리를 부리는 성격장애를 가리킵니다. 이러한 성격으로 인해 지속적인 대인 관계를 유지하기 어려운 경우가 많습니다. 히스테리성 인격장애는 감정 표현이 과장되고 주변의 시선을 받으려는 성격적 특징을 가지고 있습니다. <br /> <br />[원인] <br />인격장애를 일으키는 원인으로는 <b>유전적 요인</b>을 들 수 있습니다. 이는 쌍둥이 연구를 통해 일란성 쌍둥이에게서 보이는 인격장애의 일치율이, 이란성 쌍둥이의 경우보다 3~4배 높다는 결과를 통해 추측할 수 있습니다. 정신 분석 학자들은 <b>인격장애 원인을 발달 단계 중 어느 한 단계에 고착된 결과</b>로 보고 있습니다. 이러한 인격장애는 <b>불우한 가족 관계에서 많이 나타나는 경향이 있고, 어린이의 기질과 부모의 육아방식이 조화되지 않으면 문제가 생기기 쉽습니다.</b> <br /> <br />[증상] <br />히스테리성 인격장애 환자에게는 연극을 하는 것과 같은 정서적 피상성, 성적 기능 장애, 의존성, <b>극적인 반응</b> 등을 나타냅니다. <br /> <br />대표 증상으로는 광범위하고 지나친 정서성(정감성)과 <b>관심을 끄는 행동이 있습니다. 감정적으로 안정되어 있지 않고, 충동적이고, 유혹적입니다.</b> 이런 행동은 성인기 초기에 시작하여 여러 상황에서 나타납니다. <br />&nbsp; <br /><b>이들은 자신이 주목받지 못하면 불편을 느끼고 자신의 진가를 인정받지 못하고 있다고 느낍니다. 또 활기차고 극적으로 행동하여 주목받고 싶어 합니다. 타인의 관심을 끌지 못하면 관심을 끌기 위해 극적인 행동을 합니다.</b> <br /> <br />성적 대상과의 관계에 어려움을 느끼며 성적으로 문란한 경우가 많고 또한 관계에 만족하지도 못합니다. <br /> <br />히스테리성 인격장애는 주로 여성들에게 주로 나타나기 때문에 남성에게는 히스테리가 없는 것으로 생각하기 쉬우나 남자에게도 히스테리가 있으며 여성을 유혹하려고 하거나 과도하게 멋을 부리는 행동으로 히스테리 성향이 나타나는 경우도 있습니다. <br /> <br />[진단] <br />히스테리성 인격장애는 극적으로 과장된 감정 표현을 보입니다. 이는 다음의 다섯 가지 항목을 통해 진단할 수 있습니다. <br /> <br />① 자신이 다른 사람의 관심을 받지 못하고 있으면 불편해합니다. <br />② 부적절한 성적 유혹이나 자극적인 방법으로 대인 관계를 유지하는 경향이 있습니다. <br />③ 감정 기복이 심하거나 피상적인 감정 표현을 합니다. <br />④ 다른 사람의 관심을 끌기 위해 외모에 신경을 씁니다. <br />⑤ 아주 연극적이거나 인상적인 말을 하지만 구체적인 묘사를 하지는 못합니다. <br />⑥ 과장된 감정 표현과 극적인 행동을 합니다. <br />⑦ 다른 사람이나 환경 암시 등에 쉽게 영향을 받습니다. <br />⑧ 본인은 다른 사람과의 관계가 실제보다 더 긴밀하다고 생각하고 있습니다. <br /> <br />[치료] <br />히스테리성 인격장애는 주로 대인 관계에 어려움을 느껴 치료받는 경우가 있습니다. 이 경우 장기간에 걸친 상담 치료가 이루어져야 합니다. <b>상담 치료 시 환자의 감정을 구체화시켜 해당 감정을 환자가 스스로 인식할 수 있도록 도와줍니다. 또 상세하고 구체적으로 자신의 경험을 설명하도록 합니다.</b> 환자들은 자신을 이해해 줄 것이라고 생각할 때, 저항 없이 치료에 임하므로 <b>환자가 느끼는 고통을 이해해 주고 공감해 주는 것이 도움이 됩니다.</b> 환자가 불안을 호소하면 항불안제를, 우울증 증세를 보인다면 항우울제 등의 약물을 사용할 수 있습니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 05일 Saturday PM 02:51:47 이윤찬 Sat, 05 Aug 2023 14:51:47 +0900 2 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3487 ▶이윤찬의 알파와 오메가◀ > 스크랩 이윤찬 - 크롬 브라우저에서 Ctrl+F 찾기 이용하다 보니 이렇게 렌더링이 깨지네요? https://www.blrun.net/bbs/zboard.php?id=blog1&no=3484 크롬 브라우저 Ctrl+F 찾기 이용하다 보니 이렇게 렌더링이 깨지네요. 내용 저장은 정상적으로 되는 것 보면 어떤 렌더링 문제 같아 보이는데 새로 이 문제가 이렇게 생겨버렸습니다. <br /> <br />[그림1] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C5%A9%B7%D2_%BA%EA%B6%F3%BF%EC%C0%FA_Ctrl%2BF_%C3%A3%B1%E2_%C0%CC%BF%EB%C7%CF%B4%D9_%BA%B8%B4%CF_%C0%CC%B7%B8%B0%D4_%B7%BB%B4%F5%B8%B5%C0%CC_%B1%FA%C1%F6%B3%D7%BF%E4.png' align='' width='1920' height='1080' vspace='0' hspace='0' border='1'> <br /> <br />[그림2 - 이 문제가 발생한 크롬 브라우저 버전] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C5%A9%B7%D2_%BA%EA%B6%F3%BF%EC%C0%FA_Ctrl%2BF_%C3%A3%B1%E2_%BD%C3_%B1%FA%C1%F6%B4%C2_%C5%A9%B7%D2_%BA%EA%B6%F3%BF%EC%C0%FA_%B9%F6%C0%FC.png' align='' width='1920' height='1080' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 03일 Thursday AM 07:38:02 이윤찬 Thu, 03 Aug 2023 07:38:02 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3484 ▶이윤찬의 알파와 오메가◀ > 블록 이윤찬 - 오늘 PDF 파일을 열려다 업데이트 문제인지 프로그램이 손상돼 기존 버전을 제거하는 도중 아까 오후 3시 폭염 때 PC가 마우스가 먹통인 채 다운이 돼 버려 어쩔 수 없이 백업 복원을 했습니다. https://www.blrun.net/bbs/zboard.php?id=blog1&no=3482 제 AMD FX-4100 CPU, 16GB 타무즈 램, 아수스 M5A78L-M LX3 메인보드의 타워형 본체인데 앞 뒷면에 80mm 쿨러 2개를 장착해서 올 여름 잘 버텨줬는데 오늘 대책없는 폭염에는 장사 없었는지 한번 아래의 어도비 Acrobat 프로그램을 제거 도중 마우스가 꿈쩍하지 않고 움직이지 않는 먹통 증상이 한번 발생해 어쩔 수 없이 리셋키를 눌러 재부팅해 마저 제거해 보려고 했지만 프로그램 추가/제거엔 이미 제거된 걸로 나왔고 실제 프로그램 폴더엔 아직 제거가 되지 않은 램 상주 프로그램 등 많은 파일들이 남아 있어서 어쩔 수 없이 아크로니스 백업/복원 프로그램으로 즉시 복원을 시도했고 장시간 걸려 성공한 후로 정상적으로 이 프로그램을 제거할 수 있었는데 제가 말씀드리고 싶은 것은 아래 [그림1] 이미지를 보면 아시겠지만 PDF 편집 프로그램 설치된 용량이 5.32GB라는 것이고 이것 제거하는 데도 엄청 오래 걸리고 이렇게 PDF 편집 프로그램이 큰 게 정상인가 하면서 괜한 의구심이 들더라 그 얘깁니다. <br /> <br />요새 PDF 프로그램의 거품이 MS 프로그램 못지 않게 커진 것 같아 걱정입니다. 5.32GB이면 정말 코드 정보량이 엄청나게 비대한 것인데 이런 류의 프로그램 만드는 데 이렇게 큰 용량의 코드가 산출되는 게 과연 맞는가 라고 반문한다면 회의적이거든요. <br /> <br />좀 심각한 것 같습니다. <br />ㅡ_ㅡ <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%BE%EE%B5%B5%BA%F1_%BE%D6%C5%A9%B7%CE%B9%EE_%C7%C1%B7%CE%B1%D7%B7%A5_%BC%B3%C4%A1_%BF%EB%B7%AE%C0%CC_%B3%CA%B9%AB_%C5%AE%B4%CF%B4%D9.png' align='' width='1920' height='1080' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 08월 02일 Wednesday PM 07:54:46 이윤찬 Wed, 02 Aug 2023 19:54:46 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3482 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - 아이폰13 작업관리자 사용하면서 앱 간 서로 왔다갔다 할 때 왜 가계부 앱에서 복사한 문자를 인터넷뱅킹 앱에 붙여넣기 하겠냐고 한번만 물어보지 왜 자꾸 물어보나요? 클립보드엔 복사한 내용이 그대로 남아있는 상황에서요. 엄청 짜증나네요. https://www.blrun.net/bbs/zboard.php?id=blog1&no=3478 아이폰13 작업관리자 사용하면서 앱 간 서로 왔다갔다 할 때 왜 가계부 앱에서 복사한 문자를 인터넷뱅킹 앱에 붙여넣기 하겠냐고 한번만 물어보지 왜 자꾸 물어보나요? 클립보드엔 복사한 내용이 그대로 남아있는 상황에서요. 엄청 짜증나네요. 여러분은 이런 불편 요새 못 느끼셨는지... <br /> <br />뭔가 어설프게 iOS를 만들었다는 생각이 듭니다. 헐~ 애플이 점점 골로 가는 행동만 하네요. <br /> <br />[가계부 앱에서 내용 수정 중 문자 복사를 하기만 하면 농협 앱으로 전환할 때마다 붙여넣기 하겠냐고 자꾸 뜹니다] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_07_30_007.PNG' align='' width='960' height='2079' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 30일 Sunday PM 12:06:37 이윤찬 Sun, 30 Jul 2023 12:06:37 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3478 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - 아이튠즈 새로 설치하고 나서 갑자기 윈도우즈10 내 이미지에 대고 우클릭하면 단축 메뉴가 엄청 딜레이 되면서 늦게 뜹니다. (2) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3475 어제 기존 아이튠즈 지우고 MS 스토어에서 새 아이튠즈 앱 설치하고 나서 갑자기 이미지 파일 우클릭하면 속성 메뉴가 뜨기 까지 한참 걸리는 현상이 생겼습니다. 이것 이곳 트윗에 적으려 하니까 다시 현상이 사라진 듯 하지만 조만간 또 증상이 발생할 것 같습니다. 왠 뚱딴지 같은 증상이래요? 단축 메뉴가 늦게 뜨니 엄청 불편합니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 28일 Friday PM 03:31:51 이윤찬 Fri, 28 Jul 2023 15:31:51 +0900 2 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3475 ▶이윤찬의 알파와 오메가◀ > SNS 이윤찬 - 아이폰은 음악 파일 보관함의 파일 갯수 표시 안하면서 유저가 동기화한 음악을 대거 누락시킵니다. (4) https://www.blrun.net/bbs/zboard.php?id=basket1&no=368 아이폰이 컴퓨터에서 유저가 동기화한 음악 파일을 아이폰13 보관함에 넣을 때 많은 파일을 누락시킨다는 걸 오늘 처음 알았습니다. 이상하게 요새 플레이되는 음악이 시원찮아서 원하는 곡을 찾아봤지만 아이폰13 보관함 &gt; 노래 에서 검색이 되지 않았고 많은 파일이 빠진 채 플레이되고 있다는 걸 오늘 알아차렸습니다. 왜 보관함에서 갯수를 표시 안하나 했더니 이런 사기를 감추기 위해서였습니다. <br /> <br />헐~ 애플이 이제 거의 유저가 듣는 음악 파일 가지고 사기를 치는 단계까지 왔네요. 그냥 말문이 막혀버리네요. <br />ㅡ_ㅡ <br /> <br />&lt;추신&gt; <br />애플 뮤직 이용하게 하겠다고 동기화 오류 방치를 비롯해 이런 짓을 서스럼없이 자행하고 있는거 같은데 정말 타락이 바닥을 치다못해 이제 용납 가능한 수준을 넘어섰네요. <br /> <br />이 기업 계속 이렇게 놔둬도 되는 건가요?<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 26일 Wednesday AM 08:18:55 이윤찬 Wed, 26 Jul 2023 08:18:55 +0900 4 https://www.blrun.net/bbs/zboard.php?id=basket1&no=368 쓰레기통 > 블록 이윤찬 - 트위터 로고 바뀌었나요 제 트위터가 왜 이런지 아시는 분... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3472 뭔가 좀 이상한데 요새 트위터가 이렇게 보이는데 정상인가요? 뭔가 해킹의 흔적 같기도 한 게 이상해서 이렇게 관련 포스트를 날려 봅니다. <br />빨간색 사각형 부분을 보십시요. <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C6%AE%C0%A7%C5%CD_%B7%CE%B0%ED_%B9%D9%B2%EE%BE%FA%B3%AA%BF%E4_%C1%A6_%C6%AE%C0%A7%C5%CD%B4%C2_%BF%D6_%C0%CC%B7%B1%B0%A1%BF%E4_%C7%E6.png' align='' width='1400' height='1050' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 25일 Tuesday PM 08:37:31 이윤찬 Tue, 25 Jul 2023 20:37:31 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3472 ▶이윤찬의 알파와 오메가◀ > 블록 이윤찬 - MS 엑셀 파일이 갑자기 "응답없음" 이 되면서 뻗어 수정이 불가능 했던 문제와 아이폰13에서 편리하게 이용했던 OpenVPN 서비스를 아이폰이 네트워크 변경시 마다 갑자기 끊고 재시작해 버리는 문제 외 1건. (2) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3470 <b>1.</b> 최근 엑셀 365로 파일을 열어 수정하는 도중 "응답없음" 이 타이틀 바에 보이면서 다운되며 프로그램을 닫을 것인지 묻는 팝업이 뜨는 문제가 계속적으로 발생했었습니다. <br /> <br />전 처음에 MS 고객센터에 해결점을 요청했는데 상담사 하는 말이 Product Key를 아냐고 해서 전 <a href=http://portal.office.com/ target=_blank>http://portal.office.com/</a> 에 접속해 판매자가 알려주는 이메일 계정과 암호로 로그인해 설치해 사용하는 오피스 365 제품을 구입했다고 하니까 제가 사용하는 제품은 조직용 제품이라고 구입처에서 Product Key를 알아가지고 와서 여기는 개인용 제품 상담부서라고 MS 고객센터 기업용 제품 기술지원 파트에 다시 들어와 문의해 달라고 하여 결국 도움을 얻지 못하고 2019년 6월 24일 처음 프로그램을 구입했던 구팡 쪽 고객센터에 지난 2023년 7월 20일 목요일 오후에 연락해 봤고 자기들이 알아본 후에 7월 21일 금요일 까지 결과를 알려주겠다는 메시지를 받았지만 그 사이 윈도우즈10 업데이트 후에 이 문제가 해소가 된 일이 있었습니다. 하지만 이건 원래는 발생하지 않았던 문제라서 찝찝한 사건이라 이렇게 게시판에 언급해 봅니다. <br /> <br />그 후 쿠팡은 7월 24일 월요일 오후 까지 답변을 주겠다고 답변 지연 메시지를 보내왔고 이건 화요일 오전 까지로 다시 연장되었지만 제가 그 사이 쿠팡 고객센터로 연락해 윈도우즈10 업데이트로 문제가 해결이 됐다고 추후에 문제가 다시 발생하면 다시 연락드리겠다고 말하여 컨택은 중지되었습니다. <br /> <br />아래는 당시 이 문제가 발생했을 때 제가 게시판에 게시글을 올리려고 미리 작성해 둔 글이니 별도로 참고하세요. <br />======================================================== <br /> <br />제목: 오늘 제가 일전에 만들어 둔 수식이 들어있는 어떤 엑셀 365 파일을 수정해 사용하려는 과정에서 "응답없음" 이 계속 뜨면서 사용이 불가능해 결국 해당 수식을 수정해 사용하지 못하는 일이 있었네요. 2023.07.20 <br /> <br />뭔가 보안 문제이거나 어떤 버그일 가능성이 높은데 엑셀 365 .xlsx 파일을 열어 시트 암호를 해제한 다음 행에 새 레코드를 삽입해 계산하는 과정에서 이상하게 커서가 응답없음 현상이 발생했고 정상으로 돌아오기를 기다렸지만 결국 엑셀 365가 다운돼 원하는 작업을 하지 못하고 포기해야 했습니다. <br /> <br />이게 MS 장난이 아니라면 엑셀 365의 보안 취약점을 잘 아는 해커의 소행 같은데 꼭 제가 그 엑셀 파일을 열어 수정하는 것을 지켜보고 있다가 이런 장난을 치고 있는 듯한 느낌을 처음에 받았습니다.(주: 하지만 이건 회사 작업 컴에도 동일하게 문제가 발생해 업데이트 문제라는 걸 알아차렸습니다) 근데 이 문제가 심각한 것이 예전 오피스 엑셀 97만 하더라도 당시 매우 안정적으로 XP 이하 시스템에서 잘 돌아갔는데 이게 최근 엑셀 365 까지 버전업이 무수하게 진행되었지만 이렇듯 안정성은 형편없이 떨어졌다는 점이 특기할만한 일입니다. <br /> <br />제가 정품 엑셀을 사용하고 있는 상황에서 조만간 MS에 해결책을 주문할까 합니다. <br /> <br /> <br /><b>2.</b> 제가 일전에 아래와 같이 덧글로 브라우저가 복호화가 가능한 방식으로 암호를 자동 저장하여 편리는 해졌지만 보안에 취약하여 제가 OpenVPN을 사용하여 암호를 매번 입력하지 않고도 편리하게 웹사이트를 이용할 수 있다는 말씀을 드렸는데 그 이후에 애플이 업데이트된 아이폰13에서 이 OpenVPN 기능을 네트워크가 데이타에서 와이파이로 변경될 때마다 연결을 끊고 재시작하는 양태로 운영체제 동작을 변경해 버려 제가 평소에 아무문제 없이 이런 네트워크 변경시에도 최대 2개 기기 접속 까지 이 OpenVPN을 끊김없이 잘 이용했는데 다시 때때로 아이피가 변경되는 불편을 초래하기 시작했습니다. 이건 도저히 이해가 안가더라구요. 완전 이건 아이폰이 아니라 웬수폰이라는 사실을 다시한번 절절이 실감하는 하루였습니다. 제가 강조했던 브라우저 암호 자동 저장없이 웹사이트를 편리하게 이용할 수 있다는 사실을 보기좋게 훼방놓으려는 술수인것 처럼요. 그것 밖에는 달리 이걸 설명할 수 없잖아요. 전 세계 웹사이트 접속 암호를 수집하려는 애플의 목적이 방해를 받으면 안된다는 뜻이겠죠. 헐~ <br />ㅡ_ㅡ <br /> <br />https://bit.ly/44MGxYg <br /> <br /> <br /><b>3.</b> 미지막으로 크롬의 빠른 성능은 메모리 캐쉬를 사용한다는 건데 크롬이 메모리를 터무니 없이 많이 잡아먹는다고 사람들이 비판하니까 브라우저가 선택적으로 메모리 캐쉬를 사용하는 식으로 구글 개발자들이 프로그램을 재작성하는 과정에서 안정성이 더 떨어지는 일이 발생했습니다. 이것도 특기할 만한 일입니다. 여러분도 요즘 크롬을 사용해보시면 아실 겁니다. 예전엔 비록 메모리는 많이 잡아먹었지만 탭들을 여럿 열어놔도 아무 문제가 없었는데 최근에 그런 양태로 좀 불안해진 것을 눈치챌 수 있습니다. 근데 불행하게도 이렇게 바뀌었어도 메모리 사용량이 많이 줄어든 것 같지는 않더라구요. ㅋㅋ 그게 함정입니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 25일 Tuesday AM 06:27:02 이윤찬 Tue, 25 Jul 2023 06:27:02 +0900 2 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3470 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - 여러분은 브라우저에서 새로 생긴 암호 유출 알림 기능 얼마나 신뢰하십니까? (2) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3463 아래 이미지를 보면 아시겠지만 공유기 접속 아이피의 암호 부터 시작해서 49개의 암호가 유출되었다고 뜨는데 이것 신뢰가 가십니까? 이렇게 많은 암호가 유출될 정도이면 과연 비번 자동 저장 기능에 어떤 심각한 보안 결함이 있는 것 아닌지 그게 젤로 의구심이 드는데 사실 보안서버인증서가 설치된 도메인 같으면 패킷 감청이 안되기 때문에 기존 단방향 암호화 방식의 로그인 페이지에선 절대 암호가 유출될 수가 없는데 결국 이런 브라우저의 암호 자동 완성 기능이 주범이라는 생각이 드는데 자기네들이 복호화가 가능한 상태로 암호를 저장하여 암호 보안을 취약하게 만들어놓고선 이런 겁주기로 이용자들이 생각나지도 않는 새 비번을 만들라고 강요하는 것은 브라우저 암호 저장 방식을 잘 아는 유저 입장에서 상당히 불쾌하네요. <br /> <br />게다가 유출시간을 보시면 알겠지만 4분전, 2개월전이라고 2가지로 획일화돼 있는 것이 뭔가 상당히 신뢰가 안가고 작위적이라는 생각이 들었습니다. 이런 식으로 암호 유출 알림 기능 만들어놓을 것 같으면 차라리 구비를 안해놓으니만 못하다는 생각이 드는데 여러분의 생각은 어떠신지... <br /> <br />오히려 이용자들의 혼란만 부추기고 브라우저 인상만 더욱 나빠지는 결과를 초래할 것이 불문가지한 일이네요. <br /> <br />보나마나 허잡한 암호 유출 알림 알고리즘의 결과물이 아닐까 하는 심증이 가는 대목입니다. <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C1%A4%BA%B8%C0%AF%C3%E2_%BD%C3%B0%A3%C0%CC_%B5%CE_%C1%BE%B7%F9%B7%CE_%B4%D9_%B6%C8%B0%B0%BE%D6%BF%E4_%C7%E6.png' align='' width='1376' height='1644' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 20일 Thursday PM 08:57:52 이윤찬 Thu, 20 Jul 2023 20:57:52 +0900 2 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3463 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - MS 원드라이브 사용 중 한가지 문제점을 발견했습니다. 제가 집에 있는 5대 컴 중에서 2대를 회사 사무실에서 사용하는 원드라이브 계정으로 새로 로그인 했는데 원래 제 계정을 사용하는 주컴에서 아래와 같은 오류가 뜹니다. (1) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3461 뭔가 새로 로그인한 회사 원드라이브 계정과 데이타 or 어떤 설정이 충돌이 나고 있는 것 같은데 제 주컴에선 원래 제가 개인적으로 사용하는 MS 계정으로 원드라이브를 사용하고 있었는데 세컨드 컴(i5-3570)과 노트북(i7-4700MQ)에 있는 원드라이브의 백업 폴더를 끊고 로그아웃 후 회사 원드라이브 계정에 로그인 해서 다른 위치(다른 폴더)로 정상적으로 사무실에서 사용하는 폴더와 파일이 동기화된 걸 확인했는데 어제 이후 오늘 제 원드라이브 계정을 사용하는 주컴 FX-4100 PC를 사용하다보니 갑자기 아래와 같은 오류가 뜬 것을 확인했습니다. 이게 무슨 문제일까요? <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%BF%F8%B5%E5%B6%F3%C0%CC%BA%EA_%B5%BF%B1%E2%C8%AD_%B0%E8%C1%A4_5%B4%EB_%C4%C4_%C1%DF_2%B4%EB%B8%A6_%C8%B8%BB%E7_%B5%BF%B1%E2%C8%AD_%B0%E8%C1%A4%C0%B8%B7%CE_%B7%CE%B1%D7%C0%CE_%C7%DF%B4%F5%B4%CF_%C1%D6%C4%C4%C0%C7_%BF%F8%B7%A1_%C1%A6_%BF%F8%B5%E5%B6%F3%C0%CC%BA%EA_%B5%BF%B1%E2%C8%AD_%B0%E8%C1%A4%BF%A1%BC%AD_%B9%AE%BC%AD_%C6%FA%B4%F5%B8%A6_%B5%BF%B1%E2%C8%AD%C7%D2_%BC%F6_%BE%F8%B4%D9%B0%ED_%B6%B0%B9%F6%B8%AE%B3%D7%BF%E4.png' align='' width='1920' height='1080' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 20일 Thursday PM 04:18:37 이윤찬 Thu, 20 Jul 2023 16:18:37 +0900 1 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3461 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - 헐~ 생명공학 과학자들이 생명체를 만들어내는 규칙을 알길 원한다구요? 다 좋은데요 그럼 거기에 따른 매뉴얼과 엄격한 지침이 절대적으로 필요한 상황 아닌가요? (2) https://www.blrun.net/bbs/zboard.php?id=cap1&no=774 아래 유튜브 동영상을 보고 나름 좀 충격을 먹었는데 다 좋은데 생명공학 과학자들이 이런 실험을 진행함에 있어 기존에 알려진 엄격한 매뉴얼과 지침이 절대적으로 필요하지 않나 싶은 생각이 들었습니다. 이번에 발생한 코로나19 바이러스도 알려진 바로는 중국 바이러스 연구소에서 실험 과정 중 최초로 탄생한 것이라는 설도 실제로 있었는데 과학자들이 이런 선례를 무시하고 또 각국 정부가 이같은 전철을 반면교사 삼지 못하고 이런 과학자들의 위험한 실험을 아무런 규제나 매뉴얼, 또는 지침 없이 방치한다면 제2의 코로나19 바이러스 또는 위험한 생명체가 탄생하지 말라는 법은 없을 것 같습니다. <br /> <br />이 동영상 보고 좀 위험하다는 생각이 들었고 대번에 전 그런 생각이 들었습니다. 이게 절대로 우습게 생각할 일이 아니고 과학자들을 다루는 각국 정부가 서둘러 지침을 마련하는 데 있어 반드시 참고해야할 사례라고 봅니다. <br />ㅡ_ㅡ <br /> <br />물론 각국 정부가 개별적인 과학자들이 시행하는 실험들에 일일이 간섭하기는 힘들 수 있겠지만 이런 생명공학 장비들을 가진 대부분의 연구소들은 흔치 않을 것이고 정부나 민간단체의 지원을 받고 있는 곳이 대부분일테니 현대 첨단 문명에 있어 과학기술 발전에 따른 그에 맞는 안전한 대응지침을 서둘러 마련한 필요가 있다는 점을 강조드리고 싶습니다. <br />============================================================================= <br /> <br /><iframe width="560" height="315" src="https://www.youtube.com/embed/f1k0Y7paglg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 20일 Thursday PM 12:40:34 이윤찬 Thu, 20 Jul 2023 12:40:34 +0900 2 https://www.blrun.net/bbs/zboard.php?id=cap1&no=774 스크랩 > 첨언 이윤찬 - 음식 일기를 꼬박 쓰려면 빠트리지 않고 음식 사진 촬영을 해놓아야 하는데 그게 잘 안됩니다. T_T https://www.blrun.net/bbs/zboard.php?id=blog1&no=3460 요새 제가 "이윤찬의 에버노트" 에 음식일기를 매일같이 쓰는데 이게 몇 끼 적는 걸 빠트리다 보면 금새 3~4끼 음식일기를 못써서 고민을 하면서 하루 전에 먹은 음식을 생각해 내는데 이게 고통입니다. ㅋㅋ 오늘은 점심에 짜장면을 먹고 저녁은 피망을 간단히 먹어서 어제 저녁과 오늘 아침 식사만 미리 촬영한 음식 사진을 보고 음식 일기를 쓸 수 있었는데 나이가 드니까 이렇게 촬영을 해서 에버노트에 음식 일기를 쓴다는 걸 매번 잘 까먹는 것 같습니다. ㅎㅎ 요새 이게 연례행사가 돼 버렸습니다. 몇 끼 전에 먹은 음식을 생각하다 보면 치매 예방에 도움이 되려나요? ㅋㅋ 암튼 사진 촬영을 빠트리면 고통입니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 19일 Wednesday PM 09:28:59 이윤찬 Wed, 19 Jul 2023 21:28:59 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3460 ▶이윤찬의 알파와 오메가◀ > 미분류 이윤찬 - 오늘 이 세 가지를 말씀드려야 하는데 일단 보류에 적어 봅니다. 대충 훑어봐도 무슨 내용인지 짐작하실 겁니다. (3) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3458 동네 아는 분 컴퓨터 파워가 퍽 나간 후부터 본체 안켜지는 문제 봐주면서 겪었던 황당한 일, bit.ly 링크 단축 API 서비스 이용할 때 월 이용한도 1만개 차고 나서 어떤 응답 메시지도 보여주지 않아서 미궁에 빠졌었던 문제, 이번에 또 경인교대 앞에서 마을버스 내려 152번 환승하면서 바로 앞 휴차 구역에서 또 한번 버스 갈아탈 때 1200원 일반 요금이 추가로 더 부과가 돼서 캐시비 교통카드 고객센터에 전화해 환불 받았던 일(아주 상습적입니다 여기는). <br /> <br />이 세 가지 이야기를 말씀드려야 하는데 이와 관련하여 여러가지 일이 있었지만 일단 "보류" 카테고리에 적어 봅니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 19일 Wednesday PM 04:23:37 이윤찬 Wed, 19 Jul 2023 16:23:37 +0900 3 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3458 ▶이윤찬의 알파와 오메가◀ > 보류 이윤찬 - 나이가 들었나 이 3가지를 말씀드리려고 했는데 갑자기 의욕이 안생깁니다. (4) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3452 카톡 톡서랍 사용하면서 정말 불편했던 문제랑 삼성동 시장 입구에서 신림선 서울대벤처타운역으로 건너가는 보행자 신호등 타이밍이 안맞는 문제, 우리 아파트 동 지하주차장 입구 마을버스 정류장 앞 인도 이번에 정비하면서 가로수 철제 밑판 고정 안돼 덜컹거리는 문제에 관한 글을 지금 쓰려고 했는데 갑자기 의욕이 안생깁니다. 3가지는 꼭 다 말했으면 싶은데 이상하게 의욕이 안생기네요. <br />ㅡ_ㅡ; <br /> <br />오늘 삼성산뜨란채.kr 저희 아파트 홈페이지에다가도 최근에 삼성산주공.apti.co.kr에서 관리사무소가 올린 지난 1주일간 게시글을 올려야 하는데 이것도 마찬가지로 의욕이 안생깁니다. 자꾸 친구한테 연락할까 누구 집에 놀러갈까 그 생각이 나면서 일이 손에 안잡히네요. 쩝~<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 15일 Saturday AM 09:56:58 이윤찬 Sat, 15 Jul 2023 09:56:58 +0900 4 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3452 ▶이윤찬의 알파와 오메가◀ > 보류 이윤찬 - 전자레인지에 넣지 말아야 할 용기와 음식 + 건강에 좋은 겨울 무와 궁합 관계에 있는 음식 (1) https://www.blrun.net/bbs/zboard.php?id=cap1&no=773 플라스틱은 평소 조심하긴 했는데 가끔 전자레인지에 넣고 같이 데웠던 멜라민 용기를 고온으로 가열했을 때 포름알데히드 성분이 나올 수 있다는 말을 듣고 정말 아연실색했네요. 햄버거나 튀김 등을 담는 누런 포장지도 같이 데우면 해로운 물질이 나온다고 합니다. 헐~ <br />후반부에 나오는 겨울 무와 궁합 관계에 있는 음식들에 관한 내용도 매우 유익하니 꼭 시청해 보세요. 이 동영상 보고 유튜버 이름대로 뭔가 색다른 정보다란 인상을 받았습니다. 잘 보았다가 유념해 두면 건강에 매우 유용할 것 같습니다. <br />================================================================= <br /> <br /><iframe width="560" height="315" src="https://www.youtube.com/embed/h9sRtQzmEKg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 15일 Saturday AM 05:46:59 이윤찬 Sat, 15 Jul 2023 05:46:59 +0900 1 https://www.blrun.net/bbs/zboard.php?id=cap1&no=773 스크랩 > 추천 이윤찬 - 오늘 여기 게시된 https://bit.ly/3Q2wDO2 이 게시글을 살펴보다가 덧글 여러개가 누군가에 의해 삭제된 것을 발견하게 되었습니다. https://www.blrun.net/bbs/zboard.php?id=blog1&no=3447 <a href=https://bit.ly/3Q2wDO2 target=_blank>https://bit.ly/3Q2wDO2</a> 을 살펴보다가 해당 게시글 본문 내용 일부를 수정하는 과정에서 뭔가 그 아래 달린 덧글들이 누락돼 보이는 것 같아서 원본 텍스트 파일을 살펴보는 도중 아래 [그림1]을 보시는 바와 같이 빨간색 사각형으로 돼 있는 덧글들이 다 누락이 되고 [그림2]를 보시는 바와 같이 초록색 사각형 안의 덧글만 달려 있다는 사실을 알게 되었습니다. <br /> <br />뭔가 제가 쓴 글에 반감을 가진 파폭 브라우저 개발자나 암호 저장 서버에 저장된 저장된 암호를 해킹하여 복호화한 해커가 "이윤찬" 사용자의 모든 권한을 수행한 것 같은데 웹사이트의 보안은 잘 아시다시피 현재 브라우저가 여럿 출시돼 있는 상황에서 맘만 먹으면 지금까지 전사적 차원에서 얼마든지 가능하긴 했거든요. <br /> <br />처음에 굉장히 놀랬는데 이게 삭제된 덧글의 작성 날짜를 보면 로그인할 때 인증번호를 발급하도록 소스를 수정하기 전 몇 달 사이에 발생한 문제라고 치더라도 이번 사건은 제가 덧글이 사라진 흔적을 직접 발견한 케이스여서 문제의 심각성이 크다고 할 수 있습니다. 물론 지금은 해당 게시글의 덧글 서두에 작성 날짜를 달아 모두 복구해 놓은 상태이지만 여러분들도 사이트 관리하시면서 이런 일이 실제로 벌어질 수 있다는 사실을 잘 유념해 두시기 바랍니다. <br />ㅡ_ㅡ <br /> <br />보안서버인증서가 설치돼 있으면 패킷 감청은 막을 수 있지만 이렇듯 브라우저 개발자 내부자 소행은 얼마든지 이뤄질 수 있기 때문에 더욱 주의를 요합니다. 결국 보안서버인증서로 사이트를 운영하면 국내 해커들은 힘을 잃게 될 가능성이 높고 다국적 브라우저 개발자들에게만 암호 저장 서버의 복호화 능력을 부여해 강력한 백도어를 형성할 수 있게 되는 점이 아이러니한 일입니다. 이 점도 우리는 주지하고 있어야 합니다. <br /> <br />&lt;추신&gt; <br />[그림1]에서 파란색 포스트 제목 끝의 2018.03.13 날짜는 원본 텍스트 파일을 대조하는 과정에서 잘못 기재가 된 걸 알았습니다. [그림2]에서 보이는 제목 바에서 나타나는 2017.11.20 맞습니다. 참고하세요. <br /> <br />[그림1 - 파란색이 그림2의 제목이고 초록색이 그림2에 존재하는 덧글이고 빨간색이 삭제된 덧글입니다] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%BF%F8%BA%BB_%B9%E9%BE%F7_%C5%D8%BD%BA%C6%AE_%C6%C4%C0%CF%BF%A1_%C0%D6%B4%C2_%BB%E8%C1%A6%B5%C8_%B5%A1%B1%DB%B5%E9_%BD%BA%C5%A9%B8%B0_%C4%B8%C3%B3.png' align='' width='1920' height='1080' vspace='0' hspace='0' border='1'> <br /> <br />[그림2] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C7%D8%B4%E7_%B0%D4%BD%C3%B1%DB%BF%A1%BC%AD_%B5%A1%B1%DB%C0%CC_%C0%CF%BA%CE_%B8%F0%B5%CE_%BB%E8%C1%A6%B5%C5_%C0%D6%B4%C2_%B8%F0%BD%C0.png' align='' width='1920' height='4517' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 13일 Thursday PM 05:05:15 이윤찬 Thu, 13 Jul 2023 17:05:15 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3447 ▶이윤찬의 알파와 오메가◀ > 블록 이윤찬 - 애플의 얄팍한 속셈... 자충수만 될 뿐입니다. https://www.blrun.net/bbs/zboard.php?id=blog1&no=3445 2023.07.12 <br />오늘 아이폰13 쓰다 보니까 전에도 말씀드렸지만 아이폰의 장점인 “미세한 터치” 가 최근 들어 자꾸 개악되는 느낌입니다. 어쩌다 애플 팀쿡이 아이폰을 이렇게 만들어버렸는지 모르겠지만 큰 메릿이 사라진 느낌입니다. <br />ㅡ_ㅡ <br /> <br />2023.07.12 <br />아마도 악의적으로 사파리에서만 애플이 그렇게 만들어 놓은거 같더라구요. <br />이게 환장할 노릇입니다. 단적으로 왼손으로 키보드를 터치하면 잘 되지만 사파리에서 왼손으로 탭을 선택하면 안됩니다. 그게 결정적인 반증이죠. <br />ㅡ_ㅡ <br /> <br />2023.07.12 <br />한마디로 고정적인 수입이 나오는 자신들의 앱 생태계 이탈을 막는 대신 사파리 브라우저의 웹 생태계로의 이행을 막아보겠다는 얄팍한 술수죠. 이건 제가 전에도 언급드렸지만 타이틀 상자 안에서의 게이지 탐색 특성이 편파적으로 차별화돼 있다는 점만 봐도 분명히 알 수 있습니다. <br />ㅡ_ㅡ <br /> <br />아래 링크들이 이 주장을 잘 뒷받침 해주고 있습니다. 자세히 함 읽어보세요. 아이폰으로 사파리에서 글을 써보셨던 분들이라면 충분히 공감하실 수 있을 겁니다. <br /> <br />https://bit.ly/3z7GEzo <br />https://bit.ly/2T394Ej <br />https://bit.ly/2viRVwJ <br />https://bit.ly/2Htgpcp<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 12일 Wednesday PM 08:08:24 이윤찬 Wed, 12 Jul 2023 20:08:24 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3445 ▶이윤찬의 알파와 오메가◀ > SNS 이윤찬 - 구글 검색 결과가 최근에 이상해졌어요. 자꾸 MS 커뮤니티 글이 검색 결과로 도배가 되는데... 근데 결정적으로 이런 건 대부분이 다 도움이 안된다는 사실이 함정입니다. ㅋㅋ (1) https://www.blrun.net/bbs/zboard.php?id=blog1&no=3444 아래와 같이 구글에서 <b>"오피스 365 엑셀 채우기 아이콘 위치"</b> 검색어와 <b>"오피스 365 엑셀 매크로 사용"</b> 으로 검색하면 검색 결과가 죄다 MS 커뮤니터 글이 검색돼 1~2페이지를 전부 도배하는데 정작 도움을 주는 건 이런 MS 커뮤니티 게시글이 아니라 티스토리 블로그와 같은 게시글인데 왜 이런 따분한 글들을 구글은 검색 결과라고 보여주는지 뭔가 오피스 엑셀이라고 해서 MS 커뮤니티 발원지가 더 좋을거라고 생각했는지 모르겠지만 제가 보기엔 상당히 고의적이고 대부분의 유용한 블로그 게시글을 무시하는 처사가 아닐 수 없습니다. 실제로도 이런 MS 커뮤니티 게시글들은 전혀 도움이 안되는 경우가 많고 블로그나 웹로그 게시글이 훨씬더 유용한 내용인 경우가 많은데 구글은 그걸 알고도 그러는지 진짜 모르고 있는지 자꾸 엉뚱한 짓을 하고 있으니 제가 한미디 하지 않을 수 없습니다. <br /> <br />https://www.google.com/search?q=%EC%98%A4%ED%94%BC%EC%8A%A4+365+%EC%97%91%EC%85%80+%EC%B1%84%EC%9A%B0%EA%B8%B0+%EC%95%84%EC%9D%B4%EC%BD%98+%EC%9C%84%EC%B9%98&amp;rlz=1C1CHBD_koKR1026KR1026&amp;oq=%EC%98%A4%ED%94%BC%EC%8A%A4+365+%EC%97%91%EC%85%80+%EC%B1%84%EC%9A%B0%EA%B8%B0+%EC%95%84%EC%9D%B4%EC%BD%98+%EC%9C%84%EC%B9%98&amp;aqs=chrome..69i57j33i160.522j0j7&amp;sourceid=chrome&amp;ie=UTF-8 <br /> <br />https://www.google.com/search?q=%EC%98%A4%ED%94%BC%EC%8A%A4+365+%EC%97%91%EC%85%80+%EB%A7%A4%ED%81%AC%EB%A1%9C+%EC%82%AC%EC%9A%A9&amp;newwindow=1&amp;rlz=1C1CHBD_koKR1026KR1026&amp;sxsrf=AB5stBiJ4dvGSCE_ORXn1IRSyj-k6c8AYg%3A1689143359583&amp;ei=P0iuZOuVI8LV2roPvuGeyAY&amp;ved=0ahUKEwirsbCvxYiAAxXCqlYBHb6wB2kQ4dUDCA8&amp;uact=5&amp;oq=%EC%98%A4%ED%94%BC%EC%8A%A4+365+%EC%97%91%EC%85%80+%EB%A7%A4%ED%81%AC%EB%A1%9C+%EC%82%AC%EC%9A%A9&amp;gs_lcp=Cgxnd3Mtd2l6LXNlcnAQAzIFCCEQoAEyBQghEKABOgoIABBHENYEELADSgQIQRgAUI4QWI4QYLwYaAFwAXgAgAHVAYgB1QGSAQMyLTGYAQCgAQKgAQHAAQHIAQo&amp;sclient=gws-wiz-serp <br /> <br />위 구글 검색 결과를 클릭해 보세요. 첫번째 링크는 매우 심각한데 죽 나열된 링크들이 대부분 MS 커뮤니티 게시글인데 늘 그래왔지만 정작 그 링크들은 하나도 도움이 되지 못한다는 사실이고 이용자들이 쳐넣는 검색어가 조금이라도 MS 프로그램과 관련이 있다 싶으면 이렇게 구글은 늘 검색 결과에서 이들 MS 커뮤니티 글을 상위에 뿌려 버립니다. 제가 그걸 지적하는 겁니다. <br /> <br />여러분은 평소 이것 이상하게 생각하지 않으셨는지... ㅋㅋ <br /> <br />[구글 검색 결과가 죄다 MS 커뮤니티 글인데 정작 이런 링크는 하나도 도움이 되지 않습니다. ㅋㅋ] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%BF%C0%C7%C7%BD%BA_365_%BF%A2%BC%BF_%C3%A4%BF%EC%B1%E2_%BE%C6%C0%CC%C4%DC_%C0%A7%C4%A1_Google_%B0%CB%BB%F6.png' align='' width='1920' height='2402' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 12일 Wednesday PM 03:47:05 이윤찬 Wed, 12 Jul 2023 15:47:05 +0900 1 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3444 ▶이윤찬의 알파와 오메가◀ > 쓰레기통 이윤찬 - [나도코딩 파이썬 입문] 2023.7.10 책 한 권 복습 6페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3440 오늘 파이썬 입문 책은 time 모듈을 import해 사용하는 localtime() 함수와 strftime() 함수 용법이 나왔고 datetime 모듈을 import해 사용하는 하위 date.today() 모듈 함수와 시간수를 매개변수로 전달해 일정 시간 후의 날짜를 구하는 timedelta() 함수 용법이 나왔습니다. <br /> <br />아래는 오늘 학습한 내용입니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#11.8.3 <br /> <br />import time <br /> <br />print(time.localtime()) <br />print(time.strftime("%Y-%m-%d %H:%M:%S")) # 연-월-일 시:분:초 <br /> <br /> <br />import datetime <br /> <br />print("오늘 날짜는", datetime.date.today()) <br />today = datetime.date.today() # 오늘 날짜 저장 <br />td = datetime.timedelta(days=100) # 100일째 날짜 저장 <br />print("우리가 만난 지 100일은", today + td) # 오늘부터 100일 후 날짜 <br /></pre> <br /> <br />아래는 11.9 나만의 모듈을 만드는 연습문제를 직접 풀어 작성한 코드입니다. <br /> <br />[byme.py] <br /><pre class="brush: py; first-line: 1" title="byme.py"> <br />def sign(): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("이 프로그램은 나도코딩이 만들었습니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;print("유튜브: <a href=http://www.youtube.com/@nadocoding target=_blank>http://www.youtube.com/@nadocoding</a>") <br />&nbsp;&nbsp;&nbsp;&nbsp;print("이메일: <a href=mailto:nadocoding@gmail.com>nadocoding@gmail.com</a>") <br /></pre> <br /> <br />[f11-9.py] <br /><pre class="brush: py; first-line: 1" title="f11-9.py"> <br />import byme <br />byme.sign() <br /></pre> <br /> <br />아래는 똑같은 문제에 대한 답안에 나온 코드입니다. 위의 직접 풀은 코드와 똑같네요. <br /> <br />[byme.py] <br /><pre class="brush: py; first-line: 1" title="byme.py"> <br />def sign(): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("이 프로그램은 나도코딩이 만들었습니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;print("유튜브 : <a href=https://www.youtube.com/@nadocoding target=_blank>https://www.youtube.com/@nadocoding</a>") <br />&nbsp;&nbsp;&nbsp;&nbsp;print("이메일 : <a href=mailto:nadocoding@gmail.com>nadocoding@gmail.com</a>") <br /></pre> <br /> <br />[11.9 실습문제 답안에 나온 모듈 호출 코드] <br /><pre class="brush: py; first-line: 1" title="11.9 실습문제 답안에 나온 모듈 호출 코드"> <br />#ch11 <br /> <br />import byme <br /> <br />byme.sign() <br /></pre> <br /> <br />아래는 11장 셀프체크 문제를 직접 풀은 코드입니다. <br /> <br />[greeding.py] <br /><pre class="brush: py; first-line: 1" title="greeding.py"> <br />def say_hello(to): <br />&nbsp;&nbsp;&nbsp;&nbsp;print(f"안녕, {to}?") <br />def say_goodbye(to): <br />&nbsp;&nbsp;&nbsp;&nbsp;print(f"또 만나, {to}!") <br /> <br />if __name__ == "__main__": <br />&nbsp;&nbsp;&nbsp;&nbsp;# 모듈을 직접 실행 시 출력 결과 <br />&nbsp;&nbsp;&nbsp;&nbsp;# 함수의 전달값으로 각각 파이썬과 나도코딩 전달 <br />&nbsp;&nbsp;&nbsp;&nbsp;say_hello("파이썬") <br />&nbsp;&nbsp;&nbsp;&nbsp;say_goodbye("나도코딩") <br />else: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("외부에서 greeding.py 모듈 호출!") <br /></pre> <br /> <br />[s11-9.py] <br /><pre class="brush: py; first-line: 1" title="s11-9.py"> <br /># 외부 프로그램 <br />import greeding <br />greeding.say_hello("파이썬") <br />greeding.say_goodbye("나도코딩") <br /></pre> <br /> <br />아래는 답안에 나온 셀프체크 해답입니다. <br /> <br />[greeting.py] <br /><pre class="brush: py; first-line: 1" title="greeting.py"> <br />def say_hello(to): <br />&nbsp;&nbsp;&nbsp;&nbsp;print(f"안녕, {to}?") <br /> <br />def say_goodbye(to): <br />&nbsp;&nbsp;&nbsp;&nbsp;print(f"또 만나, {to}!") <br /> <br />if __name__ == "__main__": # 모듈 직접 실행 시 함수 호출 <br />&nbsp;&nbsp;&nbsp;&nbsp;say_hello("파이썬") <br />&nbsp;&nbsp;&nbsp;&nbsp;say_goodbye("나도코딩") <br /></pre> <br /> <br />[s11-9.py] <br /><pre class="brush: py; first-line: 1" title="s11-9.py"> <br /># 외부 프로그램(모범답안에 외부 프로그램에서 모듈을 호출하는 소스코드가 빠져 위에서 직접 풀은 소스 코드를 가져왔습니다) <br />import greeding <br />greeding.say_hello("파이썬") <br />greeding.say_goodbye("나도코딩") <br /></pre> <br /> <br />이렇게 해서 "나도코딩의 파이썬 입문" 책은 책가위를 했습니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 10일 Monday PM 09:02:29 이윤찬 Mon, 10 Jul 2023 21:02:29 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3440 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - 오늘 제가 뜬금없이 챗GPT에 "인감 2개 만들 수 있나요?" 라고 질문했더니 제대로 답변이 달리지 않네요. ㅋㅋ https://www.blrun.net/bbs/zboard.php?id=blog1&no=3438 챗GPT가 여기에 대한 학습 내용이 없어서 그런가 질문에 맞는 답변 내용이 안달리더라구요. ㅋㅋ 간만에 엉뚱한 답변이 달려서 이렇게 캡처 이미지를 실어봅니다. <br />그래서 결국 구글 검색을 이용하게 됐는데 해당 내용이 일절 검색이 되지 않고 나무위키에서 "인감" 에 대해서 설명한 내용 중에 아래 세번째 이미지를 보시는 바와 같이 신고하는 인감은 1인 1종으로 한정한다 라는 내용이 나오는 것을 알 수 있습니다. <br /> <br />[<a href=http://chat.openai.com target=_blank>http://chat.openai.com</a> 에 질문] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C3%AAGPT___%C0%CE%B0%A8_2%B0%B3_%B8%B8%B5%E9%B1%E2.png' align='' width='1400' height='1276' vspace='0' hspace='0' border='1'> <br /> <br />[카톡 AskUp에 질문] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C4%AB%C5%E5_AskUp___%C0%CE%B0%A8_2%B0%B3_%B8%B8%B5%E9%B1%E2.png' align='' width='380' height='828' vspace='0' hspace='0' border='1'> <br /> <br />[구글 나무위키 "인감" 등재 내용] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%B3%AA%B9%AB%C0%A7%C5%B0%BF%A1%BC%AD_%C0%FB%BD%C3%B5%C8_1%C0%CE_1%C0%CE%B0%A8_%C1%A6%B5%B5%BF%A1_%B4%EB%C7%D8%BC%AD_%B3%AA%BF%C2_%B3%BB%BF%EB.png' align='' width='1400' height='1050' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 09일 Sunday PM 09:22:29 이윤찬 Sun, 09 Jul 2023 21:22:29 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3438 ▶이윤찬의 알파와 오메가◀ > 블록 이윤찬 - [나도코딩 파이썬 입문] 2023.7.9 책 한 권 복습 5페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3437 오늘 파이썬 입문 책은 외장 함수를 사용하는 예제가 나왔습니다. 외장 함수는 내장 함수와는 다르게 지난 포스트에서 공부한 모듈 사용법 처럼 import 해야만 프로그램 안에서 사용할 수 있다는 내용과 파이썬에서 제공하는 모듈을 살펴보려면 파이썬 공식 홈페이지인 <a href=https://docs.python.org/3/py-modindex.html target=_blank>https://docs.python.org/3/py-modindex.html</a> 를 방문하면 된다는 내용이 나왔습니다. <br /> <br />아래 오늘 학습한 내용에서는 와일드 카드 문자 * 를 사용해서 소스가 존재하는 위치에서 해당하는 파일 목록의 리스트를 반환하는 glob 모듈 사용법과 os 모듈을 import 해서 getcwd() 함수로 현재 작업 폴더의 경로를 구하는 용법, os 모듈을 import해 path란 서브 모듈명을 연이어 . 연산자로 붙인 다음 exists() 함수에 매개변수로 폴더명을 전달해 해당 폴더가 존재하는지 여부를 구하고 폴더가 존재하지 않으면 makedirs() 함수로 폴더를 생성하는 용법, 그 폴더를 생성해 이미 존재하면 rmdir() 함수로 폴더를 삭제하는 용법, 그렇게 폴더를 삭제하고 나서 다시 소스를 실행했을 때 폴더가 존재하지 않으면 다시 makedir() 함수로 폴더를 생성하는 용법이 나왔습니다. <br /> <br />마지막엔 다시 os 모듈을 import해 listdir() 함수로 glob() 함수와 비슷하게 현재 작업 폴더 안의 모든 폴더와 파일 목록의 리스트를 반환하는 용법이 나왔습니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#11.8 <br /> <br />#11.8.1 <br />import glob <br /> <br />print(glob.glob("*.py")) # 확장자가 py인 모든 파일 출력 <br /> <br />#11.8.2 <br />import os <br /> <br />print(os.getcwd()) # 현재 작업 폴더 위치(경로) <br /> <br /> <br />folder = "sample_dir" <br />if os.path.exists(folder): # 같은 이름의 폴더가 존재한다면 <br />&nbsp;&nbsp;&nbsp;&nbsp;print("이미 존재하는 폴더입니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;os.rmdir(folder) # 폴더 삭제 <br />&nbsp;&nbsp;&nbsp;&nbsp;print(folder, "폴더를 삭제했습니다.") # 삭제 문구 출력 <br />else: # 폴더가 존재하지 않으면 <br />&nbsp;&nbsp;&nbsp;&nbsp;os.makedirs(folder) # 폴더 생성 <br />&nbsp;&nbsp;&nbsp;&nbsp;print(folder, "폴더를 생성했습니다.") <br /> <br /> <br />print(os.listdir()) # 현재 작업 폴더 안의 폴더와 파일 목록 출력 <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 09일 Sunday PM 09:00:01 이윤찬 Sun, 09 Jul 2023 21:00:01 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3437 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.7.8 책 한 권 복습 6페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3435 오늘 파이썬 입문 책은 import문을 사용하지 않고 이용할 수 있는 내장 함수에 대해서 나왔는데 그 중에 dir() 내장 함수는 괄호 안에 아무것도 전달하지 않으면 현재 소스 코드 안에서 사용할 수 있는 모듈 또는 객체 리스트를 반환한다는 내용이 나왔습니다. <br /> <br />오늘 학습한 예제는 아래와 같은데 소스를 보시면 알겠지만 내장 함수 input() 예제가 나오고 별개의 예제에서 처음에 dir() 함수가 반환하는 모듈 또는 객체 리스트를 출력하고 그 다음 random 모듈을 import해준 후 다시 dir()이 반환하는 객체와 모듈의 리스트를 출력하고 그 다음은 pickle 모듈을 import하고 나서 사용할 수 있는 객체와 모듈의 리스트를 출력해 주고 있습니다. <br /> <br />또 숫자 리스트를 변수에 대입 후 dir 매개변수로 그 변수를 전달하면 모듈이 아닌 리스트 자료구조에서 사용할 수 있는 변수와 함수 목록을 리스트 형태로 반환한다는 내용과 변수에 문자열을 대입 후 dir 매개변수로 그 변수를 전달해도 그 변수에서 사용할 수 있는 upper(), lower(), find() 등의 다양한 함수와 변수 리스트를 반환하는 걸 알 수 있다는 내용이 나왔습니다. <br /> <br />내장함수 소개 페이지 참고 - <a href=https://docs.python.org/3/library/functions.html target=_blank>https://docs.python.org/3/library/functions.html </a><br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br /># 11.7 <br /> <br />language = input("어떤 언어를 좋아하세요? ") <br />print("{0}은 아주 좋은 언어입니다!".format(language)) <br /> <br /> <br />print(dir()) <br />import random # random 모듈 가져다 쓰기 <br />print(dir()) <br />import pickle # pickle 모듈 가져다 쓰기 <br />print(dir()) <br /> <br /> <br />import random <br />print(dir(random)) <br /> <br /> <br />lst = [1, 2, 3] <br />print(dir(lst)) <br /> <br /> <br />name = "Jim" <br />print(dir(name)) <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 08일 Saturday PM 09:12:14 이윤찬 Sat, 08 Jul 2023 21:12:14 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3435 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.7.7 책 한 권 복습 7페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3433 오늘 파이썬 입문 책은 <a href="https://pypi.org" target="_blank">https://pypi.org</a> 에서 패키지를 찾아 설치하는 방법이 나왔는데 아래 [오늘 학습한 내용] 코드는 beautifulsoup4 패키지를 설치 후 실행한 예제인데 불완전한 태그를 마감해 정돈하는 기능을 합니다.<br><br>또 아래 표는 패키지를 설치할 때 사용할 수 있는 pip 명령을 나타냅니다.<br><br> <table border="1" width="1027"> <tbody><tr> <td width="236"><b>옵션</b></td> <td width="320"><b>설명</b></td> <td width="449"><b>사용법</b></td> </tr> <tr> <td width="236">install</td> <td width="320">패키지 설치</td> <td width="449">pip install [패키지명]</td> </tr> <tr> <td width="236">install --upgrade</td> <td width="320">패키지 업그레이드</td> <td width="449">pip install --upgrade [패키지명]</td> </tr> <tr> <td width="236">uninstall</td> <td width="320">패키지 삭제</td> <td width="449">pip uninstall [패키지명]</td> </tr> <tr> <td width="236">list</td> <td width="320">설치 패키지 목록</td> <td width="449">pip list</td> </tr> <tr> <td width="236">show</td> <td width="320">패키지 상세 정보</td> <td width="449">pip show [패키지명]</td> </tr> </tbody></table> <br> [오늘 학습한 내용] <pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> #11.6 from bs4 import BeautifulSoup soup = BeautifulSoup("&lt;p>Some&lt;b>bad&lt;i>HTML") print(soup.prettify()) </pre><br><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 07일 Friday PM 09:55:38 이윤찬 Fri, 07 Jul 2023 21:55:38 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3433 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.7.6 책 한 권 복습 6페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3431 오늘 파이썬 입문 책은 패키지와 모듈 위치를 확인하는 소스가 나왔습니다. 먼저 random 모듈의 위치를 확인하고 random 모듈이 위치하는 lib 폴더 안에 travel 패키지를 폴더째 통째로 복사한 뒤 원본 위치의 폴더명을 리네임해서 새로운 위치의 travel 패키지 사용이 올바르게 동작하는지 확인합니다. 9~12행이 그것입니다. <br /> <br />아래는 오늘 학습한 내용입니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#11.5 <br /> <br />import inspect <br />import random <br /> <br />print(inspect.getfile(random)) # random 모듈 위치(경로) <br /> <br /> <br />import inspect <br />from travel import * <br /> <br />print(inspect.getfile(thailand)) # thailand 모듈 위치 <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 06일 Thursday PM 04:41:32 이윤찬 Thu, 06 Jul 2023 16:41:32 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3431 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.7.5 책 한 권 복습 3페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3429 오늘 파이썬 입문 책은 모듈 소스를 자체적으로 실행하는지 아니면 외부에서 호출하는지 여부를 판단하는 if __name == "__main__": 조건문의 용법이 나왔습니다. <br />아래는 오늘 학습한 내용입니다. <br /> <br />travel 폴더 안에 __init__.py 파일과 thailand.py 파일을 넣고 thailand.py 파일을 MS Code 에서 직접 실행하게 되면 5~9행이 실행이 되고 두번째 코드 예제와 같이 [외부에서 실행하는 코드] 형태를 travel 폴더 밖에서 실행하게 되면 thailand.py 파일의 10~11행이 실행됩니다. <br /> <br />[__init__.py] <br /><pre class="brush: py; first-line: 1" title="__init__.py"> <br />__all__ = ["vietnam", "thailand"] # vietnam, thailand 모듈 공개 <br /></pre> <br /> <br />[thailand.py] <br /><pre class="brush: py; first-line: 1" title="thailand.py"> <br />class ThailandPackage: <br />&nbsp;&nbsp;&nbsp;&nbsp;def detail(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[태국 3박 5일 패키지] 방콕, 파타야 여행(야시장 투어) 50만 원") <br /> <br />if __name__ == "__main__": # 모듈 직접 실행 <br />&nbsp;&nbsp;&nbsp;&nbsp;print("thailand 모듈 직접 실행") <br />&nbsp;&nbsp;&nbsp;&nbsp;print("이 문장은 모듈을 직접 실행할 때만 출력돼요.") <br />&nbsp;&nbsp;&nbsp;&nbsp;trip_to = ThailandPackage() <br />&nbsp;&nbsp;&nbsp;&nbsp;trip_to.detail() <br />else: # 외부에서 모듈 호출 <br />&nbsp;&nbsp;&nbsp;&nbsp;print("외부에서 thailand 모듈 호출") <br /></pre> <br /> <br />[외부에서 실행하는 코드] <br /><pre class="brush: py; first-line: 1" title="외부에서 실행하는 코드"> <br />#11.4 <br /> <br />from travel import * <br /> <br />trip_to = thailand.ThailandPackage() <br />trip_to.detail() <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 05일 Wednesday PM 10:18:30 이윤찬 Wed, 05 Jul 2023 22:18:30 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3429 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.7.4 책 한 권 복습 5페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3427 오늘 파이썬 입문 책은 패키지를 from 패키지명 import * 와 같은 형태로 모두 불러와 사용하기 위한 __init__.py 파일 내의 __all__ 리스트 변수 설정 방법에 대해서 나왔습니다. <br />오늘 학습한 소스는 아래와 같습니다. 단, 어제 포스트에서 보았지만 __init__.py 파일이 없거나 __all__ 리스트에 안에 아무런 모듈을 넣지 않더라도 from travel import vietnam, thailand와 같이 작성하면 여전히 vietnam, thailand 모듈을 사용할 수 있습니다. <br /> <br />[thailand.py] <br /><pre class="brush: py; first-line: 1" title="thailand.py"> <br />class ThailandPackage: <br />&nbsp;&nbsp;&nbsp;&nbsp;def detail(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[태국 3박 5일 패키지] 방콕, 파타야 여행(야시장 투어) 50만 원") <br /> <br /></pre> <br /> <br />[vietnam.py] <br /><pre class="brush: py; first-line: 1" title="vietnam.py"> <br />class VietnamPackage: <br />&nbsp;&nbsp;&nbsp;&nbsp;def detail(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[베트남 3박 5일 패키지] 다낭 효도 여행 60만 원") <br /></pre> <br /> <br />[__init__.py : 오늘은 이 파일이 있어야 됩니다] <br /><pre class="brush: py; first-line: 1" title="__init__.py : 오늘은 이 파일이 있어야 됩니다"> <br />__all__ = ["vietnam", "thailand"] # vietnam, thailand 모듈 공개 <br /> <br /></pre> <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#11.3 <br /> <br />from travel import * <br /> <br />trip_to = vietnam.VietnamPackage() # 베트남 <br />#trip_to = thailand.ThailandPackage() # 태국 <br />trip_to.detail() <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 04일 Tuesday PM 09:03:18 이윤찬 Tue, 04 Jul 2023 21:03:18 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3427 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.7.3 책 한 권 복습 5페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3425 오늘 파이썬 입문 책은 패키지를 만들고 파이썬 코드에서 가져와 사용하는 방법이 나왔습니다. 작업 폴더(PythonWorkspace) 안에 travel 이란 폴더를 하나 만들고 그 안에 아래의 세 개의 파일을 만들어 넣어둡니다. __init__.py 파일은 일단 없어도 됩니다. <br /> <br />[thailand.py] <br /><pre class="brush: py; first-line: 1" title="thailand.py"> <br />class ThailandPackage: <br />&nbsp;&nbsp;&nbsp;&nbsp;def detail(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[태국 3박 5일 패키지] 방콕, 파타야 여행(야시장 투어) 50만 원") <br /> <br /></pre> <br /> <br />[vietnam.py] <br /><pre class="brush: py; first-line: 1" title="vietnam.py"> <br />class VietnamPackage: <br />&nbsp;&nbsp;&nbsp;&nbsp;def detail(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[베트남 3박 5일 패키지] 다낭 효도 여행 60만 원") <br /></pre> <br /> <br />[__init__.py : 일단 이 파일은 없어도 됨] <br /><pre class="brush: py; first-line: 1" title="__init__.py : 일단 이 파일은 없어도 됨"> <br />__all__ = ["vietnam", "thailand"] # vietnam, thailand 모듈 공개 <br /> <br /></pre> <br /> <br />아래 소스에서 4~7행 까지는 import만을 이용해서 travel 패키지의 thailand 모듈 가져와서 ThailandPackage() 클래스를 사용하는 용법이고 11~14행 까지는 import만으론 클래스는 import가 불가능하다는 것을 나타내며 19~22행 까지는 travel.thailand 모듈에서 ThailandPackage 클래스를 가져오기 하는 용법이고 이는 from~import 문을 사용하여 함수부터 클래스, 모듈, 패키지까지 모두 import할 수 있는 용법이라는 내용이 나왔습니다. <br /> <br />26~29행 까지와 같이 패키지로부터 모듈명만 가져오면 패키지명 없이 모듈명(vietnam)만으로 모듈 안에 있는 VietnamPackage 클래스에 접근할 수 있습니다. 이때 패키지명인 travel.은 생략합니다. <br /> <br />이렇듯 패키지에서는 import 대상이 무엇이냐에 따라 접근하는 코드도 달라져야 한다는 점에 유의합니다. <br /> <br />[패키지와 모듈을 가져와 클래스를 사용하는 소스] <br /><pre class="brush: py; first-line: 1" title="패키지와 모듈을 가져와 클래스를 사용하는 소스"> <br />#11.2 <br /> <br />#11.2.2 <br />import travel.thailand # travel 패키지의 thailand 모듈 가져오기 <br /> <br />trip_to = travel.thailand.ThailandPackage() <br />trip_to.detail() <br /> <br /> <br />""" <br />import travel.thailand.ThailandPackage # 클래스 import 불가 <br /> <br />trip_to = travel.thailand.ThailandPackage() <br />trip_to.detail() <br />""" <br /> <br /> <br /># travel.thailand 모듈에서 ThailandPackage 클래스 가져오기 <br />from travel.thailand import ThailandPackage <br /> <br />trip_to = ThailandPackage() # from~import 문에서는 travel.thailand. 제외 <br />trip_to.detail() <br /> <br /> <br /># travel 패키지에서 vietnam 모듈을 가져오기 <br />from travel import vietnam <br /> <br />trip_to = vietnam.VietnamPackage() # travel. 생략 <br />trip_to.detail() <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 03일 Monday PM 09:20:53 이윤찬 Mon, 03 Jul 2023 21:20:53 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3425 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.7.2 책 한 권 복습 6페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3423 오늘 파이썬 입문 책은 모듈을 만들고 그걸 사용하는 방법에 대해서 나왔는데 여기선 theater_module.py 파일 안에 def 명령어로 함수 3개를 만들어 영화표 가격을 일반가격, 조조 할인 가격, 군인 할인 가격으로 나누어 계산해 출력하는 기능을 제공하는 모듈을 만들어 사용합니다. <br /> <br />참고로 theater_module.py 파일은 아래 두번째의 그 모듈 파일을 사용하는 소스와 같은 디렉토리에 있어야 합니다. <br /> <br />아래는 오늘 학습한 내용입니다. <br /> <br />[theater_module.py] <br /><pre class="brush: py; first-line: 1" title="theater_module.py"> <br /># 일반 가격 <br />def price(people): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("{0}명, 영화표 가격은 {1}원입니다.".format(people, people * 10000)) <br /># 조조 할인 가격 <br />def price_morning(people): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("{0}명, 조조 할인 영화표 가격은 {1}원입니다.".format(people, people * 6000)) <br /># 군인 할인 가격 <br />def price_soldier(people): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("{0}명, 군인 할인 영화표 가격은 {1}원입니다. ".format(people, people * 4000)) <br /></pre> <br /> <br />[theater_module.py 모듈을 사용하는 예제] <br /><pre class="brush: py; first-line: 1" title="theater_module.py 모듈을 사용하는 예제"> <br />#11.1 <br /> <br />#11.1.2 <br />import theater_module # 모듈 가져오기 <br /> <br />theater_module.price(3) # 3명이 영화를 보러 갔을 때 가격 <br />theater_module.price_morning(4) # 4명이 조조 영화를 보러 갔을 때 가격 <br />theater_module.price_soldier(5) # 군인 5명이 영화를 보러 갔을 때 가격 <br /> <br /> <br />import theater_module as mv # theater_module을 별명인 mv로 사용한다는 의미 <br />mv.price(3) <br />mv.price_morning(4) <br />mv.price_soldier(5) <br /> <br /> <br />from theater_module import * # theater_module에서 모든 기능을 가져와 사용함 <br /> <br />price(3) # theater_module.을 작성할 필요 없음 <br />price_morning(4) <br />price_soldier(5) <br /> <br /> <br />from theater_module import price, price_morning # 모듈에서 일부 함수만 가져와 사용함 <br /> <br />price(5) # 5명 <br />price_morning(6) # 6명 <br />price_soldier(7) # import하지 않아서 사용 불가 <br /> <br /> <br /># price_soldier를 별명인 price로 대체 사용 <br />from theater_module import price_soldier as price <br /> <br />price(5) # price_soldier() 함수 호출 <br /> <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 02일 Sunday PM 08:37:34 이윤찬 Sun, 02 Jul 2023 20:37:34 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3423 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - 추미애 전 법무장관이 말하는 그 당시 상황의 소회... 재밌네요. https://www.blrun.net/bbs/zboard.php?id=cap1&no=771 친구가 우연히 링크를 던져줘서 끝까지 시청하게 됐는데 초반부는 그럭저럭 봤고 후반부로 갈수록 더 재밌는 얘기와 나름 진솔한 인터뷰 같아서 퍼왔습니다. 현대 정치가 구시대 정치와 어떻게 다른 것인지 그런 부분도 엿볼 수 있는 동영상인 것 같습니다. <br />별 기대 안하고 봤는데 아주 재밌게 봤습니다. 여러분들도 시간이 날 때 시청해 보시라고 추천드립니다. 2시간 18분 짜리 동영상이예요. <br />=========================================================== <br /> <br /><iframe width="560" height="315" src="https://www.youtube.com/embed/guEN_oiNymQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 02일 Sunday PM 01:43:10 이윤찬 Sun, 02 Jul 2023 13:43:10 +0900 0 https://www.blrun.net/bbs/zboard.php?id=cap1&no=771 스크랩 > 추천 이윤찬 - [나도코딩 파이썬 입문] 2023.7.1 책 한 권 복습 2페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3421 오늘 파이썬 입문 책은 배터리 잔량에 따라 그에 따른 적절한 모드 메시지를 표시하는 프로그램을 작성하라는 셀프체크 문제를 풀었습니다. <br />아래는 제가 풀은 답안이고 뒤에 소스는 답지에 나온 소스입니다. 답지에 나온 소스에선 배터리 잔량이 5% 이하 남았을 땐 Exception() 예외 오류 처리 루틴을 raise 명령어로 직접 분기시켜 에러 메시지를 전달해 출력하는 특이한 형태를 취하고 있습니다. <br /> <br />[셀프체크 문제를 풀어 작성한 코드] <br /><pre class="brush: py; first-line: 1" title="셀프체크 문제를 풀어 작성한 코드"> <br />class LowBatteryError(Exception): <br />&nbsp;&nbsp;&nbsp;&nbsp;pass <br /> <br />def save_battery(level): <br />&nbsp;&nbsp;&nbsp;&nbsp;try: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if level &gt; 30: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("배터리 잔량: {}%".format(level)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("일반 모드로 사용합니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif 5 &lt; level &lt;= 30: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("배터리 잔량: {}%".format(level)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("절전 모드로 사용합니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif(0 &lt;= level &lt;= 5): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("배터리 잔량: {}%".format(level)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise LowBatteryError <br />&nbsp;&nbsp;&nbsp;&nbsp;except LowBatteryError: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("배터리가 부족해 스마트폰을 종료합니다") <br />&nbsp;&nbsp;&nbsp;&nbsp;finally: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("") <br /> <br /># 테스트 코드 <br />save_battery(75) <br />save_battery(25) <br />save_battery(3) <br /> <br /></pre> <br /> <br />[셀프체크 문제 답지에 나온 코드] <br /><pre class="brush: py; first-line: 1" title="셀프체크 문제 답지에 나온 코드"> <br />def save_battery(level): <br />&nbsp;&nbsp;&nbsp;&nbsp;try: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(f"배터리 잔량 : {level}%") # 배터리 잔량 표시 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if level &gt; 30: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("일반 모드로 사용합니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif level &gt; 5: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("절전 모드로 사용합니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise Exception("배터리가 부족해 스마트폰을 종료합니다.") # 오류 발생 <br />&nbsp;&nbsp;&nbsp;&nbsp;except Exception as e: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(e) <br />&nbsp;&nbsp;&nbsp;&nbsp;print() # 마지막 줄 바꿈 <br /> <br /># 테스트 코드 <br />save_battery(75) <br />save_battery(25) <br />save_battery(3) <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 01일 Saturday PM 09:21:56 이윤찬 Sat, 01 Jul 2023 21:21:56 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3421 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - 먹고 운동해도 운동량이 적으니 소화가 덜 됩니다. 먹는 걸 줄여야 합니다. https://www.blrun.net/bbs/zboard.php?id=blog1&no=3419 점심 먹기 전 그저께 대표님이 선물해 주신 생일 케익을 마저 더 먹었는데 이후 어머니와 같이 누나랑 셋이 아까 맛있는 점심을 배불리 먹고 집에 와서 얼마 있다 어머니가 또 냉동고에서 배스킨라빈스 큰 통에 들은 아이스크림을 찾아내어 먹으라고 꺼내주셔서 이것까지 먹었더니 지금 엄청 배가 부릅니다. 만 석달 가까이 등산도 안하고 있는데 이렇게 먹어도 되나 싶은데 조금 전 윗몸일으키기와 팔굽혀펴기를 한 차례 더 해주고 나서 동네 302동 뒷마당 끝까지 걸어갔다 왔지만 5분 밖에 안되는 거리라 소화를 시키기엔 아무래도 역부족입니다. 주위에서 자꾸 먹을 것이 보이고 권하는 분위기다 보니 이것이 앞으로 가장 큰 건강 상 위협요인이 되지 않을까 싶습니다. <br />ㅡ_ㅡ;<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 01일 Saturday PM 04:30:50 이윤찬 Sat, 01 Jul 2023 16:30:50 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3419 ▶이윤찬의 알파와 오메가◀ > SNS 이윤찬 - [나도코딩 파이썬 입문] 2023.6.30 책 한 권 복습 4페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3418 오늘 파이썬 입문 책은 "치킨 주문하기" 실습 문제를 풀었습니다. 아래에 제가 푼 답안이 있고 뒤에는 책에 실려있는 모범 답안이 있습니다. 책에 있는 예제 코드를 제시된 조건에 따라 수정하고 적절하게 예외 처리 구문을 첨가해 완성하는 문제입니다. 책에 나온 답안에는 한번에 10마리 이상 주문했을 때 예외 처리가 빠져 있는 것 같네요. <br /> <br />아래는 오늘 학습한 내용입니다. <br /> <br />[오늘 제가 풀은 연습문제] <br /><pre class="brush: py; first-line: 1" title="오늘 제가 풀은 연습문제"> <br />chicken = 10 # 남은 치킨 수 <br />waiting = 1 # 대기번호, 1부터 시작 <br /> <br />class BigNumberError(Exception): # 사용자 정의 오류 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, msg): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.msg = msg <br />&nbsp;&nbsp;&nbsp;&nbsp;def __str__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return "[오류 코드 001] " +self.msg # 오류 메시지 가공 <br />class SoldOutError(Exception): # 사용자 정의 오류 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, msg): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.msg = msg <br />&nbsp;&nbsp;&nbsp;&nbsp;def __str__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return "[오류 코드 002] " +self.msg # 오류 메시지 가공 <br /> <br />while True: <br />&nbsp;&nbsp;&nbsp;&nbsp;try: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[남은 치킨: {0}마리]".format(chicken)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if chicken &lt; 1: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise SoldOutError("재료가 소진돼 더 이상 주문을 받지 않습니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;order = int(input("치킨을 몇 마리 주문하시겠습니까? ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if order &lt; 1: # 주문량이 1보다 작거나 문자일 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise ValueError <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif order &gt; 10: # 최대 10마리까지 주문 가능 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise BigNumberError("입력값: {0}마리".format(order)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif order &gt; chicken: # 남은 치킨보다 주문량이 많을 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("재료가 부족합니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[대기번호 {0}] {1}마리를 주문했습니다.".format(waiting, order)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;waiting += 1 # 대기번호 1 증가 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chicken -= order # 주문 수만큼 남은 치킨 감소 <br />&nbsp;&nbsp;&nbsp;&nbsp;except ValueError: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("값을 잘못 입력했습니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;except BigNumberError as err: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("값을 잘못 입력했습니다. 최대 10마리 까지 주문 가능합니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(err) <br />&nbsp;&nbsp;&nbsp;&nbsp;except SoldOutError as err: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(err) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break # while문을 빠져 나옴 <br /></pre> <br /> <br />[책에 나온 모범 답안] <br /><pre class="brush: py; first-line: 1" title="책에 나온 모범 답안"> <br />#ch10 <br /> <br />class SoldOutError(Exception): <br />&nbsp;&nbsp;&nbsp;&nbsp;pass <br /> <br />chicken = 10 # 남은 치킨 수 <br />waiting = 1 # 대기 번호, 1부터 시작 <br /> <br />while True: <br />&nbsp;&nbsp;&nbsp;&nbsp;try: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[남은 치킨 : {0}]".format(chicken)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;order = int(input("치킨을 몇 마리 주문하시겠습니까? ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if order &gt; chicken: # 남은 치킨보다 주문량이 많을 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("재료가 부족합니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif order &lt;= 0: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise ValueError <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[대기 번호 {0}] {1}마리를 주문했습니다.".format(waiting, order)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;waiting += 1 # 대기 번호 증가 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chicken -= order # 주문 수만큼 남은 치킨 감소 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if chicken == 0: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise SoldOutError <br />&nbsp;&nbsp;&nbsp;&nbsp;except ValueError: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("잘못된 값을 입력했습니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;except SoldOutError: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("재료가 소진돼 더 이상 주문을 받지 않습니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 07월 01일 Saturday AM 06:44:12 이윤찬 Sat, 01 Jul 2023 06:44:12 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3418 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.6.29 책 한 권 복습 3페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3416 오늘 파이썬 입문 책은 try: ~ except 오류 종류: ~ 문 사용에 있어 맨 마지막 분기 처리에 finally: ~ 를 붙여 except 오류 종류: ~ 문 처리 여부와 상관없이 특정 작업을 맨 마지막에 덧붙여 수행할 수 있는 용법이 나왔습니다. 아래는 오늘 학습한 내용입니다. <br /> <br />아래 예제를 MS Code 에디터에 입력하여 실행해 보시면 알겠지만 13행, 14행 입력단계에서 숫자가 아닌 문자를 입력하면 18~19행 ValueError: 오류 처리 루틴이 실행이 되고 정상적으로 10보다 작은 두 수를 입력하면 16행 부분이 실행되지 않으면서 17행 부분이 정상적으로 출력되고 10보다 큰 수를 입력하면 20~22행 부분의 BigNumberError 클래스를 호출하는 사용자 에러 처리 루틴이 실행 됩니다. <br /> <br />물론 23~24행 부분의 finally: 루틴은 위에서 언급한 각 단계 처리 후 마지막에 빠짐없이 언급되는 부분입니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#10.4 <br /> <br />class BigNumberError(Exception): <br />&nbsp;&nbsp;&nbsp;&nbsp;#pass <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, msg): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.msg = msg <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def __str__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return self.msg <br /> <br />try: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("한 자리 숫자 나누기 전용 계산기입니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;num1 = int(input("첫 번째 숫자를 입력하세요 : ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;num2 = int(input("두 번째 숫자를 입력하세요 : ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;if num1 &gt;= 10 or num2 &gt;= 10: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise BigNumberError("입력값 : {0}, {1}".format(num1, num2)) <br />&nbsp;&nbsp;&nbsp;&nbsp;print("{0} / {1} = {2}".format(num1, num2, int(num1 / num2))) <br />except ValueError: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("값을 잘못 입력했습니다. 한 자리 숫자만 입력하세요.") <br />except BigNumberError as err: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("오류가 발생했습니다. 한 자리 숫자만 입력하세요.") <br />&nbsp;&nbsp;&nbsp;&nbsp;print(err) <br />finally: # 오류 발생 여부와 상관없이 항상 실행 <br />&nbsp;&nbsp;&nbsp;&nbsp;print("계산기를 이용해 주셔서 감사합니다.") <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 29일 Thursday PM 08:37:13 이윤찬 Thu, 29 Jun 2023 20:37:13 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3416 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.6.28 책 한 권 복습 5페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3414 오늘 파이썬 입문 책은 지난 포스트의 특정 오류를 사용자 정의 형태로 발생시키는 형태 외에 사용자가 정의하는 오류 형태의 분기 처리를 해줄 수 있는 예제가 나왔습니다. 사용자 정의 예외 처리 클래스를 기술하는 형태는 아래 코드의 3~10행과 같은 형태입니다. 27~35행을 보면 아시겠지만 클래스를 실행해 변수에 대입할 때는 __init__(self): 생성자가 실행되고 그 객체를 출력할 땐 __str__(self): 메소드가 실행됩니다. 이 파이썬 코드를 MS Code에 붙여넣기 해 실행해 보시면 압니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#10.3 <br /> <br />class BigNumberError(Exception): # 사용자 정의 예외 처리, Exception 클래스 상속 <br />&nbsp;&nbsp;&nbsp;&nbsp;#pass <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, msg): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.msg = msg <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def __str__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return self.msg <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#return "[오류 코드 001] " + self.msg # 오류 메시지 가공 <br /> <br />try: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("한 자리 숫자 나누기 전용 계산기입니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;num1 = int(input("첫 번째 숫자를 입력하세요 : ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;num2 = int(input("두 번째 숫자를 입력하세요 : ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;if num1 &gt;= 10 or num2 &gt;= 10: # 입력받은 수가 한 자리인지 확인 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# raise ValueError <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise BigNumberError("입력값 : {0}, {1}".format(num1, num2)) # 자세한 오류 메시지 <br />&nbsp;&nbsp;&nbsp;&nbsp;print("{0} / {1} = {2}".format(num1, num2, int(num1 / num2))) <br />except ValueError: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("값을 잘못 입력했습니다. 한 자리 숫자만 입력하세요.") <br />except BigNumberError as err: # 사용자 정의 예외 처리 <br />&nbsp;&nbsp;&nbsp;&nbsp;print("오류가 발생했습니다. 한 자리 숫자만 입력하세요.") <br />&nbsp;&nbsp;&nbsp;&nbsp;print(err) # 오류 메시지 출력 <br /> <br /> <br />class SpecialClass(): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("특별한 생성자") <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def __str__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return "특별한 메서드" <br /> <br />s = SpecialClass() # 특별한 생성자 출력 <br />print(s) # 특별한 메서드 출력 <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 28일 Wednesday PM 08:25:04 이윤찬 Wed, 28 Jun 2023 20:25:04 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3414 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - 요새 아이폰13 사파리 브라우저에서 저희 회사 사이트 우상단 이미지맵 링크가 터치가 됐다 안됐다 스트레스를 줘서 애플 고객센터에 한번 전화해 봤습니다 외 1건... (1) https://www.blrun.net/bbs/zboard.php?id=basket1&no=367 <b>1.</b> 아래 이미지에서 보시는 바와 같이 우상단 로그인/사이트맵/1:1문의/입금게시판/마이페이지 를 아이폰13에서 터치해서 로그인을 하려고 하면 이상하게 요새 터치가 됐다 안됐다 계속 이 웬수폰이 스트레스를 줘서 참다못해 애플 고객센터에 오늘 오후 2시 56분 경 전화를 했는데 어떤 남성 상담사 전화를 받더니 이리저리 원격으로 어디 터치해 보라고 지시하더니만 처음에 이건 하드웨어 문제도 아니고 고객님이 같이 설치했다는 크롬에서도 그런 것 보면 고객님 회사 사이트에서만 발생하는 문제일 거라고 해서 제가 저희 회사 3개 사이트 다 현재 이런 상태이고 크롬이 애플 사파리 엔진을 사용하고 있어 UI만 다르지 동작하는 렌더링과 구동 방식이 똑같은데 무슨 소리냐고 하니까 처음에는 브라우저가 완전히 다른 거라고 발뺌을 하길래 예전에 마지막 iOS 업데이트 하기 전엔 잘 터치가 됐고 지금 아이폰6에서도 잘 터치가 되는데 무슨 소리냐고 하니까 프로그램은 계속 발전한다고 운영체제가 업데이트 되다보면 예전 환경과 잘 맞지 않는 경우가 생길 수 있다고 해서 그럼 iOS가 더 좋은 쪽으로 발전이 됐다면 사파리 등에서 터치가 예전보다 더 잘되는 쪽으로 발전을 해야 되는 것 아니냐고 근데 왜 사파리에서 구석에 있는 이미지맵 링크가 아이폰6보다 더 터치가 안되냐고 자꾸 말도 안되는 소리 하지 말라고 했더니 그제서야 지금으로서는 iOS를 최신버전으로 업그레이드 하는 방법밖에 없다고 해서 아니 상담사님도 제 상담이력 보시면 알겠지만 제가 과거에 무수하게 버그 리포트 해왔던 사파리 브라우저의 여러가지 문제들과 고질적인 아이폰13 동기화 문제, 스피커폰 통화 중에 전화번호부 메모 필드 위아래로 심하게 흔들리면서 블러되는 현상으로 인한 메모 기입 불가능 문제, iOS 지난 업데이트 이후에 잠금화면 상태에서 뮤직 앱 볼륨바 없애버려서 개악시킨 부분 등 문제점 지적한 것 애플이 고쳤냐고 하나도 안고치지 않았냐? 이런 상황에서 제가 새 iOS 버전으로 업그레이드하고 싶겠냐고 전 무서워서라도 도저히 못하겠다고 하니 그 상담사 종국에는 현재로선 그 방법밖에 없는데 그럼 제가 어떻게 고객님을 도와드려야 할까요? 하길래 현재 애플 사후 지원이 매우 불량하고 계속 배포하는 iOS 업데이트가 있으나마나 한데다가 오히려 점점 상황이 나빠지고 있으니 미국 본사 쪽에 이같은 내용의 피드백을 남겨달라고 했더니 알겠다고 해서 통화를 종료했습니다. <br /> <br />그후 얼마 있다 메시지로 고객지원 경험 설문조사 링크가 도착을 해서 아래와 같이 맨 마지막 단계에 추가적인 피드백을 한글과 영문으로 남겼는데 deepL로 영문으로 번역한 내용 보시면 알겠지만 100만원이 100달러로 번역이 되는 어처구니 없는 일이 발생해서 제가 미처 이걸 인지하지 못하고 너무 번역기를 맹신하는 바람에 그대로 전송이 돼버렸지만 여기에 추가적인 설명을 이렇게 달아드립니다. 여러분도 번역기 이용하실 때 이같은 맹점 잘 캐치하셔서 어떤 피해를 입는 일이 없도록 하시기 바랍니다. <br /> <br />추가적인 피드백 내용을 읽어보시면 알겠지만 정말 애플이 경멸스러울 정도로 한심하다 못해 화가 나고 이게 제일 잘 팔리는 스마트폰을 만드는 회사 맞나 싶으실 겁니다. <br />ㅡ_ㅡ <br /> <br />[저희 회사 사이트 <a href=http://kmoc.or.kr/ target=_blank>http://kmoc.or.kr/</a> 우상단 이미지맵 부분을 아이폰13에서 차례로 죽 터치해 보세요] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_06_28_005.PNG' align='' width='960' height='2079' vspace='0' hspace='0' border='1'> <br /> <br />[설문조사 링크 클릭해 추가 피드백에 남긴 글] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_06_28_005_%282%29.PNG' align='' width='960' height='2079' vspace='0' hspace='0' border='1'> <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_06_28_006.PNG' align='' width='960' height='2079' vspace='0' hspace='0' border='1'> <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_06_28_007.PNG' align='' width='960' height='2079' vspace='0' hspace='0' border='1'> <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_06_28_008.PNG' align='' width='960' height='2079' vspace='0' hspace='0' border='1'> <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_06_28_009.PNG' align='' width='960' height='2079' vspace='0' hspace='0' border='1'> <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_06_28_010.PNG' align='' width='960' height='2079' vspace='0' hspace='0' border='1'> <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_06_28_011.PNG' align='' width='960' height='2079' vspace='0' hspace='0' border='1'> <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/2023_06_28_012.PNG' align='' width='960' height='2079' vspace='0' hspace='0' border='1'> <br /> <br /> <br /><b>2.</b> 또 하나 윈도우즈10에 iCloud 설치하고 나서 탐색기 열은 다음 좌측 "iCloud 사진" 클릭 후 우측 "업로드" 폴더를 더블클릭하면 왜 탐색기가 재시작 되면서 바탕화면 우하단 숨겨진 아이콘들 목록이 다 사라져 버리나요? 뭔가 iCloud 프로그램 개발자가 어떤 동작을 구현하기 위해 편법으로 이런 로직을 첨가하지 않았을까 싶은데 왜 애플은 이런 무식한 방법을 계속 방치하고 지금까지 아이튠즈 프로그램과 함께 iCloud 프로그램을 배포하면서 여태까지 이 문제 손을 보지 않는지 여러분들은 윈도우즈10 iCloud 사용하면서 이런 불편함 못느끼셨는지... 잘못된 건 고쳐야 하는데 문제를 지적해도 계속 고치지 않는 것만큼 화가 나는 일은 없지요. <br /> <br />[예전 윈도우즈XP 시절부터 있어왔던 iCloud 사진 클릭 시 탐색기 재시작 현상입니다] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C0%A9%B5%B5%BF%EC%C1%EE10_%C5%BD%BB%F6%B1%E2%BF%A1%BC%AD_%C1%C2%C3%F8_iCloud_%BB%E7%C1%F8_%C5%AC%B8%AF%C7%D8%BC%AD_%BF%EC%C3%F8_%B3%BB_%BE%F7%B7%CE%B5%E5_%C6%FA%B4%F5%B8%B8_%B4%F5%BA%ED%C5%AC%B8%AF%C7%CF%B8%E9_%C0%A9%B5%B5%BF%EC%C1%EE10_%C5%BD%BB%F6%B1%E2%B0%A1_%C0%E7%BD%C3%C0%DB_%B5%C5_%B9%F6%B8%AE%B4%C2%B5%A5.png' align='' width='1920' height='1080' vspace='0' hspace='0' border='1'> <br /> <br /> <br />오늘 이 두가지 이슛점을 전격적으로 여기에 제기해 봅니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 28일 Wednesday PM 05:02:16 이윤찬 Wed, 28 Jun 2023 17:02:16 +0900 1 https://www.blrun.net/bbs/zboard.php?id=basket1&no=367 쓰레기통 > 일반 이윤찬 - [나도코딩 파이썬 입문] 2023.6.27 책 한 권 복습 2페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3412 오늘 파이썬 입문 책은 프로그램 로직 상의 특정 조건을 만족시키지 못할 때 "raise 오류 종류" 형태로 특정 오류를 발생시켜 except 오류 종류: ~ 절에서 예외 오류 메시지 출력이나 분기 처리를 해줄 수 있는 용법이 나왔습니다. 이는 특정한 문법 오류나 엄격한 연산 오류에 대한 예외 처리와는 달리 개발자가 지정하는 조건을 만족시키지 못할 때 발생시킬 수 있는 인위적인 오류 처리라서 일반적인 오류 처리와는 좀 다르다는 내용이 나왔습니다. <br /> <br />아래는 오늘 학습한 내용입니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#10.2 <br /> <br />try: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("한 자리 숫자 나누기 전용 계산기입니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;num1 = int(input("첫 번째 숫자를 입력하세요 : ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;num2 = int(input("두 번째 숫자를 입력하세요 : ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;if num1 &gt;= 10 or num2 &gt;= 10: # 입력받은 수가 한 자리인지 확인 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise ValueError <br />&nbsp;&nbsp;&nbsp;&nbsp;print("{0} / {1} = {2}".format(num1, num2, int(num1 / num2))) <br />except ValueError: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("값을 잘못 입력했습니다. 한 자리 숫자만 입력하세요.") <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 27일 Tuesday PM 08:44:16 이윤찬 Tue, 27 Jun 2023 20:44:16 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3412 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - 최신정보에 대한 답변을 해준다는 빙 AI 챗은 제가 찾는 답변을 해주지 못하고 있네요. https://www.blrun.net/bbs/zboard.php?id=blog1&no=3410 "OpenVPN Connect 3.3.7 버전은 3.3.6 버전에 비해 뭐가 달라졌니?" 대해서 물어봤을 때 카톡 AskUp은 최신정보에 대해선 잘 모른다고 떠서 아래와 같이 MS 빙챗에 물어봤더니 정확한 정보를 저한테 말해주지 못하더라구요. 이걸 어떻게 알았나 하면 챗 답변에 링크가 걸려 있길래 그걸 클릭했고 거기 맨 아래에 "Release Notes: OpenVPN Connect for Windows Change Log" 가 보여 그걸 클릭했더니 아래 두번째 캡처 이미지와 같은 릴리스 노트가 나왔는데 거기선 "OpenVPN 클라우드 사용자를 위한 정보 교환에 관한 업데이트" 가 달라졌다고 돼 있지만 빙챗은 버그 수정 및 안정성 개선이 이뤄졌다고만 돼 있어 답변이 좀 다르다는 걸 알았다는 거죠. ㅋㅋ <br /> <br />MS가 빙챗의 성능을 획기적으로 개선했으면 싶은데 아직까지는 2021년 이전 정보 위주로 말길을 잘 알아듣고 정확한 답변을 해주는 <a href=https://chat.openai.com/ target=_blank>https://chat.openai.com/</a> 가 성능이 젤로 뛰어난것 같더라구요. <br /> <br />AI 챗이 최신정보에 대한 답변이 최적화돼 있지 않아 많이 아쉽습니다. 제가 오늘 했던 질문은 해보시면 알겠지만 구글에서도 잘 검색이 안되더라구요. <br /> <br />[카톡 AskUp의 답변] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C4%AB%C5%E5_AskUp%C0%BA_%C3%D6%BD%C5%C1%A4%BA%B8%B8%A6_%B0%A1%C1%F6%B0%ED_%C0%D6%C1%F6_%BE%CA%B4%D9%B0%ED_%B6%E5%B4%CF%B4%D9.png' align='' width='380' height='670' vspace='0' hspace='0' border='1'> <br /> <br />[MS 빙챗의 답변] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C3%D6%BD%C5%C1%A4%BA%B8%BF%A1_%B4%EB%C7%D1_%B4%E4%BA%AF%C0%BB_%C7%D8%C1%D8%B4%D9%B4%C2_%BA%F9_AI_%C3%AA%C0%BA_%C1%BB_%BC%BA%B4%C9%C0%CC_%B6%B3%BE%EE%C1%F6%B3%D7%BF%E4.png' align='' width='1920' height='1080' vspace='0' hspace='0' border='1'> <br /> <br />[구글 바드의 답변 - 좀 부정확하네요] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%B1%B8%B1%DB_%B9%D9%B5%E5%C0%C7_%BC%BA%B4%C9%B5%B5_%C1%BB_%B6%B3%BE%EE%C1%F6%B3%D7%BF%E4.png' align='' width='1920' height='1080' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 27일 Tuesday AM 07:04:29 이윤찬 Tue, 27 Jun 2023 07:04:29 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3410 ▶이윤찬의 알파와 오메가◀ > 블록 이윤찬 - [나도코딩 파이썬 입문] 2023.6.26 책 한 권 복습 6페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3409 오늘 파이썬 입문 책은 어제 배운 try: ~ except 오류종류: ~ 와 같은 용법으로 해당 오류 종류를 별도의 분기로 처리하는 용법 외에 try: ~ except 오류종류 as 변수명: ~ 형태로 코드를 작성해 오류 메시지를 변수명에 담아 출력하는 용법이 나왔습니다. 근데 여기서 중요한 건 여기서도 오류종류를 알아야 오류 메시지를 캡처할 수 있다는 것이며 어떤 특정 예외 오류에 다 대응하기 위해선 try: ~ except Exception as 변수명: ~ 형태로 오류 메시지를 캡처해 출력해 주면 오류 종류를 모르더라도 예외처리가 모두 가능해집니다. <br /> <br />아래 예제에 나온 ValueError, ZeroDivisionError, IndexError 등의 "오류종류" 는 예외 처리를 위해 파이썬에 미리 정의돼 있는 클래스이고 이외에도 변수명이 없을 때 발생하는 NameError, 문법오류가 있을 때 발생하는 SyntaxError, 접근하려는 파일이 없을 때 발생하는 FileNotFoundError 등 다양한 "오류종류" 클래스가 있는데 마지막에 언급되고 사용한 Exception은 앞에서 언급한 예외 처리 "오류종류" 클래스들의 부모 클래스입니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#10.1.3 <br />try: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("나누기 전용 계산기입니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;num1 = int(input("첫 번째 숫자를 입력하세요 : ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;num2 = int(input("두 번째 숫자를 입력하세요 : ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;print("{0} / {1} = {2}".format(num1, num2, int(num1 / num2))) <br />except ValueError: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("오류 발생! 잘못된 값을 입력했습니다.") <br />except ZeroDivisionError as err: <br />&nbsp;&nbsp;&nbsp;&nbsp;print(err) <br /> <br /> <br />try: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("나누기 전용 계산기입니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;nums = [] <br />&nbsp;&nbsp;&nbsp;&nbsp;nums.append(int(input("첫 번째 숫자를 입력하세요 : "))) <br />&nbsp;&nbsp;&nbsp;&nbsp;nums.append(int(input("두 번째 숫자를 입력하세요 : "))) <br />&nbsp;&nbsp;&nbsp;&nbsp;#nums.append(int(nums[0] / nums[1])) # 연산 결과를 리스트에 추가 <br />&nbsp;&nbsp;&nbsp;&nbsp;print("{0} / {1} = {2}".format(nums[0], nums[1], nums[2])) <br />except ValueError: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("오류 발생! 잘못된 값을 입력했습니다.") <br />except ZeroDivisionError as err: <br />&nbsp;&nbsp;&nbsp;&nbsp;print(err) <br />except Exception as err: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("알 수 없는 오류가 발생했습니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;print(err) <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 26일 Monday PM 09:07:59 이윤찬 Mon, 26 Jun 2023 21:07:59 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3409 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - 여러분은 요새 윈도우즈10에서 아래아 한글 2020과 움짤 편집기인 어도비 ImageReady 사용하면서 이상한 점 못 느끼셨나요? https://www.blrun.net/bbs/zboard.php?id=basket1&no=366 저번에 회사에서 아래아 한글 2020을 사용하는데 이상하게 "다른 이름으로 저장" 메뉴가 파일 메뉴 하위에 안보여서 이상하다 생각했는데 구글 검색을 하면서 그 메뉴가 있다는 것을 알고 나서 다시 파일 메뉴를 클릭했더니 이번에는 "다른 이름으로 저장" 메뉴가 그 자리에서 꿈뻑하면서 나타나 보이는 겁니다. <br /> <br />또 어도비 포토샵 7.0 이미지 편집기와 같이 사용하는 ImageReady(이미지 레디) 움짤 gif 파일 제작과 편집 프로그램 있잖아요 이것도 오늘 좀 이상했는데 대표님이 움짤 동영상에 한글 글자를 새겨넣는 방법을 알고 싶다고 해서 인터넷을 찾아 움짤 gif를 이미지레디로 불러온 다음 좌측 메뉴바 하단의 포토샵 7.0 아이콘을 클릭해 한글 글자를 맨 위 레이어에 삽입한 뒤 다시 이미지레디를 불러와 "Save Optimized As.." 메뉴로 gif로 저장하는 방법이 나와있어 그 방법을 얼려드렸는데 처음에 이상하게 "Save Optimized As.." 메뉴를 통해 gif 파일로 저장하는 콤보박스가 열리지 않다가 인터넷에 다시금 방법을 확인한 뒤 다시 File 메뉴 하위의 "Save Optimized As.." 메뉴를 클릭했더니 이번엔 다시 .gif 저장 옵션이 보였다는 사실입니다. <br /> <br />이것 굉장히 황당했는데 그 당시 때도 뭔가 매우 의심스럽고 어처구니가 없었는데 회사 파하고 집에 와서 다시 대표님이 카톡으로 보내주신 그 움짤 gif 이미지를 제 주컴 윈도우즈10 PC 안에 설치돼 있는 이미지레디로 불러와 대표님께 아까 알려드린 그 방법대로 그대로 재현해 보려고 했지만 헐~ 이번에는 움짤 파일을 이미지레디로 열어놓은 상태에서 좌측 메뉴바 하단의 포토샵 아이콘을 클릭해 열리는 포토삽 7.0 편집화면에서 영문자는 입력이 되는데 한글은 전혀 자리를 차지하지 않고 입력이 안되더라 그 얘기입니다. 이것도 뭔가 좀 이상했는데 오늘 두 번이나 연거푸 이렇게 어도비 프로그램의 작위적인 오동작을 곁에서 지켜보고 있노라니 드는 생각이 이 회사가 자기들이 오래 전에 만든 프로그램 조차도 윈도우즈10에서 한국 유저들이 마음대로 쓰지 못하게 이런 필수 기능들에 있어 안되게 물을 먹이고 있구나 하는 생각이 들더라 그 얘깁니다. <br /> <br />여러분도 상황을 들으니 좀 심각해 보이지 않나요? 뭔가 요새 어도비 PDF 리더기의 알 수 없는 작위적인 업데이트 동작도 그렇고 됐다 안됐다 엿장수 마음대로인 이미지레디 프로그램이나 아래아 한글 2020 워드 편집기가 뭔가 매우 의심스런 오동작 알고리즘이 윈도우즈10이나 해당 프로그램에 적용돼 있는 게 아니냐는 의구심이 계속 들었습니다. <br /> <br />대표님도 제가 해당 오동작을 주지시켜 드렸을 때 자기도 봤다고 그러시는데 왜 이렇게 여러 사람이 사용하면서 인지하는 프로그램의 오동작이 이렇듯 필수 워드 및 이미지 편집 프로그램에서 대놓고 발생하고 있는 것인지 뭔가 개발자 Spirit(정신)이 땅에 떨어진 것 아니냐는 의구심이 계속 들었네요. 이렇게 되면 이들 프로그램의 신뢰도는 추락하게 되고 그들의 이런 타락한 전략은 급기야 유저들의 철저한 외면을 받지 않을까 싶은데 이렇듯 작은 문제들이 여기저기 윈도우즈10 프로그램 이용 중 계속 발생하고 있지만 제가 생각하는 이 문제에 관한 상황의 심각도는 훨씬더 강렬합니다. <br /> <br />여러분은 이들 프로그램 사용하면서 그런 경험 없으셨는지... 이게 있을 수 있는 일인가요? 최근 제가 애플의 아이폰13에서 매뉴가 보였다 사라졌다 하는 문제점을 말씀드린 적이 있는데 윈도우즈10 어플리케이션에서도 똑같은 문제가 발생하고 있다는 사실이 환장할 일입니다. <br />ㅡ_ㅡ<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 26일 Monday PM 04:55:33 이윤찬 Mon, 26 Jun 2023 16:55:33 +0900 0 https://www.blrun.net/bbs/zboard.php?id=basket1&no=366 쓰레기통 > 일반 이윤찬 - [나도코딩 파이썬 입문] 2023.6.25 책 한 권 복습 5페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3406 오늘 파이썬 입문 책은 프로그램 작성 중 에러 상황과 같은 예외 상황이 발생했을 때 복잡한 에러 메시지 대신 그 예외 상황을 간단한 출력문으로 분기 처리하는 용법인 try: ~ except 오류종류: ~ 사용법이 나왔습니다. <br /> <br />아래는 오늘 학습한 내용입니다. 이 프로그램의 input 입력값에 숫자가 아닌 문자를 입력하면 예외 상황이 발생합니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#10.1 <br /> <br />#10.1.2 <br />print("나누기 전용 계산기입니다.") <br />num1 = int(input("첫 번째 숫자를 입력하세요 : ")) <br />num2 = int(input("두 번째 숫자를 입력하세요 : ")) <br />print("{0} / {1} = {2}".format(num1, num2, int(num1/num2))) <br /> <br /> <br />try: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("나누기 전용 계산기입니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;num1 = int(input("첫 번째 숫자를 입력하세요 : ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;num2 = int(input("두 번째 숫자를 입력하세요 : ")) <br />&nbsp;&nbsp;&nbsp;&nbsp;print("{0} / {1} = {2}".format(num1, num2, int(num1/num2))) <br /> <br />except ValueError: <br />&nbsp;&nbsp;&nbsp;&nbsp;print("오류 발생! 잘못된 값을 입력했습니다.") <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 25일 Sunday PM 10:02:31 이윤찬 Sun, 25 Jun 2023 22:02:31 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3406 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.6.24 책 한 권 복습 5페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3404 오늘 파이썬 입문 책은 부동산 매물을 객체로 3개 생성하고 정보를 출력하는 프로그램을 파이썬으로 작성하는 문제가 나왔는데 필자가 아래와 같은 코드를 완성했지만 23행에 AttributeError: 'NoneType' object has no attribute 'format' 오류가 떠서 한참을 헤매다가 print() 괄호 안에 "".format("") 형식으로 출력을 지정했어야 했지만 print("").format("") 형태로 출력을 잘못 지정했다고 챗GPT가 알려줘 이 실수 때문에 시간을 날려먹을 뻔한 위기를 넘겼습니다. <br /> <br />두번째 코드는 책에 나온 모범 답안입니다. 제가 푼 답안과 거의 비슷하네요. ^^; <br /> <br />[오늘 연습문제 푼 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 연습문제 푼 내용"> <br />class House: <br />&nbsp;&nbsp;&nbsp;&nbsp;# 매물 초기화: 위치, 건물 종류, 매물 종류, 가격, 준공연도 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, location, house_type, deal_type, price, completion_year): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.location = location <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.house_type = house_type <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.deal_type = deal_type <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.price = price <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.completion_year = completion_year <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;# 매물 정보 표시 <br />&nbsp;&nbsp;&nbsp;&nbsp;def show_detail(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{} {} {} {} 원 {}년".format(self.location, self.house_type, self.deal_type, self.price, self.completion_year)) <br /> <br />h1 = House("강남", "아파트", "매매", "10억", "2010") <br />h2 = House("마포", "오피스텔", "전세", "5억", "2007") <br />h3 = House("송파", "빌라", "월세", "500/50만", "2000") <br /> <br />houses = [] <br />houses.append(h1) <br />houses.append(h2) <br />houses.append(h3) <br /> <br />print("총 {}가지 매물이 있습니다.".format(len(houses))) <br />for house in houses: <br />&nbsp;&nbsp;&nbsp;&nbsp;house.show_detail() <br /></pre> <br /> <br />[책에 나온 모범 답안] <br /><pre class="brush: py; first-line: 1" title="책에 나온 모범 답안"> <br />#ch9 <br /> <br />class House: <br />&nbsp;&nbsp;&nbsp;&nbsp;# 매물 초기화 : 위치, 건물 종류, 매물 종류, 가격, 준공연도 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, location, house_type, deal_type, price, completion_year): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.location = location <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.house_type = house_type <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.deal_type = deal_type <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.price = price <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.completion_year = completion_year <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;# 매물 정보 표시 <br />&nbsp;&nbsp;&nbsp;&nbsp;def show_detail(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(self.location, self.house_type, self.deal_type, \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.price, self.completion_year) <br /> <br />houses = [] <br />house1 = House("강남", "아파트", "매매", "10억 원", "2010년") <br />house2 = House("마포", "오피스텔", "전세", "5억 원", "2007년") <br />house3 = House("송파", "빌라", "월세", "500/50만 원", "2000년") <br /> <br />houses.append(house1) <br />houses.append(house2) <br />houses.append(house3) <br /> <br />print("총 {0}가지 매물이 있습니다.".format(len(houses))) <br />for house in houses: <br />&nbsp;&nbsp;&nbsp;&nbsp;house.show_detail() <br /> <br /></pre> <br /> <br />아래는 셀프체크 문제를 푼 것인데 총 주차 가능 대수인 capacity를 객체 생성할 때 전달받고 클래스 변수 count를 사용하여 0으로 초기화한 후 신규등록 할 때마다 그 변수를 카운팅하면서 최대 주차 가능 대수 까지 세는 프로그램인데 신규등록 시 현황( 1/5, 2/5, ... 등과 같이)을 출력하고 총 주차 가능 대수를 초과하면 "더 이상 등록할 수 없습니다" 란 메시지를 출력합니다. <br /> <br />[제가 짠 프로그램: 최대 주차 가능 대수만큼 차 신규 등록] <br /><pre class="brush: py; first-line: 1" title="제가 짠 프로그램: 최대 주차 가능 대수만큼 차 신규 등록"> <br />class ParkingManager: <br />&nbsp;&nbsp;&nbsp;&nbsp;count = 0 <br />&nbsp;&nbsp;&nbsp;&nbsp;# 주차 정보 초기화: 총 주차 가능 대수 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, capacity): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.capacity = capacity <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("총 {}대를 등록할 수 있습니다.".format(self.capacity)) <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;# 신규 차량 등록 <br />&nbsp;&nbsp;&nbsp;&nbsp;def register(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ParkingManager.count += 1 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(ParkingManager.count &gt; self.capacity): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("더 이상 등록할 수 없습니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("차량 신규 등록 ({}/{})".format(ParkingManager.count,self.capacity)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /> <br /># 테스트 코드 <br />manager = ParkingManager(5) <br />for i in range(6): <br />&nbsp;&nbsp;&nbsp;&nbsp;manager.register() <br /></pre> <br /> <br />[모법 답안] <br /><pre class="brush: py; first-line: 1" title="모법 답안"> <br />#ch9 <br /> <br />class ParkingManager: <br />&nbsp;&nbsp;&nbsp;&nbsp;# 주차 정보 초기화: 총 주차 가능 대수 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, capacity): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.capacity = capacity # 총 주차 가능 대수 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.count = 0 # 현재 등록된 차량 수 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(f"총 {capacity}대를 등록할 수 있습니다.") <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;# 신규 차량 등록 <br />&nbsp;&nbsp;&nbsp;&nbsp;def register(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.count &gt;= self.capacity: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("더 이상 등록할 수 없습니다.") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.count += 1 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(f"차량 신규 등록 ({self.count}/{self.capacity})") <br /> <br /># 테스트 코드 <br />manager = ParkingManager(5) <br />for i in range(6): <br />&nbsp;&nbsp;&nbsp;&nbsp;manager.register() <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 24일 Saturday PM 10:30:54 이윤찬 Sat, 24 Jun 2023 22:30:54 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3404 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.6.23 책 한 권 복습 8페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3402 오늘 파이썬 입문 책은 게임 최종 리뷰가 나왔는데 어제 이미 제가 다 정리해서 오늘 추가할 내용은 거의 없지만 클래스 구조만 다시 설명드리면 아래 책에서 스캔한 내용을 보시는 바와 같이 가장 기본이 되는 일반 유닛인 Unit 클래스를 공격 유닛인 AttackUnit 클래스가 상속받고 지상 공격 유닛이 보병과 탱크를 위한 Soldier, Tank 클래스가 AttackUnit 클래스를 상속받아 정의가 되고 있습니다. 공중 유닛을 위해 비행 기능을 제공하는 Flyable 클래스를 정의하고 공중 공격 유닛인 FlyableAttackUnit 클래스는 Flyable 클래스와 AttackUnit 클래스를 다중 상속받습니다. 이 FlyableAttackUnit 클래스를 다시 Stealth 클래스가 상속받아 전투기 유닛을 정의합니다. <br /> <br />최하위에 위치한 Soldier, Tank, Stealth 클래스는 각 유닛이 보유한 특수 기술을 메소드로 정의합니다. 공격, 이동, 피해 등 공통으로 처리되는 동작은 상속 관계에 따라 부모 클래스에 정의한 것을 그대로 사용합니다. 공중 공격 유닛은 지상이 아닌 공중으로 날아서 이동하므로 Unit 클래스의 move() 메소드를 오버라이딩해 Flyable 클래스의 fly() 메소드를 호출하도록 재정의하고 있습니다. 이 재정의 덕분에 모든 유닛은 지상과 공중 구분 없이 모두 move() 메소드로 이동 동작을 처리할 수 있습니다. <br /> <br />게임 전체 코드와 코드를 실행한 결과는 맨 아래에 지난 포스트에 이어 다시한번 실어드립니다. <br /> <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%B3%AA%B5%B5%C4%DA%B5%F9_%BD%BA%C5%B8%C5%A9%B7%A1%C7%C1%C6%AE_%B0%D4%C0%D3_%C5%AC%B7%A1%BD%BA_%B1%B8%C1%B6001.jpg' align='' width='1418' height='796' vspace='0' hspace='0' border='1'> <br /> <br />[스타크래프트 시뮬레이션 전체 게임 클래스 소스와 실행 코드] <br /><pre class="brush: py; first-line: 1" title="스타크래프트 시뮬레이션 전체 게임 클래스 소스와 실행 코드"> <br />#9.7 <br /> <br />#9.7 <br /> <br />from random import * <br /># 일반 유닛 <br />class Unit: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.name = name <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp = hp <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.speed = speed <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} 유닛을 생성했습니다.".format(name)) <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def move(self, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향으로 이동합니다. [속도 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(self.name, location, self.speed)) <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def damaged(self, damage): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1}만큼 피해를 입었습니다.".format(self.name, damage)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp -= damage <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.hp &lt;= 0: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 파괴됐습니다.".format(self.name)) <br /> <br /># 공격 유닛 <br />class AttackUnit(Unit): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, damage, speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unit.__init__(self, name, hp, speed) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage = damage <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def attack(self, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향 적군을 공격합니다. [공격력 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(self.name, location, self.damage)) <br /> <br /># 보병 유닛 <br />class Soldier(AttackUnit): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, "보병", 40, 5, 1) # 이름, 체력, 공격력, 이동 속도 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;# 강화제: 일정 시간 동안 이동 속도와 공격 속도 증가, 체력 10 감소 <br />&nbsp;&nbsp;&nbsp;&nbsp;def booster(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.hp &gt; 10: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp -= 10 # 체력 10 소모 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 강화제를 사용합니다. (HP 10 감소)".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 체력이 부족해 기술을 사용할 수 없습니다".format(self.name)) <br /> <br /># 탱크 유닛 <br />class Tank(AttackUnit): <br />&nbsp;&nbsp;&nbsp;&nbsp;# 시지 모드 : 탱크를 지상에 고정, 이동 불가, 공격력 증가 <br />&nbsp;&nbsp;&nbsp;&nbsp;siege_developed = False # 시지 모드 개발 여부 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, "탱크", 150, 35, 1) # 이름, 체력, 공격력, 이동 속도 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.siege_mode = False # 시지 모드(해제 상태) <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;# 시지 모드 설정 <br />&nbsp;&nbsp;&nbsp;&nbsp;def set_siege_mode(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if Tank.siege_developed == False: # 시지 모드가 개발되지 않았으면 바로 반환 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 일반 모드일 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.siege_mode == False: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 시지 모드로 전환합니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage *= 2 # 공격력 2배 증가 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.siege_mode = True # 시지 모드 설정 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 시지 모드일 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 시지 모드를 해제합니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage //= 2 # 공격력 절반으로 감소 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.siege_mode = False # 시지 모드 해제 <br /> <br /># 비행 기능 <br />class Flyable: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, flying_speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.flying_speed = flying_speed <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def fly(self, name, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(name, location, self.flying_speed)) <br /> <br /># 공중 공격 유닛 <br />class FlyableAttackUnit(AttackUnit, Flyable): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, damage, flying_speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, name, hp, damage, 0) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flyable.__init__(self, flying_speed) <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def move(self, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.fly(self.name, location) <br /> <br /># 전투기 유닛 <br />class Stealth(FlyableAttackUnit): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FlyableAttackUnit.__init__(self, "전투기", 80, 20, 5) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cloaked = False # 은폐 모드(해제 상태) <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;# 은폐 모드 <br />&nbsp;&nbsp;&nbsp;&nbsp;def cloaking(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;# 현재 은폐 모드일 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.cloaked == True: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 은폐 모드를 해제합니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cloaked = False <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 은폐 모드가 아닐 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 은폐 모드를 설정합니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cloaked = True <br /> <br /># 게임 시작 <br />def game_start(): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("[알림] 새로운 게임을 시작합니다.") <br /> <br /># 게임 종료 <br />def game_over(): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("Player : Good Game") <br />&nbsp;&nbsp;&nbsp;&nbsp;print("[Player] 님이 게임에서 퇴장했습니다.") <br /> <br /># 실제 게임 진행 <br />game_start() # 게임 시작 <br /> <br /># 보병 3기 생성 <br />so1 = Soldier() <br />so2 = Soldier() <br />so3 = Soldier() <br /> <br /># 탱크 2기 생성 <br />ta1 = Tank() <br />ta2 = Tank() <br /> <br /># 전투기 1기 생성 <br />st1 = Stealth() <br /> <br /># 유닛 일괄 관리(생성된 모든 유닛 추가) <br />attack_units = [] <br />attack_units.append(so1) <br />attack_units.append(so2) <br />attack_units.append(so3) <br />attack_units.append(ta1) <br />attack_units.append(ta2) <br />attack_units.append(st1) <br /> <br /># 전군 이동 <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;unit.move("1시") <br /> <br /># 탱크 시지 모드 개발 <br />Tank.siege_developed = True <br />print("[알림] 탱크의 시지 모드 개발이 완료됐습니다.") <br /> <br /># 공격 모드 준비(보병: 강화제, 탱크: 시지 모드, 전투기: 은폐 모드) <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;if isinstance(unit, Soldier): # Soldier 클래스의 인스턴스이면 강화제 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unit.booster() <br />&nbsp;&nbsp;&nbsp;&nbsp;elif isinstance(unit, Tank): # Tank 클래스의 인스턴스이면 시지 모드 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unit.set_siege_mode() <br />&nbsp;&nbsp;&nbsp;&nbsp;elif isinstance(unit, Stealth): # Stealth 클래스의 인스턴스이면 은폐 모드 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unit.cloaking() <br /> <br /># 전군 공격 <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;unit.attack("1시") <br /> <br /># 전군 피해 <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;unit.damaged(randint(5, 20)) # 피해는 무작위로 받음(5~20) <br />&nbsp;&nbsp;&nbsp;&nbsp; <br /># 게임 종료 <br />game_over() <br /> <br /></pre> <br /> <br />[실행 결과] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C6%C4%C0%CC%BD%E3_%BD%BA%C5%B8%C5%A9%B7%A1%C7%C1%C6%AE_%B0%D4%C0%D3_%C0%FC%C3%BC_%BD%C7%C7%E0_%B0%E1%B0%FA.png' align='' width='1400' height='1050' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 23일 Friday PM 09:31:34 이윤찬 Fri, 23 Jun 2023 21:31:34 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3402 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.6.22 책 한 권 복습 7페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3400 오늘 파이썬 입문 책은 어제 작성한 스타크래프트 시뮬레이션 게임 실행을 위한 사전 클래스 작성 후에 게임 실행을 시작하고 유닛 6개를 생성, 유닛 일괄관리를 위해 리스트에 그 유닛들을 추가 후 전군이 이동하는 가운데 탱크 시지 모드 개발을 완료한 다음 공격을 준비한 후 전군 공격을 합니다. 그러나 전군이 일정 피해를 입고 게임이 종료되는 예제 코드가 나왔습니다. <br /> <br />아래는 오늘 학습한 내용입니다. 두번째에 기술한 코드는 어제 작성한 클래스와 오늘 학습한 실행 코드가 같이 들어있는 전체 게임 실행 코드입니다. <br /> <br />40행과 48행에서 시지 모드를 개발 완료하고 시지 모드를 셋트했기 때문에 54행에서 전군 공격 시 탱크의 공격력이 두배로 늘어났음을 마지막 결과 스크린 캡처 이미지를 보면 알 수 있습니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#9.6.2 <br /># 게임 시작 <br />def game_start(): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("[알림] 새로운 게임을 시작합니다.") <br /> <br /># 게임 종료 <br />def game_over(): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("Player : Good Game") <br />&nbsp;&nbsp;&nbsp;&nbsp;print("[Player] 님이 게임에서 퇴장했습니다.") <br /> <br /># 게임 시작 <br />game_start() <br /> <br /># 보병 3기 생성 <br />so1 = Soldier() <br />so2 = Soldier() <br />so3 = Soldier() <br /> <br /># 탱크 2기 생성 <br />ta1 = Tank() <br />ta2 = Tank() <br /> <br /># 전투기 1기 생성 <br />st1 = Stealth() <br /> <br /># 유닛 일괄 관리(생성된 모든 유닛 추가) <br />attack_units = [] <br />attack_units.append(so1) <br />attack_units.append(so2) <br />attack_units.append(so3) <br />attack_units.append(ta1) <br />attack_units.append(ta2) <br />attack_units.append(st1) <br /> <br /># 전군 이동 <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;unit.move("1시") <br /> <br /># 탱크 시지 모드 개발 <br />Tank.siege_developed = True <br />print("[알림] 탱크의 시지 모드 개발이 완료됐습니다.") <br /> <br /># 공격 모드 준비(보병: 강화제, 탱크: 시지 모드, 전투기: 은폐 모드) <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;if isinstance(unit, Soldier): # Soldier 클래스의 인스턴스이면 강화제 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unit.booster() <br />&nbsp;&nbsp;&nbsp;&nbsp;elif isinstance(unit, Tank): # Tank 클래스의 인스턴스이면 시지 모드 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unit.set_siege_mode() <br />&nbsp;&nbsp;&nbsp;&nbsp;elif isinstance(unit, Stealth): # Stealth 클래스의 인스턴스이면 은폐 모드 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unit.cloaking() <br /> <br /># 전군 공격 <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;unit.attack("1시") <br /> <br />from random import * <br /> <br /># 전군 피해 <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;unit.damaged(randint(5, 20)) # 피해는 무작위로 받음(5~20) <br /> <br /># 게임 종료 <br />game_over() <br /> <br /></pre> <br /> <br />[클래스를 포함한 게임 전체 실행 코드] <br /><pre class="brush: py; first-line: 1" title="클래스를 포함한 게임 전체 실행 코드"> <br />#9.6.1 <br /># 일반 유닛 <br />class Unit: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.name = name <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp = hp <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.speed = speed <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} 유닛을 생성했습니다.".format(name)) # 안내 문구 출력 <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;def move(self, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# print("[지상 유닛 이동]") # 출력문 삭제 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향으로 이동합니다. [속도 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(self.name, location, self.speed)) <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def damaged(self, damage): # AttackUnit 클래스에서 Unit 클래스로 이동 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1}만큼 피해를 입었습니다.".format(self.name, damage)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp -= damage <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.hp &lt;= 0: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 파괴됐습니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp; <br /># 공격 유닛 <br />class AttackUnit(Unit): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, damage, speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unit.__init__(self, name, hp, speed) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage = damage <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;def attack(self, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향 적군을 공격합니다. [공격력 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(self.name, location, self.damage)) <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;""" <br />&nbsp;&nbsp;&nbsp;&nbsp;def damaged(self, damage): # Unit 클래스로 이동 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1}만큼 피해를 입었습니다.".format(self.name, damage)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp -= damage <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.hp &lt;= 0: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 파괴됐습니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;""" <br /> <br /># 보병 유닛 <br />class Soldier(AttackUnit): # AttackUnit 클래스 상속 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, "보병", 40, 5, 1) # 이름, 체력, 공격력, 이동 속도 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;# 강화제 : 일정 시간 동안 이동 속도와 공격 속도 증가, 체력 10 감소 <br />&nbsp;&nbsp;&nbsp;&nbsp;def booster(self): # 강화제 기능 메서드로 정의 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.hp &gt; 10: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp -= 10 # 체력 10 소모 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 강화제를 사용합니다. (HP 10 감소)".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 체력이 부족해 기술을 사용할 수 없습니다".format(self.name)) <br /> <br /># 탱크 유닛 <br />class Tank(AttackUnit): # AttackUnit 클래스 상속 <br />&nbsp;&nbsp;&nbsp;&nbsp;# 시지 모드 : 탱크를 지상에 고정, 이동 불가, 공격력 증가 <br />&nbsp;&nbsp;&nbsp;&nbsp;siege_developed = False # 시지 모드 개발 여부, 클래스 변수로 정의 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, "탱크", 150, 35, 1) # 이름, 체력, 공격력, 이동 속도 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.siege_mode = False # 시지 모드(해제 상태), 인스턴스 변수로 정의 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;# 시지 모드 설정 <br />&nbsp;&nbsp;&nbsp;&nbsp;def set_siege_mode(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if Tank.siege_developed == False: # 시지 모드가 개발되지 않았으면 바로 반환 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 일반 모드일 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.siege_mode == False: # 시지 모드 여부 확인 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 시지 모드로 전환합니다.".format(self.name)) # 시지 모드 전환 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage *= 2 # 공격력 2배 증가 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.siege_mode = True # 시지 모드 설정 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 시지 모드일 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 시지 모드를 해제합니다.".format(self.name)) # 일반 모드 전환 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage //= 2 # 공격력 절반으로 감소 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.siege_mode = False # 시지 모드 해제 <br /> <br /># 나는 기능 <br />class Flyable: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, flying_speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.flying_speed = flying_speed <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def fly(self, name, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(name, location, self.flying_speed)) <br /> <br /># 공중 공격 유닛 <br />class FlyableAttackUnit(AttackUnit, Flyable): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, damage, flying_speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, name, hp, damage, 0) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flyable.__init__(self, flying_speed) <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;def move(self, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# print("[공중 유닛 이동]") # 출력문 삭제 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.fly(self.name, location) <br /> <br /># 전투기 유닛 <br />class Stealth(FlyableAttackUnit): # FlyableAttackUnit 클래스 상속 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FlyableAttackUnit.__init__(self, "전투기", 80, 20, 5) # 부모 클래스 생성자로 기본 정보 설정 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cloaked = False # 은폐 모드(해제 상태), 인스턴스 변수 정의 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def cloaking(self): # 은폐 모드를 메서드로 정의 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 은폐 모드일 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.cloaked == True: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 은폐 모드를 해제합니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cloaked = False # 은폐 모드 해제 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 은폐 모드가 아닐 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 은폐 모드를 설정합니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cloaked = True # 은폐 모드 설정 <br /> <br />#9.6.2 <br /># 게임 시작 <br />def game_start(): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("[알림] 새로운 게임을 시작합니다.") <br /> <br /># 게임 종료 <br />def game_over(): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("Player : Good Game") <br />&nbsp;&nbsp;&nbsp;&nbsp;print("[Player] 님이 게임에서 퇴장했습니다.") <br /> <br /># 게임 시작 <br />game_start() <br /> <br /># 보병 3기 생성 <br />so1 = Soldier() <br />so2 = Soldier() <br />so3 = Soldier() <br /> <br /># 탱크 2기 생성 <br />ta1 = Tank() <br />ta2 = Tank() <br /> <br /># 전투기 1기 생성 <br />st1 = Stealth() <br /> <br /># 유닛 일괄 관리(생성된 모든 유닛 추가) <br />attack_units = [] <br />attack_units.append(so1) <br />attack_units.append(so2) <br />attack_units.append(so3) <br />attack_units.append(ta1) <br />attack_units.append(ta2) <br />attack_units.append(st1) <br /> <br /># 전군 이동 <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;unit.move("1시") <br /> <br /># 탱크 시지 모드 개발 <br />Tank.siege_developed = True <br />print("[알림] 탱크의 시지 모드 개발이 완료됐습니다.") <br /> <br /># 공격 모드 준비(보병: 강화제, 탱크: 시지 모드, 전투기: 은폐 모드) <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;if isinstance(unit, Soldier): # Soldier 클래스의 인스턴스이면 강화제 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unit.booster() <br />&nbsp;&nbsp;&nbsp;&nbsp;elif isinstance(unit, Tank): # Tank 클래스의 인스턴스이면 시지 모드 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unit.set_siege_mode() <br />&nbsp;&nbsp;&nbsp;&nbsp;elif isinstance(unit, Stealth): # Stealth 클래스의 인스턴스이면 은폐 모드 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unit.cloaking() <br /> <br /># 전군 공격 <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;unit.attack("1시") <br /> <br />from random import * <br /> <br /># 전군 피해 <br />for unit in attack_units: <br />&nbsp;&nbsp;&nbsp;&nbsp;unit.damaged(randint(5, 20)) # 피해는 무작위로 받음(5~20) <br /> <br /># 게임 종료 <br />game_over() <br /> <br /></pre> <br /> <br />[파이썬 스타크래프트 게임 전체 실행 결과] <br /><img src='https://www.blrun.net/bbs/icon/member_image_box/2/%C6%C4%C0%CC%BD%E3_%BD%BA%C5%B8%C5%A9%B7%A1%C7%C1%C6%AE_%B0%D4%C0%D3_%C0%FC%C3%BC_%BD%C7%C7%E0_%B0%E1%B0%FA.png' align='' width='1400' height='1050' vspace='0' hspace='0' border='1'><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 22일 Thursday PM 09:20:00 이윤찬 Thu, 22 Jun 2023 21:20:00 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3400 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.6.21 책 한 권 복습 9페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3398 오늘 파이썬 입문 책은 스타크래프트를 시뮬레이션 한 전체 게임 완성한 예제와 설명이 나왔습니다. 오늘 학습한 내용 중에 눈에 띄는 부분은 57행과 61행에 나오는 시지모드 개발을 현재 달성했는지 여부를 셋트하는 변수인 siege_developed 변수와 현재 시지모드 사용여부를 셋트하는 변수인 siege_mode 변수를 각각 클래스 변수와 인스턴스 변수로 설정하는 부분인데 인스턴스 변수는 클래스의 메소드에 정의하거나 객체를 통해 직접 정의하며 객체마다 서로 다른 값을 가질 수 있는 반면 클래스 변수는 클래스명 바로 밑에 정의하고 클래스로부터 만들어진 모든 객체에 일괄 적용이 된다는 내용이 나왔습니다. 그리고 75행에서 데미지를 절반으로 감소시키는 self.damage //=2 용법을 보면 다른 결합연산자 처럼 self.damage /=2 와 같이 사용하지 않는다는 내용이 인상 깊습니다. <br /> <br />[오늘 학습한 스타크래프트 시뮬레이션 전체 게임 예제 코드] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 스타크래프트 시뮬레이션 전체 게임 예제 코드"> <br />#9.6.1 <br /># 일반 유닛 <br />class Unit: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.name = name <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp = hp <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.speed = speed <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} 유닛을 생성했습니다.".format(name)) # 안내 문구 출력 <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;def move(self, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# print("[지상 유닛 이동]") # 출력문 삭제 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향으로 이동합니다. [속도 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(self.name, location, self.speed)) <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def damaged(self, damage): # AttackUnit 클래스에서 Unit 클래스로 이동 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1}만큼 피해를 입었습니다.".format(self.name, damage)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp -= damage <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.hp &lt;= 0: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 파괴됐습니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp; <br /># 공격 유닛 <br />class AttackUnit(Unit): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, damage, speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unit.__init__(self, name, hp, speed) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage = damage <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;def attack(self, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향 적군을 공격합니다. [공격력 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(self.name, location, self.damage)) <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;""" <br />&nbsp;&nbsp;&nbsp;&nbsp;def damaged(self, damage): # Unit 클래스로 이동 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1}만큼 피해를 입었습니다.".format(self.name, damage)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp -= damage <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.hp &lt;= 0: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 파괴됐습니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;""" <br /> <br /># 보병 유닛 <br />class Soldier(AttackUnit): # AttackUnit 클래스 상속 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, "보병", 40, 5, 1) # 이름, 체력, 공격력, 이동 속도 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;# 강화제 : 일정 시간 동안 이동 속도와 공격 속도 증가, 체력 10 감소 <br />&nbsp;&nbsp;&nbsp;&nbsp;def booster(self): # 강화제 기능 메서드로 정의 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.hp &gt; 10: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp -= 10 # 체력 10 소모 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 강화제를 사용합니다. (HP 10 감소)".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 체력이 부족해 기술을 사용할 수 없습니다".format(self.name)) <br /> <br /># 탱크 유닛 <br />class Tank(AttackUnit): # AttackUnit 클래스 상속 <br />&nbsp;&nbsp;&nbsp;&nbsp;# 시지 모드 : 탱크를 지상에 고정, 이동 불가, 공격력 증가 <br />&nbsp;&nbsp;&nbsp;&nbsp;siege_developed = False # 시지 모드 개발 여부, 클래스 변수로 정의 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, "탱크", 150, 35, 1) # 이름, 체력, 공격력, 이동 속도 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.siege_mode = False # 시지 모드(해제 상태), 인스턴스 변수로 정의 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;# 시지 모드 설정 <br />&nbsp;&nbsp;&nbsp;&nbsp;def set_siege_mode(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if Tank.siege_developed == False: # 시지 모드가 개발되지 않았으면 바로 반환 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 일반 모드일 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.siege_mode == False: # 시지 모드 여부 확인 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 시지 모드로 전환합니다.".format(self.name)) # 시지 모드 전환 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage *= 2 # 공격력 2배 증가 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.siege_mode = True # 시지 모드 설정 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 시지 모드일 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 시지 모드를 해제합니다.".format(self.name)) # 일반 모드 전환 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage //= 2 # 공격력 절반으로 감소 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.siege_mode = False # 시지 모드 해제 <br /> <br /># 나는 기능 <br />class Flyable: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, flying_speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.flying_speed = flying_speed <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def fly(self, name, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(name, location, self.flying_speed)) <br /> <br /># 공중 공격 유닛 <br />class FlyableAttackUnit(AttackUnit, Flyable): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, damage, flying_speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, name, hp, damage, 0) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flyable.__init__(self, flying_speed) <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;def move(self, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# print("[공중 유닛 이동]") # 출력문 삭제 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.fly(self.name, location) <br /> <br /># 전투기 유닛 <br />class Stealth(FlyableAttackUnit): # FlyableAttackUnit 클래스 상속 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FlyableAttackUnit.__init__(self, "전투기", 80, 20, 5) # 부모 클래스 생성자로 기본 정보 설정 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cloaked = False # 은폐 모드(해제 상태), 인스턴스 변수 정의 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def cloaking(self): # 은폐 모드를 메서드로 정의 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 은폐 모드일 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.cloaked == True: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 은폐 모드를 해제합니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cloaked = False # 은폐 모드 해제 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 현재 은폐 모드가 아닐 때 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 은폐 모드를 설정합니다.".format(self.name)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cloaked = True # 은폐 모드 설정 <br /> <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 22일 Thursday AM 09:13:41 이윤찬 Thu, 22 Jun 2023 09:13:41 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3398 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - 형한테 들은 아마존 고 무인 매장에 관한 유튜브 동영상을 보고 덧글을 작성해 봤습니다. https://www.blrun.net/bbs/zboard.php?id=blog1&no=3397 <a href="https://youtu.be/5gQCqzv6_vU" target="_blank">해당 유튜브 댓글</a> <br /> <br />미국에 살고 있는 형한테 들은 아마존 고의 매장 운영 방식을 듣고 신기하다고 생각했는데 이런 내막이 있었군요. 시애틀 1호 매장의 1년 운영비가 130억 까지 비용이 소요된 적이 있었다니 편리함 뒤엔 그런 엄청난 댓가가 있었네요. 아마존은 아마존 고를 운영하면서 손해를 봤을 수는 있었겠지만 제 생각엔 무인 매장 운영에 관한 많은 노하우와 관련 기술을 축적할 수 있지 않았나 싶습니다. 실패를 두려워 하지 않는 도전 정신이 그래서 위대한 거죠. 유익한 동영상 잘 보았습니다.<br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 22일 Thursday AM 07:01:03 이윤찬 Thu, 22 Jun 2023 07:01:03 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3397 ▶이윤찬의 알파와 오메가◀ > SNS 이윤찬 - [나도코딩 파이썬 입문] 2023.6.20 책 한 권 복습 4페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3395 오늘 파이썬 입문 책은 super() 로 부모 클래스를 호출하는 예제가 나왔습니다. 이 때 다른 2개 클래스를 차례로 상속받는 클래스 내에서 이 super() 함수를 사용할 땐 앞에서 상속받는 클래스명의 생성자나 메소드가 실행됩니다. 이 때 상속을 받는 2개 클래스 모두의 생성자나 메소드를 실행시키기 위해선 super().메소드명 를 사용하지 않고 클래스명.메소드명()과 같은 용법을 사용합니다. <br /> <br />아래는 오늘 학습한 내용입니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#9.5 <br /> <br /># 건물 유닛 <br />class BuildingUnit(Unit): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#Unit.__init__(self, name, hp, 0) # 지상 이동 속도 0, 건물은 지상 이동 불가 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;super().__init__(name, hp, 0) # 부모 클래스 접근, self 없이 사용 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.location = location <br /> <br /></pre> <br /> <br />[오늘 학습한 내용2] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용2"> <br />class Unit: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("Unit 생성자") <br /> <br />class Flyable: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("Flyable 생성자") <br /> <br />#class FlyableUnit(Unit, Flyable): <br />class FlyableUnit(Flyable, Unit): # 상속 순서 변경 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#super().__init__() <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unit.__init__(self) # Unit 클래스 생성자 호출 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flyable.__init__(self) # Flyable 클래스 생성자 호출 <br /> <br /># 수송선 <br />troopship = FlyableUnit() <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 20일 Tuesday PM 08:49:41 이윤찬 Tue, 20 Jun 2023 20:49:41 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3395 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.6.19 책 한 권 복습 3페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3393 오늘 파이썬 입문 책은 파이썬 코드 작성 중 동작 없이 일단 넘어가는 명령인 pass 용법에 대해서 나왔습니다. 오늘 학습한 내용은 아래와 같습니다. <br />아래 코드를 실행하면 아직 BuildingUnit(Unit) 클래스가 def __init__() 함수 단계에서 작성이 덜됐거나 def game_over(): 함수 단계에서 나머지 코드가 기술이 안됐다고 하더라도 에러가 뜨지 않고 그 때까지 단계에서 실행 가능한 결과를 보여주고 추후에 나머지 코드를 작성해 전체 코드를 완성한다는 내용이 나왔습니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#9.4 <br /> <br /># 건물 유닛 <br />class BuildingUnit(Unit): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, location): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pass <br /> <br /># 보급고: 건물 유닛, 1개 건물 유닛 = 8유닛 <br />supply_depot = BuildingUnit("보급고", 500, "7시") # 체력 500, 생성 위치 7시 <br /> <br />def game_start(): <br />&nbsp;&nbsp;&nbsp;&nbsp;print("[알림] 새로운 게임을 시작합니다.") <br /> <br />def game_over(): <br />&nbsp;&nbsp;&nbsp;&nbsp;pass <br /> <br />game_start() <br />game_over() <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 19일 Monday PM 10:09:39 이윤찬 Mon, 19 Jun 2023 22:09:39 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3393 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.6.18 책 한 권 복습 8페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3391 오늘 파이썬 입문 책은 메소드 오버라이딩에 대해서 나왔는데 기존에 상속받은 클래스에서 정의된 메소드를 이용하여 다른 클래스에서 기존 메소드명과 동일한 메소드명을 재정의하여 서로 다른 클래스 객체의 동일한 메소드명을 호출하여 서로 다른 기능을 수행하는 메소드를 호출하는 방법입니다. <br /> <br />아래는 오늘 학습한 내용입니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#9.3.3 <br /># 일반 유닛 <br />class Unit: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, speed): # speed 추가 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.name = name <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp = hp <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.speed = speed # 지상 이동 속도 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def move(self, location): # 이동 동작 정의 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[지상 유닛 이동]") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향으로 이동합니다. [속도 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(self.name, location, self.speed)) <br /> <br /># 공격 유닛 <br />class AttackUnit(Unit): # Unit 클래스 상속 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, damage, speed): # speed 추가 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unit.__init__(self, name, hp, speed) # speed 추가 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage = damage <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def attack(self, location): # 전달받은 방향으로 공격 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향 적군을 공격합니다. [공격력 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(self.name, location, self.damage)) # 공간이 좁아서 2줄로 나눔 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def damaged(self, damage): # damage만큼 유닛 피해 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 피해 정보 출력 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1}만큼 피해를 입었습니다.".format(self.name, damage)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp -= damage # 유닛의 체력에서 전달받은 damage만큼 감소 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 남은 체력 출력 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.hp &lt;= 0: # 남은 체력이 0 이하이면 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 파괴됐습니다.".format(self.name)) # 유닛 파괴 처리 <br /> <br /># 비행 기능 <br />class Flyable: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, flying_speed): # 비행 속도 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.flying_speed = flying_speed <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;def fly(self, name, location): # 유닛 이름, 비행 방향 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(name, location, self.flying_speed)) <br /> <br /># 공중 공격 유닛 <br />class FlyableAttackUnit(AttackUnit, Flyable): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, damage, flying_speed): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, name, hp, damage, 0) # 지상 이동 속도 0 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flyable.__init__(self, flying_speed) # 비행 속도 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def move(self, location): # Unit 클래스의 move() 메서드를 오버라이딩 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("[공중 유닛 이동]") <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.fly(self.name, location) <br /> <br /># 호버 바이크: 지상 유닛, 기동성 좋음 <br />hoverbike = AttackUnit("호버 바이크", 80, 20, 10) # 지상 이동 속도 10 <br /> <br /># 우주 순양함: 공중 유닛, 체력도 굉장히 좋음, 공격력도 좋음 <br />spacecruiser = FlyableAttackUnit("우주 순양함", 500, 25, 3) # 비행 속도 3 <br /> <br />hoverbike.move("11시") <br />#spacecruiser.fly(spacecruiser.name, "9시") <br />spacecruiser.move("9시") # 오버라이딩한 move() 메서드 호출 <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 18일 Sunday PM 08:56:37 이윤찬 Sun, 18 Jun 2023 20:56:37 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3391 ▶이윤찬의 알파와 오메가◀ > 복습 이윤찬 - [나도코딩 파이썬 입문] 2023.6.17 책 한 권 복습 4페이지 진도 나간 내용... https://www.blrun.net/bbs/zboard.php?id=blog1&no=3389 오늘 파이썬 입문 책은 다중 상속에 대해서 나왔는데 형식은 class 자식 클래스명(부모 클래스명1, 부모 클래스명2, ...): 와 같이 시작해 정의하고 아래는 오늘 학습한 내용입니다. <br /> <br />[오늘 학습한 내용] <br /><pre class="brush: py; first-line: 1" title="오늘 학습한 내용"> <br />#9.3.2 <br />class Unit: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.name = name <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp = hp <br /> <br />class AttackUnit(Unit): # Unit 클래스 상속 <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, damage): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unit.__init__(self, name, hp) # 부모 클래스의 생성자 호출 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.damage = damage <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;def attack(self, location): # 전달받은 방향으로 공격 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향 적군을 공격합니다. [공격력 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(self.name, location, self.damage)) # 공간이 좁아서 2줄로 나눔 <br /> <br />&nbsp;&nbsp;&nbsp;&nbsp;def damaged(self, damage): # damage만큼 유닛 피해 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 피해 정보 출력 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1}만큼 피해를 입었습니다.".format(self.name, damage)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.hp -= damage # 유닛의 체력에서 전달받은 damage만큼 감소 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 남은 체력 출력 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp)) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.hp &lt;= 0: # 남은 체력이 0 이하이면 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : 파괴됐습니다.".format(self.name)) # 유닛 파괴 처리 <br /> <br /># 비행 기능 <br />class Flyable: <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, flying_speed): # 비행 속도 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.flying_speed = flying_speed <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;def fly(self, name, location): # 유닛 이름, 비행 방향 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]" \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.format(name, location, self.flying_speed)) <br /> <br /># 공중 공격 유닛 <br />class FlyableAttackUnit(AttackUnit, Flyable): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, name, hp, damage, flying_speed): # 유닛 이름, 체력, 공격력, 비행 속도 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AttackUnit.__init__(self, name, hp, damage) # 유닛 이름, 체력, 공격력 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flyable.__init__(self, flying_speed) # 비행 속도 <br /> <br /># 요격기: 공중 공격 유닛, 미사일 여러 발을 한 번에 발사 <br />interceptor = FlyableAttackUnit("요격기", 200, 6, 5) # 유닛 이름, 체력, 공격력, 비행 속도 <br />interceptor.fly(interceptor.name, "3시") # 3시 방향으로 이동 <br /> <br /></pre><br /><br />작성자 : 이윤찬<br />작성일자: 2023년 06월 17일 Saturday PM 09:08:36 이윤찬 Sat, 17 Jun 2023 21:08:36 +0900 0 https://www.blrun.net/bbs/zboard.php?id=blog1&no=3389 ▶이윤찬의 알파와 오메가◀ > 복습