アマゾンは何故電池を作ったのか

Amazonでチラホラ見かけるプライベートブランド

 

リンクを踏むと電池が出てきた。

なんで電池なんて差が出にくい商品を後発でわざわざ作るのかと疑問に思ったが、商品リストみてわかった。

 

需要はあるけど特にこだわらずに買う商品だ、これ。

ECのビックデータがあれば、人がどんな商品を選ばずに買うか分かるもんな。

IBMのクラウドイベント行ってきます

ラスベガスです。もちろん仕事です。

 

ちなみにクラウドは、Googleが好きです

sshが$HOMEを認識しない件

それは暑い夏の夜だった(嘘)

devenv@5c769486646f% ssh -T git@github.com
Could not create directory '/home/devenv/.ssh'.
・・・
devenv@5c769486646f% echo $HOME
/docker_home
devenv@5c769486646f% cat /etc/passwd | grep devenv
devenv:x:1000:1000::/home/devenv:/bin/zsh

というわけで、色々とDockerfileを書き換えてました。 説明は面倒なのでコードだけ。

FROM ubuntu:16.04

ENV USER_NAME devenv

# install applications
RUN apt-get update \
    && apt-get install -y \
       vim \
       git \
       zsh \
       ssh \
       wget \
       unzip \
       language-pack-ja-base \
       language-pack-ja \
    && rm -rf /var/lib/apt/lists/*

RUN useradd -s /bin/zsh $USER_NAME
RUN mkdir /docker_home \
    && chown -R $USER_NAME /docker_home
ENV HOME /docker_home
RUN sed -i -e "s|/home/$USER_NAME|$HOME|g" /etc/passwd
USER $USER_NAME

# download dotfiles from github
RUN git clone https://github.com/inon3135/dotfiles.git $HOME/dotfiles \
    && cat $HOME/dotfiles/_vimrc >> $HOME/.vimrc \
    && cat $HOME/dotfiles/_zshrc >> $HOME/.zshrc

CMD /bin/zsh

エディタ 2分の1

やはり開発環境のDockerが欲しいかもしれない

vimはどうせローカルにも入れるから必要ないかと思っていたが IDE的に色々とライブラリとか読み込んで補完してもらうには ライブラリと同じ環境で動くvimが必要だわ

ということで、開発環境を作ってみる。

ただ、実行は別コンテナにしたい。 余計なものが入った環境ではない場所で実行し、テストしたいからだ。

さしあたってはGoogle App Engine/Pythonの環境を作る。

vimプラグインも色々入れないとな。

あ、baseコンテナはubuntuの方が 日本語入力しやすかったのでgoogle/cloud-sdkは取りやめました。

よろしい、ならばエディタ戦争だ 3

さぁ諸君 .vimrcを作るぞ

環境に応じて色々書き換えることを想定し、.vimrcはどのファイルを読み込むかだけを記す。

~/dotfiles/_vimrc

" -*- encoding:utf-8 -*-

let locate='jp'
"let locate='en'

if has('unix')
    source ~/dotfiles/vim/basic.vim
endif


"日本語環境限定の設定ファイル読み込み
if locate=='jp'
    source ~/dotfiles/vim/japanese.vim
endif

特に想定利用用途を考えていないvim設定ファイル

~/dotfiles/vim/basic.vim

" -*- encoding:utf-8 -*-

" 自動色付け
syntax on

" 行番号を表示
set number
" ファイル名を表示
set title
" 自動インデント
set smartindent
" tab保管 → リスト表示&共通部分まで自動入力
set wildmode=list:longest
" tab入力をspace入力へ
set expandtab
" backspaceでtabに相当するスペースを削除
set smarttab
" tab文字で移動するスペース量
set tabstop=4
" tab入力で入力されるspace文字量
set shiftwidth=4
" カーソルがあるラインを強調
set cursorline
" 80列目を色付け
set colorcolumn=80
" ビープ音を文字表示へ変更
set visualbell
" backspaceで特殊文字を消せるように
set backspace=indent,eol,start
" 改行を無効化
set nowrap
" 不可視文字を表示
set list
" 不可視文字を設定
set listchars=tab:>.,eol:$,trail:-,nbsp:%,extends:>,precedes:<
" ステータスを常時表示(2=always)
set laststatus=2
" 入力中のコマンドをステータスに表示する
set showcmd
" activate modeline
set modeline
" インデントで折りたたむ
set foldmethod=indent
" 折りたたみ開閉バーを左側に表示
set foldcolumn=1


" 検索関連
    " 検索を大文字小文字区別しない
    set ignorecase
    " 検索文字から動的に大文字小文字区別する
    set smartcase
    " 終わりまで検索したら頭に戻る
    set wrapscan
    " 検索入力中に検索を実施する
    set incsearch
    " 検索対象文字をハイライト表示する
    set hlsearch
    " 256色を有効にする
    set t_Co=256

    " <Esc>2回でハイライトを消す
    nnoremap <Esc><Esc> :nohlsearch<CR><Esc>


" マッピング
    " Y: カーソルから行末までヤンク
    nnoremap Y y$
    " +: 数値をプラス1
    nnoremap + <C-a>
    " -: 数値をプラス1
    nnoremap - <C-x>


if has('mouse')
    set mouse=a
endif

日本語環境の場合読み込む設定ファイル。全角スペースをハイライトさせている。

~/dotfiles/vim/japanese.vim

scriptencoding utf-8

function! ZenkakuSpace()
    highlight ZenkakuSpace cterm=reverse ctermfg=DarkMagenta gui=reverse guifg=DarkMagenta
endfunction

augroup ZenkakuSpace
    autocmd!
    autocmd ColorScheme       * call ZenkakuSpace()
    autocmd VimEnter,WinEnter * match ZenkakuSpace / /
augroup END

call ZenkakuSpace()

よろしい、ならばエディタ戦争だ 2

諸君 私は公式マニュアルを望んでいる

UbuntuにDockerを入れる。

Dockerは更新頻度が高い発展中のアプリのため、公式の手順書以外に導入方法を説明するのは混乱を生みかねない。 一つ言えるのは、Ubuntu 16.04 LTSで普通にaptでインストールすると古いバージョンが採用される。

続きを読む

よろしい、ならばエディタ戦争だ 1

諸君、私はVIMが好きだ

ゼロから始めると言ったので、ほんとうにゼロから始める。 具体的には、エディタの準備など開発環境の整備からだ。 マイルストーンとしてCMSを作ると言ったが、 CMSを作るために環境を作るのが本当の第1歩だろう。

続きを読む