読者です 読者をやめる 読者になる 読者になる

2016年の買ってよかったもの8選

生活

2016年もそろそろ終わりに近づいてきたので、今年買ってよかったものを振り返りました。

  • パナソニック「LEDランタン」
  • モンベルの軽量折り畳み傘「U.L.トレッキングアンブレラ」
  • PALLADIUMの防水スニーカー「Pampa Puddle Lite WP」
  • 麻布テーラーのパターンオーダースーツ
  • Ankerポータブルスピーカー「SoundCore」
  • AppleiPod touch 128GB」
  • 無印良品「化粧水 敏感肌用 高保湿タイプ」
  • ユースキン「敏感肌用 保湿クリーム」
続きを読む

Pythonで複数の配列を同時にソート

Python IT

Python使ってて、複数の配列を同時にソートしたくなることありますね。

たとえば、キー配列をもとに値配列をソートしたいときとか…

そんなときはzipをうまくつかってください。

a = [2, 0, 1]
b = ["a", "b", "c"]

# zipで二つの配列を統合
c = zip(a, b)

c.sort()

# 統合していた配列をもとに戻す
a, b = zip(*c)

print(a)
print(b)
# (0, 1, 2)
# ('b', 'c', 'a')

結果を見ると配列aをキーにしてソートされていることがわかります。

結果がタプルで得られてることに注意しましょう。

ちなみに、配列が3つ以上でもzip(a, b, c, …)と増やしていけばOKです。

もしソートに使うキー配列を変えたい場合には、itemgetter()を使うとよいです。

from operator import itemgetter

a = ["a", "b", "c"]
b = [2, 0, 1]


c = zip(a, b)

# itemgetterには何番目の配列をキーにしたいか渡します
c.sort(key=itemgetter(1))

a, b = zip(*c)

print(a)
print(b)
# ('b', 'c', 'a')
# (0, 1, 2)

これでいくらでも好きにソートできますね!以上!

Ubuntuのターミナルで丸数字がずれる問題の対処法

IT Linux

問題

Ubuntuのターミナルで丸数字や特殊な全角を使っていると、表示がずれる問題があります。

f:id:xterm256color:20161120202407p:plain

画像のように、丸数字とその後の文字が重なってしまっています。

原因は、丸数字の表示幅が「半角」になってしまっていること。

対処法

対処法は簡単です。

  1. ターミナルの「編集」から「プロファイルの設定」を選ぶ

  2. 「互換性」のタブで、「曖昧幅の文字」を全角に変更する

f:id:xterm256color:20161120203355p:plain

f:id:xterm256color:20161120203406p:plain

結果

これでやったー直った!直った!ってります。

f:id:xterm256color:20161120203607p:plain

でもわざわざデフォルトが半角になってるのは意味があるのかな。。

知ってる人いたら教えてください!

Ubuntu で Windows 向けの共有フォルダ

IT Linux Windows

環境

  • OS:Ubuntu 16.04.1
  • HDD:2.0TB(Windows PC から引っこ抜いたもの)

おしながき

  1. HDD を確認
  2. マウント設定
  3. Samba 設定
  4. 接続確認

1. HDD を確認

HDD の情報を確認

sudo fdisk -l
...(省略)...

Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xa279bc1b

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1        2048 3907026943 3907024896  1.8T  7 HPFS/NTFS/exFAT

...(省略)...

今回は 1.8TB の sdb1 を共有フォルダにしていきます

2. マウント設定

上で選んだ sdb1 を自動マウントするように設定。ディレクトリ名(sdb1)は任意の文字列でOK

# マウント先のディレクトリ生成
sudo mkdir /mnt/sdb1

# マウント設定を追加
sudo vi /etc/fstab

Windows から引っこ抜いた HDD なので、ntfs という形式にしてます。Ubuntu で初期化したなら ext4 に書き換えましょう

...(省略)...

/dev/sdb1       /mnt/sdb1       ntfs    defaults        0       0

このタイミングで Ubuntu 再起動。

# 共有フォルダを作成。フォルダ名は適当に変えてください
sudo mkdir /mnt/sdb1/share

# 所有者・権限を変更
sudo chown nobody:nogroup /mnt/sdb1/share
sudo chmod 777 /mnt/sdb1/share

3. Samba 設定

Samba とは Linux 上で Windows 向けのファイルサーバを動かすソフト。詳しくはここ

# Samba インストール
sudo apt-get install samba

# Samba の設定ファイルに追記
sudo vi /etc/samba/smb.conf
[global]
   dos charset = CP932
   unix charset = UTF-8
   display charset = UTF-8

   map to guest = Bad User

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = WORKGROUP

...(省略)...

[samba]
   path = /mnt/sdb1/share
   writeable = yes
   force create mode = 0666
   force directory mode = 0777
   guest ok = yes
   guest only = yes

ファイルを書き換えたら Samba のサービスをリスタート

sudo /etc/init.d/samba restart

4. 接続確認

同じネットワークにつながってる Windowsエクスプローラで確認

f:id:xterm256color:20160919084401p:plain

XenServer の dom0 で yum を使う

IT Linux XenServer 仮想化

XenServer はデフォルトでは yum が使えなかったので、使える方法を探しました。

環境

XenServer 7.0.0

yum 有効化

/etc/yum.repos.d/CentOS-Base.repo 内のリポジトリ情報を編集します

  1. コメントアウトされた baseurl を有効にする(#baseurlbaseurl に変更)
  2. enabled=0enabled=1 に変更
  3. name 行の $releasever7.2.1511 に置換する
sed -i "s/^#baseurl/baseurl/" /etc/yum.repos.d/CentOS-Base.repo
sed -i "s/^enabled=0/enabled=1/" /etc/yum.repos.d/CentOS-Base.repo
sed -i "s/\$releasever/7.2.1511/g" /etc/yum.repos.d/CentOS-Base.repo

ダメなところ

yum update をしてパッケージ更新しようとすると、エラーメッセージが表示される。

Error: Package: sm-1.12.2-xs202.518.x86_64 (@install/$releasever)
           Requires: xenserver-multipath
           Removing: device-mapper-multipath-0.4.9-85.el7_2.1.xs13.x86_64 (@install/$releasever)
               xenserver-multipath
           Updated By: device-mapper-multipath-0.4.9-85.el7_2.5.x86_64 (updates)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

とりあえす --skip-broken オプションを付けて対処。

参考サイト

Xenserver 7.0 Repositories - Command-Line Interface - Discussions

TensorFlow ソースコードからのビルド方法

Linux IT 機械学習

TensorFlow は Pip を使ってインストールするのがおそらく一般的。ですが、ソースコードからもビルドすることができます。

環境

  • Ubuntu 16.04.1
  • Geforce GTX 1060
  • NVIDIA Driver 367.44
  • ※ CUDA Toolkit 8.0
  • ※ cuDNN 5.1
  • ※ TensorFlow (Commit: 2a6d7511f13a0387857081f1cf64d282d2816a62)

※が今回のインストール対象

続きを読む

XenServer 7 インストール手順

Linux IT XenServer 仮想化

仮想化ハイパーバイザの XenServer の新しいバージョン XenServer 7 がリリースされていたので早速インストールしてみました。

インストール環境

  • 筐体:Intel NUC6i5SYH
  • CPU:Intel Core™ i5-6260U
  • メモリ:Crucail CT8G4SFD8213 (DDR4 8GB)
  • HDD:PLEXTOR PX-128M5S (128GB)
続きを読む