2015/12/01(火)gitコマンドメモ

自分用メモ。

初期設定

$ git config --global user.name "nabe"
$ git config --global user.email "nabe-g@example.com"
$ git config --global core.editor vi
$ git config --global color.ui true 
$ git config --global core.pager 'less'
$ git config --list
$ git init
$ git clone http://------/

基本コマンド

$ git status
$ git log
$ git log --oneline
$ git log --pretty=oneline
$ git diff
$ git diff --cached
$ git rm
$ git mv

コミット

$ git commit
$ git commit --amend		直前のコミットをやり直し(上書き)
$ git reset  --soft HEAD^	ファイルをそのままでコミットの取り消し

stash

$ git stash
$ git stash pop

ブランチとタグ

$ git branch new-branch
$ git checkout branch-name
$ git merge develop
$ git tag -a v3.00-beta2 -m "Version 3.0x"
$ git push
$ git push --tags
$ git tag -d DeleteTAG
$ git push origin :DeleteTAG

リモート操作

$ git remote -v
$ git remote add [name] [url]
$ git remote add 
$ git remote rename pb paul

その他

手元の変更取り消し

$ git checkout -- .

ログ

$ git log --pretty=oneline

2008/03/28(金)Subversionの設定メモ

リポジトリ管理にもっぱら Subversion を使っているのですが、管理方法などを細かいことを忘れてしまうので、備忘録メモです。

Apacheの設定

svn のリポジトリを http で管理する場合、Apacheにモジュールを組み込む必要があります。

LoadModule dav_module         libexec/mod_dav.so
LoadModule dav_fs_module      libexec/mod_dav_fs.so
LoadModule dav_svn_module     libexec/mod_dav_svn.so
LoadModule authz_svn_module   libexec/mod_authz_svn.so

svnを動作させたいディレクトリを指定し、次のように記述します。

<Location /repo-dir>
    DAV     svn
    SVNPath /var/www/svndata/repo-dir
</Location>

このとき、/repo-dir/ がsvnリポジトリとして扱われ、/repo-dir/ 以下の管理情報はすべて /var/www/svndata/repo-dir に置かれます。

また /repo-dir/ という実ディレクトリ(www内)が存在すると問題が起こります。

SVNPathで指定したディレクトリに実際にリポジトリを作成します。このリポジトリデータは www 権限で読み書きできる必要があります。

# svnadmin create /var/www/svndata/repo-dir
# chown -R www:www /var/www/svndata/repo-dir

リポジトリのディレクトリ分け

これまでの設定により http://svn.duummy.dom/repo-dir は1つのSubversionリポジトリとして機能します。Subversionによって /repo-dir の仮想的なファイルシステムがすべて作られるようになります。

ずっと勘違いをしていたのですが、あるプログラムを開発するとき、/repo-dir 自体を1つのプログラムソース全体として管理していました。

  • repo-dir/
    • Makefile
    • main.c

しかし、この状況ではブランチといったプロジェクトの分岐が不可能になってしまいます。

これを次のような形で行えば、この中には自由にディレクトリやファイルを作ることができ、コピー等も自在に行えます。

  • repo-dir/
    • prog-current/
      • Makefile
      • main.c
    • prog-stable/
      • Makefile
      • main.c

リポジトリというのは単なる管理単位で、その中のいかなるサブディレクトリでも、そのサブディレクトリ単位でチェックアウトやインポートなどが実効できます。実際、複数のプロジェクトからなる大きな1つのプロジェクトは、このようなディレクトリ分けをうまく使うことで管理されます。

補足

これはリポジトリの概念を解説しただけで、コメントで頂いたとおり下のようにするのが一般的です(必ずしも従う必要はありませんが)。詳しくは参考資料をご覧ください。

  • trunk ……現在開発中のもの
  • branches ……ブランチを納めるディレクトリ
    • branch1
    • branch2
  • tags ……タグをつけてリリース版などをおく場所*1
    • Version 1.xxxx

*1 : 実体はブランチと同じ、ある時点でのディレクトリのコピー

リポジトリの登録とコピー

登録は(通常)手元にあるファイルを import によりリポジトリに登録します。

$ svn import local-dir http://svn.duummy.dom/repo-dir/prog-current

今登録したリポジトリをマスターとして使用しますので、(面倒でも)一度リポジトリから手元のディレクトリにコピーする必要があります。

$ svn checkout http://svn.duummy.dom/repo-dir/prog-current

リポジトリを分岐(ブランチ)させたいときは、同一リポジトリ内でコピーします。

$ svn copy http://svn.duummy.dom/repo-dir/prog-current
           http://svn.duummy.dom/repo-dir/prog-stable

クライアント側の操作

一度チェックアウトしてしまえば、あとは簡単です。チェックアウトしたディレクトリに移動し(prog-current/等)て操作します。

最新のソースに追従
$ svn update
変更箇所をリポジトリに反映
$ svn ci -m "チェックインのメモ"

特定ファイルの変更を破棄
$ svn revert file.c
ファイル/ディレクトリを削除
$ svn delete file.c
ファイル/ディレクトリを追加
$ svn add file.c

差分表示
$ svn diff
リビジョン指定して差分表示(13とローカルのもの)
$ svn diff -r13
リビジョン指定して差分表示(11と12)
$ svn diff -r11:12

作業コピーのブランチ切り替え
$ svn switch http://svn.duummy.dom/repo-dir/prog-stable

参考資料

2007/06/19(火)ハミング符号のメモ

ハミング符号(15,11)の生成行列。

生成多項式 x^4+x^1+1

生成行列の元データ

0001 : crc=03h 0011
0002 : crc=06h 0110
0004 : crc=0Ch 1100
0008 : crc=0Bh 1011
0010 : crc=05h 0101
0020 : crc=0Ah 1010
0040 : crc=07h 0111
0080 : crc=0Eh 1110
0100 : crc=0Fh 1111
0200 : crc=0Dh 1101
0400 : crc=09h 1001

生成行列(先頭11行省略、左がbit0、右がbit10)

p1 = [10011010111]
p2 = [11010111100]
p3 = [01101011110]
p4 = [00110101111]

後学のために買いたい書籍

誤り訂正符号入門

歴代PCメモ

はてブ数 2000/03/01メモPC

古いもの

CF-SZ6, Core i5 7200U, LPDDR3 8GB

CF-SZ6.png
crucial_MX300_525GB.png

  • CPU : Core i5 7200U / 2.5GHz / 2C4T / Kaby Lake-U
  • RAM : LPDDR3 8GB
  • SSD : CT525MX300SSD1 / Crucial MX300 525GB / SATA / 160TBW / TLC
  • GPU : Intel HD Graphics 620
  • Cinebench R23: 1781/732 (AC電源)
  • DQ10ベンチ 1280x720フルスクリーン 標準画質
    • GPU電源プラン 省電力:5983 バランス:7393 最大:8159
2017年5月購入。

Ryzen 4750G, DDR4 3600MHz 16GB

Ryzen 4750G.png
WD Blue SN550 NVMe 1TB.png

  • CPU: Ryzen 4750G / 3.6GHz / 8C16T / zen2 Renoir
  • M/B: ASRock A520M-HDV
  • RAM: PVS416G360C7K / Patriot Viper Steel DDR4 3600MHz CL17 8GB x 2
  • SSD: WDS100T2B0C-EC / WD Blue SN550 NVMe 1TB / 600TBW / TLC / PCIe3.0
  • GPU: Radeon Graphics 8
  • Cinebench R20: 4782
  • Cinebench R23: 12408/1305
  • iGPU VRAM: 2GB
    • DQ10ベンチ Ver1.5 1920x1080 最高画質: 12142
    • FF14暁月のフィナーレ 1920x1080 最高品質: 3807
      • Re Size Bar有効 VRAM 2GB: 3804
      • Re Size Bar有効 VRAM 4GB: 3807
  • アイドル時電力: AMD Ryzen Balanced 15W / 省電力 11W
    • BIOS設定 Global C-State Control: Auto
2020年9月28日。

HP ProDesk 600 G4 SFF, Radeon RX 6400, DDR4 16GB

ProDesk-600.png
ProDesk-600_ssd.png

  • メーカー: HP ProDesk 600 G4 SFF
  • CPU: Core i5 8500 / 3.0GHz / 6C6T / Coffee Lake
  • RAM: DDR4 2666 8GBx2*1
  • SSD: LEGEND 800 ALEG-800-1000GCS / 1TB / 600TBW / TLC / PCIe4.0 (PICe3.0接続)
  • GPU: SAPPHIRE PULSE Radeon RX 6400 GDDR6 4GB (PICe3.0接続)
  • Cinebench R20: 2226
  • Cinebench R23: 5530/1058
  • DQ10ベンチ Ver1.5 1920x1080 最高品質: 8521
  • FF14暁月のフィナーレ 1920x1080 最高品質: 9675
  • Intel UHD Graphics 630 使用
    • DQ10ベンチ Ver1.5 1920x1080 最高画質: 6151
    • FF14暁月のフィナーレ 1920x1080 最高品質: 1170
  • アイドル時電力: 14W / グラボなし: 9W
2022年9月4日。DQ10ベンチが苦手(GPU使用率が60%ぐらい)でスコアが伸びず。

*1 : 元々の8GBメモリに、シリコンパワー1.2V CL19 SP008GBLFU266B02 2666 8GBを追加。

HP EliteDesk 800 G4 DM, DDR4 16GB(ミニPC)

EliteDesk_800_G4_8500T_01.png
EliteDesk_800_G4_8500T_02.png

  • CPU: Core i5 8500T / 3.0GHz / 6C6T / Coffee Lake
  • RAM: DDR4 2666 8GB + CFD DDR4 3200 8GB
  • SSD: Western Digital CL SN520 SDAPNUW-256G / 256GB / 200TBW / PCIe3.0x2
  • Cinebench R20: 1647
  • Cinebench R23: 4243/880
  • DQ10ベンチ Ver1.5 1920x1080 最高品質: 5031
  • FF14暁月のフィナーレ 1920x1080 最高品質: 1037
2024年3月購入。アイドル時8W。いわゆるミニPC。

Beelink MINI S12 Pro N100, DDR4 16GB(ミニPC)

Intel-N100.jpg
Intel-N100_ssd.png

  • ミニPC: Beelink MINI S12 Pro
  • CPU: Intel N100 / 3.4GHz / 4C4T / Alder Lake-N
  • RAM: DDR4 3200 16GB
  • SSD: AZW 512G / NVMe 512GB / MAP1202搭載 / PCIe3.0x1接続
  • Cinebench R20: 1121
  • Cinebench R23: 2921/932
  • Intel UHD Graphics
    • DQ10ベンチ Ver1.5 1920x1080 最高品質: 6320
    • FF14暁月のフィナーレ 1920x1080 最高品質: 998
    • FF14暁月のフィナーレ 1920x1080 標準PC: 2258
  • アイドル時6W(Windows11/Linux)。Cinebench中24W。FF14ベンチ30W→25W。
    • BIOS: Advacnced→Power→GT→RC6 Enable。これがオフだとアイドル8W。
Linuxサーバ化。
  • NVMe: MS950G75PCIe4-02TB / 2TB / 2000TBW / TLC / PCIe4.0対応
  • SATA: CT2000BX500SSD1JP 2000GB / 2TB / 720TBW / TLC
2023年7月1日。レビュー記事。付属SSD性能はPCIe3.0x4接続ならもっと速い(↓)。

Core i3 12100F, GeForce RTX4700 12GB, DDR4 64GB

12100F.png
12100F_ssd.png

  • CPU: Core i3 12100F / TDP:58W,89W / 4C8T / Alder Lake-S
  • M/B: ASRock B660M Phantom Gaming 4
  • RAM: PVB464G360C8K / Patriot DDR4 3600 32GBx2
  • SSD: AZW 512G(MINI S12 Pro付属) / MAP1202搭載 / PCIe3.0x4接続
  • GPU: GV-N4070WF3OC-12GD / GIGABYTE GeForce RTX4070 GDDR6X 12GB(流用)
  • Cinebench R20: 3179
  • Cinebench R23: 8269/1621
  • DQ10ベンチ Ver1.5 1920x1080 最高品質: 22858
  • FF14暁月のフィナーレ 1920x1080 最高品質: 24303
  • アイドル時電力 Windows:34W, Linux:37W
2023年7月7日。ゲームマシンではなくAI用サーバ。Resize Bar有効。

電源のアイドル電流メモ

PS-ON(GNDと緑の線をショート)させた状態での消費電力メモ。
電源最大80PLUSアイドル電流
Antec EA-380D Green380W2W
Aopen AO300-08TE8(H360K-300BK付属)300W3W
玄人志向 KRPW-TX300W/90+300W3W
※EA-380D Greenの電源ファン: ADDA AD0812HS-A70GL 12V 0.25A 38.6CFM 80mm角×25mm*2

メモ

  • Surface Pro 5 1796
    • Core i5-7300U / 2.6GHz / 2C4T / Kaby Lake-U
    • Intel HD Graphics 620
    • RAM 8GB
    • SSD 256GB