반응형

전체 글 946

[알고리즘] 이진트리 (B-Tree)

function findNumber(list, value){ var searchCnt = 0; var bTree = function(list, value){ // Step. 탐색 횟수 체크 console.log("탐색 중"); // Step. 목록 이 0개 또는 지정되지 않은 경우 -1 리턴 if(list == null || list.length == 0) return -1; // Step. 중간값 조회 var nIdx = Math.floor(list.length / 2); // 현재 검색할 Index var nValue = list[nIdx]; // 현재 값 // console.log(nIdx); // console.log(nValue); // console.log(list); if(nValue == ..

[VanillaJS] 변수 JSON 변환 가능 여부 체크

/** * 파라미터가 Json으로 된 string인지 여부 * @param value 검사할 string값 */ function isJsonString(value){ try{ // Cond. value의 데이터 타입이 string인 경우 if(typeof value == "string"){ // Cond. Json으로 Parsing이 정상적으로 된 경우 if(typeof JSON.parse(value) == "object"){ return true; // Cond. Json으로 Parsing이 정상적으로 되지 않은 경우 }else{ return false; } // Cond. value의 유형이 string이 아닌 경우 // :: Json형태의 string이 아니므로 }else{ return false;..

[MSSQL] Multi rows into one column

WITH TEMP AS ( SELECT '과일' AS CLASS , '사과' AS NAME UNION ALL SELECT '과일' AS CLASS , '배' AS NAME UNION ALL SELECT '과일' AS CLASS , '포도' AS NAME UNION ALL SELECT '과일' AS CLASS , '귤' AS NAME UNION ALL SELECT '과자' AS CLASS , '홈런볼' AS NAME UNION ALL SELECT '과자' AS CLASS , '치토스' AS NAME UNION ALL SELECT '과자' AS CLASS , '양파링' AS NAME UNION ALL SELECT '과자' AS CLASS , '꼬북칩' AS NAME UNION ALL SELECT '음료' A..

[ExcelJS] 내용 덮어 씌우기

const path = require("path"); // 디렉토리 경로 const exceljs = require("exceljs"); // 엑셀 관련 API (async() => { try{ const filename = "excelappend.xlsx"; // 파일명 const template = path.join(__dirname, filename); // 템플릿 파일 위치 const workbook = new exceljs.Workbook(); // Step. Excel Template 파일 Read workbook.xlsx.readFile(template) .then(() => { // Step. 해당 템플릿 엑셀에서 Sheet1번 Sheet를 불러옴 const sheet = workbook...

[Javascript] split - 정수 배열 만들기

var list = "1,2,3,4,5,6,7,8".split(",").map(function(num){ return parseInt(num); }); 일반적으로 문자열값을 배열로 만들 때 사용하는 함수는 split입니다. 하지만 이때 split는 문자열 기준이기 때문에, 결과가 문자열 기준으로 반환됩니다. 하지만 이 결과는 개발자가 원하지 않는 결과를 가져오기도 합니다. 만약, 해당 split된 배열중에서 4가 몇 번째 순번에 있는지 indexOf 함수를 사용하여 확인하려고 한다면, 결과가 위와 같이 -1이 반환됩니다. 이유는 list에 있는 4는 문자열이고, 비교 대상인 x값 4는 정수이기 때문입니다. 아무리 변수 속성을 보지 않는다는 javascript이지만, 이렇게 문자열이냐 정수냐를 비교하고는 ..

[Javascript] selector - like 검색

// 단건 조회 document.querySelector("input[name=param_1]"); // StartsWith: param으로 시작하는 input document.querySelectorAll("input[name^=param]") // Contains: aram을 포함하는 input document.querySelectorAll("input[name*=aram]") // EndsWith: Param으로 끝나는 input document.querySelectorAll("input[name$=Param]") // 번외1. param 또는 Param을 포함하는 input document.querySelectorAll("input[name*=param],input[name*=Param]") //..

개발 창고/Web 2023.01.10

[ORACLE] ORA-12505

※ 전문가로서 접근보다는 경험 기준으로 작성된 내용입니다. 이 버전에서는 TOC를 지원하지 않습니다. (ex. 모바일) 에러발생 원인 지정 TNS 리스너가 올바르지 않은 경우 발생 지금까지 발생한 이유 Oracle TNS 서비스가 꺼진 경우 TNS Listener명이 변경되어 지정된 TNS Listener가 더 이상 접근되지 않는 경우 그 외에 내용이더라도 아래의 방법을 체크해보아야 합니다. 점검/해결 방법 #1 점검) Oracle Service 상태가 "실행 중" 인지 체크 해결) 서비스 "시작" 또는 "다시 시작" 점검/해결 방법 #2 점검) Oracle Listener Service 실행 확인 cmd - lsnrctl service 설정된 서비스 인스턴스가 실행되지 않은 경우 해결) Listener..

[PowerShell] Linux처럼 tail 사용하기

Get-Content 파일경로 -Wait 1/ PowerShell을 실행합니다. 2. Get-Content 실행 만약 아래와 같이 tailtest.log라는 파일이 아래 폴더에 존재한다고 가정하면 Get-Gontent {로그파일위치} -Wait 현재는 내용이 없어서 아무것도 뜨지 않고 기다립니다. 만약 해당 메모장에 "Hello World"라고 입력하고 저장하면 PowerShell에 아래와 같이 출력됨을 확인할 수 있습니다.

AI/Infrastructure 2023.01.05

[Linux] 커널 업데이트

최근 커널의 취약점이 발생하며 업데이트를 해야 하는 경우가 발생하였습니다. 그럼 최근 설치한 Ubuntu 20.4에는 어떤 버전이 설치되어 있을까요? 버전확인 # 커널 버전 체크 $> uname -r 5.15.0-56-generic이 설치되어있었습니다. 버전 목록은 일반적으로 아래 사이트에서 확인 가능합니다. 2023년 1월 5일 기준 최신 버전은 6.1.3 버전이고, mainline이 최신 버전, stable 버그패치가 완료된 안전버전(해당 버전 기준)이라고 보면 됩니다. https://www.kernel.org/ The Linux Kernel Archives www.kernel.org 버전 업그레이드 1/ 최신버전 추가 설치 $> sudo add-apt-repository ppa:cappelikan/..

AI/Infrastructure 2023.01.05

[Mail] nodemailer - 메일 발송하기

// npm install nodemailer const nodemailer = require("nodemailer"); (async() => { const host = "smtp.naver.com"; const sender = {이메일주소}; const senderPwd = {이메일비밀번호}; const emailTo = [{받는 사람 이메일 #1}, {받는 사람 이메일 #2}, ...]; const subject = {메일 제목}; const contents = {메일 내용}; // Step. 메일 전송 옵션 설정 let transporter = nodemailer.createTransport({ host : host , port : 587 , secure : false , auth : { user:..

반응형