본문 바로가기

분류 전체보기119

Daum 스마트워크를 대체할 도메인메일 포워딩 서비스 ImprovMX 사용기 G Suite 무료 계정 종료 이슈가 있을때, 끌량 유저분이 대안으로 올리신 도메인 메일 포워딩 서비스인 ImprovMX 서비스가 생각이 나서, 다음 스마트워크에 등록한 도메인 메일들을 모두 옮겨봤습니다. (다음 계정 카카오계정으로 통합 하면서 스마트워크가 완전 꼬여버린 이유도 있습니다) (추가: G Suite 무료계정은 개인 용도로 사용한다는 것을 구글에 제출하면 구글 워크스페이스로 무료로 사용이 가능합니다. 저 역시 G Suite 계정하나 무료로 전환해서 사용하고 있습니다. 이 글은 G Suite와 상관없이 다음 스마트워크에 관한 글입니다.) (추가) Gmail을 발송용으로 사용할건데 24시간에 500건 보낼수 있습니다. 정확한 내용은 구글정책을 참고하세요. (주의) 다음 스마트워크나 다른 곳에서 메.. 2023. 11. 16.
DevUtils app 유니코드 to UTF-8 수정버전 DevUtils의 무료버전의 단점. json formatter의 unicode가 한글로 변환이 안된다. 그래서 수정해봤다. 잘 됨. 2023. 10. 4.
서브폰의 푸시를 메인폰으로 전달해주는 노티나 Notina 목차 노티나 소개 https://blog.naver.com/notina_official/223179703297 안드로이드 설치하기 https://blog.naver.com/notina_official/223194065700 아이폰 설치하기 https://blog.naver.com/notina_official/223194168281 웹에서 보기 https://blog.naver.com/notina_official/223194180758 자주하는 질문 https://blog.naver.com/notina_official/223179777777 ​ 노티나(Notina)는, ​ 안드로이드폰의 Push 알림을 아이폰, 다른 안드로이드폰, PC로 전달해 주는 서비스입니다. ​ ​ 주요 기능 안드로이드폰의 푸시 알림.. 2023. 8. 28.
[swift ios]단 3줄로 테이블뷰에 Pull to Refresh 당겨서 새로고침 구현 1. viewDidLoad() 안에 아래 두줄 넣고 tableView.refreshControl = UIRefreshControl() tableView.refreshControl?.addTarget(self, action: #selector(pullToRefresh(_:)), for: .valueChanged) 2. viewDidLoad() 함수 뒤에 아래 함수 넣고 @objc func pullToRefresh(_ sender: Any) { getDataList() } 3. 보통은 테이블 릴로드가 끝난 곳에 아래 넣으면 됨 self.refreshControl?.endRefreshing() 2023. 7. 15.
온라인 무료 MySQL DB – PlanetScale 학습을 위한 온라인 무료 DB – PlanetScale 간단한 테스트를 위해 DB가 필요할 경우, 보통은 그냥 여러분의 컴퓨터에 설치하면 되지만, 설치에 대한 지식이 부족하거나, 외부에서 접속이 가능한 온라인 DB가 필요할 경우, 무료로 MySQL DB를 얻을 수 있는 방법을 설명합니다. 이 글은 저의 다른 강의(공공데이터 크롤링하기)를 위해, 임시로 DB가 필요한 경우를 위해 만들었습니다. MySQL 접속 프로그램 설치 먼저 PlanetScale은 기본적으로 SSL 접속을 해야합니다. 그래서 DB에 접속하기 위한 프로그램을 먼저 설치하겠습니다. Sequel Ace 설치 다른 프로그램도 가능하지만, Sequel Pro는 안됩니다. (안되는 것은 아니겠지만, 방법을 못 찾았습니다) SSL접속을 편리하게 지.. 2023. 7. 4.
실거래가 공공api를 크롤링하여 웹사이트 만들기 어떤 데이터를 크롤링(스크래핑)하여 나만의 웹사이트를 만드는 것은 꽤 필요성이 있는 주제인 것 같습니다. 예를 들면, 아파트 실거래가 처럼 오픈된 공공 api를 python으로 크롤링하여 DB에 넣기만 하면 모바일에서도 잘 보이는 웹사이트가 자동으로 만들어지고 Crontab으로 스케줄링하여 주기적으로 데이터를 가져와야하고 모바일에서도 잘 보이니, 앱 패키징을 하면 앱으로 출시할 수도 있고 이용자들이 앱에 받기 원하는 아파트의 실거래가 정보를 설정해 놓으면, 각 이용자들에게 맞춤형 푸시 알림을 보내준다. 정도의 서비스? 실제로 이정도 기능만 만들어도 취미로 꽤 훌륭한 서비스가 나올 수 있습니다. 개인적으로, 이를 빠르게 구현해서 현재, 몇가지 서비스를 만들어서 운영중에 있습니다. 빠르게 구축하기 위해서 웹.. 2023. 7. 4.
macOS Ventura 13.4.1 업데이트 이후 hosts 파일 잠김 수정 불가 저의 경우는 심볼릭링크관련 schg 설정이 된게 문제였습니다. 아래 명령어로 해결이 됩니다. sudo chflags -hv noschg /etc/hosts 2023년 6월 28일 기준, 릴리즈된지 6일 정도된 Ventura 13.4.1 (22F82) 에서 /etc/hosts 파일이 sudo로도 수정이 안되고 있습니다. 맥북 OS 업데이트 아직 하지 마세요. 2023. 6. 28.
iOS Archive 오류 Command PhaseScriptExecution failed with a nonzero exit code xcode 14.3 업그레이드 후, 아카이브 오류 Command PhaseScriptExecution failed with a nonzero exit code rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/97f6331a-ba75-11ed-a4bc-863efbbaf80d/Library/Caches/co m.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9] 1. Command + Shift + F 를 눌러 전체 파일찾기 2. readlink 로 찾기 3. -f 옵션 추가 2023. 5. 17.
[python] mysql db 연결 row 컬럼명으로 파이썬으로 select 할경우 row[0] 말고 row['컬럼명'] 으로 가져오기 result = [dict((mycursor.description[i][0], value) for i, value in enumerate(row)) for row in mycursor.fetchall()] 예제 # requirements # pip3 install mysql-connector-python import sys import mysql.connector # ===================== def main(argv): mydb = mysql.connector.connect( host="localhost", port=3306, user="root", password="root", database="데이터베이스.. 2023. 3. 6.
shell script로 mysql db 주기적으로 백업 로컬에 설치한 mysql db 백업 쉘 스크립트 작성 #!/bin/bash # 이 파일명: db_backup.sh # 백업할 디렉토리 2개 생성 # 1. mkdir /home/ubuntu/backup # 2. mkdir /home/ubuntu/backup/db cd /home/ubuntu/db_backup DATE_YYYYMMDDHHMMSS=`date '+%Y%m%d%H%M%S'` dailysql=$DATE_YYYYMMDDHHMMSS'_daily.sql' password='[mysql root 비번]' echo "mysql dailysql dump start.." # 특정 데이터베이스 백업 mysqldump -uroot -p$password --single-transaction db이름 > ./db/$d.. 2023. 3. 5.
Shell 에서 텔레그램 채널로 메시지 전송 텔레그램 봇 생성 봇 토큰 알아 내기 텔레그램 채널 생성 채널에 위에서 생성한 봇 추가 채널 ID 알아 내기 sh 파일 생성 봇 -> 채널에 메시지 전송 1. 텔레그램 봇은 @BotFather 에게 생성 후 토큰 저장 2. 채널 생성후 위에서 생성한 봇을 관리자로 추가 3. 채널 ID 알아내기 브라우저에서 아래 url로 이동하면 채널ID 나옴. 보통 -1000어쩌고로 나옴 https://api.telegram.org/bot봇토큰/getUpdates EC2나 우분투 서버로 접속해서 아래 명령어 실행 $ touch telegram-send.sh vi 나 nano 편집기로 들어가서 아래 내용 넣기 #!/bin/bash CHANNEL_ID=채널ID BOT_TOKEN=봇토큰 # this 3 checks (if) .. 2023. 2. 1.
SPA(nextjs)에서 페이지 이동시 url 도 표시해주기 SPA 특성상 pagination 구현시, 페이지 새로고침 없이 데이터를 보여주는 것 가능.. 1. url에 page 파라미터가 있으면, 그 페이지로도 이동 시키고 싶음 2. SPA방식으로 페이지 새로고침 없이 데이터를 갱신해도 url location에는 page를 바꿔서 보여주고 싶음 window.history.replaceState({}, '', newUrl); 가 포인트 // url의 쿼리스트링에서 변수 가져오기 // nextjs 예제임. reactjs는 다르게 구현할 것 const searchParams = new URLSearchParams(document.location.search) let page = 1; if (searchParams.get('page') !== null) page = s.. 2023. 1. 30.