코로나 백신 3차 접종완료 (2/9)및 신규 프로젝트의 시작
평행세계>한마디
이번에 코로나 접종 3차까지 완료하였다. 몸이 안아프기를 기도했건만 역시나 2차때보단 덜해도 아픈건 비슷했다. 주변에서는 화이자 백신인데 나만 왜 모더나를 주는건지.. 아무튼 오환, 두통, 어지러움등이 반복되면서 몸에 힘이 하나도 없었다. 다만 입맛은 어찌나 좋은지 먹는건 잘들어가서 밥먹고 타이레놀 섭취하고 계속 반복하면서 잠을 꾸준히 자다보니 2일째 되는···
[PHP] 소켓통신으로 POST 데이터 와 파일전송 서포트 함수 | socket_post_request
웹>PHP 서포트함수
PHP에서 다른 서버로 파일을 전송하는 방법에는 크게 CURL 통신과 소켓통신이 있다. 솔직히 회사에서 사용한다면 CURL 통신을 추천하지만 부득이하게 CURL 통신으로 안될경우 소켓통신을 사용하는것을 추천한다. 소켓통신이 사용하는 방법이 까다롭고, 서버에 따라 잘 안되는 경우도 있는것같다. 이번에 만든 함수같은 경우 전에 다른 서버에서 사용했던 함수였는데···
str_contains() 함수[PHP >= 8]
웹>PHP 일반
str_contains() 함수의 경우 전체문자열, 찾을문자열을 파라미터로 받아서 있을 경우 TRUE, 없을경우 FALSE 를 RETURN 한다. 다만 이함수는 PHP8 이상 에서만 지원되므로 아래와 같이 서포트가 가능하다. 테스트결과보기 if (!function_exists('str_contains')) { function str_contains($hay···
추억은 스며든다
평행세계>부끄러운 시한편
추억은 스며든다 추억은 계속 스며든다. 오랜 시간이 지나도, 더욱 선명하게 떠오른다. 추억에 물들어 있을때쯤 희미하게 떠오르는게 있다.그건 바로 아쉬움이다. 추억과 함께 아쉬움이 존재하기도 하고, 아련했던 추억에다시 돌아오지 않는 그 시절을 떠올려 보기도 한다. 하지만 결국 스며들기만 할뿐 돌아갈 수 없고 아쉬움만 생각하다어느세, 검게 물들어 버린다. 그···
PHP 변수 체크 함수 isset 과 empty
웹>PHP 일반
PHP에서 변수 체크시 많이 쓰는 함수는 isset 과 empty 함수가 있다. 이 두함수 관계는 서로 친척 관계정도로 생각하면 되나 엄밀히 따지면 사용하는 용도가 다르기 때문에 체크해야할 변수 상황에 맞게 써야 한다. isset 같은 경우 변수가 존재하는지에 대한 체크이며 empty 함수의 경우 변수의 값이 비었는지 체크하기때문에 주로 값 필 수 여부 체···
PHP를 통해 카카오 Karlo를 이용해보자
API서비스>카카오API
지난편에서 카카오에서 제공되는 인공지능 API 서비스중 하나인 KoGPT에 대해 알아보았다. 이번편에서는 이미지형 인공지능인 Karlo에 대해 간단하게 PHP 예제를 통해 알아보도록 하자 Karlo의 경우 KoGPT보단 조금 더 재밌는 결과물을 볼 수 있어 추후 내 API 서비스에도 추가해볼 예정이다. 사용 명령어는 간단하게 명령어(Prompt)를 입력하면···
유튜브API | 유튜브 Data API 시작하기
API서비스>유튜브API
유튜브 Data API는 유튜브의 등록된 동영상의 정보를 가져올 수 있는 유일한 API로 오래전에는 API 키값없이 자유롭게 가져올 수 있었으나 API가 제한없이 사용되다 보니 지금에 와서는 권한이 있는 사용자에게만 제공이 되었다. 또한 공식 API 문서가 생기면서 API 데이터 형태도 많이 변경되었는데 이는 유튜브에서 제공되는 문서에 잘 명시되어있으니 함···
SetEnvIf 를 활용한 헤더(header) 데이터 받기
웹>PHP 일반
API 작업 시 헤더에 중요 정보를 담아서 처리해야할때 가있다. 하지만 서버에 따라 apache_request_headers() 함수가 지원이 안되는 경우가 있는데 이때 해결방법으론 .htaccess 를 이용하여 별도 처리하는것이다. 작업은 조금 번거로울 수 있으며 아파치의 mod_setenvif 모듈이 설치되어있어야 해결가능하다. 그외 방법은 나도 찾아본···
웹서버 운영 - Centos 에서 yum을 이용하여 PHP 및 추가 패키지를 설치해보자
서버>Linux
지난번 편에서는 Centos 에서 아파치를 설치하는 방법에 대해 알아보았다. 이번편에서는 웹서버를 운영하는데 필요한 PHP 및 추가 패키지 설치하는 방법에 대해 알아보자 (이제와서 이야기하지만 서버 명령어 앞에 [root@localhost ~]# 의 경우 빼고 실제 명령어만 입력해 주어야 한다...ㅡ..ㅡ) PHP 저장소 추가 아래 명령어를 통해 php 저···
[PHP] 서버 디렉토리 조회 후 배열로 결과값을 보여주는 서포트 함수 | array_dir_filelist()
웹>PHP 서포트함수
이번에 소개할 서포트 함수는 서버내 디렉토리를 조회하여 정보를 배열로 보여주는 함수이다. 자세한 사용방법은 array_dir_filelist 함수내 주석을 참고하기 바란다. 생각해보니 작업하면서 사용할일이 거의 없기도 하지만 혹시나 필요할 경우 참고하여 사용하기 바란다. array_dir_filelist 함수 function array_dir_fileli···
[PHP] BASE64로 인코딩 된 데이터인지 판별하는 프로그램
웹>PHP 서포트함수
데이터 암호화/복호화 시 사용하는 암호화 방식에는 가장 많이 사용하는 base64 암호화 방식이 있다. 주로 데이터 전송시 암호화 후 복호화 하는 형태로 많이들 이용하는데 이번편은 해당 함수가 bas64 암호화로 된 데이터인지 검증할 수 있는 함수이다. base64chk() 함수 /* $base64_str => base64 encode string *···
[PHP] base64_serialize, base64_unserialize 함수
웹>PHP 서포트함수
이번에 소개할 함수는 serialize , unserialize PHP 기본 함수를 base64로 인코딩과 디코딩하여 처리해주는 함수이다. 그렇다면 왜 base64 로 인코딩 및 디코딩을 해주는지 궁금할 수 있다. 그이유는 바로 DB저장에 있으며 DB저장시 따움표 처리때문에 데이터가 손상될 우려가 있기때문에 그렇다면 MYSQL 이스케이프 처리하면 되지 않느···
1118회 로또 결과에 따른 분석
로또연구소>연구일지
1118회차의 로또 당첨번호가 정말 어처구니 없었다. 어떻게 이런 번호가 나올 수 있나 싶을 정도로 연속된 번호가 추첨되었는데 참으로 조작같은 번호가 아닐 수 없다. (동행복권 로또 당첨결과)
보안토큰을 적용하여 안전하게 FORM 전송을 하는 간단한 예제
웹>PHP 일반
최근들어 큰 프로젝트들이 많이 겹쳐 블로그 운영을 많이 못했던것같다. 현재 UI도 리뉴얼 구성중에 있긴하나 당분간은 엄두가 나지 않을듯 싶다. 이번에 소개할 내용은 보안토큰을 적용한 간단한 FORM 전송 예제이며 이 방법을 주로 사용하는 목적은 스팸(악성)글을 막기위한 용도로 많이 사용된다. 자세한 방법은 아래 예제 소스를 통해 알아보자. EX) 폼 파일 ···
REDINFO 사이트 RWS 기반 서비스 통합 안내
공지사항>업데이트
안녕하세요 사이트 관리자 입니다. 지금까지 블로그를 운영하다보니 처음 생각과는 다르게 흘러갔던 부분들이 많이 발생되어 이번에 사이트를 통합하게 되었습니다. 통합된 사이트는 같은 프레임워크르로 작동되는 사이트들로 메인 사이트, 블로그, 로또, API , 링커(준비중) 등의 사이트가 최종 통합되었습니다. 최초에는 이러한 서비스들을 조금 크게 보고 생각했는데 생···
javascript로 카드번호 입력하면 4자리마다 하이픈 또는 공백 자동으로 붙이기(+마스킹처리)
웹>HTML/CSS/JAVASCRIPT
이번편은 지난번 생년월일 입력 이벤트를 활용하여 카드번호 입력 후 4자리마다 하이픈 또는 공백등의 구분자를 붙여는 스크립트 예제에 대해서 알아보자. 참고로 기본적인 기능들은 앞서 생년월일 입력 이벤트와 유사하며 이를 조금만 활용하면되고 다만 카드 입력의 경우 보안이 중요한 만큼 마스크처리를 추가하였다. 카드번호 입력 후 유효성 체크하여 자동 구분자 넣어주는···
javascript로 생년월일 입력하면 슬래시 또는 하이픈 자동으로 붙이기 (+유효성 체크)
웹>HTML/CSS/JAVASCRIPT
생년월일은 과거 달력에서 선택하는 방식을 많이 채택하였지만 나이가 있으신분들은 한참을 뒤로 가야하는 불편함이 발생되어 요즘은 입력방식을 사용하는편이다. 이번편에서는 간단하게나마 생년월일 입력 후 슬래시(/) 또는 하이픈(-)을 붙여주는 스크립트이다. 본래 이번편에 소개하는 예제는 JS 라이브러리로 제공할 목적이였으나 시간상 여유가 없어 간단하게 입력 후 처···
아파치 웹서버 - Service Unavailable Error(503 에러) 해결 방법
서버>APM
아파치 웹서버에서 발생되는 Service Unavailable Error 에러는 서비스는 시작되었지만 접근할 수 없는 서버 내부 오류로 검색을 통해서 해결이 안되는 경우가 있다. 주로 검색을 하면 포트를 열어서 해결하라는 식으로 소개가되는데 이러한 방법으로도 끝까지 해결이 안되는 경우가 있다. 물론 포트를 사용가능하게 여는것도 필요하지만 가장 중요한건 서버···
첫사랑은 그랬다
평행세계>부끄러운 시한편
첫사랑은 그랬다. 보고만 있어도 좋고,생각만해도 그냥 좋았어 그렇게도 가기 싫었던 학교가너로 인해 매일 설레였어 고백이란 것도 모르고 살았던 나에게처음 고백의 용기를 준 게 너였어 너와 함께했던 순간부터그냥 온통 하루가 다 너였어.
아버지의 크기
평행세계>부끄러운 시한편
어릴적 아버지의 등은 거대하고, 기대고 있으면 포근했다무서운 일도 아버지의 등뒤에 숨으면 다 가려질것만 같았다 하지만 내가 커지면 커질 수록 아버지의 등은더 작아지셧고,내가 아버지만큼 컸을땐 아버지의 등은 굽어있었다 기대고 싶어도 더이상 기댈 수 없었다어릴적 보던 아버지의 등이 아니였다때론 안쓰럽기도하고, 심지어슬프기도 했다 하지만, 세월이 지나고보니아버···