728x90

Programming 49

Pytest

Python 에 있는 테스트 프레임워크 중 하나로 함수로 작성하면 되니까 생각보다 편리하다.unittest 는 Junit 을 참고한 테스트 프레임워크다보니, class 형태로 작성을 하며, 무려 python이지만 카멜케이스로 작성한다. 여어어어트으은.. 간략하게 pytest 맛보기 stable 사이트에 명시 된 require는 pytest requires: Python 3.8+ or PyPy3. 이렇다.https://docs.pytest.org/en/stable/index.html(얜 왜 미리보기 안됌...)테스트 환경에 python 프로젝트를 생성 후, 아래 pip를 통해 pytest를 설치한다.pip install -U pytest test_1.py 파일에 대충 공식 사이트에 있는 예제를 써보고 de..

Programming/Pytest 2024.07.12

exposeFunction

Page.exposeFunction() method | Puppeteer (pptr.dev) Page.exposeFunction() method | PuppeteerThe method adds a function called name on the page's window object. When called, the function executes puppeteerFunction in node.js and returns a Promise which resolves to the return value of puppeteerFunction.pptr.devPuppeteer에서 exposeFunction을 사용하면, 페이지의 window 객체에 함수를 추가하며, Node에서 함수를 실행하고, 반환된 값을 페이지에..

Chai - should, expect, assert

예제 함수로 공백을 제거하는 게 있다고 치자!function removeSpaces(str) { return str.replace(/\s+/g, '');} assert assert 는 Node.js의 기본 assert 모듈과 유사한 방법으로 작동으로 함수의 인자에 기대값과 실제값을 전달import * as chai from 'chai';import { removeSpaces } from '../index.js';const { assert } = chai;describe('removeSpaces with Assert', () => { it('가운데 공백 제거', () => { const input = 'Hello World'; const expectedOutput = 'He..

Jest, Mocha, Chai

JestFacebook에서 만든 Javascript Testing Framework주요 특징:올인원 테스트 솔루션: 테스트 러너, assertion 라이브러리, mock 기능 등을 포함.자동화된 모킹 및 타임 트래블 기능 지원.스냅샷 테스트 기능: 컴포넌트의 렌더링 출력을 스냅샷으로 저장하여 이후 변경 사항을 추적.빠른 테스트 실행: 내부적으로 여러 테스트를 병렬로 실행하여 속도가 빠름.설정이 거의 필요 없는 간편한 사용법.test('adds 1 + 2 to equal 3', () => { expect(1 + 2).toBe(3);});MochaNode.js와 브라우저에서 실행되는 기능이 풍부한 자바스크립트 테스트 프레임워크주요 특징:유연성과 확장성이 뛰어남: 다양한 assertion 라이브러리와 함께 ..

formatDataAsArray

Retool에서 SQL Query를 통해 데이터를 가져오면 보통 알고 있는 array에 object 형태가 아닌, data 에 각 key에 array가 있는(?)형태로 되어있고, 이걸 테이블로 컴포넌트에 매칭 시키면 바로 각 row에 맞게 데이터가 입혀진다.  뭐 이래저래 값이야 쓰면 되긴하는데, 뭔가 가공하거나 할때는 map을 쓰던 forEach를 쓰던 뭔가.. iterator 여야하는데,어떻게 해야하나 삽질하다 뒤적뒤적하다보니 formatDataAsArray 이런게 있더라. helper method로 되어있는데, formatDataAsArray에 data를 집어넣으면 일반적으로 내가 아는 [{...}, {....}] 형태가 되며 map을 사용할 수 있는 상태가 된다. const dataArr = fo..

Programming/Retool 2024.05.05

Crawling

현재 모종의 이유로 특정 사이트의 정보를 참고해야하는 사항이 생겼는데, 여러 tools을 알아보던중 이전에 써봤던 puppeteer가 만만해서 사용해봤다. cypress나 playwright, selenium 등 여러 툴들이 있긴한데 사실 cypress, playwright는 테스트용도로 쓰는 툴이지... 이런 용도로 보긴 좀 어렵고 물론 쓸 수는 있긴하지만.. selenium은 구관이 명관이지만 이것도 오래됐지 ㅋㅋ  결론은 puppeteer 로 ㅋㅋ 이전에도 잠깐 정리한적은 있지만, node library 로 npm으로 간략히 설치해서 사용할 수 있는 막강한 툴이다.  PuppeteerPuppeteer 란Puppetheer는 DevTools Protocol을 통해 Chrome/Chromium을 제어하..

retool

Retool | The fastest way to develop effective software. Retool | The fastest way to develop effective software.Retool is the fastest way to build effective business software. Use Retool's building blocks to develop apps and workflow automations that connect to your databases and APIs, instantly.retool.com low code 기반으로 dashboard 또는 admin 을 빠르게 만들 수 있는 tool이다. database 등 여러 서비스에 편하게 연동할 수 있게 도와주다..

Programming/Retool 2023.12.23

react tailwind select

https://flowbite.com/docs/forms/search-input/#search-bar-example Tailwind CSS Search Input - Flowbite Use the search input component as a text field to allow users to enter search queries and receive relevant page results available in multiple styles and sizes flowbite.com tailwind로 페이지 몇개 작업하다가, 위 Flowbite에 Search Input에 Dropbox가 괜찮아보여 커스텀좀 해봤다. 사실 되게 어렵게 접근을 하는거 같은데... 그냥 사실 hidden 되어있는 것만 sta..

Programming/React 2023.08.24

Puppeteer

Puppeteer 란Puppetheer는 DevTools Protocol을 통해 Chrome/Chromium을 제어하는 API를 제공하는 Node.js Library 설치npm i puppeteer or yarn add puppeteerPuppeteer-core도 있지만, puppeteer-core는 내부 Chrome을 사용해야 함으로, 따라서 설치된 외부 Chromium 브라우저와 연결하여 사용해야 한다.Exampleimport puppeteer from 'puppeteer';(async () => { // Launch the browser and open a new blank page const browser = await puppeteer.launch(); const page = await b..

YAML

YAML Ain't Markup Language 쉽게 분석할 수 있는 데이터 직렬화 양식으로 설정, 데이터 저장소 등 여러곳에 사용 된다고 하며, 나무위키 (꺼무위키..? 저는 좋아합니다.) 에서는 JSON 포맷의 불편함을 해소하기 위해 만들어졌다고 한다. key와 value로 구문되며, 들여쓰기로 구분된다. key: value 배열의 경우 하이픈(-)으로 표시 key: - value1 - value2 객체는 콜론(:)으로 표시 (중간 #의 경우 주석을 표현한다.) person: name: Bart # ㅋㅋㅋ height: 185 yaml lint로 문법 검사 https://www.yamllint.com/ YAMLlint - The YAML Validator www.yamllint.com 다음엔 설정들을..

Programming 2023.05.03
728x90