본문 바로가기

전체 글

(54)
쿼리 조건절 유의점 어찌보면 당연하지만 가끔씩 깜빡하는게 하나있다. 간단한 예시를 하나 들자면난 t_main 테이블의 f1 필드에 test 라는 데이터를 제외한 모든 데이터를 불러오려고 한다. 아래와 같이 쿼리를 짰다.select * from t_main where f1 != 'test';얼핏보면 문제가 없어 보이지만 저렇게 하게되면 f1필드의 데이터가 test가 아님에도 불구하고 검색되지 않는 것들이 발견된다.바로 f1이 null 인 데이터들은 결과로 나오지않는다... 이걸 주의해서select * from t_main WHERE f1 IS NULL OR f1 != 'test';or null 처리를 하거나 nvl 처리를 해주자(가급적 or 처리가 좋다)
[JS] 디스코드 노래 봇 5 노래봇에 재생목록, 삭제, 넘기기, 반복재생 등등 기능을 만들었는데 중요한 문제가 생겼다.유튜브 정책 변경으로 기존에 사용중이던 ytdl-core 라이브러리가 사용이 불가능해졌다.다른 방법을 찾아야하는 상황이다.일단 아래는 지금까지 작업했었던 코드다.const { Client, GatewayIntentBits } = require('discord.js');const { joinVoiceChannel, createAudioPlayer, createAudioResource, AudioPlayerStatus } = require('@discordjs/voice');const ytdl = require('ytdl-core'); //수정예정const { token, youtubeApiKey } = require..
drop 테이블 복구 drop table 테이블명 으로 삭제한 테이블을 복구하는 방법이다주의점으로는1. purge 를 사용하여 삭제한 테이블의 경우에는 복구되지 않는다.2. 복구한 테이블의 index명은 달라진다.  1. 휴지통에 있는 데이터 조회SELECT * FROM RECYCLEBIN- 삭제된 정보가 나오며 ORIGINAL_NAME과 OPERATION을 활용하여 복구가 가능하다. 2. 테이블 복구하기FLASHBACK TABLE 테이블명 TO BEFORE DROP 이름으로 복구할 때, 동일테이블명에 대해 여러오브젝트가 휴지통에 있는경우가장 최근 삭제된 순서로 Flashback(복구) 된다. 3. 특정 테이블 휴지통에서 제거-- 휴지통에서 삭제하려는 테이블의 ID (OBJECT_NAME)에 쌍따옴표로 감싸야 한다.PURGE..
[JS] 디스코드 노래 봇 4 이제 얼추 정리는 끝났다.유튜브search api도 가져왔고, 그걸 이용하여 노래 재생까지 완료된 상태다.여기에 명령어를 정리하여 코드를 정리해보자 현재까지 작성했던 내용을 바탕으로 조금 정리해본 코드이다.const { Client, GatewayIntentBits } = require('discord.js');const { joinVoiceChannel, createAudioPlayer, createAudioResource, AudioPlayerStatus } = require('@discordjs/voice');const ytdl = require('ytdl-core');const { token, youtubeApiKey } = require('./discordConfig.js');const sodi..
오라클 DB링크 오라클의 DB의 실제 운영서버에서 개발서버 쪽으로 데이터를 옮겨야하는 상황이 있었다.예전이였으면 데이터를 파일로뽑고, 그 데이터를 sqlldr로 넣는 방식으로 옮겼겠지만 이번엔 DB링크로 옮기게 되었다. 기존에 같은 서버에서 다른 스키마의 DB까지는 접근해서 사용했는데 다른 서버의 DB를 가져오는 링크는 처음 만들어봤다. (DBA한테 허락을 받았다) 자 만들어보자CREATE DATABASE LINK LIVE_MY_MAP -- 링크로 사용할 이름CONNECT TO MYMAP -- 링크할 서비스 DB 이름IDENTIFIED BY "TESTPWD123" -- 비밀번호 쌍따옴표 필수USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS =..
[JS] 디스코드 노래 봇 3 이런저런 일이 많아 잠시 내려놓았다가 시간이 생겨 또 추가해보았다.이번엔 직접 유튜브 링크를 작성하여 재생시키는게 아닌 특정단어로 해당 유튜브를 재생시키는 방법을 추가했다.고맙게도 node js 에 youtube-search 모듈이 있다.npm install youtube-search이후 https://console.developers.google.com Google 클라우드 플랫폼로그인 Google 클라우드 플랫폼으로 이동accounts.google.com에 접속하여 프로젝트를 만들고 key를 발급받자자세한건 아래 블로그 참고https://bonniness.tistory.com/entry/%EA%B5%AC%EA%B8%80-Youtube-API-%EC%82%AC%EC%9A%A9-%EC%82%AC%EC%9..
[JS] 디스코드 노래 봇 2 저번에 특정 노래만을 재생하도록 만들어놨으니 이번엔 URL을 받으면 그 노래를 반복재생하도록 추가해보았다.else if (command.indexOf('https://www.youtube.com') != -1) { const playUrl = command; voiceChannel = message.member.voice.channel; if (!voiceChannel) { return message.reply('채널에 먼저 들가라'); } const permissions = voiceChannel.permissionsFor(message.client.user); if (!permissions.has('CONNECT') || !perm..
[JS] 디스코드 노래 봇 디스코드에서 쓸만한 노래봇을 쓰려고 하는데 특정 기능을 사용하려 하니 유료결제가 필요하다길래 직접 만들어본다.일단 node js 사용하였다. npm init 로 세팅하며 시작 필요한 모듈은 아래와 같다npm install discord.js @discordjs/voice ytdl-core libsodium-wrappers discord.js 는 discord에서 제공하는 기능을 사용하기위해ytdl-core 는 youtube에서 url로 영상을 가져와 처리하기위해 사용한다 https://discord.com/developers/applications Discord Developer Portal — API Docs for Bots and DevelopersIntegrate your service with D..

반응형