![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bpCzZa/btst6iw96M6/2DFgDYIkFnj9W4myP6KICk/img.png)
회의 끝에 간단한 배너와 이미지가 들어가는 형태로 이메일을 보내기로 했다. 찾아보니 이메일을 html로 마크업 해서 보내면 된다길래 그렇게 진행하기로 했다! 먼 옛날에는 table 태그로 마크업을 하곤 했단다... 처음엔 html 마크업이니 div 태그로 뚝딱뚝딱 만들면 될 것이라고 생각했다. 하지만 찾아보니 이메일 도메인마다 html과 css를 지원하는 형식이 달라 이메일을 보낼 땐 table 태그로 마크업을 해야 똑같은 메일을 보장할 수 있다는 사실을 알게 되었다. 소문의.. 테이블 코딩을 내가 하게 되는구나...🥺 정말로 div 태그로 했을 때는 원하는 모양이 나오지 않았다.. 서비스에 사용한 폰트도 적용해 메일을 보내고 싶었으나 gmail에서는 외부 글꼴을 지원하지 않아서 폰트 적용은 불가한 것으..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/8b4Ov/btslb6S7gut/VhP18QPbV4IYkTuhM2668k/img.png)
드디어 벌써 반년이 지나서 올해까치 프로젝트의 마지막인 이메일 보내기를 진행할 때가 되었다. 😀 이메일 자동화를 검색해 본 결과 파이썬에 이메일 라이브러리가 있어서인지 파이썬에 대한 결과가 가득했다. 내가 마침 파이썬을 할 줄 알아서 이메일 전송을 맡기로 했다. 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
- vscode
- 코딩앙마
- vue
- TS
- CSS
- git
- 드림코딩
- 회고
- map
- 스파르타코딩클럽
- Til
- 비주얼스튜디오코드
- 타입스크립트
- scss
- 김버그
- Typescript
- React
- 제이쿼리
- 제로초
- 리액트
- 자바스크립트
- javascript
- 저스트코드
- html
- 코드잇
- Python
- js
- 구름에듀
- 파이썬
- 깃
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |