1) first-child가상 클래스
<style type="text/css">
.lyrics {font-size:12px; font-weight:bold; color:#44C4DF; width:500px;}
.lyrics p:first-child{color:#E7963D; font-size:15px; text-indent:1em;}
</style>
lyrics클래스의 자식요소중에 첫 번째 p요소에만 속성이 적용됩니다.
익스6이하버전에선 안되구요.
적절히 쓰면 불필요한 클래스를 사용하지않아도 되는 방법이죠~
<div class="lyrics">
<p>옛날의 금잔디 동산에 메기같이 앉아서 놀던 곳 물레방아 소리 들린다 메기야 희미한 옛생각</p>
<p>동산 수풀은 우거지고 장미화는 피어 만발 하였다 물레방아 소리 그쳤다 메기</p>
</div>
2) 링크 가상 클래스
이 부분은 많이들 쓰는것이니 간단히 정의만 보겠습니다.
<style type="text/css">
.a {text-decoration:none;
a:link {color:blue;} ->방문하지않은 링크
a:visited {color:pink;} ->방문한 링크
a:hover {color:orange;} -> 링크위에 마우스를 올렸을 때
a:active {color:red;} -> 활성화 된 링크
a:focus {background-color:#ffc;} -> 링크위에 포커스 되었을때(키보드 사용자에게 유용한기능입니당.)</style>
선언 순서에 유의해야합니다. link -> visited -> hover -> active -> focus 순으로 지정합니다.
'웹표준 개발' 카테고리의 다른 글
| CSS 선택자(selector)에 대해서 정리해봅니다. 4 (2) | 2010/07/09 |
|---|---|
| CSS 선택자(selector)에 대해서 정리해봅니다. 3 (1) | 2010/06/04 |
| CSS 선택자(selector)에 대해서 정리해봅니다. 2 (0) | 2010/05/31 |
| CSS 선택자(selector)에 대해서 정리해봅니다. 1 (2) | 2010/05/20 |
| [웹표준 코딩]CSS 폰트 단위를 알아봅시다 (2) | 2010/05/06 |
| 웹페이지에 옷을 입히는 스타일시트 연결 (1) | 2010/04/26 |
왜 그런짓을 할까요?
간단히 말해서 똑같은 코딩을 또 하기 싫어서 그렇지요..^^
TableView에 우리나라의 시도 목록을 뿌려주고 각각의 시,도를 클릭하면 해당 구,군의 목록이
다음 화면에 뿌려지는 것을 만들려고 합니다.
이런것을 만들때 필요한 주요기능은 아래 나열한 정도입니다.
---------------------------------------------------------------------------------------------------------
1. XML데이타를 Http로 받아오기
2. 받아온 XML데이타를 파싱하기
3. 파싱한 데이타를 TableView에 뿌리기
4. 목록 클릭하면 상세목록 뿌리기
---------------------------------------------------------------------------------------------------------
이때 시,도목록 뿌리는 로직과 구,군목록 뿌리는 로직은 공통되는 부분이 많습니다.
이런 공통되는 기능을 하나의 Global객체에 모두 구현해둔 다음 Global객체를 상속받아서
특수한 부분만 추가 구현된 시,도 목록 뿌리는 객체와 구,군 목록 뿌리는 객체를 만들어 보았습니다.
첨부된 소스파일을 참고하시기 바랍니다.^^
아 그리고 XML 데이타 포멧은 아래와 같습니다..
<?xml version="1.0" encoding="utf-8"?>
<data>
<item>
<name>강남구</name>
</item>
</data>
------------------------------------------------------------------------------------------------------
'Objective-C' 카테고리의 다른 글
| [Objective-C의 객체 상속] (1) | 2010/05/28 |
|---|---|
| Objective-C 에서 클래스 구현 방법 (0) | 2010/05/24 |
오늘자 경향신문의 기사 중에
http://news.khan.co.kr/kh_news/khan_art_view.html?artid=201005270303595&code=940100
이라는 기사가 떴습니다. 공공기관 앱 개발과 관련한 기획으로 대 여섯개 포스팅을 준비하고 있던 터라 관심 있게 읽어보았습니다.
기사를 결론적으로 보면 '앱으로 우리가 싫어하는 정부 홍보 말라'는 것인데요, 세금을 들여 만들어야 하는 앱이라는 관점에서 이 비판에 일견 동의하면서도 공공기관의 앱이 전부 정부 홍보용이 아니고 일부에 지나지 않는다면 저 비판은 괜한 비판이라는 생각도 들었습니다. 정부 입장에서는 자신들이 하고 싶은 홍보는 새로운 매체에 맞게 하고 싶을 테니까요. 현 야당이 정권을 잡았어도 같은 류의 앱스는 해당 부처 담당자들에 의해 기획되고 개발됐을 겁니다.
<경향신문에서 정부를 홍보하는 앱스로 분류된 관세청과 국토해양부 어플>
각설하고,
정부가 정책에 대한 홍보도 해야겠지만 사실 정부라는 곳은 기본적으로 대국민 서비스 기관입니다. 굉장히 많은 부처들이 다양한 형태의 민원 서비스들을 제공하고 있죠. 공공기관 스마트폰용 어플의 핵심 포인트는 여기에 있습니다.
지난 10여년간, 그리고 지금도 많은 민원 처리들이 전산화되어 왔습니다. 한국은 이 분야에 있어서 세계적인 경쟁력을 가지고 있죠. 비근한 예로 주민등록등본과 같은 것들은 이제 집에서도 발급받을 수 있게 되는 시대가 왔습니다. 스마트폰이라는 것을 [전화기능을 가지고 있는 이동형 소형 컴퓨터]라고 했을 때 앱스라는 것은 이 컨셉 [작은화면/이동성/유무선통신]에 맞는 대국민 서비스를 제공해 주어야 합니다. 각각의 공공부서가 가진 핵심 민원 업무 중 이 단말 환경에 맞는 서비스가 어떤 것이 있는지 밝혀 내고 이것이 스마트폰을 통하면 좀 더 빠르고 편리하게 제공될 수 있는지를 생각하는 것이지요. 작게 줄여놔서 더 불편해지고 우스꽝스러워지면 안될 일이죠.
인기다. 서울시에서 제작한 어플리케이션 >
한국의 IT발전 역사에 있어 정부, 관(官)주도적인 역할은 유효했다 평가할 수 있습니다. 정보통신부가 있었던 지난 10여년 동안 굉장히 많은 IT지원 정책과 자금들이 많은 소규모 벤처들을 먹여 살려 왔던 것을 무시할 수 없고 그 정책 자금이 추구하고자 했던 방향이 지금과 같은 환경들을 만들어 왔죠. (물론 폐해가 없지 않으나 그 득이 지금의 성과를 만들어 냈던 것을 간과할 수 없다는 말입니다) 현재 웹표준에 대한 논의 또한 민간 서비스 보다 관주도의 움직임이라고 봐도 무방합니다. 법적으로 웹서비스들이 웹표준으로 가도록 밀어붙이고 있고 공공기관 홈페이지들의 웹표준 준수는 민간 서비스들 보다는 나으니까요.
스마트폰의 활용도 공공기관이 올바르게 진행함으로써 다채로운 서비스 환경을 만들어 낼 수 있습니다. 그들은 그만한 예산과 힘들을 가지고 있고 그렇게 풀릴 예산은 저희같은 소규모 벤처업체들을 먹여 살리고 탄생시킬 수도 있으니까요. ^^;;
오늘 읽은 경향의 기사는 공공기관의 다른 앱스를 가지고 비판한 것이 아니라 '홍보용 앱스'만 가지고 비판한 것이었습니다. 저는 물론 홍보를 하지 말라는 말은 앞서 말했듯 할 수 없다고 봅니다. 단, 공공기관의 스마트폰용 어플리케이션들이 새로운 환경에 맞는 걸맞은 대국민 서비스를 제공하면서 홍보를 굳이 할 것이라면 거기에 살짝 얹어 홍보 해주는 센스를 보여주었으면 합니다.
'뉴미디어 기획 이야기' 카테고리의 다른 글
| Groupon.com, 티켓몬스터로 살펴본 Group Buying 모델 - 1. Concept (1) | 2010/07/21 |
|---|---|
| 매쉬업 개발하기 좋은 환경이 도래했다 (0) | 2010/06/16 |
| 정부 부처의 스마트폰 진입, 독이 아니다 (0) | 2010/05/27 |
| 공공기관에서 만들 만한 앱스 - 2. 산림청 휴양림 관련 앱스 (4) | 2010/04/22 |
| 공공기관에서 만들만한 앱스 - 1 나라장터 앱스 (0) | 2010/04/21 |
| 공공기관 앱스, 그 방향은? (0) | 2010/04/14 |
안녕하세요. 이제부터 아이폰 어플에 쓰이는 컨트롤러들을 한개씩 간단한 예제와 함께 설명하려 합니다.
그 첫번째 테이블 뷰 입니다.
아마 컨트롤러 중에서 방대하게 쓰이는 게 이 테이블 뷰가 아닐까 생각되네요 ^^
테이블뷰 사용 예제는 4가지로 나눠서 포스팅할게요
2. 네비컨트롤러를 이용한 테이블뷰 예제
3. XML를 이용한 테이블 뷰 예제
4. 테이블 뷰에 셀 디자인 예제
오늘은 그 첫번째 간단한 테이블 뷰 예제 입니다.
새 프로젝트 선택하고 TableTest 라는 이름으로 프로젝트 생성해주세요. 프로젝트 생성해 주실때는 네모칸 친 view_based Application 으로 선택해주세요.
이제 테이블 뷰를 IB에서 집어넣을게요 TableTestViewController.xlb 를 열어주세요.
그림처럼 테이블 뷰를 View 창에 끌어다 넣으세요~ 그럼 화면과 같이 꽉 차게 들어가면 됩니다.
집어넣은 테이블 뷰 선택한 상태에서 네모칸 친곳을 보면 dataSource 와 delegate 가 보일꺼예요
그걸 File;s Owner로 연결해 주세요. 이렇게 함으로 어플이 실행될때 이 테이블 뷰 컨트롤러를 델리게이트로 인식해서 AppDelegate에서 별다른 코드를 넣지 않아도 테이블 뷰를 먼저 띄우게 됩니다.
이제 소스 작업을 하겠습니다.
TableTestViewController.h 를 열어주시고 아래와 같이 코드를 써주세요
#import <UIKit/UIKit.h>
@interface TableTestViewController : UIViewController <UITableViewDelegate , UITableViewDataSource>{
NSArray *listData; //테이블뷰에 들어갈 테이타를 저장 할 배열 변수 선언
}
@property (nonatomic, retain) NSArray *listData;
@end
TableTestViewController.m 를 열어주시고 아래와 같이 코드를 써주세요
#import "TableTestViewController.h"
@implementation TableTestViewController
@synthesize listData; //앞에서 선언한거 synthesize 해주고요
//처음 동작할때 로드되는 부분입니다. 저희는 배열에 데이타를 넣는 작업을 했습니다.
- (void)viewDidLoad {
NSArray *array = [[NSArray alloc] initWithObjects:@"AAAA",@"BBBBB",@"CCCCCC",@"DDDDDD",nil];
self.listData = array;
[array release]; //선언된 변수 초기화
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
self.listData = nil;
}
//여기가 본격적인 테이블뷰 코딩 작업입니다.
#pragma mark Table view methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1; //테이블 그룹갯수를 리턴합니다. 저희는 테이블이 따로 그룹이 필요없고 한개만 될 것이기 때문에 1 적어주시고
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.listData count]; //데이타 갯수를 리턴합니다. 배열의 갯수를 리턴합니다.
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
// 셀 스타일을 정하는 구간입니다. 빨간색 부분을 UITableViewCellStyleValue1 / UITableViewCellStyleValue2 / UITableViewCellStyleSubtitle / UITableViewCellStyleDefault 이렇게 4가지 방식으로 바까보세요 셀 형식이 바뀌는걸 보실수 있으실 겁니다
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
NSUInteger row = [indexPath row];
cell.textLabel.text = [listData objectAtIndex:row]; //로우 indexPath와 배열 index와 매칭시켜서 값을 집어넣어요
cell.detailTextLabel.text = @"서브텍스트"; //서브텍스트라벨에 글자를 집어넣습니다.
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; //테이블 뷰 옆에 [>] 이런 화살표 이미지가 이 옵션으로 생깁니다. 필요 없으신 분은 삭제 하셔도 무방하세요~
return cell;
}
- (void)dealloc {
[listData release];
[super dealloc];
}
@end
자 그럼 결과를 실행해볼게요 위에 코드 설명에 보면 빨간색으로 표시된 UITableViewCellStyleSubtitle 부분 보이죠
이부분이 셀 스타일을 지정해 주는 것으로
UITableViewCellStyleValue1 / UITableViewCellStyleValue2 / UITableViewCellStyleSubtitle / UITableViewCellStyleDefault
이 4개중 여러개로 바꿔보시면서 컴파일 해보세요
아래는 스타일에 따른 컴파일 화면입니다.
① UITableViewCellStyleDefault 일 경우
② UITableViewCellStyleValue1 일 경우
③ UITableViewCellStyleValue2 일 경우
'아이폰 개발 이야기' 카테고리의 다른 글
| 아이폰 개발, 좌표값과 주소 구하기 (7) | 2010/06/29 |
|---|---|
| 아이폰 개발시 유용한 탭바 커스텀(Custom Tab Bar) 구현하기 (12) | 2010/06/25 |
| [아이폰 컨트롤러 예제] ① 테이블뷰 (0) | 2010/05/27 |
| 아이폰 개발자 등록 방법 A TO Z (22) | 2010/05/24 |
| 아이폰 개발 문자열(NSString) 다루기 예제 (0) | 2010/05/10 |
| 아이폰 개발하려면 일단 요것부터-2편 (Hellow World) (2) | 2010/05/03 |
결제만 한글로 되어있고 신청은 영어로 해야되서 그런지 사람들이 좀 어려워 하는 것 같아서 캡쳐를 해보았습니다.
많은 도움이 되었으면 좋겠네요. (참고로 web2log라는 회사 명의로 개발자 등록을 했습니다.)
http://developer.apple.com/iphone/index.action 페이지에 들어갑니다. 이제 시작이죠 후훗
아이디를 가지고 계신분들은 로그인을 하시면 됩니다. 저는 새로 아이디를 만들었습니다.
상단 부분은 아이폰 개발 프로그램, 아래부분은 맥 개발자 프로그램입니다.
우선 상단에 첫번째는 개인개발자입니다. 두번째 체크한 부분은 회사로 등록하는 거구요.
세번째는 500명 이상의 직원을 가진 회사가 사내에서만 쓸 수 있는 어플리케이션을 등록하는 엔터프라이즈 계정입니다.
마지막은 대학에서 아이폰개발을 교육용으로 쓰기위해서 받는 무료 프로그램입니다.
일년에 99달러(결과적으로 104,000원)를 내면 된다는군요 , 파란색 등록버튼을 눌러줍니다.
간략하게 개발 프로세스를 설명해주고 있네요 , 컨티뉴~~!!고고
기존 개발자인지 새로운 개발자인지를 물어보는군요.
저는 새롭게 개발자 등록을 하는 것 중에서 계정도 새로만든다고 체크했습니다.
개인으로 가입할 것인지 회사이름으로 가입을 할 것인지를 묻는 창입니다. 회사로 가입하였습니다.
아이디와 비밀번호 생년월일, 그리고 이름, 이메일 국가, 지역 등의 개인정보까지 입력해줍니다.
첫질문으로 어떤 플랫폼을 개발할 것인지를 묻습니다.
아이폰 운영체제, 맥OS X 등을 체크하고 원하는 시장과 유료/무료 어플리케이션을 개발할 것인지,
개발은 얼마나 경력이 있는지 , 다른 모바일 플랫폼에서도 개발을 할 계획인지 등을 체크해줍니다.
약관을 술술술 대충 읽고나서 체크박스 체크한 뒤 동의 버튼을 누릅니다.
아까 적은 이메일로 숫자가 여섯자린가 일곱자리가 옵니다. 메일로 받은 숫자를 입력하고 컨티뉴~~고고
회사 정보들을 입력해 줍니다.
회사 정보를 입력하시면 되겠습니다. 법적으로 책임질 수 있는 확실한 정보를 입력하라네요.
입력하신 정보를 확인하고 맞으면 컨티뉴 ~~고고
입력이 일차적으로 끝났습니다. 여기까지 하셨으면 그다음 메일을 기다리셔야 합니다.
요 메일은 바로 옵니다.
접수된 아이디(Enrollment ID)가 메일로 옵니다. 음.. 이건 다음 메일이 왔을때 필요합니다.
네 이게 팩스번호입니다. 팩스에다가 회사 영문 사업자 등록증을 팩스로 넣는데
팩스로 넣을때 거기에다가 등록된 ID(Enrollment ID)를 함께 적어서 팩스로 보내셔야 합니다.
그리고 약 2주간 기다립니다.
.......
기다려도 기다려도 오지 않는 답장메일..
그래서 다시 스캔을 해서 메일로 보냈습니다.
잘 받았다고 답변이 왔습니다. 가운데 링크를 통해서 이제 구매를 하면 끝입니다.
메일에 링크를 타고 들어와서 개발 프로그램 라이센스를 읽고 동의한뒤 버튼을 꾸욱 누르면,
애플 온라인 스토어에서 주문하시고 등록 활성화 메일을 24시간안에 보내준다고 하는 문구입니다.
24시간안에 활성화 메일이 오지 않으면 연락달라는군요.
요기서부터는 익숙한 한글창입니다. 결제하기 버튼을 누릅니다.
다시한번 주소가 정확한지 적어줍니다.
자 드디어 끝났습니다 ^^;
ㅋㅋㅋ 아 막상 해보면 별거 아닌데 , 기다리고 기다리는 시간들이 너무 지루한것 같습니다.
밉습니다. 애플 ㅠㅠ
'아이폰 개발 이야기' 카테고리의 다른 글
| 아이폰 개발시 유용한 탭바 커스텀(Custom Tab Bar) 구현하기 (12) | 2010/06/25 |
|---|---|
| [아이폰 컨트롤러 예제] ① 테이블뷰 (0) | 2010/05/27 |
| 아이폰 개발자 등록 방법 A TO Z (22) | 2010/05/24 |
| 아이폰 개발 문자열(NSString) 다루기 예제 (0) | 2010/05/10 |
| 아이폰 개발하려면 일단 요것부터-2편 (Hellow World) (2) | 2010/05/03 |
| 아이폰 하단 navigationController의 Toolbar에 이미지 버튼 넣는 방법 (0) | 2010/04/27 |
Objective-C 에서는 [메시지 표현식] 이란것을 씁니다.
이게 머냐하면 아이폰 소스 같은거 보면 다른 프로그래밍 할때 많이 보였던 함수 대신 [myInfo name] 이라든지 [myInfo name:@"이름" addr:@"주소"] 이런 형식을 많이 보셨을꺼예요
이게 바로 [ 메시지 표현식 ] 입니다.
[객체 메시지] <- 이런 형식으로 쓰이며 인자가 있을경우 인자값을 넣어주기도 합니다.
메시지를 받은 객체가 결과를 처리하고 결과가 있다면 리턴값으로 반환 없다면 void 를 반환한다고 하네요 .
라인이 길어지긴하지만 어떤 인자를 필요로 하고 참고하는지 직접적으로 표현해 주기 때문에 이런 표현식을 쓴다고 하네요
그럼 클래스를 구현해 보도록 하겠습니다.
-클래스 생성 방법
[클래스명 alloc]
-클래스 초기화 (생성한 뒤 사용하기 위해서는 초기화가 되어야 합니다.)
[클래스명 init]
-> 이 2개를 대부분 같이 쓰죠 한번에 샤삭 ! [[클래스명 alloc]init]
-클래스 해제 ( 다 썼음 메모리에서 지워줘야겠죠 )
[클래스명 release]
클래스를 정의할려면 인터페이스 부분과 구현부분으로 분리해서 기술해야 합니다.
인터페이스부분 -> 나 이런거 이런거 쓸꺼다 선포하는 곳이랄까요..
구현부분 -> 실제 돌아가는 소스
*변수명은 첫글자가 소문자 / 클래스 명은 첫글자가 대문자!! 잊지 마시고요
//인터페이스부분 작성 형식
@interface 클래스명: 슈퍼 클래스명{
메소스 선언;
@end
------------------------------------
------------------------------------
//구현부분 작성 형식
@implementation 클래스명
메소드 정의
@end
------------------------------------
사용한 예는 http://www.web2log.com/entry/아이폰-어플-개발-초급-Hello-World-프로그래밍을-해보자-1 에서 소스 코드를 보시면 아 이런식으로 사용하는구나 아실거에요 ~
'Objective-C' 카테고리의 다른 글
| [Objective-C의 객체 상속] (1) | 2010/05/28 |
|---|---|
| Objective-C 에서 클래스 구현 방법 (0) | 2010/05/24 |
분류해놓으니 오히려 공부할게 생긴듯한 느낌이 드나, 모든 브라우저에서 다 먹이는게 아니다보니(역시 ie가 문제종) 사실 이중에서 지겹게 쓰는건 3~4가지 정도... 하지만, 유용한 기능이 많다보니 알고나 넘어가자는 의미에서~ 분명 언젠가는 모든 브라우저에서 사용할수 있겠죠?
2. 전체 선택자
3. CLASS선택자와 ID선택자 (중요)
4. 속성(Attribute)선택자
5. 가상요소와 가상클래스
1) first-child가상 클래스
2) 링크 가상 클래스
3) first-line, first-letter 가상요소
4) before, after 가상요소
6. 선택자 조합
1) 하위 선택자 (중요)
2) 자식 선택자
3) 인접 선택자
7. 선택자 그룹화
xhtml요소(element)명을 선택자로 사용하는 것을 말합니다.
Type선택자, 요소선택자, 태그선택자 대략 같은말로 이해하심 됩니당.
형식은
요소명 {속성 : 값;} = p {color:red;} = h1 {font-size:20px;}
위와같이 xhtml 모든요소는 선택자로 사용할 수 있습니다.
2. 전체 선택자
선택자에 아스테리스크(*)를 기술하여 모든 요소에 스타일을 지정되게하는것입니다.
모든요소에 적용되는 것인만큼 변동사항이 없을때 쓰면되지만, 로딩속도가 쫌 저하된다고하네욤.
형식은
요소명 {속성 : 값;} = * {margin:0; padding;0;}
3. CLASS선택자와 ID선택자 (중요)
xhtml요소에 class 혹은 id값이 부여된 경우 해당 요소로 바로접근이 가능하지요.
id선택자는 유일한 요소에 접근할때 쓰고, #으로 id값을 나타내조 (#name)
class선택자는 여러번 사용이 가능하고, 여러요소를 한꺼번에 선택하여 일관된 스타일을 지정할때 유용합니다.
.클래스명 (.name)
<style type="text/css">
p.note {color:blue;} = .note {color:blue;}
</style>
<p class="sample">요소(p)를 생략하고 바로 클래스명(.sample)을 써도 됩니다용.</p>
유용하고도 중요한 기능이나 크게 어려운건 없죠~
4. 속성(Attribute)선택자
어떤 표현을 위해 구지 더미태크를 쓰지않고도 표현할 수 있다는 점에서 유용한듯합니다.
하지만, 이 방식은 ie6과 기타 구버전 브라우저에서 지원을 하지않습니다.
요소명[속성명="속성값"] {속성 : 값;}
a[href^="http"] {background-color:red;}
<style type="text/css">
a[href^="http://"] {font-size:22px;}
</style>
a 요소 중에 href 속성의 값이 "http://"로 시작하는 요소만 font-size를 22px로 크게 보여달라는 뜻이예욤.
<ul>
<li><a href="#test.html">속성선택자 테스트</a></li>
<li><a href="http://www.css3.com/">속성선택자 테스트</a></li>
</ul>
위 게시글 중 아래글자만 22px로 커지겠죠.
나머지는 다음페이지로~
'웹표준 개발' 카테고리의 다른 글
| CSS 선택자(selector)에 대해서 정리해봅니다. 3 (1) | 2010/06/04 |
|---|---|
| CSS 선택자(selector)에 대해서 정리해봅니다. 2 (0) | 2010/05/31 |
| CSS 선택자(selector)에 대해서 정리해봅니다. 1 (2) | 2010/05/20 |
| [웹표준 코딩]CSS 폰트 단위를 알아봅시다 (2) | 2010/05/06 |
| 웹페이지에 옷을 입히는 스타일시트 연결 (1) | 2010/04/26 |
| html과 xhtml의 차이점 (0) | 2010/04/19 |
얼마 전 재미있는 광고가 하나 떴습니다.
다름 아닌 어도비의 광고인데요. 어도비는 애플을 사랑하고 있다는 광고입니다.
잡스의 플래시 배척에 대한 일종의 비아냥이기도한 이 광고에 대해
한 네티즌은 '어도비사에 보낸 애플사의 답장은 이랬을 것이다'라고 아래와 같이 패러디했습니다.
ㅋㅋㅋㅋㅋㅋ 재치있는 답변입니다.
실제로 스마트폰을 통해 웹서핑을 하거나 다른 브라우저를 사용다보면 저 파란색 육각면체를 만나게 됩니다. 특히 익스플로어의 환경에 절대적으로 지배받고 있는 한국의 웹사이트들을 이용할 때면 더욱 더 심하죠. 물론 최근에는 크롬 등에서 플래시가 애드온 가능하여 경우가 줄어들긴 했지만요, 플래시의 사랑을 받는 사파리에서는 아직 액박입니다.
이 문제가 아시다시피 플래시가 가져다 준 '웹표준 논란'의 기본형이죠. 모든 웹이 특정 플러그인을 설치하지 않고 자유롭게 사용될 수 있어야 한다는 것입니다.
요런 '사상(?)'이 일반 상식처럼 되고 있는 것 같은 요즘, 과연 한국의 현실에서도 변화가 있는지 궁금해 졌습니다. 좀 더 노골적으로 말하자면 애플에서 시작된 모바일 쇼크가 한국의 일반 인터넷 사용자들의 사고방식과 행태에 영향을 주고 있긴한가 궁금했던 것이죠.
일단, 마켓쉐어(http://marketshare.hitslink.com/)에 나와있는 전 세계 브라우저 이용 현황입니다.
크롬의 약진이 두드러지긴 하지만 요정도 비율은 대충 5, 6년 정도 전에서부터 보던 데이터인 것 같습니다. 그즈음에 미국/북미/유럽 등지에서 파이어폭스의 사용이 급속도로 늘기 시작했었는데요 고 비율에서 더 크게 늘거나 줄거나 하지 않고 저 수준으로 유지되고 있는 것 같습니다. 그래도 익스의 사용율이 62%죠. 많이 떨어졌습니다.
그럼 현재 한국의 브라우저 사용 비율은 어떻게 될까요?
스마트폰을 통해서 사용되고 있는 브라우저는 아직 잡히지 않는다는 한계는 있지만, 그래도 웹표준에 대한 다양한 논의와 논란, 애플과 어도비의 분쟁 등을 통해서 일반 대중들도 타 브라우저에 대한 인식을 하고 적극적인 이동을 하고 있을까요?
국내 인터넷 트랜드(http://trend.logger.co.kr/)에서 제공하는 국내 브라우저 이용현황입니다.
ㅋㅋㅋㅋ
OTL
이건 뭐 한참 파폭 붐때 있었던 자학성 멘트들('한국은 익스에 점령되어있다' 등등)이 범람하던 몇 년전과 다를 바가 없습니다. 아직 97%.
버전별로 있는 데이터도 한 번 보았습니다.
이 현실을 가지고 아주 깔끔하게 정리하자면 한국의 일반 대중들에게 파폭이든 사파리든 크롬이든 하는 건 'IT물 먹은 IT쟁이들'이 하는 담화에 지나지 않는 것으로 보입니다. 저도 그런 얘기를 하고 있죠.ㅋ
아직 버티고 있는 IE6은 웹표준으로 코딩하려는 코더들에게 현실적인 장벽입니다. 엑티브엑스의 문제, 보안에도 취약한 IE6만을 위한 수정들은 자원의 손실입니다.
서비스 측면에서 보면 IE6에 최적화 되어 개발된 많은 웹서비스들은 모바일과 이동형 기기로 변화하고 있는 현 상황을 따라가지 못하게 될 것입니다. 이게 가장 큰 문제입니다.
이 상황의 원인을 IE6 사용자인 '건설회사 김부장님'께 돌리는 것은 무리가 있습니다. 더블클릭 배우기도 어려웠을텐데 아직 IE6쓰시냐고 할 수는 없지 않습니까. IE6가 뭔지도 모를겁니다. 그렇다면 김부장님께 IE6를 쥐어드렸던 방식대로, 이건 공급자 중심적으로 바꿀 수 밖에 없습니다. 일반 사용자가 아니라. 개발자와 서비스 담당자의 문제라는 겁니다.
(지금은 W3C가 미개한 한국으로 볼 수도 있지만, 은근 한국이 이 부분에서 더 빠르고 급속하게 바뀔 수도 있지 않을까요?)
각설하고, 결론적으로, 아직까지는, 전반적으로다가, 한국은
'뉴미디어 뉴스' 카테고리의 다른 글
| 제 1회 대한민국 앱 공모전의 의미 (0) | 2010/07/01 |
|---|---|
| 이번 6.2 지방 선거는 트위터 선거였다 (4) | 2010/06/03 |
| 한국의 브라우저 환경, 아직 멀었다. (21) | 2010/05/18 |
| 애플이 집을 짓는다구?? (0) | 2010/05/14 |
| 100만대 판매 돌파로 다시 생각해 본 아이패드 (3) | 2010/05/04 |
| 모건 스탠리 인터넷 트렌드 자료 공유합니다. (4) | 2010/04/30 |
|
Tracked from 19+ SEMIX2 | 2010/05/18 12:51 | DEL
요즘 들어 애플과 어도비의 날카로운 신경전에 관심이 많이 간다. 최근 애플은 아이폰에서 플래시를 완전히 배제했고, 어도비는 그런 게 어디 있냐며 징징 거리고 있다. 그리고 나는 '꼬시다- 어도비!' 를 외친다. 하이텔이나 나우누리, 천리안 같은 PC 통신 시절부터 사용해 오던 사람들은 초기 인터넷의 모습을 아직 기억하고 있을 것이다. 단색을 뛰어넘는 화려한 색상의 텍스트와 이미지! 전 세계 어디든 한 번에 이동할 수 있는 하이퍼링크! 신세계가 열렸다.. |
|
작년 12월 17일 Microsoft는 10년간의 긴 공방 끝에 EU(유럽연합)에 Windows 운영체제에 브라우저 끼워팔기를 지적하는 반독점법에 대해 항복을 선언했다. Microsoft가 자사 Windows 운영체제를 구입하면 기본적으로 설치되는 Internet Explorer(IE) 외에 다른 브라우저를 선택할 수 있도록 제공하겠다고 EU와 합의한 것이다. EU는 Microsoft와 합의를 통해 반독점법 위반과 관련된 조치를 철회하기로 했다. M.. |
|
Tracked from 세상과 만나는 프로그램 이야기 | 2010/05/20 09:31 | DEL
제가 즐겨 읽고 있는 블로그인 아크몬드님의 글에서 얼마전 IE6을 버리자는 호주 마이크로소트의 광고 내용을 소개한 글을 봤습니다. 아직도 9년 지난 우유를 마시고 계신가요? 이 글의 주 내용은 IE6을 우유에 빗대어 9년이나 지난 제품을 먹겠느냐 하는 것입니다. 당연히 우유면 먹지 않겠죠. 상했을테니까요. 소프트웨어도 마찬가지 입니다. 구버전을 사용하는건 상한 우유를 마시는거과 비슷한 경우라 생각합니다. 전 왠만하면 최신버전을 사용합니다. 그리고 주.. |
아이패드가 해외에서도 출시되기 시작했습니다. 굴욕적이지만 그 판매국에 한국이 빠져있었습니다. ;; 원투펀치 먹고 한 방 더 먹었네요.
애플이 다음으로 시도할 분야가 TV라는 것은 잘 아실 겁니다. 어제 뉴스 기사를 보니 아이패드로 TV를 컨트롤하는 앱스들이 큰 호평을 받고 있다는데요,
http://www.yonhapnews.co.kr/bulletin/2010/05/13/0200000000AKR20100513042200017.HTML?did=1179m
실패로 끝났던 애플의 첫 번째 TV 시도와 현재는 상황과 환경이 완전히 다르다는 점에서 지금 상황을 잘 분석해 볼 필요가 있습니다. 지금 TV로 진출하는 애플은 막강한 컨텐츠 기반과 인프라를 가지고 있습니다. 이 애플TV는 기존 TV개념으로는 접근할 수 없는 새로운 녀석입니다. 애플TV를 가지고 있는 사람은 아이패드 앱스로 아무데서나 TV를 볼 수 있게 되겠죠. 애플TV는 어플리케이션과 게임컨텐츠, 전자책과 뉴스 기반으로 되어있는 아이폰과 아이패드를 TV라는 컨텐츠 영역으로 확장시킬 것입니다. 이 플랫폼으로 기존 컨텐츠 사업자들은 유입될 것이고 새로운 방송 사업자들이 생산될 수도 있습니다. 새로운 시장이 또 창출되면서 말 그대로 유비쿼터스 시대가 열리게 됩니다.
이러한 상황은 세계 TV시장의 선두격인 LG와 삼성에게 가장 큰 타격을 줄 수 있습니다. LG나 삼성은 말 그대로 TV만 만드는 회사니까요. 국내 회사는 부속품을 제공하는 하청업체로 전락해 버릴 수도 있는 것입니다.(아이폰 부속의 상당수가 국내 제품이라죠?)
애플이 진출할 그 다음 방향에 대해서 생각해 보았습니다. 범위를 단순히 단말기류로만 생각할 것이 아니라 좀 더 다른 산업의 컴퓨터 시스템과 통합하기 시작한다면 어떨까요? 예를 들어 애플이 자동차 시장에 진출한다면 어떻게 될까요? 그것도 단순한 자동차가 아니라 차세대 전기자동차를 만들어 팔기 시작한다면요?
애플의 장점은 디자인이고 사용자 쾌감입니다. UX(User eXperience)에서 이들을 따라가기가 어렵습니다. 애플의 전기 자동차가 애플의 소프트웨어 네트워크와 컨텐츠를 뒤집어 쓰고 애플 디자인 컨셉과 애플 기기에서 느끼는 UX가 적용된 차(핸들도 없을지도 모르죠)를 만들어 내다 팔면 어떤 사람들은 정말 안사고는 못 배길 것 같습니다. 어쩌면 자동차의 개념과 사용방식까지도 바꿔버릴 자동차가 나올지도 모릅니다. 단기간에 세계적으로 50만대 정도만 나가도 애플 주가는 미국 최고가 될 수도 있겠네요.
애플이 집을 짓는다면요? 이들은 뭔가 자동차, 건설과 같은 분야로 적용되는 유비쿼터스, 컨버전스 시대에 맞는 새로운 디자인과 사용자 경험을 제공해 줄 수 있을 것 같습니다.
'뉴미디어 뉴스' 카테고리의 다른 글
| 이번 6.2 지방 선거는 트위터 선거였다 (4) | 2010/06/03 |
|---|---|
| 한국의 브라우저 환경, 아직 멀었다. (21) | 2010/05/18 |
| 애플이 집을 짓는다구?? (0) | 2010/05/14 |
| 100만대 판매 돌파로 다시 생각해 본 아이패드 (3) | 2010/05/04 |
| 모건 스탠리 인터넷 트렌드 자료 공유합니다. (4) | 2010/04/30 |
| 애플에 선전포고한 대한민국 (6) | 2010/04/28 |
오늘의 포스팅은 문자열(NSString) 다루기 예제입니다.
코코아에서는 문자열을 선언할 시 NSString 클래스를 사용합니다.
기본적으로 문자열을 대입 할 시에는 @ 를 꼭 붙여준다음 문자를 써줘야 합니다.
아래 예제를 보시면 이해가 가실거예요
// 빈 문자열 생성하기
NSString *str1 = [NSString new];
//일반적인 문자열 대입 - 문자열 상수
str1 = @"web2log.com";
//포멧 문자열(stringWithFormat) - 변수 대입방식
NSString *str2 = [NSString stringWithFormat:@"Hi, %@",str1];
//포멧 문자열(stringWithFormat) - 숫자 대입방식
NSString *str3 = [NSString stringWithFormat:@"Integer, %d",123456];
//포멧 문자열(stringWithFormat) - 문자열 대입방식
NSString *str4 = [NSString stringWithFormat:@"stringWithFormat, %s","web2log.com"];
//Object-C형식 문자열
NSString *str5 = [NSString stringWithString:@"web2log.com"];
//C형식 문자열
NSString *str6 = [NSString stringWithCString:"web2log.com"];
//문자열 Append (추가)
NSString *str7 = [str6 stringByAppendingString:@":web2log.com"];
//문자열 길이 구하기
int len = [str7 length];
//String형을 int형으로 형변환하기
int vInt = [@"1234" intValue];
//String형을 float형으로 형변환하기
float vFloat = [@"1234.56" floatValue];
//메모리 할당한 문자열 변수 제거
[str1 release];
그리고 위에 예제코드를 바탕으로 간단한 샘플앱을 만들었는데요,
파일 첨부합니당~!
샘플 앱의 결과 화면을 볼까요
'아이폰 개발 이야기' 카테고리의 다른 글
| [아이폰 컨트롤러 예제] ① 테이블뷰 (0) | 2010/05/27 |
|---|---|
| 아이폰 개발자 등록 방법 A TO Z (22) | 2010/05/24 |
| 아이폰 개발 문자열(NSString) 다루기 예제 (0) | 2010/05/10 |
| 아이폰 개발하려면 일단 요것부터-2편 (Hellow World) (2) | 2010/05/03 |
| 아이폰 하단 navigationController의 Toolbar에 이미지 버튼 넣는 방법 (0) | 2010/04/27 |
| 아이폰 개발하려면 일단 요것부터-1편 (13) | 2010/04/27 |




testProj2.zip