지식메모
-
mysql not in 사용해서 차집합 검색하기2013.11.26
-
Json의 이해2013.11.05
-
Youtube 유튜브 영상 이전소스 코드로 퍼올때 안 나오는 문제2013.11.03
-
안드로이드 로딩메세지 띄우기2013.10.27
-
안드로이드 소리/효과음 재생이 안될때 해결책2013.10.24
-
리눅스 vi/vim 단축키 모음2013.10.22
-
리눅스 vi,vim 블럭 복사하기2013.10.22
mysql not in 사용해서 차집합 검색하기
A B 두 테이블이 있다고 가정하자
A와 B는 id라는 컬럼을 공유하며 가지고 있다.
A는 B를 포함하고 있다. 여기서 A 테이블의 id 에서 B테이블의 id를 제외한 결과를 가져오고 싶다면
select A테이블의 컬럼명 from A테이블 where id not in (select B테이블의 컬럼명 from B테이블);
select id from A where id not in (select id from B);
를 하면 된다.
쉽게? 설명하자면 빨간색 공과 파란색 공이 섞여있는 상자에서 파란색 공을 빼고 싶으면
select 공 from 빨강 where 공 not in (select 공 from 파랑);
'지식메모 > MySQL' 카테고리의 다른 글
최근 기간 내에 데이터 검색하기 (시간,기간 검색) (2) | 2013.10.14 |
---|---|
mysql join 문 사용하기 (0) | 2013.08.07 |
MySQL 캐릭터 셋 한글로 바꾸기 (0) | 2013.07.22 |
내가 자주 쓰는 MySQL 명령어 (0) | 2013.07.22 |
MySQL 테이블 스키마 보기 (0) | 2013.07.22 |
php 문자열 공백제거하기
페이지 입력 폼에서
[ 상처를 치료해줄 사람 어디없나 ]
라는 문자열을
$string = $_GET['string'];
GET 형식으로 받았다면
문자열 앞 뒤 공백제거하기 trim($string); 결과는 [상처를 치료해줄 사람 어디없나] |
모든 공백을 제거하기 preg_replace("/\s+/", "", $string); 결과는 [상처를치료해줄사람어디없나] |
'지식메모 > PHP' 카테고리의 다른 글
문자열 분리하기 다루기 (0) | 2013.10.08 |
---|---|
게시판 글 번호 구하기 (2) | 2013.08.13 |
게시판 페이징 구현하기 (44) | 2013.08.12 |
날짜 출력 함수 사용하기 (0) | 2013.08.05 |
문자열 잘라쓰기 (0) | 2013.08.05 |
Json의 이해
만들고자 하는 구조는
{
"j1":{
"j2":{
"arr1":[{"j3":"a"},{"j4":"b"}]
}
}
}
이런 유형의 구조이다. 그렇다면 필요한 코드는
ObjectNode json = json.newObject();
ObjectNode j1 = json.newObject();
ObjectNode j2 = json.newObject();
ObjectNode arr1 = json.newObject();
ObjectNode j3 = json.newObject();
ObjectNode j4 = json.newObject();
ArrayNode array = null;
이렇게 한 뒤 구현하려면 역순으로 구현한다.
json객체 생성
j3.put("j3","a"); --> {"j3":"a"}
j4.put("j4","b"); --> {"j4":"b"}
json객체를 array라는 배열에 삽입
array.add(j3); --> [{"j3":"a"}]
array.add(j4); --> [{"j3":"a"},{"j4":"b"}]
array배열을 arr1이라는 key로 arr1 jsonobject에 삽입
arr1.put("arr1",array)
--> {arr1:[{"j3":"a"},{"j4":"b"}]}
arr1 jsonObject를 j2라는 key로 j2 jsonObject에 삽입
j2.put("j2",arr1);
--> {j2:{"arr1":[{"j3":"a"},{"j4":"b"}]}}
j2 jsonObject를 j1라는 key로 j1 jsonObject에 삽입
j1.put("j1",j2);
--> {"j1":{"j2":{"arr1":[{"j3":"a"},{"j4":"b"}]}}}
이렇게 된다.
역순으로 jsonObject생성해서 배열에 넣고,
그 배열을 jsonobject 생성해서 집어넣고,
그걸 또 jsonObject에 넣는 역순이다.
위 소스를 쉽게쓰면
ObjectNode json1;
ObjectNode json2;
ObjectNode json3;
arrayNode arr = null;
json3 = json.newObject();
json3.put("j3","a");
arr.add(json3);
json3 = json.newObject();
/*
여기서 json3은 객체 새로 생성안하면
{"j3":"a", "j4", "b"}가 되고,
객체를 새로 생성하면
{"j4":"b"}가 된다.
초기화 안하면 아래 arr.add에서
{"j3":"a"},{"j3":"a","j4":"b"} 로 들어가게된다.
*/
json3.put("j4","b");
arr.add(json3);
json3 = json.newObject();
json3.put("arr1",arr);
json2 = json.newObject();
json2.put("j2",json3);
json1 = json.newObject();
json1.put("j1",json2);
이런 식이다. 간단한거 같은데 많이 헷갈린다;;
'지식메모 > JAVA' 카테고리의 다른 글
Java 텍스트 파일 생성과 읽기를 이용한 누적시간 계산하기 (0) | 2014.12.29 |
---|---|
숫자 천단위 콤마 입력하기 (0) | 2014.09.25 |
대문자 소문자 서로 변환하기 (0) | 2013.10.08 |
java 문자열 구분자로 자르기 (0) | 2013.10.02 |
ObjectNode 와 JsonNode 차이? (0) | 2013.09.06 |
Youtube 유튜브 영상 이전소스 코드로 퍼올때 안 나오는 문제
유튜브에서 자주 영상을 퍼오는데 iframe은 사이트마다 막아놓은 곳이 있어 주로 Object형식인 이전소스코드로 퍼오기를 쓰고 있따.
그런데 언젠가? 부터 퍼왔는데 영상을 올리면 화면이 나오질 않았다. 왜 그런가 별 짓을 다해봤는데 왠걸..
이전소스 코드를 보니 주소가 이상하게 되어있었따.
빨간 줄을 보면 주소가 저렇게 되어있다. 그래서 앞에 http://로 바꿔주었더니 영상이 제대로 나왔다..
ex) http://www.youtube.com
왜 저렇게 되어있는지는 잘 모르겠다.
'지식메모 > 꿀팁' 카테고리의 다른 글
엑셀 빈칸 없애기 (0) | 2014.01.01 |
---|---|
Youtube 유튜브 영상 한방에 mp3 파일로 만들기 (0) | 2013.12.14 |
git 명령어 정리 (2) | 2013.09.26 |
git 사용법 (5) | 2013.09.26 |
윈도우7에서 하드디스크 파티션 나누기 합치기 (0) | 2013.09.20 |
안드로이드 로딩메세지 띄우기
Oncreate() 부분에
createThreadAndDialog();
추가해주고
밑의 소스를 추가해주면 된다.
private ProgressDialog loagindDialog; // 로딩화면 void createThreadAndDialog() { /* ProgressDialog */ loagindDialog = ProgressDialog.show(this, "다이얼로그 명", "Loading.....", true, false); Thread thread = new Thread(new Runnable() { private static final int LOADING_TIME = 2000; @Override public void run() { // 시간걸리는 처리 handler.sendEmptyMessageDelayed(0, LOADING_TIME); } }); thread.start(); } private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { loagindDialog.dismiss(); // 다이얼로그 삭제 // View갱신 } };
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 팝업창 만들기(xml 내용 집어넣기) (17) | 2014.01.10 |
---|---|
안드로이드 검색 자동완성 만들기 (0) | 2013.12.19 |
안드로이드 소리/효과음 재생이 안될때 해결책 (0) | 2013.10.24 |
안드로이드 레이아웃 버튼 보이기 숨기기 (1) | 2013.09.22 |
안드로이드 EditText 에디트텍스트 값 남겨두기 (0) | 2013.09.09 |
안드로이드 소리/효과음 재생이 안될때 해결책
soundpool을 이용한 간단한 소리나 효과음 재생하는 방법 링크
↓↓↓↓↓↓
그런데 이거대로 했는데 소리가 안났다.
검색을 해보니 나와 같은 증상을 겪은 사람들이 올린 글의 댓글에 해결책을 찾았다.
여기에 해결책이 있었다.
↓↓↓↓↓↓
http://www.androidpub.com/1228909
천상룡섬님과 커널제로님의 해결책이었는데
원인은
"해당 문제는 말 그대로 sound pool이 음원 재생 전 load 단계에서 준비가 되지 않아 발생한 문제입니다."
라고 한다.
그래서 커널제로님이 그 해결코드를 올려주셨는데 load가 될때까지 sleep으로 시간을 주었다.
해보니까 소리가 났다!!
이런 분들 정말 좋으신 분들이다.
복 받으시길..
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 검색 자동완성 만들기 (0) | 2013.12.19 |
---|---|
안드로이드 로딩메세지 띄우기 (0) | 2013.10.27 |
안드로이드 레이아웃 버튼 보이기 숨기기 (1) | 2013.09.22 |
안드로이드 EditText 에디트텍스트 값 남겨두기 (0) | 2013.09.09 |
안드로이드 Spinner(스피너) 값 전달하기 (11) | 2013.08.29 |
리눅스 vi/vim 단축키 모음
키보드 이미지로 아주 잘 정리되어있다.
능력자 분들은 언제나 대단하다.
위 링크를 누르면 키보드 이미지가 굉장히 많다. 맘에 드는거 하나 골라서 프린트 해놓으면 유용할 듯 싶다.
'지식메모 > 리눅스' 카테고리의 다른 글
리눅스/Cent OS 7 인터넷이 되지 않을 때 일시적 해결방법(*재부팅하면 다시 인터넷 안됨) (2) | 2015.06.05 |
---|---|
리눅스/Cent OS 에서 추가 하드디스크 마운트 하기 (4) | 2015.04.21 |
리눅스 vi,vim 블럭 복사하기 (0) | 2013.10.22 |
vim 문자열 찾기 (0) | 2013.09.02 |
리눅스 운영체제 비트 확인하기 (0) | 2013.07.26 |
리눅스 vi,vim 블럭 복사하기
vim을 처음 다루는데 마우스를 쓸 수 없다는 핸디캡이 멘붕이 왔다.
복사도 자유자재로 하고 싶은데 못했다.
찾아보니 있긴한데 키보드로만 하기 너무 불편하다.
게다가 방향키도 안 먹힌다.ㅡㅡ (최신버전의 vim에서는 가능하나 구 버전에서는 커서는 움직이는데 복사할 때 먹히지 않는다. )
방향키
h : 왼쪽방향 |
j : 아래방향 |
k : 위 방향 |
i : 오른쪽 방향 |
소문자 v
소문자 v를 누르면 왼쪽 하단에 비주얼 이라고 뜬다.
(영문버전은 visual이라고 뜸)
그럼 커서를 움직이면 블록이 선택되는데 복사할 부분을 블록한다.
그런 다음 y를 누른다. 그럼 블록이 없어지는데 복사가 된 것이다.
그런다음 붙여넣을 곳으로 가서 p를 누른다.
그럼 이렇게 복사가 된다.
또 다른 방법은
쉬프트+v 즉 대문자 Y를 누르면 비주얼 라인이라고 뜨는데
소문자 y처럼 한 글자 선택이 안되고 그냥 줄이 선택된다.
그리고 복사방법은 위와 동일
그리고 컨트롤+v 를 누르면 비주얼 블록이라고 뜨고
예쁘게 블록 선택이 된다.
지울 때는 d 누르기
요약
1. v를 눌러서 복사할 코드를 선택한 후
2. y를 누른다.
3. 붙여넣을 자리로 커서 이동
4. p를 누른다.
'지식메모 > 리눅스' 카테고리의 다른 글
리눅스/Cent OS 에서 추가 하드디스크 마운트 하기 (4) | 2015.04.21 |
---|---|
리눅스 vi/vim 단축키 모음 (0) | 2013.10.22 |
vim 문자열 찾기 (0) | 2013.09.02 |
리눅스 운영체제 비트 확인하기 (0) | 2013.07.26 |
루트 권한 폴더를 내 계정 권한폴더로 바꾸기 (0) | 2013.07.17 |