본문 바로가기

전체 글233

루비 이스케이핑 함수 비교 루비에서 S3에서 다운받는 파일의 이름을 변경하려면 Content-Disposition 값을 설정해주어야 합니다. 영어라면 아무 문제가 없겠지만, 우리가 쓰는 한글은 여러가지 대응해야 할 문제들이 많습니다. 띄어쓰기가 +가 된다든가, 띄어쓰기의 %20이 그대로 출력된다던가, 쉼표가 들어간 경우 오류가 발생한다든가 다양한 상황이 발생합니다. 누군가의 삽질을 막기 위해, 한국어 레일즈 사이트들에서 발생하는 이슈를 막기 위해 이스케이핑 함수를 정리해 두겠습니다. CGI.escape 띄어쓰기가 +로 변환됨. URI.encode ,가 변환되지 않음 ERB::Util.url_encode 문제가 발생하지 않는 제일 좋은 함수. 쉼표, 띄어쓰기에 대한 대응이 잘 되어 있다. 참고한 것들 https://engineeri.. 2022. 10. 25.
MongoDB Replica Set 다시 설정하기 직접 관리하던 MongoDB 데이터베이스의 관리상의 어려움(용량 초과 등)이 있어서 MongoDB altas로 이전하려고 작업을 진행중인데, docker로 replica set이 설정된 상태로 서버를 생성했다가 지웠다가 하니까 상태가 Other로 바뀌어버렸다. rs0:OTHER> rs.status() { "state" : 10, "stateStr" : "REMOVED", "uptime" : 97, "optime" : { "ts" : Timestamp(1653792432, 1), "t" : NumberLong(2) }, "optimeDate" : ISODate("2022-05-29T02:47:12Z"), "lastHeartbeatMessage" : "", "syncingTo" : "", "syncSourc.. 2022. 5. 29.
Cloudflare Zero Trust를 이용하여 VPN 구축하기 기존 방식, 문제점 기존에 VPN을 구축하려면 OpenVPN이나 IPSec등을 사용했다. 그러나 종종 인터넷이 끊기기도 하고 나무위키처럼 Cloudflare를 사용하는 사이트에 접속할 때마다 CAPTCHA가 뜨는 등 여러가지 불편한 점이 있고, 속도도 느린점이 있어서 대체할 수 있는 소프트웨어를 찾다가 Cloudflare Access를 발견하게 되었다. Cloudflare Zero Trust Cloudflare는 원래 웹 방화벽 서비스를 제공하던 업체로, 방화벽 말고도 기업을 위한 다양한 서비스를 제공중이다. 서비스를 구축하면서 전 세계에 세운 네트워크를 이용해서 Cloudflare Warp이라는 무료 VPN 서비스도 선보였다. 이 서비스를 기업을 위해 내놓은 버전이 Cloudflare Zero Trus.. 2022. 5. 29.
alpine 리눅스에서 mime type check가 안되는 경우 해결 방법 도커 용량을 줄이기 위해서 alpine 리눅스를 사용하는 경우 정말 필수적인 프로그램만 깔려 있어서 mime type check 과정에서도 문제가 발생한다. 내가 사용하던 Paperclip의 경우 file이 존재하지 않음에도 아무 오류 확인이 진행되지 않아서 spoofed_media_type 오류가 발생한다. file 명령어를 사용할 수 있게 file을 설치해주면 간단히 해결된다. RUN apk add file -- https://github.com/thoughtbot/paperclip/issues/1429#issuecomment-559712374 2022. 5. 3.
Docker-compose 환경변수 재사용 Docker에서는 템플릿으로 서비스를 적어두고 그 서비스를 상속받아서 새로운 서비스를 만들 수 있다. app: &app build: context: . dockerfile: Dockerfile.dev environment: - ELASTICSEARCH_URL=elasticsearch backend: 2022. 5. 3.
싸지방 PC(하모니카 OS)에서 해상도 고치는 법 하모니카 OS에서 해상도가 올바르게 인식되지 않아서 화면이 찌그러지는 경우가 있다. 부대 내 전산반에 전화하거나 콜센터에 전화해도 해결해주지 않는다. 그래서 직접 찾아낸 해결방법이다. 우선, 일반 설정에서는 해상도를 추가할 수 없기 때문에 터미널을 이용해야 한다. 그러나 하모니카 OS는 터미널을 기본 제공해주지 않는다. 대신 우리에겐 VS Code가 있으니 VS Code를 실행한 후 터미널을 열어주자. 이후 xrandr -q 명령어를 이용하면 현재 사용 가능한 해상도 목록이 뜬다. guest-yrv58k@h21172:~$ xrandr -q Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192 DP-1 disconnected (norma.. 2022. 3. 19.