반응형

java 에서 byte 단위로 substring 하고 싶을 때 참고할 만한 코드입니다.


String msg = "문자열";
int 자르고싶은크기 = 90;
byte[] bytes = msg.getBytes();
if(bytes.length > 자르고싶은크기 ) {    
  msg = new String(bytes, 0, 자르고싶은크기 );
}
System.out.println(msg);



반응형
반응형

티스토리 백업 안드로이드 어플을 소개합니다.


예전에는 티스토리 자체에서 백업 기능을 제공했었지만 현재는 백업 기능이 종료되어 더 이상 기능을 제공하지 않고 있습니다.


하지만, 티스토리에 올려진 모든 글들은 다 자산입니다.

얼마 안되지만 열심히 매일매일 돈을 벌어다주고 있는 이 글들이 만약 하루아침에 날라가 버린다고 생각하면 정말 아찔합니다.

그동안 들인 시간과 노력 앞으로 들어올 광고 수익들이 모두 날라가 버리는 겁니다.

ex) 계정 해킹으로 털림, 티스토리 운영 실수로 블로그 폭발 등등 



그래서 일단 로컬이나 클라우드 저장소에 백업을 해놓으면 나중에 다른 블로그에 수동이라도 copy & paste 신공을 써서 복구할 방법이 있는 셈이죠.


구글 플레이스토어에서 '티스토리 백업' 이라고 검색하면 앱이 나옵니다.


설치 후 실행한 첫 화면 입니다.

티스토리의 Open API를 이용해서 백업을 합니다.

그래서 티스토리에 로그인을 한번 해야합니다.


티스토리 로그인 창이 뜨면 로그인을 합니다.


로그인을 하고 나면 아래 화면이 나옵니다.

저는 블로그가 두개라서 '고니의꿈' 과 '독서록' 이렇게 두개가 나오고 있습니다.

각각 백업을 할 수 있습니다.

아래 주황색 '백업' 버튼을 누르면 해당 글이 백업 됩니다.

글들을 한땀한땀 백업해야 합니다.

백업이 된 글들은 글 아래 파란색 박스로 '백업날짜'가 나옵니다.

글이 수정된 경우에 다시 백업을 하려면 파란색 박스를 누르면 다시 백업이 됩니다.



'백업파일 보기'를 누릅니다.

그러면 폰에 저장된 글목록이 보입니다. 백업된 글들이 폰에 저장된 위치는 'SD카드/TistoryBackup/블로그이름' 입니다.


각각 글들을 누르면 글의 내용도 볼 수 있습니다.


'백업파일 보기' 오른쪽 끝에 구름 모양을 누르면 폰에 저장된 백업파일들을 압축해서 클라우드에 저장할 수 있습니다.

그냥 공유 기능으로 보면 됩니다.


압축된 파일을 구글드라이브나 카톡 메일로 보낼 수 있습니다.



구글 드라이브에 저장해 봤더니 아래와 같은 형식으로 저장이 되었습니다.


"티스토리 백업 - goni9071_20180511 15:40:41.zip "


PC에 다운 받아서 압축을 풉니다.

그럼 아래 이미지 같이 글 하나당 숫자.html 형식으로 저장되어 있습니다.

html 확장자가 아닌 "숫자.블라블라" 파일들은 "숫자.html" 글에 쓰여지는 이미지 파일들입니다.


그리고 글 목록제목형태로 보려면 index.html 열어서 보시면 됩니다.


 


글과 글에 쓰인 이미지들 모두 백업이 잘 되는 것 같습니다.


굿굿!

반응형
반응형

안드로이드 앱이나 iOS 앱을 만들어 배포하려면 필수적으로 필요한게 바로 앱 아이콘 입니다.


디자이너나 관련 팀이 따로 없다면 아이콘을 만드는 것 조차도 사실 힘듭니다.


그래서 아이콘 이미지만 있다면 앱의 아이콘에 필요한 여러가 기능을 제공해주는 사이트를 소개합니다.


URL : https://www.gieson.com/Library/projects/utilities/icon_slayer/



위 화면을 보시면 모든 기능이 보입니다.


1. iOS와 Android 뿐맘 아니라 Mac, Windows, Favicon, Web App 등 다른 아이콘들도 지원을 하고 있습니다.

2. 해당 OS의 가이드에 맞는 사이즈별 아이콘 크기도 모두 제공합니다.

3. 기타 여러가지 효과도 제공합니다. 사이트에 가서 하나씩 체크해보고 조절해보면 바로 확인할 수 있습니다.


위 쪽 Load Image 가 자신의 이미지를 업로드하는 버튼입니다.

그리고 자신에게 맞는 여러 옵션을 선택한 후 결과물은 Export Image 버튼을 누르면 zip파일로 다운로드 됩니다.

반응형
반응형

언제 부턴가 폰에서 3G만 잡히고 LTE가 전혀 잡히지 않고 있습니다.


해결 방법은 다음과 같습니다.


통화창에서 *147359# 이라고 치면 LTE 관련 메뉴가 뜹니다.


거기서 '허용' 을 선택하면 기기가 재부팅되면서 LTE가 다시 나타납니다.


KT폰에서만 확인한 내용입니다.

반응형
반응형

안드로이드 위험 권한 및 권한 그룹 입니다.


기기가 Android 5.1(API 레벨 22) 이하를 실행하거나 앱의 targetSdkVersion이 22 이하인 경우, 시스템이 설치 시 권한을 부여하도록 사용자에게 요청합니다. 


권한 그룹권한
CALENDAR
CAMERA
CONTACTS
LOCATION
MICROPHONE
PHONE
SENSORS
SMS
STORAGE



출처 : https://developer.android.com/guide/topics/security/permissions?hl=ko

반응형
반응형

1. Window Key 를 누른다.


2. cmd 라고 입력한다.


3. 아래 화면처럼 '명령 프로프트'가 나오는데 거기에 마우스 커서를 올리고 마우스 오른쪽 버튼을 누른다.


4. '관리자 권한으로 실행' 을 누른다.


5. 뭘 물으면 '예' 선택한다.


반응형
반응형

여러가지 상황과 이유에 의해서 한 컴퓨터에서 여러 네트워크를 사용해야하는 경우가 있습니다.

 

Case

1. 무선 + 유선 (wireless and wired)

2. 랜카드 두개 (multiple LAN cards)

3. 사설망 + 공인망 ( private, public )

 

등등.

 

사실 원리는 간단합니다. 

여러 네트워크를 동시에 사용할 때 언제 어느 때 어떤 네트워크를 쓸 것인가?

이것만 설정하면 됩니다. 

그리고 윈도우에서는 기능을 제공하고 있습니다. 

 

시작해 봅시다.

 

1. 윈도우(Window)에서 CMD를 관리자(Admin) 권한으로 실행합니다.  (2018/05/03 - [기타] - window 10 cmd 관리자 권한으로 실행하기)

 

 

2. 다음과 같이 명령어들을 cmd 창에서 입력하면 끝 입니다. !! 

 - 네이버는 무선 네트워크를, 구글은 유선 네트워크를 이용해서 접속하게 됩니다.

 - 게이트웨이와 IF ID 확인 방법은 아래에서 알려드리겠습니다.

 - 우선 순위는 숫자로 낮을 수록 높습니다.

 - 네이버나 구글 이외의 사이트는 우선순위가 높은 게이트웨이 기본적으로 연결됩니다.

 

route delete 0.0.0.0
#무선
route add 0.0.0.0 mask 0.0.0.0 [무선 게이트웨이] IF [무선 IF ID] METRIC [우선 순위]
#유선
route add 105.0.0.0 mask 255.0.0.0 [유선 게이트웨이] IF [유선 IF ID] METRIC [우선 순위]
#네이버
route add [네이버 아이피] [무선 게이트웨이] IF [무선 IF ID]  METRIC [우선 순위]
#구글
route add [구글 아이피] [유선 게이트웨이] IF [유선 IF ID] METRIC [우선 순위]

 

 

3. IF ID 찾는 방법입니다.

 - route print 명령어를 통해서 자신이 사용할 네트워크(Network)의 인터페이스 아이디(IF ID)를 찾습니다.

 

route print

 

 

C:\WINDOWS\system32>route print
===========================================================================
인터페이스 목록
 10...b8 1e 82 50 ab 75 ......Realtek PCIe GBE Family Controller
 14...11 10 17 cc 01 62 ......Microsoft Wi-Fi Direct Virtual Adapter
 11...3a 10 61 cc 21 82 ......Qualcomm Atheros QCA61x4A Wireless Network Adapter
 12...10 ff eb 55 31 2e ......tgsvpn driver 1.0
  9...3a b0 61 cc 01 82 ......Bluetooth Device (Personal Area Network)
  1...........................Software Loopback Interface 1
 12...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
===========================================================================

 

(모두 변조된 값입니다. 오해 마세요.)

 

저 같은 Realtek PCI 가 유선(wired)이고 Qualcomm Atheros 가 무선(wireless) 입니다.

 

각각 IF ID가 10, 11 이네요.

 

4. 게이트웨이 찾는 방법입니다.

- ipconfig 명령어를 입력합니다.

- 현재 무선으로 연결된 상태라면 [여기가 무선 게이트웨이 주소] 에 게이트웨이 주소가 적혀있을 겁니다.

[여기가 유선 게이트웨이 주소] 값을 알고 싶다면 잠시 무선을 끄고 유선으로 접속하면 확인할 수 있습니다.

 

C:\>ipconfig
 
Windows IP 구성
 
 
이더넷 어댑터 이더넷:
 
   연결별 DNS 접미사. . . . :
   링크-로컬 IPv6 주소 . . . . : abcd::efgt:1234:1234:2567%99
   IPv4 주소 . . . . . . . . . :123.456.789.123
   서브넷 마스크 . . . . . . . : 255.255.255.0
   기본 게이트웨이 . . . . . . : [여기가 유선 게이트웨이 주소]
 
무선 LAN 어댑터 로컬 영역 연결* 10:
 
   미디어 상태 . . . . . . . . : 미디어 연결 끊김
   연결별 DNS 접미사. . . . :
 
무선 LAN 어댑터 Wi-Fi:
 
   연결별 DNS 접미사. . . . :
   링크-로컬 IPv6 주소 . . . . : abcd::efgt:1234:1234:2567%97
   IPv4 주소 . . . . . . . . . : 192.168.100.152
   서브넷 마스크 . . . . . . . : 255.255.255.0
   기본 게이트웨이 . . . . . . : [여기가 무선 게이트웨이 주소]
 
이더넷 어댑터 이더넷 2:
 
   미디어 상태 . . . . . . . . : 미디어 연결 끊김
   연결별 DNS 접미사. . . . :
 
이더넷 어댑터 Bluetooth 네트워크 연결:
 
   미디어 상태 . . . . . . . . : 미디어 연결 끊김
   연결별 DNS 접미사. . . . :
 
터널 어댑터 Teredo Tunneling Pseudo-Interface:
 
   미디어 상태 . . . . . . . . : 미디어 연결 끊김
   연결별 DNS 접미사. . . . :
 

 

 

5. 만약 IP 대역을 설정하고 싶다면 아래처럼 mask를 이용하면 됩니다.

 

route add 123.456.789.0 mask 255.255.255.0 [무선 게이트웨이] IF 11 METRIC 15

 

 

반응형
반응형

상황(Case) 


html source에서 a tag 중 href link address가 image인 element만 찾아내서 click event를 바꿔치기 하는 javascript입니다.


원본 (Source)


document.getElementsByTagName("a");
var aList = document.getElementsByTagName("a");
for(var i=0; i<aList.length; i++) {
  var a = aList[i];
  if(a.href.match(/(^https?:\/\/.*\.(png|jpg|jpeg|gif))/i)) {
    a.onclick = function(event){
      alert(this.href);
      event.preventDefault();
      event.stopPropagation();
      return false;
    };
  }  
}




정규식 (Regex)

Find : 

(^https?:\/\/.*\.(png|jpg|jpeg|gif))



반응형
반응형

2017/05/18 - [기타] - 블로그로 돈을 벌고 싶다.


2017년 5월 18일에 위 글을 처음 썼습니다. 이제 1년이 다되어 갑니다.


목표가 1일 1글 이었는데 이제 40일 정도밖에 남지 않았습니다. 목표량을 채우려면 앞으로 1일 4글은 써야하겠습니다. ㄷㄷㄷ


1일 1글이 쉬운게 아닙니다. ㅜㅜ


어찌되었든 200글까지 쓴것도 스스로는 뿌듯해하며, 구글 애드센스로 얻은 지금까지의 수익을 공유하고자 합니다.




솔직히 말씀드리면 아직도 RPM이니 Active View 이니 이런게 뭔지 아직도 잘 모르고 있습니다. ㅎㅎ


그냥 보이는 건 예상 수입 뿐!! 흐흐.


그래프에서도 보이다시피 예상 수입 52달러의 대부분이 최근 한두달 사이에 발생하였습니다.


이걸로 미루어 예측을 해보자면 수익의 증가율이 꾸준하게 점진적이기 보다는 계단형이지 않을까 생각합니다. (쭉쭉 올라가라!!)




아래는 광고 단위별 수익입니다.



음. 상단의 가로로 긴 광고가 가장 많은 수익을 내고있습니다.

사이드바 시리즈는 나중에 2월달부터 붙인거라서 기간이 좀 다르긴 한데 크게 차이가 나지는 않을 것 같습니다.


개인적인 생각으로는 조금 더 큰 면적의 광고가 디자인적으로 더 좋은 것 같습니다. 그래서 사람들이 더 많이 클릭하지 않을까 하는 생각입니다.

그렇다고 한다면 사실 사이드바 광고들이 성적이 좋아야하는데 그렇지도 않을걸 보면 잘 모르겠습니다. @@



마지막으로, 이걸 한번 시급으로 따져 보겠습니다.


보통 짧은 개발 로그를 남길땐 10분정도 캡쳐도하고 이것저것 하는 경우엔 30분을 훌쩍 넘기니 평균적으로 1글 남기는데 20분이 걸린다고 가정하겠습니다.


그럼 200글 x 20분 = 4000분 =  약 66.6시간이 소요되었습니다.


52달러 / 66.6 시간 = 시급 약 0.8 달러 정도 입니다.


한 시간에 1000원도 못 버는 건가요 ㅜㅜ.


이제 시작단계이니까 이런 거겠죠 ㅜㅜ.


최저 임금을 받게 되는 걸 일단 목표로 삼야겠습니다. 그날이 올까요.


글이 점점 쌓이다 보면 그런 날이 오리라 믿습니다.



반응형
반응형

Eclipse Subversive Plugin을 사용 중인데 Share Project 를 하려니 아래와 같은 오류가 발생합니다.

해결책으로는 svn repository 에서 해당 폴더를 미리 만들어두고 Share Project를 하면 됩니다.


SVN Repositories > New > Folder ---> xxx/yyy/zzz


Share project was failed.
Share project was failed.
Can't overwrite cause with org.tmatesoft.svn.core.SVNException: svn: E160013: URL 'svn://xxx/yyy/zzz' non-existent in that revision
 
Can't overwrite cause with org.tmatesoft.svn.core.SVNException: svn: E170000: URL 'svn://xxx/yyy/zzz' non-existent in revision 2,251
cs


반응형

+ Recent posts