반응형

개발 창고 420

[Ubuntu] 계정 추가

# 계정생성 $> sudo adduser tester # 계정확인 $> sudo cat /etc/passwd | grep tester # 관리자 권한 부여 $> sudo usermod -a -G sudo tester # 계정삭제 $> sudo deluser tester 1/ 계정 추가 $> sudo adduser 계정명 아래와 같이 순서대로 입력해 주면 계정이 생성됩니다. 2/ 계정 확인 $> sudo cat /etc/passwd | grep 계정명 /etc/passwd 파일에 저장된 계정으로 계정 정보 확인이 가능합니다. 해당 계정의 기본 폴더는 /home/tester이고, bash 쉘을 사용하는 것을 확인할 수 있습니다. 3/ 관리자 권한 (sudo) 부여 $> sudo usermod -a -G su..

[Ubuntu] 현재 사용 중인 Shell 확인

$> echo $SHELL $> grep root /etc/passwd 현재 사용 중인 Shell 확인 $SEHLL은 환경변수이므로, export에서도 확인 가능합니다. $> export | grep SHELL 사용가능한 쉘 목록 $> cat /etc/shells 사용 쉘 변경 $> sudo chsh -s /bin/dash root 단, 현재는 환경변수만 변경되었기 때문에 현재 접속 상태에 적용되지 않으며 재 접속해 주어야 변경됩니다. 위처럼 접속 시에 기존에 계정 정보와 함께 $가 뜨던 bash에서 $만 뜨는 dash shell로 변경된 것을 확인 가능합니다.

[Ubuntu] LVM 용량 확장

1/ 디스크 구조 확인 $> sudo lsblk 파티션 3에 총 276.3G가 할당되어 있고, 그중에서 100G를 lvm으로 사용하고 있음이 확인되었습니다. 이 할당량을 증가하기 위해서는 아래 명령어를 수행해줍니다. 2/ 디스크 용량 확장 $> sudo lvextend -L+{확장용량} {LVM경로} ex) $> sudo lvextend -L+100G /dev/mapper/ubuntu-vg-ubuntu--lv 3/ 용량 확장 확인 하기와 같이 디스크 구조상으로는 용량이 확장되었지만, 폴더별 사용 용량에서는 아직 100G로 할당되어 있음을 확인할 수 있습니다. 4/ 폴더에 확장용량 적용 (Resize) $> sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

[Ubuntu] 부팅 USB 만들기

1/ Ubuntu 이미지 다운로드 http://mirror.kakao.com/ubuntu-releases/ Ubuntu Releases There are 2 types of Ubuntu releases: Interim and LTS. Each Ubuntu LTS is maintained for 10 years total: 5 years of standard support + 5 years of ESM. Interim releases are maintained for 9 months. For the Ubuntu release cycle please see: The Ubuntu lifecyc mirror.kakao.com 2/ Rufus 이미지 다운로드 3/ Rufus를 이용하여 부팅 USB 제작 4/ 완료

[Nexacro] DataSet to Class

import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.nexacro.java.xapi.data.DataSet; public class DataSetToObject { private static final Logger logger = LoggerFactory.getLogger(DataSetToObject.class); /** * DataSet를 Class 데이터 목록으로 변환 * @param dsList 변환할 넥사크로 데이터 셋 ..

개발 창고/Java 2023.01.27

[Puppeteer] iframe 클릭하기

const frameHandle = await page.$("iframe"); const frame = await frameHandle.contentFrame(); const input = await frame.$eval("input[name=input2]", ele => ele.value); 데이터를 자동으로 수집하거나 입력 또는 클릭 등의 수행을 하기 위해서 주로 puppeteer를 사용합니다. 기존 글에서 puppeteer에 대해서 다룬 글들이 있으니 참고하셔도 좋습니다. 2022.10.03 - [개발 창고/NodeJS] - [Puppeteer] Element Exists [Puppeteer] Element Exists // 아이템 체크 let exists = false; try { // 현재 se..

[알고리즘] 이진트리 (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...

반응형