회의 끝에 간단한 배너와 이미지가 들어가는 형태로 이메일을 보내기로 했다. 찾아보니 이메일을 html로 마크업 해서 보내면 된다길래 그렇게 진행하기로 했다! 먼 옛날에는 table 태그로 마크업을 하곤 했단다... 처음엔 html 마크업이니 div 태그로 뚝딱뚝딱 만들면 될 것이라고 생각했다. 하지만 찾아보니 이메일 도메인마다 html과 css를 지원하는 형식이 달라 이메일을 보낼 땐 table 태그로 마크업을 해야 똑같은 메일을 보장할 수 있다는 사실을 알게 되었다. 소문의.. 테이블 코딩을 내가 하게 되는구나...🥺 정말로 div 태그로 했을 때는 원하는 모양이 나오지 않았다.. 서비스에 사용한 폰트도 적용해 메일을 보내고 싶었으나 gmail에서는 외부 글꼴을 지원하지 않아서 폰트 적용은 불가한 것으..
드디어 벌써 반년이 지나서 올해까치 프로젝트의 마지막인 이메일 보내기를 진행할 때가 되었다. 😀 이메일 자동화를 검색해 본 결과 파이썬에 이메일 라이브러리가 있어서인지 파이썬에 대한 결과가 가득했다. 내가 마침 파이썬을 할 줄 알아서 이메일 전송을 맡기로 했다. smtplib 모듈 파이썬으로 이메일을 전송할 때 smtplib 모듈과 email 모듈을 사용해 편하게 이메일을 전송할 수 있다. 파이썬 이메일 전송 코드 중에 제일 잘 설명된 코드를 토대로 필요한 부분만 수정했다. def send_email(받는 사람 이름, 메일 html 내용): import smtplib import re from email.mime.multipart import MIMEMultipart from email.mime.text..
React 프로젝트를 CRA로 구축하셨나요 ? 자바스크립트 프로젝트인가요 ? import 할 때마다 ../../ 에 지치셨나요 ? 그렇다면 이제 절대 경로를 사용해보세요!!! 가장 상위 경로에 jsconfig.json을 생성한다. 그럼 절대경로가 src로 설정되어 바로 접근 가능하다. // jsconfig.json { "compilerOptions": { "baseUrl": "src" }, "include": ["src"] } 혹시 eslint를 사용하시나요 ? 나는 eslint 때문에 적용이 안됐었다. eselintrc에도 코드를 추가해주니까 적용이 됐다. // .eslintrc // 아래 코드 추가 "settings": { "import/resolver": { "node": { "paths": ["s..
React로 진행한 프로젝트를 중간에 Typescript로 변경하기 1 지난번에 변경하는 방법을 공부를 했는데 직업 바꾸려니 추가로 해줘야 하는 부분이 더 있어서 추가로 기록해 둔다. 기존에 vite로 환경을 구축하고 React로 진행했던 프로젝트(VITE와 Firestore를 사용했다.)를 Typescript로 업그레이드했다. 다른 타입스크립트 프로젝트를 참고하며 해결했다. 타입스크립트를 설치하고 파일 확장자를 바꾸자마자 뜨는 지독한 빨간 줄 해결하기~ 😀🤜 가장 상위 파일에 HTMLElement 붙여주기 // main.jsx ReactDOM.createRoot(document.getElementById('root')).render( ); // main.tsx ReactDOM.createRoot(doc..
숫자에 콤마 찍기, 한국 날짜로 변경하기 num.toLocaleString() 숫자 세 자리 마다 콤마(,)를 찍는 방법을 정규 표현식으로만 사용했었는데 날짜에만 사용할 수 있는 줄 알았던 toLocaleString을 숫자에도 사용할 수 있다는 사실을 알게 되었다. 아주 간편하다! 하지만 정규식 좋아잉... // 정규식 const addComma = (money) => { if (money === '' || typeof money === 'undefined') return ''; return money?.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); }; // toLocaleString() const addComma = (money) => { if (money ..
레포를 포크하고 그 레포에서 작업하면 잔디가 심어지는 줄 알았는데 아니었다..! 🥺 다른 사람 레포에서 작업한 팀 프로젝트를 포크하고 리팩토링을 하면서 잔디를 심으려면 복사 방식으로 레포를 가져오면 된다! 0. 포크해온 레포의 코드들을 담을 내 새로운 레포를 생성한다. 1. 로컬에서 포크해오려는 원래 레포를 복사한다. git clone --bare 복사해오려는 레포 주소 2. 그럼 레포이름.git이라는 폴더가 생성되는데 그 폴더 안으로 들어간다. cd 레포 이름 폴더.git 3. 그리고 원래 레포의 내용을 새로운 레포로 푸시한다. git push --mirror 내 새로운 레포 주소 새 레포로 가서 확인하면 코드가 똑같이 복사된 것을 확인할 수 있다! 이제 여기서 작업하면 잔디를 심을 수 있다. 😀👏👏👏
type 설치 typeorm을 설치해주고 .env파일도 사용할 거라서 함께 설치해준다. npm install typeorm npm install dotenv .env 환경변수 .env 환경변수는 이런식으로 설정해주면 된다. DATABASE_URL = mysql://계정id:계정비밀번호@127.0.0.1:3306/데이터베이스이름 // dbmate 쓸 때 사용 TYPEORM_CONNECTION = mysql // 쓰려는 db이름 TYPEORM_HOST = 127.0.0.1 // db 위치, 로컬호스트 TYPEORM_PORT = 3306 // mysql 전용 포트 TYPEORM_USERNAME = root // 내 mysql 계정 TYPEORM_PASSWORD = myPass // 내 mysql 비밀번호 TY..
타입을 정해주지 않은 자바스크립트로만 이루어진 npm 패키지를 사용하려고 하면 타입스크립트가 에러를 띄운다. Cannot find module XXX or its corresponding type declarations. 그럴 때 에러를 해결하는 방법이 있다. DefinitelyTyped 여러 사람들이 기여한 npm 패키지들의 소스코드를 보고 타입을 선언해둔 레포이다. https://github.com/DefinitelyTyped/DefinitelyTyped GitHub - DefinitelyTyped/DefinitelyTyped: The repository for high quality TypeScript type definitions. The repository for high quality Type..
- Total
- Today
- Yesterday
- 파이썬
- map
- 코드잇
- 김버그
- 드림코딩
- TS
- React
- 제로초
- git
- 구름에듀
- Python
- 회고
- 저스트코드
- 스파르타코딩클럽
- 코딩앙마
- 깃
- Til
- html
- 타입스크립트
- 제이쿼리
- 비주얼스튜디오코드
- js
- scss
- vue
- 리액트
- CSS
- vscode
- 자바스크립트
- javascript
- Typescript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |