본문 바로가기

클립보드 텍스트 데이터 가져오기 외부 모듈을 따로 설치하지 않고 클립보드에 저장된 텍스트 데이터를 가져오는 방법이다. 물론 윈도우에 기본으로 내장되어 있는 기능인 "캡처 도구"를 이용해서 클립보드에 이미지를 복사했을 경우에는 Pillow 모듈을 설치하여 사용해야 한다. 코드는 아래와 같고 클립보드가 비어있을 경우에는 클립보드가 비어있다고 알려준다. from tkinter import Tk from _tkinter import TclError def get_clipboard(): root = Tk() root.withdraw() result = None try: result = root.clipboard_get() except TclError as e: print('클립보드 데이터가 비어있습니다.') return result val = ..
네이버 지식iN 개편 지난주인 11월 7일, 네이버 지식iN의 Q&A 페이지가 10년 만에 대대적인 개편을 하였다. 먼저 화면 레이아웃이 아예 달라졌다. 기존에는 오른쪽에 사이드바가 있는 2단 구성이었으나 개편 후에는 1단 구성으로 바뀌어서 질문과 답변을 좀 더 넓게 볼 수 있다. 과거와 현재 비교 사진 / 출처 : 네이버 지식iN 공식 블로그 덕분에 질문 내용을 깔끔하게 볼 수 있으면서 기본 폰트 크기도 18pt로 되어 있어서 좀 더 큰 글씨로 볼 수 있다는 점이 있다. 다만 폰트 크기가 커지면서 질문의 길이가 길어지면 보기가 어렵다는 단점이 있다. 그리고 질문의 경우 폰트 크기를 조절해서 올리더라도 적용이 되지 않는 버그가 있다. 질문 부분도 답변 부분과 같이 '최적 모드'와 '원문 모드'로 나누어져서 볼 수 있어야 한다..
네이버 지식인 XSS 두 번째 성공 약 1달 전에 네이버 지식in XSS에 성공했다는 포스팅을 했었다. 관련 포스팅 기존 취약점과는 다른 부분에서 발생한 취약점으로 영상에서는 크롬 환경만 찍혀 있는데, IE에서도 동일하게 동작하는 것을 확인했다. 처음에 왜 IE에서 동작을 안하는지 생각을 했었는데 IE에서는 arrow function을 지원하지 않아서 동작하지 않았었다. 그래서 해당 부분을 일반 함수로 고친 결과 잘 동작하는 것을 확인하였다. 현재 음성 녹음을 할 수 있는 상황이 아니라서 영상만 찍혀 있고 아직 패치가 되지 않아 취약점에 대한 자세한 내용을 다루지 않았다. 이후 패치가 되고 여유가 된다면 다시 업로드할 예정이다. 마찬가지로 고객센터에 신고를 했으니 처리해줄 일만 남은 것 같다. 아래는 Chrome 환경 및 IE 11에서의 ..
카카오톡 자동 응답 라이브러리 일지 카카오톡에서 플러스 친구 응답 API를 공개한지 대략 2년이 지났다. API 문서를 보면 해당 API를 구현할 수 있는 스펙에 대해 설명하고 curl 요청과 응답 예시를 들어 놓았다. 즉, 아무래도 curl 요청과 같은 비개발자들이 다루지 못해봤던 내용이 있기도 하고, sdk 또한 제공하지 않아서 스펙에 맞게 직접 구현하는 방법밖에 없었다. 그리고 에러가 발생했을 때 에러 코드 대한 설명이 매우 빈약한 편이다. "415 wrong keyboard initialize"라고 하는데 이게 서버가 요청을 받아오지 못해서 생기는 이슈인 건지 아니면 json 코드를 파싱할 때 에러가 발생한 것인지가 확인이 불가해서 디버깅을 할 때 많은 어려움이 있을 수밖에 없었다. 이러한 이유 때문에 개발자가 아닌 사람들은 해당 ..
네이버 지식인 XSS 성공 영상에서는 크롬 환경만 찍혀 있는데, IE에서도 동일하게 동작하는 것을 확인했다. 일단 고객센터에 신고를 했으니 처리해줄 일만 남은 것 같다. Success
네이버 지식인 룰렛 이벤트 결산 8월 한 달 동안 네이버 지식iN에서 룰렛 이벤트를 하였다. 이용권의 지급 기준은 답변 3개를 달거나 혹은 질문 3개를 달면 1개씩 지급해주는 방식이다. 최근에 네이버에서 '추가 질문하기' 기능이 생겨서 좀 더 쉽게 룰렛을 얻을 수 있었다. 애초에 룰렛에서 네이버 페이의 경우 당첨자 수가 이미 정해져 있기 때문에 해당 인원만큼이 이미 당첨되었다면 더이상 나올 수가 없는 구조였다. 다행히 운이 좋게도(?) 네이버페이 500원이 2번 당첨되었다. 나머지는 내공 아니면 꽝이 나왔는데, 생각보다 꽝이 나오는 횟수가 많았다.... 솔직히 이제 내공도 쓸모가 없는데.... 오늘 기준으로 확인한 내공량이다. 20만 내공이나 있는데 쓸 곳이 한 군데도 없다.... 뭔가 포인트 같이 활용해서 지식인 소개 페이지를 꾸밀 ..
배열없이 3개 정수 정렬하기 3개의 정수에서만 사용할 수 있는 트릭을 사용한 코드이다.최솟값과 최댓값을 알면 나머지 한 값도 알 수 있는 방식이다. #include #include int main(int argc, char const *argv[]) { int m, M, val, i, t; m = INT_MAX, M = INT_MIN, t = 0; for(i = 0; i < 3; ++i) { scanf("%d", &val); if(m > val) m = val; if(M < val) M = val; t ^= val; } t ^= m ^ M; printf("정렬한 결과 : %d %d %d\n", m, t, M); return 0; }
삼중자(Trigraph) C언어에서 기본으로 사용하는 문자집합(Character set)은 ASCII입니다.하지만 일부 국가들에서 ISO/IEC 646를 기준으로 하는 키보드를 사용하는데, 우리나라도 여기에 포함됩니다. 여기서 ISO/IEC 646이란 7비트로 문자를 표기하는 방식을 선언해놓은 것으로 미국의 체계인 ASCII를 기반으로 합니다. 숫자나 알파벳은 공통적인 부분과 일부 문장부호(!, ", #, $, &, :, ?, @, [, \, ], ^, _, `, {, |, }, ~)에 대해서 각 나라의 상황에 맞게 변경할 수 있는 부분으로 구성되어 있습니다. 한국의 경우 백슬래시(\)가 원화(\)로 표기됩니다. 그래서 일부 C언어 책자에서 처음에 등장하는 Hello, World!를 출력하는 과정에서 \가 등장하는데 이 문자를 ..