전체 글63 Flutter DioError SocketException: Failed host lookup 에러 🛠환경 윈도우 10 최신 Flutter 3.10.6 Dart 3.0.6 dio ^4.0.0 DevTools 2.23.1 상황 Flutter로 공공데이터를 불러오는 프로젝트를 진행하였는데, 데이터를 GET요청하는 부분에서 DioError가 발생했습니다. https://www.data.go.kr/index.do 원인 분석 Open API를 사용하는 방법에서의 오류가 있을 수 있습니다(주소, 서비스 키 입력에서의 오류). DioError라고 출력되었으므로 dio 라이브러리와 연관이 있을 가능성이 높습니다. PostMan과 브라우저에서 GET요청을 보냈을 땐 잘 작동했으므로 1번의 문제는 아닐 것입니다. 구글링 했을 때 가장 많이 나오는 내용은 AndroidManifest.xml 파일에 다음 코드를 삽입하라는 .. 2023. 7. 31. pyside GUI 버튼 클릭 시 에러 없이 창이 꺼짐 🛠환경 윈도우 10 최신 파이썬 3.11 Pyside6 6.4.2 pyinstaller 5.13.0 Selenium 4.8.2 상황 Pyinstaller로 빌드된 프로그램에서 버튼을 클릭 시 에러 없이 프로그램이 종료되는 상황입니다. 버튼 클릭 시에는 Selenium으로 웹페이지 동작을 자동화합니다. 원인 분석 에러를 출력해야 구글링이 가능해서 try문으로 소스코드 전체부터 메서드 하나까지 여러 번 감싸도 출력이 안 됐습니다. "버튼 클릭 시에 크롬 드라이버가 불러와지는 딜레이 시간 때문에 발생한다"라고 생각은 했지만 다소 억지가 있습니다. 이상한 점은 초기 실행 시에 이 현상이 자주 나타나고, 그 이후는 덜 발생한다는 점입니다. 코드 상의 에러면 100% 발생해야 하지만 이러한 간헐적인 에러는 통신과 .. 2023. 7. 28. SetProcessDpiAwarenessContext failed 에러 🛠환경 윈도우 10 최신 파이썬 3.11 Pyside6 6.4.2 PyAutoGUI 0.9.54 pyinstaller 5.13.0 상황 Pyside6 GUI 구현 후, Pyinsatller로 빌드 한 프로그램의 콘솔에 에러 메시지가 출력됐습니다.(작동엔 이상 없음) 원인 분석 액세스 거부와 관련해서 ChatGPT는 관리자 권한으로 실행하라 했지만 해결되지 않았습니다. SetProcessDpiAwarenessContext 관련해서 ChatGPT는 화면을 그리는 과정에 해상도 설정 문제라고 합니다. 이상한 점은 기본적인 위젯만 사용한 애플리케이션이고 해상도 관련해서 설정은 건든 부분이 없다는 점입니다. 해결책으로 제시된 processDPI 설정 메서드를 사용해도 해결되지 않았습니다. 소스코드로 실행 시에는 .. 2023. 7. 27. 플러터(Flutter)로 1인 앱개발을 하려는 이유? for 플러터를 쓸지 고민하는 앱개발자, 앱개발 인문을 플러터로 생각 중인 입문자, 사이드프로젝트를 생각 중인 개발자 or 디자이너 1인 앱개발을 하는 이유? 요즘에는 월급을 제외한 모든 것이 오르면서, 부업이 필수적이라는 생각이 듭니다. 사치스러운 삶을 바라는 건 아니지만, 적어도 하루 세 끼 배달 음식만 시켜 먹는 것으로도 유지할 수 있는 삶이라면 일에 더 집중할 수 있겠다는 생각을 자주 합니다. 개발자는 본인의 전문성을 살리면서 할 수 있는 부업으로 사이드 프로젝트가 있습니다. 이를 여러 지인들과 팀을 이뤄서 하는 경우도 있고 1인으로 하는 경우도 있습니다. 저는 최근 여러 팀 프로젝트를 진행하면서 1인 개발이 다시 하고 싶어져서 1인 개발로 정했습니다. 디자인을 꾸준히 해와서 익숙해질 만한데, 디.. 2023. 6. 26. [PySide6] 데스크탑 프로그래밍 입문하기 안녕하세요. 그동안 프런트 개발과 알고리즘에 대한 글을 쓰다가 개인적으로 좋아하는 주제인 데스크톱 프로그래밍에 대한 저의 생각과 왜 입문해야 되는지에 대해 써보려고 합니다.(Pyside6에 대한 글을 쓰기 전에 제 생각을 정리해 보는 글이기 때문에 가볍게 작성해 보겠습니다.) 내가 GUI 프로그래밍에 빠져든 이유? 어릴 적부터 컴퓨터로 게임, 엑셀, 메신저 등 다양한 프로그램을 사용하면서 "이런 프로그램은 어떻게 만들어지는 걸까?"라는 생각이 들었습니다. 그리고 언젠가는 나만의 프로그램을 만들어 보고 싶다는 생각도 했습니다. GUI(Graphical User Interface) 프로그래밍을 접하면서, 드디어 나만의 프로그램을 만들 수 있게 되었고, 예전부터 대단하다고 생각했던 프로그래머들처럼 어떤 것이든.. 2023. 6. 24. [코테] 가장 긴 접두어이자 접미어(LPS) 문제 문자열을 입력받아 다음의 조건을 만족하는 LPS*를 찾아 그 길이를 리턴해야 합니다. LPS: 주어진 문자열의 가장 긴 접두어이자 접미어(Longest Prefix which is also Suffix) non-overlapping: 접두어와 접미어는 서로 겹치는 부분이 없어야 합니다. 다시 말해, prefix와 suffix는 문자열의 동일한 인덱스에 위치한 문자를 요소로 가지면 안 됩니다. 입력 인자 1 : str string 타입의 임의의 알파벳 소문자 문자열 ( str.length는 60,000 이하 출력 number 타입을 리턴해야 합니다. 주의사항 prefix(접두어)는 문자열의 첫 인덱스부터 시작하는 모든 부분 문자열을 의미합니다. suffix(접미어)는 문자열의 마지막 인덱스부터 시작하.. 2023. 2. 5. [코테 js] treeBFS 너비 우선 탐색(BFS, Breadth First Search) 문제 임의의 tree를 구성하는 노드 중 하나의 Node 객체를 입력받아, 해당 노드를 시작으로 너비 우선 탐색(BFS, Breadth First Search)을 합니다. 이때, 탐색되는 순서대로 노드의 값이 저장된 배열을 리턴해야 합니다. let bfs = function (node) { // TODO: 여기에 코드를 작성합니다. }; // 이 아래 코드는 변경하지 않아도 됩니다. 자유롭게 참고하세요. let Node = function (value) { this.value = value; this.children = []; }; // 위 Node 객체로 구성되는 트리는 매우 단순한 형태의 트리입니다. // membership check(중복 확인)를 따로 하지 않습니다. Node.prototype.a.. 2023. 1. 18. [코테] 멱집합(Power set) 문제 하나의 집합을 의미하는 문자열을 입력받아 각 문자를 가지고 만들 수 있는 모든 부분집합을 리턴해야 합니다. 입력 인자 1: str string 타입의 공백이 없는 알파벳 소문자 문자열 출력 배열(arr)을 리턴해야 합니다. arr[i]는 각 부분집합의 원소로 구성된 문자열 주의사항 arr[i]는 각 부분집합을 구성하는 원소를 연결한 문자열입니다. arr[i]는 알파벳 순서로 정렬되어야 합니다. 집합은 중복된 원소를 허용하지 않습니다. 부분집합은 빈 문자열을 포함합니다. arr은 사전식 순서(lexical order)로 정렬되어야 합니다. 입출력 예시 let output1 = powerSet('abc'); console.log(output1); // ['', 'a', 'ab', 'abc', 'ac',.. 2023. 1. 16. selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed. 에러 에러 발생 데스크탑으로 셀레니움 라이브러리를 활용한 프로젝트를 진행 후, 노트북에 클론을 하여 작업을 이어가려던 중에 예상치 못한 에러가 발생하였습니다. selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed. (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location C:\Users\..\AppData\Local\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assumin.. 2023. 1. 15. [코테 js] treeDFS 깊이 우선 탐색 문제 문제 임의의 tree를 구성하는 노드 중 하나의 Node 객체를 입력받아, 해당 노드를 시작으로 깊이 우선 탐색(DFS, Depth First Search)을 합니다. 이때, 탐색되는 순서대로 노드의 값이 저장된 배열을 리턴해야 합니다. 인자1 : node 'value', 'children' 속성을 갖는 객체 (Node) 'node.value'는 number 타입 'node.children'은 Node를 요소로 갖는 배열 입출력 예시 let root = new Node(1); let rootChild1 = root.addChild(new Node(2)); let rootChild2 = root.addChild(new Node(3)); let leaf1 = rootChild1.addChild(new Nod.. 2023. 1. 9. [Javascript 문법] var, let, const 차이, 사용법 1.변수의 3가지 종류 Why? 자바스크립트에서 변수를 선언하는 법은 var, let, const 3가지가 있습니다. var 변수 선언 방식 이외에 let과 const는 ES6 이후 나온 문법으로, 코드량이 많아질 때 오류를 막기 위해서 탄생했습니다. 예를 들어, name 이라는 변수를 선언한 것을 잊고 다시 선언해서 문제가 발생한 경우, var를 사용하면 찾기 힘들지만 let을 사용하면 런타임 이전에 에러가 발생하여 많은 문제를 방지할 수 있습니다. """ var를 썼을 때 """ var name = 'kim' var name = 'lee' // 정상 동작을 하여, 똑같은 변수명을 썼음에도 알 수 없습니다 """ let을 썼을 때 """ let name = 'kim' let name = 'lee'// .. 2022. 12. 4. [파이썬] 엑셀 같은 값 연결 프로그래밍 지난 포스팅에서 엑셀을 다루는 직장인이나 학생분들을 위한 프로그램을 소개했습니다. https://devris.tistory.com/17 두 파일에서 같은 값으로 검색하기 엑셀에서 덕질할 캐릭터들 MBTI를 정리하다가 두 파일이 순서가 다른 경우 옮겨 적을 때 곤란할 때가 많습니다. 이때 사용하기 위해 두개의 파일에서 위와 같이 한 값이 섞였을 때 사용할 수 있게 devris.tistory.com 이번 시간에는 코드를 리뷰해보겠습니다 우선 엑셀을 다루기 위한 openpyxl 라이브러리를 설치해줍니다 pip install openpyxl 상단에 임포트 해줍니다 import openpyxl 우선 GUI로부터 실행버튼이 눌리면 onClick 이벤트로 메인 함수가 실행되는 게 이 프로그램의 전부입니다. ( 물론 .. 2022. 10. 12. 이전 1 2 3 4 5 6 다음