반응형

제닉스 온라인 쇼핑몰에서 장패드와 마우스패드를 세일한다는 소식을 듣고 구매를 했다. 

집에 있는 마우스 패드도 교체하고 싶었고 전부터 장패드도 한번 써보고 싶어서였다. 

그리고 마침 쇼핑몰에 올라온게 레알마드리드 정식 라이센스 제품이었다. 



우선 마우스 패드를 보자. 

포장이 약간 구겨지긴 했지만 그래도 매우 만족스러웠다. 현재 판매중인 5개의 마우스패드의 그림이 겉면에 있고 실제 제품이 어떤건지 알려주기 위해 동그라미가 그려져 있다. 나는 당연히 호날두 형 마우스 패드를 샀다. 레알마드리드는 당연히 호날두지.




정식 라이센스 제품답게 Official Product 라고 큼지막하게 써있다. 상단에도 있고 아래쪽에는 컬러가 입혀져서 써있다. 그리고 중간 구멍으로는 실제로 패드에 새겨져 있는 레알마드리드 로고가 살짝 보인다. 포장도 제법 신경을 많이 쓴것 같다. 


이제 오픈 해보면 아래와 같이 생겼다. 





마우스 패드에 새겨져 있는 늠름한 호날두형 모습이 보기만 해도 뿌듯하다. 색깔도 전혀 촌스럽지 않고 허접하지도 않다. 그리고 Ronaldo 란 이름고 등번호 7번 그리고 레알마드리드 앰블럼이 멋지게 새겨져 있다.






마우스를 올려놔봤다. 그러고보니 지금 쓰고있는 키보드, 마우스 전부다 제닉스 제품을 쓰고있다. 의도하지는 않았지만 제품들이 괜찮아서 구입을 하게 된것 같다. 마우스를 움직여 보니 감촉도 좋고 마우스 포인터가 갑자기 벗어나는 일도 없다. 전에 쓰던 마우스 패드는 갑자기 빛이 새나가서 마우스 포인터가 이상한곳에 나타나는 현상이 있었다. 


  


이제 장패드를 살펴보자. 장패드 케이스도 마우스 패드와 마찮가지로 상당히 신경쓴 모습이다. 포장부터 고급스러운 느낌이 든다. 그리고 위에 마우스 패드 포장처럼 중간에 구멍이 뚤려있어서 실제 제품을 만져볼 수 있다. 이 케이스에도 역시 레알마드리드 엠블럼이 새겨져 있다.




실제 장패드 모습이다. 이걸 살때 바르셀로나를 사야 하나 레알마드리드를 사야하나 고민하게 했던게 색깔 때문이었다. 너무 하얗지는 않을까 하는 걱정때문에 고민을 하긴 했지만 그래도 바르셀로나를 살수는 없기 때문에 레알마드리드를 샀다. 결과는 대 만족이었다. 너무 밝으면 때가 잘 타지 않을까 생각했었는데 의외로 때가 잘 안탈것 같은 모습을 하고 있다. 너무 밝지도 않고 어둡지도 않고 딱 적당한 색이다. 중간중간 어두운 음영이 섞여 있기 때문에 때가 타도 별로 티도 안날것 같다.



고급스럽게 새겨진 레알마드리드 앰블럼과 글짜가 정말 마음에 든다. 


키보드와 마우스를 올려놓고 찍고 싶긴 했지만 찍지는 못했고 현재 장패드는 회사에서, 마우스패드는 집에서 잘 쓰고 있다. 


구매할때 제닉스 온라인 쇼핑몰 신규 가입 포인트와 무료 배송 쿠폰을 받아서 정말 좋은 제품을 저렴하게 샀다. 


728x90
반응형

'P's Life' 카테고리의 다른 글

다시 찾은 즐거움.  (0) 2017.04.25
나도 이제 플스 유저랍니다!!!  (0) 2017.04.23
드디어 애드센스 승인을 받았다!!  (3) 2017.04.05
좋은 글쓰기란??  (3) 2017.03.20
2017년을 맞이하는 자세.?  (0) 2017.01.03
반응형

오늘 드디어 Google AdSense 로 부터 가입 승인 메일을 받았다.


계정 신청한지 시간이 꽤 지나서 이번에도 콘텐츠 불충분으로 거절당할거라 생각을 했었다. 그냥 마음을 비우고 있었는데 아주아주 운이 좋게 승인을 받았다. 축하 메일은 간단하다. 아래와 같이 연결 되었다고 몇마디 써있고 끝. 바로 지난주에 회사에서 현재 진행중인 프로젝트의 UX 검증을 받고 난 후여서 그런지 메일 디자인이 그닥 맘에 들지는 않는다. 하지만 Google 디자인이 심플한것이 이것 뿐만은 아니니깐 충분히 이해한다. 



블로그에 애드센스 넣을려고 인터넷 찾아 보면서 가입축하 메일을 보기는 했는데 내가 직접 받아볼수 있을줄은 몰랐다. 핸드폰으로 메일 왔다고 push가 왔는데 보낸 사람에 adsense-noreply가 보였다. 



애드센스 축하합니다 라는 문구가 안보였다면 이번 신청도 거절당했구나라고 생각했을거다. 아무 기대도 없이 그냥 컴퓨터를 하고 있는 이 순간 로또 까지는 아니더라도 뭔가 득템한 듯한 기분이 든다. 



지난 2월부터 수차례 나의 신청을 무참히도 거절했던 Google AdSense 가 드디어 나를 받아줬다. 이게 무슨 데이트 신청 한후 허락받은것처럼 설레는것은 왜인것인지 모르겠다. 


내가 지금 쓰고 있는 블로그의 질을 좀더 높여보자는 생각을 하면서 진행했던 것인데 드디어 좋은 결과를 얻은것 같다. 아니 이제 시작이라고 하는게 맞는듯 하다. 그동안 Adsense 승인때문에 카테고리 항목을 일부 스크립트 처리해서 막아놨었는데 하나 둘씩 풀어야겠다. 그냥 다 푸는것보다는 기존 글들을 좀더 수정해서 공개하는게 더 좋을것 같다. 


블로그에 글을쓴지 좀 된것 같아서 글을 하나 올려야겠다라고 생각하고 있었는데 글 주제가 AdSense 가입 축하 글이 될지는 꿈에도 상상을 못했다. 


이제 블로그를 좀더 살려보자.


-------------------------------------------


광고를 달았는데 광고가 안나와서 확인해 보니 내가 카테고리 숨기는 것때문에 삽입한 스크립트가 문제였다. 그래서 일단 스크립트 삭제했다. 그래서 현재는 모든 카테고리가 오픈 상태이다.

728x90
반응형

'P's Life' 카테고리의 다른 글

나도 이제 플스 유저랍니다!!!  (0) 2017.04.23
게이밍 장패드와 게이밍 마우스 패드  (0) 2017.04.06
좋은 글쓰기란??  (3) 2017.03.20
2017년을 맞이하는 자세.?  (0) 2017.01.03
STORMX M1 마우스  (0) 2015.11.14
반응형

  아침 출근길에 지하철이나 버스안에서 시간을 보낼 때에 "코딩하며 글쓰기" 라는 강의를 들으며 하루를 시작한다.

  아직 다 들어 보지는 않았지만 강의를 들으면서 느끼는 점이 많아 몇글자 적어본다. 


많이 읽어라. 많이 써라. 많이 생각해라.


  책을 많이 읽으면 어휘력이나 상상력이 풍부해져서 글쓰기에 많은 도움이 된다. 책을 통해서 우리는 직접 체험해 볼 수 없는 다양하고 무궁무진한 일들을 간접 경험하고 배우게 된다. 그리고 그런 경험들을 통해 글쓰기의 영역도 넓힐 수 있다. 어떻게 보면 당연한 일인데 생각만큼 실천이 쉽지가 않다. 책 선정 과정에서 부터 어떤 책을 읽어야 할까, 시간이 날때마다 과연 틈틈이 읽을 수 있을까, 고민하고 망설이다 보면 결국 책읽기는 뒷전으로 밀리기 쉽상이다. 


  글을 쓴느 과정은 생각보다 꽤 복잡한 정보처리 과정이다. 내 머리속에 복잡 다양한 생각들의 조각을 주제에 맞게 표현하는 고난도의 방법이다. 머리속에 담긴 단편적일 수도 있고, 듬성듬성 정보가 빠져 있을 수 도, 완벽한 문장으로 이루어지지 않을 수도 있는 생각들을 글로 표현한다는 것은 결코 쉬운일이 아니다. 그렇기 때문에 많은 연습이 필요하다. 


  최근 SNS가 발달하면서 많은 사람들이 짧은 멘션을 통해서 글쓰기 연습을 하고 있다는 착각을 할지도 모른다. 하지만 그것과 글쓰기는 성격이 다르다고 생각된다. SNS에 올라오는 글들은 즉흥적이고 감정적인 글들이 많다. 깊이 생각하여 쓴 글이다기 보다는 순간의 느낌과 감정을 담은 글들이 많은 비중을 차지한다. 그래서 생각을 정리해서 표현하는 글과는 차이가 있다고 생각한다. 


  또 글을 쓸 때에는 많은 사고를 필요로 한다. 학교 다닐때 국어시간에 배웠던 글쓰기 절차를 생각해보면 정확하지는 않지만 처음에 글감을 모으고, 그것의 연관성을 생각해보고, 글을 쓰고, 퇴고를 한다. 하지만 요즘은 글을 쓸 때에 일단 키보드 위에 손부터 올려놓는다. 그리고 쓰기 시작한다. 한번 쓴 글은 잘 수정을 하지 않는다. 이렇다 보니 내가 쓴 글이 무슨 말을 하고 싶은건지 어떤게 잘못됐는지 도무지 알 수가 없다. 나 역시 블로그를 하고 있지만 전에 내가 쓴 글을 다시 찾아서 본 적이 거의 없다. 최근들어 다시 예전 글들을 읽어보았는데 글 수준이 다시보기 창피할 수준이다. 글쓰기 절차가 괜히 있는게 아니다. 그리고 여러번 퇴고를 해야 한다는 가르침은 정말 틀린말이 아니다. 




내가 아닌 이 글을 읽는 사람이 이해하기 쉽게 글을 써라.


  위에서도 말했지만 글은 내 생각을 남에게 전달하는 표현의 한 방법이다. 그렇기 때문에 글을 읽는 사람이 쉽게 이해할 수 있어야 한다. 하지만 글을 쓸때 정말 망각하기 쉬운것 같다. 나 또한 글을 쓸때 내가 무엇을 했고, 내가 어떻게 했으며, 내가, 내가, 내가. 무조건 내가 중심이다. 그러다 보니 글이 이해하기 어려워진다. 항상 아무것도 모르는 사람이 내 글을 읽고 이해를 할 수 있어야 한다는 생각을 머릿속에 새겨두고 글을 써야 한다. 

코딩을 하면서 모르는 것이 있으면 검색을 해서 찾는 경우가 많다. 그러면 수많은 글들이 나오는데 그중에서 어떤 글들은 내가 모르는 부분을 알기 쉽게 표현을 해 놓은 글들이 있는가 하면 어떤 글들은 정말 모르겠다라는 생각이 드는 글들이 있다. 이 차이가 바로 글을 쓸때 누구에게 초점을 두느냐의 차이인것 같다. 


  최근에 블로그에 구글 애드센스를 달아보려고 시작 하면서 내 블로그의 글들에 대해서 살펴볼 기회가 생겼다. 그러다 보니 내가 쓴 글이 정말 부족하구나 라는 생각이 들게 되었고 이런 강의도 찾아서 듣게 되었다. 학교 다닐때는 그래도 나름 글을 잘 쓴다고 생각했었는데 성인이 된 지금에 와서는 오히려 퇴화를 해서 형편없는 글들을 쓰고 있다. 그래서 지금이라도 나의 글쓰기를 좀 바꿔보려 한다. 조금씩 생각하고 바꿔나가 보면 이 블로그에 써진 글들이 점점 다듬어 질거라는 생각이 든다. 

728x90
반응형

'P's Life' 카테고리의 다른 글

게이밍 장패드와 게이밍 마우스 패드  (0) 2017.04.06
드디어 애드센스 승인을 받았다!!  (3) 2017.04.05
2017년을 맞이하는 자세.?  (0) 2017.01.03
STORMX M1 마우스  (0) 2015.11.14
맥북 하드 교체!!!  (0) 2015.11.14
반응형



  예전에는 그냥 JAVA 기반에 eclipse 설정만 하고 코딩만 했었다. 주변 환경에 대해서는 거의 신경을 안썼고 별로 관심도 없었다. 그런데 점점 프로젝트를 하면서 개발 환경 구성하는 작업들을 볼 기회가 많아졌다. 그리고 내가 직접 구성하거나 환경 설정을 해야 하는 일도 자주 생기게 되었다. 그러다 보니 자연 스럽게 리눅스에 대한 관심이 가게 되었다. 항상 사용할때마다 구글에서 검색해서 명령어 정도만 찾아보고 뭔가 기억해야 겠다는 생각은 해본적이 없었다. 그때그때 찾아 쓰면 되지 라는 생각이 컸다. 


  올해 초에 이 책이 나온 것을 알고 살가 말까 고민 하고 있던 시기에 한빛리더스 14기에 선정이 되었고 첫번재 미션으로 받은 도서 목록에 이 책이 있었다. 그래서 미션 도서 선정 때 아무런 망설임이 없이 이 책을 선택했다.


  이 책에서는 VMware를 사용해서 일반 호스트 PC에 4개의 게스트 OS를 구성해서 실습을 진행하고 있다. 게스트OS로는 리눅스 서버 2대, 리눅스 클라이언트 1대, 윈도우 클라이언트 1대로 구성되어있다. VMware를 사용한 이유는 책에서도 언급이 되어있지만 집에서 사용하는 1대의 PC에서 window가 아닌 다른 운영체제를 구성하는 부분에 대한 부담을 덜기 위함이다. 


  우분투 리눅스에 대한 설명을 하면서 중간중간 일반적인 하드웨어, 네트워크에 대한 내용들도 나와 있어서 전반적인 서버 구성 및 네트워크 구성에 대한 지식도 쌓을 수 있다. 책을 보면서 실습 하는 것도 중요하지만 이런 배경이 되는 기초지식에 대한 이해도 중요하다고 생각하는 나로써는 책의 내용이 정말 만족스러웠다. 

 

 

  각각의 챕터 앞부분에는 학습목표와 진행 방향이 간단히 요약 정리되어 있어서 이번 챕터에서는 무엇을 공부하고 무엇을 알아야 하는구나 라는 것을 알 수 있다. 



 


  또 설명을 하면서 캡쳐 화면이 많아서 실습 하는데에 도움이 많이 된다. 실제 PPT를 보는 듯한 느낌의 화면과 상세한 설명, 주석으로 내용을 이해하는데 어렵지 않았다. 위에 그림처럼 캡쳐 화면에서 화살표 표시는 실습하는데 헷갈리지 않고 차례차례 진행하는데 도움이 되었다. 그리고 꼭 알아야 되는 부분에 중요 표시를 해둬서 나처럼 처음 공부하는 사람들이 어떤 부분이 핵심이고 아닌지를 잘 판단할 수 있다. 


  그리고 마지막으로 중요한 점은 유투브 동영상 강의가 있다는 점이다. 솔직히 책 두께로 봐서는 들고다니면서 읽기는 불가능 하다. 하지만 그것을 대신해서 유투브 강의가 제공되니 이동시에는 강의를 시청하고 책과 병행 하면서 예습, 복습을 한다면 더 효과적으로 이해를 할수 있다. 


  책 두께에서 오는 포스처럼 약간 바이블 같은 느낌이 나는 학습 책이지만 그만큼 그 역할을 충실히 하고 있는 책이 아닌가 생각이 된다. 그만큼 저자 분이 책 내용에 세심한 노력을 기울였다는 생각이 책 곳곳에 보인다. 한가지 분야에 대한 책을 고를때 상당히 고민을 많이 하는 편인데 이번에 정말 좋은 책을 잘 읽었다는 생각이 들었다. 


상세보기


728x90
반응형
반응형


책 제목이 특이해서 한번 읽어보고 싶었는데 한빛미디어 리뷰어로 선정되어 책을 받게 되었다. 


우선 책 제목부터 특이했다. 헤밍웨이가 자바스크립트로 코딩을 한다고?? 왜?? 어떻게??

다소 엉뚱한 상상이다. 책 내용이야 어찌됐던 이런 상상을 했다는것 자체가... 그저 "세상에는 이런 생각을 하는 사람도 있구나.."라는 감탄을 할 정도이다. 


책에서는 하나의 알고리즘을 제시하고 이 알고리즘을 헤밍웨이가, 또는 코난 도일이 구현을 했다면 이런 형태일 거다라는 이야기를 하고 있다. 각각의 코드에서는 작가들이 쓴 작품에 나와있는 특징들이 그대로 녹아들어가기 때문에 같은 알고리즘이더라도 다양한 형태가 나온다. 작가의 성격, 취향, 작품에서 나타나는 서체등등..


내용에서 볼 수 있듯이 이 책은 자바스크립트를 공부하기 위한 기술적인 책이 아니다. 

오히려 작가별로 특징과 성향을 정리해놓은 인물 사전 같은 느낌이다. 


우리나라에서 작년에 한참 유행했던 인문학과 IT 의 만남을 아주 잘 표현한 책이라고 생각해면 될것 같다. 


내용과 발상에 대한 참신함은 의심할것이 없지만 아쉬운점도 있다. 


작가들이 너무 많이 나오다 보니 내가 알고 있는 작가들에 대해서는 어느정도 공감이 가지만 들어보지도 못한 작가에 대해서는 공감을 얻기가 힘들었다. 문학 작품을 읽으면서 작가의 성향이나 문체등을 고려하고 읽은것은 학교다닐대 국어시간에 교과서에 나온 작가 이외에는 없기때문에 더 어려웠던것 같다. 책 저자 자체가 외국인이니 더 그런것 같다. 


그래서 만약 이 책에 나온 작가들이 외국 작가가 아닌 국내 인물들.. 특히 예전에 국어나 문학 교과서에 나왔던 인물이었다면 나에게는 더 이해가 쉬웠을것 같다. 


만약 헤밍웨이가 자바스크립트로 코딩한다면
국내도서
저자 : 앵거스 크롤 / 김나솔역
출판 : 한빛미디어 2016.11.01
상세보기


728x90
반응형
반응형

요즘 지후가 공룡에 관심을 갖고 있어서 

올해 새로 나온 레고인 공룡을 마트에 갔다 구매해봤다. 


 


크리에이터 상품 답게 3가지 종류의 공룡을 만들 수 있어서 나름 알찬 구성이었다. 



그래서 설명서도 이렇게 3개가 나눠져서 들어있다. 

한권으로 나왔으면 제법 두꺼웠을것 같다. 


 


몸통부분을 완성한 모습이다. 

몸통과 팔, 양쪽 다리와 발, 그리고 꼬리로 구성이 되어있다. 

다 연결을 해 놓으니 모습이 공룡이다기 보다는 도마뱀 같은 느낌이다. (파충류라서 비슷한건가..)



 


얼굴은 날카로운 이빨과 함께 멋진 퀄리티를 보여준다. 

입도 닫아다가 벌릴수 있어서 가지고 놀기에도 좋다. 



머리까지 연결한 모습..

역시나 아직까지는 도마뱀 같다 -_-;;

그냥 도마뱀이라고 해도 믿을듯..



하지만 이렇게 제대로 새워놓고 보니 멋진 공룡의 모습을 보여준다.

어설플줄 알았는데 균형감각도 좋고 잘 서있는데.

개인적으로는 손이 좀 아쉽긴 하다...

발과 얼굴과 꼬리에 비해서 좀 빈약하다고나 할까..



어흥~~



간만에 산 레고였는데 만족도가 높은 제품이다.

다음에는 다른 공룡을 만들어 봐야겠다. 



728x90
반응형

'Enjoy Life > Lego' 카테고리의 다른 글

[70911]레고 펭귄맨의 아틱롤러  (0) 2017.10.12
[10247]레고 크리에이터 대관람차  (0) 2017.09.16
[40125]레고 산타의 방문  (0) 2016.10.25
[40153]레고 생일케익  (0) 2016.05.11
[40155]돼지 저금통  (0) 2016.05.01
반응형

올해 드디어 셜록 시즌4가 방영을 했다. 

하지만 아쉽게도 난 한주씩 늦게 보는바람에 다 보는게 한주정도 늦어졌다. 

이유는 지상파 방송의 더빙때문에..

전시즌에서도 처음 지상파 방송할때 봤었는데 더빙 한것을 보고 있자니 몰입도 안되고 재미도 없었다. 

그래서 이번에는 처음부터 자막방송을 하려나? 하고 기다려봤으나 더빙인것을 보자마자 TV를 껐다. 

다행히 한주뒤에 해주는 재방송에서는 자막방송으로 나와서 재미있게 볼수 있었다. 


The Six Thatcher (여섯개의 대처상)

The Lying Detective (병상의 탐정)

The Final Problem (마지막 문제)


총 3개의 에피소드로 구성이 되었다. 


첫번째 이야기에서 가장 큰 사건은 메리 왓슨의 죽음 이었다. 


셜록홈즈 소설인 "네사람의 서명" 에서 왓슨은 분명 결혼을 한다. 하지만 드라마에서 나온 메리라는 인물과는 전혀 다르다. 

드라마에서 나오는 메리 왓슨은 전직 킬러??? 라고 표현을 해야 하나??? 어쨌든 평범한 여자는 아니다. 

그런 메리의 과거에 같이 일을 했던 사람이 메리에게 복수를 하기위에 나타나고 

일을 마무리 짓는 도중 홈즈의 자만심에 의해 메리가 죽게 된다. 

정확히 말하자면 홈즈를 구하다가 메리가 대신 죽게된다.

그장면에서 나는 홈즈가 멋지게 예상을해서 죽음을 피할줄 알았는데 그게 아니어서 약간 놀랬다. 

왜냐하면 메리왓슨은 셜록의 단짝인 왓슨과는 다른 인물이지만 사건에 개입을 하며 홈즈에게 도움을 주는 인물이었기 때문에 죽을것이라는 예상을 하지 못했다.


이 사건으로 인해서 왓슨은 홈즈를 원망하게 된다. 그리고 자연스럽게 둘 사이는 멀어진다. 


두번째 이야기는 홈즈와 왓슨의 관계가 회복되는 이야기 이다. 


두사람의 관계가 악화된 상황에서 홈즈는 자신의 몸을 혹사시키며 가장 큰 범죄자를 잡기 위해서 사건에 몰두한다. 

그 범죄자는 사회적으로 아주 유명하고 명성이 높은 사람이지만 실제의 정체는 범죄자인 사람이다. (뭔가 현실사회같다..)

이 치밀한 범죄자를 잡기위한 단서를 확보하기 위해서 홈즈는 위험을 무릅쓴다. 

그리고 그 상황에서 왓슨이 홈즈를 돕게 되면서 둘 사이의 관계는 회복된다.

약간은 여담이지만,

어느 영화에서나 그렇지만 악당들이 자신들의 상황이 너무 유리하다 싶으면 자기가 한일들을 술술 불어버린다. 그런 비슷한 장면이 이번 화에 나온다. 그리고 그 모든 말들을 녹음을 해서 범죄자를 궁지로 몰아 넣는다. 


여기까지는 참 좋았다... 정말 좋았다. 

사건과 연결되서 홈즈가 왓슨과의 관계를 풀기 위한 갈등과 고뇌.. 정말 좋았다.


그런데... 갑자기 홈즈의 여동생이 등장한다. -_-;;;


원래 소설 원작에서는 분명 들어보지도 못한 홈즈의 여자 형제라니.. 그것도 정말 사기캐릭터로...

셜록이나 마이크로프트도 머리가 좋은 사람인데 이 둘도 씹어먹을정도의 사기캐릭터다. 거기다가 모리아티까지 이용해먹을줄 아는..

거의 전지전능이다...


내용은 셜록홈즈 회상록에 나오는 "머스그레이브가의 의식문"을 약~~간 섞은 듯한 느낌인데..

모든 장면에서 상징과 비유가 난무한다. 

그리고 동생의 능력치가 너무 월등해서 셜록이 초라해 보일정도 였다. 

아마도 전시즌 마지막에서 모리어티를 등장시키긴 했는데 다시 살리자니 이상할것 같고 이야기는 풀어야겠고.. 해서 이런 다소 억지스러운 전개가 이뤄지지 않았나 생각이 든다. 


다음 시즌이 나온다면 또 기대를 하고 보겠지만... 

전체적으로 이번 시즌은 많은 아쉬움이 남는 시즌이었다. 


728x90
반응형
반응형

React 에서 사용하는 map() 메소드는 파라미터를 전달하여 새로운 배열을 생성한다. 


최근에 본 자바의 Stream 에서 map 의 기능하고 비슷해보인다. 아니 아마도 java가 functional 프로그래밍을 지원하려고 하면서 비슷하게 구현해놓은것 같다. 


아래와 같은 contractData 라는 state를 저장해 놓는다. 


1
2
3
4
5
6
7
8
9
10
11
12
    constructor(props){
        super(props);
 
        this.state={
            contactData:[
                {name:"Abet", phone:"010-0000-0001"},
                {name:"Betty", phone:"010-0000-0002"},
                {name:"Charlie", phone:"010-0000-0003"},
                {name:"David", phone:"010-0000-0004"}
            ]
        };
    }
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
render(){
        return(
            <div>
                <h1>Contacts</h1>
                <ul>
                    {/*
                    <ContactInfo name="Abet" phone="010-0000-0001"/>
                    <ContactInfo name="Betty" phone="010-0000-0002"/>
                    <ContactInfo name="Charlie" phone="010-0000-0003"/>
                    <ContactInfo name="David" phone="010-0000-0004"/>
                    */}
                    {this.state.contactData.map((contact, i) => {
                        return (
                            <ContactInfo name={contact.name} phone={contact.phone} key={i} />
                        );
 
                    })}
                </ul>
            </div>
        );
    }
cs


위 코드에서 주석을 친 부분은 map() 메소드를 사용하기 전의 코드이다. 


그 아래 부분이 위에서 정의한 state를 사용해서 가져오는 부분이다.


최근에 자바에서 사용하는 stream 관련된 내용을 봐서 그런지 그렇게 낯설지는 않다. 실제로 짤수 있을지는 잘 모르겠지만...


말 그대로 contactData 있는 내용을 contact로 하나씩 받아서 contractInfo의 내용을 채워 넣고 있다. 



출처 : https://velopert.com/957


728x90
반응형

'Development > Frontend skills' 카테고리의 다른 글

[npm] 왠지 자주 쓸것 같은 npm 명령어  (0) 2018.04.17
npm install --save --save-dev  (0) 2017.05.30
React 에서 props 사용  (0) 2017.01.09
React.. 끄적끄적.  (0) 2017.01.09
Mac 에서 Node.js 설치  (0) 2017.01.05
반응형

props 는 컴포넌트에서 사용할 데이터중 변하지 않는 데이터를 다룰때 사용한다. 


Parent 컴포넌트에서 child 컴포넌트로 데이터를 전달할 때 props를 사용한다. 


컴포넌트의 render() 메소드 내부에 {this.props.propsName} 형태로 넣고 컴포넌트에서 사용할 때에는 <> 안에 propsName='value' 형태로 값을 설정 한다. 


- render() 메소드 내부


1
2
3
4
5
6
7
8
9
10
11
12
13
class App extends React.Component {
    render(){
 
        let text = "Hello HI";
 
        return (
            <div>
                <Header title={this.props.headerTitle}/>
                <Content title={this.props.contentTitle} body={this.props.contentBody}/>
            </div>
        );
    }
}
cs


- 컴포넌트


1
2
3
4
ReactDOM.render(<App headerTitle="Welcome"
                    contentTitle="Stranger"
                    contentBody="welcome to ex App"/>
                    , rootElement);
cs



- Default 값 사용시에는 App 내부에 className.defaultProps={propsName:value} 로 설정해주면 된다. 


1
2
3
4
5
6
App.defaultProps={
    headerTitle:'Default header',
    contentTitle: 'Default contentTitle',
    contentBody: 'Default contentBody'
};
 
cs


- propType 지정


1
2
3
4
Content.propType={
    title: React.PropTypes.string,
    body: React.PropTypes.string.isRequired
};
cs


title 과 body 를 모두 string으로 지정하고 body 는 필수로 설정한다. 필수 지정일경우 값이 없으면 오류가 난다.




<이 문서에 작성된 소스는 https://velopert.com 에 게시된 소스 입니다. >


----------------------------------------------------------------------------------------------------------------


추가.


React 에서는 단방향 흐름을 강조하는 것 같다. 그래서 props는 상위 컴포넌트에서 하위 컴포넌트로 전달되는 데이터이며, 또한 이것을 하위 컴포넌트에서 변경되는것은 권장하지 않는것 같다...



728x90
반응형

'Development > Frontend skills' 카테고리의 다른 글

npm install --save --save-dev  (0) 2017.05.30
map() 메소드 사용  (0) 2017.01.16
React.. 끄적끄적.  (0) 2017.01.09
Mac 에서 Node.js 설치  (0) 2017.01.05
jquery radio button 속성 설정  (0) 2013.09.04

+ Recent posts