• Home
  • Daily
  • Programming
    • Java
    • Spring
    • Node.js
    • JS
    • HTML
    • ETC
  • Review
  • Scrap

단색화

Powered by Blogger.

안녕하세요, 단색화입니다.
이사를 하느라 한동안 포스팅을 못했습니다...😂

오늘은 이사기념으로 벽걸이 에어컨 분해청소 하는 방법을 포스팅하려고 합니다 :)

전 세입자분이 7년을 사셨다고하는데... 집 상태로 보아 에어컨을 청소하셨을리가 없다고 생각했고... 정말로 그랬습니다...ㅠㅠ
이전에 살던 원룸과는 다른 의미로 끔찍했어요...

몇번 하다보면 쉬운 벽걸이 에어컨 분해청소!
다만 읽어보시고 정말 자신이 없다면 그냥 사람 부르는게 편하긴 합니다.


※처음부터 끝까지 혼자 작업하느라 사진이 다소 미흡합니다.

1. 벽걸이 에어컨 분해청소를 위한 준비물입니다.
  1. 전동 드라이버
  2. 8mm 복스알
  3. 에어컨 청소 크리너
대부분의 셀프 조립, 분해가 그렇듯 전동 드라이버는 가지고 있으면 작업시간을 많이 줄여줍니다.
하지만 벽걸이 에어컨 분해를 하려면 8mm 복스알은 필수로 있어야합니다.
사진엔 없지만 냉각핀 청소를 위해 에어컨 청소 크리너도 있으면 좋아요~

그리고 안전을 위해 전원선을 반드시 뽑고 청소를 시작해주세요!


2. 바닥, 주변 가구에 물이 튀지 않도록 에어컨 옆면~아래쪽에 비닐 작업을 해주세요.
바닥에 물이 떨어지지 않도록 하는것이 주 목적으로, 에어컨에서 떨어지는 물을 받을 수 있는 모양으로 붙여주시면 됩니다.


3. 송풍구 날개를 분해해주세요.
사진과 같이 가운데 부분을 손으로 누르면 쉽게 분해가 가능합니다.


4. 에어컨 뚜껑을 열어주세요.
위 사진에는 없지만 뚜껑을 열면 제일 먼저 필터가 있습니다.
필터는 빼서 화장실로 보내시면 됩니다...

이후 사진에 표시해둔 빨간 부분의 나사를 풀어주세요.
사진에 없는 우측 부분에도 나사가 있다면 풀어주시면 됩니다~

흰색 플라스틱 부분에 있는 나사를 모두 풀었다면 분해하시면 됩니다.
아랫부분을 먼저 살짝 빼고, 위쪽은 안으로 밀면서 들어올리듯이 밀면 되는데요...
세척을 제외하면 본체 뚜껑 빼는게 제일 힘든것 같아요... 부러질까봐 무서워서...ㅠㅠ
뚜껑도 분해했으면 세척을 위해 화장실로 옮겨주세요.


5. 에어컨 청소 크리너를 냉각핀에 뿌려주세요.
뚜껑을 열면 있는 철망같은게 냉각핀입니다. 에어컨 청소 크리너를 뿌려주시면 됩니다.
비닐작업을 해두긴 했지만, 나중에 처리가 불편하니 물받이 제거 전에 뿌려주는게 편해요.
작업중 비닐이 일부 떨어졌는데요... 저렇게 되지 않도록 꼼꼼히 붙여놓으세요 ㅎㅎㅎ...


6. 냉각핀 좌측에 나사를 풀어주세요.


7. 물받이도 분해해주세요.
아예 뜯어내지는 말고, 사진처럼 대롱대롱 붙어있게만 두면 됩니다.


8. 송풍팬을 분해합니다.
냉각핀을 살짝 들어올린 후에, 송풍팬을 돌리다보면 유독 구멍이 큰 부분이 있어요.
안을 들여다보면 마치 십자드라이버로 돌리면 될것같은 무언가가 있는데....
막상 드라이버로 풀려고 하면 헛돌거에요...
8mm 복스알이 여기서 쓰입니다.
복스알 쓰면 세상편해요... 복스알로 풀어주세요...

냉각핀을 조금 더 들어올리고, 송풍팬 좌측을 먼저 빼낸 후에
살짝 대각선 아래로 향하게 하고 잡아뽑으면 됩니다.

뽑아낸 송풍팬도 화장실로 던져버리고, 휑하게 남은 부분들을 깨끗하게 닦아주세요.
저는 다이소 물걸레포와 알콜, 물티슈로 몇번씩 닦아냈어요.

돈내고 분해청소 할 때 추가비용 내는 '피톤치드 처리'는 편백수액 사서 뿌리시면 됩니다.


9. 화장실에 던져놓은 송풍구 날개, 에어컨 뚜껑, 송풍팬을 닦아주세요.
수압이 쎈 샤워기를 쓰시면 청소가 한결 편합니다.

그게 아니라면 미리 뜨거운 물에 불려놓고 닦아주세요.
저는 치약으로 한번 닦고, 송풍구 안쪽은 정전기포 물에 적시고 나무젓가락 부러뜨려서 사이사이 닦아줬어요...


10. 조립은 분해 역순으로 하시면 됩니다.



번외
1. 이전 집에 있던 에어컨은 내부 전원 선을 뽑아야 했었음
2. 나사의 수는 다를 수 있음


작년 5월 입사해서 어느새 2년차 개발자가 되었습니다!

변명이라면 변명이겠지만,
3개월은 왕복 4시간 넘는 거리를 출퇴근 하느라
자취를 시작한 이후에는 일과 방송대를 병행하느라 포스팅을 오랫동안 못했었네요.
항상 초안만 써 놓고 완성은 하지 못했던 것 같아요.

예전에는 프론트엔드 라이브러리에 관심이 좀 많았었는데
지금은 서버 개발 위주로 하고, 포스팅 하고 싶은 내용들도 조금 달라졌어요.

간단한 게시판 만들기 포스팅 후에는 로그인-인증 관련 포스팅을 하려고 합니다.
이전에 계획했던 건 중간 중간 피곤하거나 다른 게 하고 싶어지면 해볼 듯 해요.

여전히 개발은 즐겁고 행복해요.
제가 쓰는 내용이 누군가 에게도 도움이 되었으면 좋겠습니다.

Spring 개발환경 설정하기(1) - 프로젝트 생성하기~톰캣 설정
Spring 개발환경 설정하기(2) - 라이브러리 다운로드~DB연동
Spring 개발환경 설정하기(3) - Spring+MyBatis 연동하기
Spring 개발환경 설정하기(4) - Spring + MyBatis 설계(Mapper, DAO)

오늘은 Spring 개발환경 설정이 완료된 프로젝트에 Bootstrap 테마를 적용해보려 합니다.
한동안 서버개발만 하다보니 화면 작업은 오랫만이네요.

1. 원하는 부트스트랩 테마를 찾아서 다운받습니다.
저는 Start Bootstrap에서 제공하는 Agency 테마를 선택했습니다.
구글에 free bootstrap을 검색하면 많이 나와요~
참고) https://startbootstrap.com/template-categories/all/

2. 다운받은 테마의 압축을 풉니다.
내용은 아래와 같습니다.

3. 리소스 파일들이 들어갈 자리를 만들어줍니다.
src/main/webapp 디렉토리 아래에 resources 폴더를 추가

4. 다운받은 테마의 폴더들만 resources 폴더에 복사-붙여넣기 합니다.
※추후 bootstrap 테마의 css, js만 따로 관리하고 싶다면 resources/boostrap 안에 넣어주세요.

5. src/main/webapp/WEB-INF/views에 index.jsp 파일을 만듭니다.
다운받은 테마의 index.html파일을 편집기로 열고 내용을 index.jsp 파일로 복사한 후,
제일 위에 아래의 코드를 추가해주세요.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page session="false"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
Colored by Color Scripter
cs

6. 기존 컨트롤러에 아래의 코드를 추가합니다.
4장에서 사용했던 home 메소드는 주석처리 하거나, Mapping url을 바꿔주세요.
혹은 아래 코드의 Mapping url을 다른걸로 변경할 수도 있습니다.
@GetMapping("/")
public String index(HttpServletRequest request) {
    logger.debug("###INDEX PAGE###");
    String rtnPage = "index";
    String ipAddress = request.getHeader("X-FORWARDED-FOR");
    if (ipAddress == null) {
        ipAddress = request.getRemoteAddr();
    }
    logger.info(ipAddress + " : " + rtnPage);
    return rtnPage;
}
Colored by Color Scripter
cs

7. 서버를 실행하고 http://localhost:8080/web에 접속하면, 완전히 무너져있는 것을 볼 수 있습니다.

8. index.jsp 파일에서 불러오는 리소스 파일의 경로들을 아래의 코드처럼 상대경로로 변경합니다.
- before
<link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
cs
- after
<link href="../resources/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
cs

모두 변경했다면, 새로고침 혹은 Ctrl+Shift+R 후에 테마가 적용된 것을 확인할 수 있습니다.



본업은 자바이지만, 간단한 것들은 Node.js를 이용해서 만들곤 합니다. (취미)
SSD 교체로 Node.js를 새로 설치하고 세팅해야해서 포스팅으로 남겨둡니다.

1. Node.js를 다운받아 설치해주세요. (https://nodejs.org/ko/)
저는 8.11.3 LTS 버전을 설치했습니다.
Node.js를 설치하면 npm도 함께 설치됩니다.


2. 설치확인은 cmd에서 node -v 명령어를 입력했을 때 버전이 나오면 됩니다.
npm은 npm -v를 입력

3. IDEA에 NodeJS 플러그인을 설치해주세요
IDEA 상단 File - Settings(Ctrl+Alt+S) - Plugins - Install JetBrains plugin.. - NodeJS 검색 후 Install


4. 노드 프로젝트를 생성해주세요.
File - New - Project - Node.js and NPM - Node.js Express App
프로젝트 생성 중 Node interpreter는 nodejs 설치경로의 node.exe 파일을 잡아주면 됩니다.
(C:\Program Files\nodejs\node.exe)
저는 EJS 템플릿만 사용해봤어서, EJS를 선택했습니다. 뭐가 다른지는 잘 모릅니다.😅


5. JavaScript 버전을 변경해주세요.
File - Settings - Languages & Frameworks - JavaScript에서 JavaScript language version을 ECMAScript6로 변경

6. 예의상 잘 실행되는지 확인해봅니다.
우측 상단의 Run 버튼을 누르고,
http://localhost:3000으로 접속했을 때, 아래와 같은 화면이 뜨면 성공입니다.
bin/www에서 port 확인/변경이 가능하고
routes/index.js에서 Express를 다른 문자열로 바꾼 후
서버를 재시작해서 바뀐 내용을 확인해 볼수도 있습니다.



컴퓨터 SSD를 교체하면서 앞으로는 개인 개발용 DB를 로컬에 설치하지 않기로 했습니다.
기존에 사용하고있던 헤놀로지 NAS에 도커를 이용하여 MySQL을 올렸는데 윈도우와 다르게 root 계정만 덩그러니... 😰
데이터베이스와 계정을 생성해주기로 했습니다.

1. root 계정으로 로그인을 합니다.
> mysql -p

2. 존재하는 Database를 확인해봅니다.
> show databases;

3. Database를 생성합니다.
리눅스 MySQL은 기본 character set이 latin1입니다. 저는 utf8로 지정하여 생성할 계획입니다.
> create database {데이터베이스명} default character set utf8;

4. 작업 Database를 선택합니다.
Database와 user(계정) 정보는 mysql에 들어있습니다.
> use mysql

5. 존재하는 계정들을 확인합니다.
> select host, user from user;

6. 계정을 생성합니다.
> create user '{id}'@'localhost' identified by '{password}' password expire never; --로컬에서만 접속 허용

> create user '{id}'@'%' identified by '{password}' password expire never; -- 외부 접속 허용

잘 생성 되었습니다 :)

7. 계정에 권한을 부여합니다.
> grant all privileges on {데이터베이스명}.* to '{id}'@'%';

8. 이제 사용하면 됩니다.


회사에서 OAuth2 인증서버의 Token DB를 PostgreSQL로 써보자는 이야기가 나왔습니다.
세팅 중 HeidiSQL에서 PostgreSQL로 연결하려하니 아래와 같은 오류가 발생하였습니다...😓
사용 가능한 libpq.dll 파일을 찾을 수 없습니다.
해당 파일이 설치된 경로에서 heidisql.exe 파일을 실행하세요.
오류 메시지에 나온 대로 설치 경로 파일 실행, 관리자권한 실행, 최신버전 + 빌드 업데이트를 해봐도 해결되지 않았지요...

해결 방법은 간단했습니다.
Visual Studio 2013용 Visual C++ 재배포 가능 패키지를 설치해주시면 됩니다.
구글에 VC++ redistributable 2013 혹은 Visual Studio 2013용 Visual C++ 재배포 가능 패키지를 검색하시거나,
위의 링크를 눌러서 들어가시면 됩니다 :)

본인의 windows 버전에 맞는 것을 체크하여 설치

※2017버전도 가능하다고 들었는데 따로 확인해보지는 않았습니다.

Spring 개발환경 설정하기(1) - 프로젝트 생성하기~톰캣 설정
Spring 개발환경 설정하기(2) - 라이브러리 다운로드~DB연동
Spring 개발환경 설정하기(3) - Spring+MyBatis 연동하기

오늘은 Spring 개발환경 설정하기 포스팅을 마무리 지으려고 합니다.
XML을 이용하여 간단한 SQL문을 작성하고, DAO에서 이를 호출하는 방식을 사용합니다.

1. src/main/resources에 mappers 폴더를 생성하고, timeMapper.xml 파일을 만듭니다.



2. timeMapper.xml에 DTD를 추가하고 SQL문을 작성합니다.
테스트 목적으로 만드는 Mapper이기 때문에 간단하게 현재 날짜와 시간을 출력하는 SQL문을 사용합니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
cs

<mapper namespace="com.lsy0318.mapper.TimeMapper">
    <select id="getTime" resultType="java.lang.String">
        select sysdate()
    </select>
</mapper>
Colored by Color Scripter
cs

XML Mapper에서 namespace는 mapper들을 구분하는 식별자로 매우 중요합니다.
클래스에서는 패키지와 같은 역할로 MyBatis 내에서 원하는 SQL문을 찾아서 실행할 때 동작합니다.

위의 코드는 com.lsy0318.mapper.TimeMapper 네임스페이스에서 getTime 매핑 구문을 정의하고 있습니다.
이는 DAO에서 com.lsy0318.mapper.TimeMapper.getTime 형태로 실제 명시하게 됩니다.


3. root-context.xml의 sqlSessionFactory bean에 아래의 코드를 추가합니다.
<property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml"></property>
cs

mappers 폴더 내부에 있는, 파일의 이름이 Mapper.xml로 끝나는 파일을 자동으로 인식하도록 설정해주는 코드입니다.


4. src/main/java 폴더에 persistence 패키지를 생성하고 TimeDAO 인터페이스를 만듭니다.
public interface TimeDAO {
    public String getTime();
}
cs


5. TimeDAO의 구현 클래스로 TimeDAOImpl 클래스를 만듭니다.
@Repository
public class TimeDAOImpl implements TimeDAO {
    @Inject
    private SqlSession sqlSession;
    private static final String NAMESPACE = "com.lsy0318.mapper.TimeMapper.";
    @Override
    public String getTime() {
        return sqlSession.selectOne(NAMESPACE + "getTime");
    }
}
Colored by Color Scripter
cs

@Repository는 특정 클래스를 DAO로 표시하여 해당 역할을 명확히 해주는 주석입니다.


6. persistence 패키지를 Spring에 bean으로 등록합니다.
root-context.xml에 아래의 코드를 추가하면 Spring에서 persistence 패키지를 스캔하게 됩니다 :)
<context:component-scan base-package="com.lsy0318.persistence" />
cs


7. src/test/java 폴더에 있는 패키지에 TimeDAOTester 클래스를 만듭니다.
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "file:src/main/webapp/WEB-INF/spring/root-context.xml" })
public class TimeDAOTester {
    @Inject
    private TimeDAO dao;
    
    @Test
    public void testTime() throws Exception{
        System.out.println(dao.getTime());
    }
}
Colored by Color Scripter
cs

JUnit Test를 실행하면 콘솔에 현재 날짜와 시간이 출력됩니다.


8. 기존의 컨트롤러를 이용하여 웹 화면에서 호출해봅니다.
@Controller
public class HomeController {
    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
    @Inject
    private TimeDAO dao;
    @GetMapping("/")
    public String home(Model model) {
        logger.info("Welcome home!");
        model.addAttribute("serverTime", dao.getTime());
        return "home";
    }
}
Colored by Color Scripter
cs

서버를 켜고 http://localhost:8080/web에 접속하면 현재 날짜와 시간이 출력됩니다.



이전 게시물 홈

ABOUT AUTHOR

자바 웹개발자
monochrome123@naver.com
https://github.com/monochrome123

Categories

  • Daily
  • Programming

Popular Posts

  • LG 휘센 벽걸이 에어컨 분해청소 셀프로 하기
  • PostgreSQL libpq.dll 오류 해결방법 (feat.HeidiSQL)
  • Spring 개발환경 설정하기(4) - Spring + MyBatis 설계(Mapper, DAO)
  • 어느새 2년차 개발자가 되었습니다
  • MySQL 데이터베이스, 계정 생성하기
  • 학원 수료했습니다 :)
  • Spring 프로젝트에 Bootstrap Themes 적용하기
  • Spring 개발환경 설정하기(3) - Spring+MyBatis 연동하기
  • IDEA에서 Node.js 사용하기
  • Spring 개발환경 설정하기(2) - 라이브러리 다운로드~DB연동

Copyright © 2015 단색화. Free Blogger Templates Designed by OddThemes - WP Themes