프로그래밍/Talk
이전에 작업한 SMS 웹 전송 시스템 유지 보수
이전에 작업한 SMS 웹 전송 시스템의 부족한 부분을 조금 손봤습니다. 크게 건든건 아니고 만들고 나서 좀 아쉬운 부분만 작게 고쳤습니다. 처음에 웹 서비스 만들땐 한숨만 나왔는데 Node.js랑 Vue를 제대로 배워둔 건 참 잘한게 아닌가 싶습니다. 웹 개발이 처음에는 노잼이라고 생각했는데 그래도 재미랑 자신감이 붙네요. 1. 카드 높이 통일, Flex 도입 왼쪽 엑셀 파일, 로그 박스 높이, 중앙 메세지 폼 높이, 데이터 불러오기 박스의 높이를 전부 동일하게 맞췄습니다. 원래는 높이가 조금씩 다르고 다 뒤죽박죽이였는데 하드코딩으로 맞췄습니다. 또한 기존에는 Vuetify의 12분할 Grid 시스템을 사용해 메인화면을 배치했으나, 제가 활용을 제대로 못해서 최근에 배운 CSS Flex를 도입해서 레이아..
프로그래밍/Talk
일렉트론 앱의 로딩 속도는 HDD보다 SSD에서 훨씬 빠릅니다
제목이 곧 내용입니다. 일반적으로 프로그램의 로딩 속도는 당연히 HDD에서 로딩시키는거 보다 SSD에서 로딩 시키는게 훨씬 빠릅니다. 그럼에도 실행하는 프로그램 규모가 작으며 (=< 100MB) 로딩할 짜잘한 파일이 그렇게 많지 않은 C,C#,Java, ... 와 같은 컴파일 언어로 만들어진 프로그램의 경우 HDD랑 SSD 에서 로딩 속도 차이가 그렇게 없습니다. 근데 일렉트론으로 만들어진 프로그램의 경우 HDD랑 SSD에서 로딩시킬때 SSD가 HDD랑 비교도 안되게 빠릅니다. 일렉트론으로 만들어진 프로그램의 경우 사실 크롬 브라우저 (크로미움 엔진)를 그대로 켜서 로딩시키는거라 짜잘 짜잘한 파일을 로딩시켜야 할 게 많고, 용량도 기본적으로 크고 무겁습니다. 따라서 HDD에서 일렉트론 앱을 열면 로딩 속..
프로그래밍/Talk
일렉트론 vue-cli-plugin-electron-builder Heap 메모리 제한 해제 실패..
"electron:serve": "vue-cli-service electron:serve" 최근 vue-cli-plugin-electron-builder 라는걸로 개발을 하고 있는데 무슨 짓거리를 해도 vue-cli-service 로 실행하는 electron 의 Heap 메모리 제한을 해제할 수가 없습니다. ㅠㅠ Node.js 버전도 64비트인데 어떤 방법을 사용하던 간에 2GB를 넘어서 힙 영역을 점유하는 순간 프로그램이 튕겨버립니다. 정확히 일렉트론 앱이 2700MB 메모리 이상을 점유하는 순간 튕겨버립니다. "dist:build2": "cross-env NODE_ENV=production NODE_OPTIONS='--max-old-space-size=8192' vue-cli-service elect..
프로그래밍/Talk
일렉트론으로 만든 프로그램은 메모리 비용을 얼마나 차지할까?
최근에 프로그램을 하나 만들었습니다. 바로 디시 글 초고속 검색기. 일렉트론 + 타입스크립트 + Vue로 만들어서 디자인도 깔끔하고 디시글 검색 속도도 극적으로 개선해서 꽤나 마음에 드는 성과입니다. 이에 관해 글을 많이 올렸으니 아마 아실 분들은 아실꺼라고 생각합니다. 그럼에도.. 이 프로그램을 돌리면서 가장 문제되는 점은 미친듯한 램 사용률입니다. Promise.all() 로 빡센 네트워크 I/O 비동기 작업을 돌리는 순간 저렇게 램 사용률이 끝도 없이 올라갑니다 ㅎ; 사실 이건 일렉트론의 문제라기보단 정확히는 Node.js 런타임의 문제 같습니다. 일렉트론으로 만든 앱 여러가지를 써봤는데 (VSCode, Discord, 지금은 망한 Twitch PC Client 등등) 일렉트론으로 만든 앱은 기본 ..
프로그래밍/Talk
Electron, Vue2 + Vuetify, TS, Node.js를 활용해 다시 만든 디시 글 검색기 #1 - 개발중
이전 글에서 파이썬으로 동기적 코드로 만든 디시 글 탐색기를 일렉트론이랑 Node.js로 다시 만든다고 했었는데 생각보다 빨리 개발을 완성하였습니다. 사실 디시 글을 비동기적으로 탐색하는 코드보다 Vue 2랑 일렉트론, 뷰티파이, 타입 스크립트 무려 4개의 기술 스택을 한꺼번에 프로젝트에 적용하느라 훨씬 고생이 많았습니다. Babel 이나 ts-node나 각 기술 의존이 꼬이고 꼬여서 예전에 Vue2, 뷰티파이, 자바스크립트만 써서 웹 개발했을때랑 차원이 다르게 삽질을 많이 했습니다 ㅠㅠ 일단은 기능 자체는 잘 작동하며 Vuetify 를 사용해서 공대 감성도 전혀 없고 타이틀바도 Vuetify 에서 지원하는 앱바를 사용해서 구진 윈도우의 타이틀 바 대신 이쁜 앱 같은 디자인을 가지고 있습니다. 애초에 파..
프로그래밍/Talk
Electron, Vue, Typescript으로 개발을 도전 해보려 합니다
예전에 파이썬으로 작성한 디시인사이드 글 검색기가 있습니다. 아직도 잘 작동하고 디시에서 글 검색할때마다 실제로 유용하게 사용하고 있는 상태입니다. 문제는 디시인사이드 서버가 느린데, 비동기 형태의 코드가 아니라 동기 멀티 쓰레딩 방식이라 검색이 좀 많이 느립니다. 실제로 디시에서 야구갤러리를 기준으로 모든글을 검색하려면 요청을 약 1000번 정도 보내야 하는데 비동기, 멀티쓰레딩, 멀티 프로세싱 등 여러가지 방법을 사용해본 결과 asyncio 모듈을 사용한 비동기 요청이 가장 빨랐으며 모든 페이지 탐색 및 글 내용 정제에 40초 정도 소요됩니다. 디시 서버가 네이버 같은 사이트 보다 한 3~4배 정도 느려서 이 이상 속도를 개선하기가 어렵더라구요. 일단은 asyncio 로 작성한 비동기 단일 쓰레딩 코..
프로그래밍/Talk
PC방 프로그램 불법 프로그램 감지에 대한 고찰 Feat. Python - 크롬 창 이름 못보게 하기
윗집 층간소음 문제때문에 기분도 잡치고 짜증나고 해서 밖에 나와 PC방에 갔습니다. 사실 가서 할건 별거 없는데, 집 PC랑 스트리밍(Moonlight) 연동해서 못 본 레데리2 엔딩 정도만 보고 왔습니다. 이렇게 할거면 걍 집에서 하는게 낫긴한데 아무래도 소음덩어리인 집에 있는거보단 그냥 밖에 나가 있는게 훨씬 낫습니다. 집에 있으면 살인 충동만 계속 들거든요. 어쨌던 밖에서 나름의 평화를 되찾고 커피 빨고 있는데 알바가 갑자기 찾아오더라구요. ??? : 혹시 이상한 프로그램 까셨나요? 불법 프로그램 설치 됐다고 해서요 뭐지..? 난 아무것도 안했는데..? 그냥 LDPlayer 정도만 깔아서 스마트폰 앱 게임중이였다고 하니 어쨌던 이상한 프로그램 깔면 안된다고 하고 가더라구요. 그래서 왜 이런게 걸렸지..
프로그래밍/Talk
[Patch Notes] 네이버 웹툰 다운로더 수정 및 기능 추가 준비
기존 파이썬으로 작성한 네이버 웹툰 다운로더 입니다. 현재 릴리즈 된 최신 버전은 v4.3입니다. 2022.03.03 네이버 웹툰 사이트 개편 업데이트 댓글로 세 분 정도가 제보해 주셔서 알았는데 네이버 웹툰 사이트가 개편되었습니다. 네이버 서비스가 대부분 그렇지만 특히 네이버 웹툰 사이트는 몇 년째 거의 변화 없이 짜잘 짜잘한 디자인 업데이트나 편의성 개선만 있어왔습니다. 이번엔 일종의 웹 앱 형식으로 사이트 구조가 개편되었습니다. 당연히 네이버 웹툰 사이트가 변화함에 따라 HTML 구조도 변화하였고 기존에 네이버 웹툰 다운로더는 작동하지 않게 되었습니다. 네이버 웹툰 사이트 응답 코드 (Python Requests 로 요청한 결과값) JS로 api에 요청하여 React로 동적으로 로딩하는듯 함. Se..
이모티콘창 닫기
울음
안녕
감사
당황
춤
피폐