vim 설정을 위한 .vimrc

set nu
syntax on
set autoindent
set smartindent
set ts=4
set nobackup

filetype on


사실 요즘 xterm을 쓰는 사람은 드물겠지만 (보통 gnome-terminal 등을 사용하지 않을까?) 간혹 속도등의 이유로 xterm을 쓰는 경우를 위하여~ (.Xdefaults 파일)

xterm*foregroud:gray10
xterm*background:gray70

(신기한 것은 xterm을 띄울 때 xterm -bg gray10 -fg gray70은 괜찮은데 .Xdefaults를 수정해서 그냥 띄우면 이상하게 뜬다 ㅡㅡ;)


구글 android에는 기본적으로 webkit이 들어 있다.
그런데, proxy를 설정해야 하는 경우는 잘 안되는데

아래와 같은 방법으로 proxy를 설정할 수 있다.
(android SDK는 이미 설치되었다고 보고 ^^)

1. emulator를 실행시킨다.
2. 같은 디렉토리에 adb라고 있는데

proxy 설정 (아래를 한줄로 입력한다)
./adb shell sqlite3 /data/data/com.google.android.providers.settings/databases/settings.db "INSERT INTO system VALUES(99,'http_proxy','IP주소:포트');"

(http:// 를 주소 앞에 붙일 필요는 없다)

proxy 설정 확인 (아래를 한줄로 입력한다)
./adb shell sqlite3 /data/data/com.google.android.providers.settings/databases/settings.db "SELECT * FROM system"

와 같이 하면 설정 완료

3. 이제 다시 emulator를 실행시킨다.




JDK 5

2006/11/03 15:18
JDK 5에서 내가 느낀 가장 큰 변화 ㅡㅡ;

기존코드
System.out.println("Error : " + e.getMessage());


StringBuffer msg = new StringBuffer("Error : ");
msg.append(e.getMessage());
System.out.println(msg.toString());
과 같이 해야 한다.

ㅡㅡ;

그래서 JDK 1.4.2로 복귀하기로 결심했다 ㅠㅠ


최근의 웹 서비스등의 동향을 잘 나타낸 것 같아서,
http://www.zdnet.co.kr/itbiz/column/anchor/hsryu/0,39030308,39150831,00.htm
에서 퍼왔습니다.





변화의 증거들 - SaaS, 웹 서비스, RIA

류한석(피플웨어 운영자)   2006/09/05


새로운 IT 시대를 여는 분위기 메이커로서 웹 2.0이 중요한 역할을 톡톡히 수행하고 있다. 그에 따라 웹 2.0과 관련된 UCC, 롱테일 등의 개념, 그리고 Ajax와 같은 웹 기술에 대해 여러 곳에서 언급이 되고 있다.

하지만 웹 2.0에 대한 소개가 빈번하게 다루어지는 반면(사실 많은 사람들이 벌써 웹 2.0이라는 말에 피로감을 느끼고 있다), 필자가 블로그에서 밝힌 IT 혁신의 징후라는 관점에서의 전반적인 통찰은 거의 이루어지지 않고 있는 듯 하다.

새로운 IT 시대를 이끌어갈 주요 요소
그간 IT의 역사는 메인 프레임, 클라이언트/서버, 웹(또는 인터넷)의 시대를 거쳐왔다. 그러한 발전의 과정에서 지속적으로 시대의 변화를 이끌어 온 몇 가지 중요하고도 공통된 요소들을 정리해보고자 한다. 아래의 요소들은 새로운 시대를 이끄는 데 있어서도 중요한 요소로 작용할 것이다. 여러 요소들이 통합되어 미래를 만들어낸다.

첫째, 비즈니스 모델의 혁신이다. 소프트웨어 비즈니스 모델은 지금 상당한 변화를 맞이하고 있다. 소비자가 소프트웨어를 직접 소유하고 설치하여 사용하는 기존의 방식에서 SaaS(Software as a Service)로의 변화가 바로 그것이다. SaaS에 대한 내용이 궁금하다면 필자의 SaaS 아티클을 참고하기 바란다.

둘째, 커뮤니케이션 아키텍처의 혁신이다. 네트웍 인프라는 그 동안 다이얼업으로부터 브로드밴드, 와이파이로 발전해왔다. 그리고 최근에는 와이브로, HSDPA 등으로의 혁신을 눈앞에 두고 있다.

과거에 보면, 인프라가 진화할 경우 그 위에서 구동되는 킬러 소프트웨어와 새로운 컨텐츠 비즈니스 모델이 나왔으며, 그것들은 서로서로 협업하며 새로운 시대를 이끌었다. 앞으로도 마찬가지일 것이다.

커뮤니케이션 기술에 있어서 클라이언트/서버 시대에는 TCP/IP가 확산되었고 웹의 시대에 는 HTTP가 확산되었다. 앞으로는 HTTP와 XML을 기반으로 한, 웹 서비스(Web Services)가 주요한 역할을 수행하게 될 것이다. 여러 커뮤니케이션 기술들이 효과적으로 통합되는 것이 추세이다.

‘프로그래밍이 가능한 인터페이스로서의 웹 서비스’는 웹 기반 서비스라는 ‘폭넓은 의미의 웹 서비스’라는 용어와 쉽게 혼동이 되고는 한다. 필자가 의미하는 웹 서비스는 ‘프로그래밍이 가능한 인터페이스로서의 웹 서비스’이다. 웹 서비스는 SOA(Service-Oriented Architecture)를 구현하기 위한 중요한 기술 요소이기도 하다.

웹 서비스는 몇 년 전 처음으로 선보인 이후로 지금까지 보급이 지지부진하였지만 웹 2.0 개념의 등장과 함께 프로그래밍이 가능한 웹, 그리고 매쉬업의 인기가 폭증하면서 새롭게 주목을 받고 있다.

솔직히 그 동안 엔터프라이즈 시장에서 웹 서비스는 폭발적인 힘을 발휘하지 못했다. 과거의 익숙한 방식으로 대체할 수 있다면, 새로운 방식은 주목 받지 못한다. 그러한 이유로 엔터프라이즈 시장에서는 웹 서비스의 확산이 지지부진했던 것이다. 웹 서비스가 확산될 만한 비즈니스 모델과 기술적 당위성이 부족했다.

하지만 웹 2.0은 많은 것을 바꾸어 놓았다. 그리고 그것은 결국 엔터프라이즈 쪽에도 영향을 미치게 될 것으로 예상된다. 앞서 설명한 SaaS와 같은 비즈니스 모델의 혁신, 그리고 다음에 설명한 UI의 혁신과 결합함으로써 웹 서비스는 비로소 제대로 작용하게 될 것이다.

셋째, 사용자 인터페이스(UI, User Interface)의 혁신이다. 마지막으로 살펴 볼 UI의 혁신은 필자가 가장 중요하게 생각하는 요소이다. 사용자의 입장에서 가장 임팩트있게 다가오는 것이 바로 UI의 혁신인 것이다. 이 점은 필자가 지속적으로 강조하고 있다.

이러한 UI의 혁신을 OS의 관점에서 살펴보면 MS의 윈도우 비스타, 애플의 타이거 그리고 차기 버전인 레오파드, 리눅스의 XGL 등 거의 모든 데스크톱 OS에서 UI의 상당한 혁신이 이루어지고 있다.

또한 개발 환경의 관점에서 살펴보면 .NET 프레임워크 3.0의 일부인 WPF(Windows Presentation Foundation), 그리고 WPF의 부분집합으로서 크로스 플랫폼과 크로스 브라우저를 지원하는 WPF/E(Windows Presentation Foundation/Everywhere)가 있다. MS는 애플리케이션의 그래픽/UI 디자인을 위해 새롭게 익스프레션(Expression) 제품 군을 선보이고 있기도 하다.

그리고 RIA(Rich Internet Application) 개발 도구인 어도비(구 매크로미디어)의 플렉스(Flex)가 있다. 플렉스는 얼마 전 2.0 버전이 출시되었는데 기능과 성능이 많이 개선되었다. 또한 오픈소스 기반인 오픈라즐로(OpenLaszlo)도 RIA 개발 솔루션으로서 상당한 주목을 받고 있다. 아주 매력적인 기술들이다. Ajax는 이러한 RIA 도구들에 비하면 소품이라고 할 수 있다. 물론 Ajax는 나름의 장점을 갖고 있는데 워낙 유명한 기술 세트이므로 여기에서 일일이 언급하지는 않겠다.

RIA는 웹에서 데스크톱과 흡사한 UI 환경을 제공하기 위한 노력의 결과물이며 계속 진화하고 있다. 웹 2.0에서 중요한 UI 기술로 부각되고 있으며 활용이 점차 증가하고 있다. 그간의 IT 역사를 보면 UI가 바뀌면 많은 것들이 바뀌었다. 필자는 이번에도 예외가 아닐 것으로 확신하고 있다.

빅 임팩트를 위하여
위에 소개한 요소들은 개별적으로 다루어지기 보다는, IT 시대의 혁신이라는 하나의 목표를 향해 한 지점으로 모이고 있는 것으로 이해되어야 한다. 이러한 개념들은 한 지점에서 폭발할 것이며, 얼마 지나지 않아 일반적으로 받아들여지고 금방 일상화될 것이다.

그 때의 시작이 바로 내년이다!

새로운 시대를 앞두고 전하고 싶은 내용들이 참 많다. 필자가 커뮤니티 사람들과 함께 개설한 스마트플레이스 블로그를 통해 국내외의 새로운 웹 2.0 사이트들에 대한 리뷰와 신기술에 대한 정보를 지속적으로 공유하고자 한다. 아직은 그리 내용이 많지 않지만 계속 업데이트가 될 것이다.

끝으로 해외에 비해 활력이 많이 떨어지는 국내 소프트웨어 업계의 분발을 바라는 마음으로 에리히 프롬의 명구를 소개하며 글을 마친다. @

“활력은 비전의 산물이다. 위대하고, 아름답고, 중요한 그 어떤 것에 대해 비전이 없다면 활력은 감소되고 인간의 생명력은 약해진다. - 에리히 프롬”



아마도 곧 khronos에서 주최하는 OpenVG를 사용한 컨테스트가 있을 것 같다. 혹시 관심있는 사람들을 위하여 미리 공부할 수 있도록 하기 위해서 OpenVG 라이브러리를 구하는 곳을 정리해 봤다.

  • Hybird OpenVG Reference Implementation Hybrid에서 제공하는 샘플 구현이다. 이 것 말고도 Hybrid에서 제공하는 Rasteroids 란 것도 OpenVG를 지원한다. (버전 2 이상)
  • AmanithVG Open 소스로 제공되는 Amanith를 운영하는 회사인 Mazatech에서 개발한 OpenVG 구현이다. Amanith는 open source지만, AmanithVG는 상용버전이다. 현재 버전은 OpenGL 위에서 구현되어 있다. (앞으로는 OpenGL ES위에서). 아직 완전하지는 않아서 EGL은 제공하지 않고 있다.
  • AlexVG (현재 공사중. 완료되는데 까지 시간이 걸릴 듯.) 우리나라 업체인 휴원이 만들었다. 그래서 더욱 자랑스럽다. 참고로 휴원은 OpenVG Conformance Test를 만드는 업체이다.

*참고* OpenVG에 대해서(OpenVG를 잘 모르시는 분들만)
OpenVG는 Khronos에서 제정한 저수준 H/W 가속을 위한 vector graphics를 위한 표준 API 이다.



뭔지는 모르지만,
일단 적어나 둬야 겠다.

JSR 184 : M3G
JSR 226 : SVG Tiny
JSR 287 : SVG Tiny 1.2 (아직 나오진 않았다)
JSR 239 : Java Binding for OpenGL ES







Embedded Linux Graphics Quick Reference Guide
(Updated Dec. 13, 2005)

When you install Linux on a desktop PC, you normally choose from among a few "standard" graphics support components. You'll likely use the X Window system (XFree86 or ) as the display interface foundation (with associated Linux drivers to control the hardware), GNOME or KDE as a windowing environment, and one of several full-featured browsers such as Firefox, Konqueror, or Opera.

But the typical desktop Linux "graphics stack" isn't well suited to embedded Linux applications. Embedded devices frequently have highly constrained resources and can afford neither the program storage space nor the memory footprint of desktop graphics software. For example, embedded devices may easily have as little as 2 to 16 MB of Flash disk from which to load programs, and 4 to 32 MB of RAM memory in which to run them. But the typical desktop graphics components are notorious resource hogs . . .

  • X Window System: 5MB RAM, 16MB disk

  • GNOME: 14MB RAM, 95MB disk

  • KDE: 11MB RAM, 96MB disk

  • Mozilla: 12MB RAM, 26MB disk
All that memory costs money, requires board space, and consumes power. Then too, embedded systems frequently have unique needs that can't be met by desktop graphics system components. These include the requirement for a customized look and feel, control over what functions are available to users, speed of loading, unusual display or input device characteristics, etc.

To satisfy the demands of the rapidly emerging embedded Linux marketplace, a growing number of graphics support projects and products have sprung up. Targeted environments run the full gamut -- including fixed, portable, and mobile systems -- and the applications range from hand-held consumer products like PDAs and cell phones, to medical instruments, factory automation, and commercial airlines cockpit displays.

With this in mind, LinuxDevices.com has created The Embedded Linux Graphics Quick Reference Guide. We intend to continually update this guide -- so be sure to check back frequently for the latest info.




Open source Embedded Linux Graphics System Software



Dillo -- Dillo is a very small (less than 300KB), fast, Open Source multi-platform web browser that's written completely in C and built on GTK+ libraries. Dillo's high efficiency and minimal library dependencies make it quite suitable for embedded apps. Dillo can be teamed up with an embedded webserver to completely eliminate the need for a window manager in an embedded device. -- details

DirectFB -- DirectFB is a thin library that provides developers with hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers on top of the Linux Framebuffer Device. It is a complete hardware abstraction layer with software fallbacks for every graphics operation that is not supported by the underlying hardware. -- details

The Familiar Project -- this open source PDA Linux project, which is an offshoot of the activities at handhelds.org, has collected together all of the key components of a complete Linux-based PDA computing platform. The Familiar distribution currently includes a Blackbox-based window manager, Agenda Computing's Fltk+ based PIM applications, an embedded Python implementation, system configuration and settings backup utilities, OpenSSH client and server, and a Debian-based ARM kernel. -- details

FBUI -- FBUI is a tiny GUI that resides inside the Linux kernel. The key concepts of FBUI are that firstly it is small; secondly that it is spartan, which is good; thirdly that it is just another driver; and fourthly that drivers belong in the kernel, not in userspace. details

GGI project -- the "General Graphics Interface" project is dedicated to development of fast, stable, open-source cross-platform multimedia API systems. Designed from the ground up with environments such as embedded systems in mind, GGI is fast, clean, abstract, dynamically modular and highly optimizeable. -- details

GPE Palmtop Environment -- this project aims to provide a Free Software GUI environment for palmtop/handheld computers running the GNU/Linux operating system. GPE uses the X Window System, and the GTK+ widget toolkit. -- details

GtkFB -- beginning with version 2.0, GTK+ will support rendering directly to the Linux framebuffer instead of using the X Window System. This is good for embedded systems and devices with limited resources, because it eliminates the overhead of an X server, while still taking advantage of the power of GTK+ and the large base of existing programs. -- details

handhelds.org PDA support -- want to create your own unique Linux PDA implementation? handhelds.org is for you! Early this year, Compaq created the Open Handheld Program, an initiative designed to stimulate innovation and research on handheld devices that resulted from the company's "Itsy" pocket computer project. To support this initiative, Compaq created handhelds.org -- a vendor neutral website dedicated to open source handheld development. Not surprisingly, Compaq's iPAQ PDA is used as the base platform for all these activities and, consequently, a iPAQ Linux port is available as freely available open source software. -- details

Matchbox -- a small foot-print window manager and associated applications, designed specifically for resource-constrained X11-enabled devices such as handheld computers, PDA's, set-top boxes, and consumer devices where display size, storage, CPU bandwidth, and input mechanisms are limited. Matchbox includes a window manager, a panel, a desktop, a shared utility library, and a number of small panel applications. -- details

Microwindows -- an Open Source project aimed at bringing the features of modern graphical windowing environments to smaller devices and platforms. Microwindows applications can be built and tested on the Linux desktop, as well as cross-compiled for the target device. -- details

NxZilla (formerly nanozilla) -- a set of libraries that allow Mozilla to be used with a NanoX server from the Microwindows project. -- details

OpenGL ES -- a light-weight, royalty-free embedded graphics standard that provides graphics API profiles for a broad range of embedded systems and devices, including handheld wireless devices, automotive and avionics displays, and multimedia consumer devices such as advanced digital TVs, set-top boxes, and game consoles. -- details

OpenGUI -- a fast, 32-bit, high-Level C/C++ graphics & windowing library/GUI built upon a fast, low-level x86 asm graphics kernel. It is under LGPL license. OpenGUI provides 2D drawing primitives and an event-driven windowing API for easy application development. -- details

PicoGUI -- small, portable client/server GUI designed to work on many types of hardware including handheld computers. Like the X Window System, it has a flexible client-server architecture. Unlike X, however, fonts, bitmaps, widgets, and anything else the application needs are built directly into the server. This sacrifices a small decrease in flexibility for an increase in speed and a large decrease in size. -- details

Qt/Embedded -- provides a full graphics stack, from the hardware interface to a full GUI tookkit. Although the API is identical to the popular Qt/X11 and Qt/Windows products, Qt/Embedded is not based on X11 and therefore it has substantially reduced memory requirements. Memory demands can be tuned to the range of 800 KB to 3 MB in ROM (Intel x86). Qt/Embedded is available as open source software, under the GNU General Public License (GPL), or can be licensed on other terms from its originator, Trolltech. -- details

Simple DirectMedia Layer -- an open source cross-platform multimedia development API/library designed to provide fast access to the graphics framebuffer and audio device. SDL is currently being applied to a number of Embedded Linux implementations such as Microwindows. details

Tiny-X -- a small footprint X Window server implementation for embedded systems. It was developed by Keith Packard of the XFree86 Core Team, sponsored by SuSE. The goal was to create something that would work well in a small memory footprint and, importantly, be robust in near out-of-memory situations. Typical X servers based on Tiny-X can fit in less than 1MB on x86 CPUs. The project has since forked into several projects, including KDrive, SmallX, and Integrated Tiny-X.

ViewML -- a freely available, open source web browser targeted specifically at the embedded Linux platform. Currently, ViewML along with it's interface requires 2.1 MB of RAM, with a disk image of only 760K. -- details

WML Browser -- a project, sponsored by 5NINE to develop a browser which will allow any wireless device to have WAP functionality. It must support multiple protocol stacks (WAP 1.2.1, http), in differing environments, using differing input devices. The browser will work with framebuffer graphics. -- details

Xynth Windowing System -- a free software project to build a portable, embedded client-server windowing system. The Xynth Windowing System, released under the GPL, offers a lightweight GUI-capable windowing system usable in Linux-based embedded systems and devices, such as handhelds and set-top boxes. details




"Commercial" Embedded Linux Graphics System Software




Access: Netfront browser -- an embedded browser designed for information appliances with modest memory and CPU performance. It requires less than 1.3MB ROM and 2MB RAM, supports full HTML 3.2 and selected features from HTML 4.0, frames, JavaScript, cookies, Web-printing and multi-languages. Its modular and scalable architecture can be enhanced by application-specific modules and plug-ins. An independent user interface layer and design tool allows device manufacturers to create a unique look and feel for their product. -- details

ANT: Freesco browser -- a small memory footprint, standards-compliant JAVA based browser that enables OEMs to quickly and easily design a branded interface for Internet appliances. It is platform-independent, so it can be used with any hardware or operating system environment (including various implementations of Embedded Linux). -- details

Century Software: PIXIL PDA and Microwindows -- a complete PDA system including an operating environment, PIM applications, email client, web browser, and a set of multimedia applications. The Microwindows graphical windowing system (described above) is at the core of the PIXIL PDA solution. -- details

Espial: Espial Suite -- a complete, 100% Java application layer that sits independently from the operating system and JVM on the upper layer of a device stack and has been used extensively with Linux. Espial Suites include the following applications: Espial DeviceTop graphical OSGi client, Espial Escape web browser, Espial Ebox email client, and Espial Espresso lightweight GUI toolkit.

Feynman Software: MiniGUI -- [Oct. 26, 2005] -- a dual-licensed (GPL or commercially licensable) project to create a small windowing system support library for embedded systems and devices, which offers the equivalent window management functions of Win32 APIs. -- Details here (article), here (link), and here (news).

Fluffy Spider: FancyPants -- [Oct. 26, 2005] -- This commercial graphics framework from Australian ISV Fluffy Spider is a set of lightweight special effects software for user interfaces (UIs). FancyPants supports skinning, overlays, and fancy effects, and targets media-centric consumer and mobile devices, such as POS (point-of-sales/service) systems, set-top boxes, and mobile phones. Details here, here, and here.

NetClue: Clue WBC browser -- a compact, modular, and platform independent 100% Java browser. Clue WBC supports Unicode for international characters, smooth scrolling, streamline parsing and display, web printing, customizable user-interface, and is WAP compliant. Other features include support for HTML 4.0, XML, HTTP 1.0 and 1.1, CSS, DOM, cookies, JavaScript, Java Applets. -- details

Swell Software: LinuxPEG -- LinuxPEG is an embedded GUI library and development toolkit designed specifically for embedded systems. The LinuxPEG library is designed to run on any Linux distribution and its development tools run in the X11 development environment. LinuxPEG, which is available under license, is small footprint, completely ROMable, includes full C++ source code, and is royalty fee. -- details

Trolltech: Qtopia and Qt/Embedded -- Qtopia is a mobile device window environment and application suite for PDAs, palmtop computers, Internet appliances, and similar devices. Qtopia is based on Qt/Embedded (described above), and includes PIM applications, Internet clients, entertainment and games, utilities, and more. Qtopia/PDA is available in commercial or open source licenses, while Qtopia Phone Edition is commercial-only. -- details




Talk back!




Do you have questions or comments on this article? talkback here



BLOG main image
컴퓨터, 책 그리고 그의 일기 by 컴사랑

카테고리

전체 (328)
일기 (114)
책이야기 (45)
지름신 (3)
유용한 프로그램 (61)
경제이야기 (15)
어학 (2)
개발 (7)
인터넷 (64)
문화 (9)
sub-pl 이야기 (5)
생활정보 (3)
Total : 287803
Today : 208 Yesterday : 429