MySQL 에서 IF문 사용하기

Mysql RSS Icon ATOM Icon 2012/05/14 16:28 visualp
[MySQL] IF문 사용예제

※ 경고
높이뜬새의 모르는 사람이 없는 팁시리즈 입니다.
이 팁시리즈는 지면낭비라는 항의시에 즉각 중단됩니다.

MySQL에서는 IF문 자체를 프로시져 도움없이도 SQL문에 바로 삽입하는 것이 가능해서 무척 편리합니다. 물론 제어부분이 계속 중첩된다면 CASE문을 사용하셔야 합니다.

형식) if (조건,
참일때 결과,거짓일때 결과)


예1) 쉬운 예

mysql> SELECT if( 2 > 1, '참', '거짓' );

결과 : 2가 1보다 크므로 당연히 참을 출력합니다.

예2) WHERE절에서 사용

SELECT * FROM join_table WHERE if( CHAR_LENGTH(name) = 2, 'Y', 'N' ) = 'Y';

결과 : join_table의 name컬럼에서 이름이 두글자인 분만 가져옵니다.


예3) SELECT문에서 사용

SELECT if( substr( name, 1, 1 ) = '강', '강씨', name ) FROM join_table;

결과 : join table의 name컬럼에서 이름의 첫자가 '강' 이면 '강씨'를 출력하고, 아니라면 name 컬럼의 이름을 걍 출력합니다.

From : 높이뜬새(www.webmadang.net)

이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/473

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/473

[원문] : http://writerkim.pe.kr/1132


앱개발을 막 시작한 사람들에게 도움을 주고자 이 포스팅을 작성한다.


앱 스토어에 앱을 등록하는 단계는 크게 3가지로 나눠진다.

1. App의 Apple ID 만들기
- 앱도 고유의 ID를 갖게된다. 그리고 당신은 애플에게 "나 이런 앱을 만들 예정이다."라고 통보할 수 있다. 적어도 App Name을 선점하는 효과가 있다.

2. Metadata등 앱 정보 입력하기
- 앱에 대해 입력해야하는 정보가 참 많다. 이 부분은 다음 단계 직전까지, 혹은 일부항목은 앱을 판매중에도 언제든지 수정이 가능하다.

3. Binary File 올리기
- 열심히 개발해서 만든 Binary file을 애플 쪽에 심사를 요청하는 것이다.




이 포스팅은 1번, 당신이 만든 App에게 Apple ID를 만드는 과정을 중심으로 설명할 것이다. 그리고 이 과정은 짧게는 10분이면 가능하겠지만, 대부분의 개발자, 개발사들은 이 과정이 꽤나 오래걸리게 된다. 왜냐면 앱을 만들면서 이것 저것 수정할 것들이 생기기 때문이다.

그리고 In-App Purchases 등을 정상적으로 테스트하기 위해서는 이 과정을 미리 밟아놔야 한다. 그래야 In-App Purchases Item도 등록할 수 있기 때문이다.

나는 당신이 앱을 만드는 프로덕트 매니저라도 생각하고 앱을 등록하는 과정을 설명하려고 한다. 1번 과정 중심이며, 사실 1번이 전부이기도 하다.

<Brief>
당신의 1번 과정을 밟기 위해 필요한 최소한의 것들
- App의 Bundle ID (Provisioning Portal에서 확인하라 or 개발자에게 물어보라)
- iTunes Art : 앱스토어에 노출될 아이콘 이미지 (512x512)
- Screenshot : 당신의 앱의 스크린캡쳐 이미지 (아이폰/아이패드 해상도와 동일해야 함)

최소한 위의 3가지가 있어야 App을 애플 측에 "신고"할 수 있다.
iTunes Art나 Screenshot이 없다면, 사이즈만 맞춰서라도 업로드시키면 된다.




자, 이제 아래는 하나하나 차근차근 앱을 등록해나가는 과정이니, 모르는 것 혹은 준비되지 않은 것은 Skip하거나 우선은 임시로 입력하면서 진행해 나가길 바란다. Good Luck to You.



1. 아이튠즈 커넥트에 접속한다.
- https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa

2. 로그인한다.
- 각자 아이디로 로그인 합니다.

3. [Manage Your Applications] 클릭
- 이미지 참고


4. <Manage Your Apps>에서 [Add New App] 클릭










5. <App Information>에서 아래의 3가지 항목 입력


1) App Name

[Q] App Name이 무엇인가?
[A] 앱의 정식이름이다. iTunes 스토어에서 노출되는 이름이다.

[Q] iPhone이나 iPad의 Home Screen에서 아이콘 밑에 보이는 앱이름(Bundle Display Name)인가?
[A] 아니다. Home Screen에 노출되는 이름은 심사시 업로드하는 바이너리 파일 안에서 Bundle Display Name이라는 항목으로 심어놔야 한다.

[Q] App Name과 Bundle Display Name이 동일해야 하는가?
[A] 그렇지 않다.

[Q] App Name은 한번 입력하면 수정이 불가능한가?
[A] 수정가능하다. 단, 앱을 심사받기 전에만 가능하다. 지금 밟고있는 절차인 <Add New App>과정은 <App Information>을 입력하는 첫 단계부터, 당신이 개발을 완료한 Binary File을 애플에 제출하는 단계까지 몇 단계로 나눠지며, 애플이 당신의 앱을 심사하는 In Review 전까지는 수정할 수 있다.

[Q] 한번 심사받은 App이름은 절대 수정불가능한가?
[A] 가능하다. 단, App의 버전을 업데이트할 때만 가능하다. Waiting For Review 이전상태에서는 <Version Information> 항목 옆에 Edit버튼이 노출된다. 이 버튼을 클릭하면 App Name을 수정할 수 있다.

[Q] 그럼 지금 당장은 App Name을 대충 입력해도 된다는 말인가?
[A] 정확히 그렇다. 너무 걱정하지 마라. 앞으로도 많은 단계가 남았다. 대충 입력해도 된다. 단, 다른 App과 이름이 같아서는 안된다.

[Q] App 이름을 한글로 입력해야 하나? 영어로 입력해야 하나?
[A] App Name은 전세계 앱스토어에 "기본적으로는" 공통으로 노출된다. 단, 애플이 제공하는 Localization 기능을 통해서 각 언어별로 App Name을 다르게 노출되게 할 수 있다. Localization은 나중 단계에서 설정할 수 있다.)

ex) Talking Santa의 경우 미국 앱스토어에서는 "Talking Santa"라고 App Name이 노출되나, 한국 앱스토어에서는 "말하는 산타 - Talking Santa"라는 App Name으로 노출된다.



2) SKU Number

[Q] SKU Number는 숫자로만 입력해야 한다고 하는데 법칙이 있는가?
[A] 당신이 올리는 앱을 다른 앱과 구분지어줄 수 있는 숫자 구분이다. 2자리 수 이상이면 된다.



3) Bundle ID

[Q] 콤보박스 중에서 선택하면 되는가?
[A] 그렇다. iOS Provisioning Portal에서 당신이 앱을 처음 개발할 <App ID>에서 생성했던 Bundle ID를 콤보박스에서 선택하면 된다. 단, Bundle ID를 한번 사용하면 수정할 수 없다.


6. <App등록테스트>라는 이름 영역에는 당신이 입력한 App Name이 들어가 있을 것이다. 내가 등록하고 있는 App Name이 "App등록테스트"이니 싱기해하지 말자 ;;;

1) Availability Date

[Q] A.D는 무엇인가?
[A] App 판매를 개시하고 싶은 날짜이다.

[Q] 가장 빨리 팔고 싶으면 언제로 맞추면 되나?
[A] 등록하는 날의 날짜로 해놔도 된다.

[Q] 내가 지정해 놓은 날짜보다 심사가 먼저 끝나면 어떻게 되나?
[A] 지정해 놓은 날짜에 App이 풀린다.

[Q] 앱 심사가 들어간 다음에도 Availability Date를 수정할 수 있나?
[A] 가능하다. 그러니 너무 걱정하지 말라. Waiting for Review에서도 수정할 수 있다.



2) Price Tier

[Q] Price Tier는 무엇인가?
[A] 앱플이 정해놓은 가격단위를 선택하는 것이다. 당신의 앱은 애플이 정해놓은 가격 단위에서 선택해서 지정할 수 있다. Tier1이 $0.99이다.

[Q] 국가마다 Tier를 다르게 할 수 있나? 한국에서는 $0.99로 미국에서는 $1.99로 팔고 싶다.
[A] 불가능하다. Tier는 전세계 앱스토어에 공통으로 적용된다. 단일 앱이 국가별로 가격을 다르게 판매할 수는 없다.

참고로 Tier1이 한국, 미국, 중국, 캐나다 등은 $0.99이지만 일본은 115엔, 영국은 0.59파운드, 호주는 $1.19 호주달러이다. Tier의 단위가 국가마다 다르니 글로벌 앱을 등록시에는 인지하고 있으면 좋다.

[Q] 가격은 수정이 가능한가?
[A] 언제든지 가능하다. 심사 전에도, 심사 중에도, 심사 후에도, 판매 중에도 언제든지 가능하다.

[Q] iTunes Connect에서 가격을 수정하면 앱스토어에서 바로 적용되나?
[A] 일반적으로 약 2~3시간 정도 후에 적용된다.

[Q] Tier를 무료로 바꿀 수도 있나?
[A] 가능하다. 그런데 알고 있어야하는 것은 Paid App과 Free App은 랭킹을 구분짓고 있다. 당신이 오늘 당신의 App을 Paid App에서 Free App으로 변경하여 얻은 다운로드 수(랭킹에 반영된다)는 내일 다시 Free App에서 Paid App으로 변경할 경우, 무용지물이 된다.


3) Discount for Educational Institutions

[Q] 이건 뭔가?
[A] 애플이 교육기간의 앱스토어로 당신의 앱을 구매할 경우 할인해 것이냐고 물어보는 것이다. 대한민국을 대상으로 앱을 개발 중이라면 고민할 여지는 없을 것 같다.


4) Specific Store

[Q] 이건 뭔가?
[A] 전 세계 앱스토어가 아닌 특정 국가의 앱스토어에서만 판매하고 싶을 때 클릭한다.

ex) 저작권 문제가 있어 한국 앱스토어에서만 판매하고 싶다. Specific Store를 클릭하여 한국앱스토어만 체크하면 된다.





 

7. 계속해서 <Metadata>와 <Rating>과 <EULA>, 그리고 스크린샷<Uploads>과정이 남아있다.
아직 안도의 한숨을 내쉬어서는 안된다. 이 페이지 하단의 [Save]버튼을 누르기 전까지는 이 App은 아직 Apple 쪽에 등록되지도 않는다.

7.1 Metadata

1) Version Number
- 첫 앱이라면 1.0 이나, 1.0.0 이런 식으로 넣으면 된다. 바이너리 파일 안에도 Version Number를 넣어야 하는데, 두 숫자가 동일해야 한다.

2) Description
- 앱에 대한 소개를 입력한다.

[Q] Description은 수정이 가능한가?
[A] 가능하다. 언제든 가능하다. 심사 전에도, 심사중에도, 판매중에도... 그러니 전혀 걱정하지 말라. 그렇다고 앱심사를 신청할 때 Description을 지나치게 빈약하게 혹은 장난으로 작성하면 리젝 당할 수도 있다.

[Q] Description는 어디에서 노출되나?
[A] iPhone, iPad의 앱스토어를 비롯해, iTunes의 App Store의 App 정보페이지에 노출된다.

[Q] Description을 수정하면 즉시 앱스토어에 반영되나?
[A] 그렇지 않다. 약 2~3시간 뒤에 반영된다.


3) Category
- 앱의 카테고리를 선택한다.

[Q] Category는 수정이 가능한가?
[A] 심사 전까지는 수정이 가능하다. 그러니 지금 당장은 선택하지 못 해서 앱등록을 포기할 필요는 없다. 단, In Review 단계부터는 수정이 불가능하다.

[Q] 심사받은 이후에는 Category 수정이 불가능한가?
[A] 가능하다. 단, 새로운 버전의 앱을 업데이트할 때만 가능하다. 그러니 어느 카테고리에서 경쟁할 것인지를 심사숙고하여 선택해야 한다. 물론 앱의 성격과 맞지 않는 카테고리를 선택하면 리젝사유가 된다고 한다.


4) Keyword
- 앱스토어에서 사용자들이 키워드 검색으로 당신의 앱을 찾을 수 있도록 등록하면 된다. 100byte까지 등록이 가능하다.

[Q] 키워드 간에는 콤마로 구분하나? 콤마 다음에 공란을 줘야하나?
[A] 콤마로 구분한다. 콤마 다음에 스페이스바를 눌러 공란을 주면 100byte를 금방 다 쓰게 된다. 그러니 콤마 다음에 스페이스를 누르지 않아도 된다.

[Q] 키워드는 언제든지 수정이 가능한가?
[A] 그렇지 않다. App Name, Category와 Keyword는 버전 업데이트시에만 가능한 항목이니 유념하도록 하자.


5) Contact Email Address
- 이건 당신의 이메일 주소를 입력해주면 된다. 사용자들에게 노출되는 이메일이 아니다. Apple이 심사중에 문제가 생기면 연락하는 이메일 채널이다. 언제든지 수정이 가능하다.


<웹사이트: 8. | 지원: 6. >

6) Support URL
- 이건 App Store에서 App소개 페이지에서 사용자들이 클릭으로 링크를 타고 들어갈 수 있는 링크이다. 홈페이지나 블로그 등으로 연결해두면 된다. 역시 언제든지 수정이 가능하다. 반드시 링크를 입력해야 하고 위에 첨부된 이미지 중에 [OO앱이름OO 지원]이라는 버튼에 링크가 걸린다.

7) App URL
- 선택사항이며, 위에 첨부된 이미지 중에 [OO개발자OO 웹 사이트]라는 버튼에 링크가 걸린다.

8) Privacy Policy URL
- 선택사항이다.

9) Review Notes
- 역시 선택사항이다. 한 가지 주의해야 하는 것은 앱 내에 회원가입 이나 로그인 기능이 포함되어있는 앱의 경우는 이 공란에 ID와 PW를 입력해줘야 한다. ID/PW를 깜빡하고 입력하지 않았다가 10일 기다렸다가 리젝통보받고 나면 후회가 막심할 수 있다. 빠뜨리지 말자.



8. 다음은 Rating이다.
- +4 / +9 / +12 / +17 다음과 같은 레벨이 있다. 여기서 체크를 잘 못 했다고 앱을 리젝시키는 경우는 없는 것 같다. 단 +17의 앱의 경우는 사용자가 다운로드나 업데이트할 때 경고창이 한번 더 뜨게 된다.


9. EULA
- End User License Agreement의 약자이며, 애플은 당신의 앱을 중계하여 판매하는 입장이라, 앱개발사가 앱구매자(End-User)에게 계약조건을 체결하고자 할 때 이 항목을 사용하면 된다. 일반적으로 그냥 Standard EULA를 사용하면 된다. (아무 설정을 하지 않으면 Standard EULA가 적용 됨)


10. 이제 거의 다 왔다. Upload 순서이다. <iTunes Art>와 <스크린샷>을 올리면 된다.

1) iTunes Art (Large Icon)

[Q] iTunes Art는 무엇인가?
[A]앱스토어 내에서 노출될 앱의 아이콘이다. 512x512 사이즈이다.

[Q] 아이폰과 아이패드 홈스크린에서 보여지는 아이콘이 이 이미지인가?
[A] 아니다. 앱스토어에서 노출되는 이미지이다. 홈스크린, 스포트라이트(검색) 용 아이콘은 바이너리 파일 안에 담겨있는 이미지를 사용하게 된다.

[Q] iTunes Art를 올렸더니 모퉁이가 round 처리되고 반사광도 생긴다. 없앨 수 없나?
[A] 그건 애플이 자동으로 그렇게 만들어서 미리보기 해주는 것이다. 앱스토어에 노출 될 때는 반사광이 사라진다. 모퉁이는 라운드처리 돼서 노출된다.

[Q] 네 모퉁이를 라운드처리한 이미지를 올려도 되나?
[A] 가이드에 따르면 라운드 처리하지 않은 이미지를 올리라고 나온다.

[Q] 한 번 올린 iTunes Art 이미지를 교체할 수 있나?
[A] 가능하다. 단 심사전까지 가능하며 심사 이후에는 변경이 불가하다. 단, 업데이트 시에는 App
Name을 변경할 수 있듯이, iTunes Art(Large Icon)도 변경이 가능하다.


2) Screen Shot
- 당신의 앱의 구동장면을 스크린 캡쳐 하여 올리면 된다.

[Q] 반드시 스크린캡쳐 이미지어야 하나?
[A] 그렇진 않다. 아래와 같이 사용예에 맞는 이미지를 올리는 것도 효과적인 홍보방법이 된다.
단, 사이즈와 파일포맷은 정해져있으니 jpg나 png, tif 파일로 아이폰용 이미지는 480x320 으로 iPad는 1024x768에 맞춰서 올리면 된다.



[Q] 480x320으로 올리면 Retina Display에서 흐려보이진 않나?
[A] 그렇지 않다. 애플이 알아서 리사이즈해서 절반크기로 줄여서 보여준다.

[Q] 왜 iPhone과 iPad 둘 다 올리게 해놨나?
[A] Universal 앱을 배려한 구조이다. iPad앱이면 iPad에만 올리고, iPhone앱이면 iPhone에만 올리면 된다.

[Q] 스크린샷 이미지를 교체할 수도 있나?
[A] 가능하다. 심사전에도 심사 후에도, 판매중에도 교체할 수 있다. 단, 판매중에 스크린샷을 이미지를 교체하면 즉각 반영되지 않을 수 있다. 스크린샷 이미지 5개 중에 한개를 삭제하고, 다른 이미지 한개를 추가했는데, 삭제는 3시간 뒤에 반영되었으나, 추가는 5일 뒤에 반영된 적이 있다.


자 이제 [Save]버튼을 클릭하자.

자 이제, 당신의 앱은 애플에 등록되었고, Manage Your App 메뉴에서도 살펴볼 수 있게 되었다. Manage Your App에서 방금 등록한 앱을 클릭하면 아래와 같은 앱 관리 화면을 볼 수 있다.

11. [View Detail]을 클릭한다.
12. 다음 화면에서 우측 상단의 [Ready to Upload Binary]를 클릭한다.
13. Encryption 여부를 확인한다.


- Does your product contain encryption or does it use or access encryption from another source, e.g., iOS or Mac OS X?

- 앱안에 로그인 이나 인증기능이 포함된 경우는 YES를 선택한다. 없으면 NO하면 된다. NO 다음에는 [SAVE] 버튼을 누르면 된다.



- YES인 경우에는 아래의 체크박스를 한번 더 확인해줘야 한다.

- 단순 인증이나 바이러스 보호 목적 이외의 encryption을 사용한다면 yes를 클릭하라고 한다. 보통은 인증 수준일테니 NO를 클릭하고 [SAVE]버튼을 클릭하면 된다.

이제 앱의 상태는 <Waiting for Upload>가 된다.

자, 이제 개발자가 Uploader 프로그램을 이용해서 Binary File을 업로드 시키면 된다.
파일을 업로드하고나면 다음 상태는 <Waiting for Review>가 된다.


아마 이제 당신의 몫은 다 끝났을 것이다.
수고했다. 다음 단계는 2~4일 뒤에 In Review가 들어가고, 업무일로 5~10일 사이에 Ready for Sale이 뜰 것이다. 당신의 앱과 등록과정에 별문제가 없다면 말이다. : )



이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/472

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/472

[원문] http://depository.tistory.com/entry/%EC%98%A4%EB%9D%BC%ED%81%B4%EC%97%90%EC%84%9C-MySql-%EC%9D%98-Limit-%EA%B5%AC%ED%98%84
테이블에서 최신 레코드만 가지고 오고 싶을때

MySql
select * from tableA order by reg_dt desc limit 1;


Oracle
select * (select * from tableA order by reg_dt desc) where rownum = 1;
이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/471

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/471

css, hack , ie hack selector

웹표준 RSS Icon ATOM Icon 2012/03/29 13:51 visualp

Target ALL VERSIONS of IE

<!--[if IE]>
	<link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->

Target everything EXCEPT IE

<!--[if !IE]><!-->
	<link rel="stylesheet" type="text/css" href="not-ie.css" />
 <!--<![endif]-->

Target IE 7 ONLY

<!--[if IE 7]>
	<link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->

Target IE 6 ONLY

<!--[if IE 6]>
	<link rel="stylesheet" type="text/css" href="ie6.css" />
<![endif]-->

Target IE 5 ONLY

<!--[if IE 5]>
	<link rel="stylesheet" type="text/css" href="ie5.css" />
<![endif]-->

Target IE 5.5 ONLY

<!--[if IE 5.5000]>
<link rel="stylesheet" type="text/css" href="ie55.css" />
<![endif]-->

Target IE 6 and LOWER

<!--[if lt IE 7]>
	<link rel="stylesheet" type="text/css" href="ie6-and-down.css" />
<![endif]-->
<!--[if lte IE 6]>
	<link rel="stylesheet" type="text/css" href="ie6-and-down.css" />
<![endif]-->

Target IE 7 and LOWER

<!--[if lt IE 8]>
	<link rel="stylesheet" type="text/css" href="ie7-and-down.css" />
<![endif]-->
<!--[if lte IE 7]>
	<link rel="stylesheet" type="text/css" href="ie7-and-down.css" />
<![endif]-->

Target IE 8 and LOWER

<!--[if lt IE 9]>
	<link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->
<!--[if lte IE 8]>
	<link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->

Target IE 6 and HIGHER

<!--[if gt IE 5.5]>
	<link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->
<!--[if gte IE 6]>
	<link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->

Target IE 7 and HIGHER

<!--[if gt IE 6]>
	<link rel="stylesheet" type="text/css" href="ie7-and-up.css" />
<![endif]-->
<!--[if gte IE 7]>
	<link rel="stylesheet" type="text/css" href="ie7-and-up.css" />
<![endif]-->

Target IE 8 and HIGHER

<!--[if gt IE 7]>
	<link rel="stylesheet" type="text/css" href="ie8-and-up.css" />
<![endif]-->
<!--[if gte IE 8]>
	<link rel="stylesheet" type="text/css" href="ie8-and-up.css" />
<![endif]-->


Universal IE 6 CSS

Dealing with IE 6 and below is always an extra-special challenge. These days people are dropping support for it right and left, including major businesses, major web apps, and even governments. There is a better solution than just letting the site go to hell, and that is to server IE 6 and below a special stripped-down stylesheet, and then serve IE 7 and above (and all other browsers) the regular CSS. This is been coined the universal IE 6 CSS.

<!--[if !IE 6]><!-->
  <link rel="stylesheet" type="text/css" media="screen, projection" href="REGULAR-STYLESHEET.css" />
<!--<![endif]-->

<!--[if gte IE 7]>
  <link rel="stylesheet" type="text/css" media="screen, projection" href="REGULAR-STYLESHEET.css" />
<![endif]-->

<!--[if lte IE 6]>
  <link rel="stylesheet" type="text/css" media="screen, projection" href="http://universal-ie6-css.googlecode.com/files/ie6.0.3.css" />
<![endif]-->

Hacks

If you must...

IE-6 ONLY

* html #div {
    height: 300px;
}

IE-7 ONLY

*+html #div {
    height: 300px;
}

IE-8 ONLY

#div {
  height: 300px\0/;
}

IE-7 & IE-8

#div {
  height: 300px\9;
}

NON IE-7 ONLY:

#div {
   _height: 300px;
}

Hide from IE 6 and LOWER:

#div {
   height/**/: 300px;
}
html > body #div {
      height: 300px;
}


이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/470

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/470

[c#]인터넷 주소창 주소 구하기

C# RSS Icon ATOM Icon 2012/03/21 09:10 visualp
[참조1] : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=17&MAEULNo=8&no=76714&ref=76714

[참조2]:http://blog.naver.com/PostView.nhn?blogId=yunani99&logNo=30111649113
(패킷캡쳐)
[참조3]:http://www.codeproject.com/Articles/4217/Packet-Sniffing-with-Winpcap-Functions-Ported-to-a
이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/469

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/469

php 동적변수 사용하기

PHP RSS Icon ATOM Icon 2012/03/19 13:29 visualp

[원문] : http://blog.daum.net/kunsooretro/76
[php.net] : http://php.net/manual/kr/language.variables.variable.php

폼에서 동적으로 변수 보내는법 :

예)

<input type="text" name="s_no<?=$i?>">


예를 들어서 FORM으로 s_no0, s_no1, s_no2라는 변수로 php파일에 넘어오면


동적으로 PHP에서 변수를 대입시키고 싶을때..


이렇게하면

${'s_no'.$i}

동적으로 변수 표현가능..

이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/468

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/468

/usr/local/apache/conf/extra/httpd-autoindex.conf


IndexIgnore .??* *~ *
이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/467

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/467

리눅스 문자열 찾기

Linux RSS Icon ATOM Icon 2012/03/08 17:07 visualp
 grep -e  "문자열" "경로" -R
경로 밑에 있는 문자열이 포함된 모든 것을 찾는다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/466

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/466

MySQL INSERT의 사용법

Mysql RSS Icon ATOM Icon 2012/03/04 14:51 visualp
[원문] : http://webtech.tistory.com/31

1. MySQL INSERT의 사용법


MySQL 공식 Document에서는 아래와 같이 사용법을 정의 하고 있다.(참고, http://dev.mysql.com/doc/refman/5.5/en/insert.html)
각각의 의미는 천천히 살펴보면 누구나 알 수 있을 것이다.
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr [, col_name=expr] ... ]

OR:

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name SET col_name={expr | DEFAULT}, ...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]
OR: 
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)] SELECT ...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]

Document상에 있는 내용을 번역은 아니고, 나름 이해해서 설명 하자면...

INSERT는 이미 존재하는 Table에 새로운 rows를 추가한다.
[INSERT ... VALUES]와 [INSERT ... SET]과 같은 문장 형식은 특정한 값을 명확하고 추가하며, [INSERT ... SELECT] 형식은 다른 Table 혹은 Table들로 부터 선택된 값들을 추가 한다.(여기서 주의 해서 봐야 할 부분은 [다른 Table혹은 Table들]이다. 즉 subquery내에 동일한 Table명이 있으면 안 된다. 달리 말해 동일한 테이블의 일부를 다시 넣는 방식으로는 이와 같은 문법으로 작동 하지 않는다는 뜻이다.)
이전 row의 값을 덮어 쓰고자 한다면 INSERT대신 REPLACE를 사용할 수 있다. REPLACE는 Primary key나 Unique index와 같은 새로운 row를 추가 하고자 한다면, 이전 row를 먼저 지우고 새로운 row를 추가 하는 방식으로 동작한다. 중복되지 않는 것은 그냥 INSERT와 동일하게 동작한다.

위에서 사용된 tbl_name은 추가 되어야 할 row들이 들어갈 Table명을 의미 한다.
column name은 Table명 뒤에 콤마(,)로 분리된 리스트로 작성 할 수 있으며, 이 경우 각 column name에 해당하는 값을 VALUES리스트나 SELECT문으로 제공해야 한다. 만약 column name을 작성하지 않는다면, 해당 테이블의 모든 column의 값들을 VALUES리스트나 SELECT문으로 제공해야 한다. 테이블의 column을 모른다면 DESCRIBE tbl_name으로 찾을 수 있다.

SET절은 column이 명확하게 지정되는 것을 나타낸다.

column의 값은 여러가지 방법들로 주어질 수 있으며, 많이 사용하거나 중요한 내용만 몇가지 다루고자 한다.

먼저 가장 일반적인 방법이다.

INSERT INTO tbl_name (col1,col2) VALUES(15, 30)

해당 필드명과 값들의 리스트를 순서대로 나열하는 방식이다. 이때 반드시 컬럼의 수와 값의 수가 같아야 하며, NOT NULL이 아닌 필드는 포함되지 않아도 된다.



다음은 필드 리스트의 생략이다.

INSERT INTO tbl_name VALUES(15, 30); ==> tbl_name테이블의 필드가 2개라면...

이때는 반드시 컬럼의 수만큼 값의 리스트를 제공해야 한다.



SET 키워드를 이용한 방법.

INSERT INTO tbl_name SET col1 = 15, col2 = 30;

SET키워드 뒤에 컴럼과 값의 쌍으로 나열해 주면 된다.



INSERT ... SELECT를 이용한 방법.

INSERT INTO tbl_name (col1,col2) SELECT 15, 30;

다른 column명을 참조를 통한 방법.

INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);

이 경우 참조되는 column은 꼭 먼저 값이 설정되어야 한다. 아래와 같이 하면 안된다.
INSERT INTO tbl_name (col1,col2) VALUES(col2*2,15);
col2가 15로 설정되기 전에 col1에 col2*2를 넣으라고 하면 안된다는 것이다.


VALUES를 이용한 multiple rows.

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

참고로 AUTO_INCREMENT로 증가된 값을 알고 싶다면 mysql_insert_id()함수를 사용하면 된다. 이에대한 자세한 정보는 아래 링크를 참조하기 바란다.
http://dev.mysql.com/doc/refman/5.5/en/mysql-insert-id.html

마지막으로 당연한 것이지만, INSERT는 해당 Table에 대한 INSERT권한이 있어야만 한다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/465

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/465

[원문] : http://blog.springsource.org/2010/01/25/ajax-simplifications-in-spring-3-0/

이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.visualp.com/rss/response/464

댓글+트랙백 ATOM :: http://blog.visualp.com/atom/response/464