Shift + 숫자 키패드 동작을 Windows 처럼 동작하도록 설정

|

Shift + 숫자 키패드 동작을 Windows 처럼 동작하도록 설정

Ubuntu 버전마다 설정 방법의 차이가 있을 수 있습니다.

Ubuntu 16.04 LTS 에서는 gnome-tweak-tool 툴을 이용하는 것이 간편합니다.

  • gnome-tweak-tool 설치(sudo apt-get install gnome-tweak-tool)
  • gnome-tweak-tool 실행
  • Typing 항목 선택
  • Miscellaneous compatibility options 선택
  • Shift with numeric keypad keys works as in MS Windows 선택


만약 Ubuntu Mint 같은 버전을 쓸 경우에는 기본적으로 Keyboard Setting에 위 항목이 존재하는 경우가 있습니다.

  • System Settings에서 Keyboard 선택
  • Options 선택
  • Miscellaneous keyboard options 선택
  • Shift with numeric keypad keys works as in MS Windows 선택

alias 사용법

|

alias

alias 기능을 이용해서 자주 사용하는 명령어를 보다 간편하게 사용할 수 있습니다.

$ alias

alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

Go 언어 Proxy 설정 방법

|

Proxy Setting

go get 명령어를 사용할 때 Proxy를 거치도록 하는 방법입니다.

다음과 같은 방법으로 사용할 수 있습니다.

$ http_proxy=127.0.0.1:8080 go get github.com/revel/revel

alias 명령을 이용하면 좀 더 편리하게 사용할 수 있습니다.

$ alias go='http_proxy=127.0.0.1:8080 go'

Java Project Deployment 템플릿

|

Java 프로젝트 배포

Docker Image를 이용해서 배포하는 경우와 Git 소스 코드를 이용해서 배포하는 yaml 코드 예제입니다.

사용방법은 예시는 다음과 같습니다.

$ oc create -f deployment-using-docker-image.yaml

$ oc create -f deployment-using-git.yaml


전체 코드는 GitHub에서 확인할 수 있습니다.

Dockerfile

FROM centos:7

RUN yum update -y && \
yum install -y wget && \
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel && \
yum clean all

ENV HOME /app
WORKDIR /app

COPY ./app .

EXPOSE 8080

RUN javac /app/SimpleWebServer.java
CMD ["java", "SimpleWebServer"]


deployment-using-docker-image.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: java-sample
  labels:
    app: java-sample
spec:
  template:
    metadata:
      labels:
        app: java-sample
    spec:
      containers:
      - image:  snowdeer/java-sample:latest
        name: java-sample
        ports:
        - containerPort: 8080
          protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: java-sample
  labels:
    app: java-sample
spec:
  ports:
  - name: java-sample
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: java-sample
  type: LoadBalancer
---
apiVersion: v1
kind: Route
metadata:
  name: java-sample
  labels:
    app: java-sample
spec:
  port: 
    targetPort: java-sample
  to:
    kind: Service
    name: java-sample
    weight: 100


deployment-using-git.yaml

apiVersion: v1
kind: BuildConfig
metadata:
  labels:
    app: java-sample
  name: java-sample
spec:
  failedBuildsHistoryLimit: 3
  nodeSelector: null
  postCommit: {}
  resources: {}
  runPolicy: Serial
  source:
    git:
      uri: 'https://github.com/snowdeer/openshift-java-sample.git'
    type: Git
  strategy:
    dockerStrategy:
      from:
        kind: DockerImage
        name: 'ubuntu:latest'
        
    type: Docker    
  successfulBuildsHistoryLimit: 5 
  output:
    to:
      kind: ImageStreamTag
      name: 'java-sample:latest'
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: java-sample
  labels:
    app: java-sample
spec:
  template:
    metadata:
      labels:
        app: java-sample
    spec:
      containers:
      - image:  snowdeer/java-sample:latest
        name: java-sample
        ports:
        - containerPort: 8080
          protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: java-sample
  labels:
    app: java-sample
spec:
  ports:
  - name: java-sample
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: java-sample
  type: LoadBalancer
---
apiVersion: v1
kind: Route
metadata:
  name: java-sample
  labels:
    app: java-sample
spec:
  port: 
    targetPort: java-sample
  to:
    kind: Service
    name: java-sample
    weight: 100

Node.js Project Deployment 템플릿

|

Node.js 프로젝트 배포

Docker Image를 이용해서 배포하는 경우와 Git 소스 코드를 이용해서 배포하는 yaml 코드 예제입니다.

사용방법은 예시는 다음과 같습니다.

$ oc create -f deployment-using-docker-image.yaml

$ oc create -f deployment-using-git.yaml


전체 코드는 GitHub에서 확인할 수 있습니다.

Dockerfile

FROM node:carbon

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY ./app .

EXPOSE 8080

CMD [ "npm", "start" ]


deployment-using-docker-image.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nodejs-sample
  labels:
    app: nodejs-sample
spec:
  template:
    metadata:
      labels:
        app: nodejs-sample
    spec:
      containers:
      - image:  snowdeer/nodejs-sample:latest
        name: nodejs-sample
        ports:
        - containerPort: 8080
          protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: nodejs-sample
  labels:
    app: nodejs-sample
spec:
  ports:
  - name: nodejs-sample
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: nodejs-sample
  type: LoadBalancer
---
apiVersion: v1
kind: Route
metadata:
  name: nodejs-sample
  labels:
    app: nodejs-sample
spec:
  port: 
    targetPort: nodejs-sample
  to:
    kind: Service
    name: nodejs-sample
    weight: 100


deployment-using-git.yaml

apiVersion: v1
kind: BuildConfig
metadata:
  labels:
    app: nodejs-sample
  name: nodejs-sample
spec:
  failedBuildsHistoryLimit: 3
  nodeSelector: null
  postCommit: {}
  resources: {}
  runPolicy: Serial
  source:
    git:
      uri: 'https://github.com/snowdeer/openshift-nodejs-sample.git'
    type: Git
  strategy:
    dockerStrategy:
      from:
        kind: DockerImage
        name: 'ubuntu:latest'
        
    type: Docker    
  successfulBuildsHistoryLimit: 5 
  output:
    to:
      kind: ImageStreamTag
      name: 'nodejs-sample:latest'
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nodejs-sample
  labels:
    app: nodejs-sample
spec:
  template:
    metadata:
      labels:
        app: nodejs-sample
    spec:
      containers:
      - image:  snowdeer/nodejs-sample:latest
        name: nodejs-sample
        ports:
        - containerPort: 8080
          protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: nodejs-sample
  labels:
    app: nodejs-sample
spec:
  ports:
  - name: nodejs-sample
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: nodejs-sample
  type: LoadBalancer
---
apiVersion: v1
kind: Route
metadata:
  name: nodejs-sample
  labels:
    app: nodejs-sample
spec:
  port: 
    targetPort: nodejs-sample
  to:
    kind: Service
    name: nodejs-sample
    weight: 100