모 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>
새벽에 일어나보니 찬물이 안나온다. ㅎㅎㅎㅎ 이 아파트도 그랬고 지난번에 살던 아파트도 그랬던지라 뭐 당혹스럽거나 그렇진 않고 짜증만 좀 난다.
서울시에서 배포한 수도 동파 방지 비닐 이런거 해봤자 오늘같은 날씨엔 답 안나온다. 복도식 구축 아파트 사는 현실 ㅜㅜ 돈이 원수다. 동파가 10,20년 된 일도 아니거늘 애시당초 이런식으로밖에 건축 설계를 해버린 인간들 잘못이겠지만 -_-
동파방지 비닐을 뜯어보니 고작 이렇게 해놓고 덮어버렸나보다. 이러니 바로 얼어버렸지 이건 동파방지 한것도 안한것도 아니여
냉수만 안나오기 때문에 먼저 냉수 계량기가 어떤건지부터 확인해야했다. 윗계량기가 냉수일까 아랫계량기가 냉수일까 윗 수도 계량기를 열고 얼어버린 수도관을 만져보았다. "싸늘하다. 가슴에 비수가 날아와 꽂힌다." 그렇다. 내가 사는 아파트는 윗 계량함이 냉수 계량함이었다.
이제부터 본격적인 10분안에 동파 수도 계량기 미션 스타트
방법은 간단하다. 미지근한 물보다 조금 더 뜨거운 물을 비닐에 붓고 혹시 모를 참사를 대비해 3중으로 재포장한다. 여기서 포인트는 비닐 봉다리 크기다. 욕심부리지 말고 계량기 사이즈 만큼 만들어야한다. 난 처음에 너무 커서 안들어가길래 주먹 두개 정도 크기로 만들었더니 쏙 들어갔다. 누구는 작게 여러개 넣어야 한다는데 대충 넣음 계량기 안에서 알아서 얼은 계량기를 녹여줄것이다.
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(으)로 변환하지 못했습니다.
은닉층에서 활성화함수를 사용하여 최적의 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를 통해 현재 학습에 반영하여, 데이터학습의 한계를 해결하는 알고리즘
제주도의 평범한 농가를 새롭게 리모델링한 제주도 농가주택 리모델링 주택입니다. 제주도는 안채와 바깥채를 따로 두고 부모와 자녀가 각자 독립된 공간에서 거주하는 독특한 문화가 있다합니다. 모던한 느낌도 좋고 5성짜리 호텔도 좋지만 제주까지 와서 도심의 빡빡한 삶을 그대로 이어 생활하기 보단 제주스러움과 멋을 살림과 동시에 편하게 거주할 수 있는 컨셉의 원룸형 숙박용도로 리모델링을 의뢰 받아 진행하였습니다.
먼저 안채입니다.
지붕과 기둥은 살리고 전반적인 리모델링 시공이 진행되었습니다.
안채 앞에 풀장만 있다면 동남아시아 풀빌라 휴양지가 느껴질 정도로 넓고 쾌적함이 느껴지는 모습입니다. 모히또 가서 몰디브 한 잔 해야겠습니다.
자리를 이동해서 이번엔 안채에서 마당과 바깥채를 바라본 모습입니다.
요즘은 아파트 거실에 턱을 없애고 트는 추세인데 문을 달면 답답함이 느껴지므로 원룸식으로 재주도 농가 주택을 리모델링하였고
거실과 침실의 구분은 제주의 전통적인 돌담형태로 포인트를 주어 구분하였습니다.
여기서 끝이 아닌 침실에 넓은 창을 두어 마당을 바라볼 수 있게 하였고, 대청마루 느낌의 데크를 배치하여 아침에 서로 마주앉아 오손도손 모닝커피 한 잔의 여유를 즐길 수 있습니다. 여름엔 창을 열면 대청마루가 더 넓어지는 효과로 시원한 바람과 함께 하늘 구경은 보너스입니다.
침실 맞은편 주방의 모습입니다. 전반적인 느낌은 원목이 주는 편안하고 아늑함을 의도하였습니다.
침실에서 바라본 거실입니다. 거실좌측과 주방좌측 양족에서 화장실과 욕실로 연결됩니다.
가장 중요한 화장실과 욕실. 기존 제주도 농가주택은 내부에 물부엌, 외부에 화장실이 위치해있었습니다. 하지만 물부엌과 화장실을 연결하여 집안에서 모든게 해결 가능합니다. 아무리 제주도 농가 주택이지만 화장실을 위해 집 밖으로 나가는건 조금 괴롭습니다 ^^
기존의 방보다 넓은 물부엌을 개조하여 이렇게 멋진 욕조를 만들어 느긋한 저녁시간이 가능합니다. 가족단위 또는 성인 서너명도 거뜬하겠습니다.
다음은 바깥채입니다.
마당에서 바라본 바깥채의 모습입니다. 같은 집이지만 제주도는 앞서 말씀드렸듯이 안채와 바깥채는 서로 독립된 공간이라 봅니다.
안채에 비해 아담한 사이즈입니다. 안채와 마찬가지로 거실과 침실의 구분은 제주 돌담형태로 구분지었습니다.
통일된 느낌을 위해 원목가구 배치를 하였고 아늑함과 동시에 세련된 느낌을 주었습니다. 또한 한켠에 주방을 마련하여 100% 독립된 공간을 보장하여 두 집이 여행와서도 전혀 불편함 없이 서로의 프라이버시를 침해하지 않고 여행과 생활 모두를 만족시킬 수 있게 설계하였습니다.
바깥채가 안채에 비해 아담하지만 욕실과 욕조도 완벽하게 배치하였습니다. 신축과 증축은 물론 도배 바닥 등 인테리어 전반에 대해 믿고 맡길 수 있는 전문 인테리어 업체입니다.
버그를 인지하게 된 경위는 다음과 같다. 내 앱은 카톡처럼 푸시가 왔을 때 카운팅을 해주지 않고 didFinishLaunchingWithOptions 에서 무조건 뱃지를 0으로 초기화 해주고 있었는데 iOS 14로 올라간 이후부터 뱃지가 계속 1로 표시되고 있음을 발견할 수 있었다.
소스를 돌려보니 충실히 application.applicationIconBadgeNumber = 0; 코드가 동작되고 있었지만 여전히 뱃지 카운트가 1로 표시되었다.