분류 전체보기 (129) 썸네일형 리스트형 nextjs 에서 antd 5.x 와 tailwind 적용 tailwind 적용은 https://tailwindcss.com/docs/guides/nextjs 참고 보통 antd 에 tailwind 를 추가로 쓰려고하는 사람은 아마? 대부분 간단한 스타일링을 할 때 (ex: padding, margin 등) inner style은 싫고, 그렇다고 css module 이나 css-in-js 를 사용해 파일을 추가로 생성하는게 부담스러울 때 쓰려고 한다고 생각한다. ※ tailwind 만으로 컴포넌트를 백프로 제작하길 원한다면 쿨하게 antd와 같은 UI 디자인은 버리기를 추천(UI Design 이중화 방지!)한다! tailwind 기본 설정이 끝났다면 tailwind.config.js 에 딱 두줄만 추가해주면 된다. /** @type {import('tailwin.. [Nodejs] phantomjs 사용하여 pdf 파일 추출하기 소스코드 const phantom = require('phantom'); const fs = require('fs'); const fileUtils = new FileUtils(); const uploadFolder = `${process.env.UPLOAD_FOLDER_SMTP_ATTACH}${orderInfo.orderNo}`; const flag = await fileUtils.mkdir(uploadFolder); const attachFile = orderInfo.orderNo + '.pdf'; const instance = await phantom.create(); const page = await instance.createPage(); const file = 'invoicePaid.html'.. [Nodejs] package-lock.json 의존 설치 npm ci 명령어 npm install을 할 때 lock 파일에 의존하여 설치하도록 해야 협업시 버전 관련 문제를 줄일 수 있다. package-lock.json 또는 yarn.lock 파일이 무조건 존재해야하며 pakage.json 과 lock 파일의 dependencies가 맞아야한다. lock파일에 의존하여 설치를 하고싶을 때 아래의 명령어를 실행한다. node_modules을 지우고 실행한다. npm npm ci yarn yarn install --immutable --immutable-cache --check-cache * install 오류 발생시 더보기 error https://registry.yarnpkg.com/xml-utils/-/xml-utils-1.0.2.tgz: Integrity check fail.. Docker 실시간 로그 확인하기 도커 컨테이너에서 발생하는 로그를 확인해야 할 때 docker logs --tail 20 -f [컨테이너명] next-auth 를 활용한 jwt 인증 및 refresh 토큰 순환 next-auth는 사실 공식홈페이지에서도 소개된 것처럼 서버리스를 지원하도록 처음부터 설계된 오픈소스 인증 솔루션이다. 하지만 실무에서 서버리스로 개발하는 경우는 드물다. 그럼에도 필자가 next-auth를 도입해보게 된 이유는 프론트엔드에서 페이지 라우트별로 접근을 보다 쉽게 제한할 수 있으며, 그래도 상당히 나쁘지않은 보안적인 측면을 기본적으로 보다 쉽게 제공해주는 느낌을 받았기 때문이다. 예를 들면, 서버를 통해 accessToken을 넘겨받은 뒤, 해당 accessToken이 만료가 된다면 서버에서는 api 호출이 되지 않을 것이다. 하지만 각 라우트는 별도의 작업이 없다면 해당 페이지에 접근할 수 있게된다. 물론 HOC(High Order Component)나 각 페이지를 래핑하는 Provid.. 타입스크립트에서 코드상수 객체를 통한 코드 타입 만들기! 필자는 서버API 를 통해 응답받는 데이터 중 code 데이터들에 대한 값 비교와 같은 일을 직관적으로 작성해서 추 후 유지보수 때 가독성을 높이기 위해 code 상수를 만들어서 관리하는 편이다. 예를 들면 서버에서 응답받는 상태값(stateCd) 이 001 이라는 값이라고 가정해보면 if (result.stateCd === '001') { alert('유형1'); } 와 비슷한 코드로 작성할 것이다. 하지만 추 후 다른 개발자가 유지보수를 하거나, 오랜 시간이 지난 후에 본인이 직접 봐도 001 이 어떤 값인지 헷깔리는 경우가 많기 때문에 상수로 만들어서 가독성을 높이는 경우가 많이 있을 것이다. 예를 들면, // 1. 객체 프로퍼티 const STATE_CD = { type001: '001', typ.. [Windows] 프로세스 강제 종료 하기 (taskkill) 1. 강제종료를 위한 port의 PID 조회 netstat -ao | findstr [port] 2. taskkill로 강제종료 taskkill /f /pid [pid] [삼전역] 사생활 ( 5번 방문 후 남기는 후기) 식당정보 영업시간 서울 송파구 백제고분로25길 33 2층 (삼전동) 주 소 월~금 : 11 : 00 ~ 22 : 00 / 15:00 ~ 16:00 (브레이크타임) 수 : 정기 휴무 토, 일 : 11 : 00 ~ 22 : 00 연 락 처 02-6954-7601 기 타 예약가능 메뉴 식사 첫번째 방문 스카치에그 카레 세트 12,000원 (아메리카노 포함) 시골오일파스타 14,000원 수비드 등심 크림 보리 리조또 15,900원 스카치에그 카레세트 시골오일파스타 아메리카노가 함께 나오는 세트로 구성이 좋음. 평범한 카레 맛. 사장님 추천 파스타.오일파스타는 먹고 싶은데 봉골레(조개)를 안좋아한다면 추천. 버섯과 마늘이 듬뿍 들어가서 한국인이 안좋아할 수 없는 맛 수비드 등심 크림 보리 리조또 (오픈 서비스로 .. [W] 서울웨딩타워 본식스냅 피플앤스튜디오(people.an.studio) 짝궁할인 웨딩홀 계약 후 가장먼저 알아볼 것이 본식스냅/DVD라고 한다... 준비 초기엔 모르기도 했고 스냅업체 정하는 기준 등 알아보다 결국 가장 마지막에 결정하게 되었다..다들 빨리 하세용(눈물) 샘플은 이쁜데 실제 촬영 사진은 어두운홀은 별로인 곳이 많았음. 유명업체는 이미 예약 마감이거나 비용이 사악함 서웨타 및 어두운홀 촬영 경험이 적은곳을 도전하느니 공장형으로 찍어내는 곳이 낫지 않을까 하는 생각.. 웨딩홀 계약 당시 제휴업체 ' Room335 '를 추천받았는데 여기서 할까 고민을 정말정말정말x10 많이함. (알아본 업체들과 비용차이가 크지 않고 조건이 나쁘지 않았음. 하지만 작가님들 실력편차가 꽤 컸고 누가 배정될지 알 수 없었기 때문에 이 또한 도전이라고 생각이 들었.. [Postgresql] 세로 테이블을 가로 테이블로 pivot하기 (crosstab) 1. extension 설치 CREATE EXTENSION tablefunc; 2. crosstab 사용 - ID (=여기선 title) 기준 연도별 총액 산출 - 세로 테이블을 가로 테이블로 Pivot - 동적 컬럼을 위해 권장되지 않지만 values 및 as 값들을 셋팅해서 쿼리 생성 - 합계를 하단 마지막으로 보내기 위해 order by 설정. - crosstab select 문은 3개의 컬럼을 반환함.(컬럼1: ID, 컬럼2: 테이블 범주(카테고리), 컬럼3: 각 셀에 할당 될 값 ) - as 를 통해 컬럼명 재지정을 할 때 데이터 타입 유의 SELECT * FROM crosstab( 'select title, plan_year, total_cost from ( select unnest(array.. 이전 1 2 3 4 5 ··· 13 다음