제목이 너무 거창한것 같습니다.

원래는 서버쪽이 아니었습니다. 최초의 주제는 "최소한으로 Ubuntu를 설치해 보자!" 였습니다. 그러나 저 말고도 서버를 관리하고 싶은데 터미널로 관리하기는 조금 힘들고, DeskTop을 설치하여 서버로 운영을 하자니 자원의 낭비가 걱정이 되시는 분들이 있으리라는 생각에 현재 제가 하고 있는 노가다(?) 작업을 정리한 것을 여기에 올립니다.

1. Ubuntu Server 설치

제일 먼저 할일은 Ubuntu Server 10.04 (LTS)를 설하는 것입니다.
이부분에 대해서는 Internet에 많은 설명이 있기에 생략하겠습니다.
다만 설치를 할때 한글상태에서 설치를 하고, 키보드는 미국으로 해 놓고 설치를 했습니다.
이 부분이 왜 문제가 되는가 하면, 얼마전에 서버를 설치하고 원격데스크탑으로 접속을 하려고 하니 기보트매핑이 다르다는 이유로 접속이 않되었던 기억이 있습니다. 이부분은 아직도 답을 못 찾았습니다. ㅜ.ㅜ

2. 메시지의 한글 깨짐을 보정

위의 1번 상태로 설치를 하고 나서 부팅을 하시면 TTY 1 모드로 로그인을 하게 됩니다. 이 상태에서 Linux 명령을 치면 메시지가 깨져서 화면에 보입니다. 이것이 싫으신 분들은 영문상태로 설치를 하시면 됩니다.
특히 한글이 보여야 하는 부분이 apt-get 명령을 사용할때 입니다. 뭐 그러려니하고 지나가시면 되지면 그게 눈에 거슬린다면 로그인 하자마자 다음의 명령을 터미널에 써주세요.

export LANG=en_US.UTF-8

이명령 이후에는 영문 상태로 변경이 되어서 한글이 깨져 보이지 않고 영문으로 보입니다.

3. 패키지를 최신 상태로 만들고 시스템을 최신상태로 Upgrade

sudo apt-get update
sudo apt-get upgrade

이 명령도 설명은 생략하겠습니다.

4. 그래픽 사용자 환경 설치

우분투 Desktop에는 기본적으로 두가지 메타 패키지가 설치되는 것 같았습니다. ubuntu-desktop과 ubuntu-standard 입니다. 이중에 ubuntu-standard는 서버 버전에도 자동으로 설치가 되는것 같았습니다. ubuntu-desktop에서 가장 기본이 되는 것이 GDM 같아 보였습니다. 그래서 제일 먼저 설치할 패키지는 GDM 입니다.

sudo apt-get install gdm

GDM을 설치하고 리부링을 하면 그놈 GUI 로그인 화면이 보입니다.
Server를 설치할 때 만든 아이디로 로그인을 합니다.
로그인을 하면 두가지 문제가 눈에 보입니다.
하나는 popup창입니다. 애플릿이 어쩌구 저쩌구 하는데 나중에 필요한 부분이니까 Don't Delete를 해서 지우지 않고 유지를 합니다.
두번째는 한글이 전부 깨져서 보입니다.

5. 터미널 설치

sudo apt-get instal gnome-terminal

프로그램 설치와 파일관리를 위해서 설치합니다.

6. 한글을 정상으로 만들기

방금전에 설치한 터미널을 이용하여 Un 한국어 트루타입 폰트 세트를 설치 한다.

sudo apt-get install ttf-unfonts-core

이제야 한글이 정상적으로 보입니다.

7. Synaptic을 설치하여 프로그램 설치를 편하게 하자!

터미널에서 다음 명령으로 Synaptic을 설치합니다.

sudo apt-get install synaptic

8. 로그인 후에 보이는 POPUP 에러 처리

터미널에서 다음 명령으로 Clone of the GNOME panel indicator applet를 설치합니다.

sudo apt-get install indicator-applet-session

9. 한글 번역을 마무리하기

여기까지 설치를 하고 보면 상단에 보이는 메뉴가 아직도 영어로 되어 있습니다. 이부분을 해결하기 위하여 Language selector for Ubuntu Linux를 설치합니다.

sudo apt-get install language-selector

이것을 설치하고 시스템 - 관리 - 언어를 실행시키면 나머지 부분을 설치할것이냐고 물어 봅니다. Yes를 선택하여 설치하면 상단의 메뉴가 한글로 변경됩니다.

10. 필요한 어플리케이션 설치하기

Synaptic에서 찾아서 하니씩 하나씩 설치하면 됩니다.

예) gedit, APM 서버, 한글 폰트 등등

11. Desktop 우측 상단의 네트워크 상단 애플릿 문제

Desktop 우측 상단에 있는 애플릿을 보기 위하여 network-manager-gnome : 네트워크 관리 프레임워크(GNOME 프런트엔드)를 설치 하였지만 자동으로 실행이 되지 않았습니다.
어딘가에 세팅을 해주어야 하는것 같은데 찾지 못하였습니다.

12. 원격데스크탑 연결을 위한 VNCServer 설치

Ubuntu에서는 VNCServer로 vino를 사용하고 있습니다. 다음의 명령으로 VNCServer를 설치합니다.

sudo apt-get install vino

문제 : 설치는 제대로 된거 같은데 문제는 터미널 상태에서 세팅을 어떻게 잡아야 하는지 모르겠습니다. 설치만 된 상태로는 원격에서 접속할수가 없습니다. 원격 접속을 활성화 해우어야 하고, ID/Password로 접속할수 있게 해주어야 하고, 자동으로 접속이 되게 해주어야 하는데 그 설정을 어떻게 하는지 모르겠습니다. ㅜ.ㅜ

답변 1) gconf 설정 데이터베이스를 수정하는 방법은 몇가지 방법이 있습니다.
(1) gconf-editor을 이용하여 수정하기(GUI)
(2) gconftool-2를 이용하여 수정하기(CUI)

이상으로 제가 작업한 것을 두서없이 적었습니다.
부족한 부분이나 오류가 있는 부분을 알려 주시면 바로 수정하겠습니다.

_________________
시간이라는 X축, 공간이라는 Y축, 사이버라는 Z축의 가상공간에서 남과 다른 나만의 정체성을 찾기위해 고민하는 자.
버텨라, 끝까지 버텨라. 삶은 버티는 것이다. 
결국 해보는 수밖에 없다.
 






--------------

ㅠㅠ

괜한 삽질을 했습니다.

한방에 해결하는 명령어가 있어습니다. ㅠ.ㅠ

sudo aptitude install --without-recommends ubuntu-desktop

한글 문제만 제외하고 이거 한방이면 거의 모든것이 해결됩니다.

언어 추가 설치하고, 29번 파일 지우면 됩니다.

어제 하루종일 난 뭐 한것일까?

_________________
시간이라는 X축, 공간이라는 Y축, 사이버라는 Z축의 가상공간에서 남과 다른 나만의 정체성을 찾기위해 고민하는 자.
버텨라, 끝까지 버텨라. 삶은 버티는 것이다. 
결국 해보는 수밖에 없다.
 





Posted by Corealight

댓글을 달아 주세요

  1. prada 2013.05.02 18:13 Address Modify/Delete Reply

    말을 많이 한다는 것과 잘 한다는 것은 별개이다Topics related articles:


    http://methouse.tistory.com/210 新建文章 12

    http://annaplace.tistory.com/archive/201204 新建文章 7

    http://wonae.tistory.com/9 新建文章 8

    http://criticasters.tistory.com/40 新建文章 6





http://blog.naver.com/PostView.nhn?blogId=seo330&logNo=150007551250

'computing > programming' 카테고리의 다른 글

perl로 게임만들기  (0) 2013.02.02
C#과 JAVA  (1) 2013.01.28
웹개발 도서모음  (0) 2013.01.25
Perl, Python, Ruby, PHP, C, C++, Lua, tcl, javascript, Java 성능비교  (0) 2013.01.25
Perl 공부하기  (1) 2013.01.25
The most popular Perl web sites  (0) 2013.01.25
Posted by Corealight

댓글을 달아 주세요

C#과 JAVA

computing/programming 2013. 1. 28. 23:42 |

C# vs JAVA
- 강력함과 다재다능함의 대결 -
 

1.     서문

내가 작년 초에 크게 고민한 부분이 있다과연 JAVA를 배우는 것이 효과적일까아니면 C#을 배우는 것이 효과적일까에 대한 것이다두 언어 모두 IT업계의 뜨거운 감자로 취급되는 것들이었고지금도 그렇다. JAVA가 지금의 선두자라고 한다면 C#은 미래의 선두자가 될 수 있는 가능성을 가지고 있었다.

 그렇지만 두 언어는 각각의 장점과 단점을 갖고 있었다프로그래밍 언어론에서 말하 듯완벽한 언어는 없으며 각 그 언어의 장점이 있다면 그에 상응하는 단점을 가질 수 밖에 없는 것이다강력한 성능의 언어는 복잡한 문법을 가지거나 Perfomance가 떨어질 수 밖에 없듯이그런 장단점이 있었다.

하지만 결론적으로 나는 C# JAVA 두 언어를 모두 공부하게 되었고두 언어를 C++만큼 깊게 파보진 않았지만 두 언어의 장단점을 파악할 수 있을 정도는 되었다고 생각한다그래서 두 언어를 비교해보자고 한다.

 

2.     C#의 특징

A.     C#에 대한 간단한 소개

C# Microsoft(이하 MS) .NET Framework와 함께 사람들의 곁으로 다가왔다많은 개발자들은 C# JAVA를 잡기 위해 MS에서 내놓은 언어라고 평한다실상 그런 것이 C#을 이용해보면 JAVA와 흡사하다는 느낌을 떨칠 수가 없다아래에서 다시 언급하겠지만 C# C++ VB의 특징을 조합하고, JAVA의 강점까지 포함한 언어라고 볼 수 있다어떤 사람들은 ‘MS JAVA 킬러’ 라고 부를 정도로 JAVA를 이기기 위한 MS의 각별한 노력이 돋보이는 언어라고 할 수 있다.

 

B.      기본적으로 제공하는 강력한 기능

C#의 기능은 기본적으로 강력하다. JAVA Utility Class 들이 강력한 기능을 갖고있듯 말이다물론 요즘은, C++ STL을 넘어서 Boost 등의 강력한 라이브러리를 갖고 이것을 표준안으로 채택하는 방향으로 가고 있다그러나 기본적으로 갖고 있고, MS에서 직접 개발한 것과는 다르다고 생각한다기본적으로 제공하는 강력한 성능은 C#의 큰 장점이라고 할 수 있다.

 

C.      편리한 개발환경을 제공하는 IDE

언어의 강력함이나 사용의 편의성만큼그 언어의 성패를 결정짓는 것이 IDE라는 것은 불보듯 뻔한 일이다. C# IDE는 누구나 알고 있고누구나 한번쯤은 사용한 적이 있으며게다가 Direct X  API관련 개발을 하며 누구나 썼던 Visual Studio(이하 VS)이다우선 이것으로 반은 먹고 들어갔다고 볼 수 있는데사람들에게 익숙한 VS를 개발환경으로 사용하면서 익숙하고 편리한 개발환경을 제공한다게다가 VS는 날이 갈수록 강력해지고 있으며그 기능을 십분이용할 수 있는 것이 바로 C#이다.

 

D.     컴포넌트 기반 언어

C# C/C++ 기반 언어 중에 최초의 컴포넌트 기반 언어이다. C# C/C++ 에서파생되며 간단하고 현대적이며 객체지향적이고 형 안정성을 갖는 언어이다또한C# Visual Studio의 높은 생산성과 C++의 강력한 힘이 합쳐진 언어이다.

 

E.      CLR(Common Language Runtime) / CLS(Common Language Specification)의 강력함

  CLR은 높은 수행 능력을 갖고 있다실행 엔진가비지 컬렉터실시간 컴파일러보안 시스템그리고 .NET Framework가 포함되어 있다여러 언어를 지원할 수 있도록 설계되어 었다.

CLS는 언어 기능에 대한 공통의 기준을 규정한다그 기준은 까다롭지만여러 언어를 묶어주는 역할을 한다이 그룹에 속한 언어들은 .NET Framework의 기능을 이용할 수 있으며 상호 호환기능을 갖는다 , C# Class  VB에서 상속받거나오버라이딩 할 수 있다는 말이다.

사실 CLR을 기반으로 만들어진 언어는 상당히 많으나우리가 아는 VB, VC++ 등등 또한 CLR기반의 언어라 할 수 있다.

 

3.     JAVA의 특징

A.     JAVA에 대한 간략한 소개

JAVA의 특징들을 열거하자면 상당히 많다하지만 특징들을 몇가지 살펴보자면, JAVA는 간단하고객체지향적이고분산처리되고인터프리트되며강건하고컴퓨터 하드웨어에 영향을 받지 않고보안성이 있으며포팅하기 쉽고성능이 우수하며멀티쓰레드를 사용하고동적인 언어라고 표현이 된다사실 저기에 써있는 것 중에 C#이 더 우월한 강점을 갖고 있는 부분도 많다하지만 일반적인 관점에서 JAVA를 볼 때 JAVA는 이와 같은 강점을 갖고 있다.

우선 JAVA Sun Microsystem(이하 SUN)에서 가전제품 시장에 관심을 갖고가전 제품을 제어할 S/W를 개발하기 위해 만들어진 언어이다많은 가전제품들이 CPU를 사용하고 있으며, CPU가 자주 바뀌거나 다양한 종류의 CPU를 사용하는 전자 제품들을 위해 CPU에 무관하게 돌아갈 S/W가 필요했다초기엔 C++을 확장하는 것으로 목적을 이루려 했지만그것으로는 역부족이라 느껴 Oak란 언어를 만들었다그리고 이 Oak에 다양한 기능을 추가해서 나온 것이 JAVA이다.

 

B.      플랫폼 독립적이다.

JAVA JAVA VM(Virtual Machine)을 통해 플랫폼 독립적이다이것은 다양한 Edition을 갖고 있는 JAVA의 특징이 이루어 낸 강점인데, JAVA에는 다양한 에디션이 존재한다일반 S/W 개발을 위한 J2SE(Standard Edition), 임베디드 기기를 위한 JSME(Micro Edition), 그리고 워크스테이션 등을 위한 J2EE(Enterprise Edition)이 있다하지만 이 모든 것들은 VM을 통해 새로 컴파일 되며그래서 기기의 성능이나 상태에 연연하지 않고 개발할 수 있다는 것이 큰 강점이다.

 

C.      JAVA가 업계에서 독보적인 선두에 위치하는 이유

                     i.         많이 쓰인다.

우선 JAVA는 많이 쓰인다그 이유는 위에서 쓰인 플랫폼 독립적이다와 같은 이유지만, C#이나 C++에 비해 클래스의 재활용성에 대해 우수함을 갖고 있기 때문이다또한 다양한 Edition을 통해여러 플랫폼을 지원하며 각 플랫폼에 대한 재활용 성이 높으니 당연하다고 볼 수 있다. Web이나일반 Application 등에도 얼마든지 사용할 수 있음이 JAVA가 업계 1위를 차지하는 것에 영향을 갖게 한다.

 

                    ii.         다양한 IDE를 이용할 수 있다.

JAVA는 여러가지 IDE를 갖고 있으나대표적으로 2개의 IDE를 갖고 있다. SUN에서 제공하는 NET Beans , 많은 사람들이 이용하는 Open Source IDE Eclipse이다내가 VS.NET Net beans 그리고 Eclipse를 모두 사용해봤지만, Eclipse만큼 강력한 IDE는 없었던 것 같다하지만 익숙한 VS를 따라가진 못했지만, Eclipse는 익숙해진다면 엄청나게 강력한 기능을 발휘할 수 있을 것 같다.

 

                   iii.         다양하고 강력한 Utility Class

JAVA는 언어 자체에 강력하고 다양한 Utility Class를 갖고 있다게다가 단순한 Syntax JAVA를 더욱 강력한 언어로 만들어준다 Utility Class Language Processing 부터 UI, 통신 관련까지 모든 Class를 제공하고 있다.

 

 

4.     JAVA vs C#

A.     두 언어의 공통점에 대하여

사실 두 언어는 객체지향 언어라는 점부터 공통점을 갖고 있다고 볼 수 있다또한 C# JAVA를 이기기 위해 만들어진 언어고둘 다 뿌리가 C++이니 비슷한 언어라고 할 수 있지 않을까 싶다강력한 기본 Class, 그리고 좀 더 객체지향적인 언어 지향이런 것들 것 두 언어를 비슷하게 하면서도 어느 언어가 더 강력한 언어인지 고심하게 만든다.

B.      IDE vs IDE

                     i.         JAVA  IDE

1.     Net beans
Net beans는 많은 사용자를 확보하고 있는 성공적인 오픈 소스 프로젝트이다. 2000 6월에 활성화 프로젝트가 시작되었다대규모 데스크탑 Application을 개발할 때 뼈대로 사용할 수 있는 기반 소프트웨어로써의 모듈화가 잘 되어있고 확장성이 매우 높다 

 

2.      Eclipse

Eclipse는 자바 기반의 확장할 수 있는 개발 Platform이다그리고 Eclipse에는 JDT(Java Development Tools)를 포함한 표준 Plugin set이 포함된다. IBM 4000$를 들여 시작한 프로젝트이다국내외 많은 사용자들에게 많은 호응을 받고 있으며 내가 여태까지 사용해본 IDE중에 가장 강력한 기능을 갖고 있는 것 같다.

 

                    ii.         C# IDE

1.      Visual Studio .NET

C# IDE하면 이것이 가장 먼저 떠오르고이것밖에 없지 않나 싶다. Windows용 프로그램을 개발하기에는 VS만한 것이 없으며이것만큼 강력한 것도 없다게다가 MS에서 C# 개발자들을 위해 Inside C#, 2E  VS.NET 2008 Express Edition for C#을 무료 배포하고 있으니 더할 나위 없지 않나 싶다.

 

C.      VM machine vs .NET Framework

VM  .NET Framework를 비교하려면 비교할 수 있지만 약간은 다른 속성을 갖고 있지 않나 싶다. VM은 이종의 Architecture,   Platform에 무관하게 프로그램을 구동시킬 수 있는 것이며, .NET Framework는 강력한 기능들로 구성된 Library라고 볼 수 있지 않나 싶다그러나 이것은 개발의 편리성을 지원하기 위한 도구라는 점에서 비슷하게 볼 수 있지 않나 싶다. JAVA VM은 웹 상의 환경 등에서 손쉽게 구동될 수 있는 환경을 지원하지만, .NET Framework Windows 기반의 프로그램들이 좀 더 가볍고 쉽고 강하게 개발하기 위해 이용된다가장 대표적인 예를 들자면, .NET Framework  Direct X 를 이용할 수 있기 때문에 3D 가속을 확실히 지원해 게임 개발에 좀 더 강점을 갖고 있는 것은 사실이다.

그런데, JAVA의 또 다른 강점을 이야기해보자면다양한 아키텍처(Architecture)에서 동일한 작동을 구현해낸다. C언어라면 16bit 환경과 32bit 환경에서 많은 차이점을 보이지만 JAVA  JAVA VM을 이용하기 때문에 , 이종의 아키텍처에서 동일한 구현을 프로그래머가 크게 고민하지 않아도 할 수 있다그렇지만 이것은 다른 부분에서의 Perfomance에 크게 작용을 하게 된다그것은 다음을 보자.

 

D.     성능 vs 성능

많은 JAVA 개발자들은 JAVA의 성능은 C#에 뒤떨어지지 않으며, C# 뿐만이 아니라 다른 언어에 크게 뒤떨어지지 않는다고 얘기한다그리고 사실 언어로써의 성능은 H/W의 엄청난 발전으로 묻힐 정도가 되어가고 있다많은 JAVA 개발자들은 JAVA도 Compiler를 이용하기 때문에 성능에 크게 차이가 없는 것이라고 얘기한다.

 그러나 JAVA가 아직까지 real-time rendering 등에서 아쉬운 성능을 가지고 있는 것은 분명하다나는 게임 분야의 개발을 해왔기 때문에이것은 최소한 나에게는 매우 중요한 문제이다그래픽 프로그래밍을 할 때 floating-point 연산을 많이 하는데 floating-point 연산이 자바에서는 현저하게 떨어짐은 사실이다. 그래픽 프로그래밍에서 rendering 하는데 쓰이는 연산은 거의 다 floating point 연산이기 때문에그런 부분에 대한 성능은 JAVA가 많이 떨어진다.
 그러나, 게임 프로그래밍등그래픽 프로그래밍에 치우치지 않고일반적인 사용을 위한 rendering엔 사용하기엔 문제가 없을 것 같다그렇지만 전체 시장으로 봤을 땐 임베디드쪽이나 엔터프라이즈 같은 쪽에서 보편적으로 JAVA가 사용할 수 있는 범위가 많다대체적인 성능이 떨어져도 그만큼 컴퓨팅 파워가 좋아졌기 때문에 가능한 일이며, JAVA도 계속 발전하고 있기 때문이다. 초기의 JAVA와 지금의 JAVA를 생각한다면 그 속도의 차이는 엄청날 것이다. JAVA가 Intepreter의 한계를 넘고자, Complier를 도입했던 것 처럼 JAVA도 계속 발전해나가고 속도를 개선하겠지만, 결국 그래픽 프로그래밍계열에선 JAVA가 C#을 이길일은 엄청난 시간이 지나지 않는 이상은 없을 듯 하다.

 

E.      활용성 vs 활용성

C#뿐만이 아니라 .NET Framework는 다양한 활용성을 가지고 있다우선 WPF, WF, Cardspace, WCF, silverlight, 그리고 마지막으로 XNA까지! C#으로 할 수 있는 일은 무궁무진하다그것은 다 .NET Framework기반으로 이루어진 일이지만, C#도 엄연히 .NET Framework의 기반이고 XNA같은 경우는 C#을 통해서만 개발할 수 있기 때문이다게다가 일반 Application 개발에서도 C#은 강력한 기능을 갖고 있으며쉽게 이용할 수 있다. XML과의 연동등의 편리함이 C#을 더욱 강력한 언어로 만들어준다.

JAVA VM하나로도 엄청난 성능과 활용성을 가지고 있다플랫폼에 구애 받지 않고 개발할 수 있다는 점 자체로도 엄청난 코드의 재활용 성을 갖기 때문이다. JAVA는 위에서 언급했 듯 여러가지 Edition을 갖고 있기에 JAVA를 공부하면 다양한 플랫폼을 통한 개발을 할 수 있기 때문에 JAVA의 활용성은 상당히 크다고 할 수 있다.

C#의 활용성이 MS Windows OS 기반으로 가지는 여러가지 강력함을 장점으로 둔다면, JAVA는 다양한 플랫폼을 쉽고 강력하게 활용할 수 있는 활용성을 장점으로 둔다고 할 수 있을 것이다.

 

F.      발전성 vs 발전성

두 언어의 발전성은 무궁무진하다사실두 언어의 우월성을 가리는 '어느 언어가 더 훌륭할까?'라는 것은 합당하지 못한 주제일지도 모른다두언어는 각자의 다른 방향을 갖고 발전할 것이다. C#은 결국 원하던 목표인 JAVA를 이길 수 없겠지만, C#나름의 방향을 갖고 강력하게 발전해 나갈 것이다그리고 JAVA는 다양한 활용성을 가지고 IT의 각종 업계에서 이용할 수 있는 지금의 상황을 더욱 굳히고 강력하게 자리매김할 것이다.

 

5.     마치며

사실 이 두 언어는 MS SUN의 대결이라고 해도 모자라지 않다기술적인 측면보다 다른 부분이 언어의 점유율과 성공에 영향을 미치지 않나 싶다. MS는 사실 돌아보면 선발주자기업이 아니라 투자를 하고 M&A를 해서 선점을 노려왔다앞으로 어떻게 될지는 생각해봐야겠지만 둘중 하나가 없어지거나 할 것 같지는 않고 MS Platform에서는 C#이 나름대로 편의성을 지원해주니까 C# , .NET 계열이 꾸준히 사용될 것이다.

여타플랫폼에서는 JAVA계열이 사용될 것이다.  플랫폼 독립적이니까 일관성 있게 사용할 수 있다.

 두 가지 언어를 모두 공부했지만이런 식으로 평론을 하기엔 부족하지 않았나 싶다하지만 이것을 적으면서 두 언어의 장,단점을 좀 더 확실하게 파악할 수 있었던 것 같다두 가지 언어 모두 강력한 만큼 익혀두는 게 좋지 않나 싶다.

 프로그래머에게 언어는 도구가 아닌가 싶다다양한 도구를 능숙하게 다룰 수 있는 프로그래머는 강력한 실력을 보장할 수 있지 않을까 싶다물론 기본기가 가장 중요하지만기본기가 받쳐준다면 자만하지 않고 새로운 기술과 언어를 습득하여 자신의 가치를 갈고 닦는 것이 중요하다고 생각한다그런면에서 이 두가지 언어는 모두 배워도 손색이 없을 정도로 강력한 도구이다누군가가 나에게 두 언어 중 어떤 것을 선택하여 공부해야하냐 묻는다면나는 그 사람이 하고자 하는 일을 상세히 듣고 추천을 해주게 될 지도 모르겠다두 언어 모두 강력하고 훌륭한 언어이기 때문이다. 하지만 혜안은 두 언어 모두 공부하는 것이 아닐까?

출처 : Tong - hanna84님의 c#통

'computing > programming' 카테고리의 다른 글

perl로 게임만들기  (0) 2013.02.02
C#과 JAVA  (1) 2013.01.28
웹개발 도서모음  (0) 2013.01.25
Perl, Python, Ruby, PHP, C, C++, Lua, tcl, javascript, Java 성능비교  (0) 2013.01.25
Perl 공부하기  (1) 2013.01.25
The most popular Perl web sites  (0) 2013.01.25
Posted by Corealight
TAG C#, Java

댓글을 달아 주세요

  1. 초보개발자 2017.07.30 21:10 Address Modify/Delete Reply

    저도 C#과 자바 둘중의 어느 것을 배우는 것이 좋은지 몰라서, 시장성의 우위를 점하는 자바를 먼저 공부를 하였습니다. 그러는 중에 C# 얘기를 많이 듣게 되어 C#의 특징이 궁금하던 찰나에 이런 좋은 글을 볼 수 있게 되어서 정말 다행입니다.

구글 크롬을 사용하면서 빠른 속도에 반했는데 확장프로그램을 사용하면서 

놀라운 기능에 또한번 감탄을 했습니다 

결국 직업 특성상 개발을 시작하려고 하는데, 뭐부터 해야 할지 망막함이 또 드는군요

Get started: 개발자를 위한 정보

모든 프로그램의 기초는 역시 Hello, World 만들기 부터 시작하는군요

Tutorial: Getting Started (Hello, World!)

Hello World 영문이지만, 원어민 수준이라 간단하군요
내용은 대충
manifest.json 텍스트 파일을 만들어서 소스 붙여 넣고

01{
02  "name": "My First Extension",
03  "version": "1.0",
04  "description": "The first extension that I made.",
05  "browser_action": {
06    "default_icon": "icon.png",
07    "popup": "popup.html"
08  },
09  "permissions": [
11  ]
12}

다음은 아이콘 이미지를 다운로드 받아 같은 manifest.json 와 같은 폴더에 저장 하시고

아래 소스를 popup
.html 로 저장합니다.

01<style>
02body {
03  min-width:357px;
04  overflow-x:hidden;
05}
06 
07img {
08  margin:5px;
09  border:2px solid black;
10  vertical-align:middle;
11  width:75px;
12  height:75px;
13}
14</style>
15 
16<script>
17var req = new XMLHttpRequest();
18req.open(
19    "GET",
21        "method=flickr.photos.search&" +
22        "api_key=90485e931f687a9b9c2a66bf58a3861a&" +
23        "text=hello%20world&" +
24        "safe_search=1&"  // 1 is "safe"
25        "content_type=1&"  // 1 is "photos only"
26        "sort=relevance&"  // another good one is "interestingness-desc"
27        "per_page=20",
28    true);
29req.onload = showPhotos;
30req.send(null);
31 
32function showPhotos() {
33  var photos = req.responseXML.getElementsByTagName("photo");
34 
35  for (var i = 0, photo; photo = photos[i]; i++) {
36    var img = document.createElement("image");
37    img.src = constructImageURL(photo);
38    document.body.appendChild(img);
39  }
40}
41 
43function constructImageURL(photo) {
44  return "http://farm" + photo.getAttribute("farm") +
45      ".static.flickr.com/" + photo.getAttribute("server") +
46      "/" + photo.getAttribute("id") +
47      "_" + photo.getAttribute("secret") +
48      "_s.jpg";
49}
50</script>

다음은 구글 크롬을 실행한다음 오른쪽상단의 사용자설정및 관리 ICON을 클릭 하세요.


아이콘을 클릭한다음, 도구 의 > 확장 프로그램 메뉴를 클릭 합니다. 

그럼 아래와 같은 화면이 뜨고 오른편에 "개발자 모드"를 클릭하면  



개발자 모드 버튼이 3가지 보이는데, 여기서 "압축해제된 확장 프로그램 로드..." 버튼을 클릭한 다음

위에서 저장했던 폴더를 지정하면, 확장 프로그램 아이콘이 생기네요. 

완성된 Hello World 화장 프로그램 소스 입니다.
 


확장프로그램을 만드는건 간단한데, 중요한건 이제 부터가 시작이군요

그래도 다양한 샘플 소스가 있어 도움이 많이 될듯하네요 :  확장프로그램 샘플소스 

아 기초 파악하고 나니 역시 귀차니즘 현상이 밀려오네요. 오늘은 이만...


http://linuxforge.tistory.com/73

Posted by Corealight

댓글을 달아 주세요



Debian Linux Named Most Popular Distro for Web Servers

Linux may be enjoying great popularity in the mobile arena, thanks to Android--and even on the desktop, to an increasing extent--but there's no denying its longtime success on servers.

Debian
With outstanding stability and security and a compelling total cost of ownership (TCO), Linux's advantages in the server room are hard to beat.

But which Linux distribution is the best one for this purpose? The answer to that question is never simple, and will depend on numerous factors. Still, according to new data from Web research firm W3Techs, the majority of Linux Web servers today run Debian.

'Many Switch to Ubuntu'

Debian is now used by 9.6 percent of all websites, or roughly 29.4 of all Linux-based sites out there, W3Techs reported in a blog post on Monday that analyzed monthly usage data over the past year. That's up from 8.9 percent one year ago, and 8 percent two years ago.

Zeroing in on high-traffic sites, W3Techs found that among the top 1000, Debian is used by 8.5 percent of sites.

W3Techs's surveys focus on the top one million websites as defined by popularity rankings from Alexa. A full 54 of that top million switch to Debian Linux every day, making it the fastest-growing operating system in this arena, W3Techs says.

“This growth comes primarily from websites that are starting to use Linux, because we see in the technology change report that many sites subsequently switch from Debian to the Ubuntu distribution (which is based on Debian),” the report explains.

Debian gains market share primarily from CentOS, SuSE, and Fedora, says W3Tech, whose survey results are depicted in the graph below (click to enlarge).


'Preferences Change Quickly'

While Debian has held the No. 1 spot before, it lost that position in June 2010 to CentOS, which is now second most popular following a close race last year.

Next in order of popularity are Ubuntu, Red Hat, Fedora, SuSE, and Gentoo, as the graph shows. Debian is especially popular in Europe, the report notes, with less usage in Asia and North America.

Of course, popularity rankings are a far cry from prescriptive recommendations, and “preferences of Linux webmasters tend to change relatively quickly,” as the report notes.

Still, if nothing else, it's interesting to see the continuing dominance of Debian and CentOS on Web servers--not to mention Ubuntu's steady rise.


Posted by Corealight

댓글을 달아 주세요




출처 : http://www.fob21.co.kr/technote6/board.php?board=Fhardwarechair&command=body&no=123


'computing > server' 카테고리의 다른 글

구글 크롬 확장 프로그램 만들기  (0) 2013.01.26
서버리눅스 점유율  (0) 2013.01.26
SAS 하드디스크 SATA 하드디스크 비교분석  (0) 2013.01.26
포고플러그 (pogoplug)  (0) 2013.01.25
XE, DiscuzX, Wordpress 비교  (0) 2013.01.25
그누보드 불당팩  (0) 2013.01.25
Posted by Corealight

댓글을 달아 주세요

http://www.nextlab.co.kr:8080/nw/bbs/board.php?bo_table=guide

Posted by Corealight

댓글을 달아 주세요

사용자 포럼 - XE, DiscuzX, Wordpress 비교


제가 현재 사용하고 있는 몇개의 CMS  툴 (wordpress는 엄밀한 의미에서는 CMS툴이라 하기는 그렇지만)을 비교해 봅니다.
전에 초짜가 본 discuz와 XE 비교글을 올리기도 했는데 추가 사항이라고 생각하면 되겠습니다.
XE는 국내에서 가장 많은 사용자가 이용하고 있고 DiscuzX는 중국에서 가장 많은 사용자가 이용하며 Wordpress는 미국에서 가장 많은 사용자가 이용하고 있다고 합니다.
제가 관리하는 사이트도 참고하시라고 견본 사이트로 함께 적어 봅니다.
 
1. XE
장점:
가장 디자인 하기가 편하고 자유자재로 화면을 구성할 수 있다.
한글이 기본이라 언어 번역에 대한 부담이 없다.
다국어를 지원하며 메뉴 등 다국어 전환이 쉽다.

단점:
속도가 느리다. (wordpress와 discuzX의 중간)
화면 구성을 위해서는 프로그래밍에 대하여 어느 정도 알아야 한다.
보안 관련 등 버그가 종종 있고 업데이트가 자주 있어 업그레이드에 대한 부담이 있다.
쓸만한 플러그인이 많지 않아 직접 개발해야 하는 부담이 있다.

공식 사이트--http://xpressengine.com
견본 사이트--http://kaplog.org

2. DiscuzX
장점:
속도가 매우 빠르다.
제한된 범위지만 위지위그 형식에 가깝게 화면을 구성할 수 있다.
다양한 템플레이트가 무료로 제공되고 CMS외에 마이크로 블로깅 등의 기능을 가지고 있어 All in one 제품이다.

단점:
디자인 편의성이 떨어져 쳔편 일률적인 모습이다.
언어가 중국어가 기본이라 한글화에 대한 부담이 있다.
데이터베이스를 다른 포맷으로 전환하여 저장하거나 불러오는 것이 어렵다.

공식 사이트--http://www.comsenz.com
한글화 포함 국제 언어 사이트--http://codersclub.org/discuzx
견본 사이트--http://gynob.or.kr

3. Wordpress
장점:
블로그 형식이라 사용자가 보기 편하다.
매우 많은 플러그인과 템플레이트가 있다.
SEO 최적화로 검색에 상위 노출시킬 수 있다.

단점:
속도가 셋 중 가장 느리다. 
게시판 형식의 구성이 마땅치 않다.
자유로운 화면 구성이 가능하지만 템플레이트를 이용하지 않을 경우 프로그래밍 실력이 필요하다. 
영어가 기본이라 한글화에 대한 부담이 있다. (플러그인을 포함하여 한글화가 이루어진 것이 많기는 하지만)

공식 사이트--http://www.wordpress.org
한국어 사이트--http://ko.wordpress.org
견본 사이트--http://obgy.or.kr

결론
discuzx의 속도에 wordpress의 플러그인, xe의 디자인 편의성이 합쳐지면 참 좋겠지만 꿈이겠지요?
이상 간단한 리뷰였습니다.

Posted by Corealight

댓글을 달아 주세요

그누보드 불당팩 4.31.02 - 1.0.9 UTF-8 > 그누보드 불당팩 > gnu4

'computing > server' 카테고리의 다른 글

포고플러그 (pogoplug)  (0) 2013.01.25
XE, DiscuzX, Wordpress 비교  (0) 2013.01.25
그누보드 불당팩  (0) 2013.01.25
노땅엔지니어의 노트 : 티맥스소프트가 무너진 이유는?  (0) 2013.01.25
서버도메인등록  (0) 2013.01.25
도메인과 호스팅 연결하기  (0) 2013.01.25
Posted by Corealight

댓글을 달아 주세요

대학2학년 프로그래밍언어 강의 첫시간에 교수님이 이런 이야기를 들여주셨습니다.
 
미국에서 공부를 할때 경험한 것인데 교수가 프로그래밍 리포팅을 내주면 미국의 학생들은 우선 먹거리를 잔뜩 사가지고 실습실에 죽치고 앉아 프로그램 설계부터 시작하는 반면 한국의 유학생들은 바로 컴퓨터 앞에 앉아 코딩부터 시작하여 두세시간만에 뚝딱 끝내고 휙 나가버린다.
그런데 나중에 결과물을 보면 미국학생들의 프로그램은 에러가 거의 없는데 한국유학생들이 개발해놓은 것은 에러투성였다.'
 
왜 프로그래밍 첫 시간에 이 얘기를 들려 주셨는지 우리는 쉽게 알수 있습니다.
 
 직장생활을 하면서 영국과 일본의 소프트웨어 엔지니어들과 함께 프로젝트를 했던 경험이 있습니다. 그들의 공통점은 PM과 전문 다큐먼트 작성자 및 전문 테스터가 별도로 있다는 것과 프로젝트 전(全) 과정의 소요시간분배를 보면   분석/설계 > 다큐먼트작성 > 테스트 > 코딩의 순서 입니다. 다큐먼트 작성은 설계가 끝나면 바로 시작하여 테스트가 끝날때가지 지속적으로 이루어집니다.

반면, 우리나라 프로젝트 참여자들의  시간분배를 보면  코딩 > 테스트 > 다큐먼트작성 > 분석/설계 순인데, 다큐먼트는 테스트가 끝난후 보고서작성 단계에서 시작하여 끝냅니다. 다큐먼트는 프로그램 소스를 보고 작성하며, 기계적으로 작성폼에 맞추어 발주자에 대한 제출목적으로 작성됩니다.
다큐먼트가 형식적이다보니 시스템특성과 운영자의 입장이 고려되지 않아 운영과정에서 별 도움이 되지 않기때문에 프로젝트가 끝난후 운영자들은 그 다큐먼트를 거의 참고하지 않습니다.
 
저도 요즘 프로그래밍을 할때면 연습장에 쓱쓱 다이어그램을 대충 그려보고 바로 코딩에 들어갑니다. 작성도중 중간중간 에러를 잡기위해 테스트를 하고 시시때때로 DB필드를 추가하기도 합니다.
그래서 몇년정도 지나 소스를 들여보면 마치 오래전 세련되지못했던 시절의 모습을 볼때처럼 창피함을 느끼곤합니다.
 
저는 전문프로그래머는 아닙니다. 그래서 전문프로그래머들은 저보다 훨씬 더 잘 하실것이고, 개발과정에 시간분배도  이제는 선진국 엔지니어들에 근접해 있을지도 모르겠습니다.
그러나 분명한 것은 우리나라는 소프트웨어에대한 인식이 매우 부족하고, 그 특성도 잘못 이해하고 있는것 같습니다.
소프트웨어는 제조업이나 건설, 토목분야의 상품 제작과정과 근본적으로 다릅니다. 따라서, 소프트웨어 제작을 제조업이나 건설업에서의 사고방식으로 바라보면 엄청난 오류를 범할수 밖에 없습니다.
예를들어, 건축물은 50%만 완성해도 그것이 가치가 있고, 어느정도 이용도 가능할수 있지만 소프트웨어는 100% 완성되지 않으면 값어치가 거의 없으며, 이용할수도 없습니다.
 
건축물은 시간이 지남에따라 상품이 완성되는 모습을 직접볼수 있지만 소프트웨어 개발은 최종적으로 테스트가 끝나 기능이 검증되기 전에는 상품성으로써의 가치가 거의 없습니다.
엄밀히 말하면 소프트웨어개발은 끝나봐야 결과를 말할수 있습니다.
그런데 우리나라는 제조업이나 건축업, 토목업의 마인드로 소프트웨어산업을 바라보는 경향이 너무 강합니다. 그리고 비즈니스에서도 그런 마인드를 가진 장사꾼들이 판을 칩니다.
 
대한민국 소프트웨어업계의 대표주자임을 주장해오던 티맥스소프트가 워크아웃을 신청했습니다. 1500억이넘는 부채뿐만 아니라 부채가 계속 누적되고 있기때문입니다.


 
티맥스소프트를 이지경으로 몰고간 원인은 무엇일까?

여러가지가 거론되고 있는데 그중 핵심은 단연 '티맥스윈도'개발을 무리하게 밀어붙였기 때문이라고 생각합니다. 티맥스와 관련된 분들이 이 글을 읽으시면 무척 언짢으겠지만 저는 개인적으로 티맥스가 윈도우OS를 개발하여 마이크로소프트를 따라잡겠다는 제품개발 발표회를 거창하게 가졌다는 뉴스를 보는순간  그 원대한 계획이 일장춘몽으로 끝나리라 예상했었습니다. 아마도 저뿐만 아니라 많은 업계의 노땅엔지니어들이 그런 생각을 했으리라 생각합니다.
 
그렇게 생각한 가장 큰 이유는 티맥스가 MS의 윈도우를 너무 쉽게 생각하고, 평가절하하고 있는것같다는 생각에서 였습니다. 수백명의 뛰어난 프로그래머들만 있으면 단 몇년만에 MS의 아성을 무너뜨릴수 있다는 호언은 마치 영화 '300'에서 300명의 스파르타 정예군이 수십만명의 페르시아군대를 이기겠다고 하는것과 다르지 않습니다. 더우기 MS의 수만명의 윈도우개발자들은 스파르타 정예병들 만큼이나 뛰어난 인재들입니다.
 
소프트웨어개발을 건축업이나 토목공사처럼 비슷하게 지어놓으면 따라갈수 있다고 생각한다면 그것은 정말 소프트웨어를 잘 모르는데서 오는 분명한 오산입니다. 소프트웨어의 진정한 가치는 개발자의 마인드이고 기업의 마인드이며, 사용자들의 머릿속 깊히 자리잡은 인식에 달려있는 것입니다. 
 
소프트웨어개발에서 가장 중요한 것은 설계입니다. 더 중요한 것은  왜 그렇게 설계를 했느냐는 것이겠지요. 설계에는 고객의 니드(NEED)가 들어있고, 기술의 트랜드가 있고, 개발업체의 정신과 진정성이 뭍어있습니다. 그러니 설계를 하지않고 코딩부터해서 서둘러 모양만 비슷하게 만들었다고 훌륭한 제품이 탄생하는 것은 아니지요.
 
대한민국은 모든것을 너무 빨리끝내려 합니다. 혹자들은 그것을 우리민족의 민족성이라고도 합니다. 
분명한것은 우리나라의 소프트웨어산업이 더이상 발전하지 못하고 오히려 추락하고 있는 것은 소프트웨어 발에서 중요한 단계를 모두 건너뛰고 결과만을 빨리빨리 만들어내려는 습성과도 무관하지 않다고 생각합니다.
 
소프트웨어제품은 몇몇사람의 쇼맨십과 번지르르한 마켓팅 전략만으로 성공할수 있는 그런 분야가 아닙니다.

이전글보기 : http://www.ittrend.co.kr/board/board/noddang_list.html?svc=commu

'computing > server' 카테고리의 다른 글

XE, DiscuzX, Wordpress 비교  (0) 2013.01.25
그누보드 불당팩  (0) 2013.01.25
노땅엔지니어의 노트 : 티맥스소프트가 무너진 이유는?  (0) 2013.01.25
서버도메인등록  (0) 2013.01.25
도메인과 호스팅 연결하기  (0) 2013.01.25
그누보드빌더  (0) 2013.01.25
Posted by Corealight

댓글을 달아 주세요