'ITWeb/스크랩'에 해당되는 글 119건

  1. 2011.12.01 2011 W3C HTML5 Day Conference 자료 공유.
  2. 2011.11.29 HTML5 Open 레퍼런스 공유.
  3. 2010.09.09 CIDR(Classless Inter-Domain Routing) 표기법 1
  4. 2010.09.03 [책] 불확실성과 화해하는 프로젝트 추정과 계획 1부 (1~3) 2
  5. 2010.06.03 [펌] IE Browser Detection
  6. 2010.04.13 IT 통계/트랜드 정보 사이트
  7. 2010.03.24 인터넷 트랜드 정보제공 사이트.
  8. 2010.01.27 [펌]유용한 링크? 1
  9. 2009.07.22 [무료에이터]
  10. 2009.05.28 야후가 MS 에 팔리는가 보군요..

2011 W3C HTML5 Day Conference 자료 공유.

ITWeb/스크랩 2011. 12. 1. 15:51
지난 달에 있었던 HTML5 관련 국내 컨퍼런스 였습니다.
못가셨던 분들을 위해서 자료를 올려 주었는데요.. 그래서 공유 합니다.. :)

[사이트]
- http://www.w3c.or.kr/Events/html5/

[발표자료]
- 위 사이트 들어 가시면 있구요. 귀찮으신 분들을 위해서 직접 링크 겁니다.


※ 이곳에 공유하는게 문제가 된다면.. 댓글 달아 주세요.. 바로 내리겠습니다. ㅡ.ㅡ;;
:

HTML5 Open 레퍼런스 공유.

ITWeb/스크랩 2011. 11. 29. 13:26
공유라기 보다는 그냥 북마크가 맞는 표현 같내요.

[HTML5 Open Reference]
http://html5ref.clearboth.org/

[HTML5 Open Reference eBook]
http://www.clearboth.org/html5ref_ebook/
https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwKGpbna5w4_ZTIyYWViYzctOTJiMC00MzE4LWEyNmQtMmM5NGI3OGI3ZGE4&hl=en_US

늘 느끼는 거지만, 인터넷을 통해 이렇게 유용한 정보와 지식이 공유 된다는게 너무 좋습니다.
이런 공간을 통해서 저도 뭔가 도움을 줄 수 있다면 참 좋겠내요.. 


※ 더불어 이전에 북마킹 했던 글도 참고하세요.
http://jjeong.tistory.com/487

재능기부!!
:

CIDR(Classless Inter-Domain Routing) 표기법

ITWeb/스크랩 2010. 9. 9. 19:15

CIDR표기법
허용 IP
192.0.0.0/8
192.0.0.0 ~ 192.255.255.255
192.168.0.0/16
192.168.0.0 ~192.168.255.255
192.168.67.0/24
192.168.67.0 ~ 192.168.67.255

'0/n'은
IP주소에서 처음부터 n비트수 만큼이 네트워크 주소를 의미하고, 나머지 뒤의 비트들은 호스트 주소임을 의미합니다.

예를 들어
10.25.0.0/16 = 00001010 00011001 00000000 00000000
빨간색은 네트워크 주소, 파란색은 호스트 주소를 의미합니다.

IP/CIDR

Δ to last IP addr

Mask

Hosts (*)

Class

Notes

a.b.c.d/32

+0.0.0.0

255.255.255.255

1

1/256 C

 

a.b.c.d/31

+0.0.0.1

255.255.255.254

2

1/128 C

d = 0 ... (2n) ... 254

a.b.c.d/30

+0.0.0.3

255.255.255.252

4

1/64 C

d = 0 ... (4n) ... 252

a.b.c.d/29

+0.0.0.7

255.255.255.248

8

1/32 C

d = 0 ... (8n) ... 248

a.b.c.d/28

+0.0.0.15

255.255.255.240

16

1/16 C

d = 0 ... (16n) ... 240

a.b.c.d/27

+0.0.0.31

255.255.255.224

32

1/8 C

d = 0 ... (32n) ... 224

a.b.c.d/26

+0.0.0.63

255.255.255.192

64

1/4 C

d = 0, 64, 128, 192

a.b.c.d/25

+0.0.0.127

255.255.255.128

128

1/2 C

d = 0, 128

a.b.c.0/24

+0.0.0.255

255.255.255.000

256

1 C

 

a.b.c.0/23

+0.0.1.255

255.255.254.000

512

2 C

c = 0 ... (2n) ... 254

a.b.c.0/22

+0.0.3.255

255.255.252.000

1,024

4 C

c = 0 ... (4n) ... 252

a.b.c.0/21

+0.0.7.255

255.255.248.000

2,048

8 C

c = 0 ... (8n) ... 248

a.b.c.0/20

+0.0.15.255

255.255.240.000

4,096

16 C

c = 0 ... (16n) ... 240

a.b.c.0/19

+0.0.31.255

255.255.224.000

8,192

32 C

c = 0 ... (32n) ... 224

a.b.c.0/18

+0.0.63.255

255.255.192.000

16,384

64 C

c = 0, 64, 128, 192

a.b.c.0/17

+0.0.127.255

255.255.128.000

32,768

128 C

c = 0, 128

a.b.0.0/16

+0.0.255.255

255.255.000.000

65,536

256 C = 1 B

 

a.b.0.0/15

+0.1.255.255

255.254.000.000

131,072

2 B

b = 0 ... (2n) ... 254

a.b.0.0/14

+0.3.255.255

255.252.000.000

262,144

4 B

b = 0 ... (4n) ... 252

a.b.0.0/13

+0.7.255.255

255.248.000.000

524,288

8 B

b = 0 ... (8n) ... 248

a.b.0.0/12

+0.15.255.255

255.240.000.000

1,048,576

16 B

b = 0 ... (16n) ... 240

a.b.0.0/11

+0.31.255.255

255.224.000.000

2,097,152

32 B

b = 0 ... (32n) ... 224

a.b.0.0/10

+0.63.255.255

255.192.000.000

4,194,304

64 B

b = 0, 64, 128, 192

a.b.0.0/9

+0.127.255.255

255.128.000.000

8,388,608

128 B

b = 0, 128

a.0.0.0/8

+0.255.255.255

255.000.000.000

16,777,216

256 B = 1 A

 

a.0.0.0/7

+1.255.255.255

254.000.000.000

33,554,432

2 A

a = 0 ... (2n) ... 254

a.0.0.0/6

+3.255.255.255

252.000.000.000

67,108,864

4 A

a = 0 ... (4n) ... 252

a.0.0.0/5

+7.255.255.255

248.000.000.000

134,217,728

8 A

a = 0 ... (8n) ... 248

a.0.0.0/4

+15.255.255.255

240.000.000.000

268,435,456

16 A

a = 0 ... (16n) ... 240

a.0.0.0/3

+31.255.255.255

224.000.000.000

536,870,912

32 A

a = 0 ... (32n) ... 224

a.0.0.0/2

+63.255.255.255

192.000.000.000

1,073,741,824

64 A

a = 0, 64, 128, 192

a.0.0.0/1

+127.255.255.255

128.000.000.000

2,147,483,648

128 A

a = 0, 128

0.0.0.0/0

+255.255.255.255

000.000.000.000

4,294,967,296

256 A

 

 

참고.
http://en.wikipedia.org/wiki/CIDR

:

[책] 불확실성과 화해하는 프로젝트 추정과 계획 1부 (1~3)

ITWeb/스크랩 2010. 9. 3. 10:51
1. 무엇을 위해 계획하는가.

"계획을 하는 것(planning)은 중요하다. 하지만 계획 그 자체(plan)는 아무것도 아니다."
- 육군 원수 헬무스 그라프 폰 몰트케

계획을 아예 하지 않는 팀은 "언제까지 되나요?" 나 "6월까지는 릴리스를 내놓을 수 있나요?"와 같은 기본적인 질문에도 대답을 하지 못한다.
불확실성원추 (cone of uncertainty), 폭포수(waterfall) 라고도 불리는 순차적 개발방법(sequential development process)

프로젝트의 성공가능성을 짚어보는 초기 단계에서는 그 일정 추정치가 실제 일정대비 60^에서 160%정도의 값을 갖는다.
요구사항 문서 작성이 끝나 다음에도 추정치의 오차는 여전히 +/- 15% 정도이다.

왜?
추정이나 계획은 왜 해야 하는 것일까? 그것은 우리가 일하는 바로 그 조직이 요구하기 때문이다.
계획을 한다는 것은 - 점진적으로 계획을 만들고 개선시켜나가는 그 과정은 - 가치(value)를 창조하는 과정이다.
기능(features), 자원(resources), 일정(schedule)

- 위험(risk)을 감소시킨다.
- 불확실성(uncertainty)을 감소시킨다.
- 의사 결정 과정(decision making)을 지원한다.
- 신뢰를 구축(establishing trust)한다.
- 정보를 전달(conveying information)한다.

'성공적인 프로젝트' 란?
애초에 명시한 일정과 예산 그리고 기능 범위를 모두 만족시킨 프로젝트

'실패한 프로젝트'란?
프로젝트를 시작할 때 정한 요구사항보다 더 나은 아이디어들이 개발 과정에서 전혀 나오지 않는 프로젝트

어떨 때는 프로젝트 일정보다 프로젝트에 참여하는 팀원의 프로필이나 상태가 더 중요한 경우도 있다.

대부분, 타협적인 결정(trade-off decision) 이 많고, 개발 시한과 비용문제로 절충 (기능과 노력, 비용과 시간)

Qustion : 그때까지 프로젝트를 마실 수 있나요?
Answer : 일곱 달이면 마칠 수 있겠는데요.
Why? 에 대한 설명이 없이 answer 만 한 사람 이라면 주의를 해야 한다.

좋은 계획은 믿을 수 있어야 하고, 근거 자료로 사용할 수 있어야 한다.

애자일 계획(plan)이 아니다, 계획 과정은 행위(activity) 이다.
애자일 계획법은 끊임없이 계획을 수정하게 될 것 이라는 것을 전제로 계획 과정에 투여되는 노력과 투자를 적절히 조정하려 하는것이다.
애자일적인 계획은, 곧 바꾸기 쉬운 계획이어야 한다.

- 계획 자체보다 계획 과정에 집중할 것
- 변화를 장려할 것
- 변경이 쉬운 계획을 만들어 낼 것
- 프로젝트 전 과정에 걸쳐 균등하고 지속적으로 적용될 것

계획 과정의 목표는 '무엇을 만들 것인가' 라는 질문에 기능(features), 자원(resources), 일정(schedule)의 세 가지 요소를 고려한 것이어야 한다.




2. 이런 계획법은 실패한다.

- 2/3 가량의 프로젝트는 추정된 비용 이상으로 많은 돈이 든다.
- 최종 제품에 포함된 기능들 중 64% 가량은 거의 혹은 결코 쓰이지 않는다.
- 평균적인 프로젝트는 계획된 일정을 두 배 정도 초과한다.

계획이 실패 하는 다섯 가지 원인
1. 활동이냐 기능이냐
2. 멀티태스킹은 또 다른 지연을 발생시킨다.
3. 우선순위에 따른 기능 개발이 이루어지지 않는다.
4. 불확실성을 무시한다.
5. 추정치가 서약으로 변한다.

올바른 계획법은 기능에 근거한 것이어야 하지 활동에 기반을 두면 안 된다.
- 활동이 일정보다 일찍 끝나지 않는다.
- 어떤 활동이 지연되면 그 결과는 일정 전반에 영향을 미친다.
- 각각의 활동은 서로 독립적이지 않다.

파킨슨 법칙 : 일의 양은 주어진 시간에 따라 늘어난다
즉, 활동을 마치는 데 드는 시간은 그 활동에 허용된 시간의 양과 거의 일치하게 된다

세 가지 이상의 작업을 동시에 수행할 경우 급감한다.
소위 문맥전환(context switching)에 드는 비용이 증가하게 된는 것이다.

불확실성을 제어하는 가장 좋은 방법은 반복(Iteration)이다.

고객에게 가치를 전달하는 단위는 기능(features)이다.

3. 애자일 접근법

"지금 열정적으로 수행하는 '좋은' 계획이 다음 주에 실행할 '완벽한' 계획보다 낫다."
- 패튼 장군

경량 방법론자
- 프로세스나 도구보다는 개인과 그들 간의 상호작용을 중시한고
- 포괄적인 문서를 만드는 것보다는 제대로 돌아가는 소프트웨어를 만드는 것을 중요하게 생각하며
- 계약 협상보다는 고객과의 협력을 더 우선시하고
- 계획을 주어진 대로 따르기보다는 변화에 대응하는쪽을 택한다.

프로젝트 대한 애자일 접근법
- 하나의 팀으로 일한다.
- 짧은 이터레이션 단위로 일한다.
- 이터레이션이 끝날 때마다 무엇인가를 내놓는다.
- 비즈니스 측면에서의 우선순위에 초점을 맞춘다.
- 점검하고 적용한다.

첫 번째 역할, 제품 책임자(product owner)
두 번째 역할, 고객(customer)
세 번째 역할, 개발자(developer)
마지막 역할, 프로젝트 관리자(project manager)

프로젝트 관리자는 관리라는 행위보다는 리더십에 더 초점을 맞추며, 동시에 여러 역할을 병행 할수 도 있다.
이터레이션 단위는 짧게는 2~4주, 길게는 수개월이 될수도 있다.

다층적인 계획 과정
릴리스(release), 이터레이션(iteration) 그리고 오늘(current day)
릴리스 계획 과정은 프로젝트의 범위와 일정 그리고 자원에 대한적절한 해답을 얻는 것이다.
이터레이션 계획 과정은 우선순위가 높은 일들을 골라내는 것이다.
일일 계획 과정은 스탠드업 미팅을 가져 그날 활동들을 조율하고 동기화한다.

만족조건(conditions of satisfactoion) 은 프로젝트의 성패를 가능하는 조건이다.

팀내 2~3년차 개발자를 대상으로 진행 하고 있는 CoP 인데 나름 괜찮은 것 같다.
주 교재는 불확실성과 화해하는 프로젝트 추정과 계획이고 부 교재는 The Art of Project Management.
낮은 연차의 개발자들에게는 업무 관리 능력을 향상 시키기 위해서 이 두 가지 교재는 한번 쯤 읽어 보는 것도 크게 도움이 될 것 같다.

SI 는 모르겠지만 이 업계에서 참 추정과 계획을 하기는 어려운 것 같다.. 
위에 말 처럼 
"프로세스나 도구보다는 개인과 그들 간의 상호작용을 중시한고"
이 부분만 잘 시켜져도 참 좋을 텐데.. 개인 이기주의로 참 많은 사람들이 힘들어 지고 프로젝트가 산으로 가거나 하는 것 같기도 하다..

위에 글은 책에서 발췌한 내용입니다.
http://www.yes24.com/24/goods/3067853?scode=029&srank=1
:

[펌] IE Browser Detection

ITWeb/스크랩 2010. 6. 3. 11:03

원문링크

 

Understanding User-Agent Strings

This topic describes the user-agent string, which identifies your browser and provides certain system details to servers hosting the Web sites you visit. The topic also shows how to view your user-agent string, summarizes tokens used by recent versions of Windows Internet Explorer, and documents registry keys that affect the user-agent string.

This topic contains the following sections.

Introduction

When you visit a Web page, your browser sends the user-agent string to the server hosting the site that you are visiting. This string indicates which browser you are using, its version number, and details about your system, such as operating system and version. The Web server can use this information to provide content that is tailored for your specific browser.

Because certain non-Microsoft sites add additional details to the user-agent string, it is important to understand the user-agent string. This article explains the user-agent string, lists the values from recent Internet Explorer versions, and documents registry keys that modify the user-agent string.

Understanding the User-Agent String

When you request a Web page, your browser sends a number of headers to the server hosting the site that you are visiting. Each header contains details that help the server determine the best way to provide the information that you requested. The user-agent header identifies the application requesting the information from the server. The user-agent string can contain optional details called tokens, which must be enclosed in parentheses and vary among programs. Internet Explorer uses tokens to describe additional details about your computer system.

The following figure shows a sample user-agent string reported by Internet Explorer that highlights its tokens.

Typical Internet Explorer user-agent string

For historical reasons, Internet Explorer identifies itself as a Mozilla 4.0 browser.

The sample user-agent string contains three tokens.

  1. The Compatibility flag ("compatible") is used by most modern browsers. It indicates that Internet Explorer is compatible with a common set of features.

  2. The Version token identifies the browser and contains the version number. The version token in the example ("MSIE 7.0") identifies Internet Explorer 7.

  3. The Platform token identifies your operating system and contains the version number. The platform token in the example ("Windows NT 6.0") indicates Windows Vista.

In the example, Internet Explorer is the user agent. However, other programs also provide user-agent strings when contacting servers over the Internet. For example, the Windows RSS Platform provides the following user-agent header when requesting RSS data.

Windows-RSS-Platform/1.0 (MSIE 7.0; Windows NT 5.1)

Like the user-agent string for Internet Explorer, this user-agent header provides details about your system.

Alternate tokens can appear in the user-agent string for a number of reasons; usually, they identify optional features installed on your system. For example, an "SV1" token appears in the user-agent string of a Windows XP user who has installed Windows XP Service Pack 2 (SP2). It is also important to note that certain non-Microsoft parties modify the user-agent string for their own purposes.

Note  To protect your privacy, you should periodically review your user-agent string and verify its contents.

For information on other headers communicated to Web servers, see the World Wide Web Consortium RFC 2616, Section 14: Header Field Definitions World Wide Web link.

Viewing the User-Agent String

To view your browser's user-agent string, type the following into the address bar.

javascript:alert(navigator.userAgent)

Note that this is case sensitive.

When you do this, a dialog box displays your user-agent string, as shown in the following figure.

User-agent string displayed in dialog box

Tip  If you are using a recent version of Windows, you can copy your user-agent string to the Clipboard by pressing CTRL+C before you close the dialog box.

Internet Explorer User-Agent Tokens

This section summarizes the tokens used by recent versions of Internet Explorer, which places three tokens in the user-agent string by default.

  1. Version tokens
  2. Platform tokens
  3. Feature tokens

In general, version tokens begin with MSIE and are followed by the version number of the browser. Many pre-release versions append the letter "b" to the version number. The following table lists the version tokens used in recent versions of Internet Explorer.

Version token Description
MSIE 8.0 Internet Explorer 8 (pre-release)
MSIE 7.0 Internet Explorer 7
MSIE 7.0b Internet Explorer 7 (Beta 1 pre-release only)
MSIE 6.0 Microsoft Internet Explorer 6
MSIE 6.0b Internet Explorer 6 (pre-release)
MSIE 5.5 Internet Explorer 5.5
MSIE 5.01 Internet Explorer 5.01
MSIE 5.0 Internet Explorer 5
MSIE 5.0b1 Internet Explorer 5 (pre-release)
MSIE 4.01 Internet Explorer 4.01

Platform tokens describe your operating system. The following table lists Internet Explorer platform tokens for the last several versions of Windows.

Platform token Description
Windows NT 6.0 Windows Vista
Windows NT 5.2 Windows Server 2003; Windows XP x64 Edition
Windows NT 5.1 Windows XP
Windows NT 5.01 Windows 2000, Service Pack 1 (SP1)
Windows NT 5.0 Windows 2000
Windows NT 4.0 Microsoft Windows NT 4.0
Windows 98; Win 9x 4.90 Windows Millennium Edition (Windows Me)
Windows 98 Windows 98
Windows 95 Windows 95
Windows CE Windows CE

Certain optional components can also modify the user-agent string; the following table shows common ones. Be aware that many other applications also modify the user-agent string. Because of this, a comprehensive list is not possible. If you find additional tokens in your user-agent string, you should investigate them in more detail.

Token Description
.NET CLR .NET Framework common language run time, followed by the version number.
SV1 Internet Explorer 6 with enhanced security features (Windows XP SP2 and Windows Server 2003 only).
Tablet PC Tablet services are installed; number indicates the version number.
Win64; IA64 System has a 64-bit processor (Intel).
Win64; x64 System has a 64-bit processor (AMD).
WOW64 A 32-bit version of Internet Explorer is running on a 64-bit processor.

User-Agent Registry Keys

When you install certain Windows components, such as the Microsoft .NET Framework or Windows XP SP2, tokens are added to the user-agent string. This is done by adding tokens to the following registry keys.

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
     SOFTWARE
          Microsoft
               Windows
                    CurrentVersion
                         Internet Settings
                              User Agent
                                   Pre Platform
                                        Token = Value
                                   Post Platform
                                        Token = Value

The Pre-Platform and Post-Platform keys contain values whose names appear before and after the Platform token, respectively. For example, if a string value is added to the Post-Platform key, the name appears after the platform token in the user-agent string. Multiple tokens added to either key appear in an unpredictable order.

You can also override certain tokens of the user-agent string by adding values to the following registry key.

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
     SOFTWARE
          Microsoft
               Windows
                    CurrentVersion
                         Internet Settings
                              5.0
                                   User Agent
                                        (default) = "Mozilla/4.0"
                                        Compatible = "compatible"
                                        Platform = "Windows NT 5.1"
                                        Version = "MSIE 6.0"
                                        Pre Platform
                                             Token = Value
                                        Post Platform
                                             Token = Value

The default value of the User-Agent key replaces the application name and application version tokens reported in the user-agent string. Note that the first seven characters are used for the application name, and the remaining characters specify the application version token.

The Compatible, Platform, and Version values replace the corresponding tokens in the user-agent string.

Additional tokens can be added to the user-agent string by using the Registry Editor to create new string values under the Pre-Platform key or Post-Platform key. The value name should be the complete token; the value data is ignored. Tokens added to the Pre-Platform key appear before the platform token in the final user-agent string. Tokens added to the Post-Platform key appear after the platform token in the final user-agent string. Multiple tokens in either the Pre-Platform key or Post-Platform key are displayed in an unpredictable order.

Note  If the browser is open when these keys are changed, the changes do not take effect until all browser windows are closed; this includes applications hosting the WebBrowser Control. Be aware that applications hosting the WebBrowser Control can override the Internet Explorer user-agent string without modifying it. For more information, see PRB: WebBrowser Control Clients Share Global Settings.

Related Topics

 


Detecting Internet Explorer More Effectively

This topic demonstrates how to detect current and future versions of Windows Internet Explorer more effectively.

This topic contains the following sections.

Introduction

Many Web designers use browser detection techniques to ensure that their sites display properly when viewed with specific browsers. Some browser detection techniques encounter problems when viewed with later versions of the browser they're tailored for. For example, many Web designers used Cascading Style Sheets (CSS) rules that relied on the implementation of CSS in Microsoft Internet Explorer 6 to detect that version of the browser. When Internet Explorer 7 provided additional support for the CSS, Level 2 (CSS2) standard, many of these rules (also known as "CSS hacks") failed to detect the new version of the browser. As a result, sites that relied on these rules no longer displayed as intended. When using browser detection techniques, use techniques that support current and future versions of the browser you're targeting.

This topic examines four different ways to detect Internet Explorer and also provides a brief look at alternatives to browser detection. Advantages of each technique are reviewed and suggestions are offered for effective use. In addition, examples demonstrate techniques that support current and future versions of Internet Explorer.

Parsing the User-Agent String

The most common way to detect Internet Explorer is to use client-side scripting to parse the user-agent string and extract the version number from the version token. The following example shows the preferred way to do this with JavaScript.

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}
function checkVersion()
{
  var msg = "You're not using Internet Explorer.";
  var ver = getInternetExplorerVersion();

  if ( ver > -1 )
  {
    if ( ver >= 8.0 ) 
      msg = "You're using a recent copy of Internet Explorer."
    else
      msg = "You should upgrade your copy of Internet Explorer.";
  }
  alert( msg );
}

As you review this example, please note the following:

  • A regular expression extracts the version number from the user-agent version token. Regular expressions let you specify optional conditions to match, so that you can match a larger number of version tokens, not just those that match a strict set of conditions.

  • The version number extracted from the version token is formally converted to a numeric value. Care must be taken because pre-release versions of Internet Explorer typically add letters to the version token. For example, the version token for pre-release versions of Internet Explorer 7 was "MSIE 7.0b."

  • The checkVersion() function verifies that the browser is version 8.0 or later. This ensures that the welcome message is displayed for those using newer versions of the browser.

This example properly detects most versions of Internet Explorer, but only if scripting is enabled. However, the user-agent string is dynamic; it can be changed by the end user, by browser extensions, and by operating system updates. As a result, there's no guarantee that the user-agent string accurately reflects the browser being used. The next sections show techniques that may be more effective alternatives.

Note  It is not recommended that you block access to content based on the user-agent string of the browser. If you do have to offer different content to different versions of the browser due to improved capabilities, you want to ensure that future versions of the browser are not blocked. Serving content based solely on the user-agent string is often an unreliable way to detect the full capabilities of the browser.

For more information about the user-agent string and Internet Explorer's user-agent tokens, see Understanding User-Agent Strings.

Using Conditional Comments

If you are specifically interested in Internet Explorer, conditional comments might be a more appropriate choice. The following example shows an effective way to use conditional comments to display custom content.

<!--[if gte IE 8]>
<p>You're using a recent version of Internet Explorer.</p>
<![endif]-->

<!--[if lt IE 7]>
<p>Hm. You should upgrade your copy of Internet Explorer.</p>
<![endif]-->

<![if !IE]>
<p>You're not using Internet Explorer.</p>
<![endif]>

Like the earlier JavaScript example, this example makes sure the current version is greater than or equal to a specified version number. This ensures that the content designed for the current version of the browser is properly displayed in a future version.

This example carefully combines downlevel-revealed and downlevel-hidden conditional comments to ensure that each message appears only for the intended browsers.

Because conditional comments do not rely on JavaScript, they are effective even if the user has disabled scripting. Unlike the user-agent string, conditional comments are typically updated when the browser is upgraded. This makes them more reliable than user-agent strings. However, because no other browser currently supports conditional comments, they are limited to Internet Explorer. Depending on your needs, this may be an advantage or a disadvantage.

For more information about conditional comments, see About Conditional Comments.

Detecting Features

For many Web sites, detecting a browser's features is the preferred form of browser detection because it allow the Web developer to focus on the general capabilities of a browser, rather than the specific details of each browser release. The following example demonstrates a simple form of feature detection.

if (XMLHttpRequest)
{
    // This browser implements this feature. 
}

Feature detection tends to support a broader range of browsers. In addition, should a browser implement the feature you're interested in, your content will be delivered without requiring changes to your browser detection technique. As a result, techniques that focus on features tend to require less maintenance than techniques that rely on environmental factors, such as the user-agent string. In addition, they tend to work across a wider variety of browser devices, including screen readers, mobile devices, and so on.

Use care when creating or using browser detection techniques that attempt to detect a browser based on unsupported functionality. If a future version of the browser implements the missing feature, it's entirely possible your site may not display as intended.

Using the ASP.NET HttpBrowserCapabilities Object

ASP.NET developers can use the HttpBrowserCapabilities object to detect and respond to almost any browser. In addition, alternate content is not sent to the end-user's browser. The following example shows how to detect Internet Explorer from an ASP.NET application using C#.

private float getInternetExplorerVersion()
{
  // Returns the version of Internet Explorer or a -1
  // (indicating the use of another browser).
  float rv = -1;
  System.Web.HttpBrowserCapabilities browser = Request.Browser;
  if (browser.Browser == "IE")
    rv = (float)(browser.MajorVersion + browser.MinorVersion);
  return rv;
}

private void Page_Load(object sender, System.EventArgs e)
{
  string msg;
  double ver = getInternetExplorerVersion();
  if (ver > 0.0)
  {
    if (ver >= 7.0) 
      msg = "You're using a recent version of Internet Explorer.";
    else
      msg = "You should upgrade your copy of Internet Explorer.";
  } 
  else
    msg = "You're not using Internet Explorer.";

  Label1.Text = msg;
}

Because the HttpBrowserCapabilities object parses the user-agent string for you, you can use the MajorVersion and MinorVersion properties to determine the current version of the browser. Unlike the JavaScript examples, these properties are numeric; MajorVersion returns an integer value, and MinorVersion returns a double value. Depending on the language used to implement your ASP.NET application, however, you might still have to typecast these property values to the data type you're using. To illustrate, the C# example converts MajorValue to the floating point value returned by the function.

For more information about the HttpBrowserCapabilities object, see HOW TO: Determine the Browser Version in ASP.NET or Browser Sniffing in ASP.NET World Wide Web link.

Alternatives to Browser Detection

If you use browser detection because Internet Explorer doesn't appear to support a particular feature, an alternate approach may be more effective. Before implementing new (or revising existing) browser detection, it may be worthwhile to consider one of the following approaches to solve the underlying problem.

  • Internet Explorer allows Web developers to choose between various document compatibility modes that affect the way the browser interprets and displays content. If you are not seeing the results you expect, a different document compatibility mode may provide the results you seek. For more information, see Defining Document Compatibility.

    You may want to consider using the Developer Tools to preview your pages in different document compatibility modes or to experiment with different ways to achieve various visual and layout effects. It's entirely possible there's another way to accomplish the same result.

  • If the Document Object Model (DOM) doesn't support a feature that you need, you may be able to add the feature using DOM mutable prototypes.

  • If none of the previous suggestions apply, it may be worthwhile to consider using an alternate approach.

Summary

If you must detect the browsers that view your Web sites, follow effective practices: plan for future browser releases, convert values appropriately, and design techniques to fail gracefully. Doing so will reduce the long-term maintenance of your site and help ensure that your site functions properly when viewed with newer versions of Internet Explorer and other browsers.

:

IT 통계/트랜드 정보 사이트

ITWeb/스크랩 2010. 4. 13. 11:43
http://gs.statcount.com 이라고 글로벌 하게 통계 정보를 제공해 주고 있습니다.
지난 번에 올렸던 국내 사이트랑 비교해서 보시면 괜찮을 듯 하내요. (http://jjeong.tistory.com/374)


Source: StatCounter Global Stats - Browser Version Market Share

:

인터넷 트랜드 정보제공 사이트.

ITWeb/스크랩 2010. 3. 24. 14:02

http://trend.logger.co.kr/trendForward.tsp

브라우저 점유율 이나 사용율이 궁금해서 찾다가 북마크 합니다. :)
:

[펌]유용한 링크?

ITWeb/스크랩 2010. 1. 27. 14:04
http://shesgeeky.org/sg/2009/12/75-online-resources-for-geeks/


75 Online Resources for Geeks


As a gift to our readers, and to bring in the New Year, we’ve compiled a list of what we think are some of the best online resources and tools to make your life in tech easier. Please feel free to share any or all of your favorites with your own community – just copy and paste. Happy 2010!

Coding

1. PHP Anywhere
PHPanywhere enables users to develop and maintain their php/html projects online using any standard Web browser

2. HTML Form Builder
Create HTML forms in seconds.

3. Bespin – Code in the Cloud
Bespin is a Mozilla Labs experiment on how to build an extensible Web code editor using HTML 5 technology.

4. CSS Typeset
Interactive CSS code generator.

5. AskApche’s Compress CSS
Compresses CSS using either URL, file upload or raw CSS

6. The JavaScript Code Quality Tool
An online JavaScript program that looks for problems in JavaScript programs – Warning – It will hurt your feelings.

7. JavaScript Lint
With JavaScript Lint, you can check all your JavaScript source code for common mistakes without actually running the script or opening the web page. Offline and online versions available.

8. YUI Compressor
Offline tool for compressing CSS and JavaScript files.

9. JavaScript Compressor and Comparison Utility
Compares JSMin, Dojo shrinksafe, Packer and the YUI Compressor, with or without gzip.

10. Lottery Post’s Online CSS Compressor
Compact your CSS style sheets into the smallest size possible

11. Lottery Post’s Online JavaScript Compressor
Compact your JavaScript code into the smallest size possible using either Microsoft’s Ajax Minifier or YUI Compressor.

12. Google Closure Tools

The Closure tools include:

  1. A JavaScript optimizer – Compiles JavaScript into compact, high-performance code.
  2. A comprehensive JavaScript library – A broad, well-tested, modular, and cross-browser JavaScript library.
  3. Templating – Simplifies the task of dynamically generating HTML on the server and client.

13. Online code beautifier
Beautifies PHP, Java, C++, C, Perl, JavaScript, CSS.

14. .htaccess Editor
Easily create .htaccess files online.

15. Favicon Generator
Creates a favicon (favorites icon) from any (square) image.

16. XML and HTML Character Entities
Lists the numeric values and names of the available XML and HTML entities, such as the copyright, Pound, Yen and Euro symbols.

17. ASCII Table
lists the ASCII characters and their decimal, octal and hexadecimal numbers.

18. HTML Color Names
Lists the available HTML color names, including their hex codes and matching colors.

Decoding Utilities

19. Base64 Online
Base64 encode or decode text or files.

20. Online string encoder/decoder – Base64, URL, XML
Encode and decode strings easily.

21. Unix Time Decoding
Convert Unix timestamps to local or UTC readable version.

Testing

22. Browser Sandbox – Run any browser from the web
Test your Web sites using different versions of Internet Explorer, Firefox, Chrome, Safari or Opera.

23. MFC MAPI
GUI which allows access to Microsoft Outlook MAPI based stores.

24. Notes Peek
GUI which allows access to Lotus Notes databases.

25. Adobe BrowserLab
Cross-browser testing: Preview and test your web pages on leading browsers and operating systems.

26. Browsershots
An open-source, online service that takes screenshots of your site and presents them as viewed by different browsers

27. Blind Text Generator
Dummy text: To occupy the space which will later be filled with ‘real’ content.

28. Lipsum Generator
Generate various length texts using the standard ‘Lorem Ipsum’ text.

29. HTML Ipsum
Lorem ipsum text in a variety of HTML formats (paragraphs, forms, lists, etc.)

30. Load Impact
A load testing service that lets you load- and stress test your website over the Internet.

31. Pingdom Full Page Test
Loads a complete HTML page including all objects (images, CSS, JavaScripts, RSS, Flash and frames/iframes), and provides general statistics about the loaded page such as the total number of objects, total load time, and size including all objects.

Data Sets

32. Internet World Stats
World population and Internet usage statistics.

33. GeoLite Country
Free version of MaxMind’s GeoIP Country database – Updated monthly and 99.5% accurate

34. GeoLite City
Free version of MaxMind’s GeoIP City database – Updated monthly and 79% accurate

Firefox Extensions

35. Firebug
Firebug integrates with Firefox to put a wealth of web development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page.

36. Yahoo! YSlow
YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules.

37. Greasemonkey
Greasemonkey is a Firefox extension that allows you to customize the way Web pages look and function. Hundreds of scripts are already available for free.

38. Update Scanner
A Firefox extension to monitor web pages for updates. Useful for websites that don’t provide Atom or RSS feeds.

39. FireFTP
FireFTP is a free, secure, cross-platform FTP client for Mozilla Firefox which provides easy and intuitive access to FTP servers.

Tools for Images

40. Photoshop Online
Part of the Photoshop family, Photoshop Online lets you upload, organize, edit and share images

41. Gimp
GIMP is an acronym for GNU Image Manipulation Program. It is a freely distributed program for such tasks as photo retouching, image composition and image authoring.

42. Inkscape
An Open Source vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format.

43. PicNik
Online editing tool Picnik makes it easy to tweak your images and add effects, fonts, shapes, and frames.

44. SplashUp
Real Time editing tool and photo manager

45. Pic Markr
PicMarkr lets you to add custom watermarks to your images. Useful when you need to protect your copyright.

46. Closr.it
An online tool to let you share and zoom into images

47. Color Scheme Designer
Easily create color schemes and preview via mockup sites.

48. Colour Lovers
COLOURlovers is an international community of designers and artists of all kinds who visit the site to get color inspiration, ideas and feedback for both their professional and personal projects.

49. Icon Finder
Search engine for Icons: Search through 126,063 icons or browse 340 icon sets

50. Shrink O’Matic
Easily resize and convert images.

51. Ajax Loading GIF Generator
Create your own “loading” GIF image.

52. Super Screenshot
Create an image of a full Web page.

53. ASCII Art
ASCII art generator.

Security Tools

54. Cain & Abel v4.9.35
Password recovery tool for Microsoft Operating Systems

55. The Password Meter
Accesses the strength of your passwords as you type. Offline version can be downloaded.

56. Microsoft’s Password Checker
Test the strength of your passwords as you type.

57. Javascript Password Strength Meter
Tests the strength of your passwords as you type and also breaks down its scoring system so you can see what makes a password stronger.

Converters

58. PX to EM
Pixels to EM Conversion

59. Binary to Base 64
Create data streams for embedding images (or any type of file) in (X)HTML, CSS and XML

60. Text to Voice
Create an MP3 of a voice reading your text

61. Free PDF online conversion
Converts various files (DOC, PUB, RTF, XLS, PPT, HTML, JPG, PNG, BMP, TIFF, WMF, EMF, GIF etc.), to PDF online, then e-mails you the PDF

62. Web 2 PDF
Allow your visitors to create PDFs of any Web page

63. Text to Hex converter
Write your name in hex

W3C Validators

64. W3C Link Checker
Checks links and anchors in Web pages or full Web sites.

65. W3C Feed Validation Service
Checks the syntax of Atom or RSS feeds.

66. W3C mobileOK checker
Determines the friendliness of Web sites for mobile appliances.

67. W3C Markup Validation Service
Checks the markup of Web documents (HTML, XHTML etc)

68. W3C CSS Validation Service
Checks CSS and (X)HTML documents with style sheets.

Resources for Site Owners

69. FTC Guidelines for Bloggers Note: PDF
FTC guidelines concerning the use of endorsements and testimonials in advertising.

70. Embedit.in
Allows you to embed any file into your website or blog easily

71. Domainr
Queries 280 top-level domains and another 2,014 second-level domains and helps you find unique Web addresses using real English words.

72. Tynt
Tracks copy and paste activity on your site, and automatically adds a link back to your content when it is pasted somewhere else.

73. Montastic
Know when your site is down before your customer (or your boss) tells you.

Collaboration/Brainstorming Tools

74. Dabbleboard
An online whiteboard that lets you think and collaborate visually

75. iPlotz
Helps you quickly create clickable, navigable mockups and wireframes for prototyping websites and software applications.

:

[무료에이터]

ITWeb/스크랩 2009. 7. 22. 12:04

제가 설치해서 사용해 본 것들 입니다.
개인적인 취향으로는 에디터 플러스에 익숙해져 있어서 이넘과 비슷한 스타일의 에디터가 손에 익는다는..
(참고로 개인 라이센스를 구매해서 사용하고 있으나 회사에서는 사용을 못하고 있다는...ㅡ.ㅜ;;)

1. Note Pad Plus (Notpad++)
http://notepad-plus.sourceforge.net/

2. PSPad
http://www.pspad.com/

3. Crimson Editor
http://www.crimsoneditor.com/

4. AcroEdit
http://www.acrosoft.pe.kr/

5. DesyEdit
http://www.desyedit.com/ko/downloads

6. Context Editor
http://www.contexteditor.org/

7. JEdit
http://www.jedit.org/


이외 검색해 보시면 무료 에디터 많이 나옵니다.
저 위에 있는 에디터 중에서는 개인적으로 1번이 제일 익숙하다고나 할까요..
개인적인 취향이니까.. 입맛에 맞는걸루 쓰심 좋겠죠..
:

야후가 MS 에 팔리는가 보군요..

ITWeb/스크랩 2009. 5. 28. 17:52

지디넷 뉴스를 보니..

야후 CEO "검색부문 매각의사 있다"

야후 CEO 캐롤 바츠가 27일(현지시각) 검색엔진 부문을 매각하기 위해 마이크로소프트와의 협상을 진행중이라고 밝혔다.▲ 캐롤 바츠 야후 CEO씨넷뉴스에 따르면 바츠 CEO는 이날 디지털 컨퍼런스인 'D7' 행사에서 가진 인터뷰에서 MS와의 협상 진행여부에 대한 질문에 "예, 어느 정도는…"이라고 대답했다. 바츠 CEO는 "인수를 위해서는 충분한...

MS, 유한회사 설립…야후와 손잡나?

마이크로소프트(MS)는 지난주 언론에 알리지 않은채  유한회사 등록 절차를 마쳤다고 26일(현지시각) 美 지디넷이 보도했다. 지디넷은 새 회사에 대해 검색엔진 분야에서 협력을 다지기 위해 야후와 합작법인을 세울 수 있다는 가상 시나리오를 제시해 눈길을 끌었다. 시트릭스 인수와 관련이 있을 것이란 일부 업계 전망도 있다.검색...

최근에 야후코리아는 아주 많은 분들이 퇴사(?)를 하셨던데..
정말 실력 있는 분들 중에도 떠나신 분도 있고.. 아직까지 실력도 없으면서 잘 살고 있는 사람도 있고..
잘 살고 있다는게 실력이 있어서는 아닌듯..
야코가 잘못하고 있는건 정말 실력 있는 사람들에 대한 동기 부여를 잘 못하고 실력 없는 사람을 잘 추려내지 못하는 무슨 회사가 동정으로 돌아가는 것도 아니고.. 참 남의 돈 먹기 쉬운가요???
(살짝 개인 감정 들어가 있음.. ㅋ)

뭐.. 그래도 MS 에 빨리 합병 되어서 예전 처럼 활기찬 모습을 되찾았으면 좋겠내요....
그래도 오랜 기간 동안 열정을 가지고 일을 했던 회사라.. ^^*

암튼 앞으로 어찌 될지 궁금하내요.. 인수 될것도 같은데.. 참 오래 걸리죠..
제리양이 32불 준다 할때 넘겼으면.. 어땠을까 생각도 해보구요..
: