반응형

- (void)viewDidLoad {
     [super viewDidLoad];

     
UIView *view = [UIView new];
     view.backgroundColor = [UIColor redColor];

     
[view setTranslatesAutoresizingMaskIntoConstraints:NO];
     [self.view addSubview:view];
     
     NSLayoutConstraint *left = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeLeftrelatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1 constant:100];

     NSLayoutConstraint *top = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1 constant:100];

     NSLayoutConstraint *height = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:50];

     NSLayoutConstraint *width = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:50];

     [self.view addConstraints:@[left, top]];
     [view addConstraints:@[height, width]];
}


width에 constant를 뷰의 넓이와 동일하게 한다면
CGRect rcData = [[UIScreen mainScreen] bounds];
     NSLayoutConstraint *width = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:rcData.size.width];


반응형
Posted by Hippalus
,

반응형

vue.js를 설치하기 위해선 npm을 통해 설치하여야 하지만 npm을 이용하기 위해선 또 brew를 선설치하여야 한다.
brew.sh/index_ko로 이동해보면 아래와 같이 친절하게 터미널 명령어가 존재하는데 이를 복사하여 터미널에 붙여넣기 후 엔터를 친다.

Homebrew 홈페이지

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

그럼 sudo 권한을 위해 아이맥 비밀번호를 물어보고 이를 입력하면 한참을 다운로드에서 머물다 설치가 마무리 된다.
대략 20분 이상 걸린것 같다.(회사라 느린것인지 모름)

Terminal Homebrew 설치화면

Homebrew가 설치 되었다면 이제 node를 설치한다.
터미널에서 brew install node 를 입력하고 엔터

node 설치화면

npm이 설치되었으니 이제 본격적인 vue cli 설치를 진행한다.
터미널에서 npm install -g @vue/cli 를 입력하고 엔터
(CLI란 뷰 프로젝트를 빠르게 개발하고 빌드하고 서비스를 런칭시켜주는 틀)

다른 설치파일들과 달리 1~2분 이내로 금방 설치가 완료 된다.

vue 설치 완료 화면

기본 설치까지 모두 완료 되었으므로 이제 실제 vue 프로젝트를 생성해보도록 한다.
프로젝트 생성방법은 터미널에서 vue create 폴더명이므로
vue create test 입력 후 엔터

참고로 화살표키로 다른 기본 설치와 매뉴얼 설치를 선택할 수 있다.

기본 옵션설치이므로 default에서 엔터 설치

default 그대로 설치 진행 중 화면


프로젝트 설치가 완료되면 아래와 같이 생성된 프로젝트를 실행해 볼 수 있도록 친절히 안내가 나온다.
(node.js를 경험해봤다면 익숙한 방식이다.)

🎉  Successfully created project test.
👉  Get started with the following commands:
 $ cd test
 $ npm run serve

실제 ls 명령어를 통해 폴더를 확인해보면 test란 폴더가 생성되어 있고

우측 끝에 test란 폴더가 보임

cd 명령어를 통해 이동해보면 아래와 같은 구조로 프로젝트가 생성되어 있음을 알 수 있다.
test
    src
        App.vue
        assets
        components
        main.js

생성된 프로젝트를 실행하고 실제 브라우저에서 접속해보도록 한다.
먼저 프로젝트 폴더로 이동하기 위해 터미널에서 
$ cd test 입력 후 엔터

그리고 npm을 통해 프로젝트를 실행하기 위해 터미널에서 
$ npm run serve 입력 후 엔터를 치면 정상설치가 되었을 경우 아래처럼 친절하게 접속 가능한 주소를 알려준다.

App running at:
  - Local:   http://localhost:8080/ 
  - Network: http://000.000.000.000:8080/
  Note that the development build is not optimized.
  To create a production build, run npm run build.

아무 브라우저나 열고 위 주소를 입력해보자

test로 생성해본 프로젝트 웹 접속 화면

여기까지 간단하게 처음 npm 설치부터 vue 테스트 프로젝트 설치 및 접속까지 알아보았다.

반응형
Posted by Hippalus
,

반응형

모 PG사의 파라메터들 중 한글을 포함한 파라메터를 넘길 때 UTF-8인 경우 encodeURIComponent를 호출하여 보내야만 했다.
웃긴건 이 PC사 모듈이 PC용이 있고 Mobile용이 있는데 PC용은 encode를 했다가 또다시 decode를 하는 코메디 상황을 연출한다란 점이다.
모바일은 더 웃긴게 encode만 한 후 결제 처리하는 페이지에서 다시 decode를 해야 한다란 점 -_-
도대체 왜 이딴식으로 개발하는지 PG사들 모듈들 보면 다년간 사람손을 많이 타와서 그런지 도무지 이해가 안가는 점이 한두개가 아니다.
왜들 그렇게 모듈을 만들 때 제대로 만들지 못하는건지
그나마 이 PG사는 일전에 망한 큰~기업 PG사에 비하면 양반이다.
그 큰 기업은 참.. 뭘 만들어도 이상한 결과물을 재생산해내는 노하우를 보유한 기업이니 이상하지 않지만 말이다.

javascript의 encodeURIComponent와 decodeURIComponent를 classic asp에서 호출할 때 runat server로 javascript함수를 호출해주면 된다.

<script language="javascript" runat="server">
    function decodeUTF8(str) {
        return decodeURIComponent(str);
    }

    function encodeUTF8(str) {
        return encodeURIComponent(str);
    }
</script>

<%
  response.write encodeUTF8(encodeFromJsString)
%>

반응형
Posted by Hippalus
,

반응형

www.w3schools.com/asp/ado_datatypes.asp

 

ADO Data Types

ADO Data Types The table below shows the ADO Data Type mapping between Access, SQL Server, and Oracle: DataType Enum Value Access SQLServer Oracle adBigInt 20   BigInt (SQL Server 2000 +)   adBinary 128   Binary TimeStamp Raw * adBoolean 11 YesNo Bit  

www.w3schools.com

 

TEXT type adLongVarChar

.Parameters.Append .CreateParameter("TEXTATA", adLongVarChar, adParamInput, len(TEXTDATA), TEXTDATA)    

 

NVARCHAR type adVarWChar

.Parameters.Append .CreateParameter("USERID", adVarWChar, adParamInput, 100, USERID)

반응형
Posted by Hippalus
,

반응형

새벽에 일어나보니 찬물이 안나온다. ㅎㅎㅎㅎ
이 아파트도 그랬고 지난번에 살던 아파트도 그랬던지라 뭐 당혹스럽거나 그렇진 않고 짜증만 좀 난다.

서울시에서 배포한 수도 동파 방지 비닐
이런거 해봤자 오늘같은 날씨엔 답 안나온다.
복도식 구축 아파트 사는 현실 ㅜㅜ 돈이 원수다.
동파가 10,20년 된 일도 아니거늘 애시당초 이런식으로밖에 건축 설계를 해버린 인간들 잘못이겠지만 -_-

동파방지 비닐을 뜯어보니 고작 이렇게 해놓고 덮어버렸나보다.
이러니 바로 얼어버렸지
이건 동파방지 한것도 안한것도 아니여

냉수만 안나오기 때문에 먼저 냉수 계량기가 어떤건지부터 확인해야했다.
윗계량기가 냉수일까 아랫계량기가 냉수일까
윗 수도 계량기를 열고 얼어버린 수도관을 만져보았다.
"싸늘하다. 가슴에 비수가 날아와 꽂힌다."
그렇다.
내가 사는 아파트는 윗 계량함이 냉수 계량함이었다.


이제부터 본격적인 10분안에 동파 수도 계량기 미션 스타트

방법은 간단하다.
미지근한 물보다 조금 더 뜨거운 물을 비닐에 붓고 혹시 모를 참사를 대비해 3중으로 재포장한다.
여기서 포인트는 비닐 봉다리 크기다.
욕심부리지 말고 계량기 사이즈 만큼 만들어야한다.
난 처음에 너무 커서 안들어가길래 주먹 두개 정도 크기로 만들었더니 쏙 들어갔다.
누구는 작게 여러개 넣어야 한다는데 대충 넣음 계량기 안에서 알아서 얼은 계량기를 녹여줄것이다.

준비한 온수 비닐 봉다리를 넣고 기다렸다.

이때가 3:38
동파가 해결됐는지 매번 체크하기 귀찮으니 찬물쪽으로 수도를 이빠이 틀어놓고

긴가 민가 정말 될까 의구심을 품은채 TV보고 있으니 곧이어 쏴!!! 시원한 물소리가 들린다.

위 사진은 이것저것 다 처리하고 찍은 사진이라 그런데 대충 5분 언저리로 걸렸다.

아침부터 서로 경쟁하듯 아파트 관리사무소에 연락하고 순서 기다릴 생각에 아찔했는데 온수 비닐 봉다리로 준비부터 동파 해결 미션 클리어까지 10분만에 해결했으니 끝이 좋으면 모든게 좋다.

우란 폐렴 코로나로 일년 내내 뭐같았는데
뻔뻔한 중국 태도에 가슴이 답답했는데
연말에 동파까지 당해 기분 다운됐는데
요래 해결하니 기분 좋아졌으~!

반응형
Posted by Hippalus
,

반응형

SELECT시 특정 필드를 CONVERT할 경우가 종종있다.
그런데 데이터 이상으로 해당 레코드들만 제외하고 CONVERT를 해야 할 경우 WHERE 조건을 준다한들 예외 오류가 발생하게 된다.

예를들어
퇴사일이 없는 (NULL값)직원이 있고 있는 직원이 있다치자
일괄적으로 CONVERT를 실행할 경우 여지없이 해당 NULL값인 직원의 데이터 때문에 예외 오류가 발생한다.
그러하다면 WHERE조건을 주고 해당 레코드들을 제외시킨 후 CONVERT를 하면 되겠거니 싶지만
여지없이 예외오류를 내뱉는다.
서브쿼리로 해당 테이블을 1차 가공 후 CONVERT를 실행시켜도 똑같다.

괴이한건 이 상황에서 그냥 TOP 1000000 을 주고 실행하면 오류를 발생시키지 않는다.
그렇다고 매번 TOP으로 실행하자니 못마땅하다.

이때 사용할 함수가 try_cast, try_convert, try_parse 되시겠다.

조금 더 구체적인 예로 try_convert 함수를 설명해 보겠다.

학생테이블인 STUDENT라는 테이블의 USERID 필드가 VARCHAR(50) 형태로 존재하고
아래처럼 해당 필드는 학번값을 저장하고 있다 치자

USERID
9201013
9201014
crazymyid94
student1101
0088341
0101003


그런데 특이하게 몇몇 레코드만 영문자로 되어 있는 상태고 학번의 앞자리 2자리를 기준으로 입학년도를 추출해야 할 상황인 경우
그냥 CONVERT쿼리를 실행하든 앞서 설명한 상황처럼 SUBQUERY, NOT IN, 알파벳을 제외하는 방법(not like '%[a-zA-Z]%') 등등
뭔짓을 해도 예외오류를 발생시킬 것이다.

메시지 245, 수준 16, 상태 1, 줄 15
varchar 값 'cr'을(를) 데이터 형식 int(으)로 변환하지 못했습니다.

이럴 땐 TRY_CONVERT함수를 WHERE문으로 실행시켜주면 깔끔하게 해결된다.
SELECT USERID FROM STUDENT WHERE TRY_CONVERT(INT, LEFT(USERID, 2)) <= 99

반응형
Posted by Hippalus
,

반응형

회사 서버에 스토리지가 매우 부족해서 어쩔 수 없이 이용자가 생성해내는 컨텐츠 파일 데이터를 CDN을 이용해 서비스하게 되었다.

더보기

FTP로 업로드를 해줘도 구글의 정책인 mixed content 불허 정책 때문에 크롬브라우저에선 net::ERR_CERT_AUTHORITY_INVALID가 떡 하고 떠버리니 뭔 짓을 해도 크롬(안드로이드 크롬 포함)에선 배짱이다.

mixed content란 그냥 내 서버가 아닌 다른 곳에 위치한 컨텐츠는 쓰지마라고 보면 된다. -_-

단! 서로 SSL을 지원할 경우 허용은 해주지만 CDN 서비스를 쓰면 SSL을 지원하는 CDN 찾기가 어렵다.

KT같은 대기업 CDN서비스도 마찬가지다. 
상담원에게 SSL이야기해도 못알아듣는다.
(세상 변화하는데 좀 따라가자 좀. IT 대기업이면서!)

따라서 FTP로 고생해가며 업로드를 해줘도 크롬에선 웹페이지로 보여주긴 글렀다 보면 되고 그냥 다이렉트 링크를 줘서 사용자더러 알아서 보게끔 하게 되었다.

 

여하간에 이런 상황이므로 dextupload 컴포넌트를 이용해 업로드 된 파일을 마찬가지로 FTP 컴포넌트를 이용하여 전송해주면 되겠다.

여기서 문제가 발생한다. 요즘 서버들은 다 64bit다.
하.. 딥빡
node.js로 ftp전송프로그램을 만들까도 생각했지만 전산팀에서 싫다한다. ㅎㅎㅎㅎㅎㅎㅎ

다시 돌아와서 FTP 컴포넌트를 만지작 거려본다.
그런데 classic asp는 너~무 오래된 단종된 언어인지라 ftp dll 컴포넌트가 32bit 밖에 존재하지 않는다.
물론 유료 $80짜리 상용 64bit 컴포넌트도 있긴 하지만
공짜가 좋지 아니하겠는가?

해결방법은 존재한다.
일단 classic asp에서 FTP업로드가 가능한 aspftp.dll을 구해본다.(친절하게도 나님이 첨부파일로 등록해뒀다.)

aspftp.zip
0.02MB

 

먼저 첫번재 방법이다.

서버로 이동해보자.

aspftp.dll 마우스 오른쪽 버튼 속성 > 보안 > 편집 > Users > 모든권한에 체크

cmd.exe를 실행 후 aspftp.dll이 존재하는 폴더에서(내 경우 wow64에 복사해뒀음) regsvr32 aspftp.dll

윈도우의 구성요소서비스 실행

콘솔루트 > 구성요소서비스 > 컴퓨터 > 내컴퓨터 > com+ 응용프로그램에서 마우스 오른쪽 클릭하여 새로만들기 > 응용프로그램 선택

응용프로그램 설치 마법사가 나오면 다음 클릭

빈 응용 프로그램 만들기 클릭

응용 프로그램의 이름을 입력(내 경우  ASPFTP)

계속 다음 클릭

새로 생성한 ASPFTP에서 마우스 오른쪽 클릭 후 속성 클릭

보안탭에 권한 부여 > 이 응용 프로그램에 대한 엑세스 검사 수행의 체크를 해제 > 확인 클릭하여 빠져 나오기

ASPFTP > 구성요소를 마우스 오른쪽 버튼으로 클릭하여 새로만들기 > 구성요소 클릭 > 다음 > 새 구성요소 설치 클릭하여 앞서 regsvr32로 등록했던 dll파일을 찾아 선택 후 다음 클릭

이제 코딩하면 된다.
코딩은 포스팅 하단에 만들어 두겠다.

 

64bit 윈도우에서 32bit dll사용하는 두번째 방법이다.

iis에서 그냥 쉽게 32bit True로 바꿔주면 된다.
응용프로그램 풀을 선택후 우클릭 혹은 우측의 고급설정을 클릭합니다.
"32비트 응용프로그램 사용"

그런데 이렇게 하면 다른 64bit dll들을 사용 못한다. -_-

그러도 된다면 간단하게 두번째 방법으로 진행하면 되고 그게 아니라면 첫번째 방법대로 진행하면 된다.

 

 

 

 

<%

ACCESS_TYPE_PRECONFIG = 0

ACCESS_TYPE_DIRECT = 1

ACCESS_TYPE_PROXY = 2

  

TRANSFER_TYPE_ASCII = 1

TRANSFER_TYPE_BINARY = 2

  

FILE_ACCESS_WRITE = 1

FILE_ACCESS_READ = 2

  

ATTRIBUTE_READONLY = 1

ATTRIBUTE_HIDDEN = 2

ATTRIBUTE_SYSTEM = 4

ATTRIBUTE_DIRECTORY = 16

ATTRIBUTE_ARCHIVE = 32

ATTRIBUTE_NORMAL = 128

ATTRIBUTE_TEMPORARY = 256

ATTRIBUTE_COMPRESSED = 2048

ATTRIBUTE_OFFLINE = 4096

 

  

Function ftpDownload(sourceFile, copyFile) ' Download Function

    Dim objFTP

    Dim strMsg

  

    Set objFTP = Server.CreateObject("NIBLACK.ASPFTP")

  

    objFTP.sServerName = "server"

    objFTP.sUserID = "id"

    objFTP.sPassword = "password"

  

    If objFTP.bConnect Then

        objFTP.lTransferType = TRANSFER_TYPE_ASCII

  

        If objFTP.bGetFile(copyFile, sourceFile) Then ' Success

            strMsg = "Get Successful!"

        Else

            strMsg = "Get Failed: " & objFTP.sError ' Fail

        End If

    Else

        strMsg = "Connection Failed: " & objFTP.sError

    End If

  

    Set objFTP = Nothing

  

    ftpDownload = strMsg

End Function

  

  

  

Function ftpUpload(sourceFile, copyFile) ' Upload Function

    Dim objFTP

 

    Dim strMsg

  

    Set objFTP = Server.CreateObject("NIBLACK.ASPFTP")

  

    objFTP.sServerName = "******"

    objFTP.sUserID = "******"

    objFTP.sPassword = "******"

    objFTP.bPassiveMode = True 'True 'Passive Mode

 

    If objFTP.bConnect Then

        objFTP.lTransferType = TRANSFER_TYPE_ASCII

  

        If objFTP.bPutFile(sourceFile, copyFile) Then ' Success

            strMsg = "Put Successful!"

        Else

            strMsg = "Put Failed: " & objFTP.sError ' Fail

        End If

    Else

        strMsg = "Connection Failed: " & objFTP.sError

    End If

  

    Set objFTP = Nothing

 

    ftpUpload = strMsg

End Function

 

' FTP FILE UPLOAD

ftpUploadResult = ftpUpload("D:\PDS\1.jpg","/test/1.jpg")

response.Write ftpUploadResult

  

' FTP FILE DOWNLOAD

'ftpDownloadResult = ftpDownload("Folder\uploadFile.txt","C:\uploadfile.txt")

%>

참고로 com+ 등록 원본은 아래와 같다.
blog.daum.net/kibchj/207

 

IIS7 64bit 에서 32bit dll 사용하기

1. 파일명.dll -> 속성 -> 보안 -> 편집 -> Users -> 모든권한에 체크   2. 시작 -> 실행 -> cmd 입력하여 dll 파일을 레지스트리에 등록시켜준다.    C:\regsvr32 C:\asp\파일명.dll 3. 구성요소서비스에 파일..

blog.daum.net

 

반응형
Posted by Hippalus
,

반응형

ANN (Artifical Neural Network) : 인공신경망

인간의 뉴런처럼 자극이 임계값을 넘어서면 결과 신호를 전달하는 과정에서 착안.

자극은 Input Data, 임계값은 가중치(Weight)

결과 신호는 Output Data

입력층 은닉층(레이어) 출력층으로 구성

은닉층에서 활성화함수를 사용하여 최적의 W(Weight)와 B(Bias)를 찾아내는 역할을 함

 

학습과정에서 파라미터의 최적값을 찾기 어려고 OverFitting문제와 학습시간이 너무 느리다란 문제점이 존재하나 HW의 발전으로 학습시간이 감당할 수 있는 수준이며 오버피팅 문제 역시 사전훈련을 통해 방지할 수 있게 되었음

 

DNN (Deep Neural Network)

ANN기법의 문제가 해결되면서 은닉층을 많이 늘려 학습의 결과를 향상시키는 방법인 DNN이 등장

은닉층을 2개 이상 지닌 학습방법을 뜻함.

컴퓨터가 스스로 분류 레이블을 만들어 내고 공간을 왜곡하고 데이터를 구분짓는 과정을 반복하여 최적의 구번선을 도출.

 

CNN (Convolution Neural Network) : 합성곱신경망

DNN을 응용한 알고리즘

데이터의 특징을 추출하여 패턴을 파악하는 구조로 Convolution -> Pooling(Convolution Layer의 데이터 사이즈를 줄이고 노이즈를 상쇄시키고 미세한 부분에서 일관적인 특징을 제공)과정을 통해 진행되며 각각의 Convolution Layer(특징 파악, 한장으로 도출), Pooling Layer를 복합적으로 구성하여 알고리즘을 생성

 

RNN (Recurrent Neural Network) : 순환신경망

DNN을 응용한 알고리즘

순환구조가 들어가 있어 이를 이용하여 과거의 학습을 Weight를 통해 현재 학습에 반영하여, 데이터학습의 한계를 해결하는 알고리즘

현재의 학습과 과거의 학습을 연결을 가능케 하고 시간에 종속된다란 특징을 소유함.

음성 웨이브, 텍스트의 앞 뒤 성분 파악할 때 사용

반응형
Posted by Hippalus
,

반응형

파이썬에서 확인하는 방법

import tensorflow as tf
print(tf.__version__)

 

도스창에서 확인하는 방법

pip freeze

C:\>pip freeze
absl-py==0.10.0
argon2-cffi==20.1.0
astunparse==1.6.3
async-generator==1.10
attrs==20.2.0
backcall==0.2.0
bleach==3.2.1
cachetools==4.1.1
certifi==2020.6.20
cffi==1.14.3
chardet==3.0.4
colorama==0.4.4
cycler==0.10.0
decorator==4.4.2
defusedxml==0.6.0
entrypoints==0.3
gast==0.3.3
google-auth==1.22.1
google-auth-oauthlib==0.4.1
google-pasta==0.2.0
grpcio==1.33.1
h5py==2.10.0
idna==2.10
importlib-metadata==2.0.0
ipykernel==5.3.4
ipython==7.16.1
ipython-genutils==0.2.0
ipywidgets==7.5.1
jedi==0.17.2
Jinja2==2.11.2
jsonschema==3.2.0
jupyter==1.0.0
jupyter-client==6.1.7
jupyter-console==6.2.0
jupyter-core==4.6.3
jupyterlab-pygments==0.1.2
Keras-Preprocessing==1.1.2
kiwisolver==1.2.0
Markdown==3.3.2
MarkupSafe==1.1.1
matplotlib==3.3.2
mistune==0.8.4
nbclient==0.5.1
nbconvert==6.0.7
nbformat==5.0.8
nest-asyncio==1.4.1
notebook==6.1.4
numpy==1.18.5
oauthlib==3.1.0
opt-einsum==3.3.0
packaging==20.4
pandocfilters==1.4.2
parso==0.7.1
pickleshare==0.7.5
Pillow==8.0.1
prometheus-client==0.8.0
prompt-toolkit==3.0.8
protobuf==3.13.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycparser==2.20
Pygments==2.7.1
pyparsing==2.4.7
pyrsistent==0.17.3
python-dateutil==2.8.1
pywin32==228
pywinpty==0.5.7
pyzmq==19.0.2
qtconsole==4.7.7
QtPy==1.9.0
requests==2.24.0
requests-oauthlib==1.3.0
rsa==4.6
Send2Trash==1.5.0
six==1.15.0
tensorboard==2.3.0
tensorboard-plugin-wit==1.7.0
tensorflow==2.3.1
tensorflow-estimator==2.3.0
termcolor==1.1.0
terminado==0.9.1
testpath==0.4.4
tornado==6.0.4
traitlets==4.3.3
urllib3==1.25.11
wcwidth==0.2.5
webencodings==0.5.1
Werkzeug==1.0.1
widgetsnbextension==3.5.1
wrapt==1.12.1
zipp==3.3.1

반응형
Posted by Hippalus
,

반응형

제주도의 평범한 농가를 새롭게 리모델링한 제주도 농가주택 리모델링 주택입니다.
제주도는 안채와 바깥채를 따로 두고 부모와 자녀가 각자 독립된 공간에서 거주하는 독특한 문화가 있다합니다.
모던한 느낌도 좋고 5성짜리 호텔도 좋지만 제주까지 와서 도심의 빡빡한 삶을 그대로 이어 생활하기 보단 제주스러움과 멋을 살림과 동시에 편하게 거주할 수 있는 컨셉의 원룸형 숙박용도로 리모델링을 의뢰 받아 진행하였습니다.

먼저 안채입니다.


지붕과 기둥은 살리고 전반적인 리모델링 시공이 진행되었습니다.


안채 앞에 풀장만 있다면 동남아시아 풀빌라 휴양지가 느껴질 정도로 넓고 쾌적함이 느껴지는 모습입니다.
모히또 가서 몰디브 한 잔 해야겠습니다.


자리를 이동해서 이번엔 안채에서 마당과 바깥채를 바라본 모습입니다.


요즘은 아파트 거실에 턱을 없애고 트는 추세인데 문을 달면 답답함이 느껴지므로 원룸식으로 재주도 농가 주택을 리모델링하였고


거실과 침실의 구분은 제주의 전통적인 돌담형태로 포인트를 주어 구분하였습니다.


여기서 끝이 아닌 침실에 넓은 창을 두어 마당을 바라볼 수 있게 하였고, 대청마루 느낌의 데크를 배치하여 아침에 서로 마주앉아 오손도손 모닝커피 한 잔의 여유를 즐길 수 있습니다.
여름엔 창을 열면 대청마루가 더 넓어지는 효과로 시원한 바람과 함께 하늘 구경은 보너스입니다.


침실 맞은편 주방의 모습입니다.
전반적인 느낌은 원목이 주는 편안하고 아늑함을 의도하였습니다.


침실에서 바라본 거실입니다.
거실좌측과 주방좌측 양족에서 화장실과 욕실로 연결됩니다.


가장 중요한 화장실과 욕실.
기존 제주도 농가주택은 내부에 물부엌, 외부에 화장실이 위치해있었습니다.
하지만 물부엌과 화장실을 연결하여 집안에서 모든게 해결 가능합니다.
아무리 제주도 농가 주택이지만 화장실을 위해 집 밖으로 나가는건 조금 괴롭습니다 ^^


기존의 방보다 넓은 물부엌을 개조하여 이렇게 멋진 욕조를 만들어 느긋한 저녁시간이 가능합니다.
가족단위 또는 성인 서너명도 거뜬하겠습니다.

다음은 바깥채입니다.


마당에서 바라본 바깥채의 모습입니다.
같은 집이지만 제주도는 앞서 말씀드렸듯이 안채와 바깥채는 서로 독립된 공간이라 봅니다.


안채에 비해 아담한 사이즈입니다.
안채와 마찬가지로 거실과 침실의 구분은 제주 돌담형태로 구분지었습니다.


통일된 느낌을 위해 원목가구 배치를 하였고 아늑함과 동시에 세련된 느낌을 주었습니다.
또한 한켠에 주방을 마련하여 100% 독립된 공간을 보장하여 두 집이 여행와서도 전혀 불편함 없이 서로의 프라이버시를 침해하지 않고 여행과 생활 모두를 만족시킬 수 있게 설계하였습니다.


바깥채가 안채에 비해 아담하지만 욕실과 욕조도 완벽하게 배치하였습니다.
신축과 증축은 물론 도배 바닥 등 인테리어 전반에 대해 믿고 맡길 수 있는 전문 인테리어 업체입니다.

최근 신축 매물도 매매중입니다.
자세한 내용은 아래에서 확인하세요.
https://m.blog.naver.com/ws1126611/222452973598



반응형
Posted by Hippalus
,