[PHP] utf-8 문자열을 주어진 바이트로 자르기

php 에서 제공하는 substr 함수 등을 이용해 주어진 문자를 특정 바이트로 잘라야 하는 경우 영문이나 숫자는 문제가 되지 않지만 한글 등 utf-8 문자에서는 마지막 문자가 정상적으로 표시되지 않는 등의 문제가 발생한다. 이런 경우에 사용하고자 아래 함수를 만들었다. getSubstring 함수는 주어진 문자열을 주어진 길이(byte) 만큼 자른 후 리턴한다. 만약 주어진 길이만큼 자를 때 마지막 문자가 정상적인 […]

Read More

jenkins 에서 rsync 를 이용한 파일 배포

jenkins 에서 git, scp 를 이용한 파일 배포를 rsync 를 이용한 스크립트로 변경했다. 각 서버의 ip는 servers.dat 파일에 지정되어 있고 아래와 같은 형태이다. servers.dat 파일을 쉘 스크립트에서 읽어들인 후 각 서버로 rsync 를 이용해 배포하게 된다. rsync 를 이용하기 위해서는 각 서버에 jenkins 서버의 ssh 키가 미리 등록되어 있어야 한다. 동기화 때 제외될 디렉토리와 파일을 […]

Read More

jenkins 에서 git, scp 를 이용한 파일 배포

jenkins 를 이용해 github webhook 을 이용해 배포를 자동화하는 것을 지난 번에 테스트했다. 이번엔 배포 스크립트에 기능을 좀 더 추가하여 git 을 이용해 수정된 파일의 목록을 구하고 이 파일들만 서버에 배포하는 스크립트를 테스트해본다. 일반적으로 전체 파일을 scp나 rsync 를 이용해 배포하게 되는데 파일이 많을 경우 배포에 시간이 오래 걸릴 수 있기 때문에 수정된 파일만 목록을 […]

Read More

[PHP] webp 이미지를 jpg, png 로 변환

웹사이트에서 이미지 파일은 주로 jpg, png 포맷이다. 최근에 webp 라는 다소 생소한 이미지 파일이 사용되는데 webp 포맷은 구글에서 공개한 이미지 포맷이다. webp 포맷은 gif, jpg, png 포맷을 대체 가능하다는 것이 가장 큰 특징이다. php에서는 5.4 버전 이상에서 webp를 사용할 수 있지만 getimagesize 등의 일부 함수는 php 7.1 버전에서 webp 포맷을 지원하기 때문에 php 7.1 이상의 […]

Read More

[PHP] 추천인 코드 생성 함수

사이트 회원 가입 때 추천인 코드를 입력해야 하는 경우가 생겨 회원의 추천코드를 생성하는 함수를 아래와 같이 만들었다. 기존 회원의 회원번호를 이용해 코드를 생성한다. 위 함수를 이용해 생성한 추천인 코드는 회원번호가 123412341234 일 때 UXRI0PK1 와 같이 생성된다.

Read More