1. Install

whitelife@miniserver$ sudo apt-get install unrar

2. 압축 풀기

whitelife@miniserver:~$ sudo unrar e -r ./xxx.rar


참고 사이트


1. IP 설정 하기

whitelife@miniserver$ sudo vim /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto wlan0
iface wlan0 inet static
        # wireless-* options are implemented by the wireless-tools package
        wireless-mode managed
        wireless-essid xxxxx
        wireless-key1 s:xxxxxxxxxxxxx
        address xxx.xxx.xxx.xxx
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx

2. DNS 설정 하기

whitelife@miniserver:~$ sudo vim /etc/resolv.conf
Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

3. Networking Restart

whitelife@miniserver:~$ sudo /etc/init.d/networking restart


참고 사이트


'Linux' 카테고리의 다른 글

Ubuntu root 비밀번호 설정 하기  (0) 2014.09.21
Ubuntu rar 압축 풀기  (0) 2014.09.21
vim 문자열 replace 하기  (0) 2013.11.10
gcc 컴파일 시 pcap.h no such file and directory 해결 방법  (0) 2013.11.08
find 명령어 사용하기  (0) 2013.11.07

Gson Sample


Gson 기능 중 Object, List 를 Json 형태로 변환해주는 기능이 있다.


public String getJson (List sampleList) {
    return gson.toJson(sampleList, ArrayList.class);
}


위와 같은 코드를 작성 하면 쉽게 처리가 가능 하다.


Spring MVC Sample


@RequestMapping(value="/sampleJson", method=RequestMethod.GET, produces="text/plain;charset=UTF-8")
public @ResponseBody String sampleJson(HttpServletRequest request, HttpServletResponse response) throws Exception {
    try {
        ModelAndView mav = new ModelAndView();
        mav.setViewName("sample.list");

        return this.gson.toJson(sampleService.selectList(), ArrayList.class);
    } catch (Exception e) {
        throw e;
    }
}


위 소스를 참고 하면 Json String 으로 변환 하여 응답 한다. Encoding 문제로 한글이 물음표로 께지는 현상이 있다.


produces="text/plain;charset=UTF-8"


@RequestMapping 에 해당 값을 추가 하자. 한글이 정상적으로 출력 될 것이다.


Markdown 소개


Markdown 은 Markup 언어의 일종으로 메타 정보 (tag, role) 기반 으로 여러가지 형태로 표현 된다. 대표적인 Markup 언어에 대한 예시 이다.


  • Markup 언어
    • HTML
    • XML
    • JSON


위 3가지 언어와 비슷하다. 기본적인 문법을 숙지 하고 있는 경우 편리한 점이 많다.


  1. Editor 에서 제공해주는 HTML 변환 기능을 이용하여 편하게 글을 작성
  2. MS Word 로 이전이 편리함
  3. Github README.md 파일도 같은 문법 작성이 편리함

Editor 소개


1. WEB Editor

Dillinger 는 WEB 환경에서 제공 하는 Editor 이다. 기본적으로 HTML 변환 기능, Github 하고도 연동이 되고, 실시간으로 작성되는 화면을 볼 수 있어 편리하다.



2. Haroopad Editor

Haroopad 는 Windows, Linux, OSX 를 지원한다. 위에서 설명과 같이 HTML 변환 기능은 기본적으로 탑재 하고 있다. 다른 부가적인 기능에 대해서는 공식 홈페이지를 참고 하자.


참고 사이트



막상 프로그래밍 공부 해야지 하다보면 귀찮아 하는 마음과 함께 피로가 온다.

한번 해볼까? 하며, 노트북 앞에 앉아 있어도, 귀찮아 하는 마음과 함께 핸드폰 게임을 킨다. 대부분 비슷하지 않을까.. 한다.


설명 하려고 하는 Cloud9 은 IDE (Integrated development environment) 환경을 cloud 로 제공 한다.


Cloud9 (https://c9.io/) 공식 페이지에는 아래와 같은 소개 글이 있다.



클라우드 개발 환경을 제공 하며, 파워풀한 온라인 코드 편집기와 더불어 전체 우분투 작업 공간을 제공 한다. 


실제로 위와 같은 환경을 구축 하기 위해서는 보통 아래의 절차를 따른다.

  1. 데스크랍 준비, 가상OS 를 설치 할수 있는 VirtualBox (https://www.virtualbox.org/) 준비 둘중 한가지 선택
  2. Ubuntu (http://www.ubuntu.com/) 다운로드 후 설치
  3. 개발 환경 IDE 구축 
만약 자신이 부지런 하다면 직접 환경을 구축 하자.

아니라고 한다면 Cloud9 를 한번 써보자.
처음 방문 하는거라면 SIGN UP 버튼을 클릭 하여 가입을 하자.


위는 가입 화면이다. 오래전에 가입 했을 때에 비해 화면이 심플하게 바뀌어 있다. 정보를 입력하고 가입해 보자.

오른쪽 Switch to a Premium account? 프리미엄 버전은 좀더 활용도가 높다. 취향에 따라 선택 하도록 한다.


가입이 완료 되었다면, SIGN IN 버튼을 클릭 하여 로그인 하자.



로그인 성공 시 기본적으로 제공 하는 화면이다. Dashboard 비슷한 느낌이다. 필요에 따라 Github, Bitbucket 연계가 가능하니 필요 하다면 사용하자.


샘플 프로젝트를 만들어 보자. CREATE NEW WORKSPACE 초록색 버튼을 클릭 하자. 



기본적으로 10가지 언어 환경을 제공 한다. HTML5 를 선택 > CREATE



sample 프로젝트가 생성 되었다. START EDITING 초록색 버튼을 클릭 하자.



여기 까지 왔다면, HTML5 를 개발할수 있는 통합 IDE 개발 환경이 완료 되었다. 

왼쪽은 파일들을 볼수 있는 네비게이션, 오른쪽 하단은 우분투 작업 공간, 오른쪽 상단은 코드 편집기 기능이 되겠다. 


hello-world.html 페이지를 구경 하자. Run 버튼을 클릭하여 서버 On



오른쪽 하단에 테스트 할수 있는 주소 https://sample-c9-whitelife.c9.io/hello-world.html 와 함께 서버가 시작 되었다. 이제 테스트 페이지를 확인하자.



드디어 hello, world! 와 만났다. 기본적인 환경은 갖추었다.


간단하게 Study 하는 용도나, Group Study 시에도 간편하게 사용할 수 있다는 생각이 든다. 

장소에 제약 없이, 기본적으로 코드 편집기 기능 이외에 우분투 작업공간도 제공되기 때문이다. 


이제부터 친해지는 시간을 자주 가져봐야 겠다.





Web Application 개발 시 SpringFramework(http://spring.io/) 을 주로 사용하고 있다. 


개발 시 공통으로 필요한 Util 을 개발 하여 사용하지만, 기존에 개발되어 있는 좋은 라이브러리가 이미 존재 한다. 

SpringFramework 에서 org.springframework.util package 에서 제공하는 class 이다. 



3.2.0 RELEASE 기준 javadoc 문서 이다. SpringFramework 기능도 위 유틸을 사용하고 있고, 검증도 되어 있기 때문에 사용하는 경우 개발 시간도 단축하고 안정성도 올라간다고 판단 된다.


SpringFramework 3.2.0 RELEASE API 주소: http://docs.spring.io/spring/docs/3.2.0.RELEASE/javadoc-api/

API 를 참조 하면 제공되는 class의 정보를 활용할 수 있다.


참고 사이트

 ※ Logo Image: http://fr.wikipedia.org/wiki/Fichier:Spring_framework.png

 ※ SpringFramework: http://spring.io/

 ※ SpringFramework 3.2.0 RELEASE API: http://docs.spring.io/spring/docs/3.2.0.RELEASE/javadoc-api/


자바 프로젝트를 하다보면 공통 라이브러리 작성을 하여 개발 시간을 단축 시키고, 생산성을 높이고는 한다. 

하지만 때로는 그 코드가 발목을 잡을 때도 있다. 


  • 동일한 기능을 가진 함수가 중복 사용 시
  • 동일한 기능을 다른 개발자가 개발 하는 경우

위 경우만 성립 된다 하더라도, 요구사항 변경 시 넓은 부분을 각각 수정해 줘야 한다. 시간도 많이 들어가고, 불편 하지 않을까...

공통으로 많이 생각하는 부분은, 이미 누군가가 라이브러리로 만들어 놓지 않았을까 하는 생각이 든다.
예전에는 만들려고만 했지만, 요즘은 Search 를 먼저 하고, 없는 경우에 만들려고 한다. 분명 잘하는 개발자가 만들어서 배포가 되어있을 것이다. 

Web Application 개발 시에도, Spring Framework(http://spring.io/) 을 너무 당연하게 사용하고 있다. 

개발 시 자주 대면하는 유효성 체크, Collection, 날짜, 문자 등등 있다. 이런 걸 좀더 편하게 사용할 수 있게 Google 에서 배포되는 라이브러리가 있다.

Google Guava 라는 녀석 이다.


Maven Dependency
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>14.0.1</version>
</dependency>

위 링크를 참조하거나, Maven 을 사용한다면 pom.xml 에 추가 하자.


사용해 봤던 기능에 대한 예시이다.


유효성 체크에 대한 Sample

int value = 20;
        
Preconditions.checkArgument(value > 25, "error value: %d", value);


Multimap 대한 Sample

하나의 Key로 다수의 Value를 가질 수 있다.

ListMultimap<String, String> multimap = ArrayListMultimap.create();

multimap.put("baby", "a");
multimap.put("baby", "b");
multimap.put("baby", "c");
multimap.put("baby", "d");

System.out.println(multimap.toString());


위 예시와 다른 기능은 API 를 참고 하자.


참고 사이트: http://blog.outsider.ne.kr/710

투입된 프로젝트가 MS SQL 을 사용하여 범용적으로 사용하던 DBeaver(http://dbeaver.jkiss.org/) 에 추가하여 사용해 보았으나, 

기본적인 SQL 작성 이외에는 기능이 지원되지 않아, Microsoft SQL Server Management Studio 2012 를 설치 하였다.


다운로드: http://www.microsoft.com/ko-kr/download/details.aspx?id=29062


설치가 안되어 있다면 위 링크를 참조하여 KOR\x64\SQLManagementStudio_x64_KOR.exe(64bit 기준) 선택하여 설치 한다.


설치 완료 후 서버에 연결 하는 화면 이다.



서버 이름: Ip,Host,Port (ex: 000.000.000.000,1433 test.test.co.kr,1433)

인증: SQL Server 인증

로그인: ID

암호: Password


연결 속성 Tab 클릭, 연결할 데이터베이스: OOOO 


5가지 항목을 등록 했다면, 연결 하자 성공 한다면 개체 탐색기에 추가가 될 것이다.


서버이름 설정 할때 , 로 연결되는 부분을 몰라서 상당히 시간이 날아갔다.


+ Recent posts