반응형

다이소하면 그냥 그렇고 그런 싼건 싸지만 그렇다고 퀄이 훌륭하거나 그런 느낌이 들지 않는
말 그대로 그냥 잡스러움이 풍기는 브랜드다.

특히나 먹거리는 괜히 비싼 기분이 들고 식기에선 중국 약품 냄새가 나는 묘한 거부감까지 드는건 매장에서 풍기는 독특한 제품 향 때문이 아닌가 싶다.

하지만 요즘 판매되는 다이소 노트는 제대로 만루홈런 감이다.



느낌이 오는가?
사실 한복입은 ㅊㅈ가 들고 있어야 뽀대가 나지만
일단 일상 생활에서 조선 전통 문양을 이용할 수 있게 활용한 디자인에 넢은 점수를 주고 싶다.



보라 이 꼼꼼한 다이소 노트의 마감을
첫장부터 끝장까지 동일한 싸구려 패턴이 아니다.
블록블럭 패턴이 다르단 말이다.
가격? 당연히 다이소 답게 1,000원이다.

다이소 노트 말고도 연필, 책갈피, 테이프까지 전통문양 디자인 시리즈가 다양하니 반드시 구매해보길 권해본다.

어지간한 인사동 중국산들보다 백만배 나으니 외국인들도 많이 애용하게 될지어다.

아 천원짜리 포장도 판매하니 외국 친구 오면 곱게 포장지 사서 같이 선물하면 개이득

반응형
Posted by Hippalus
,

반응형

FieldName

 aaa

 bbb

 ccc

 ddd

 eee

 fff

 ggg

MSSQL에서 이런 테이블을 aaa,bbb,ccc,ddd,eee,fff,ggg 처럼 하나의 필드로 나타내려 할 경우


SELECT 

STUFF((SELECT '^' + FieldName FROM TableName FOR XML PATH('')),1,1,'') 


STUFF와  FOR XML PATH 로간단히 나타낼 수 있다.

이후 Classic ASP 등에선 split 함수를 사용한다면 손쉽게 쿼리 후 배열 저장도 가능하겠다.

arrData = Split(FieldName, "^")

response.write ubound(arrData)

response.write arrData(1)


반응형
Posted by Hippalus
,

반응형

jQuery가 쉽긴 하지만 정확히 인지하고 사용하지 않으면 조금만 응용하려해도 막히는것도 사실이다.

일전에 잠시 다뤘던 배열 컨트롤에 대한 제어를 다시 떠올려보자

대부분 동일한 클래스명을 통해 접근 후 제어를 하게 된다.

이렇게 해당 컨트롤이 위치한 tr에 속한 컨트롤을 접근하듯이


            var row = $(this).closest('tr');

            var objTarget = row.find('.S_IDX');        

            

selectbox의 option을 한번에 날리는 empty() 함수야 

objTarget.empty(); <-- 이렇게 처리하면 잘 동작하지만

선택된 녀석의 text를 찾는등 추가 인자가 들어가는 상황의 함수라면 이야기가 달라진다.


이런식으로 접근해서 text를 얻어오는게 일반적이지만 

$(#selectBox option:selected").text();


배열 컨트롤이므로 위에서 언급한대로 object를 구한 상태에서 접근해야 하므로 objTarget를 통해 아래처럼 접근을 시도해보면 동작하지 않음을 확인할 수 있다. 

$(objTarget option:selected").text(); ???

(objTarget option:selected").text(); ???

objTarget.(option:selected").text(); ???


결론은 이렇게 하면 된다.

$('option:selected', objTarget).text();

반응형
Posted by Hippalus
,

반응형

개발을 하다보면 배열로 컨트롤들을 나열하고 이 컨트롤들을 제어할 필요가 생긴다.

jQuery를 통해 동일한 클래스명으로 처리하면 쉬운데

막상 하려면 조금 난해해진다.

다음과 같이 컨트롤들이 테이블에 나열했다 쳐보자


 선택

값 

<selectbox class="SELECT_BOX" name="SELECT_BOX"> 

<input type="text" class="TEXT_BOX" name="TEXT_BOX">

<selectbox class="SELECT_BOX" name="SELECT_BOX"> 

<input type="text" class="TEXT_BOX" name="TEXT_BOX"> 

 <selectbox class="SELECT_BOX" name="SELECT_BOX">

 <input type="text" class="TEXT_BOX" name="TEXT_BOX">

 <selectbox class="SELECT_BOX" name="SELECT_BOX">

 <input type="text" class="TEXT_BOX" name="TEXT_BOX">

 <selectbox class="SELECT_BOX" name="SELECT_BOX">

 <input type="text" class="TEXT_BOX" name="TEXT_BOX">


하고자 하는 작업은 셀렉트박스를 선택하면 선택된 값을 해당 라인에 위치한 텍스트박스에 넣어주는 작업이다.

이 경우 closest을 사용하면 되겠다.

closest을 사용해 해당 row를 갖고온 후 그 row속에서 접근하고자 하는 컨트롤의 클래스명으로 접근 후

선택된 값을 넣어주면 끝난다.


        $(".SELECT_BOX").change(function(e) {

            e.preventDefault();

        

            var row = $(this).closest('tr'); // 일단 현재 선택한 셀렉트박스가 속한 tr을 찾은 후

            var findControl = row.find('.TEXT_BOX'); // tr에 속한 클래스만 찾아내면 손쉽게 텍스트박스를 발견 할 수 있으며

            findControl.val($(this).val()); // 발견한 텍스트박스에 현재 선택한 셀렉트박스의 값을 넣어주면 끝

        });  


개쉽다.









반응형
Posted by Hippalus
,

반응형

구글이 참 대단한게 컨텐츠를 잘 써먹는다란 점이다.
남들은 기능을 선 제공 후 컨텐츠 활용을 기대하지만
구글의 전략은 180반대 전력이다.

다양한 컨텐츠를 무료로 제공 후 이를 인질삼아 유료장사를 하는 기업

google 검색과 youtube red가 그 대표적

오늘은 유투브 레드의 무료체험 해지 방법을 알아보겠다.

내가 잘못 본게 아니라면 유투브 레드를 무료체험 터치를 한 순간
당신은 유투부 무료 체험기간내 해지하지 않으면 이후 지속적인 과금이 발생한다란 안내를 받을것이다.
설마 정기 구독개념이 그런것인가 아니겠지 싶지만 그래도 안전하게 유투브 무료체험을 해지하는게 좋다.

참고로 니중에 만료일까지 꽉꽉 눌러 채워 쓰고 무료체험 해지하겠다란 유저가 있다면 그러지 말라
유트부 무료체험 시작일 해지를 해도 남은 기간 내내 광고없이 백그라운드 모드와 다운로드까지 모두 이용가능하다.

이제부터 유투브 레드를 해지하는 방법을 알아보겠다.



꽤나 귀찮다 ㅡㅡ

반응형
Posted by Hippalus
,

반응형

어쩌다 웹페이지를 이미지로 저장해달라는 요구가 있다.

그때 유용한 오픈소스들을 활용하면 어렵지 않게 구현이 가능하지만

망할  M$ 익스플로러 때문에 삽질을 해댔다.

참고로 IE10 이상부터 지원한다.

아래 소스는 맥 크롬에서도 테스트 해봤다.


js 첨부파일은 각각 여기서 다운로드도 가능함

https://html2canvas.hertzen.com/

https://github.com/hongru/canvas2image


일단 include시키고

<script src="/js/html2canvas.js"></script>

<script src="/js/canvas2image.js"></script>


버튼 누르면 이미지 저장


$("#SAVE").click(function(e) {

    e.preventDefault();

    

   var canvas ="";

   html2canvas($("#container"), {

       onrendered: function(canvas) {

            //document.getElementById("RESULT").src = canvas.toDataURL();   // 이미지를 보여주고 싶으면 이런식으로 치환해버림 됨

                

            if (canvas.msToBlob) { // 망할 익스플로러 예외처리.. 망해라 M$

                var blob = canvas.msToBlob();

                window.navigator.msSaveBlob(blob, "FILENAME.png");

            } else {

                Canvas2Image.saveAsPNG(canvas, document.body.clientWidth, document.body.clientHeight, "FILENAME");

            }

       }

   });

});



*활용팁

이미지 덤프기능인 이 소스를 적용하였는데 스크롤이 너무 길어서 다 나타나지 않는다면?

사이즈를 키워주고 덤프 뜨면 되겠지.. 이정도는 기본이니 사족급 팁

window.resizeTo(document.body.scrollWidth, document.body.scrollHeight);



* 추가팁

빌어먹을 익스플로러에선 테이블선이 제대로 나타나지 않는다.

이럴땐 오픈소스를 수정해야 한다.

html2canvas.js를 열어 

이 파랑 부분을 widthcontainer.cssInt('border' + side + 'Width'), 

이렇게 width: container.cssFloat('border' + side + 'Width'),

고쳐주면 제대로 보여진다.



반응형
Posted by Hippalus
,

반응형


근 7년만에 다시 가본 과천서울대공원
가을도 되었겠다 날씨도 좋겠다
아이와 함께 손잡고 눈누난나 서울대공원을 가보았지만
농담 안보태고 50%는 공사중이었다
(뻥 좀 보탬)


특정 동물관람만 한두개 못하면 그나마 이해가 가지만
아시아 아프리카관? 해양관처럼 큼지막한 관이 송두리째 폐쇄된 상태라 볼거리가 확 줄어든 상황이다.


상황이 이정도면 서울대공원 측에선 요금이라도 할인을 해주던지 아니면 재방문 티켓이라도 발급해야 함이 맞지 않겠는가?!

서울대공원의 일방적인 운영이 너무 심하다.
서울대공원 입장료 5,000원
큰 금액은 아니지만 관람객들이 손해를 본 건 사실임

반응형
Posted by Hippalus
,