본 예제를 이용한 회원가입기능을 테스트하기 위해선 웹 서버가 필요하니 참고바라며 본 예제에서는 이러한 내용들은 포함되지 않았으니 소스코드를 참고하여 웹 서버 지원이 되는 곳에서 테스트를 해보기 바란다. 회원가입 서비스를 구현하기 위해선 여러 기능들이 필요하다. 단 모든 기능들을 예제로 표현하기는 어렵기 때문에 이번 편에서는 단순하게 회원 기본정보만을 이용하···
API(Application Programming Interface)란 개발하는데 있어 없어서는 안될 소중한 프로그램중 하나이며 이러한 API는 사용 규격서를 습득하고 사용자는 요청을 관리자는 응답을 통해 상호작용하며 작동된다. 때론 응답과 요청을 모두 처리하는 프로그램을 만들어야할때가 있다. 주로 내부에서 사용되는건 각종 서비스 연동일텐데 그중 하나 예를···
이미지업로드는 웹상에서는 많이 사용하는 기능으로 이미지를 업로드 후 PHP를 통해 파일 또는 DB를 통해 주로 저장한다. 이번편에서는 가장 기본적인 파일 업로드 후 PHP를 통해 저장 후 미리보기 프로그램 소스에 대해 알아보도록 하자. 1. 파일생성 FORM 을 작성 | file.php 아래와 같이 file 을 업로드 하는 기능을 가진 form을 생성해 보···
프로그램 설계시 확률에 따른 결과를 추출해 내는 방식에는 여러 방법이 있다. 확률에 따른 결과를 추출하기 위해선 어떤 것에 의에 확률을 구하냐 이거인데 이번시간에는 간단한 예제 몇가지를 통해 알아보도록 하자. 1. 단순 확률에 따른 결과 추출 방법 예를 들어 게임에서 아이템 강화 확률이 50% 인 프로그램을 짠다면 아래와 같다. <?php /* 아이템···
구글에서 제공하는 리캡챠 API는 연속적인 행동을 막기위한 용도로 많이 사용되는데 주로 게시글 등록 또는 로그인 시 많이 사용된다. 이번에 소개할 리캡챠 버전은 v2 버전으로 아래의 이미지와 같이 `로봇이 아닙니다.` 라는 기능을 제공한다. 이렇게 `로봇이 아닙니다.` 에 체크를 하면 검증이 되고 이를 이용하여 구글 API와 통신하여 체크를 할 수 있다. ···
이번포스팅은 정말 엉뚱하게도 한글 전체 DB를 만드는 과정에서 한글 초성,중성,종성 단위로 분리할 수 있을까라는 의문점이 들어 시작되었다. 간혹 MAC 기기로 부터 받은 파일명들을 보면 한글이 초성,중성,종성 단위로 분리되어 표시가 되는데 정말 쓸떼없이 한번 만들어보고 싶었다. 일단 처음에는 내 얕은 지식을 통해 mb_ord로 열심히 규칙을 찾아보았지만 어···
이번에 소개할 프로그램은 JQUERY를 이용하여 만든 가위, 바위, 보 프로그램이다. 해당 프로그램은 결과값에 대한 조건처리가 많이 없기에 생각보다 빠르게 만든것 같다. 아래는 가위, 바위, 보 프로그램의 처음 시작 화면이다. 처음 화면에서 게임 시작을 누르면 아래와 같이 실제 게임 레이어 팝업이 뜨게 되고 게임을 시작할 수 있다. 게임이 시작되고 가위, ···
이번에 소개할 교육용 프로그램은 학생관리 프로그램으로 JQUERY를 이용하여 최대한 간단하게나마 만들어보았다. (사실 만드는데 생각보다 시간이 많이 걸렸다.) 사실 여러 기능들을 넣어서 올려볼까 했는데 db가 아니다 보니 스크립트 처리가 워낙 까다로워서 다음에 좀더 업데이트된 버전으로 올려볼까 한다. 이번 버전은 등록/삭제/조회/다운로드 까지 기능만으로 구···
PHP로 개발을 하다보면 상당히 많은 라이브러리를 접할 수 있다. 하지만 달력 같은 경우 보통 PHP가 아닌 datepicker 같은 JS라이브러리를 많이 사용하게 되는데 이벤트에 대한 메서드를 완전히 제어하기 어렵기 때문에 별도로 제작해야할때가 있다. 하지만 평소 달력은 보기만 했지 막상 만들려면 조금이나마 공수가 들어가게 된다. 이럴땐 바로 구글링을 해···
간혹 웹에서 보안상 쿠키를 없애고 세션만 사용할려는데 어떻게 해야하는지 문의가 올때가 있다. 결론부터 말하면 웹에서 쿠키 없이 세션만 사용할 수는 없다. 그 이유는 쿠키가 있어야만 세션이 존재하기 때문이다. 예를 들어 PHP서버를 운영하고 별도의 세션 설정을 하지 않았다면 세션 실행시 `PHPSESSID` 이라는 쿠키가 생성이 될것이다. 해당 쿠키값은 PH···
ajax는 비동기 통신을 위한 방법인데 간혹 연속 클릭으로 인해 중복 처리가 되는 경우가 있다. 물론 프로그램단에서 db 조건과 비교하여 막는 방법이 있지만 request 한 페이지에 외부 api 통신이 있을 경우 딜레이가 발생되어 중복체크를 하가기 어렵다. 따라서 이번편에서는 클라이언트단에서 연속 click 이벤트를 막는 방법에 대해 예제소스를 통해 알아···
이번에 소개할 프로그램은 JQUERY의 sortable 메서드를 이용하여 만단 간단한 생상 블록 맞추기 게임이다. sortable 메서드의 경우 JQUERY UI 라이브러리가 있어야만 가능하며 특정 목록 아이템 부모를 선택해주면 자동으로 마우스 드래그&드롭 기능이 작동된다. sortable 메서드에 대한 자세한 정보는 아래의 포럼에서 살펴보면 된다.···
alert 메서드는 주로 경고창을 띄우는 용도로 많이 사용되고 있다. 하지만 고정된 디자인이다보니 UI 변경이 불가능하기때문에 이를 대체할 수 있는 jquery-confirm.js 라이브러리가 있는데 사용법도 간단하기 때문에 단순 alert 를 대체하기엔 가장 좋은 라이브러리가 아닌가 생각한다. 물론 비슷한 라이브러리들이 많지만 confirm-jquery ···
meta 태그란 사이트 문서 head 상에 삽입된 태그로 흔히 웹 문서 검색 시 해당 문서의 정보 데이터를 설정하는 역활을 한다. 이러한 meta 태그는 종류가 여러가지고 보통 검색 시에 활용하기도 하지만 특정 사이트 인증 및 설정 시에도 사용이 된다. 본래 PHP 에서는 메타태그를 가져올 수 있는 get_meta_tags() 함수가 제공이 되는데 이 함수···
PHP 에서 디렉토리관련하여 상당히 많은 함수들이 제공된다. 그중 패턴을 이용하여 파일명 리스트를 추출할 수 있는 glob 라는 함수가 있는데 오늘은 이함수에 대해 간단하게나마 알아 보도록 하자 먼저 이함수는 아래의 PHP 그룹 사이트에서 상세 정보를 확인 가능하다. PHP: glob - Manual PHP: glob - Manual www.php.net/···
자바스크립트를 이용하다보면 기본 객체를 그대로 두고 본 객체를 복사하는 경우가 있다. 기본적으로 객체를 복사하는 방법에는 여러방법이 있겠지만 그중 가장 많이 사용하는 방법 2가지에 대해 알아보도록 하자 Object.assign 을 이용한 객체 복사 방법 | 얕은복사 <script> /* Object.assign 을 이용한 객체복사 */ let o···
Global Ajax 를 이용하여 공통처리를 할 수 있는 방법이 있다. 이는 주로 이 블로그처럼 대다수가 AJAX 를 통한 페이지 전환으로 구성된 사이트에서 로딩바를 띄우기 위한 목적으로 사용이 된다. 지원되는 이벤트 핸들러는 ajaxStart, ajaxSend, ajaxSuccess, ajaxComplete, ajaxStop , ajaxError 가 있으···
AJAX의 기술은 요즘들어 페이지에 없어서는 안될 부분으로 상당히 많이 사용되곤 한다. 물론 아직까지는 대형 사이트의 경우 JQUERY를 그다지 선호호지 않기 때문에 순수 JAVASCRIPT 를 이용하여 자체 스크립팅된 코드를 사용한다. 하지만 알다시피 일개미 개발자에게 주어진 시간이란게 없고 일부 JAVASCRIPT 라이브러리들은 JQUERY 를 요구하기···