LH이스트시티 신규 입주 물샘현상 기록

18년 09월 사전점검

9월 사전점검때 침실1에서 곰팡이 발생 발견하여 하자보수를 요청함.(2달간의 여유 기간 동안 하나하나 천천히 수리가 진행되었다면 지금처럼 가구때문에 불가능한 상황으로 “땜빵” 작업을 하는일은 없었을 것)

18년 11월 입주 직전

9월 사전점검이후로 2개월간 전혀 고쳐지지 않았음. 11월 2일 입주 예정이었으나
11월 1일에 부랴부랴 원인 파악을 지레 짐작으로 곰팡이 제거 및 도배 재시공 하였음.
곰팡이 원인이 뭔지, 수리가 어떤식으로 진행되었는지, 재발의 위험은 없는지에 대해 물었으나 정확한 답변은 하지않고 완벽하게 수리완료 됐다고 만 답변을 받았음.

19년 1월 6일 물샘증상 재현

우려 됐던대로 원인이 고쳐지지 않아 천장에서 물샘 현상이 재현되어 또 다시 하자보수 신청

19년 1월 17~20일 하자 보수

[17일] 하자 원인으로 스프링클러에서 누수가 있다고 판단하여 작업을 시작, 천장을 약 30cm 직사각형으로 구멍을 뚫어 스프링클러를 교체함.
– 방문 전 미리 연락 후 방문해달라고 요청 했으나 연락없이 방문함.

[18일 – 1] 17일 연락없는 방문에 상당히 불편했기 때문에 18일에는 꼭 연락하고 와달라고 재차 부탁드렸으나, 18일 오전 9시경 예고없이 찾아와서 집 외부에 있는 스프링클러의 수도관을 작동시킨 후 방문함. 스프링클러의 패킹이 제대로 장착되어 있지 않아 이로 인해 방에 많은양의 물을 뿌려 가구를 상하게 할뻔함.
만약 집을 비운 상태 였다면 어떤 일이 벌어졌을지 상상하지 못할 정도로 끔찍한 상황이었습니다.
미리 연락만 주었어도 이런 상황은 발생되지 않았을 것입니다.

[18일 – 2] 가구와 바닥에 뿌려진 많은 양의 물을 닦아낸 후 천장을 메꾸는 작업 진행하였습니다. 판자를 대로 피스못과 실리콘으로 고정시켰습니다. 평탄화 작업이 따로 진행 되지는 않았습니다.

[20일] 메꾼 자리에 도배를 했습니다. 군데군데 도배가 마르지 않아 울퉁불퉁했지만 며칠 기다리면 펴진다고 하여 기다려봤습니다.

[25일] 도배가 완료된 자리에는 여전히 메꾼자리의 여파가 남아 있습니다.
더불어 천장 몰딩에 타카를 사용하여 전에 없던 못자국이 흉측하게 남아 있습니다.
도배 시 본드자국으로 인해 벽지에 손상을 입었으며, 깔끔하게 마무리 되지못한 벽지 상태 및 커튼박스 안쪽의 튀어나온 합판이 평탄화 되지 못한 채로 남아있습니다.

모든 작업이 완료되었다고는 하나 “원상태”와는 전혀 거리가 먼 모습입니다.

19년 2월

천장에는 여전히 도배로 인한 주름이 남아있습니다.
천장과 커튼박스엔 공사로 인한 큰 흔적이 남아있는 상태 입니다.
시공사의 실수로 인해 새집에 하자가 생겼음에도 불구하고
왜 입주자가 감당해 내야 하는지 의문스럽습니다.
2년을 기다려 입주한 새 아파트에 발생한 하자로 인해 이미 입주때부터 스트레스를 받았음에도 불구하고, 완벽히 수리되지 못한 천장을 볼 때 마다 느끼는 분노와 스트레스를 참을수가 없습니다.

완벽한 수리는 불가능 하다는 말은 원하지 않습니다. 듣기싫어요.
티 안나게 완벽한 재시공을 원하고 있습니다.

맥북프로 배터리 교체 DIY

사용하던 맥북의 배터리가 스웰링 현상이 발생해서 교체 하기로 했다.

통통하게 살이오른(?) 배터리 아이들

거의 8개월을 하판 반쯤 열어 사용중이었다. 교환 시간도 없었고 프로젝트 기간이라 노트북을 반출하지도 못했다.

업체 가격을 알아 보았는데 꾀나 가격이 나갔다. 알리익스프레스에서 $45에 파는 배터리였는데 3개를 갈고도 남는 가격을 불렀던지라.. DIY를 결심했다.

주문한지 2주만에 도착했다. 바로 작업을 시작했다. 유튜브를 참조하여 쉽게 갈수 있었다.

분리하여 새 배터리와 비교사진
새 배터리를 넣어보았다.

배터리는 다행히도 정상작동되고 사이클도 1밖에 안됐다!

난이도는 아이폰 배터리 교체하는것 보다 쉬웠다.

시놀로지 NAS Oracle XE 설치하기

시놀로지 NAS에 Oracle XE를 설치 하기 위해서는 Docker가 필요하다.

Docker란 유닉스/리눅스상위에서 돌아가는 가상머신이다.

Docker설치

 

시놀로지 관리 화면에서 패키지 센터를 통해 Docker를 설치 하자

 

oracle xe 설치

 

레지스트리에 oracle-xe 로 검색한다.

그 중 이 가장 많은 wnameless/oracle-xe-11g 로 설치를 진행하도록 한다. (선택 후 다운로드 클릭)

 

image

 

이미지탭으로 이동하면 방금 다운로드한 wnameless/oracle-xe-11g 가 나타난다.

아직 이미지만 다운 받았고 실제 구동하기 위해서는 상단에 실행 버튼을 클릭해 진행한다.

포트 설정

 

컨테이너 이름을 정하고 vm과의 통신을 위한 포트 설정을 한다.

터미널 포트도 추가 할 수 있다.

xe 구동 중

 

비디오 형식 탭으로 이동하여 방금 추가한 이미지를 실행한다.

 

Sqlplus 실행

 

터미널 탭을 클릭 후 생성 버튼을 클릭하면 bash를 실행할 수 있다.

아이디 / 패스워드 정보는 여기에 있으니 참고 하시길

 

sqldeveloper 등으로 시놀리지IP:1521 포트로 접속 가능하다. (물론 방화벽을 열어야 한다.)

 

이로써 설치 과정은 모두 끝이 났다.

기본적으로 Docker를 사용하기 때문에 이미지를 복사, 이동 운용하기 편하다.

시놀리지 NAS에서 Docker 사용은 신의 한수가 아닐까 하다.

 

전자정부프레임워크 버전 별 pom.xml

2.0.0

<properties>
 <spring.maven.artifact.version>3.0.5.RELEASE</spring.maven.artifact.version>
 </properties>

<dependency>
        <groupId>egovframework.rte</groupId>
        <artifactId>egovframework.rte.fdl.cmmn</artifactId>
        <version>2.0.0</version>
        </dependency>
    
        <dependency>
        <groupId>egovframework.rte</groupId>
        <artifactId>egovframework.rte.ptl.mvc</artifactId>
        <version>2.0.0</version>
        </dependency>
        
        <dependency>
        <groupId>egovframework.rte</groupId>
        <artifactId>egovframework.rte.psl.dataaccess</artifactId>
        <version>2.0.0</version>
        </dependency>
        
        <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.idgnr</artifactId>
      <version>2.0.0</version>
    </dependency>
        
       	<dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.property</artifactId>  
      <version>2.0.0</version>
    </dependency>

 

2.5.0

 <properties>
 <spring.maven.artifact.version>3.0.5.RELEASE</spring.maven.artifact.version>
 </properties>
<dependency>
       <groupId>egovframework.rte</groupId>
       <artifactId>egovframework.rte.fdl.cmmn</artifactId>
       <version>2.5.0</version>
       </dependency>
   
       <dependency>
       <groupId>egovframework.rte</groupId>
       <artifactId>egovframework.rte.ptl.mvc</artifactId>
       <version>2.5.0</version>
       </dependency>
       
       <dependency>
       <groupId>egovframework.rte</groupId>
       <artifactId>egovframework.rte.psl.dataaccess</artifactId>
       <version>2.5.0</version>
       </dependency>
       
       <dependency>
     <groupId>egovframework.rte</groupId>
     <artifactId>egovframework.rte.fdl.idgnr</artifactId>
     <version>2.5.0</version>
   </dependency>
       
      	<dependency>
     <groupId>egovframework.rte</groupId>
     <artifactId>egovframework.rte.fdl.property</artifactId>  
     <version>2.5.0</version>
   </dependency>

 

2.7.0

  <properties>
    <spring.maven.artifact.version>3.0.5.RELEASE</spring.maven.artifact.version>
        <egovframework.rte.version>2.7.0</egovframework.rte.version>
  </properties>

<dependencies>
    <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.ptl.mvc</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>
    <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.psl.dataaccess</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>
    <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.idgnr</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>
    <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.property</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>
    <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.logging</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>

 

3.1.0

 <properties>
 <spring.maven.artifact.version>3.2.9.RELEASE</spring.maven.artifact.version>
 <egovframework.rte.version>3.1.0</egovframework.rte.version>
 </properties>

<dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.ptl.mvc</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>
    <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.psl.dataaccess</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>
    <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.idgnr</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>
    <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.property</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>

 

3.5.0

  <properties>
      <spring.maven.artifact.version>4.0.9.RELEASE</spring.maven.artifact.version>
    <egovframework.rte.version>3.5.0</egovframework.rte.version>
  </properties>

<dependency>
        <groupId>egovframework.rte</groupId>
        <artifactId>egovframework.rte.ptl.mvc</artifactId>
        <version>${egovframework.rte.version}</version>
        <exclusions>
        	<exclusion>
        		<artifactId>commons-logging</artifactId>
        		<groupId>commons-logging</groupId>
        	</exclusion>
        </exclusions>
        </dependency>
        <dependency>
        <groupId>egovframework.rte</groupId>
        <artifactId>egovframework.rte.psl.dataaccess</artifactId>
        <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.idgnr</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>
       	<dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.property</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>

3.6.0

<properties>
  <spring.maven.artifact.version>4.1.2.RELEASE</spring.maven.artifact.version>
  <egovframework.rte.version>3.6.0</egovframework.rte.version>
</properties>
           <dependency>
        <groupId>egovframework.rte</groupId>
        <artifactId>egovframework.rte.ptl.mvc</artifactId>
        <version>${egovframework.rte.version}</version>
        <exclusions>
        	<exclusion>
        		<artifactId>commons-logging</artifactId>
        		<groupId>commons-logging</groupId>
        	</exclusion>
        </exclusions>
        </dependency>
        <dependency>
        <groupId>egovframework.rte</groupId>
        <artifactId>egovframework.rte.psl.dataaccess</artifactId>
        <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.idgnr</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>
       	<dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.property</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>

 

3.7.0

<properties>
  <spring.maven.artifact.version>4.2.4.RELEASE</spring.maven.artifact.version>
  <egovframework.rte.version>3.7.0</egovframework.rte.version>
</properties>
<!-- 표준프레임워크 실행환경 -->
        <dependency>
        <groupId>egovframework.rte</groupId>
        <artifactId>egovframework.rte.ptl.mvc</artifactId>
        <version>${egovframework.rte.version}</version>
        <exclusions>
        	<exclusion>
        		<artifactId>commons-logging</artifactId>
        		<groupId>commons-logging</groupId>
        	</exclusion>
        </exclusions>
        </dependency>
        <dependency>
        <groupId>egovframework.rte</groupId>
        <artifactId>egovframework.rte.psl.dataaccess</artifactId>
        <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.idgnr</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>
       	<dependency>
      <groupId>egovframework.rte</groupId>
      <artifactId>egovframework.rte.fdl.property</artifactId>
      <version>${egovframework.rte.version}</version>
    </dependency>

 

티스토리 이전완료

티스토리로 부터 이전을 완료하였습니다.

티스토리에서 백업후 그 파일을 TTXML Importer로 작성한 글을 모두 옮겨왔습니다.

앞으로 여기에 쓸께요~

퍼블리싱도 한 걸음 부터 – Emmet

개발 못지 않게 퍼블리싱도 요즘 꽤나 공수가 들어간다.

HTML5 웹 표준, 웹 접근성, CSS분리에 요즘에는 jQuery는 기본으로 해야 퍼블리셔 소릴듣는단다.

 

퍼블리셔에 비중이 커질수록 일의 양도 그만큼 늘어나는데 그 일을 하나라도 줄여보고자 퍼블리셔를 위한 Node.js 설명서를 작성한다.

 

HTML마크업을 할때 쉽게 작성할 수 있는 도구를 소개하고자 한다.

 

바로 Emmet http://docs.emmet.io/

 

Emmet의 가장 강력한 기능을 사용함으로써 중복된 코드 작성을 줄이는 것이다. 속칭 노가다

예전에는 ZenCoding으로 불렸고 한국인의 대표적인 에디터 Editplus에도 기본적으로 포함되어 있다.

 

div>ul>li

위와 같은 코드를 적고 Tab키를 누르면

<div>
    <ul>
        <li></li>
    </ul>
</div>

위와 같이 변환된다.

div>ul>li*4

거기에 *4 라는 명령어를 적으면

 

<div>
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</div>

위와같이 4개의 li가 생성된다!

 

역시 퍼블리싱 괴수들은 * 말고도 ^+ 등 여러가지 문자를 섞어가며 작성을 한다고 한다.

간단히 예시를 들자면 “DIV 안에 헤더를 넣고 ul태그에 a태그를 포함한 li를 2개 작성 footer에는 p태그를 넣어야지”

라고 머릿속에 생각후

div>(header>ul>li*2>a)+footer>p

라고 작성

<div>
    <header>
        <ul>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
        </ul>
    </header>
    <footer>
        <p></p>
    </footer>
</div>

위와같이 나타난다고 하니 그야말로 신세경이 따로 없다.

 

당장 연습해보고 싶다면 Editplus 혹은 Sublime Text를 다운로드 받아 테스트 해보길 바람.

Sublime Text는 약간의 설치 작업을 걸쳐야 한다.

 

공식 홈페이지 http://docs.emmet.io/ 에 들어가면 친절하게 동영상과, 실제로 테스트 해 볼수 있는 환경도 제공하니 꼭 한번 해보자

 

 

하이브리드 앱 개발을 위한 Cordova 안드로이드 개발환경 설정

하이브리드앱 개발환경 세팅

안드로이드 세팅을 위해서는 adt 혹은 SDK를 설치하여 classpath를 지정해줘야 한다. 

http://developer.android.com/tools/sdk/eclipse-adt.html 에서 안드로이드 개발툴을 다운로드 한후 설치한다.

그리고 apache-ant를 다운받아 마찬가지로 적당한 경로에 압축을 풀어준다. 

http://ant.apache.org/

적당한 경로에 설치한후 path를 등록한다.

맥은 /etc/paths를 수정하면 된다.

/usr/bin

/bin

/usr/sbin

/sbin

/usr/local/bin

/Users/reikop/dev/adt-bundle-mac-x86_64-20131030/sdk/tools

/Users/reikop/dev/adt-bundle-mac-x86_64-20131030/sdk/platform-tools

/Users/reikop/dev/apache-ant-1.9.3/bin

#위와같이 sdk경로에 tools와 platform-tools를 지정해준다.

이후 명령어로 cordova를 실행하면 아래 화면을 볼수 있다.

Example usage

$ cordova create Baz              //프로젝트 생성

$ cd Baz                                // 경로이동

$ cordova platform add android // 안드로이드 플랫폼 추가

$ cordova build                       // 빌드(모든 플랫폼)

$ cordova serve android          // 서버를 구동한다. 

안드로이드를 PC에 디버그 모드로 연결하여 adb명령어로 확인하자

아래 명령어를 실행하면 디바이스에 자동으로 앱이 실행된다.

 cordova run

이로써 기본적인 개발환경 세팅은 마무리 됐다.

하이브리드 앱 개발을 위한 Cordova(Phonegap)설치

ADOBE에서 개발했던 Phonegap이 Apache로 오면서 Cordova로 명칭이 변경되었다.

1. Node.js 설치

  Cordova는 node.js의 설치가 필요하다. 홈페이지에서 다운받아 설치 하자 오래전에 포스팅한 Node.js설치기를 참고해도 좋다. 

2012/02/15 – [Develop/Web] – 맥 OSX에서 초간단 Node.js 설치하기 , 실행하기

2. Cordova설치

Cordova는 npm에서 지원을 하므로 간단하게 명령어로 Cordova를 설치할 수 있다.

npm install -g cordova

 

– 끝 –

전자정부프레임워크(스프링) 프로젝트 세팅하기 #3

자동설정된 파일 해설

1. Context-param

설정파일의 경로를 설정해준다. (JavaConfig를 사용할경우 클래스명을 적기도 한다.)

2. listener

웹 애플리케이션에 이벤트가 발생한다면 이 listener에 전달되는데 클래스로 그 이벤트를 전달하는데 사용한다. 

3. servlet

Tomcat의 가장 기본적인 서블릿매핑 설정이다.

해당 url pattern으로 요청이 들어온다면 어떤 클래스를 지정할지에 대해 정해진다.

현재 세팅은 RESTFUL 방식으로 되어있다.

전자정부프레임워크의 설정 대부분은 *.do 설정하여 진행한다.

1. annotation-driven 은 기본적인 스프링 설정들을 자동으로 추가시켜는 역할을 한다.

    annotation-driven이 등록하는 Bean 목록

  1. validation

  2. webBindingInitializer

  3. annotationHandlerMapping

  4. mappedInterceptor

  5. HttpRequestHandlerAdapter

  자세한 사항은 http://zgundam.tistory.com/10을 열어 확인해보자.

2. resources

이미지등 web요소에 해당하는 파일들을 연결시켜주는 역할을 한다. (사실상 큰 의미는 없다. tomcat이 자동으로 매핑시켜주기 때문에)

3. 뷰 설정

JSTLView, 혹은 CustomView등을 등록하는등의 설정해준다.

Controller의 requestMapping의 Method에서 String 형으로 return됐을때 자동으로 접두사 접미사를 붙인다. 만약 ‘main’ 이라고 리턴했을때 ‘/WEB-INF/views/main.jsp’ 를 붙이는 효과가 있다. 

4. 컴포넌트 스캔

Bean을 자동으로 등록해주는 컴포넌트 스캔의 설정방법이다. @Component어노테이션이 사용된 클래스들을 자동으로 등록한다.

# @Controller @Service 등도 자동으로 등록이 될텐데 이유는 @Component를 상속받았기 때문

전자정부프레임워크(스프링) 프로젝트 세팅하기 #2

프로젝트에 필요한 라이브러리 지정하기

1. 전자정부프레임워크 라이브러리

스프링 프로젝트를 생성한관계로 전자정부프레임워크 관련 라이브러리가 빠져있다. 이를 추가해주려면 pom.xml에 dependency를 추가해주면 된다.

추가했다면 EgovMap과 EgovAbstractMapper등을 사용할수 있게된다.

[#M_더보기|접기|




_M#]

2. JDBC관련 라이브러리 추가

프로젝트가 사용하는 Database와 연결이 필요하다면 관련 dependency를 추가한다.

[#M_더보기|접기|

_M#]

3. validation 관련 라이브러리 추가

클라이언트 입력값에 대해 유효성검증을 좀더 다양하게 해주려면 추가해준다.

[#M_더보기|접기|

_M#]

#jar파일을 직접등록하기보다는 Maven을 이용하여 라이브러리를 추가해줘야 한다. maven보다 gradle이 대세인건 비밀

#maven을 사용하는 이유는 라이브러리의 종속성을 유기하기 위함이다.

#A라는 라이브러리가 B라는 라이브러리가 꼭 필요하다면 maven에서는 A라는 라이브러리를 부르면 B가 자동으로 딸려온다.

추천하는 라이브러리들 아래놈들이 뭐하는 놈들인지는 검색해볼것

  1. gson
  2. slf4j
  3. commons-io
  4. sitemesh
  5. commons-compress