반응형

나리타 공항에 착륙하려보니, 엄청나게 많은 골프장들이 보여 놀랐다.

1일차

많지 않은 준비를 한 후, 인천국제공항으로 출발했다. 9시 55분 비행시간인지라 대충 7시 정도에 출발을 했는데, 그럼에도 불구하고 공항철도에는 사람이 많았었다. 심지어 앉아갈 수 없을 정도... 부끄럽게도 인천공항에서 에그를 수령하는 곳을 찾느라 헤매긴 했었다.

 

탑승준비를 하는데 있어 수하물 수속이 셀프로 변경이 되었는데 뭐랄까... 돈 받은 만큼 일하지 않는 듯한 기분이 들었다고나 할까? 이런것마저 직접 해야하는건가 하는 수고로움과 귀찮음이 동시에 존재했다. 그렇다고 셀프 체크인만큼 편한 것도 아니고 말이다.

 

 

심지어 제 2터미널에서 출국을 하게 되었는데 제 2터미널은 처음이었다! 5분간격이랬나 10분간격으로 운행하긴 하지만 그래도 신기한 경험이긴 했음. 캬캬캬

 

 

간식으로 나온 계란과 머핀과 삼각김밥. 그냥 그저 그런 맛.
착륙 직전. 방파제 안의 물 색과 바깥의 물 색이 다른 것이 신기했다.
사실 일본어는 쥐뿔도 모르는 터라, 여행준비할 때 가장 많이 알아보는 방법은 공항에서 숙소까지 가는 방법이다.

일본어를 읽을 수 조차 없는 비루한 몸뚱이인지라 열심히 구글링을 해서 공항에서 숙소까지 가는 방법을 알아봤다. 사실 크게 어려울 것 없었는데, 내가 머무는 숙소에서 공항까지 한 번의 환승으로 편하게 갈 수 있었기 때문. 다만 시간이 쪼금 걸려서 그랬지.

 

 

이쪽으로 가면 된다. 열차 한대를 간발의 차로 놓치고 다음 열차를 탔음.
처음으로 먹는 일본의 음식, 칼피스
한국인 여행객이 많아서인지, 도쿄도 한국어 패치가 아주 잘 되어있는 모습이다. 심지어 지하철 발권기마저 한국어 패치가 되어있음.
이렇게 타고 간다. 
일본의 지하철은 뭐랄까, 한국의 지하철에 비해 차량 폭도 좀 좁고 어수선한 기분이랄까.
드디어 도착한 아사쿠사바시. 흡연구역이 눈에 띈다.

일본 도쿄에 도착하고나서 가장 놀라운 점은, 자유로운 흡연문화가 많이 사라졌다는 점이다. 좀 찾아보니 도쿄올림픽이 개최되면서부터 금연정책이 엄청나게 강도가 높아졌는데, 이게 올림픽 유치 권고사항이라나 뭐라나. 그래서 흡연구역이 지정되고, 이 이외의 구역에서 흡연을 하다가 걸리면 벌금이 꽤나 세다고 한다.

심지어 카페나 음식점에서도 금연/흡연구역이 분리가 되어있을 정도이며, 일반 음식점의 금연정책도 곧 시행될 예정이라고 한다. 나름의 충격과 공포.

그러다보니 담배자판기와 함께 흡연을 할 수 있는 서너평 정도의 공간, 일명 "흡연실"이 곳곳에 있는 모습을 볼 수 있었다.

 

나름 깔끔했던 아사쿠사바시 루트인 호텔.

루트인 호텔에서 4박을 하게 되었는데 여기 조식시스템이 지금까지 다닌 호텔과 꽤 달라서 애를 먹었었다. 호텔 프론트 데스크에 있는 직원이 영어를 상당히 못하긴 했었지만 조식에 대한 설명을 아예 들을 수 없었고, 지금까지 다닌 호텔들은 호텔 방 열쇠(또는 카드키)를 들고가면 조식 레스토랑 입구에서 확인 후 이용하는 시스템이었는데 여기에는 그런 것 없이 로비에서 조식 쿠폰을 발급 받아서 제출하는 시스템이었던 것이다.

첫날은 이걸 몰라서 헤매다가 그냥 들어갔었는데, 레스토랑 매니저가 뭐라뭐라 하다가 같이 프론트에 가서 쿠폰을 받아오고나서야 알게 되었다. 설명서를 저렇게나 잘 만들어놨으면 그런거라도 좀 적어두던가...

 

거기에 그린정책인지 뭐시긴지가 있는데, 이거에 동의를 하면 침대 침구류를 교체하지 않는 대신 음료 토큰을 대신 지급해주는 정책이 있었다. 물론 수건이나 가운, 쓰레기통 같은 건 매일매일 교체해주긴 하지만. 어차피 나야 크게 상관이 없어서 토큰을 대신 받았었다.

해당 토큰은 소프트 드링크나 맥주로 교환이 가능해서 개꿀이었던 부분.

 

호텔 레스토랑과 관련된 안내문. 아 저녁의 레스토랑 가보고 싶었는데 그게 참 안되긴 하네.
카게츠 아라시 라멘. 호텔 바로 앞에 있어서 체크인 하자마자 달려나옴.
겐코츠 라멘. 계란이 많이 익긴 했지만 내가 딱 생각하는 그러한 돈코츠라멘이었다. 아주 맛있음! 700엔
이렇게 부추김치도 올려먹을 수 있다. 저 부추김치가 아주 존맛탱
아이구 잘먹었습니다.
여행을 하게 되면 항상 흐리멍텅한 날씨를 마주하곤 한다.
요도바시 아키바!
드디어 왔다 이곳 내가.
건담카페와 AKB48 카페도 보인다.

AKB48 카페에 대해 좀 찾아보니 이래저래 아키바 덕후들한테는 좋은 평을 받지 못하는 듯. 뭐 아키하바라 출신성분(?)을 부정한다나 뭐라나...

 

지금에와서보니 대놓고 저 19금이오, 라고 써져있었는데 막상 들어가기 전 까지는 이니스프리 같은 화장품 가게인줄 -_-;

일본에 오면 성인용품샵을 꼭 가보고는 한데, 여기서 가장 크게 한국과 일본의 차이를 경험하고는 한다. 일단 수많은 섹스용품들이 가지런히 진열되어있는 모습과 수많은 AV들이 진을 치고 있는 이곳. 내가 좋아하는 배우들이 은퇴한다며 은퇴작 DVD를 출시했는데 값이 상당히 나가서 구매를 차마 하진 못했다.

 

여튼, 요사이 리얼돌 이슈니 뭐시기니 하는 것들이 대두가 되고있는 요즈음, 합법적인 성인용품들을 보자니 만감이 교차한다.

 

카드캡터 체리를 좋아하는 아내한테 물어봤으나 필요없다는 소리를 들음
헉 몬헌 월드 리오레우스 세트 한정판! 이거 한국 출시되면 꼭 사야지
혈소판과 백혈구 넨도로이드. 기여엉
얘들이 만우절날 낚시용으로 만들었다가 반응이 넘나 좋아서 실제로 발매했다던가 뭐라나.
파이널 판타지7 피규어를 볼 때 마다 사고싶은 충동이 진짜 장난아님
그래 파판7 리메이크 발매가 얼마 안남았구나. 비로소 실감하게 된다.
넘나 목이 말라서 음료를 하나 샀다.
스타워즈 피규어가 아직도 이렇게 나오는게 신기하긴 하다.
만다라케 컨플렉스. 올드한 장난감부터 최신 장난감까지 종류가 상당했다. 
소프트맵. 전자제품과 더불어 많은 피규어들이 존재했지만 사실상 나에겐 무의미.

여기까지 둘러보고 lawson 드래곤퀘스트 콜라보 편의점에 들어가서 구경했었다. 드래곤 퀘스트는 1도 모르지만 역시 콜라보는 콜라보구나. 드래곤 퀘스트 관련 콜라보 물품들도 파는데다가 대기열조차 드퀘와 관련되어있고, 문열리는 소리마저 드퀘 이펙트라니. ㅎㄷㄷ

여기까지 둘러보고 시간이 꽤 늦어 숙소로 돌아가는 길에 빅카메라 아키바 점을 들어갔다.

 

돈키호테를 못찾아서 들어가긴 했다.

 

양배추 위장약. 아내한테 줬지만 아직까지 안먹음;
처제가 부탁한 샤론파스. 나도 샤론파스 짱 좋아함. 부착력이 상당하다.
나의 급똥을 위한 급똥약. 사실 효과가 있는지는 잘 모르겠다.
아주아주 애정하는 마이티아 인공눈물. 새로운 버전이 있어서 구매함.

마이티아 인공눈물은 멘솔과 같이 눈을 싸하게 만드는 성분이 들어있어서 아주 좋아하는데, 집에는 1단계, 7단계 10단계를 두고 쓰는 중이다. 일본에 왔는데 눈이 뻑뻑하길래 보이자마자 구매함. 이건 비타민이 많이 첨가된 버전이라 하며, 멘솔과 같은 성분이 없어서 조금 아쉬웠다.

 

숙소에서 찍은 선토리 가쿠빈 위스키. 한국보다 일본이 훨씬 싸다.

 

돌아오는 길에 먹으려던 모테나시 쿠로키. 여긴 유명한 맛집이라고 알곤 있었는데 이정도일 줄이야.

모테나시 쿠로키는 금요일이면 이름을 바꾸고 특별메뉴만 판매하는걸로 유명한데, 대표적으로 오리육수를 사용한 라멘이 있다고 한다. 아쉽게도 금요일엔 시간대가 안맞아서 갈 수 없었고, 다른 날 방문하니 그땐 브레이크타임에 걸려 또 먹질 못했다.

 

500엔 해산물도시락 전문점. 꼭 먹어야지 먹어야지 하면서도 먹지 못하고 지나친 이곳.
오늘의 걸음, 1만 7천보. 호오, 꽤 걸으셨군뇨?

호텔로 돌아와 구매한 물건들을 대강 정리한 후, 조금 쉬었다. 저녁을 먹으려고 초밥집을 알아보았는데 내가 알아본 초밥집은 당최 주문을 어떻게 해야하는지 1도 알수 없는데다가 가격이 꽤나 나가서 부담스러웠다.

구글맵의 힘을 빌어 더 뒤져보니 근처에 꽤 괜찮은 초밥집이 있어서 여기로 갔다.

 

오오 모듬초밥
전형적인 일본의 초밥집의 모습이다. 흰 모자 말고 두건(?)을 쓴 사람이 이곳의 사장님.
3인분 모듬초밥

3인분 모듬초밥과 단품으로 몇개를 더 주문하려 했었는데, 흰 모자를 쓴 분이 많다고 뭐라 하시는 듯 했다. 그래서 쿠다사이 쿠다사이 이소릴 하니까 결국 내주셨다. 아주 맛있었음. 옆테이블의 중년 부부가 내 초밥을 보며 헤에 스게 잇빠이 어쩌고 했던 것 같은데 이정도는 내 위장의 절반도 못채우지.

 

이 미친 연어알좀 보세요 엉엉
미소된장국이 맛있지는 않은데 그렇다고 초밥집에서 빠질 수는 없는 듯 하다.
옆 자리의 부부가 주문한 우롱하이를 보고 나도 먹어보고자 주문함. 마시썽
하루가 피곤했는지 생맥주 한잔에 우롱하이 한잔 마시고 살짝 알딸딸해졌다. 가격대가 꽤 괜찮은 편 같아보임.
단품으로 주문한 고등어초밥. 3년전 오사카에서 먹은 이후로 처음 ㅠㅠ
정어리초밥. 초절임이 살짝 되어있었다. 생강을 아주 극혐하는 나이지만, 생강이 생각보다도 아주 잘 어울려서 대만족
금태루라고 읽는건가. 여튼 가격은 생각보다 저렴했다. 3인분 모듬, 고등어초밥, 정어리초밥, 생맥주와 우롱하이 해서 4630엔!

초밥을 워낙 좋아하는데 사실 한국에는 꽤 그럴싸하게 맛좋은 초밥을 찾아보기가 힘들다. 맛좋은 초밥은 워낙 비싸기도 하고. 그렇다고 평범한 일식당에 가게 되면 항상 있는 그저 그런 초밥들만 있는데, 일본은 어딜가도 새로운 생선들의 초밥이 있어 좋았다.

주인도 그렇고 가게 분위기도 그렇고 여러모로 전형적인 일본 분위기를 하고 있는터라 아주 만족스러웠던 식당. 이후, 4일차 밤에 또 가게 된다.

 

이 날의 이동거리

반응형
블로그 이미지

김생선

세상의 모든것을 어장관리

,
반응형

준비

우리 부부는 매년 해외여행을 다녀왔었다. 그러다 아이가 생긴 이후에는 서로 번갈아가며 해외여행을 다녀온다. 가령, 19년 초에는 아내와 처제, 장모님을 대만에 보내드렸었고 이번에는 내가 도쿄를 다녀오는 식으로. 다만 생각보다도 여행일정을 급하게 기획한데다가 연말에 가려던 여행이 많이 앞당겨졌는데 이는 개인적인 이유로 이렇게 변경되었을 뿐이다.

 

19년 6월 12일부로 다니던 직장의 퇴사를 앞둘 무렵 아내가 말하길, 이직을 하게 되면 휴가를 길게 내기 쉽지 않을텐데 이참에 여행을 다녀오라고 권해주었었다. 겸사겸사 100만원을 지원해줄테니 가고싶은데를 마음껏 다녀오라는 말 까지. 그렇게, 여행을 약 2주 앞두고 바로 계획을 세웠었다. 일단은 어디로 다녀올까. 이 부분에 대해 고민을 많이 했었다. 일본을 좋아하고 일본여행을 자주 다녀오려는 나의 입장에서는 일본은 덕질과 먹는것, 이 두가지로 크게 구분지을 수 있었다. 거기에 일본음식하면 나에게 있어 초밥이 가장 먼저 떠오르는데 삿포로가 초밥으로 유명한 도시 아니던가. 반면에 도쿄는 내가 가본적도 없고, 덕후의 성지라 불리는 아키하바라까지 있으니 아주 고민이 많이 되었다.

이 선택에는 날씨가 크게 한몫 했는데 여행일정을 선택한 주간에는 비가 계속 내린다는 일기예보가 있었다. 흠, 삿포로는 초밥과 라벤더꽃과 광활한 자연풍경이 아니고서야 볼것이 크게 없는 도시인데. 비가 내리면 건물에서 노닥거릴 수 있는 도쿄가 좋겠구나. 그래 도쿄 낙점. 이렇게 선택된 여행지였다.

 

처음에는 3박 4일 정도를 생각했었으나, 저가 비행기를 알아보다보니 3박 4일보다는 4박 5일이 조금 더 저렴함을 알게 되었다. 거기에 출국/입국 시간까지 고려하면 4박 5일의 비행기표 가격이 1박의 숙박비를 상쇄할 정도로 조건이 좋았다. 그래서, 아내에게 양해를 구하고 4박 5일로 일정을 고려하게 되었다.

 

출퇴근을 하는 시간에도 도쿄에는 무엇이 있는지 알아보며 대략적으로 다섯군데의 스팟(?)을 정해두고 그 스팟안에서 먹을것과 볼것, 쇼핑할 것을 세부적으로 나누는 일..이었으나 사실상 먹는것이 전부인 여행이었다. 일본? 그거 먹으러가는거지 뭐 다른게 있습니까? 안그래요? 그렇게 아래와 같이 대략적으로 정해보았다.

 

아사쿠사, 아키하바라, 신주쿠, 긴자, 사진상에는 없지만 요코하마까지 총 다섯개의 스팟으로 구성된 일정표

숙소인 아사쿠사를 중심으로, 먹고싶은 음식들을 정해 먹을 수 있는 음식 근처의 주요 구를 정해 돌아다니는 방식으로 결정했다. 거기에 도쿄에 이미 다녀온 동생에게 조언을 구하자, 요코하마의 아카렌가 창고가 그렇게나 예쁘다는 이야기를 듣고, 어떻게든 요코하마도 다녀와야겠다는 생각까지 더해져, 기본적인 일정을 수립하게 되었다.

 

퇴사를 마무리하고 약 4일 정도 집에서 아이와 아내와 함께 노닥거리며 짐을 싸기 시작했다. 뭐 사실 짐싸는게 별거 있나. 속옷 5일치와 양말 5일치, 옷 두어벌에 카메라와 렌즈 두 종, 삼각대 정도면 충분하지. 비상약이니 나발이니 그딴게 알게 뭐야. 물론 여권 또한 필수. 지난 일본여행이나 대만여행에서 와이파이 에그의 위력을 경험한데다가 LTE 로밍은 그다지 효과를 못본 입장에서, 가격도 1일당 약 1만원의 고가인점을 고려해서 이번엔 와이파이 에그를 가져갔다.

 

이번 여행의 필수목적은 요약하자면 아래와 같다.

 

1. 아키하바라를 꼭 가보기

2. 라멘을 많이 먹기

3. 초밥을 많이 먹기

4. 요코하마를 가보기

5. 최대한 많은 음식을 맛보기

 

그리고, 나름의 만족을 느끼고 돌아왔다.

반응형
블로그 이미지

김생선

세상의 모든것을 어장관리

,
반응형

make: g++: Command not found

 

npm install을 할 때, 위와 같은 에러가 발생하곤 한다. g++ 인스톨이 필요하다.

해결방법은 yum -y install gcc-g++ 로 설치. root 권한이 필요할 수 있다.

반응형

'어장 Develop' 카테고리의 다른 글

[tomcat] p12 ssl 적용  (0) 2020.06.08
[Linux] Centos Alias 설정  (0) 2020.04.11
[JavaScript] timestamp convert to date type  (1) 2019.03.15
[Intellij] 인텔리제이 - lombok 설치  (0) 2018.09.06
ibatis selectkey 사용  (1) 2018.05.10
블로그 이미지

김생선

세상의 모든것을 어장관리

,
반응형

얼마전 아내가 아기 젖병 및 장난감 소독 용도로 4만원 정도의 자외선 소독기를 구매했다. 25리터의 크기정도 되는 것이었다. 그 물건에 대한 디스가 될 것 같아 구체적인 언급은 하지 않을 예정이다만 가격에 비해 수납용도가 상당히 적어서 직접 만들어보려 했었다. 그래서 알아본 것은 UV LED를 80리터 정도 되는 리빙박스에 설치하는 것. 여기에 시간적 여건이 허락한다면 아두이노를 달아서 타이머 기능까지 구현하려 했었다. 그런데, 많은 문제점을 알게 되었다.

 

1. 분석

위에서 구매한 상품도 그렇고 자작하려던 UV LED도 그렇고. 일단 UV가 무엇인가에 대해서 공부를 하기 시작했었는데 내가 알 지 못했던 많은 부분이 눈에 띄게 되었다. 일단 UV는 크게 세 종류로 구분이 된다.

 

LG 공식 블로그 발췌 ; http://www.lgblog.co.kr/innovation/116197

위에서 보다시피 UV-A, B, C의 세 종류 파장이 존재하며 각각의 파장별로 사용 용도가 현격히 다른 점이었다. 그렇다면, UV-A 파장은 살균력이 전혀 없을까? 답은 그렇다, 였다. 약 2일간에 걸쳐 많은 자료를 찾아보았는데 310nm 파장 이상으로 올라가게 되면 살균력은 거의 미미한 편에 가까웠고, UV-A(405nm 파장)는 살균이라기보다는 박테리아에 존재하는 포피린 물질 분해를 통해 박테리아를 죽이는 작용을 하는, 일종의 간접살균 방식이었다. 반면 UV-C 파장은 세포의 DNA를 파괴해버리는 파장을 가지고 있다.

그래서일까. UV-A 파장의 소독기는 대부분 권장 소독시간이 시간 단위로 책정됨을 알 수 있었으며, UV-C 파장의 소독기는 대부분의 권장시간이 분 단위로 책정이 되어있었다.. 여기서 하나 더, UV는 플라스틱이나 유리, 금속 등 대부분의 물질을 통과하지 못한다는 점. 특수하게 제작된 소재들을 통과할 수 있는데 대표적으로 석영유리가 있다. 석영유리는 다른 유리들과 다르게 90% 이상의 투과율을 보인다는 점. 그렇다면 위의 제품은 더욱 신뢰도가 떨어지는 것 아닐까? UV-A LED를 사용하는데다가 그 LED 앞에 불투명 플라스틱이 있으니까. 여기서부터 저 제품의 신뢰도는 급감하게 되었다.

 

2. 설계

그렇다면 과연 어떻게 만들어야 할까. UV-C LED를 사용해서 만들어볼까? 하는 마음으로 UV-C LED를 구하려 봤지만 판매하는 업체 자체가 극히 적은데다가 칩 하나당 약 4500원의 고가였다. 반면 UV-A LED는 50cm 30구 LED바가 약 5천원, 아 이거 참 비교가 많이 되는구나.

헉 소리가 나오는 UV-C LED

여기저기 구글링을 해보아도 UV-C LED로 자외선 소독기를 만드는 사람들은 극히 드물었다. 아니, 없다고 봐도 무방했다. 그래서 생각을 좀 넓혀보기로 했다. 까짓거, UV Lamp는 어떨까. 그렇게 UV Lamp로 눈을 돌렸다.

 

UV Lamp는 생각보다도 자료가 풍부했는데 UV LED가 개발되기 전 까지 주력으로 사용하던 제품이기에 그런갑다, 싶었다. 램프에도 UV 파장이 제각기 나오긴 하는데 보다 확실하게 UV-C가 체크된 제품으로 골랐다. 여기에 UV Lamp가 사용될 소켓(등기구)까지. 그리고 형광등과 같은 구조로 되어있으니 안정기까지 구매했다. 아, 80리터 리빙박스를 구매하는 건 당연한 것.

 

UV Lamp는 다양한 길이별로 판매가 되고 있는데, 길이별로 사용이 가능한 등기구가 다르니 필요한 길이를 체크하는 것이 중요하다. 나의 경우에는 리빙박스 뚜껑에 부착할 용도(G8T5)로 길게 설계했다.

당연하게도 길이에 따라 소비전력은 달라지고, 등기구도 달라지기 마련이다.

T규격 등기구를 구매할 때의 주의사항은 별도 규격의 전원 케이블이 존재한다는 점이다. 나의 경우에는 스위치가 달린 전선을 같이 구매해서, 전선을 연결해주고 사용하는 중. 이렇게 되면 모든게 끝이다.

 

3. 구매 및 자작

모든 설계(랄 것도 없는)가 끝났으면 제품들을 구매한다. 내가 구매한 제품들은 다음과 같다.

산요 G8T5 UV-C 램프(2개, 개당 4,900원) - https://smartstore.naver.com/sanyo-uv/products/303112026

(안정기 내장 등기구 사용시 필요없음) 산요 자외선 안정기 2등용 (1개, 19,000원) - https://smartstore.naver.com/sanyo-uv/products/663493605

스위치 달린 전원 케이블 (1개, 2,500원) - https://smartstore.naver.com/ilwollighting/products/750912747

(테스트실패) 공대 T5 등기구 (2개, 개당 1,000원) - https://smartstore.naver.com/ilwollighting/products/4598189386

(테스트성공) 시그마 T5 등기구 (2개, 개당 3,500원) - http://item.gmarket.co.kr/detailview/item.asp?goodscode=189656563

에코 리빙박스 80리터 (1개, 18,900원) - https://smartstore.naver.com/n-plastic/products/310682570

구매총합 59,200원 - 테스트용 포함 모든 구매비용

실질총합 38,200원 - 제작하는데 필요한 부품 구매비용

(인건비 980,000원 별도)

 

모든 제품이 도착하자마자 바로 작업하기 시작했다.

산요, UV-C 램프

 

안정기와 스위치, 등기구와 램프를 체결한 후 테스트 샷
등기구와 안정기를 리빙박스에 체결
잘 나옴. 캬캬캬캬

여기까지 사진을 찍어두고나서 테스트로 5분정도 켜놨는데 갑자기 펔 소리가 나더니 탄내가 나기 시작했다. 사실 이 글을 쓰는 지금까지도 정확한 원인을 파악하지 못한 채이다.

하나의 등기구가 완전히 작살났는지 아예 불이 들어오질 않았던 점이 문제였다. 거기에 외부에 노출된 안정기가 좀 불안하기도 하고. 고장난 등기구를 분해해보니 안정기로 추측되는 전자부품들이 잔뜩 있었다. 그리고 일부 부품은 과다 전력 공급으로 부품이 타버렸는지 탄내가 진동했다. 아 이거, 혹시 안정기 내장형 등기구인가 -_-; 하는 마음이 들었다. 그런데 아무리봐도 등기구에는 관련 설명이 존재하지 않는데...? 멘붕이 오던 순간이었다.

 

그래서 안정기 내장형 T5 등기구로 다시 구매를 하고, 안정기를 없앤 채 동작하는 구조로 가져가게 되었다.

 

4. 후기

UV-C 파장은 상당히 위험하다. 200nm 이하 파장에서는 오존을 만들어내네, 피부암 발병원인이네, 직접 보면 눈 시력을 상실하네 어쩌네 하는데 그건 주의를 요하면 되는 부분이라 생각된다. 어차피 앵간한 플라스틱은 투과하지 못하는데다가, 8w 정도로는 1m 거리의 살균력밖에 없으니 크게 무서워 할 것도 없다. 안전하게 스위치를 내리기만 하면 즉시 살균효과가 사라지니까.

 

여기에 안정기의 체결방식에 대해서도 공부하게 되는 계기가 되었다. 뭐 부품좀 하나 날려먹고 합선도 되어보고 해야 하나씩 경험치가 쌓이는 듯. 되먹지못하게 설명서가 난잡해서 회로를 이상하게 체결하기도 했었고, 테스트 한다고 날선을 합선시켜서 차단기도 내려가보는 경험을 이번에 모두 하게 되었다. 어찌보면 안뒤진게 신기하다, 싶을지도.

 

만들어낸 물건에 대한 소독력은 사실 세균을 직접적으로 테스트 할 수는 없으니 확실하게 소독이 완료되었는지는 알아보기가 어렵다. 그래도, 학교나 식당에 있는 컵 소독기와 같은 냄새가 애기 장난감으로부터 솔솔 풍기는데다가 80리터 정도 되는 초대형이다보니 보다 안심하고 편하게 쓸 수 있겠다. 다만, UV 특성상 파장이 닿는 부위에 대해 살균이 되는 원리이므로 5분에 한 번씩 다른 면의 장난감을 노출시키는 방식으로 쓰고 있다. 이는 나중에 리빙박스의 각 면에 반사체를 설치하는 방향으로 고민중인데 아직 거기까진...

 

덕분에 UV 소독기의 원리 및 구조에 대해 알게 되었고, 세상에 물건으로 그럴싸하게 사기치는 사람이 참 많다는 것을 알게 되었다. UV-A는 몇시간? UV-C는 몇분이면 충분하다. 여기에 UV 소독기 관련 물건들의 정확한 스펙을 알아볼 수 있는 기회도 되어 좋았다.

반응형
블로그 이미지

김생선

세상의 모든것을 어장관리

,
반응형

** 아래의 내용은 개인환경설정용으로 기록하며, [윤대근 저, 하이퍼레저 패브릭으로 배우는 블록체인] 서적에서 내용 및 순서를 가져옴을 밝힘.

** 다른 환경설정을 할 경우 책의 내용을 직접 타이핑해야 하는 번거로움과 오타를 수정해야 하는 불편함이 있기에 블로그에 기록하여 공유함.

** 가장먼저 우분투 가상머신 설정이 있는데, 이는 어디에서든 찾아볼 수 있으니 건너뛴다. 추후 직접포스팅 할 예정

 

*** 아래의 방법은 orderer/peer0/peer1 등을 각각의 VM으로 생성하는 방법으로, 컴퓨팅 자원이 상당해야 가능하다.

*** 이에 docker를 이용하여 패브릭을 구동하는 방법을 작성중이다.

 

1. GO Lang 설치

모든 내용은 특별 언급이 없는 경우 root 권한으로 진행한다.

 

# GO 다운로드 및 압축해제

 fabric@Root-Image:~$ sudo -i

 root@Root-Image:~# wget https://storage.googleapis.com/golang/go1.10.4.linux-amd64.tar.gz 

 root@Root-Image:~# tar -xvf go1.10.4.linux-amd64.tar.gz

 

# GOPATH / GOROOT 환경변수 설정

이는 하이퍼레저 패브릭 실행시 꼭 필요한 환경변수임.

 root@Root-Image:~# mkdir /root/gopath

 root@Root-Image:~# gedit /etc/profile

 

# 프로파일 수정(gedit /etc/profile 이후)

열리는 프로파일 최하단에 다음과 같이 입력

 export GOPATH=/root/gopath

 export GOROOT=/root/go

 export PATH=$PATH:$GOROOT/bin

이후 저장 및 종료,

 

# 환경변수 업데이트 및 확인

 root@Root-Image:~# source /etc/profile

설정 완료 후에는 GOPATH/GOROOT가 정상적으로 설정되었는지 확인한다. 정상적으로 디렉토리 이동이 된다면 올바르게 설정된 것.

 root@Root-Image:~#cd $GOPATH

 root@Root-Image:~#/gopath# cd $GOROOT

 root@Root-Image:~#/go#

 

2. pip, git, curl, GNU libtool, tree, openssh-server, net-tools 설치

하이퍼레저 패브릭 설치 및 실행을 위한 기타도구 설치

 root@Root-Image:~#apt-get install python-pip

 root@Root-Image:~#apt-get install git

 root@Root-Image:~#apt-get install curl

 root@Root-Image:~#apt-get install libltdl-dev

 root@Root-Image:~#apt-get install tree

 root@Root-Image:~#apt-get install openssh-server

 root@Root-Image:~#apt-get install net-tools

 

3. docker, docker-compose 설치

하이퍼레저 패브릭 공식문서에서는 도커 17.06.2 버전을 명시하고 있음.

# docker 다운로드 및 테스트

 root@Root-Image:~#wget https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/docker-ce_17.06.2~ce-0~ubuntu_amd64.deb 

 root@Root-Image:~#dpkg -i docker-ce_17.06.2~ce-0~ubuntu_amd64.deb

 root@Root-Image:~#docker run hello-world

 

# docker-compose 설치

 root@Root-Image:~#pip install docker-compose

 root@Root-Image:~#docker-compose --version

* docker-compose version 1.24.1, build 4667896 (이 부분은 설치된 시점의 버전에 따라 다를 수 있음)

 

4. 하이퍼레저 패브릭 설치

# 하이퍼레저 패브릭 git clone

 root@Root-Image:~#mkdir -p $GOPATH/src/github.com/hyperledger

 root@Root-Image:~#cd $GOPATH/src/github.com/hyperledger

 root@Root-Image:~/gopath/src/github.com/hyperledger#git clone -b release-1.3 https://github.com/hyperledger/fabric 

 

* 책에서는 하이퍼레저 패브릭 1.3 버전을 기본으로 설정했으며, 책과 동일한 결과값을 구하기 위해 하이퍼레저 패브릭의 git branch도 동일한 것으로 진행함.

# 하이퍼레저 패브릭 소스 컴파일

 root@Root-Image:~/gopath/src/github.com/hyperledger#cd fabric

 root@Root-Image:~/gopath/src/github.com/hyperledger/fabric#git reset --hard d942308df6302d3510e835bad62f861ad854b4b3

 root@Root-Image:~/gopath/src/github.com/hyperledger/fabric#make

* make 를 하는 과정에 있어 약 15~20분이 소요가 되며, 컴파일이 모두 끝난 후에는 unit-test_1 단계로 진입하게 된다.

* unit-test_1 에서 컴파일 오류가 발생하긴 하는데 재시도를 하면 정상적으로 진행되는 경우도 있다.

* unit-test_1 에서 테스트 단계를 진입하게 되는데, 이 때 ctrl+c를 눌러서 강제종료해도 무방하다.

 

# 하이퍼레저 패브릭 환경변수 설정

 root@Root-Image:~#gedit /etc/profile

* 파일 하단에 다음과 같이 입력 후, 저장 후 종료

 export FABRIC_HOME=/root/gopath/src/github.com/hyperledger/fabric

 export PATH=$PATH:$GOPATH/src/github.com/hyperledger/fabric/.build/bin

* 하이퍼레저 패브릭 환경변수 적용

 root@Root-Image:~# source /etc/profile

* 정상적으로 적용이 된 후에, 다음과 같이 입력하면 용도별 커맨드를 확인 가능함

 root@Root-Image:~#cryptogen

 

#e2e_cli 테스트 실행

* 실습에 들어가기에 앞서, 현재 설치된 하이퍼레저 패브릭 시스템이 정상동작 하는지 확인

 root@Root-Image:~# cd $FABRIC_HOME/examples/e2e_cli

 root@Root-Image:~/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli./network_setup.sh up

* 테스트가 정상동작 하지 않을 수 있다. 이는 peer 서버등에 대해 현재 설정되어있지 않기 때문으로 추측된다.

* 대체 이놈의 책은 이런거 검수 한 번 안하고 출판했는지 이해가 가지 않는다.

* 정상적으로 설치가 되었음을 확신한다면, 다음 단계로 이동하자.

 

# 테스트 디렉토리 생성 및 시스템 기본 설정 파일 경로 지정

 root@Root-Image:~#mkdir /root/testnet

 root@Root-Image:~#cd /root/testnet

 root@Root-Image:~#cp /root/gopath/src/github.com/hyperledger/fabric/sampleconfig/core.yaml /root/testnet/core.yaml

root@Root-Image:~#cp /root/gopath/src/github.com/hyperledger/fabric/sampleconfig/orderer.yaml /root/testnet/orderer.yaml

* 위의 파일들을 모두 옮겨준 후에 다음과 같이 profile을 수정해준다

 root@Root-Image:~#gedit /etc/profile

 export FABRIC_CFG_PATH=/root/testnet

 root@Root-Image:~#source /etc/profile

반응형
블로그 이미지

김생선

세상의 모든것을 어장관리

,
반응형

출력하다보면 겉면이 아주 지저분해지는 것을 볼 수 있다. 일반적으로 겉면이 곡선이라거나 피규어와 같은 형태를 띈 상태에서는 크게 볼 수 없는 현상인데, 사각형의 케이스 같은 경우에는 아주 두드러지게 확인이 가능하다. 아래와 같은 현상 말이다.

 

Cura 4.0 에서 확인한 모습
실 출력 모습

세로로 세워서 출력을 했고, 내부채움 100%에 노즐 굵기는 0.6mm. 이외에는 크게 설정을 건드리지 않았다.

기능상의 문제는 없었으나, 세로로 뽑기 때문에 서포트를 세울 일도 없었고 깔끔하게 나오지 않는 것이 상식적으로 있기 힘든 점. 그래서 좀 더 찾아보았다.

 

다행히도 자주다니는 카페에서는 해당 현상에 대해 북리지라는 사람이 설명을 아주 잘 해놓았다. (깔끔한 벽면글자 출력하기 - 유튜브로 보기)

요약하자면 아래와 같은 설정을 사용하면 된다.

 

 

1. 현상확인

큐라에서 해당 현상에 대해 보자면 다음과 같다.

기본 설정으로 볼 때의 레이어뷰

레이어뷰를 잘 안보는데, 레이어뷰의 활용법을 이번에 깨우치기도 했다. 레이어뷰로 볼 때에는 저런 모양과 같이 표면이 울퉁불퉁하게 표시가 된다. 그럼 무엇이 문제일까. 문제가 된다고 생각되는 부분에 대해 레이어의 높이를 살펴보자.

 

216번째 레이어를 보게 되면, 화면의 중앙과 같은 지점에서 겉면이 시작됨을 알 수 있다.

 

217번째 레이어를 보게 되면, 화면의 하단과 같은 지점에서 겉면이 시작됨을 알 수 있다.

이와 같이 겉면 레이어의 시작점이 일정하지 않기에 생기는 현상으로 유추할 수 있다. 그렇다면, 이에 대한 해결책은 어떠할까?

 

북리지님의 유튜브를 간단히 요약하자면 다음과 같다. 겉면 레이어의 시작점을 일치시킨다. 그럼, 어떻게 일치시킬까?

 

2. Cura 설정

Cura 설정을 살펴보도록 한다. 해당 설명은 Cura 4.0 기준으로 설명하였으나, Cura 3.* 버전에서도 동일하게 설정이 존재한다.

 

위에서 빨간색으로 표시한 네 개의 설정을 모두 활성화 시켜준다. 그럼 다음과 같이 패널에서 확인이 가능하다.

 

여기에서 Z 솔기 X, Z 솔기 Y의 경우에는 Z Seam Alignment 항목을 사용자지정으로 활성화 하는 경우에 표시된다.

해당 항목은 솔기, 즉 Seam의 위치를 사용자가 설정하는 항목으로 X축 40mm, Y축 705mm위치에 Seam을 모아주겠다는 의미가 된다. 이는 출력물의 크기에 따라 변경 가능한 부분이다.

 

솔기 코너 환경 설정의 경우에는 솔기노출, 솔기 숨기기 등이 있는데 내 모델링에서는 크게 퀄리티가 좋아지지 않았다.

 

 

3. 결과

그렇게 적용한 결과, 다음과 같이 품질이 아주 좋아지게 되었다.

 

보다시피 아주 깔끔한 결과를 얻게 되었다. 모서리의 비어버린 부분과 함께 겉표면의 품질까지도 확연하게 좋아진 결과.

 

반응형

'어장 제품리뷰 > 어장 3D 프린터' 카테고리의 다른 글

[Ender-3] 세 달 사용기  (0) 2019.04.07
[엔더3] 2주 사용기  (1) 2019.01.07
블로그 이미지

김생선

세상의 모든것을 어장관리

,
반응형

엔더3를 12월 말 무렵에 구매해서 지금까지 대충 120일 넘게 사용했다. 첫 한달은 진짜 24시간 내내 돌아가다시피 했고, 지금은 필요한 생활용품이나 덕질용품을 출력하는 용도로 사용하기에 1일에 4~5시간 정도 출력하는 수준에 그친다. 사용하면서 있었던 많은 일들과 나름의 노하우를 작성해보고자 한다.

 

1. PLA 필라멘트

필라멘트는 대충 세 회사의 필라멘트를 사용했었다. 가장 많이 쓰는 건 가성비가 좋은 손도리의 PLA+필라멘트이며, 손도리에서 검정색 필라멘트가 품절이기에 타 제조사의 필라멘트를 사용한적이 있었으며, 광빨이 죽여주는 실크 필라멘트를 알리익스프레스에서 구매했었다. NOULEI 라는 회사의 필라멘트는 가격이 상당히 사악한데 비해, 출력물의 품질이 아주 만족스러웠다. 그건 뭐 추후 사진으로.

 

ABS필라멘트는 후가공이 편하다고들 하는데 출력시 유해물질이 나온다는 말을 듣고 아기를 키우는 입장에서 절대 사용할 수 없는 물건이었다. 다른 사람들의 의견을 보아하니, 출력시에 나오는 유해물질로 머리가 아프다는둥 하는 말이 어마어마하다. 허나 PLA같은 경우에는 살짝 단내 비스무리한 냄새가 나는 정도. 분진이 발생한다고 하며, 실제로 챔버에 넣어두고 출력하니 분진이 쌓여가는게 보이긴 하는데 크게 염려될 수준까지는 아닌 것 같다. 그냥 집안의 생활먼지가 쌓이는 수준에 그치는 듯.

 

손도리의 필라멘트는 노즐온두 190~200도 정도에 베드온도 50~60도 정도로 설정하고 사용한다. 리트렉션이니 출력속도니 하는건 기본값만 줘도 출력이 꽤 잘 되는 편. 카페에 들어가보면 와블이네 뭐네 하면서 사람들이 온갖 신경질을 다 내는 현상을 볼 수 있는데 난 그런게 없어서 참 신기하다. 내가 조립을 잘 한건지 뭔지.

간혹 일부 구간에 대해 압출량이 살짝 부족한 경향을 보여주는데 이걸 어떻게 잡아야 할 지에 대해서는 감이 잘 안온다. 뭐 그래도 크게 문제있을 정도는 아니라서 다행.

 

쉽*이 라는 업체의 필라멘트를 두 롤(롤당 1kg)을 구매했었는데 검정색 한 롤을 사용하는 와중에 노즐막힘 문제가 발생했다. 내가 설정을 잘못해준건지 저 업체의 필라멘트가 문제인지는 불명. 덕분에 노즐 교체라는 귀중한 경험을 하게 되었으며, 필라멘트 교환 방법을 바꾸게 된 계기가 되었다.

 

NOULEI의 필라멘트는 진짜 배송비만 무료라면 잔뜩 사다가 사용하고 싶을 정도. 500g 세 롤을 구매했었는데, 각 롤당 9.9달러에 배송비가 약 5달러 정도 부과된다. 1kg롤의 경우에는 배송비 합산 약 26달러 정도 부과된다. 손도리의 금색 PLA를 사용했는데 누리끼리한 똥색이 나와버리고, 은색 PLA는 회색과 크게 다를바 없는 출력물에 실망을 느꼈었는데 NOULEI 필라멘트를 쓰고 암이 나았습니다... 정도. 매끄러운 출력표면을 위해 다림질 옵션을 주고 출력하는데, 이건 다림질 옵션을 주면 오히려 광빨이 죽어버리는 기현상이 발생한다. NOULEI의 다른 필라멘트도 사용해보고 싶을 정도.

 

 

2. 설정

큐라 3.X버전을 쓰다가 얼마전에 4.0 버전으로 업그레이드를 했었다. 크게 변한 건 없어보였는데 모델링 선택/설정등이 조금 손이 많이 가게 변해서 실망함. 기본적인 설정은 크게 건드리지 않는 편이나, 몇가지 설정은 나만의 설정으로 변경해서 사용하는 중. 그래봤자 나만의 설정이라는게 찾아보면 교과서적인 설정이나 다름이 없더라.

 

출력속도 - 60m/s

다림질 - 상황에 따라 다름

쿨링 - 95% (100%를 주면 시끄러움)

서포트 - 지그재그

리트렉션 - 사용함, 가속도나 기타 설정은 안건드림

콤바인모드 - 모두 설정으로 사용. 이 설정을 사용하지 않으면 출력시간이 꽤 많이 늘어난다. 사용하나 안하나 품질에 크게 차이가 없다고 느끼는 중

첫레이어 압출량 - 80%. 100%를 주면 코끼리발 현상이라고 첫 레이어가 조금 넓게 퍼지는 경향이 있는데 z축을 조정하라느니 말이 많아서 귀찮아서 그냥 압출량으로 퉁치는 중

 

 

3. 쿨링 및 챔버

울티메이트 쿨러가 가장 멋지고 부피가 작아서 이걸 출력해서 사용중. 정면에서 볼 때 오른쪽 부분이 살짝 녹아내리는 느낌이 있긴 한데 거슬릴 정도가 아니다. 처음에는 쿨러가 흘러내리는 현상이 있었는데, 새로 출력하면서 볼트를 꽉 조여줬더니 지금은 그런게 없다. 자작 애드온으로 LED바를 설치할 수 있게 모델링해서 LED바를 달고 출력한다.

5015 블로워팬을 두개로 달고 있어서 쿨링 100% 설정을 주면 챔버를 뚫고 나오는 소음을 경험하게 되는데, 95% 정도로 주면 크게 거슬릴 정도는 아니라서 다행이다.

 

챔버는 이케아 테이블 두개를 개조해서 사용하는 중이다. 두개까지 살 필요는 없었던 것 같은데 뭐 가격이 일단 저렴하니까. 각 면에 아크릴로 막아두고 정면과 왼쪽은 경첩을 달아서 문으로 만들었다. 남들은 정면에만 문을 다는데 이러면 필라멘트 삽입이라거나 프린터 손볼때 아주 힘들어진다.

PLA라서 챔버는 크게 필요가 없었으나, 난 소음을 막을 목적으로 만들었다. 가격은 프린터만큼 들다시피 했는데 뭐 크게 불만은 없음. 그리고 프린터의 하단에 설치하는 댐퍼는 무조건 필요하다. 댐퍼가 거시기하면 엔더3 살 때 같이 끼워준 압축스펀지 같은 포장재를 깔아놔도 된다. 프린터가 흔들리면서 내는 소음을 아주많이 잡아준다.

 

챔버를 만들고 출력하면 스마트폰 데시벨측정기 기준으로 약 30~40 데시벨 정도가 잡힌다. 이정도면 괄목할만한 수준.

 

 

4. 부가정보

노즐과 테프론 튜브, M3/M4 볼트와 너트들은 상시구비를 해두는게 좋다. 노즐은 자기가 자주쓰는 노즐 기반. 언제 어떻게 노즐이 막힐 지 모르니까 여분으로 두어개 구비해두면 안심이 된다. 나는 다행히도 사은품으로 껴준 노즐이 있었던 편. 노즐이 막히게 되면 달구고 바늘로 찌르라는둥, 토치로 태워서 필라를 없애라는 둥 말이 많은데 거 400~600원 정도밖에 안하는데 그냥 교체하는게 속편하다. 노즐 교체에 대해서는 추후 자세히 작성할 예정인데, 일단 한계치까지 노즐을 달구고 돌려야 노즐이 분해된다. 안그러면 노즐 속 필라멘트가 굳어있어서 분해가 안된다. 또한, 새 노즐목에 테프론 튜브를 한계치까지 넣어야 한다. 이게 눈으로 보이는게 아니라서 사실, 감으로 하는 수 밖에 없는듯. 노즐목에서 테프론튜브를 분해하는것도 빡센데, 테프론튜브를 노즐목에 삽입하는것도 좀 빡센 작업이긴 하다. 유튜브에서 분해영상 좀 보면 감이 올듯.

 

M3/M4 볼트너트는 엔더3 개조할 때 요긴하게 사용되는 부품들이다. 출력물들을 고정할 때에도 많이 사용되기도 하고.

 

최소한 쿨링개조와 익스트루더 핸들만큼은 개조해주는게 정신건강에 이롭다.

 

필라멘트 교체는 노즐온도를 200도 이상(PLA기준)으로 올리고 익스트루더 핸들을 연 상태에서 필라멘트를 잡아뽑으면 된다. 이 방법 전에는 지가 알아서 삽입되길 기다리며 필라멘트를 잘라내고 익스트루더에 새 필라를 끼웠었는데, 끼우는 것도 일이고 이러다가 엿차 하면 ㅈ되는거다. 그냥 편하게 하자 편하게. 중간에 프린터 pause걸면 되니까.

 

출력물이 아무리 단단하다고는 해도, 출력물의 결 방향은 아주 약하다.

 

이전 글에서부터 누차 강조하는 부분이긴 한데, 자신이 기계치다? 그럼 3D프린터는 안사는게 좋다.

이전 글에서부터 누차 강조하는 부분이긴 한데, 자신이 컴맹이다? 그럼 3D프린터는 안사는게 좋다.

 

 

반응형

'어장 제품리뷰 > 어장 3D 프린터' 카테고리의 다른 글

[Ender-3] 재봉선 설정  (0) 2019.04.26
[엔더3] 2주 사용기  (1) 2019.01.07
블로그 이미지

김생선

세상의 모든것을 어장관리

,
반응형

개발하다보면, 특정 컬럼의 네이밍을 조회하는 경우가 있다. 가령 A 라는 컬럼을 어떤 테이블에서 더 쓰는지. 뭐 이런 경우. Oracle은 all_tab_column인지 all_object를 쓰면 되긴 하는데 mysql은 처음이다. 하지만 간단하다.


1
SELECT * FROM information_schema.columns
cs



이렇게 해주면 된다. 개꿀.

반응형
블로그 이미지

김생선

세상의 모든것을 어장관리

,
반응형

스마트폰이 대중화된지 대충 10여년이 다 되어간다. 그사이에 우리는 수많은 스마트폰을 기기변경해왔고, 집안에는 어느정도 쓸만한. 하지만 실 사용하기에는 살짝 아쉬운 스펙의 스마트폰들이 넘쳐난다. 이번 글에서는 안드로이드 스마트폰 기반으로 IP WebCAM, 그러니까 인터넷에 연결된 CCTV를 설정하는 방법을 알아보도록 한다.


해당 글에서는 안드로이드 스마트폰을 기반으로 소개를 하고 있지만, 어플리케이션을 소개하는 것이 아니라 이 화면을 집 밖에서도 확인할 수 있도록 설정하는 방법을 작성할 예정이니 iOS 또는 그 외 다른 디바이스들도 응용할 수 있다.



1. 어플리케이션 설치 및 설정


요사이는 IP WebCAM 어플리케이션이 참 잘 나온다. 허나 내가 주로 사용하는 어플리케이션은 다음과 같다. 광고가 있긴 하지만 배너광고에 불과하며, 설정도 다양한데다가 스마트폰 카메라 센서들도 활용할 수 있다. 살짝 구식의 UI가 단점일 수 있겠지만 뭐 이건 크게 중요한 부분이 아니다.


https://play.google.com/store/apps/details?id=com.pas.webcam


IP WebCAM 이라는 어플리케이션이다. 이 어플리케이션 하나로 CCTV기능과 웹에서 확인할 수 있는 웹서버 기능까지 모두 다 포함되어있다.


설정은 다양한데, 무엇보다 필수로 해줘야하는 설정은 로그인 설정이다. 항목에서 로그인 설정을 하지 않은 경우에는 외부에서 주소만 알면 누구나 접속이 가능하다. 개인정보가 요사이 이슈가 되는 세상에서, 필수로 해주어야 하는 설정이라고 여겨진다.

"연결설정 - 로컬 브로드캐스팅" 메뉴로 접근하면 위와 같은 화면을 볼 수 있다. 로그인 아이디, 패스워드를 입력하자.



두번째로 HTTP 포트 설정이다. 포트설정은 우리 WIFI에 어떠한 포트로 접속할지에 대한 설정인데, 이걸 해줘야 앞으로 설정하는 부분에서 적용하기가 쉽다. 개인적으로 알아보기 쉬운 포트인 9000번을 입력했다.



여기까지 하면 어플리케이션에 대한 설정은 일단락된다. 가장 하단의 서버 시작을 클릭하게 되면, 아주 손쉽게 송출되는 화면을 볼 수 있다. 확인해야 할 점은 화면의 중앙부, 첨부된 사진에서 왼쪽 중간부분을 보면 흰 글씨로 접속중인 WIFI의 주소가 보인다. 192.168.55.203:9000 이 현재 스마트폰이 접속한 주소이다.



2. PC 및 스마트폰에서 화면 보기


아래의 주소는 현재 운영중인 3D Printer의 출력상태를 보여주는 주소로, 위의 예제와는 조금 다를 수 있다.



여기까지만 설정을 할 경우에는 동일한 WIFI에 접속중인 다른 디바이스에서 화면을 볼 수 있다. 가령, 같은 와이파이에 연결된 PC라거나 스마트폰이라거나. 인터넷 창에서 저 주소를 입력하면 설정할 수 있는 화면이 팝업된다. 물론, 로그인 설정을 한 경우에는 로그인을 해야 한다.




처음으로 볼 부분은 다음과 같다. 영상재생기에서는 브라우저를 선택하고, 오디오재생기는 소리를 듣고 싶은 경우에만 선택하면 된다. 소리는 4초정도의 딜레이를 가지고 있는데 뭐 설명하긴 복잡하고, 크게 의미가 없는 부분이라서 난 쓰지 않는다.

녹화제어 기능은 버튼을 클릭하면 현재 화면을 스마트폰에 저장하고, 인터넷 웹사이트에서 해당 영상을 돌려볼 수 있다. 블랙박스와 같은 기능이라고 볼 수 있다.

나머지 기능은 딱 보면 알 것이니 뭐 패스.




여기서도 설명할 부분은 크게 많지 않다.

확대는 스마트폰이 지원하는 4배줌까지 확대가 된다. 디지털 줌이기 때문에 확대를 할 경우에는 화질저하가 이루어질 수 있다.

스트리밍 품질은 해당 화면의 품질을 말해준다. 100%를 하게 되면 현재 스마트폰이 지원하는 최대화질로 영상을 뿌려주지만, 그만큼 기기가 고성능이어야 하며 무엇보다 인터넷 속도에도 크게 영향을 끼친다. 대충 낮에는 2~30%로 줄여도 크게 불만없는 화질을 보여준다.


기타 항목에서는 오토포커스 유지와 오버레이를 선택해주는 편이다. 오버레이는 현재 영상에 날짜정보와 배터리정보를 표시해준다. 오토포커스는 영상의 포커싱을 맞춰주는 역할을 하는데, 이게 오토포커스 유지가 안된다. 그래서 영상을 볼 때 마다 계속 클릭해주는 편.

전면카메라는 뭐 앞면 카메라를 보여줄지, 뒷면 카메라를 보여줄지 선택하는거고, 움직임 감지/좀더 민감하게 이거는 화면의 영역별로 동작을 감지 한 후 처리하는 과정을 나타내는데 크게 활용도는 없어보인다.


그밖에 나머지 항목은 의미가 없다.



3. 외부에서 볼 수 있도록 Wifi 공유기 설정하기(포트포워딩)


위의 1,2번 항목은 사실 크게 어려운 부분은 아니다. 대부분의 어플리케이션이 지원해주는 기능이기도 하고. 하지만 외부에서 보는 기능, 여기서부터는 조금 어려울 수 있다. 집안의 와이파이에 접속된 주소(정확히는 포트)를 외부에서 볼 수 있게 지원해주는 기술을 "포트포워딩" 이라고 한다.

간단히 기술에 대한 설명을 하자면, 집집마다 공인IP가 할당되고 이 공인IP가 와이파이 공유기(AP)가 가상IP(192.168.***.***)로 변환해서 사용할 수 있게 만들어주는 것이고, 이 가상 IP에 접속된 포트들을 공인IP:포트 형식으로 외부에서 접근이 가능하도록 연결시켜주는 기술이라고 볼 수 있다.

이 설정방법을 알아두면 192.168.***.*** 대역에 붙는 모든 포트들을 외부에서 접근할 수 있도록 만들 수 있다.


아래의 설명은 머큐리 AP를 기준으로 설명하되, IPTime과 같은 공유기도 동일한 기능이 존재하니까 메뉴 좀 뒤져보면 바로 알아차릴 수 있을것이다.

먼저 현재 접속중인 집안의 WIFI 주소를 알아보도록 하자. 윈도우키+C를 누른 후, 해당 창에서 cmd를 입력하여 커맨드 창을 뛰우자. 그리고 ipconfig 명령어를 입력하면, 첨부된 이미지와 같은 결과를 볼 수 있다.



현재 내 컴퓨터의 경우에는 192.168.55.204 주소로 접속을 한 상태이다. 대부분의 공유기는 192.168.***.1과 같은 형식으로 주소를 가져간다. 그러니까, 인터넷창에서 192.168.55.1을 입력하면 공유기 설정화면으로 들어갈 수 있다는 뜻이다.



굳ㅋ 계정과 암호의 경우에는 공유기에 스티커가 붙어져있을것이니까 그걸 보고 접속하자. 나한테 물어봐도 난 모른다.



접속에 성공하게 되면 다음과 같은 화면을 볼 수 있다. WAN 정보의 IP가 해당 공유기에 할당된 공인IP를 의미한다.

왼쪽 메뉴의 NAT-포트포워딩 항목을 클릭하자. 다시 말하지만, 아이피타임과 같은 공유기는 이름이 조금 다를 수 있다.



현재 해당 공유기에 설정된 포트포워딩 목록이다.

로컬 IP 주소가 현재 공유기에 접속한 디바이스의 주소를 의미하며, 설정된 로컬포트를 설정한 포트범위로 뿌려주는 의미를 나타낸다. 무슨말인지 모르겠으면, 그냥 따라하자.


로컬 IP주소는 아까 스마트폰의 CCTV에서 보여진 "왼편의 중앙에 위치한 IP주소"를 적는다. 나의 경우에는 IP 주소가 192.168.55.129였으니까 이걸 입력한다.

프로토콜은 건드리지 말자.

포트범위는 외부에서 접속할 포트들을 의미하는데 넓게 지정해줘봤자 의미 없다. 어떤 숫자를 입력하든 개인의 자유이다.

로컬포트는 어플리케이션에서 설정한 포트를 입력해주면 된다. 나는 CCTV 어플에서 9000을 입력했으니까, 포트범위도 9000을 입력하면 된다.

모두 입력하였으면 추가버튼을 누르면 된다.


정상적으로 설정이 되었다면 이제 LTE 환경에서 접속하면 된다.



4. 외부에서 접속하기


자 이제 외부에서, 회사컴퓨터든 PC방이든 LTE 스마트폰이든 3G 스마트폰이든. 인터넷 창에서 공인아이피와 포트를 입력하면 된다. 그럼 신기하게도 내가 설정한 CCTV를 볼 수 있다.

공인아이피는 3번 항목에서 설명한 "WAN 정보-IP주소"를 의미하며, 포트는 포트포워딩 설정에서 입력한 "포트범위"를 의미한다.

나의 경우에는 1.***.***.***:9000 로 접속을 하면 된다. 

그럼 보여지는 화면과 같이 볼 수 있다.




반응형
블로그 이미지

김생선

세상의 모든것을 어장관리

,
반응형

개발하다보면 해당 페이지의 table의 데이터들을 새로고침 없이 데이터를 붙여쓰는 경우들이 있다. 이는 대부분 리스트로 구성된 페이지에서 확인이 가능한데, 가령 오픈마켓의 주문배송리스트라거나, 뭐 카드사용 내역과 같은 페이지에서 주를 이룬다.

div태그를 쓰던 table태그를 쓰던 아마 과정은 비슷할 것이고, javascript에서 데이터와 html태그들을 어떻게 만들어서 jsp에 붙여주는지에 대한 예제를 작성해보고자 한다.


먼저 JSP에서는 다음과 같이 구성한다. 기본적으로 페이지가 로딩될 때, controller 단에서 modelAndView에서 데이터를 호출, List로 이루어진 객체들을 foreach 로 계속 붙여주는 구조로 되어있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!--결과 리스트-->
<div class="result-area">
  <h2 class="result-tit">거래결과 리스트</h2>
  <ul class="result-list" id="resultList">
      <c:forEach var="resultHistory" items="${resultHistory}" >
      <li class="result-item">
          <p class="result-day">${resultHistory.REG_DATE} <span>${resultHistory.ORDER_TYPE}</span></p>
          <dl class="result-detail">
              <dt>품명</dt>
              <dd>${resultHistory.PRODUCT_TYPE}</dd>
              <dt>금액</dt>
              <dd>${resultHistory.AMOUNT}</dd>
          </dl>
      </li>
      </c:forEach>
  </ul>
</div>
<div class="more-btn-wrap">
  <button type="button" id="btnResultMore">더보기</button>
</div>
cs


modelAndView 에서는 resultHistory라는 네이밍의 List 객체에 데이터들을 담아준다. 그리고 해당 jsp페이지가 호출되면, foreach로 객체들을 돌리면서(?) 각 항목들을 구성하게 된다. 이 때, btnResultMore를 클릭한다고 하자. 그럴 때 해당 페이지를 새로고침 없이, 리스트의 하단에 추가적으로 데이터가 붙는 방식이면 훨씬 보기가 좋을 것이다. 새로고침을 하게 되면 현재 입력되어있는 값들도 저장하지 않는 이상 사라질 것이고, 무엇보다 좀 더 자연스러운 화면을 뿌려줄 수 있을 것이다.


btnResultMore 버튼에 매핑되어있는 javaScript의 펑션을 보자.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var pageNo = 0;
 
//결과 더보기
$("#btnResultMore").on("click"function () {
  $.ajax({
    type:'GET',
    url : '/resultMore.json',
    global : false,
    async : true,
    data : {
      pageNo: pageNo
    },
    success : function(json) {
      $('#resultList').empty();
 
      var html = '';
      pageNo = pageNo+1;
      json.resultList.forEach(function(item, index){
        html = $('<li class="result-item">' +
          '<p class="result-day">'+item.REG_DATE+' <span>'+item.ORDER_TYPE+'</span></p>' +
          '<dl class="result-detail">' +
          '<dt>품명</dt>' +
          '<dd>'+item.PRODUCT_TYPE+'</dd>' +
          '<dt>금액</dt>' +
          '<dd>'+item.AMOUNT+'</dd>');
        $('#resultList').append(html);
      });
    },error:function(json){
 
    }
  });
});
cs


자바스크립트에서는 ajax 호출을 통해, 데이터를 더 가져오기 위한 controller 와 매핑을 시켰다.

정상적으로 쿼리가 이루어지는 경우에는 success flag를 탈 것이고, 이 때부터 로직이 시작된다.


기본적으로 들어있는 row를 날리기 위해, 14번 라인에서는 resultList의 자식들을 모두 비워준다.

그리고 18번 라인에서 가져온 데이터를 기반으로 forEach를 돌리면서, HTML tag를 새로 만들어주는 방식으로 이루어져있다.

위의 jsp와 마찬가지로 같은 구성으로 html과 데이터를 매핑해준 후에, 26번 라인에서 append를 시켜주면 끝.


추가적으로 btnResultMore를 누르게 되면 5개씩 항목을 더 붙여주는 기능을 포함한 것인데, pageNo 변수를 추가하여 이를 쿼리에 응용했다.

기본값은 0으로 처리가 되어서 쿼리에서는 기본 5개, 1일 경우에는 10개를 가져오는 방향으로.


javascript 에서 append와 appendTo의 쓰임새가 확연히 다르다.

$('#a').append(b); 의 경우에는 a에 b를 넣는 것이고, $('#a').appendTo(b);는 b를 a에 넣는것이다.

반응형
블로그 이미지

김생선

세상의 모든것을 어장관리

,