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

包丁一本さらしに巻いて

包丁一本さらしに巻いて生きていく

引越し

どのデザインにしても記事スペース狭いし、広告のサイズやデザインがウザいのでGithub Pagesに引っ越します。

 

http://achiku.github.io/

 

 

Pro*Cから出力されたC発見コマンド

ls | perl -lpn -e 's/(\w+)\.(c|pc)/$1/g' | sort | uniq -d

chcsv make ファイル

http://www.asahi-net.or.jp/~nq7t-kwbt/

11g、Exaでも使えるmakeつくってみた。
このツール超便利だ。

ORAHOME = ${ORACLE_HOME}
OBJS = chcsv.o sqlda.o Option.o OutPut.o Signal.o

build : chcsv

chcsv : $(OBJS)
  gcc -o chcsv $(OBJS) -L$(ORAHOME)/lib/   -lclntsh -lclntst11 `cat $(ORAHOME)/lib/ldflags`   `cat $(ORAHOME)lib/sysliblist` -ldl -lm

chcsv.c:  chcsv.pc
chcsv.o:  chcsv.c
Option.c: Option.pc
Option.o: Option.c
OutPut.c: OutPut.pc
OutPut.o: OutPut.c
Signal.c: Signal.pc
Signal.o: Signal.c
sqlda.c:  sqlda.pc
sqlda.o:  sqlda.c

%.o: %.c 
  gcc -O -c $< -o $@

%.c: %.pc
  proc $<

clean:
  /bin/rm -f *.o *.c *.lis chcsv

linux ユーザ 一括追加

#!/bin/ksh
 
USERLIST=${1}
GRP=dev
SH=/bin/ksh
USERADD=/usr/sbin/useradd
CHPASSWD=/usr/sbin/chpasswd
MDATE=`date +"%Y%m%d%H%M"`
 
function usage {
   if [[ $# -ne 1 ]] then
      echo "Usage:      m_useradd.sh userlist"
      echo "            userlist file contains new user names. One name at a line."
      echo "            a user using this shell must login as root."
      exit 1
   fi
   if [[ ! -f ${1} ]] then
      echo "${1} doesn't exist."
      echo "Specify a file contains new user names."
      exit 1
   fi
}
 
function multi_useradd {
   typeset nameList=${1}
   for name in `cat ${nameList}`
   do
      echo "useradd -g ${GRP} -s ${SH} -m ${name}"
      ${USERADD} -g ${GRP} -s ${SH} -m ${name}
   done
}
 
function multi_passwd {
   typeset nameList=${1}
   typeset nameAndPass=
   typeset maxLine=`wc -l ${nameList} | cut -d' ' -f1`
   let cnt=0
   for name in `cat ${nameList}`
   do
      let cnt=${cnt}+1
      typeset password=${name}
      # avoid adding new line at the end of file
      if [[ ${cnt} -eq ${maxLine} ]] then
         nameAndPass="${nameAndPass}${name}:${password}"
      else
         nameAndPass="${nameAndPass}${name}:${password}"$'\n'
      fi
   done
   echo "${nameAndPass}" > ./chpasswd_${MDATE}.dat
   ${CHPASSWD} < ./chpasswd_${MDATE}.dat
}
 
usage "$@"
multi_useradd ${USERLIST}
multi_passwd ${USERLIST}
mv ${USERLIST} ${USERLIST}_${MDATE}
exit 0

DLとかDTとかDD

dt要素は「Definision Type」、dd要素は「Definision Data」の略です。
dt要素で定義リストの項目を中に書き、
dd要素の中でリストの説明をしていきます。

定義リスト | Webデザイン講座オシャレチップス
うーん。DLはDefinition List、DTはDefinition Term、DDはDefinition Descriptionじゃなかったっけ。このサイトすごい断定的にまちがってる。そもそもその英語おかしい。

Googleで検索した結果結構上の方にくるサイトなのに。集合知の限界なのか。
Webにあるものを真に受けるのはあぶない。とくにWeb系。ちゃんと仕様書よもっと。

webpy pagination

Python

なんか、このページが上部に表示される。
Pagination With WebPy

けどこれはデータの個数がページ毎に表示したいデータで割り切れない場合、期待通りに動作しないと思う。