티스토리

Readiz - Read easy
검색하기

블로그 홈

Readiz - Read easy

blog.readiz.com/m

Read everything in the world easily. http://readiz.com/

구독자
3
방명록 방문하기
공지 마음의 평화가 왔다 모두보기

주요 글 목록

  • [Javascript] function호출(apply, call) 및 scope에 관하여 Javascript function 및 scope에 관하여 Javascript의 function은 특이합니다. 함수 자체가 객체가 됩니다. 이 말인 즉슨, 아래처럼 함수를 생성하면 자동으로 객체가 된다는 것인데요, 다음처럼 한번 디버깅 툴에서 입력을 해보겠습니다. > var a = function(a) { console.log(a); } 그리고, 아래처럼 a.length 를 치게되면 결과값은 1이 나옵니다. > a.length 1 입력하지도 않은 property인 length에 대한 값이 출력이 되는 것을 볼 수 있습니다. 여기서 length는 최초 함수를 만들 때의 인자의 개수 (여기서는 한개이지요)가 출력이 되도록 설정되어 있습니다. 즉 다시 얘기하면, 함수는 자바스크립트에서 특수 객체로 취급이 되면.. 공감수 0 댓글수 1 2017. 9. 3.
  • [C/C++] int와 register int의 속도 차이 Register Int에 대해서 알아보기 C언어든 C++이든 결국 컴파일러를 거치면 어셈블리로 전환이 될 것입니다. 이는 곧 기계어와 동치이고.. 이렇듯 C언어는 바로 하드웨어와 연관이 있는 언어이므로, 이 하드웨어와 관련있는 코딩 구문들도 상당수 존재합니다. 오늘 쓰는 내용은 register int에 관한 내용인데, 어떤 내용인지 코드를 통해 우선 먼저 보도록 합시다. int main() { int tmp1 = 0; int tmp2 = 0; clock_t clk1 = clock(); for (int i = 0; i 공감수 5 댓글수 2 2017. 8. 23.
  • [PhantomJS] 서버 열고 URL받아 스크랩하기 서버로 URL 받아서 스크랩하기 PhantomJS는 Headless Browser라고 하죠. Chrome처럼 Webkit 엔진을 사용한 것으로 알고있는데, 유저 Interface없이 사이트 전체 모습을 캡쳐하기도 하는 등 분석툴로써 활용될 수 있는 프로그램입니다. 문법을 마치 Node.js처럼 할 수 있어서(아니면 Node.js 기반인가? 이건 잘 모르겠습니다) 서버로 활용이 가능할 것이라는 생각을 하긴 했었는데, 어쨌든 찾아보니까 되더라구요. 어쨌든 아래처럼 사용하였습니다. var server = require('webserver').create(); var system = require('system'); var fs = require('fs'); var wait_time = 1000; var CON.. 공감수 0 댓글수 0 2017. 8. 16.
  • [Web] React로 보는 요즘 Web Front-end Style Recent Web Front-end Style 글 제목은 거창하지만.. 사실 별 내용은 아니고, React를 공부하면서 느낀점입니다. 대체로 느껴지는 요즘 프론트앤드 웹 코딩 스타일의 변화를 적어봅니다. 개인적으로 느끼는 것들을 적어보는 것이라, 실상과 다를 수도 있습니다. 이해를 위해서 지나치게 단순화하거나, 과장한 부분이 있습니다. 1. HTML5 기존에는 HTML-CSS-JS로 이어지는 3단 요소들을 잘 작성해야 했지만, React에서 볼 수 있듯 이제는 JS로 통합이 되는 (적어도 될 수 있다 정도는 되겠네요) 느낌입니다. HTML5에서 DOM Name을 XML처럼 가져갈 수 있었지만, 사실 디자인 측면에서 div와 다른 면이 없기 때문에 다들 div로 그냥 쓰곤 했죠(저도 그렇구요). 그렇게 .. 공감수 0 댓글수 0 2017. 8. 15.
  • 변화하는 Cross-domain iframe 높이 자동 조절 A라는 도메인의 페이지가 iframe 안쪽에 들어가있고, B라는 도메인의 페이지에서 이 iframe을 불러올 때 iframe의 높이를 자동으로 조절하는 일이 생각보다 쉽지는 않습니다. stackoverflow등을 참고하여 아래와 같은 동작하도록 적용을 하였습니다. 비슷한 문제를 겪는 다른 분들이 계실것 같아 공유합니다. iframe 안쪽 문서 페이지의 내용이 갱신될 때마다 아래의 javascript가 실행되도록 해줍니다. parent.postMessage(document.body.scrollHeight,"http://b.com"); 부모 페이지에 현재 자신의 높이를 postMessage Method를 통하여 전달합니다. 부모 페이지 페이지의 아무 곳에나 다음과 같은 javascript code와 list.. 공감수 3 댓글수 3 2016. 3. 18.
  • Javascript class 기초 개념 Javascript class 기초 개념 자바스크립트 기초도 없는 상태에서 FastBoot 스킨을 제작하다보니 어느덧 Global 변수가 무지막지하게 쌓여가고, 정리도 안되는 모습이 있어서 다음 버전에는 싹다 밀어볼 생각으로 Javascript의 Class의 개념에 대해서 살짝 정리를 해보려고 합니다. 제 다른 글처럼 굉장히 핵심만 짚고 넘어가는 방식으로 진행할 것입니다. Constructor Javascript에서의 Constructor는 다음과 같은 모습을 하고 있습니다. function Circle(origin, radius) { this.originX = origin[0]; this.originY = origin[1]; this.radius = radius; } Circle.prototype.ar.. 공감수 6 댓글수 128 2016. 3. 14.
  • [PHP] 간단한 Pager 간단한 Pager 만들기 Pager 소스는 찾아보면 많이 있지만.. 간단하게 Prev, Next Page만 구현되고 현재 페이지 나오는 Pager를 직접 만들어보기로 해서 작업해보았습니다. COUNT Query를 이용하여 작업하면 간단합니다. 1. 페이지 세팅 if ($_REQUEST['page']) { $page = $_REQUEST['page']; } else $page = 1; 페이지가 세팅되어 있지 않으면 1페이지로 세팅합니다. 여기서 $page를 직접 쿼리에 넣는다면 SQL injection을 당할 수 있으므로 escaping이 필요합니다. 저같은 경우에는 서버단에서 세팅으로 '를 자동으로 escape 되게 시켜놓았기 때문에 따로 설정하진 않았습니다. 2. SQL Query // Paging $.. 공감수 0 댓글수 3 2016. 3. 4.
  • Google Appengine 시작하기 Google Appengine 시작하기 제목은 거창하게 지었지만.. 나름대로 공부해보면서 겪고 있는 점들에 대해서 간략하게 정리하려고 합니다. Google Appengine은 Google Cloud Platform에 속한 서비스이고.. 이 서비스는 장단점이 있겠지만 일단 큰 장점으로 개발자 혼자서 쉽게 환경을 구성하고 Application을 만들어 볼 수 있다는 점이 있겠고, 나중에 Scaling또한 굉장히 쉽다는 것이 있죠. 더 쉽게 말해서는 24시간 돌아가는 서버를 Google에게 주문을 하는데, 그 서버크기는 무한정 제공되고, 이용량에 따라 나중에 청구하겠다는 개념으로 보시면 됩니다. 저는 사실 다른 이유 때문에 시작한 것은 아니고.. 텔레그램 봇을 돌려보려고 배워보고 있습니다. 사실 돌리고 있는 .. 공감수 1 댓글수 0 2016. 2. 13.
  • [안드로이드] 토글 버튼으로 타이머 작동/중지 컨트롤하기 토글버튼으로 타이머 컨트롤하기 토글버튼으로 작동하는 타이머에 대한 예제는 인터넷에 많지만 제 마음에 드는건 찾기 힘들어서 이리저리 뜯어서 만들었습니다. activity_main.xml에 버튼을 만들고(여기서는 btnRecord라는 이름을 사용하였습니다), MainActivity class의 oncrete 메소드에서 다음과 같이 작성합니다. final Button btnRecord = (Button) findViewById(R.id.btnRecord); btnRecord.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { if (btnRecord.getText().equals("Record")) {.. 공감수 5 댓글수 4 2014. 10. 31.
  • Socket Programming - BrowserClient.c Socket Programming  Socket은 L5의 Application Layer에서 다른 컴퓨터로의 접근을 가능하게 해줍니다. L3의 IP와 L4의 Port정보를 가지고 있는 것이 Socket이고, 이것을 만들게 됨으로써 Application은 마치 이 소켓에 Read와 Write를 하는 것으로 다른 컴퓨터와 데이터를 주고 받을 수 있게됩니다. 계층화의 장점이라고 할까요.. 프로그래머는 어떤 식으로 컴퓨터가 데이터를 주고받게 되는지 전혀 알 필요도 없고, 신경쓸 필요도 없습니다. 소켓을 만들고 데이터를 넣어주면 그 다음부터는 알아서 진행되는 것이지요. L5->L4->L3->L2->L1을 거치고, 중간의 라우터를 거쳐서, 건너건너 상대컴퓨터로 도착하게 되겠죠.  아무튼 오늘 소개하는 Browser.. 공감수 2 댓글수 1 2014. 7. 13.
  • Mesh-connected computer partial sum(부분합) MCC에서의 부분합 구하기 저번 글에서 Bitonic Sort에 대해서 알아보았었는데, 이번에는 좀 더 구체적인 예인 Mesh-connected computer에서의 알고리즘인 Partial sum 대해서 알아보도록 하자. 조금 주제가 뛰어넘는 것 같은데 어찌되었든 병렬컴퓨팅이라는 주제 안에서 저번 글의 연장선상에서 바라보았으면 좋겠다. Mesh-connected computer란 하나의 Node가 최대 4개까지의 연결을 가지는 병렬컴퓨팅의 한 종류이다. 이 글에서는 Distributed Memory를 가정한다. Mesh-Connected Computer(MCC)의 Critical Path 빨간색으로 된 경로가 나온 이유는 Partial Sum이 완료되는 1번에 있는 Data는 결국 16번으로 가야하기 .. 공감수 0 댓글수 10 2014. 4. 27.
  • 간단한 명령에는 jQuery 종속에서 벗어나자 jQuery는 마성의 툴입니다. 요즘은 아예 Javascript를 안배우고 jQuery만 배워도 될 것 같은 정도입니다. 대부분의 웹개발에서는 jQuery를 사용하고 있으니까 말이지요. 그 생산성도 순수 Javascript로만 짰을 때와 비교도 할 수 없을 정도입니다. 그렇지만 누구든지 jQuery를 사용하지 못하는 환경에 마주칠 수 있다는 것은 부정할 수 없는 사실입니다. jQuery라는 프레임워크가 없어지는 순간 무기력해지는 자신을 보면서 말이죠. 특히 원하고자 하는 요소를 선택조차 하지 못합니다. jQuery 없이는요.. 그만큼 jQuery의 Selector가 강력하다는 반증입니다. 사실 웬만한 작업에는 jQuery가 필요없습니다. 그렇다면 Javascript에서 어떻게 요소를 선택하여 작업을 하느.. 공감수 2 댓글수 7 2014. 4. 25.
  • Import jQuery 2.x and 1.x according to IE version Detect the IE version There are many ways to import scripts according to browser version, but It's true some internet service restrict the way to detect the browser version. Simple trick is here: var ielt9 = 0; Explain: ie.fix.css is not necessary. Upper code is the code in my blog's tag. Look at the ' in the '. That's all. This is all behavior that we want. So tricky, right? We set the variable.. 공감수 0 댓글수 0 2014. 4. 5.
  • Bitonic Sort in Distributed Parallel Computer System Bitonic Sort 기본적으로 Bitonic Sort는 Bitonic Sequence에서만 사용할 수 있다. 하지만 편법을 적용하면 일반적인 Sequence에 대해서도 Bitonic Sort를 시킬 수 있다. 이 글에서는 Bitonic Sequence에 대한 Sort는 이미 알고리즘을 알고 있다고 가정하고, 일반적인 수열에 대해서의 Bitonic Sort에 대해 알아볼 것이다. Bitonic Sequence에서의 Bitonic Sort는 O(log n)으로 구해진다. 다음과 같이 무질서한 수열이 있다고 해보자. 4 9 7 3 5 8 1 6 어떤 규칙도 보이지 않는 수열이다. 이것을 Bitonic으로 만들어 정렬할 것이다. 이 수열에 대한 것만 아니라 일반적인 관점에서 보아야 하는 것이 포인트다. 가장.. 공감수 1 댓글수 1 2014. 3. 21.
  • 쓸만한 웹 HTML 에디터, widgEditor PHP을 사용하여 게시판을 만들려면, HTML에디터 하나정도는 있어야 할 것입니다. 가장 중요한 목적은 바깥에서 HTML을 포함한 클립보드를 가져올 수 있다는 점이죠. 이미지를 복사하면 이미지가 들어오고, 이런 기능 쯤은 있어야 하지 않겠습니까? 이를 아주 간단하게 해결할 수 있는 에디터입니다. http://themaninblue.com/experiment/widgEditor/ 사용법도 간단합니다. 우선 헤더부분에 다음 코드를 추가합니다. @import "widgEditor/css/main.css"; @import "widgEditor/css/widgEditor.css"; 물론 경로는 상대경로이므로 적당한 경로로 바꿔주셔야합니다. 그 다음, 에디터를 넣고자 하는 부분에 다음 코드를 삽입합니다. 여기까지입.. 공감수 1 댓글수 3 2014. 1. 18.
  • [Converter] Hex, Base64를 Plain Text(텍스트)로 변환해주는 사이트 Sublime Text 2로 작업을 하다가 실수로 Text인 문서를 Hex로 저장을 해버리는 사태가 일어나서 당황했었는데, 인터넷 검색으로 쉽게 변환하는 툴이 나오지는 않았다. 여러번 검색한 끝에 딱 맞는 기능을 가진 사이트가 있었는데 주소는 아래와 같다. Base64도 변환 가능하다. http://www.percederberg.net/tools/text_converter.html 공감수 11 댓글수 1 2014. 1. 17.
  • [Javascript] 창크기 변화를 감지해서 애드센스(Adsense) 광고 옮기기 모바일에서 애드센스(Adsense) 광고 위치 옮기기 제 블로그는 반응형입니다. 창 크기 줄임에 따라 어느 순간 (정확히는 992px를 기점으로) 모바일용 페이지로 변신합니다. 그런데 한가지 난점이 있었는데, 바로 애드센스(Adsense)였습니다. 모바일에서는 광고 위치가 조정되어야 할 필요성이 있기 때문이었는데요, 고민해도 답이 그다지 나오지 않아서 모바일일 경우에 광고를 옮기는 그런 코드를 만들기로 했습니다. 시작하기 전에 이 방법보다 더 간단한 방법을 최근에 포스팅하였으니 참고하실 분은 참고하세요. 이 역시 반응형 애드센스를 쓰지 않고 애드센스 광고를 삽입하는 방법입니다. http://blog.readiz.com/204 우선 사전 작업이 필요합니다. div 2개가 필요합니다. 하나는 데스크탑 일 때.. 공감수 8 댓글수 27 2014. 1. 12.
  • [정규표현식이란?] 정규표현식을 공부해보고 테스트 할 수 있는 사이트 정규표현식 관련 사이트 모음 외국사이트지만 유용하다고 판단되어 포스팅합니다. 저도 배우는 단계이기 때문에 나중에 공부하기 위해 올리는 것이기도 하구요.아래 두 사이트에서는 정규표현식에 대해 Step by step으로 배울 수 있게 되어 있습니다. http://zvon.org/comp/r/tut-Regexp.htmlhttp://regexone.com/ 아래 역시 외국사이트구요, 정규표현식을 테스트 하는 사이트입니다. http://gskinner.com/RegExr/http://www.regexper.com/ 생활코딩이라는 국내사이트에서 정규표현식에 대해 배울 수 있습니다. Youtube강의라서 텍스트를 선호하는 저같은 경우에는 그다지 와닿지는 않네요. 참고하세요. http://opentutorials.or.. 공감수 2 댓글수 0 2014. 1. 11.
  • [PHP] 데이터 <BR>태그로 자동줄바꿈, 링크감지 기능 추가하기 적용 샘플은 http://pin.readiz.com/ 에서 확인하실 수 있습니다. 심심하신 분들은 접속해서 사용해보세요. 아직 개발중인 페이지라 별다른 건 없지만 적용예제를 확인해보실 수 있습니다. 자동줄바꿈 함수 사실 이 문제를 해결하기는 했지만 str_replace가 왜 적용이 안되는지 모르겠습니다. 일단 태그를 삽입하는 것은 이론은 간단하죠. \n줄바꿈 문자를 태그로 치환하면 되는 겁니다. 하지만 PHP에는 이미 전용 함수가 있기 때문에 이를 쓰면 됩니다. nl2br라는 함수가 바로 그 함수인데요, reference를 보면, Description ¶string nl2br ( string $string [, bool $is_xhtml = true ] )Returns string with ' ' or .. 공감수 1 댓글수 1 2014. 1. 8.
  • [PHP] Array_map 함수 : 배열 한번에 다루기 간단 팁이에요.. 드디어 php를 이용해서 mysql을 통제하는 방법을 익히고 있는데,문제는 php로 날아오는 많은 변수값들을 escape시킬 필요가 있단 말이죠.. 예를 들면 이런식인거죠. $p_id = mysql_escape_string($_REQUEST['id']); $p_work = mysql_escape_string($_REQUEST['work']); escape시킬 변수가 한두개면 괜찮은데, 그렇지 않은 경우가 문제입니다. 이럴 때 사용할 수 있는 함수가 array_map이라는 함수인데요, reference에 나온 내용은 Description ¶array array_map ( callable $callback , array $array1 [, array $... ] )array_map() re.. 공감수 0 댓글수 2 2014. 1. 5.
  • 유니코드에 대한 글 / 유니코드 <-> HTML 변환기 유니코드.. 참 한글을 쓰는 우리나라에서 프로그래머들 여럿 괴롭히는데요.유니코드에 관해 잘 정리된 글이 있어 소개합니다.http://www.kristalinfo.com/K-Lab/unicode/Unicode_intro-kr.html 그리고 밑은 유니코드 변환기인데, 특수문자나 뭐 무슨 문자든 넣으면 &#xxx형식(HTML에서 사용)과 그 문자에 해당하는 코드등을 볼 수 있고, 다른 프로그램에 넣어서 활용할 수 있습니다.http://rishida.net/tools/conversion/ 아래 티스토리 블로그에 또 나름 유니코드에 대해 올려두신 분이 있네요. 한번 참고해보세요.http://amornatura.tistory.com/104 공감수 1 댓글수 0 2014. 1. 2.
  • [PHP] 접속 도메인에 따라 같은 IP주소로 연결해도 다른 페이지 보여주기 네임서버를 이용할 때 기본적으로 한개의 네임서버는 어느 한개의 IP주소로 연결이 된다. 예를 들면 www.readiz.com과 about.readiz.com이 있다고 하면, 두 주소 모두 IP주소를 가지고 있고 그 IP주소로 연결이 된다는 것이다. 그렇기 때문에 얼핏보기에는 같은 IP주소로 연결되는 도메인이 있다면 같은 페이지가 보일 것이라 생각된다. 하지만 약간의 꼼수를 부린다면 같은 IP주소로 연결되더라도 다른 페이지를 보여줄 수 있다. 코드를 보면, 123456 공감수 3 댓글수 1 2013. 11. 26.
  • [Web Application] PHP를 이용한 Web Application 제작의 4단계 PHP - Web Application 제작의 가장 쉬운 툴 PHP는 아마 Javascript를 제외하면 HTML과 가장 많이 연동되지 않을까? PHP가 있으면 거의 모든 형태의 Web Application이 제작이 가능하다. 말 그대로.. 사실 이게 전혀 어렵지가 않은데, 괜히 어려워보인다. 좀 어려워 보이는 필요한 지식은 SQL Query문 뿐이다. 내 생각엔.. 모든 프로그램은1. 사용자로부터 변수를 입력 받아서2. 중간 매개 프로그램이 그 변수를 불러와서 그를 바탕으로 3. DB에 저장하거나, 읽어온다.4. 중간 매개 프로그램은 DB를 이용하여 처리한 후 사용자에게 출력해준다. 1. 사용자로부터 변수 입력받기 1의 경우에는 form만 만들줄 알면 된다. JQueryMobile과 세트로 작동하는 얼.. 공감수 0 댓글수 0 2013. 11. 11.
  • [Chrome] 마우스 오른쪽 버튼 제한 해제하기 https://chrome.google.com/webstore/detail/allow-right-click/hompjdfbfmmmgflfjdlnkohcplmboaeo?hl=ko&utm_source=chrome-ntp-launcher 위 링크로 들어가서 깔게되면,크롬 브라우저상의 변화는 없지만 금지되어있던 사이트에 다시 들어가보면 마우스 오른쪽버튼이 이상없이 눌러지는 것을 확인할 수 있다. 이상 간단한 팁 공감수 0 댓글수 0 2013. 11. 7.
  • [Chrome] 현재 페이지의 쿠키값 쉽게 확인하기 Chrome을 사용한다면 강력한 개발자모드(F12)를 한번쯤은 사용해봤을 것이다.Chrome이 아니더라도 물론 확인할 수 있는 방법은 있다.javascript:document.cookie 위 문장을 주소표시줄(Alt+D)에 넣으면 현재 페이지에 설정되어 있는 쿠키값을 쉽게 볼 수 있지만.. Chrome이라면 F12를 누르고 위 그림처럼 Resources 탭에 들어가면 Cookie를 쉽게 확인할 수 있다. 공감수 4 댓글수 1 2013. 11. 7.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.