본문 바로가기

개발이야기

아이콘 투명 만들어야 할 때 프로그램 없이 간혹 투명 이미지가 필요할 때가 있죠. 그럴 때 순간적으로 어떻게 해야 할지 난감한데요. 아주 간단하게 사이트에서 변환해주는 곳이 있네요~ onlinepngtools.com/create-transparent-png Make PNG Transparent - Online PNG Tools World's simplest online utility that creates transparent PNGs. Free, quick, and powerful. Import PNG, make PNG transparent. onlinepngtools.com 투명으로 변환할 바탕의 정도를 선택할 수 있는 기능이 있어서 좋네요~ 더보기
[PDF] 앱 개발 이거 보시고 시작하세요~ 처음이신 분들을 위해 앱개발을 해보시려고 하시나요? 아이디어가 있으신가요? 약간의 수익이라도 만들어보고 싶으신가요? 한번 천천히 보세요~ 아래 내용만 보셔도 앱개발 충분히 하실 수 있습니다! 아래 사이트는 제가 생각나는 아이디어들로 공부를 하면서 앱 만들어본 것들입니다. http://www.hitouchsoft.com 하이터치소프트 www.hitouchsoft.com 아래 목차와 영상을 PDF로 담아뒀습니다. 다운받아서 편리하게 보시면 됩니다~ 그리고 앱 개발 관련해서 제가 영상 올린 것들을 순서대로 정리를 해봤습니다. 하나씩 보시고 끝까지 보신다면 앱개발을 시작하실 수 있다고 생각합니다! 시작하시기에 고민이신 분들은 보세요~ 제 경험에서 나오는 의견들입니다. 개발을 시작하기 전에 - 아무거나 보세요. 다 안보셔도 됩니다. .. 더보기
역사상 대박난 IT 서비스의 공통 주제 역사상 대박난 IT 서비스의 공통점을 얘기해봅니다. https://youtu.be/VB2LWLB97_M 더보기
안드로이드 SDK 28 MediaPlayer stream type 멈춤 현상 수정 노트10 기준으로 어느 순간부터 스트림 플레이가 안되는거예요.. ㅠㅠ 그랬더니 28로 업그레이드 되어서 안된다고 해서 심플하게 27로 내려서 컴파일 후 앱 등록하려고 보니 구글 플레이 console에서 신규 앱은 28로 업그레이드 해서 적용해야 등록이 된다고 해서 다시 삽질 시작 mediaPlayer = new MediaPlayer(); try { mediaPlayer.setDataSource(url); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.prepare(); isPrepared = true; mediaPlayer.start(); } catch (Exception ex) { throw new RuntimeExcept.. 더보기
유일하게 강력 추천하는 안드로이드 앱 개발 도서 책 - 안드로이드 프로그래밍 천인국 몇 년 전부터 안드로이드 앱 개발을 해보고 있는데요. 여러 종류를 책을 봤는데, 가장 추천드릴만한 책은 유일한 책은 '안드로이드 프로그래밍' 천인국님이 쓰신 책입니다. 1. 먼저 원리에 대한 설명이 쉽고 자세하게 되어 있습니다. 2. 폰트나 이미지가 깔끔하고 재질이 매우 좋스니다. - 저 개인적으로는 책을 살때 폰트도 보는 편인데, 매우 정리가 잘 되어 있습니다. 3. 안드로이드 개발에서 알아야 할 깊이 있는 설명도 포함합니다. 브로드캐스트, 쓰레드 등의 고급 기술에 대해서도 잘 설명이 되어 있어서 매우 좋습니다. 강력 추천드립니다. 두고 두고 원리를 이해하시기 좋다고 생각됩니다. 안드로이드 앱 개발 유일한 추천 책입니다. 아래 링크로 접속해서 구매시 "파트너스 활동을 통해 일정액의 수수료를 제공받을 수.. 더보기
MP4 -> MP3 변환 온라인 사이트 https://online-audio-converter.com/ko/ 온라인 오디오 변환기 online-audio-converter.com 요즘 대부분의 파일 변환은 온라인 사이트가 있는거 같아요. 위의 사이트도 상당히 신박한 사이트입니다. 잘 이용해보세요~! 더보기
MSVCP140.dll VCRUNTIME140.dll 다운로드 하다 보면 필요한 파일이죠~ 필요하신 분 다운로드하세요~ Windows 폴더 아래 System32 폴더 아래 복사 하시면 됩니다요~ 더보기
구글 애드센스 adsense 지급 우리은행 SWIFT 식별 코드 위 캡쳐 화면 중 은행 식별 코드 란에 아래와 같이 입력하시면 됩니다. HVBKKRSEXXX 더보기
유튜브 백그라운드 플레이 사유로 안드로이드 앱 거절 당함 그리고 해결책 안드로이드 앱 거절 메일을 통보 받고, 플레이 스토어에서 삭제되면 황당함과 빡침이 밀려오죠. 도대체 왜 그리고 그 사유에 대해서 정확하게 알려주지 않죠. 그나마 아래와 같이 친절하게도 가이드를 주었네요. 생각해보면 유튜브 프리미엄 서비스의 주된 기능 중 하나가 백그라운드 플레이인데, 이 프리미엄에서만 제공되는 기능이 우회하여 재생이 되니 철저히 막을 수밖에 없다는 생각이 들긴해요. 안타깝게도 내부 검토 기준에 관하여 알려드릴 수 없는 점 양해부탁드립니다. YouTube 백그라운드 재생이란 사용자가 앱을 직접적으로 이용하고 있지 않은 상태(대기모드/잠금모드)에서도 YouTube 영상의 오디오가 계속 재생되는 것을 말합니다. YouTube 백그라운드 재생의 이해를 돕기 위해 아래와 같이 테스트 가이드를 드리.. 더보기
R을 이용한 데이터 분석 실무 (PDF) 몇년 전에 R에 대해서 공부를 할 일이 있었는데요. 데이터 분석을 하기에는 아주 좋은 언어라는 생각이 들었습니다. 계속 데이터 분석 일을 하진 않아서 스터디때 사용하다가 현재 사용하고 있지는 않는데요. 그때 참고했던 아주 유용한 책(파일)입니다. 인터넷 배포를 허용해주시는 것으로 알고 있고, 저도 그렇게 해서 다운을 받아서 잘 참고를 했습니다. 시중의 어떤 책보다 내용 상으로 부족하지 않습니다. 이렇게 베풀어주신 저작자 분께 다시 한번 감사드립니다. 제가 컴퓨터 정리 하면서 평생 참고 소장의 목적으로 업로드 합니다. 아래 파일 다운받으시면 됩니다. https://bit.ly/2TGrKP4위는 구글 드라이브이고, 혹시 불편하시더라도 분할 압축 받으실 분은 아래서 받으셔서 알집으로 풀으시면 됩니다. 더보기
최근 들어 안드로이드 스튜디오에서 실행 하면 DELETE_FAILED_INTERNAL_ERROR 안드로이드 스튜디오 3.x 업그레이드 한 뒤로 최근 들어 아래와 같은 에러가 나오면서 DELETE_FAILED_INTERNAL_ERRORError while Installing APKs실행이 안되는 겁니다. 물론 디버그 모드도 실행이 안되구요. 찾아보니 해결 방법이 아래와 같습니다. instant run 옵션을 끄면 해결이 됩니다. File - Settings - Build, Execution, Deployment -> Instant Run 탭에서 Enable Instant Run to hot swap code/resources changes on deploy (default enabled) 체크 해제 더보기
구글 검색엔진 상단으로 노출을 위한 사이트맵 자동 생성 구글 또는 네이버의 상단만 노출이 되어도 반이상의 성공을 한다고 봅니다. 왜냐면 이 막강한 검색엔진에서 키워드를 쳤을 때 상단만 올라와줘도 홍보의 힘이 굉장하기 때문이지요. 동일한 기능을 한다고 해도 또는 더 뛰어난 기능을 가진 사이트여도 검색엔진에 의해서 노출이 안된다면 사람들이 접근하기는 매우 어렵습니다. 이제 네이버가 사이트 등록 개념이 아니라 구글이 하는 방식처럼 스코어링을 하고 의미 있는 사이트들을 상단에 노출하겠다고 했는데, 물론 네이버 검색 광고를 하면 무조건 상단 아니 별도의 광고 자리에 광고를 해줍니다. 돈이 많으면 이런식의 SEO 많이 고민 안해도 될 수 있겠지요. 하지만 서민이 홍보를 한다는 것은 쉽지 않은 일입니다. 다행이도(?) 구글 처럼 한다고 하니 이제 구글의 정석인 SEO -.. 더보기
안드로이드 가로 전환 시 onCreate 호출 방지 안드로이드 앱을 개발하고 가로 모드로 전환을 해봤을 때 어떤 현상이 나는지 사실 모르다가. 이번에 음악을 들려주는 앱을 개발하고 나서 음악을 듣다가 가로로 전환했을 때 음악이 두번 들리길래 왜 그런가보니 onCreate가 두 번 호출하는 것이다. 왜 호출이 될까를 고민하다가 찾아보니 가로 모드로 전환된 후 화면 다시 생성을 하는 과정을 거친다. 이때 구지 이렇게까지 안해도 되는 상황들도 있기에 그런 경우 옵션은 아래와 같다. manifest.xml 파일 내에서 전환 시 아무런 동작도 원하지 않는 Activity의 경우 아래와 같이 configChanges 옵션을 추가해주면 된다. 더보기
JavaScript를 이용해서 포커스 아웃, 포커스 날려보내기 안드로이드에 WebView를 연결해서 하다 보면 이런 현상이 가끔 나옵니다. 웹에서 Input박스를 클릭하면 폰의 소프트키가 올라오는데요. 입력을 하는 것까진 좋은데, 그 뒤에 다른 화면 예를 들면 지도 화면 같은 것을 움직이다 보면 Focus가 아직 Edit박스에 머물러 있어서 소프트키가 계속 올라오는데요. 불편한 수준이 아니라 사용을 못하는 수준입니다. 이럴 때는 Input박스의 포커스를 날려버리고 싶은데요. 이럴때 Javascript로는 document.대상.blur() 라고 해주면 됩니다. 그럼 포커스가 사라지구요. 참고로 focusout이 있는데, 이는 focus를 잃었을 때 발생되는 이벤트입니다. 예를 들면 Input값에 어떤 값을 넣고, valid 체크를 한다고 하면 focus를 벗어낫을 때.. 더보기
안드로이드 앱 데이터 - SQLlite 데이터 편집툴 소개 안드로이드 앱을 만들면서도 데이터들을 저장하고 보여줘야할 때가 있는데, 이때 유용한 것이 안드로이드에서 기본적으로 제공하는 SQLLite이다. 여기서 데이터를 편집해서 넣기를 원할 수 있는데, 이때 유용한 툴이다. http://www.sqliteexpert.com/ 더보기
안드로이드 앱 글로벌 버전 만들기 글로벌 버전은 앱을 영어로 만들면 된다고 간단하게 생각할 수도 있다. 그럼 리소스들을 영어로 표시 하는 것이 필요하고, 그 영어 버전과 한글 버전을 어떤식으로 관리할지가 고민스럽다. 리소스 관리 그리고 소스 관리 어떻게 하는게 효율적일까? 앱의 전략에 따라서 앱을 2개로 나눌 수도 있고, 하나의 앱으로 리소스만 달리 할 수도 있다. 당연히 하나의 소스에 리소스만 분리하는게 유리할 것으로 생각된다. 안드로이드는 기본적으로 다국어 지원을 잘(?) 해주려고 준비가 되어 있다. 기본적으로 /res/values 에 /res/values-en를 추가하면 핸드폰의 언어에 따라서 자동으로 해당 언어로 로딩이 된다. 그렇게 폴더가 추가되고, strings.xml을 해당 폴더에 넣으면 스튜디오에서는 values에 stri.. 더보기
Java 안드로이드 형변환 함수 요즘 지도 상에 위도, 경도 값을 가지고 하다 보니 Java의 형변환을 정확하게 해야 할 필요가 있었는데요. 아래 예제 중에 변환 필요한 것을 찾아서 하시면 될거 같아요~! 알면 쉽고 모르면 어려운 그런 것이네요. public class StringChangeEx01 {public static void main(String[] args) {String str = "10";Integer wi = new Integer(str); // String → Integerint i1 = wi.intValue(); // 언박싱 / Integer → intint i2 = wi; // 오토 언박싱 / Integer → intint i3 = Integer.parseInt(str); // String → intSystem.o.. 더보기
[리눅스 명령어] VI 명령어 - 여러줄 복사할 때 알면 아주 간단하고 쉽네요. VI 에디터 상에서 ESC를 누르면 명령어 모드가 되죠. 이때 복사하고자 하는 영역을 지정할 수가 있는데요. 'v'를 누르면 됩니다. 그리고 지정하고자 하는 만큼을 지정을 하고 나서 'y'를 누르면 그 내용을 저장하게 되구요. 붙혀넣기 하고자 하는 곳에 가서 'p'를 누르면 됩니다. 이때 명령어 모드여야만 하겠지요. 간단히 표현하면 ESC -> 'v' -> 복사하고자 하는 영역 지정 -> 'y' -> 붙혀놓고자 하는 위치 이동 -> 'p' 익숙해지면 매우 편리하네요~! 더보기
리눅스 디스크 용량 확인 - df 너무 너무 간단해도 모르면 어려운 것이지요! 리눅스 시스템에 디스크 용량이 부족하면 서비스 운영에서 낭패를 볼 수 있는데요. 확인 명령은 완전 간단합니다. df 입니다. Disk Free로 기억하시면 되겠네요~! 아래와 같이 화면에 Use% 를 보시면 편하게 알 수가 있네요. 54%가 사용중이라서 아직은 여유 있다고 보이네요. 더보기
무료 아이콘 모음 대박 사이트 너무 행복해서 공유합니다~ 개발을 하다 보면 아이콘이 너무너무너무 필요한데요~ 그 아이콘을 이름만 치면 쭉 나오는 사이트가 있어서 공유합니다~ https://www.flaticon.com 그냥 보기만 해도 배가 부르네요~! 맘껏 개발해볼 수 있을거 같습니다~! 직접 해상도까지 골라서 다운로드 받을 수 있다는~ 이 사이트 만드신 분 사랑합니다~! 더보기
네이버, 구글 사이트 검색을 위한 필수 사이트 등록 방법 예전에는 사이트 등록이라고 하면 네이버 같은 경우나 구글도 개인 사이트를 URL 요청을 받아서 등록을 해줬는데요. 요즘 검색 사이트의 방식이 좀 바뀌어서 사이트를 직접 등록하는 것이 아니라 크롤링을 해주는 방식입니다. 그래도 네이버, 구글, 다음 검색 엔진에 등록은 해줘야 하는데요. 아래와 같습니다. 네이버 같은 경우는 네이버에서 '네이버 사이트 등록'이라고 치면 사이트가 나옵니다. 등록하는 과정에서 인증을 받는 과정이 있는데요. 내 페이지에 태그를 추가 하거나 또는 네이버에서 제공하는 파일을 내 서버에 올려주면 됩니다. 구글도 아래와 같습니다. 구글도 동일한 방식입니다. 다음은 아직 등록을 받고 있습니다. 다음도 신청을 하면 등록이 됩니다. 검색엔진에 등록을 해야 사용자들에 의해서 노출되니 필수가 되겠.. 더보기
HTML 온라인 에디터 추천 저는 개발은 조금 가능하지만 HTML 을 하라고 하면 디자인에 가까운 영역이여서 그런지 문법이 어려워서 그런지 정말 꾸미기도 어렵고 수정도 힘든데요. 결국 저 같은 사람을 위한 에디터가 있네요~ 온라인 HTML 에디터 여기에 원하는 글씨라든가 스타일을 맘껏 꾸미기 시작하면 오른쪽에 HTML가 즉시 동시 통역처럼 나옵니다. 너무 신박하죠~ 북마크 해두고 쓰면 참 편할거 같아요~ https://html-online.com/editor PC에서 접속하시면 매우 편리하구요. 모바일에서라고 한방 더보기
안드로이드 깔끔한 화면 UI 라이브러리 안드로이드 개발을 하다 보면 개발자로써 디자인이 힘들죠. .. 디자인을 무겁게 하고 싶은 생각은 없지만, 그래도 깔끔했으면 좋겠다는 생각! 여기 보니 화면을 시작할 수 있는 깔끔한 라이이브러리들이 아주 많이 있네요!! https://github.com/wasabeef/awesome-android-ui 이걸로 시작을 하면 그래도 깔끔한 화면으로 시작될거 같아요! 더보기
ActionBar에 SearchView 붙히기 - 에러 상황 탈출 안드로이드 아래 사이트를 따라하기로 하면 SearchView가 붙어야 한다. 이론적으로 https://developer.android.com/training/search/setup#java 그런데, 문제는 그렇게 해서 안되는 경우가 있다는 것이다. SearchView를 얻어왔는데, null이 나온 것이다. 해딩을 한시간째 하던 중에 가이드 대로가 아니라 아래와 같이 하니 오류가 나지 않았다. Class를 사용하는 것이 달랐던 것이다. 아뿔싸! 더보기
MYSQL 내 DB insert 시 기존 값 유무 검사 후 insert 하기 북스캔에서는 책을 검색하거나 바코드로 검색을 하면 히스토리를 저장하게끔 하였는데요. 회원가입도 없고 개인정보도 없습니다. 그냥 고유 번호를 주고 거기에 저장을 하는데요. 히스토리 기능 중에 바코드를 여러번 찍거나 혹은 페이지를 이동하게 되면 히스토리가 여러개가 보이는 일종의 버그 버그라기 보다는 개선사항이 있었습니다. 제가 원하는 방향은 동일한 책을 여러번 찍어도 한번만 보이고, 페이지를 이동해도 동일한 책은 한번만 보이는 것이지요. 물론 다른 책을 찍고 나서 그 전 책을 검색하면 나와야겠지요. 그러면 DB에 Insert를 해야 하는데요. 무조건 insert를 하는게 아니라 기존 마지막 레코드에 동일한 키워드 값이 있으면 넣지 말고, 동일한 키워드가 없다면 insert그래서 찾아보니 몇가지 방법이 있는데.. 더보기
[Linux] 리눅스 명령어 - iptables 1-1. iptables 기본 명령어 목록 * -L : 적용 되어 있는 정책 목록을 출력한다. * -A : 새로운 정책을 추가한다. * -I : 위치를 선택하여 정책을 삽입한다. * -R : 위치를 선택하여 정책을 교환한다. * -D : 위치를 선택하여 정책을 제거한다. * -N : 새로운 체인을 만든다.(INPUT, OUTPUT, FORWARD 외에) * -P : 체인에 미리 정의되어 있는 정책을 수정한다. * -F : 체인으로 부터 규칙들을 지운다. * -Z : 체인의 모든 규칙들의 패킷과 바이트 카운트를 0으로 만든다. * -X : 비어있는 체인을 제거한다. 1-2. iptables 기본 명령어 사용 예제 * iptables -L : 적용 시킨 정책 목록 출력 * iptables -D INPUT 1.. 더보기
[Linux] 리눅스 명령어 - find find 문법 : find [경로] [-옵션] [옵션 내용] ex) find / -perm +6000 ( / 경로 아래로 suid나 sgid가 둘 중 하나라도 걸린 모든 파일을 찾는다.) 아래는 find 플래그 옵션들이다. *************************************************************************************** -name : 파일명으로 탐색한다. -perm : 파일의 권한으로 탐색한다. [- ] : 설정된 권한의 모든 것이 설정된 파일을 찾는 것 [+ ] : 설정된 권한 중 하나라도 설정된 파일을 찾는 것 -group : 해당 그룹 소유의 파일을 탐색한다. -atime +n/-n/n +n : n일 이전 또는 n일보다 더 이전에 엑세스된 .. 더보기
[Linux] 리눅스 명령어 - ps 시스템에서 현재 실행중인(sleep상태도 포함)프로세스에 대한 정보를 각 PID와 각 프로세스의 부모 ID(PPID)를 표시해 준다. [옵션] -a(all processes) 프로세스 현황 표시(다른유저) -u(user) 유저지향적(top 포맷) -x 터미널 제어 없이 프로세스 현황 보기 -e(all processes) 현재 system내에서 실행중인 모든 프로세스 정보를 출력 -f(full listing) (uid,pid,ppid,c stime,tty,time,cmd) -o(user) 유저 포맷팅 $ ps -ef | grep "java" $ ps -ef | grep "aws" $ ps -ef | grep "grep" $ ps -ef | grep "grep" | wc -l 더보기
[Linux] 리눅스 명령어 - find ## 특정 문자열을 찾아 변경하는 방법 ## find -name "*.conf" | xargs sed s/찾을단어/원하는단어/g -i 위의 명령어는 *.conf 파일을 찾아서 내용중에 찾을단어를 원하는 단어로 변경. vi 에서는 :%s/기존문자열/새문자열 ## find 명령어 ## find ./ -name 찾을파일명 < 파일명 찾기. find ./ -user 찾을파일명 < 파일의 특정 소유자 찾기. ex) nobody find ./ -size +10k -size 100k < 10kb~100kb 인 파일찾기. find ./ -name "*.conf" -exec rm {} \; 더보기
리눅스 백그라운드 실행방법 리눅스 나 유닉스의 터미널이 종료되도 살아있는 프로세스로 실행하는 방법 백그라운드 실행 명령 & 예) a.out & 터미널에서 백그라운드 실행할 경우 터미널을 종료하면 백그라운드 되던 프로그램이 종료되거나 터미널이 종료되지 않을 수 있다. 터미널이 종료되도 계속해서 백그라운드로 실행되는 프로세스를 만들기 위해서는 nohup명령을 사용한다. 사용법 : nohup 명령어 & 예) nohup a.out & 더보기