카드 실적 확인 알림 – python

GitHub – metaqsol/card

23.03.01 – 카카오 전송도 추가 했습니다.(나에게 보내기만 가능)
– 먼저 Misc.py 에서 get_token(myconf[‘Kakao_Msg’][‘KEY’].strip())를 실행해서 Token 을 받습니다.
– 그다음 card.py를 실행하면 됩니다. 현재는 Text보내기만 가능합니다.

23.02.28 – 여러장의 KB card 를 가졌을 때, 모든 카드를 캡쳐해서 보내도록 수정 했습니다.

아래와 같이 텍스트 정보를 추가 했습니다. 사용 실적만 보여 줍니다.

Youtube premium price by country(2023.Sep) 유투브 프리미엄 국별 가격

이 문서는 본 사이트에서 많은 뷰를 가지는 문서중 하나입니다. 그래서 CJK언어도 추가 했습니다. 튀르키예 – 인도 – 우크라이나 순으로 Family 가격은 좋습니다. 태국은 Lite 요금제가 있는 것이 특이 합니다.

This article is one of the most viewed on my website. That’s why I’ve created a global version this time. Also, I’m providing a python script along with it.

When considering family pricing, the order of affordability is as follows.
Turkey – India – Ukraine. Thaniland stands out with the LITE PRICING PLAN.

Country name was translated using Naver Papago. the blanks present errors in translation.

SourceCode: card/openvpn.ipynb at main · metaqsol/card (github.com)

CodeTRINUAZAHUTH
FullNameTurkeyIndiaUkraineSouth AfricaHungaryThailand
CurrencyTRYINRUAHZARHUFTHB
CountryName(Kor)우크라이나
JPNウクライナ
CHN乌克兰
LocalLiteTHB 89.00
StudentTRY 19.49₹79.00UAH 59.00ZAR 41.99HUF 1,090THB 95.00
IndividualTRY 29.99₹129.00UAH 99.00ZAR 71.99HUF 1,790THB 159.00
FamilyTRY 59.99₹189.00UAH 149.00ZAR 109.99HUF 2,690THB 299.00
AnnualTRY 299.99₹1,290THB 1,590
USDLite$2.48
Student$0.72$0.95$1.60$2.24$3.00$2.65
Individual$1.10$1.55$2.69$3.84$4.93$4.43
Family$2.21$2.27$4.05$5.86$7.41$8.34
Annual$11.04$15.52$44.33
KORLite₩3,314
Student₩958₩1,269₩2,141₩2,990₩4,012₩3,537
Individual₩1,474₩2,073₩3,592₩5,127₩6,589₩5,920
Family₩2,948₩3,037₩5,407₩7,833₩9,902₩11,133
Annual₩14,745₩20,734₩59,206
CodeROBRAEPASKCZ
FullNameRomaniaBrazilUnited Arab EmiratesPanamaSlovakiaCzechia
CurrencyRONBRLAEDUSDEURCZK
CountryName(Kor)루마니아브라질체코의
JPNルーマニアブラジルチェコの
CHN罗马尼亚巴西捷克
LocalLite
StudentRON 15.00$13.90AED 13.99$4.19€4.19CZK 109.00
IndividualRON 26.00$24.90AED 23.99$7.19€7.19CZK 179.00
FamilyRON 39.00$41.90AED 35.99$10.99€10.99CZK 269.00
Annual$249.00
USDLite
Student$3.21$2.82$3.81$4.19$4.47$4.76
Individual$5.57$5.05$6.53$7.19$7.67$7.81
Family$8.36$8.49$9.80$10.99$11.73$11.73
Annual$50.46
KORLite
Student₩4,293₩3,762₩5,087₩5,596₩5,972₩6,351
Individual₩7,442₩6,739₩8,723₩9,603₩10,249₩10,429
Family₩11,164₩11,340₩13,087₩14,678₩15,666₩15,673
Annual₩67,393
CodeTWMKSGPTGRAU
FullNameTaiwan, Province of ChinaNorth MacedoniaSingaporePortugalGreeceAustralia
CurrencyTWDUSDSGDEUREURAUD
CountryName(Kor)타이완, 중화민국북마케도니아포르투갈그리스호주.
JPN台湾、中華人民共和国北マケドニアポルトガルギリシャオーストラリア
CHN中国台湾省北马其顿葡萄牙希腊澳大利亚
LocalLite
Student$119.00$4.99SGD 6.98€4.99€4.99$8.99
Individual$199.00$8.49SGD 11.98€8.49€8.49$14.99
Family$399.00$12.99SGD 17.98€12.99€12.99$22.99
Annual
USDLite
Student$3.70$4.99$5.11$5.33$5.33$5.79
Individual$6.19$8.49$8.77$9.06$9.06$9.66
Family$12.41$12.99$13.16$13.86$13.86$14.81
Annual
KORLite
Student₩4,943₩6,664₩6,825₩7,113₩7,113₩7,735
Individual₩8,266₩11,339₩11,714₩12,102₩12,102₩12,897
Family₩16,574₩17,350₩17,581₩18,517₩18,517₩19,781
Annual
CodeJPCAHKDEITIE
FullNameJapanCanadaHong KongGermanyItalyIreland
CurrencyJPYCADHKDEUREUREUR
CountryName(Kor)일본캐나다독일.이탈리아
JPN日本カナダドイツイタリア
CHN日本 _加拿大德国意大利
LocalLite
Student¥780$7.99$48.00€6.99€6.99€6.99
Individual¥1,280$12.99$78.00€11.99€11.99€11.99
Family¥2,280$22.99$138.00€17.99€17.99€17.99
Annual¥12,800$129.99€119.99
USDLite
Student$5.26$5.92$6.14$7.46$7.46$7.46
Individual$8.63$9.63$9.97$12.80$12.80$12.80
Family$15.38$17.04$17.65$19.20$19.20$19.20
Annual$86.32$96.34$128.06
KORLite
Student₩7,025₩7,909₩8,197₩9,964₩9,964₩9,964
Individual₩11,529₩12,859₩13,321₩17,091₩17,091₩17,091
Family₩20,537₩22,758₩23,569₩25,644₩25,644₩25,644
Annual₩115,297₩128,680₩171,044
CodeUSGBGBFRCHNZ
FullNameUnited StatesUnited KingdomUnited KingdomFranceSwitzerlandNew Zealand
CurrencyUSDGBPGBPEURCHFNZD
CountryName(Kor)미국프랑스.뉴질랜드
JPNアメリカ合衆国フランスニュージーランド
CHN联系我们法国新西兰
LocalLite
Student$7.99£7.99£7.99€7.99CHF 9.50
Individual$13.99£12.99£12.99€12.99CHF 15.90$6.99
Family$22.99£19.99£19.99€23.99CHF 23.90
Annual$139.99
USDLite
Student$7.99$9.78$9.78$8.53$10.48
Individual$13.99$15.90$15.90$13.86$17.54$4.17
Family$22.99$24.47$24.47$25.60$26.36
Annual$139.99
KORLite
Student₩10,671₩13,061₩13,061₩11,389₩13,995
Individual₩18,685₩21,234₩21,234₩18,517₩23,424₩5,563
Family₩30,706₩32,677₩32,677₩34,197₩35,210
Annual₩186,978
CodeBALVNOISKRBE
FullNameBosnia and HerzegovinaLatviaNorwayIcelandKorea, Republic ofBelgium
CurrencyUSDEURNOKUSDKRWEUR
CountryName(Kor)보스니아 헤르체고비나라트비아노르웨이아이슬란드대한민국벨기에
JPNボスニア·ヘルツェゴビナラトビアノルウェーアイスランド大韓民国ベルギー
CHN波斯尼亚和黑塞哥维那拉脱维亚挪威冰岛大韩民国比利时
LocalLite
Student€8.49
Individual$8.49€12.99NOK 69.00€11.99₩10,450€6.99
Family
Annual
USDLite
Student$9.06
Individual$8.49$13.86$6.40$11.99$7.82$7.46
Family
Annual
KORLite
Student₩12,102
Individual₩11,339₩18,517₩8,548₩16,014₩10,450₩9,964
Family
Annual
CodeHRDKSERSARUS
FullNameCroatiaDenmarkSwedenSerbiaArgentinaUnited States
CurrencyHRKDKKSEKUSDARSUSD
CountryName(Kor)
JPN
CHN
LocalLite
Student€9.55RSD 749ARS 389.00
Individual€14.60DKK 69.00SEK 69.00RSD 1,149ARS 699.00
Family
Annual
USDLite
Student$1.35$6.79$1.12
Individual$2.06$9.86$6.20$10.41$2.00
Family
Annual
KORLite
Student₩1,802₩9,091₩1,489
Individual₩2,755₩13,163₩8,275₩13,946₩2,676
Family
Annual

vpn 신청

쏘카 vs. 롯데 렌터카 인 제주

이번에 제주도에 여행을 갔다가 쏘카와 롯데렌터카 두개를 모두 빌렸습니다.
원래 계획은 롯데 렌터카만 예약을 했는데.

여행 며칠전에 내린 갑작스러운 눈으로 인해, ‘렌터카 없는’ 앞의 일정을 하기 어려웠기 때문 입니다. 급하게 빌리려다 보니 쏘카가 가격이나 편리성에서 렌트가 쉬웠습니다. 그래서 쏘카 2박, 롯데 2박을 빌렸습니다.

차는 쏘카는 KIA의 소형 SUV 였고, 롯데는 아이오닉 전기차 입니다.

지금까지는 쏘카는 레이급의 소형차만 출장지에서 몇 시간 렌트해본 경험만 있습니다. 그러나 2박을 선택하니 크기가 있는 K3~SUV 만 선택이 가능 합니다. 렌트까지 신청하기는 참 편했고, 자동차를 픽업하러 갔을 떄도, 모든 과정이 무인으로 그냥 차에 가서 핸드폰으로 문 열고 타면 됩니다. 단점은 보험을 아무리 많이 들어도 ‘슈퍼 자차’ 보험이 없어서 차 외관을 잘 살펴야 합니다. 그래서 대면 과정은 없지만, 상당한 시간이 지체 됩니다. 운전자 보험까지 되는 선택 가능한 가장 높은 옵션으로 보험을 가입 했는데, 추운 날씨에 외부에서 차량을 잘 살펴 보는 것은 무척이나 귀찮았습니다.

그리고 차량을 탔는데, 내부는 깨끗하고 괜찮다고 생각이 들었지만 운전하면서 느낀 것은 차량 컨디션은 별로입니다. 차량 관리가 전혀 안된다는 느낌을 받았습니다. 차를 타자마자 이런 경고등이 나옵니다. ‘워셔액을 보충 하십시시요’. 운전을 10년 넘게 하면서 이런 경고등을 본적도 없습니다.(아마 엔진오일갈때 넣어줬나. 전혀 해본적도 없고, 경고등도 본적이 없네요..). 그만큼 이게 자주 관리하는 옵션이 아닌데, 시동 걸자마자 이런 경고등이 나오니 살짝 불안합니다. 그리고 주행중에는 안전벨트를 매고 있는데, 안전벨트를 안 맸다고 계속 띠링띠링 경고 음이 간헐적으로 나옵니다. 나중에 안거지만 안전벨트 안 매면, 에어백도 안 터진다고 하네요. 안전벨트를 했지만, 미착용으로 인식했다면 사고 나면 에어백도 안 터졌을꺼라고 생각합니다. 목숨걸고 차를 탄것인가.. 생각이 듭니다.

차를 처음 탔을때 부터 ‘워셔액’ 문제가 있지만 ‘무인’이기 때문에 물어볼수도 없고, 운행에는 큰 지장이 없다고 생각 했는데, 주행중 다른 문제도 발생하니 역시 무인의 한계인가 하면서 후회를 했습니다. 고객센터로 전화나 챗팅상담도 있지만 이미 운전중이니 챗팅 상담은 불가능하고, 전화는 대기타야 하고.. 그냥 조심히 쓰다가 반납이나 하자라고 생각이 들더군요.
그리고 반납할떄도 사람이 없으니 챠량문제는 말도 못하고, 사용후 앱으로 만족도 조사에 적기는 했지만, 만족도 조사결과는 차량관리와 상관 없는 다른 부서에서 관리 할꺼라 추측 됩니다.

롯데 렌터카는 방문해서 번호표 뽑고 기다립니다. 기다리는 시간이 조금 걸렸지만 따듯한 실내라 기다릴만 했습니다. 그리고 차량이 준비되고 그냥 출발하면 됩니다. 롯데는 슈퍼자차가 있기 때문에 차량 외관은 신경 안써도 됩니다. 그래서 도착부터 차량 탑승까지 시간은 쏘카와 비슷합니다. 충전도 완충상태이고, 이번여행일정은 전기차 충전도 필요할것 같아 설명도 ‘대면’으로 듣고 이용했습니다. 다행스럽게 차량 이상은 초기에도 없었고, 주행중에도 없었습니다. 다만 SK 하고 비교하자면, 차량이 SK대비해서 조금 오래된것 같기는 합니다. 그러나 신차여부는 그냥 기분상의 차이만 주는것이라 큰 의미는 없습니다.

전반적으로 보았을떄 쏘카는 ‘짧게’ 타기에 적당합니다. 그냥 대충 조금 타다 반납하고, 이상 있어도 뭐. 해결이 쉽지 않으니. 잘해야 ‘대차’일텐데 ‘비대면’이라 이거 보나마나 한참 걸립니다. 아무래도 ‘차’라는 것은 ‘안전’이 중요 합니다. 그런만큼 중간에 ‘사람’이 관리하는 영역이 있는것이 마음이 편합니다.

tmap 9.12.3

Tmap 9.12.3 기존 수정사항 적용 버젼 입니다.
9.12.3 에서 광고 관련 UX가 변경 되었습니다. 그래서 기존과 유사하게 광고판의 크기를 줄였습니다. 그리고 기존 버젼과 동일하게 ‘더보기’ 없이 아이콘이 나옵니다.

최근에 9.13 이 나온것 같은데 1월말까지 바쁠 예정이라…. 2월에 시간나면 업데이트 예정입니다.

여기서 다운 로드 하시면 됩니다.
Releases · flywithu/tmap (github.com)

현재 – ‘더보기’ 버튼 및 큰 광고

수정후 – 광고 2칸으로 수정. 더보기 버튼 없음.

Youtube ReVanced 쉽게 빌드 하기

예전에 Youtube Vanced 앱이 있었습니다. Youtube premium 에 가입하지 않고도 광고를 안 볼수 있게 해주는 앱으로 알려져 있습니다.

그리고 또 하나 용도로는 아이들 tablet 에 부모보호 모드가 있으면 계정 추가가 안됩니다. 그러면 부모가 Premium 계정이 있어도, 아이들 tablet 에 계정 추가를 못해서, 광고 없는 youtube환경을 만들수 없습니다. 그럴때 Youtube Vanced 와 MicroG를 설치 하면 부모 계정으로 youtube를 보게 할 수 있습니다.

그러나 현재 이 앱은 더이상 서비스 하지 않습니다. 이유는 구글과의 소송 때문이고, 문제가 된 것은 “수정된 apk를 배포’했기 때문입니다. 그래서 Revanced는 이 점을 회피해서 사용자가 original APK를 다운 받아서, ‘직접’ apk를 수정하는 방식으로 변경되었습니다.

그러나 비개발자가 ‘직접’ 이런것을 하기는 매우어렵습니다.

여기서는 이것을 쉽게 하는 방법을 설명 합니다.. 필요한 것은 github 계정뿐입니다.

Github는 최근에 Actions 라는 CI/CD 환경을 지원해 줍니다. 이것을 이용해서 특별히 빌드 환경을 만들지 않아도, github 환경에서 수정된 apk를 만드는 법을 설명 합니다.

  1. n0k0m3/revanced-build-template: Github Template for building Revanced 이 주소를 들어 갑니다.
  2. Create a new reposity를 선택 합니다.
  3. 꼭 Private 로 설정을 해서 새로운 리포를 만듭니다. (이미 말한것처럼 수정된 APK를 배포하는 것은 법적 이슈가 있습니다. 그래서 Private 로 해야, 수정된 APK과 공개적으로 배포되지 않습니다.)
  4. Actions – Revanced Build -workflow 에서 빌드를 하고 완료를 기다립니다. (APKMirror에서 apk를 다운받아서, 패치하는 작업을 자동으로 합니다.)
  5. 이제 Release 에서 완성된 APK를 다운받아서 table 에서 사용하면 됩니다. 필요하면은 microG로 추가로 설치해서 구글 계정과 연동 하면 됩니다.
  6. 이제 광고없거나 자녀의 tablet 에 apk 를 설치해서 사용하면 됩니다
    루팅안된장비는 noroot가 붙은것으로, 루팅된 장비는 -root.apk를 받아서 사용하면 됩니다.
  7. 아래 그림을 참고해서 하면 됩니다.~

Pandas, 중복 행네임시 rename 과 insert 다른 동작

data={'COL1':['A','B','C','D'],'COL2':['1','2','3','4']}
df1 = pd.DataFrame(data)
try:
    df1.insert(1,'COL1',df1['COL2'])
except Exception as e:
    print(e) 
    df1=df1.rename(columns={'COL2':'COL1'})
print(df1)
print("#############################")
df1 = pd.DataFrame(data)
df1.insert(1,'COL1',df1['COL2'],allow_duplicates=True)
print(df1)
print("##############################")
df1 = pd.DataFrame(data).set_flags(allows_duplicate_labels=False)

try:
    df1=df1.rename(columns={'COL2':'COL1'})
except Exception as e:
    print("ERROR:",e) 
print(df1)

위 코드를 동작 시키면 아래와 같이 출력 됩니다.

cannot insert COL1, already exists  <==== insert 시 이름이 중복이라고 에러가 남. 
그러나 rename 은 동작해서 아래와 같이 COL1 이 출력됨.
  COL1 COL1
0    A    1
1    B    2
2    C    3
3    D    4
#############################
insert 시 allow_duplicates=True를 주면 동일한 이름의 column이 들어감
  COL1 COL1 COL2
0    A    1    1
1    B    2    2
2    C    3    3
3    D    4    4
##############################
Dataframe 의 속성을 duplicate를 false로 설정하면 rename 시에도 중복으로 에러가 발생함.
ERROR: Index has duplicates.
      positions
label          
COL1     [0, 1]
  COL1 COL2
0    A    1
1    B    2
2    C    3
3    D    4

여기서 이상한 점은 dataframe 의 속성이 중복 허용이어도 insert는 다르게 동작 한다는 것이다. pandas/flags.py at bedd8f0170b5ff6cd0bab0e40f9bc5b95f6e1eec · pandas-dev/pandas (github.com) 이 코드를 보면
“allows_duplicate_labels : bool, default True” .. dataframe 의 기본값은 True이다. 즉 중복을 허용한다. 그러나 pandas/frame.py at main · pandas-dev/pandas (github.com) 의 insert 함수를 보면 이 값은 false 입니다. 즉 insert 의 경우 좀더 강하게 중복에 대해서 재 검증을 하고 있습니다.

pandas 의 column이 많아 지게 되면, rename 도 이름을 중복하는 실수를 할 수도 있습니다. dataframe 의 중복기본값이 왜 ‘허용’인지는 의문이나, 안전하게 하려면 dataframe 생성시 기본적으로 .set_flags(allows_duplicate_labels=False) 속성을 주는 것이 좋아 보입니다.

tmap

tmap의 설정은 계정으로 동기화가 됩니다. 즉 핸드폰에서 ‘이름을 불러 대화 시작하기’를 On 하면, 자동차도 ‘On’이 되는데요. ‘On’ 일때 애플파이에서 문제가 사운드 모드가 ‘통화’가 되는 문제가 있습니다.

그래서 이름을 불러 대화 시작하기를 끄면 핸드폰에서도 꺼지는 불편함이 있어서 수정했습니다.

따로 On하기 전까지 매번 실행때마다 저 설정은 항상 ‘Off’입니다.