新人PGの学び

プログラマーの卵のlog

SVNのbranchesとtagsの作成

概要

branchsとは

各機能の開発の作業場。


開発の別のラインに変更を隔離できる。


新機能が充分に安定したら、開発ブランチをメインブランチ(トランク)に マージ する。
ディレクトリ構成は下記の通り。

/branches/任意のブランチ名/対象のファイル


tagsとは

いつでも確実にビルドや環境を再作成するためのtag付け。


コミットも完了して区切りがついたときなどのいわば、決まったタイミングのtrunkを取っておく保管場所。
ディレクトリ構成は下記の通り。


/tags/任意のタグ名/対象のファイル


ベストなフロー

trunk → branches → trunk( → tags) → branches → trunk( → tags) …… 
という順に上手く使い分けながら作業する。


下記、詳細。

  1. 動作確認済みの状態でブランチをトランクにマージする
  2. トランクからタグを作成する
  3. トランクからブランチを作成する

作成

trunkからbranchesにブランチ作成

TortoiseSVN → ブランチ/タグの作成...

コピー(ブランチ/タグ) ダイアログが表示される


先URL(T)に保存先を入力

バージョンやアーキテクチャの確認

バージョンの確認

  • アップデート時のログも簡単に確認

※「/etc/yum.conf」にyum関連のログ出力があるので要確認

/var/log/yum.log


  • カーネル (下記いずれか)

[root@ ~]$ uname -a

Linux 【サーバー名】 2.6.18-411.el5 #1 SMP Mon Jul 11 17:13:52 CDT 2016 x86_64 x86_64 x86_64 GNU/Linux


[root@ ~]$ cat /proc/version

Linux version 2.6.18-411.el5 (mockbuild@T520) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-55)) #1 SMP Mon Jul 11 17:13:52 CDT 2016

  • centOS/RedHat Enterprise Linux (下記いずれか)

[root@ ~]$ cat /etc/redhat-release

CentOS release 5.11 (Final)



[root@ ~]$ cat /etc/issue

CentOS release 5.11 (Final)Kernel \r on an \m

  • OPENSSL

[root@ ~]$ yum list installed | grep openssl

openssl.x86_64 0.9.8e-40.el5_11 installed

  • glibc

[root@ ~]$ yum list installed | grep glibc

glibc.x86_64 2.5-123.el5_11.3 installed

glibc-common.x86_64 2.5-123.el5_11.3 installed

glibc-devel.x86_64 2.5-123.el5_11.3 installed

glibc-headers.x86_64 2.5-123.el5_11.3 installed

  • Vim

[root@ ~]$ yum list installed | grep vim


「アーキテクチャ」の種類

  • i686

Pentium Pro、Pentium II、Pentium III、Pentium4、Celeron等



  • x86_64

Opteron、Athlon64、Xeon(EM64T)
※x86_XXの「86」は、現在の主流CPUの祖先に当たるインテル16bit CPU「8086」の下2桁「86」



Bashとは

その前にシェルとは 

ユーザーから見てカーネルを包んでいる貝殻(shell)のように見えることからそう名付けられた
シェルスクリプトとは、シェルによって解釈実行されるスクリプト・プログラムである
スクリプトの最初の行により、シェルの特定をする(実行パーミッション)

Perl の場合

#!/usr/bin/env/perl


Bushの場合

 #!/bin/bush



Sh(#!/bin/sh)とBASH(#!/bin/bash)の違い 

Linux と言えば大抵は /bin/sh は /bin/bash1で /bin/bash はデフォルトで入っている
/bin/shの実体は、bashを参照するシンボリックリンク


標準出力と標準出力エラー 

ファイルディスクリプタ 出力形式
0 標準入力 画面に出力
1 標準出力 画面に出力
2 標準エラー出力 実行結果のコマンドエラー


Xの出力先をYの出力先と同じに設定する

X >&Y


例)

#標準出力

#!/bin/bash

echo 'this is error.'


#標準出力

#!/bin/bash

echo 'this is error.' 1>&2


#標準出力

#!/bin/bash

echo 'this is error.' 2>&1


#!/bin/bash

echo 'this is error.' 1>&2



Bashのコメントアウト 

1行の場合は、#
複数行の場合は、<< + 任意の文字列から任意の文字列で囲みます
例)echo内容は出力されない

<
echo "Hello,everyone"
echo "I'd talk about tadigrade!"
echo "Oh no!This is COMMENTOUT X("
COMMENT

改行コード

改行コードとは 

改行してカーソルを行頭に復帰する動作を指示するコードのこと


改行コードを意識する必要性 

サーバとクライアントで OS が違うことはつまり改行コードも違う場合があり、一旦unix用の改行コードに変換する必要がある。
Windows で記述されたスクリプトでは改行が CR+LF だが、UNIXサーバでは LF のみで改行コードとみなされ、余分な CR によってエラーとなる場合がある
htmlでは基本的に改行コードは無視されるが、cgiなどのプログラムを作る場合などには必須の知識となる


文字コードを統一する必要がある

JIS(ISO-2022-JP) 

RFC-1468で定義
インターネットでは標準的な日本語文字コード
電子メールではこの文字コードが利用されるていることが多い


シフトJIS 

Microsoft社が決めたコード
MS-DOS や Windows や Mac などで使用
メモ帳やシンプルテキストで扱える


EUC (Extended Unix Code) 

UNIX で使われているコード
CGI を組んでいく上では避けて通れないコード


Unicode 

ユニコード・コンソーシアムによって制定された文字コード
Java や XML の基本コード

支払いサイト毎による請求書発行のタイミング変動

  • 請求書発行のタイミングは顧客により異なる
  • 初めての取引や高額な場合、半金は前払いにしたり、デポジットなどのように、『支払サイト』が会社ごとに違うため、両社の取引内容によりタイミングを決める必要がある
  • 何度も取引している場合はいつもと同様の発行形態でよい
  • 新規顧客や初めて請求書発行する顧客の場合は、発行のタイミングを前任者やボスに都度確認