본문 바로가기

전체보기

(283)
[MySQL] Where In & SubQuery 는 최악! JOIN & MAX & GROUP BY 사용 최근에 구축 중인 사이트가 있는데, 방대한 양의 시세 정보 데이터를 적재하고 이를 검색서비스를 제공하는 사이트이다. 여러 다른서버들이 있어 다른서버의 시세도 한눈에 보게끔 해주고 싶었는데, 아무 생각 없이 where 에 in 으로 서브 쿼리를 넣어 주는걸로 작성을 해주었더니, 시간이 매우 오래 걸렸다. SELECT * FROM auction WHERE idx IN ( SELECT MAX(idx) FROM auction WHERE item_id = :item_id GROUP BY realm_id, auction_house_id, item_id) ORDER BY price_min DESC; 위 쿼리의 결과가 도출되는데 4초에서 6초가 소요되었다. 개선을 해볼수 있지 않을까 싶어 여러 검색을 해보았는데, wh..
[Mac] 터미널에서 맥북 이름 변경하기. Change Hostname in Terminal 회사 PC가 맥북인데, hostname을 변경하고 싶은데 보안프로그램에 의해 환경설정 > 공유가 막혀 변경을 할수가 없었다. 그래서 터미널을 통해 변경하는 방법을 찾게되어 블로그에 기록겸 남겨둔다. sudo scutil --set HostName name-you-want 이렇게 변경하고 터미널을 종료 후 터미널을 다시 켜보면 변경이 잘 된것을 볼 수 있다. 출처| https://apple.stackexchange.com/questions/66611/how-to-change-computer-name-so-terminal-displays-it-in-mac-os-x-mountain-lion
journalctl 로그 용량/보존 기한 설정하기 var/log 에 용량이 많아 확인해보니 journal log 가 4G 넘게 쌓여있는걸 보고, stackoverflow 를 참고해 해결했다. The self maintenance method is to vacuum the logs by size or time. Retain only the past two days: journalctl --vacuum-time=2d Retain only the past 500 MB: journalctl --vacuum-size=500M man journalctl for more information. 출처: https://unix.stackexchange.com/questions/139513/how-to-clear-journalctl
Discord.js) Error: aborted 최근 discord.js 를 사용해 봇을 구축하고 있는데, 음악봇 기능을 개발하면서 다음과 같은 오류가 발생해 해결방법을 찾아 포스팅한다. 우선 오류는 아래와 같이 발생했다. 6|wow | Error: aborted 6|wow | at connResetException (node:internal/errors:704:14) 6|wow | at TLSSocket.socketCloseListener (node:_http_client:441:19) 6|wow | at TLSSocket.emit (node:events:525:35) 6|wow | at node:net:757:14 6|wow | at TCP.done (node:_tls_wrap:583:7) 일단 결론부터 얘기하자면 discord 는 bitrate ..
Ubuntu) node.js 업그레이드 안됨 해결 오늘은 서버에서 node.js 를 업그레이드를 하려고 했는데, 수행이 안됬던 것을 해결해 포스팅한다. 먼저 보통 업그레이드를 수행하려고 한다면 아래와 같이 수행한다고 한다. sudo npm cache clean -f sudo npm install -g n sudo n stable 여기서 latest 버전으로 설치하고 싶으면, sudo n latest 를 하면 된다. 그런데, 아무리 위와 같이 수행해도 node -v 를 하였을 때, 버전이 그대로여서 해결방법은 아래와 같이 수행했다. nvm install node node -v 를 다시 쳐보니 정상적으로 업그레이드가 완료 되었다.
XE Uncaught Error: Class 'Object' not found in XE 를 최신 버전으로 업데이트 하는 과정에서, 또는 php 7 >= 환경에 XE를 서버이전하고자 할때 오류가 발생한다. 제일 간단한 방법은 로그 창을 터미널로 띄워놓고, Object 오류가 발생하는 php 파일들을 찾아가 Object 를 BaseObject 로 수정해주면 된다. 예를 들어, return new Object(); 를 return new BaseObject(); 로 바꿔주면 된다. 또는 extends Object { 로 위에 적혀있을때도 있는데, 이때도 extends BaseObject { 로 수정해주면 된다.
윈도우7 에서 10으로 업그레이드 실패 후 결국 새로 설치 이번주에는 이모께서 오래된 PC 하나를 윈도우 7에서 10으로 업그레이드를 부탁하셔서 작업을 해보았다. 직접 방문이 어려운 상태라 TeamViewer 를 통해 직접 업글을 시도하였는데, 결론을 미리 말하자면 "실패" 했다. 2일동안 고생했던 이야기를 지금 풀어놓을테니, 같은 문제점을 해결하기 위해 검색하시는 분들이 고민말고 바로 깔끔하게 포기하고 넘어가시길 바라는 마음에 글을 적어본다. 윈도우7에서 10에서 "이 PC 업그레이드" 방법을 쓸 수 있는 PC는 클린한 상태의 PC에 가까울 수록 성공확률이 있고, 꽤 오랜 시간 사용한 PC일 수록 "이 PC 업그레이드" 실패 확률이 매우 높게 발생한다. < 우선, 이 PC 업그레이드를 하기 위한 사전 조건 ... > 1. Windows 업데이트를 모두 해주어야..
window.open 새로운 윈도우 창에 post 로 보내기 오늘은 요구사항으로 새 윈도우 창에 post 로 보내달라는 게 있어서 포스팅에 추가해봅니다. Vanilla로 짜도되고 jQuery를 쓰셔도 되는데, 두가지를 모두 소개해볼게요. Vanilla var form = document.createElement('form'); form.setAttribute('target', '_blank'); form.setAttribute('action', '__TARGET_URL__'); form.setAttribute('method', 'post'); var input = document.createElement('input'); input.setAttribute('type', 'hidden'); input.setAttribute('value', '__VALUE__HERE..