본문 바로가기

iframe에 내용 추가하기 iframe의 경우 되도록 사용하지 않는 것이 좋지만 다른 페이지에 해당하는 html이나 php 등을 직접 링크를 해서 바로 보여줄 수 있다는 점에서 편리하다. iframe의 경우 다른 도메인에 해당하는 파일이라면 그 안의 내용을 마음대로 바꾸거나 혹은 수정하는 것이 불가능하기 때문에, 보통 광고를 제공할 때 사용을 한다. 그러면 같은 도메인 상의 문제에서는 어떨까? php와 같은 경우에는 include 계열의 함수나 require 계열의 함수를 사용하면 같은 서버에 있는 파일을 쉽게 추가를 할 수 있다. 그러나 html의 경우에는 같은 서버에 있는 파일을 그대로 추가하기 위해서는 iframe 태그를 사용할 수밖에 없다. 그리고 같은 도메인인 경우에는 소스코드를 위험하게만 작성하지 않는다면 보안상의 문제..
정수론 문제 2 네이버 지식in에 올라온 내용 중에서 흥미로운 정수론 문제를 발견해서 그것을 풀어보고자 한다. 부정방정식에 대한 문제로 처음에 봤을 때는 '펠의 방정식'에 대한 문제와 비슷하게 생겨서 이렇게 풀어야 하나 싶었는데, 좀 생각해보니 다른 풀이로 풀어야 한다는 것을 알아내었다. 문제 $p+1=2x^{2},\quad p^{2}+1=2y^2$이 정수의 순서쌍을 가지는 모든 소수 $p$를 구하시오. 아이디어 일단 $x$와 $y$가 모두 양수라고 해도 일반성을 잃지 않는다라는 성질과 소수의 성질을 이용하면 풀 수 있다. 풀이 일단 풀이는 지식 in에 직접 답변한 글의 링크로 대체하겠다. 시간이 나면 Latex을 이용해 작성하는 걸로 하겠다. 답 : $p=7$
정수론 문제 네이버 검색을 하던 도중 흥미로운 정수론 문제를 발견해서 그 문제와 풀이를 올리려고 한다. 물론 내가 푼 방법보다 좀 더 간단하면서도 정석적인 풀이가 있을 수도 있지만 아직은 생각나지 않아 그냥 한 가지 풀이로만 작성을 하고자 한다. 문제 $2009^{2009}$의 자릿수를 모두 더해서 나온 수의 자릿수를 다시 더하고, ..., 이런 식으로 한 자리 수가 될 때까지 반복하자. 이렇게 얻은 한 자리의 수는 얼마인지 구하시오. 풀이 이 문제에서 요구하는 답은 한 자리 수를 원하고 있다. 그렇기 때문에 답이 될 수 있는 숫자는 1~9의 9개의 숫자 중 하나가 가능하다. 계속 자릿수를 더하는 과정을 거치기 때문에 0은 절대로 나올 수가 없다. 이 문제와는 상관이 없어보일수도 있지만, 다음의 아이디어를 사용하도록..
한글 맞춤법 검사 사이트 한글 맞춤법을 모두 지키면서 글을 쓰기는 거의 불가능하다고 할 수 있다. 물론 유명한 맞춤법인 '되'와 '돼'의 구분과 같은 것은 가능하지만 잘 모르는 맞춤법의 경우에는 지키는 것이 어려울 수 있다. 물론 혼자서 글을 작성하고 공식적인 자리에서 글을 보여주는 것이 아니라면 맞춤법에 대해서 세세하게 신경쓰지 않아도 될 수 있다. 그러나, 자기 소개서를 작성할 때 맞춤법을 지키지 않고 글을 작성한 경우에는 그 자기 소개서를 읽는 면접관의 입장에서는 불편하게 생각하고 교양이 없는 사람이라고 생각을 할 수 있기 때문에 신경써서 맞춤법을 검사하는 것이 필요하다. 자기 소개서 뿐만 아니라 보고서의 경우에도 마찬가지이다. 그래서 이번에 소개할 사이트는 한글 맞춤법을 검사해주는 사이트이다. 이 사이트는 내가 자기소개서..
Codeigniter hook로 권한 체크하기 application\config\hooks.php 파일에 아래 내용을 작성하면 된다. 여기서 사용하는 방법은 익명 함수를 사용하는 방법이므로 PHP 버전이 5.3 이상이 되어야 한다. $hook['post_controller_constructor'][] = function() { $CI =& get_instance(); isset($CI->session) OR $CI->load->library('session'); $CI->load->helper('url'); $CI->session->has_userdata('name') OR $CI->session->set_userdata('name', 'guest'); $username = $CI->session->userdata('name'); if($userna..
자바스크립트로 새창 열기 자바스크립트로 새창을 여는 함수는 window.open();함수이다. 이 함수에 자신이 열고 싶은 url을 넣어주면 작동하는 것을 확인할 수 있다. 이 기능을 응용하여 a 태그를 이용해 링크를 이동시키고 로그를 기록하는 방법은 아래의 소스코드와 같다. 링크 여기서 openWindow함수의 내용에 로그를 기록하는 부분을 추가하면 잘 작동한다. 참고로 a 태그를 사용할 때 onclicked 부분의 마지막에 return false;를 넣어주는 것이 좋은데, 왜냐하면 그 경우에는 href에 써져있는 링크가 작동을 하지 않게 해주기 때문이다. 물론 이 방법 말고도 로그를 기록하는 위치로 url을 걸고, 로그를 기록한 이후에 redirect 시키는 방법도 존재한다. 이 경우에는 referrer가 남게 되므로 어디에..
Vmware player로 Linux 설치하기 (2) 원래는 어제 작성을 하려 했으나 다운로드 받은 ISO 파일이 깨져 있었고, 그래서 새로 다운로드를 받으려고 했으나 계속 전부 다운로드가 되기 전에 다운로드가 끊겨서 포기하고 오늘 다시 시도를 했더니 한 번에 다운로드가 성공했다.... 아무래도 용량이 4GB 정도가 되다보니 다운로드가 중간에 끊기는 현상이 발생하는 것 같았다. 물론 토렌트로 받는 방법도 있긴 했지만 아무래도 하드를 갉아먹지 않을까하는 불안감에 그냥 다운로드를 받는 방식으로 진행했다. 이미지 파일이 깨졌는지 확인하는 가장 간단한 방법은 그 이미지 파일을 실행시키는 것이다. Windows 8.1 이후 버전에 대해서 추가적인 프로그램 없이 ISO파일을 클릭해서 마운트시킬 수 있는 기능이 추가되었다. (Windows 7에서는 확인을 해보지 않아서..
Vmware player로 Linux 설치하기 (1) 여러 운영 체제를 사용하는 방법에는 몇 가지가 있다. 첫 번째 방법은 가장 돈이 많을 때 사용할 수 있는 방법으로 사용하고 싶은 운영체제의 개수만큼 컴퓨터를 구매해서 사용하는 방법이다. 이 방법은 돈이 많이 들긴 하지만, 성능을 보장하고 어렵지 않다. 그렇기 때문에 집에서 놀고 있는 컴퓨터가 있다면 거기에 사용하고 싶은 운영체제를 설치하는 방법이 있다. 두 번째 방법은 파티션을 해서 사용하는 방법이다. 이 방법도 원래 컴퓨터의 성능을 보장한다는 장점이 있지만 파티션을 나누는 과정과 같은 귀찮은 과정이 있기 때문에, 귀찮음을 감수하더라도 돈이 없지만 성능을 최대로 뽑아내고 싶은 사람은 이 방법을 이용하는 것이 좋다. 마지막 방법은 가상머신을 사용하는 방법이다. 이 방법은 원래 컴퓨터의 성능을 100% 낼 ..