PHP: CORS 에러를 회피하기 위한 API의 프록시(중계) 페이지 만들기 (cURL 이용)

참고 자바스크립트: JSONP (JSON Padding) 사용법 PHP: cURL 기초 (정적 웹 페이지에서 정보 가져오기) 자바스크립트(JavaScript)에서 쿼리 파라미터(query parameter) 값을 알아내는 방법   PHP: CORS 에러를 회피하기 위한 API의 프록시(중계) 페이지 만들기 HTML + 자바스크립트를 이용해 웹 페이지를 만들 때 외부 API를 사용하는 과정에서 흔히 CORS 위반이라 불리는 에러를 많이 접할 더보기…

PHP: 브라우저 사용(선호) 언어 구하기

PHP에서 브라우저 사용(선호) 언어 구하는 방법 먼저 다음 코드를 입력해서 브라우저 선호 언어 스트링을 받아옵니다. echo $_SERVER[‘HTTP_ACCEPT_LANGUAGE’];   위 코드를 실행하면 아래와 같은 형태의 스트링이 출력됩니다. ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,ja;q=0.6 // 쉼표로 구분 ko-KR, ko;q=0.9, en-US;q=0.8, en;q=0.7, ja;q=0.6 맨 윗줄은 그대로 출력된 원문이고 아랫 부분은 읽기 쉽게 쉼표마다 엔터를 친 형태입니다. 현재 사용 더보기…

Swift(스위프트): Vapor를 사용하여 iOS에서 웹 서버 실행 (스토리보드)

출처 Running a Web Server on iOS with Vapor 원문에서 SwiftUI 부분을 Storyboard로 변경하였습니다.   Vapor를 사용하여 iOS에서 웹 서버 실행   Vapor를 사용하면 iOS 앱이 클라이언트이자 서버가 되어 데이터를 제어할 수 있습니다. (심지어 다른 장치에서도 가능합니다.) 이 튜토리얼에서는 동일한 프로세스에서 클라이언트-서버 통신을 시작하는 방법을 설명합니다. 이 포스트에서는 다음 방법을 더보기…

워드프레스 ‘댓글 승인제’를 사용중인 경우 댓글 달았을 경우 메시지 표시하기

워드프레스는 특성상 해외 스팸 댓글이 많이 달리기 때문에 사이트를 운영중인 경우 위의 설정처럼 댓글 승인제를 설정하고 사용하는 경우가 많습니다. 그런데 댓글 승인제를 설정해도 댓글 후 아무런 경고 메시지를 보내지 않기 때문에 댓글을 다는 사용자가 시스템 오류 등으로 댓글이 안달린 것으로 착각할 수 있습니다. 그래서 댓글 작성 후 성공 메시지를 표시하려면 더보기…

Firebase(파이어베이스): 실시간 데이터베이스를 Rest API 형태로 사용하기 + DB에 서버 시간 저장하기

Firebase(파이어베이스)에서 실시간 데이터베이스(Realtime Database)를 Rest API 형태로 사용하기 방법은 매우 간단합니다. 파이어베이스 접속 주소 뒤에 .json 확장자를 붙이면 Rest API 형태로 사용할 수 있습니다.   이 예제는 편의를 위해 별도의 규칙이나 유효성 검사가 설정되어 있지 않으며, 아래처럼 읽기 및 쓰기가 익명의 사용자들에게 전부 열려있는 형태입니다. 매우 위험한 상태로 테스트 목적 더보기…

JWT(JSON Web Token) 란?

JWT 란? JWT(JSON Web Token)는 공개 표준인 RFC7519로, JSON 객체 형태로 당사자 간 정보를 안전하게 전송하기 위한 소혀의 자체 포함 형식으로 정의됩니다. JWT는 두 당사자간에 전송할 클레임을 나타내는 URL에 안전(url-safe)한 압축 수단입니다. JWT의 클레임(claim; 페이로드의 한 조각)은 JWS(JSON Web Signature) 구조의 페이로드(payload; 정보) 또는 JWE(JSON Web Encryption) 구조의 JSON 개체로 더보기…

PHP: 이미지 섬네일(Thumbnail) 만들기 (Imagick 이용)

Imagick이 PHP 서버에 설치된 경우, 아래 코드를 이용하여 이미지 섬네일을 만들 수 있습니다. 저는 이용하는 호스팅 서버에 해당 프로그램이 설치가 되어 있어 별도 작업을 하지 않고 바로 사용하지만, 설치가 안된 경우에는 링크를 참고하여 설치하세요. 다음 함수를 추가합니다. /** * * Generate Thumbnail using Imagick class * * @param string $img 더보기…

PHP: 날짜 시간 관련 함수(date, time, strtotime, mktime)

시간 포맷 사용 – date() 함수 두 번째 파라미터는 nullable이며, 특정 타임스탬프를 지정하면 해당 타임스탬프의 날짜를 반환하고, 아니라면 time() 현재 시각을 반환합니다. // set the default timezone to use. Available since PHP 5.1 date_default_timezone_set(‘UTC’); // Prints something like: Monday echo date(“l”); // Prints something like: Monday 8th of August 2005 더보기…

PHP, Mysql: 좋아요 기능 만들기

예전에 PHP로 만들었던 간단한 CRUD 게시판에 ‘좋아요 기능’을 추가해보도록 하겠습니다. ‘좋아요 기능’은 빈 하트(♡)를 누르면 하트가 채워지면서(♥) 숫자 카운트가 올라가는 기능입니다. PHP: 데이터베이스 접근 기초(SELECT, INSERT, UPDATE, DELETE) 여기서는 로그인 기능이 구현되지 않았으므로 아이피 주소(IP Address)를 기준으로 중복 좋아요를 방지하도록 하겠습니다. 만약 로그인이 구현되어 있다면 로그인한 유저를 기준으로 중복 좋아요를 더보기…

PHP, Mysql: SELECT JOIN 문 실행시 중복된 이름의 열(컬럼) 결과를 가져오는 방법

Q. 내 데이터베이스에 두 개의 테이블이 있습니다. 컬럼이 있는 NEWS 테이블: id – 뉴스 ID user – 작성자의 사용자 ID 컬럼이 있는 USERS 테이블 : id -사용자 ID 이것에 대한 SQL을 실행하려고 합니다. SELECT * FROM news JOIN users ON news.user = user.id PHP에서 결과를 얻을 때 컬럼 이름을 $row['컬럼이름']으로 가져오는 경우, 동일한 더보기…