Notes

Config

How to clone submodule on git project


Categories: Config
Tags: #Git #Programming #Development

인계 받은 프로젝트 내 git submodule이 포함되어 있었음. 일단 $ git clone 후, submodule을 실행하려니, submodule의 repository 주소가 인계자 아이디가 포함된 절대 주소 값으로 표현되어 있었음. (ex. https://{다른 사람 id}...

Elasticsearch using docker build


Categories: Config
Tags: #Elasticsearch #Docker

Docker build 로 Elasticsearch docker image 만들기 특정 이미지를 기반으로 하여 새로운 이미지를 만들 수 있는 Docker build에 대해 공부와 함께 이전에 ubuntu 14.04 위에 서비스로 elasticsearch 를 설치했던 내용들을 정리하...

Only anonymous user can read elasticsearch data by x-pack


Categories: Config
Tags: #Elasticsearch

x-pack으로 임의의 유저만 elasticsearch 데이터 read가 가능하고, 인증 받은 관리자만 데이터 수정 가능하게 만들기 Setup Elasticsearch 글을 따라 설치한 Elasticsearch는 인증 받지 못한 사용자가 REST API 를 통해 데이터 조작이 가능...

Migrate elasticsearch data using elasticdump


Categories: Config
Tags: #Elasticsearch

elasticdump 이용해서 Elasticsearch 데이터 옮기기 기존 Elasticsearch 데이터를 테스트나 백업을 위해서 다른 곳으로 옮겨야함. Data migration tool이 있는지 찾아보다가 Elasticdump 을 발견.

Nginx logrotate


Categories: Config
Tags: #Nginx

Nginx logrotate 설정 배경: nginx log가 한 파일에 계속 남고 있어서 용량이 점점 커지고 있었다. -rw-r—r— 1 root root 211889676 2019-07-17 09:44 access.log -rw-r—r— 1 root root 1662663 2...

Protecting from Clickjacking


Categories: Config
Tags: #Nginx #Security

클릭재킹(Clickjacking) 해킹 기법 중 하나. 관련 예방을 하지 않는다면, 웹 사이트에서 iframe 이라는 html 태그를 사용해서 주소가 다른 사이트를 불러올 수 있다.

DB

PostgreSQL data migration using pg_dump


Categories: DB
Tags: #PostgreSQL

PostgreSQL pg_dump 로 데이터 이동시키기 테스트를 위해서 기존 서비스 PostgreSQL(v9.5.5)에서 가지고 있던 데이터를 다른 곳으로 옮김.

Java

Jekyll

How to run jekyll in webstorm


Categories: Jekyll
Tags: #Blog #Jekyll #Webstorm

이전까지는 webstorm 내 terminal 에서 명령어를 사용하여 local에서 테스트함. jekyll을 webstorm 에서 Run button으로 돌리는 방법 조사.

Linux

Check an expiration date of PEM file on ubuntu


Categories: Linux
Tags: #SSL #Ubuntu

Ubuntu에서 PEM 파일 만료 기간 알아보기 Ubuntu에서 특정 PEM 파일에 대한 만료 기간을 알아보고 싶을 때, openssl을 사용. $ openssl x509 -enddate -noout -in {file path/file.pem} notAfter=Dec 28 23:...

Activate back-space by changing vi setting on Ubuntu


Categories: Linux
Tags: #Ubuntu #vi

Ubuntu에서 vi setting 변경하여 백스페이스 활성화 Docker로 설치한 Ubuntu에서 vi로 파일을 수정할려고하는데, 백스페이스를 누를 때 이상한 글씨가 써지는 현상이 있었음.

Ruby

Get HTML meta data by Ruby library


Categories: Ruby
Tags: #Ruby #Script

HTML meta 데이터 가져오는 Ruby 스크립트 만들기 URL으로 HTML meta 데이터를 가져와 보여주는 Jekyll Plugin을 만들고 싶어서, 해당 기능을 가지고 있는 Ruby 라이브러리들을 찾아봄. URL을 입력값으로 meta 데이터를 객체로 매핑해서 반환해주는 것...

Service

Heroku에 SpringBoot App을 무료로 배포해보자


Categories: Service
Tags: #Spring boot #Heroku

Heroku에 SpringBoot App을 무료로 배포해보자 개인적으로 공부한 내용이나 하드웨어 리소스가 많이 필요하지 않은 간단한 백엔드 서비스를 개발하고 배포해보고 싶었음. 개인 서버나 클라우드 서버스를 사용하면 되지만 비용이 발생함. 초기에 무료로 사용할 수 있는 서비스가 있...

Heroku에서 MariaDB를 무료로 사용해보자


Categories: Service
Tags: #Heroku #MariaDB

Heroku에서 MariaDB를 무료로 사용해보자 Heroku에 SpringBoot App을 무료로 배포해보자에 이어서 DB도 무료로 사용해보기로 하였다. DB를 사용하기 위해서는 heroku addon이 필요하다. 그리고 addon을 사용하기 위해서 신용카드 등록이 필요하다. 등...

Spring

Monitoring HikariCP Log on Spring Boot


Categories: Spring
Tags: #Spring boot #Java

문제 상황 배포 이후, 지속적으로 DB Connection이 증가하여 DB와의 연결이 끊어지는 문제가 발생하였다. 특정 API에서 DB Connection이 정상적으로 종료되지 않고, sleep 상태로 가기 때문이었는데, 이를 확인하기 위해서 Connection Pool을 log로...

Swift3

UIView extension for add/remove border


Categories: iOS Swift3
Tags: #iOS #Swift3 #UIView

iOS UIView 방향별 border 추가/삭제 iOS에서 Swift3로 UIView의 top, bottom, left, right 에 border 추가/삭제할 수 있는 코드. extension을 이용하여, UIView에서 해당 함수를 접근할 수 있음.

Tool

How to setup docker on macOS


Categories: Tool
Tags: #Docker

Overview Docker를 brew로 macOS에 설치하는 방법에 관한 포스트. Docker 공식 홈페이지에서는 Docker for Mac이라는 dmg 파일을 다운로드 받아 설치하는 방법을 소개함.

How to build docker image from dockerfile


Categories: Tool
Tags: #Docker #Dockerfile

Overview Docker는 Dockerfile로부터 명령어들을 읽어 image들을 자동적으로 빌드할 수 있다. Play framework v2.5.18 for scala 프로젝트의 배포된 bin파일이 JRE 8u151이 설치된 Oracle linux v7.2 docker im...

Start jenkins with Bitbucket


Categories: Tool
Tags: #Jenkins #Continuous Integration

Jenkins 와 Bitbucket 연동으로 CI 시작하기 기존 작업 방식은 다음과 같음. 개인 컴퓨터(Local)에서 작업 진행 → 개발 서버 git bare repository 에 Commit & Push → git hooks shell script 으로 push 발생...

ngrok - Tool for Public URLs


Categories: Tool
Tags: #ngrok

ngrok 로 localhost 를 Public url 로 접근 https를 사용해서 접근해야하는 프로젝트에서 로컬 개발 환경해서는 https를 따로 설정하기 힘듬. 그런데 ngrok 를 활용하면 localhost를 Public URL로 http, https 둘 다 접근 가능함. ...

Using bash cmd on dockerfile


Categories: Tool
Tags: #Docker

Dockerfile 에서 CMD bash 명령어 사용하기 DOCKERFILE 내 container 를 docker run할 때 서비스 시작하기 위해서 CMD 키워드를 사용. 하지만, CMD service elasticsearch start로 하였을 때 서비스가 시작하지 않았음. ...

Debug a web app using Simulator & Safari on Mac


Categories: Tool
Tags: #Web #iOS #Safari #Mac

Mac에서 iOS Simulator와 Safari를 사용한 웹앱 디버깅 모바일 웹앱 개발을 하면 모바일 사파리에서 디버깅을 해야할 때가 있다. 모바일 사파리는 다른 브라우저는 물론 맥 사파리와도 다른 동작을 보여줄 경우가 있기 때문이다.

Web

Building WebAssembly on MacOS


Categories: Web
Tags: #WebAssembly

C/C++ 코드를 WebAssembly로 빌드하기 위한 Mac OS X 환경 설정 Emscripten 설치 가이드를 참고하여 C와 C++을 WebAssembly로 컴파일하기 위한 도구 Emscripten 설치

Basic Concepts of Web Worker


Categories: Web
Tags: #WebWorker

Web Worker 기본 개념 Worker 는 생성자를 사용하여 생성하는 객체. ex) new Worker("worker.js") 위의 예의 worker.js 파일에는 Worker 스레드가 실행할 코드가 존재. 이는 현재 윈도우와 다른 전역 컨텍스트에서 실행됨. 그래서 W...

VueJS mixin 과 extends 차이


Categories: Web
Tags: #JavaScript #Vue

VueJS mixin 과 extends 차이 동일 이벤트훅이 지정되었을 때의 호출 순서 mixins 와 extends 가 어떻게 다른 건가요? 질문 글에 대한 답변으로 Composing Vue.js Components 글이 언급됨. 내용은 아래와 같았음. ...

Behavior of JavaScript addEventListener


Categories: Web
Tags: #JavaScript #Vue

개요 특정 Vue component의 mounted에서 component 내부 특정 DOM 들에 addEventListener로 이벤트 함수를 걸어줌. 이 component는 사용자가 다른 페이지로 넘어가면서 destroyed 됨. 이 때 component 내부 DOM들에 걸려있는...

Cross-Origin Resource Sharing (CORS) 문제 해결 및 개념


Categories: Web
Tags: #JavaScript #CORS

문제 상황 공통 컴포넌트를 라이브러리 형태로 배포해서 여러 다른 서비스(도메인)에서 임포트하여 사용 공통 컴포넌트에서는 데이터를 가져오기 위해서 공통 컴포넌트 관리 서버의 API를 호출 ex. https://service-a.jungbin.kim/ind...

Not working strip-ansi on IE11


Categories: Web
Tags: #JavaScript #Webpack #Polyfill

IE11에서 strip-ansi 사용 시 에러 IE11 브라우저로 접속 시, module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input; 지점에서 에러가 발생하면서 테스...

iOS

iOS Ad-hoc deploy


Categories: iOS
Tags: #iOS #ad-hoc #Deploy

Archive App을 빌드하는 것을 archive 라고 함. xcode 최상단 top 메뉴바에서 Product > Archive Archive가 완료되면, 지금까지 빌드한 앱들의 히스토리를 볼 수 있는 창이 뜸. 이 창은 Window > Organizer 으로 이동 ...

UIView extension for add/remove border


Categories: iOS Swift3
Tags: #iOS #Swift3 #UIView

iOS UIView 방향별 border 추가/삭제 iOS에서 Swift3로 UIView의 top, bottom, left, right 에 border 추가/삭제할 수 있는 코드. extension을 이용하여, UIView에서 해당 함수를 접근할 수 있음.

Google Analytics on iOS


Categories: iOS
Tags: #iOS

iOS App 에 Google Analytics 라이브러리 연동 (Swift 3.2 / Xcode 9 초반) 코코아팟으로만 라이브러리 임포트를 했을 경우, import가 안되는 현상이 있음. Google Analytics 라이브러리 임포트하는게 제일 어려움.