반응형

전체 글 41

[JavaScript/C#] DateTime, Date 정리

날짜 객체 DateTime => C# , Date => javascript Ⅰ 자주쓰는 DateTime Format DateTime.Now.ToString('yyyy')// 2021DateTime.Now.ToString('MM')// 07DateTime.Now.ToString('dd')// 08 DateTime.Now.ToString('ddd')// 목 DateTime.Now.ToString('dddd')// 목요일 DateTime.Now.ToString('tt')// 오후 DateTime.Now.ToString('Y')// 2021년 7월DateTime.Now.ToString('M')// 7월 8일 DateTime.Now.ToString('D')// 2021년 7월 8일 목요일DateTime.Now.T..

[Puppeteer#] 팝업창을 닫아보자

솔루션 기능만으로 몇개나 뜰지도 모를 팝업창을 찾아서 닫기 비효율적이다.Puppeteer#을 활용해서 팝업창을 닫는 간단한 샘플을 만들면 다음과 같다. // 열어둔 브라우저 객체는 chromePid로 전제함. 1. 페이지 비교const pages= chromePid.Page.Browser.PagesAsync().GetAwaiter().GetResult(); for(let i=0; i url=page.Ur //해당 페이지의 url을 확인보통 팝업창 url에는 popup과 같은 단어가 들어가는 경우가 많으므로 사이트에 따라 chromePid의 페이지와 일치여부 확인 대신 url.includes("popup") 과 같이 변형 가능하다. 2. 모달창과 같은 경우모달창처럼 팝업창이지만 페이지나 url은 동일한 경..

[Puppeteer#] Puppeteer# 이 뭐야?

1. Puppeteer구글에서 개발한 Node.js 라이브러리로, Chrome 또는 Chromium 브라우저를 프로그래밍 방식으로 제어 가능하게 해준다. 사람이 브라우저에서 하는 행동(클릭, 타이핑, 페이지 이동 등)을 코드로 자동화하는 도구[예시] 웹 스크래핑 및 크롤링: SPA(Single Page Application)나 자바스크립트로 렌더링되는 복잡한 웹사이트의 데이터를 수집자동화 테스트: UI 테스트, 폼 입력 자동화, 클릭 이벤트 테스트 등을 수행PDF 및 스크린샷 생성: 웹 페이지를 그대로 PDF로 저장하거나 이미지 스크린샷성능 분석: 타임라인 트레이스를 생성하여 웹사이트의 로딩 성능을 진단2. Puppeteer의 구조Puppeteer: 개발자가 사용하는 고수준 API.Browser: Pup..

[JavaScript] 배열의 비교 (값 비교 vs 참조 비교)

⭐ 배열은 객체이고, 객체는 “값”이 아니라 “주소(참조)”로 비교 1. 원시값 (문자열/숫자) => 값으로 비교const arr = ["a", "a", "b"];const res = [...new Set(arr)];console.log(res); // ["a", "b"]["a"]──┐ ["a"]──┤ => Set => ["a", "b"] ["b"]──┘ 2. 배열(객체) – 참조로 비교const arr = [ ["a","b","c"], ["a","b","c"]];const res = [...new Set(arr)];console.log(res); // [["a","b","c"], ["a","b","c"]] ← 중복 제거 안 됨["a","b","c"] (객체 A) ["a","b","c"] (객체 ..

[JavaScript] 특정 인덱스 값들이 모두 동일할 때만 중복 제거 하기

Q. 2차원 배열의 각 행(row)에서 특정 컬럼(인덱스) 값이 모두 동일한 경우를 중복으로 간주하고 제거하는 방법//sample Data - index [0]~[2] 값이 모두 동일할 경우 중복으로 간주const arr = [ ["a","b","c","x"], ["a","b","c","y"], ["d","e","f","z"], ["a","b","c","w"]]; 1. Map을 활용한 방법const res = [ ...new Map( arr.map(row => [row.slice(0,3).join("|"), row])).values() // 앞 3개 요소를 키로 사용];console.log(res);/*[ ["a","b","c","w"], // "a|b|c" 키를 가진 마지막 행이 남음..

[JavaScript] 객체 생성하기

⭐ 객체 초기자나 생성자 함수 정의(+new 연산자)와 함께 호출하여 객체 인스터스를 생성할 수 있다. 1. 객체 초기자"리터럴 표기에 의한 객체 생성" 이라고도 한다.//새로운 객체 objconst obj = { property_1: value_1, // 속성의 값은 식별자일 수도 있고 2: value_2, // 숫자일 수도 있고 // ..., "property n": value_n, // 문자열일 수도 있음};//cond가 참일 때만 객체를 생성해서 변수 x에 할당let x;if (cond) { x = { greeting: "안녕하세요" };}// myHonda를 세 개의 속성과 함께 생성. engine 속성 역시 자신만의 속성을 가진 객체임const myHonda = { color: "r..

[JavaScript] Array.Object()

1. Object 생성하기방법1 ) new Object()const myCar = new Object();myCar.make = "Ford";myCar.model = "Mustang";myCar.year = 1969; 방법2 ) 중괄호({}) 안에 쉼표로 구분한 속성 이름과 값의 목록으로 나타내는 객체 초기자const myCar = { make: "Ford", model: "Mustang", year: 1969,}; 방법3 ) 각 변수를 쉼표로 구분해서 한 번에 생성하고 할당const myObj = new Object(), str = "myString", rand = Math.random(), obj = new Object();2. Object 속성 특징객체 속성 이름은 유효한 JavaScri..

[JavaScript] Array.from()

1. Array.from()▶ 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable)를 배열로 변환하는 메서드.Array.from()은 실제로 배열의 값이 없는 "가짜 배열"을 만들고, 그 배열의 각 인덱스를 map()처럼 변환할 수 있게 해준다.첫 번째 인자: 배열의 길이를 설정, 반복 가능한 객체두 번째 인자: 정의된 함수를 통해 각 요소를 변환 Array.from({ length: n }, (value, index) => { /* 변환 함수 */ });❗ { length: n } : 길이가 n인 배열을 생성하겠다  예시: let halfLength = 3;let newArray = Array.from({ length: halfLength }, (_, idx) => i..

[JavaScript] 정규식 그룹화, 괄호안의 값 가져오기, 패턴 변수에 저장해 쓰기

1. 그룹화해서 사용temp='20240301_1557'temp.replace('_',' ').replace(/(.{4})(.{2})(.{2})(.{3})/,'$1-$2-$3$4:')=> 2024-03-01 15:57 2. 문자열에서 괄호 안의 내용을 추출 \(([^)]+)\)- **`\(`**: 여는 괄호 `(`를 찾습니다. 괄호는 정규 표현식에서 특별한 의미를 가지므로, 이스케이프 문자 `\`를 사용하여 문자 그대로의 괄호를 찾습니다.- **`([^)]+)`**: 여는 괄호와 닫는 괄호 사이의 내용을 캡처하는 부분입니다.  - **`[^)]+`**: 닫는 괄호 `)`가 아닌 문자들로 이루어진 하나 이상의 문자(`+`)를 찾습니다.  - **`([^)]+)`**: 괄호 안의 내용을 캡처 그룹으로 지정합..

반응형