본문 바로가기

반응형

IT

(31)
타오나스 도착 큐텐에서 타오나스 팔길래 한번 구매해봤다. 시놀로지에 하드디스크를 사면 100만 원이 훌쩍 넘는 금액이라 조금 아껴보고자... 이 녀석 어디서 굴러먹다 온 녀석인지 모르겠다. 사진 및 언박싱은 없다. 핸드폰에 사진 찍어는 놨으니 피씨로 작성하기에 귀찮아서 패스하고, 장.단점만 작성해본다. [ 장점 ] 싸다. 한때 타오바오에서 8만 원이라는데, 큐텐은 쿠폰 먹여도 12만 원 정도한다. 그래도 시놀로지보다 싸다. 걍 저전력 PC다. 케이스 뜯고 각종 장비 부착해서 윈도우를 설치하든, 리눅스를 설치하든 그건 본인 마음. 핫스왑이 가능하다. HDMI, USB, LAN포트 등 각종 장치들을 사용 가능하다 매우 쉽게 헤놀로지가 올라간다 [ 단점 ] 어디서 쓰이던 녀석인지 모르지만, 딱봐도 채굴장에서 돌리던 것 같다..
안드로이드 12, java.lang.IllegalArgumentException 오류 수정 방법 내 테스트 기기에는 문제가 전~~혀 없는데, 최근 갤럭시 노트20에서 앱을 실행하자마자 실행도 안되고 Crash난다는 리포트르를 받게 되었다. 해당 기기가 없어서 무슨 문제인지 도통 감을 못잡고 있던 찰나, 이용자 한 분께서 너무도 고맙게도 덤프 로그를 보내주셨다. 아래는 로그 내용. 02-02 23:10:32.665 12316 12466 12561 E AndroidRuntime: FATAL EXCEPTION: pool-10-thread-1 02-02 23:10:32.665 12316 12466 12561 E AndroidRuntime: Process: ****, PID: 12466 02-02 23:10:32.665 12316 12466 12561 E AndroidRuntime: java.lang.Ill..
sqlite3 날짜, 시간 비교 조회 가끔 sqlite3를 이용해서 datetime 값에 몇 일 전, 몇 분 전 등의 기능을 쓰고 싶을 때는 아래와 같이 조회하면 된다. 다른 RDB를 쓰다가 sqlite3 를 쓰면 헷갈리는 점이 있어 남긴다. select datetime('2000-01-01 00:00:00', 'weekday 1'); > 2000-01-03 00:00:00 select datetime('2000-01-01 00:00:00', '-1 year') > 1999-01-01 00:00:00 select datetime('2000-01-01 00:00:00', '+09:00:00') > 2000-01-01 09:00:00 select datetime(946684800,'unixepoch') > 2000-01-01 00:00:00 s..
nodejs mysql사용시, SQL Injection 방어하기 DB를 사용하는 경우, 항상 유의해야 하는 점. SQL Injection... SQL Injection이란 DB쿼리를 사용시에, query string 값을 넣는 경우가 99.9999%인데 (심지어 유저 ID), 이때 파라미터 값에 특수 문자와 문법들을 이용해서 쿼리를 무력화하고 권한을 획득하는 것을 의미한다. https://namu.wiki/w/SQL%20injection nodejs로 mysql npm을 사용하고 있는데, 어떻게 방어하는지 궁금해서 검색해보니, 아래와 같이 하면 된단다. escape escape는 문자열을 인코딩하는 걸 말한다. const getUser = function (chat_id) { return connection.query(`SELECT * FROM USERS WHERE ..
nodejs mysql사용시, SQL Injection 방어하기 DB를 사용하는 경우, 항상 유의해야 하는 점. SQL Injection... SQL Injection이란 DB쿼리를 사용시에, query string 값을 넣는 경우가 99.9999%인데 (심지어 유저 ID), 이때 파라미터 값에 특수 문자와 문법들을 이용해서 쿼리를 무력화하고 권한을 획득하는 것을 의미한다. https://namu.wiki/w/SQL%20injection nodejs로 mysql npm을 사용하고 있는데, 어떻게 방어하는지 궁금해서 검색해보니, 아래와 같이 하면 된단다. escape escape는 문자열을 인코딩하는 걸 말한다. const getUser = function (chat_id) { return connection.query(`SELECT * FROM USERS WHERE ..
Visual Studio Code - Remote Control (SSH) 접속 에러 해결 방법 라즈베리파이4에 라즈비안OS를 깔고, Windows 10의 Visual Studio Code를 통해 원격 접속해서 개발하고 싶어서 확장 프로그램을 설치해서 접속하는데 자꾸 접속이 실패한다. putty, vncviewer 모두 정상적으로 접속이 되는데 유독 Visual Studio Code의 Remote Control만 안된다. 뭐 이따구가... 열심히 검색한 결과..한가지 방법을 찾아냈다. 64비트 OS인 경우 호환이 되지 않는 것. 아무래도 arm 아키텍쳐와 각종 실행 파일들(node.js)의 컴파일된 아키텍쳐와 충돌이 나는 듯 하다. 1. 라즈베리파이 터미널에서 아래 명령어 입력해서 클린 삭제 rm -fr ~/.vscode-server/ 2. /boot/config.txt 수정 (에디터 프로그램은 v..
안드로이드 TabLayout 탭의 아이콘 색상 자동으로 변경 안드로이드 TabLayout에 아래와 같이 텍스트(탭 설명)없이 아이콘으로 표현하고 싶은 경우가 있을 수 있다. 이럴 경우, 선택된 탭의 아이콘의 색상은 파란색, 선택되지 않은 탭들은 회색과 같이 색을 표현하고 싶을 때 유용하게 쓰이는 방법을 설명하고자 한다. 아이콘 이미지가 벡터 이미지(SVG)인 경우, 손쉽게 적용이 가능하다. 1. 프로젝트 폴더에 res/color 폴더에 아래 XML파일을 작성하여 추가해준다. > res/color/main_tab_color_selector.xml 여기서 아이템의 색상을 변경해주면, 선택될 경우는 흰색, 선택되지 않은 경우 짙은 회색으로 설정된다. 2. 레이아웃에서 tabLayout - tabIconTint 속성을 위에서 만든 속성으로 선택해준다. > @color/m..
Telegram Bot inline keyboard 구현 nodejs 로 텔레그램 inline keyboard를 구현하는 방법 inline keyboard란? 왼쪽과 같이, 텔레그램 명령어를 입력하면, 설명과 함께 메뉴가 나타나는 것을 의미한다. 정확하게 이야기 하면, 텔레그램에서는 해당 버튼을 '키보드'라고 표현한다. 왜냐하면, 기존에는 채팅 메시지 입력 창(키보드)를 누르면 해당 키보드에 입력 자판 대신 메뉴가 뜨도록 구현이 되어 있어서, 단순히 '키보드'라고 표현하고 있는 것 같다. 근데 점차 UI의 혁신(?)으로 키보드 또한, 채팅창으로 이동하여 마치 메뉴 처럼 나타낼 수 있게 되었다. 이것을 'inline keyboard'라고 표현하는 것이다. 자세한 내용은 공식 사이트를 참고하시라. https://core.telegram.org/bots/2-0-in..

반응형