Saturday, August 18, 2018

뉴라이트의 기본적인 개념과 특징


뉴라이트 


한국에서 자칭 신우익을 이르는 말. 영어의 신(new) + 우익(right)의 합성어이다. 
옛날 종북주의자 시절의 파시즘과 전체주의적 사상을 간직한 채 친일반민족행위 옹호로 돌아선 사람들이다. 
우파를 가장한 짝퉁 우파이며, 해외에도 비슷한 성향의 우파는 거의 없다고 볼 수 있다. 기본적으로 우파, 극우들은 민족주의를 지향한다. 하지만 웃기게도 한국의 자칭우파, 실제 극우익들은 침략국을 옹호하고 자국 역사를 의도적으로 폄하하며 자국민을 무시하며 상처를 입힌다.
정치, 역사에 대한 평가는 사람마다 다르며, 성향이 다른 것은 당연하지만 지켜야 할 선이 있기 마련인데, 뉴라이트들은 그 선을 마구 넘는 없어져야 하는 종류의 집단이다. 


특징


이승만에 대한 극단적인 찬양

자신들이 종북주의자에서 전향하기 전 김일성의 자리에 이승만을 앉혀서, 이승만을 국부, 건국의 아버지 등으로 평가할 뿐 아니라 이승만에 대한 비판을 대한민국 정통성을 부정하는 것으로 받아들인다. 근데 정말 웃긴건 1919년 건국을 주장한 이승만 대통령의 주장과 달리 1948년도 건국을 고수하고 있다. 그토록 찬양하는 사람의 주장을 반대하고 있는 것이다. 

신자유주의에 대한 맹목적인 지지

신자유주의를 지지하는 것은 정상적인 우파가 지향하는 것이기도 하다. 하지만 이들은 자유주의 정책과 거리가 먼 박정희의 정부 주도 성장 또한 찬양하고 있다. 한마디로 제대로된 정체성이 없는 것이다. 

식민지 근대화론

내 생각에는, 애매하긴 하지만 식민지 근대화론 자체가 문제라기 보다는 식민지 수혜론을 주장하는 것이 문제이다. 물론 뉴라이트 중에도 수혜론이 아닌 근대화론을 주장하는 사람도 있다. 하지만 강하게 언급하는 인사들 중에 수혜론을 주장하는 무지한 사람들이 많다. 

조중동의 전폭적인 지지

박근혜 전 대통령이 역사교과서를 자칭 좌파 역사교육을 바로 잡을 '대안교과서'로 바꾸려고 하였을 때 (한국사 교과서 국정화 상태) 조중동에서 뉴라이트를 옹호하는 사설들이 올라오기도 하였다. 조중동의 정체성에 대해서도 알 수 있었던 대목이다. 

정치 우파진영과의 교감

현재 자칭 우파 정당에는 뉴라이트와 교감하는 극단적인 극우들이 수 없이 존재한다. 나중에 해당되는 인물들에 대해서 리스트를 작성하여 과거 발언과 행동을 모아보고자 한다. 

사내 메신저 간단 정리

전 회사에 도입을 하기 위해 검토했었던 사내 메신저를 정리한 내용입니다. 
오픈 튜토리얼스에 작성했던 글인데, 블로그에도 옮깁니다.


1. Slack(https://slack.com)


협업을 위한 도구로써 커뮤니케이션과 파일 공유가 주된 목적이고, 팀(Channel)을 중심으로 움직인다.

장점

  • 지원되는 integration이 많이 있다. (ex : Google Drive, Dropbox, Trello...)
  • 커뮤니케이션을 목적으로 채팅방(카톡과 비슷)을 제공하므로, UX가 익숙함.


채팅형식
  • Direct Message 기능이 있어, 카카오톡을 대체할 수 있다.(1:1, 3인 이상)
  • 프로젝트 안에서 공유된 파일을 모아서 확인할 수 있다.


파일 모아보기 기능
  • 대화 내용중 필요한 내용은 북마크 할 수 있다.
  • thread 기능이 제공된다.(채널에서 주고 받는 메세지에 댓글 형태의 커뮤니케이션을 할 수 있도록 해주는 기능)

단점

  • 기능, 메뉴 등이 영어로 되어 있음
  • 유료다(무료 버전 : 검색할 수 있는 메시지 10,000개, 외부통합 10개로 제한, 파일 용량 5GB)
  • 대용량 파일을 전송하는데 속도가 느리다.
  • 메신저 형식이기 때문에, 멤버들이 메시지를 모두 확인해야 한다는 강박관념을 느낄 수 있음.



2. 잔디(https://www.jandi.com/landing/kr)


슬랙과 상당히 유사한 국내 서비스 (vs 슬랙)


장점

  • 슬랙과 거의 비슷한 기능으로, 메뉴 등이 한글이므로 사용하기 편리하다.
  • 무료 버전으로, 연동할 수 있는 앱 수가 무제한이다.(연동가능한 앱의 종류는 슬랙이 많음)


단점

  • 1:1 채팅방만 존재하는 듯 하다. 3명 이상의 인원이 채팅할 수 있는 기능이 없다.
  • 슬랙에 있는 thread 기능이 없어, 대화 중 계속 이야기를 이어가야 하는 사항에 대해서 추적하는 것이 힘들다.



3. 그랩(https://www.grap.io/intro)


카카오톡과 페이스북을 합쳐 놓은 메신저 프로그램


장점

  • 페이스북의 뉴스피드 기능이 있으므로, 뉴스피드에는 중요한 내용만을 올려서 공유하는 것이 가능하다.
  • 뉴스피드에서 팀별로 공유된 일정과 파일을 쉽게 볼 수 있다.
  • 출근, 퇴근, 휴가 중 등의 상태를 나타내는 기능이 있다.
  • 마이룸이라 하며, 개인적으로 무언가를 공유할 수 있는 공간이 있음

단점

  • 외부 프로그램과 연동하는 기능이 없다.
  • 대화하는 내용중에 중요한 내용을 북마크 할 수 있는 기능이 없다. 
  • 기능을 이용하는데, 부자연스러운 부분이 있음(새로운 알림을 확인했음에도 자동으로 읽음으로 전환되지 않는 점, 등록된 일정이 자동으로 표시되지 않는 점 등..)


Monday, July 30, 2018

golang hello world 및 패키지 사용해보기

이전 글 : go 언어의 소개와 설치 

일단 golang을 설치한 후, gopath에 대해서 한번씩 읽어보는 것을 추천.(참고)


테스트 프로젝트 구조


$GOPATH 폴더 안에는, 다음과 같은 3개의 폴더를 반드시 작성
src - 소스 파일(*.go등..)을 배치
pkg - 컴파일된 파일(*.a)이 배치됨
bin - 실행 파일이 배치됨

해당 글에서 사용하는 폴더와 파일들의 최종 구조는 다음과 같다.



기본 패키지 작성해 보기


pkg 폴더에는 패키지 파일이 자동으로 생성되어 위치되고, 그 기초가 되는 소스 코드는 src 폴더 밑에 작성한다. 일단 이번에는 mymath라는 폴더를 작성하였고, mymath는 추후에 패키지 명으로 사용된다. 패키지를 작성할 시에는 반드시 패키지명과 같은 이름의 폴더를 src밑에 생성해야 한다.

여기서, mymath 폴더에 sqrt.go라는 파일을 생성한다. 코드는 다음과 같다. 

위의 코드를 작성한 후, mymath 폴더로 이동하여 go install 커맨드를 실행하면 mymath.a라는 컴파일된 바이너리 파일이 $GOPATH/pkg/${GOOS}_${GOARCH} 폴더 밑에 생성된다. 



작성한 패키지 사용해 보기


바이너리 파일인 mymath.a를 import해서 사용할 수 있다. src/mathapp 폴더 밑에 main.go라는 소스 파일을 작성한다. 코드는 다음과 같다. 

위의 코드를 저장한 후, mathapp 디렉토리로 이동하여 go install 커맨드를 실행한다. 그러면 $GOPATH/bin 폴더 밑에 mathapp.exe 라는 실행 파일이 생성된다. 해당 파일을 실행하면 코드가 실행되며 다음과 같은 결과가 나타난다.

Saturday, July 21, 2018

docker-compose 이용해보기

기본적으로 docker for mac 설치를 전제로 합니다. 현재 공부 중이므로, 정확하지 않은 내용이 있을수도 있습니다.
go 개발환경을 docker를 이용해서 구축해 보려고 노력중입니다.


폴더 구성(호스트 측)


일단 기본적으로 프로젝트 폴더의 구성을 다음과 같이 함. containers폴더 밑에 앞으로 추가할 서비스들(golang, mysql 등등..)을 폴더별로 만들어 나갈 예정이고, 그 밑에 각 서비스들의 dockerfile을 작성할 계획.
docker-compose.yml은 프로젝트 작업 폴더의 루트에 두는 것이 일반적이라고 함.



docker-compose.yml


연결하여 사용하고자 하는 여러 서비스들에 대해서 기본적인 구성을 정의하는 역할을 하는 파일

version: '3'

yml의 기술 버전을 의미


build

Dockerfile이 있는 폴더 경로를 지정. 경로는 docker-compose.yml 파일이 있는 곳으로부터의 상대 패스를 작성.
docker-compose build 명령어를 실행할 경우, 지정한 폴더 바로 밑의 Dockerfile을 읽어서 실행.


volumes

호스트(로컬 PC)와 컨테이너의 폴더를 동기화 시키는 역할. 예를 들어, ./containers/nginx/html:/var/www/ 은 호스트의 ./containers/nginx/html 폴더를 컨테이너의 /var/www에 마운트 한다는 의미.


ports

포트의 공개 내용. "8080:80" 은 호스트측의 8000 포트와 컨테이너측의 80 포트를 연결한다는 의미.



nginx의 Dockerfile


FROM

Docker 이미지를 구축할 때, 기본적으로 사용하게 될 이미지를 지정. 로컬에 해당 이미지가 없을 경우, docker hub에서 자동으로 다운로드.


RUN

컨테이너 내에서 실행할 커맨드를 지정. docker-compose build 명령어를 입력할 시, 해당 커맨드가 실행.



실행


docker-compose build 커맨드를 입력하여 연결된 서비스들을 실행시킬 수 있는 이미지를 생성한 후, docker-compose up 커맨드를 입력하여 이미지의 컨테이너를 실행
브라우저에서 localhost:8080을 입력하면, 호스트측의 html폴더 밑의 index.html가 표시되는 것을 확인 가능.

이로써, 해당 docker이미지를 실행한 후, 호스트측의 index.html파일을 수정하면 자동으로 반영이 되는 것을 브라우저에서 확인 가능.

Monday, July 9, 2018

Docker 기본적인 컴포넌트 소개

Docker 컴포넌트


 docker는 코어 기능을 제공하는 "docker engine"을 중심으로, "이미지 작성 -> 공개 -> 컨테이너 실행"을 하기 위한 컴포넌트(부품)가 제공된다.


주요 컴포넌트는 다음과 같다.

Docker Engine (Docker의 코어기능)

 Docker이미지 생성이나 컨테이너의 실행등을 하기 위한 코어 기능
 Docker 커맨드나 DockerFile을 이용하여 이미지를 생성한다.


Docker Machine (Docker 실행 환경 구축)

 Docker 커맨드를 이용하여 하이퍼바이저, VirtualBox, AWS, AZURE등의 클라우드 환경에 Docker 실행 환경을 자동 생성하기 위한 툴


Docker Compose (복수의 컨테이너 일원 관리)

 복수의 컨테이너 구성 정보를 코드로 정의하고 커맨드를 실행함으로써 어플리케이션 실행 환경을 구성하는 컨테이너들을 일원 관리 하기 위한 툴


Docker Registry (이미지 공개/공유)

 Docker image를 공개/공유하기 위한 레지스트리 기능
 Docker 공식 레지스트리 서비스인 Docker Hub도 해당 기능을 사용하고 있음


Docker Hub (Docker 공식 레지스트리)

 CentOS, nginx등의 공식 이미지는 해당 레지스트리로부터 다운로드 가능하다.
 public이므로 많은 유저들이 자신들의 이미지를 공개하고 있다.
 Docker image를 private로 하고 싶을 경우, 사내 서버에 Docker Registry을 만들고 push하면 된다.



Friday, July 6, 2018

go언어의 소개와 설치


Go 언어란?

 google에서 개발한 프로그래밍 언어로써, 보통 golang 으로 표현한다.


특징

크로스 컴파일 서포트

 컴파일시에 OS나 CPU아키텍처를 지정하는 것이 가능하기 때문에, 각각의 환경에 맞춘 실행 파일 생성이 가능하다.

병행처리 서포트

 고루틴(goroutine)이라는 경량 쓰레드를 사용해서 병행처리가 가능하며, 동시에 실행되는 고루틴 간에는 채널 기능을 사용하여 데이터를 주고받는 것이 가능하다.

풍부한 개발환경

 기본적으로 제공되는 표준 패키지가 풍부하기 때문에, 개발시에 활용하기가 쉽다.
 커맨드나 툴도 다수 존재함


Golang으로 불가능한 작업

 다른 프로그래밍 언어에 친숙한 사람에게는 사용하기 불편한 부분이 존재한다.
 그 부분은 각 프로그래머 간에 코딩 스타일에 따라서 코드의 차가 발생하는 것을 방지하기 위한 것.

if문 통일

 삼항연산자를 사용할 수 없다.
 (조건식 ? 조건이 참일 경우 : 조건이 거짓일 경우)

반복문이 for문밖에 없다.

 while이나 do/while등의 구문을 지원하지 않는다.

포인트 연산이 없다.

 포인터나 포인터 연산이 배제되어 있기 때문에, 메모리 누수를 회피할 수 있다.

암묵적인 형변환 배제

 형변환을 확실하게 표시하지 않으면 에러가 발생함


설치

  1. https://golang.org/doc/install 액세스
  2. "Download Go" 버튼 클릭
  3. Go1.10.3.windows-amd64.msi 파일 다운로드
  4. 인스톨(default : C:¥Go)


설치 확인

  1. Go프로젝트를 배치하고자 하는 폴더를 정해서, 그 밑에 src/hello 디렉토리를 생성
  2. 해당 디렉토리 안에 hello.go파일 생성
  3. 아래의 코드를 작성
  4. cmd로 hello.go파일이 위치하고 있는 폴더로 이동하여, go build를 입력
  5. 에러 메세지가 발생하지 않으면 설치가 정상적으로 성공
  6. hello.go와 같은 디렉토리에 hello.exe이 생성되어 있는지 확인
  7. cmd에서 hello를 입력하여 "hello, world"가 표시되는지 확인

Sunday, June 10, 2018

RPAの定義


RPA(Robotic Process Automation)とは?


ロボットによる業務自動化の取り組みを表す言葉です。AIや機械学習といった技術を用いて、主にバックオフィスにおけるフワイトカラー業務の代行を担います。

主に表計算ソフトなどでユーザーが登録した作業を自動で繰り返し処理する「マクロファイル」のようなものです。大きな違いは、他のアプリケーションを使用するために必要とするAPIを開発段階で用意しなくても、ウェブアプリケーションやメールソフトといった他のソフトウェアも自動で操作ができることです。


RPAの3つのクラス


搭載された機能や適用対象となる作業の難易度によって3つのクラスに分けることができます。その中で、クラス2と3には、マシンラーニンングと呼ばれる自動学習機能が備わっているため、判断や検討を伴う高度な作業を担当させることができます。


クラス1(RPA)

人間が行ってきた定型業務を明確にこなすソフトウェアロボットで、複数のアプリケーションの連携を必要とする単純作業を得意としています。

クラス2(Enhanced Process Automation)

紙媒体によるアンケート用紙の集計や自由記述式による問い合わせの分析など、非構造化データを扱う作業のシステム化を得意としています。

クラス3(Cognitive Automation)

情報の整理や分析だけではなく、意思決定まで行うことができる自立度の高いソフトウェアロボットです。


デスクトップにおける作業を自動化する3つのアプローチ


座標で指定する方法

スクリーンの左上を座標の(0、0)として、右と下に何ピクセル離れてるかを指定する方法です。スクリーン全体じゃなく、特定のアプリケーションのウィンドウ枠を基準にすることも可能です。
シンプルで簡単だけど、画面の解像度やアプリケーションの位置が変わると正しく座標が指定できなくなる問題があります。

画像認識を使う方法

画像をロボットに覚えさせて、それと同じ画像がスクリーン上にあると捕捉する方法です。よく使われるのは、特定のボタンを認識させるケースです。

対象のオブジェクトを構造的に検出する方法

ウェブで例えると、HTMLの構造で「どのタイトル」の下の「どのテーブル」の下の「ある属性」というように指定する方法です。pythonとかでウェブページをスクレイピングする方法に似ているような気がします。

뉴라이트의 기본적인 개념과 특징

뉴라이트  한국에서 자칭 신우익을 이르는 말. 영어의 신(new) + 우익(right)의 합성어이다.  옛날 종북주의자 시절의 파시즘과 전체주의적 사상을 간직한 채 친일반민족 행위 옹호로 돌아선 사람들이다.  우파를 가장한 짝퉁 우파...