목록DevOps & Infra/TIL(Today I Learned) (5)
오늘도 한 뼘 더
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/U18A4/btrXkYxUZaq/jxg92wHR4DzGHJ39FvKVUK/img.png)
# 배경 wkhtmltopdf 패키지를 설치 후 wkhtmltopdf를 사용하여 만든 pdf를 열었는데 한글이 깨져 있었다. # 원인 해당 작업은 Linux 환경에서 진행했는데 Linux는 기본적으로 한글을 지원하지 않아서 발생하는 문제였다. 한글 폰트를 설치해 주면 해결이 되는 문제였다. # 한글 폰트 설치 $ wget https://github.com/spoqa/spoqa-han-sans/releases/download/2.1.0/SpoqaHanSans_original.zip $ unzip SpoqaHanSans_original.zip $ mkdir /usr/share/fonts/spoqafont $ cd SpoqaHanSans_original $ mv *.ttf /usr/share/fonts/spo..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cNrxrA/btrWDb6ACAt/XfoiTWXQW2YGTKIenPjuwK/img.png)
# 배경 wkhtmltopdf 패키지를 ElasticBeanstalk으로 배포되는 서비스에서 사용을 해야 해서 해당 서비스에 패키지가 설치되어야 하는 업무가 주어졌다. ## Buildfile Buildfile에서는 build.sh에 작성된 쉘스크립트를 실행시킨다. build.sh를 코드 상에서 만들어서 git을 통해 올리면 build.sh가 실행 상태가 되지 않아 chmod 명령어로 실행 가능한 파일로 만들어주는 게 필요하다. make: chmod u+r+x ./build.sh make: ./build.sh ## build.sh ElastiBeanstalk을 배포할 때 이미 wkhtmltopdf가 설치되어 있을 경우 설치가 안되고 Fail이 떠서 그전에 삭제하는 작업을 먼저 진행해 주었다. 삭제하다가 오..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c5El0I/btrPp3UYpQx/Z2xcL2FJrs2Zzr7xtGFS1K/img.png)
# 배경 회사에서 Docker 업무를 하면서 로컬에서 golang 서비스를 Docker로 만드는 걸 진행했는데 잘 되지 않는 문제가 발생을 했고 시니어 분께서 Dockerfile을 봐주시면서 Multi-Stage Build라는 것을 알아보라고 하셨다. # Multi-Stage Build - Docker 이미지를 만들 때 Dockerfile을 사용하는데 이때, 이미지를 만드는 방식이 layer를 쌓는 방식이다. - multi-stage builds는 여러개의 "FROM"을 작성하여 하나의 Dockerfile에서 새로운 빌드 스테이지를 시작할 수 있게끔 한다. - 필요한 소스들만 COPY를 해서 사용함으로써 도커 이미지의 용량도 줄어드는 효과가 나타난다. # Multi-Stage Build 적용 전 - 시니..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9RsH7/btrPnfhfXfk/vtkBHe8az26MQaQccbgoe0/img.png)
# 배경 웹 프론트엔드 개발자로 일하고 있는 회사 동료 분이 현재 운영계에서 소스맵을 통해 우리의 코드가 오픈되는 것을 이야기하면서 소스맵을 비활성화 하는 방법을 제안하였다. # 소스맵(Source Map)이란? - 서버에 배포를 할 때 성능 최적화를 위해 HTML, CSS, JS와 같은 웹 리소들을 압축하는데 이 빌드, 배포된 파일을 원본 파일과 서로 연결시켜주는 기능을 한다. - 원본의 파일을 볼 수 있기 때문에 소스맵이 빌드,배포한 파일에서 에러가 날 때 디버깅이 가능할 수 있도록 도와주는 기능을 한다. 이런 디버깅은 편의성을 제공하지만 결국 코드가 노출이 되기 때문에 보안의 이슈가 발생할 수 있다. - 원본파일과 연결을 시켜주는 역할을 하기 때문에 소스맵이 활성화가 되면 메모리를 많이 쓰게 되면 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bb16Ra/btrPsZjUbLy/f991bBxu5NOVrJkNY0Lr0k/img.png)
배경 https://news.v.daum.net/v/20211211220417926 "컴퓨터 역사상 최악의 취약점 발견" 보도에 국정원 "선제적 조치 취해" (서울=뉴스1) 서재준 기자 = "컴퓨터 역사상 최악의 취약점이 발견됐다"라는 외신의 보도가 나오자 국가정보원은 11일 "선제적 조치를 취했다"라며 큰 피해가 발견되지 않았다고 밝혔다. AP통신은 news.v.daum.net 위 기사 내용과 같이 log4j의 보안 취약점이 발견이 되었고 Java를 기반으로 소스에서 log4j를 로깅 라이브러리로 많이 사용하고 있다고 해서 회사에서 사용 중인 Zeppelin, Jenkins에 대해서 log4j가 문제가 있는지 여부를 확인해 보았다. 조치 방법 1. Jenkins 브라우저에서 "https:///scrip..