sttsのソースコードMemoブログ

色々やってみた結果のMemo

python excelファイル(xlsx)を操作するopenpyxlの使い方メモ

インストールは下記

$ pip install --user openpyxl

下記で新しいexcelファイルを作る

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws["A1"] = "hoge" wb.save("test.xlsx")

B2セルに枠線を付け、背景色を付け、C列と3行目の幅を変える例は下記

from openpyxl import Workbook
from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font

wb = Workbook()
ws = wb.active

ws["B2"] = "foo"

style=Side(border_style="thin", color="000000")
border = Border(top=style, left=style, right=style, bottom=style)
ws["B2"].border=border

fill=PatternFill("solid", fgColor="DDDDDD")
ws["B2"].fill=fill

ws.column_dimensions["C"].width = 20
ws.row_dimensions[3].height = 40

wb.save("test.xlsx")

調べていると作ろうとしたのものがもうあった。画像ファイルを読み込んでexcelファイルにするスクリプト

http://labs.timedia.co.jp/2017/07/pythonopenpypxexcel.html

ConoHaの友達紹介URL

ConoHaの友達紹介URL

VPSをConoHaに移行しました。

ついでに友達に紹介されると1000円のクーポンが貰えるらしいので、紹介される友達のいない人のために紹介URLを張っておきます。↓ぜひここから登録してください。清楚かわいいですよ。

https://www.conoha.jp/referral/?token=WAu27ixWqbUnM_te06CNhK5WDpDf.Yathr.cSiTppwjVLRR8T7g-R92

 

(紹介する側は、紹介した友達が2000円使うとクーポンが貰えるらしい。。。)

紹介する友達がいない。。。

 

 DMM mobileの友達紹介URL

さらについでにDMM mobileは、紹介した、紹介された両方に通信量1GBプレゼントだそうです。↓

https://mvno.dmm.com/-/i/?i=MSz6gz8

CentOS6でGDMとGnomeの電源ボタンを無効化する

CentOSでGDMとGnomeの電源ボタンを無効化する方法

かなりググって見つけたCentOS6では上手くいったけどCentOS7では上手くいかない。。。

/var/lib/polkit-1/localauthority/10-vendor.d/20-shutdown-restart.pklaファイルを下記内容で作成

[Disable stop/restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.stop-multiple-users;org.freedesktop.consolekit.system.restart;org.freedesktop.consolekit.system.restart-multiple-users
ResultActive=no
ResultAny=no

/var/lib/polkit-1/localauthority/10-vendor.d/20-suspend-hibernate.pkla ファイルを下記内容で作成

[Disable suspend]
Identity=unix-group:*
Action=org.freedesktop.devicekit.power.suspend;org.freedesktop.devicekit.power.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no

次を実行

# gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory -t bool -s /apps/gdm/simple-greeter/disable_restart_buttons true
# gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory -s /apps/gnome_settings_daemon/keybindings/power -t string ""

Solaris11でWindowsとファイル共有

Solaris11のインストール

以下を参考にしてインストールしました。

http://www.kkaneko.com/computer/solaris/sol11.html

SMB

以下を参考にファイル共有しました。

http://www24.atwiki.jp/pcmbeta/pages/39.html

パッケージのインストールやサービスの起動は以下の操作をした。

root@testsolaris:~# pkg install 'pkg://solaris/system/file-system/smb' 'pkg://solaris/service/file-system/smb'
root@testsolaris:~# svcadm enable -r smb/server
root@testsolaris:~# svcadm enable -r smb/client

/etc/pam.d/otherの最後に以下を記載

password required pam_smb_passwd.so.1 nowarm

passwdコマンドでパスワードを再設定

root@testsolaris:~# smbadm join -w workgroup

以下のように共有した。

root@testsolaris:~# zfs set share.smb=on rpool/export/home/testuser

終わり

C言語でバイナリサーチ

C言語でバイナリサーチをするサンプルです。

#include 
#include 
#include 

static int cmp(const void *p1, const void *p2) {
	char *c1;
	char *c2;

	c1 = *(char **)p1;
	c2 = *(char **)p2;
	//printf("cmp %s - %s\n", c1, c2);
	return strcmp(c1, c2);
}
int main (int argc, char *argv[]) {

	int number = 0;
	char *list[4096];
	char buf[4096];
	FILE *fp = NULL;
	char **ret;
	int i;

	fp = fopen(argv[1], "r");
	while ( fgets(buf, sizeof(buf), fp) != NULL) {
		list[number] = strdup(buf);
		number++;
	}
	fclose(fp);
	
	qsort(list, number, sizeof(char *), cmp);

	if (argc == 3) {
		ret = bsearch(&(argv[2]), list, number, sizeof(char *), cmp);
		if (ret != NULL) {
			printf("find! %s\n", *ret);
			exit(1);
		}
	}
		
	for (i=0; i<number; i++) {
		printf("%s", list[i]);
	}
}

以下のように実行します。

$ ./a.out ソート対象の入力ファイル 検索対象の文字列

もっと高級言語を使いたい。。。

zshrcのメモ

バックアップもかねてzshrc

# Enable compsys completion.
autoload -U compinit
compinit
zstyle ':completion:*:default' menu select=1 # Menu like emacs.
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}  # color completion.

bindkey -e # keybind is emacs.

# Prompt
setopt prompt_subst
PROMPT='%{%(?.$fg[green].$fg[red])%}[%n@%m]%# %{$reset_color%}' # left prompt
RPROMPT='[%~]'
autoload -U colors
colors

# History
HISTFILE=$HOME/.zsh-history
HISTSIZE=10000
SAVEHIST=10000
setopt extended_history # save command time.
setopt share_history    # share history in terms.
setopt append_history   # append
function history-all { history -E 1 }

# Beep
setopt no_beep

# cd
setopt auto_pushd
setopt pushd_ignore_dups

# PATH
# For homebrew
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
export MANPATH=/usr/local/man:$MANPATH