코딩
-
[mac] mysql 이모지 저장하기코딩/알고리즘 2021. 9. 6. 19:59
왠 오류? 이모지를 저장하려는데 오류를 뿜는경우가 생겼습니다. 알고보니 이모지를 저장하는데 문제가 생긴거였더라구요 . 왜 오류가 발생하는걸까요? 이유는 database의 charset이 utf8이여서 발생한 문제였습니다. utf8과 utf8mb4의 차이점? 이모지와 같은 글자들은 글자당 최대 4bytes가 필요합니다 하지만 utf8은 글자당 최대 3bytes까지 지원하는 가변 자료형 입니다 따라서 가변 4bytes의 문자열을 저장할 수 있는 utf8mb4를 사용하면 이모지를 저장할 수 있습니다. 해결방법 간단합니다. 그냥 데이터베이스의 charset을 utf8mb4로 변경하면 됩니다. 일단 my.cnf를 찾아봅시다. 보통 etc/local에 있다는데 저같은 경우는 조금 먼 경로에 있었습니다. 이런 명령어..
-
[ 리액트 ] react portal을 사용하여 react-beautiful-dnd 이슈 해결하기코딩/REACT 2020. 12. 3. 23:51
리액트엔 뭐 여러기능들이 있는데 요즘 사용된 기술만 사용했지 다른 것들은 배제하고 사용하고 있었습니다. 그런데 최근에 beautiful-dnd라는 모듈을 사용하다가 이상한 이슈에 빠져서 해매던중에 portal 을 사용하라는 이야기가 있었습니다. 포탈 많이 들어봤는데 제가 사용할 일은 없겠다 싶기도 하고, 굳이 알고 싶지도 않았었는데 당장 고치고싶은 마음이 굴뚝같아서 바로 뒤적여보게 되었습니다 ㅋㅋㅋ..(역시 사람이란...) 포탈이란 리액트 앱은 부모 컴포넌트에서 자식컴포넌트로 렌더링하게 되어있는 구조인데 자식컴포넌트렌더링을 부모컴포넌트가 아닌 다른곳에서 렌더링할수있게끔 하게 해주는 기능입니다 여러예제를 보니까 Modal 컴포넌트를 만들때 주로 사용하는거 같았습니다. 여튼 왜 react-beautiful-..
-
[ 파이썬] requests 모듈을 이용해 네이버 뉴스토픽 크롤링!코딩/PYTHON 2020. 12. 1. 14:26
네이버 뉴스토픽을 크롤링 해보곘습니다. 네이버뉴스 토픽은 보통 네이버에서 검색했을때 좌측하단에 실검 밑에 뜨고 있습니다 이런식으로 보이는 UI인데요 패킷캡쳐툴로 떠본후에 호출해서 가져올려했으나, 네이버측에서 잘 막아놓은것 같아 일반 검색 후 beautifulsoup로 긁어서 사용해보겠습니다. 일단 파이썬 requests 모듈이 필요합니다 pip install requests 백문의 불여일견 전체 코드 들어갑니다. import requests import json from bs4 import BeautifulSoup def getTopic(): params = { 'where': 'nexearch', 'sm': 'tab_htk.nws', 'ie': 'utf8', 'query': 'today' } url =..
-
MAC 에서 ssh 접속 하기코딩 2020. 12. 1. 11:26
개발자로써 그냥 좋은 무기는 가지고 있어야하는게 아닌가 싶어서 맥북 pro를 구매해서 사용중입니다. 기존 윈도우 환경에서 putty를 사용하고 있었는데 맥에서는 어떻게 연결하나 싶어서 찾아봤더니 termius라는 앱을 사용해서 여는 방법도 있다고 하던데, 그래도 대부분의 사람들은 맥 터미널에서 ssh연결을 하고 있더라구요 맥 터미널에서 ssh 연결하는 방법이 궁금해서 찾아봤습니다. $ ssh 아이디@ip주소 이 명령어를 사용하면 됩니다 ^^; 간단하죠 이후에는 비밀번호가 있다면 비밀번호를 입력해서 접속해주면 접속 완료가 됩니다. 접속할 때마다 ip주소를 너무 적기가 귀찮다고 생각이 들어서 찾아보니 ~/.ssh/ 디렉토리에 config파일을 생성해주고 Host (주소명쳥) Hostname (ip주소) Po..
-
리액트로 간단한 시계 만들기코딩/REACT 2020. 11. 30. 22:48
리액트로 간단한 시계를 만들어보겠습니다. import React, { useState, useEffect } from 'react'; import moment from 'moment'; function ClockContainer() { let timer: any = null; const [time, setTime] = useState(moment()); useEffect(() => { timer = setInterval(() => { setTime(moment()); }, 1000); return () => { clearInterval(timer); }; }, []); return ( {time.format('YYYY-MM-DD')} {time.format('HH-mm-ss')} ); } export d..
-
Node.js에서 python 실행하기코딩/PYTHON 2020. 11. 27. 15:56
window 환경에서 python shell을 꾸준히 사용했으나, 해당 부분이 원인 모를 오류가 나서 다른 방법을 찾게 되었습니다 node.js에서 child.process로 다른 프로세스를 실행할수 있습니다. child_process.spawn(command[, args][, options]) ps. python3라고 적어논 이유는 내 mac 환경에서는 python 버전 3 버전을 실행 시키려면 python3라는 명령어를 터미널에서 입력해서 사용하기 때문. String.prototype.replaceAll = function (org, dest) { return this.split(org).join(dest); }; const FILE_ROOT_DIR = process.cwd(); router.post..