シェルスクリプトマガジン

test

すべてのUNIXで20年動くプログラムはどう書くべきか

投稿日:2016.04.19 | カテゴリー: 推薦図書

プログラミング上よくある課題を、極力POSIXの範囲で、かつUNIX哲学的アプローチで解決したシェルスクリプトを多数例示し、高い可搬性・可用性を実現しつつ実用的なプログラムを書く方法を紹介しています。

下記のような内容を満載しています。

環境に依存せず、長持ちするプログラムの書き方(環境依存を引き起こす落とし穴)
環境に依存しない正規表現の書き方
シェルスクリプトで処理を行うための、たくさんの小技(レシピ)
シェルスクリプトは意外に速くて機能も豊富という事実
プログラム制作で参考になるUNIX哲学

※本書は同人誌として発行されたものを、再編集してC&R研究所より出版されたものです。

目次

序章 POSIX原理主義:その本質と可能性、実践方法を理解する

第1章 どの環境でも使えるシェルスクリプトを書く …… 文法・変数編

1-1 環境変数などの初期化
1-2 シェル変数
1-3 スコープ
1-4 正規表現
1-5 文字クラス
1-6 乱数
1-7 ロケール
1-8 $(( 式 ))
1-9 case文/if 文
1-10 local修飾子
1-11 PIPESTATUS変数

第2章 どの環境でも使えるシェルスクリプトを書く …… 正規表現編

2-1 知っておくべきメタ文字セットは3つ
2-2 BRE(基本正規表現)メタ文字セット
2-3 ERE(拡張正規表現)メタ文字セット
2-4 AWKで使えるメタ文字セット

第3章 どの環境でも使えるシェルスクリプトを書く …… コマンド編

3-1 「[」コマンド
3-2 AWKコマンド
3-3 dateコマンド
3-4 duコマンド
3-5 echoコマンド
3-6 execコマンド
3-7 foldコマンド
3-8 grepコマンド
3-9 headコマンド
3-10 ifconfigコマンド
3-11 killコマンド
3-12 mktempコマンド
3-13 nlコマンド
3-14 printfコマンド
3-15 psコマンド
3-16 readlinkコマンド
3-17 sedコマンド
3-18 sortコマンド
3-19 tacコマンド/tailコマンド+ -rオプションによる逆順出力
3-20 test([)コマンド
3-21 trコマンド
3-22 trapコマンド
3-23 whichコマンド
3-24 xargsコマンド
3-25 zcatコマンド

第4章 Hors d’oeuvre:ちょっとうれしいレシピ

4-1 sedによる改行文字への置換を、キレイに書く
4-2 grepに対するfgrepのような素直なsed
4-3 mkfifoコマンドの活用
4-4 一時ファイルを作らずファイルを更新する
4-5 テキストデータの最後の行を消す
4-6 改行なしの終端テキストを扱う
4-7 IPアドレスを調べる(IPv6も)
4-8 YYYYMMDDhhmmssを年月日時分秒に簡単分離する
4-9 祝日を取得する
4-10 ブラックリスト入りした100件を1万件の名簿から除去する

第5章 POSIX原理主義テクニック

5-1 PIPESTATUSさようなら
5-2 Apacheのcombined形式ログを扱いやすくする
5-3 シェルスクリプトで時間計算を一人前にこなす
5-4 findコマンドで秒単位にタイムスタンプ比較する
5-5 CSVファイルを読み込む
5-6 JSONファイルを読み込む
5-7 XML、HTMLファイルを読み込む
5-8 全角・半角文字の相互変換
5-9 ひらがな・カタカナの相互変換
5-10 バイナリデータを扱う
5-11 ロック(排他・共有)とセマフォ
5-12 デバッグってどうやってるの?

第6章 POSIX原理主義テクニック …… Web編

6-1 URLデコードする
6-2 URLエンコードする
6-3 Base64エンコード・デコードする
6-4 CGI変数の取得(GETメソッド編)
6-5 CGI変数の取得(POSTメソッド編)
6-6 Webブラウザーからのファイルアップロード
6-7 Ajaxで画面更新したい
6-8 シェルスクリプトでメール送信
6-9 メールマガジンを送る
6-10 HTMLテーブルを簡単キレイに生成する
6-11 シェルスクリプトおばさんの手づくりCookie(読み取り編)
6-12 シェルスクリプトおばさんの手づくりCookie(書き込み編)
6-13 シェルスクリプトによるHTTPセッション管理

第7章 知らないとハマるさまざまな落とし穴

7-1 名前付きパイプからリダイレクトするときの落とし穴
7-2 全角文字に対する正規表現の扱い
7-3 sortコマンドの基本と応用と落とし穴
7-4 sedのNコマンドの動きが何かおかしい
7-5 標準入力以外からAWKに正しく文字列を渡す
7-6 AWKの連想配列が読み込むだけで変わる落とし穴
7-7 whlie readで文字列が正しく渡せない
7-8 あなたはいくつ問題点を見つけられるか?

付録 レシピを駆使した調理例

郵便番号から住所欄を満たすアレをシェルスクリプトで

実践ユニケージ開発手法01 コマンド学習編

投稿日:2016.04.19 | カテゴリー: 推薦図書

本書は、独特な方法でシステムを構築するユニケージ開発手法の基本を理解し、習得するための実践教材です。

対象となる読者は、基本的なUNIX/Linux の知識(端末、コマンド、ファイルの概念、パス、標準入出力、リダイレクションなど)がある方です。

ここでは、ユニケージ開発手法において使用頻度の高いコマンドの使い方、とくに、高速なテキスト検索ができるgrep コマンド、テキスト置換ができるsed コマンド、高度なテキスト処理ができるawk コマンドをはじめとした基本的なUNIX コマンド、usp Tukubai コマンド(ユニケージコマンド)について詳しく解説します。豊富な練習問題で効果的にコマンド操作を体得できます。

目次

第1章 はじめに

1.1 コマンドの機能と役割
1.2 凡例

第2章 AWK

2.1 AWKとは何か
2.2 手を動かす
2.3 フィールド・レコード/パターン・アクション
2.4 レコードの選択
2.5 文字列の出力
2.6 演算
2.7 三項演算子
2.8 変数
2.9 BEGINパターン、ENDパターン
2.10 便利な関数
2.11 AWKの制御文

第3章 sort, msort*, uniq

3.1 sort
3.2 msort
3.3 uniq

第4章 head, tail, ctail*, gyo, retu*

4.1 head・tail
4.2 ctail
4.3 gyo
4.4 retu

第5章 self*, delf*

5.1 フィールド形式とキー
5.2 selfによるフィールドの並び替え
5.3 delfによる

第6章 sm2*, sm4*, sm5*

6.1 sm2
6.2 sm4
6.3 sm5

第7章 ysum*, kasan*, ratio*

7.1 ysum
7.2 kasan
7.3 ratio

第8章 join0*, join1*, join2*, loopj*

8.1 マスタとトランザクション
8.2 join0
8.3 join1
8.4 join2
8.5 loopj

第9章 getfirst*, getlast*, up3*

9.1 getfirst, getlast
9.2 up3

第10章 tarr*, yarr*

10.1 基本的な使い方
10.2 応用

第11章 count*, juni*

11.1 count
11.2 juni

第12章 map*, tateyoko*

12.1 フィールド形式ファイルのxy展開
12.2 より複雑な展開

第13章 marume*, divsen*, comma*, keta*

13.1 marume
13.2 divsen
13.3 comma
13.4 keta

第14章 grepと正規表現

14.1 grep
14.2 正規表現

第15章 tr, sed, calsed*, fsed*

15.1 tr
15.2 sed
15.3 calsed
15.4 fsed

第16章 han*, zen*

第17章 mojihame*

第18章 keycut*

第19章 その他コマンド

19.1 mdate
19.2 dayslash
19.3 lcalc
19.4 nkf, iconv
19.5 tagシリーズ

Vol.36

投稿日:2016.04.11 | カテゴリー: バックナンバー

毎月25日発売『シェルスクリプトマガジン』は、日本で唯一のシェルスクリプト総合誌。
最新号 2016 年4月号(vol.36)の特集は、「Mac OS XでUNIXを使い倒す!」。
Mac OS はバージョン10になってDarwinというUNIXがベースになったのをご存知ですか?
Mac OS Xを使っているけど、UNIXの部分をあまり使いこなせていない、UNIX自体よく知らないでMac OS Xを使っている。そんなMacユーザーの方へ、新しい発見がありますように!
その他、熊野氏の「未来に活きる!現場で使える!データモデリング」ではイベントの流れから業務を読み解くポイントを解説!すずきひろのぶ氏の「スズラボ通信」では、クラウド体温計を使ってIoT的なものづくりをします!
どうぞ、お見逃しなく!

Vol.35

投稿日:2016.04.11 | カテゴリー: バックナンバー

毎月25日発売『シェルスクリプトマガジン』は、日本で唯一のシェルスクリプト総合誌。
最新号 2016 March(vol.35)の特集は、「シェルスクリプトでTwitterを制す!」。 Twitter上のつぶやきや位置情報などのビックデータから、情報を整理・分析して、ドラマを掘り出してみます!つぶやきからどのような人間の行動予測が読み取れるのでしょうか?昨年12月のコミケツイートから、ジブリ作品「天空の城ラピュタ」のアノつぶやきまで、シェルスクリプトで収集します!
その他、「香川大学 SLPからお届け!」ではReactを使ってネイティブアプリ開発に挑戦!しょっさんの「40歳から始める、オレとRubyプログラミング」では、開発には欠かせないオブジェクト指向をわかりやすく解説!
今月号も、お見逃しなく!

Vol.34

投稿日:2016.04.11 | カテゴリー: バックナンバー

毎月25日発売『シェルスクリプトマガジン』は、日本で唯一のシェルスクリプト総合誌。

最新号 2016 February(vol.34)の巻頭は「技術者哲学」です。はやぶさプロジェクトに携わった、UNIX大好き人間の 寺薗淳也 先生をクローズアップ!ばりばり の技術者が広報として、はやぶさプロジェクトに関わり、先進的なコンピュータ教育で有名な会津大学で、どのようなことを教えているのか。UNIXの出会いから、読者へのメッセージまで、8ページにわたって詳しくお話していただきます。

その他、人気連載、波田野さんの「IPv6新時代を体感しよう!」が最終回!共感覚ってなんだろう?いつも奥の深い「人間とコンピュータの可能性」、現場目線のアツい連載「中小企業手作りIT化奮戦記」も収録!お見逃しなく!

Vol.33

投稿日:2016.04.11 | カテゴリー: バックナンバー

『シェルスクリプトマガジン』(毎月25日発売)は日本で唯一のシェルスクリプト総合誌。
最新号 2015 January(vol.33)の巻頭特集は、「10年後の生活を支える最新IT動向」。エンジニアのトークイベントTechLIONの再録拡大版をお届けしています!IT業界の中でも、IoTのエッジに携わっている猛者4名をゲストに、「10年後実現してほしいことは?」「機械学習・AIはどこまで進むのか?」等について白熱したトークが繰り広げられました!
その他、人気連載「めざせシェル女子!」「漢のUNIX」「ユニケージ開発コードレビュー」も収録!お見逃しなく!

Vol.32

投稿日:2016.04.11 | カテゴリー: バックナンバー

『シェルスクリプトマガジン』(毎月25日発売)は日本で唯一のシェルスクリプト総合誌。
最新号 2015 December(vol.32)の巻頭特集は、「慶応義塾大学名誉教授 小檜山賢二先生に訊く、技術者哲学」。60年続けてきたのは虫を撮影すること。全てコンピュータ任せでなく、必ず人間を介在させると語る小檜山先生。その理由とは?

そして新連載は、「香川大学SLPからお届け!」と題して、香川大学SLPの学生さんたちが毎号技術的な取り組みについて紹介してくれます。今月号は「イマドキ☆サーバ監視のゆくえ」です!

その他、人気連載「スズラボ通信」「40歳から始める、オレとRubyプログラミング」「ユニケージエンジニアの作法(最終回!)」なども収録!

Vol.31

投稿日:2016.04.11 | カテゴリー: バックナンバー

最新号 2015 November(vol.31)の巻頭特集は、とがったエンジニアのイベント「TechLION再録拡大版」をお届け!
今回は、関西を舞台に活躍する4名の猛者たちが登壇。優秀なエンジニアを輩出する京大マイコンクラブの逸話から、噂の社員総出ガチインターン裏話、『まに フェス』発起人からイベント開催のコツまでお聞きします!そして、ついに始まったマイナンバー、本当に怖いのは何なのか、個人情報と絡めて伝授!エンジニ アに必要なこととは……!?ぜひお見逃しなく!!

人気連載「漢のUNIX」では、ハイスピードなls(1)コマンドをつくっちゃいます!
さあ、コマンドを極めるその先へ……

Vol.30

投稿日:2016.04.11 | カテゴリー: バックナンバー

最新号 2015 October(vol.30)の巻頭新連載は「POSIX原理主義の逆襲」!!
連載一回目は、「東京五輪まで動くプログラム、書けますか?」バージョンアップやサポート打ち切りのたびに涙をのんでいた私たち…10年、20年もの間、動き続けると期待が持てるものとは?実は書き捨てられてきたあの言語の中にあった!
他にも30回目の大台に突入した大人気連載「人間とコンピュータの可能性」。「ITエンジニアのためのマーケティング入門」、漫画「めざせシェル女子!」なども収録!

Vol.29

投稿日:2016.04.11 | カテゴリー: バックナンバー

最新号 2015 September(vol.29)の巻頭新連載は「40歳から始める、オレとRubyプログラミング」!!
連載一回目は「Infrastructure as Code」という文化の紹介、インフラ管理のコード化の利点や、今回どうしてRubyを採用したのかについての説明から、実際にRubyを使うための環境の準備までを丁寧に解説。
“時代の流れにしたがって生きるのは、将来を担うエンジニアには必要不可欠です。”
他にも大人気連載「スズラボ通信」や「ユニケージ開発手法コードレビュー」「めざせシェル女子!」なども収録!

Vol.28

投稿日:2016.04.11 | カテゴリー: バックナンバー

最新号 2015 August(vol.28)はTechLION vol.21の再録記事を拡大版で収録。テコラス株式会社の伊勢幸一さんの語る、次世代データセンターのあり方とは?そして運用エンジニアをなくしていくために設立された日本MSP協会とは?第二部、第三部ではゲームをとりまくインフラ技術について、熱いトークが繰り広げられました!
白羽さんの「縁の木、育てよう」では前回に引き続きCMSコミュニケーションズの寺田さんのお話。コミュニティ活動を中心にお話を伺いました。そんな寺田さんがPlone Anbassadorとして携わっているCMS「Plone」について、アジア初開催のイベント「Plone Symposium Tokyo 2015」で聞いてきたお話も同時掲載しています。
他にも大人気連載「めざせシェル女子!」や「人間とコンピュータの可能性」「IPv6新時代を体感しよう!」なども収録!

Vol.27

投稿日:2016.04.11 | カテゴリー: バックナンバー

最新号 2015 July(vol.27)は「セキュリティ」に注目。話題のセキュコミュ勉強会CTF for GIRLSに編集部が潜入してきました!そしてShellShockとVENOMについて、スズラボ通信好評連載中のすずきひろのぶさんが解説!大事なのは脆弱性の「名前」ではなくて「評価値」。
よしおかさんのIT散歩日記は今回海を越えてアメリカへ!サンフランシスコで行われたMicrosoft社のカンファレンス「Build 2015」のお話です。
ITエンジニアのためのマーケティング入門、今回は「マーケティングって、どうやって始めるの?」というテーマ。確かにわからないかも・・・おか爺がたのしく解説してくれます。
他にも好評連載「漢のUNIX」や「縁の木、育てよう」「姐のBENTO」「Tech数独」など見所満載です!

Vol.26

投稿日:2016.04.11 | カテゴリー: バックナンバー

最新号 2015 June(vol.26)特集は「中小企業手作りIT化奮戦記 C言語のススメ」
好評連載中の菅さんの連載、「中小企業手作りIT化奮戦記」が巻頭に登場!C言語を触ったことが無い人向けに、システム管理をする上で持っておいた方がよい知識として、C言語の概略を解説していただきます。
3月24日に開催されたTechLION vol.20 の再録記事も掲載!櫻庭祐一さん、堂前清隆さん、松本直人さんの3名をお招きして、20年のITの歴史を熱く語り合っていただきました。
友の会会長 上田さんの「Haskellでやってはいかんのか?」では前回から作成しているHaskell版mojihameコマンドを完成させます。
他にも好評連載「IPv6新時代を体感しよう!」や「ユニケージ開発手法コードレビュー」「円滑コミュニケーションが世界を救う!」など見所満載です!

Vol.25

投稿日:2016.04.11 | カテゴリー: バックナンバー

最新号 2015 May(vol.25)特集は「シェルのプロが語る、make ~電車で剛!makefileを実行してみよう!~」
2月末に行われたOSCでのセミナーの再録です!二人のシェルのプロがmakeで成せる技の魅力を語ります。
そしてEjectコマンドユーザー会のあっきぃさんの「電子工作ができなくても大丈夫!CD-ROMドライブではじめるかんたんIoT」も掲載。レッツEjectコマンド工作!カーテン開けるよ!ウィーン!
5月号には詩も掲載。谷川俊太郎さんとも競演されている、現代をロックに生きる詩人、桑原滝弥さんのご寄稿。背景の絵がステキだにゃ~。
他にも好評連載!Twitterで話題沸騰中!「めざせシェル女子!~貝殻高校、パソコン部の日常~」や「ユニケージ開発手法コードレビュー」など見所満載です!

Vol.24

投稿日:2016.04.11 | カテゴリー: バックナンバー

月刊化2年目突入!!最新号 2015 April(vol.24)巻頭はなんと漫画でスタート!「めざせシェル女子!~貝殻高校、パソコン部の日常~」楽しくかわいくプログラミングを学ぼう!
もうひとつの新連載は「ITエンジニアのためのマーケティング入門」。おか爺とタケシくんが、愉快にマーケティングの面白さについて解説してくれます。
スズラボ通信の今回のテーマはシェルスクリプトでプログラミング!「作って使う俺シェルプログラム」とは…!?
他にも好評連載「Haskellでやってはいかんのか?」や「人間とコンピュータの可能性」など見所満載です!

Vol.23

投稿日:2016.04.7 | カテゴリー: バックナンバー

最新号 2015 March(vol.23)の特集は「円滑コミュニケーションが世界を救う!中小企業診断士が解説する、超実践的な会話術!」。ビジネスで使えるコミュニケーション術を、中小企業診断士の濱口さんが楽しく解説!
そして!新連載「よしおかひろたかのIT散歩日記」がスタート!ぶらぶらとお散歩しながら、色々なことをのんびりつづっていただきます。
TechLION vol.19再録記事も収録!テーマはセキュリティ大特集!昨年は本当に色々なことがありましたね・・・。
他にも好評連載「リナ女のたしなみ」や「ユニケージ開発手法コードレビュー」など見所満載です!

Vol.22

投稿日:2016.04.7 | カテゴリー: バックナンバー

『シェルスクリプトマガジン』(毎月25日発売)は日本で唯一のシェルスクリプト総合誌。
最新号 2015 February(vol.22)の特集は「北のDC探訪記!&USP友の会出張一撃勉強会レポ」。友の会の濱田さんが、さくらインターネットの石狩データセンターを取材!札幌で開催した一撃勉強会のレポートも収録。
船橋情報ビジネス専門学校の鳥居校長先生の新連載「UNIX大好き人間はどう育つ?」がスタート!UNIXの魅力についてつづっていただきます。
スズラボ通信では、プログラミング初心者へのProcessingのススメ。プログラミングで雪の結晶を降らせてみよう!
他にも好評連載「漢のUNIX」や「ユニケージ開発手法コードレビュー」など見所満載です!

Vol.21

投稿日:2016.04.7 | カテゴリー: バックナンバー

新年最初の特集は「こんなシェルスクリプト、書いちゃダメだ。」漢のUNIXでお馴染みの後藤大地さんが、ダメシェルスクリプトを斬ります!
新連載は、クラウディアさんこと戸倉彩さんのコミケ紹介記事「戸倉彩の2.5次元の世界」。冬コミ前にコミケ知識を勉強しましょう!
「TechLION再録」では、9月に開催されたvol.18を収録。「未来のライフスタイルとテクノロジー」をテーマに熱いトークが繰り広げられました。
「GNU AWK処方箋」の第4回はなんと最終回……! 従来のAWKではできなかったGNU AWKならではの拡張機能について解説します。
他にも「IT美女図鑑」や「Haskellでやってはいかんのか?」など好評連載中です!

Vol.20

投稿日:2016.04.7 | カテゴリー: バックナンバー

最新号 2014 December(Vol.20)はクリスマス全開の表紙が目印!特集は「エンジニアになりたい!新人の為のUNIX基礎講座」。
そもそもパソコンってなんなのか?いまさら聞けない基礎知識を、USPエンジニアがわかりやすく解説。

大岩先生の「人間とコンピュータの可能性」では、エンジニアの抽象化能力に着目。
菅さんの「中小企業手作りIT化奮戦記」では仮想化環境の導入でサーバの集約に挑みます。

他にも「ユニケージ開発手法 コードレビュー」や「組織文化を変える汗と涙の物語 アジャイル改善塾」など好評連載中です!

Vol.19

投稿日:2016.04.7 | カテゴリー: バックナンバー

最新号 2014 November(Vol.19)の 巻頭特集は特別対談「熟年エンジニア2人が語る 若手エンジニアに伝えたいこと」。
エンジニアにもっと幸せになってもらいたい、それには何が必要か。過去・現在・未来の視点からこれまでとこれからのITについて語っていただきました。

平さんの「リナ女のたしなみ」では、Amazon Glacierを利用した、写真のバックアップをご紹介。
そして長谷川さんの「うにっくすなやつら」がシェルスクリプトネタでゆるふわ復活!

GNU AWK処方箋第2回はレイアウトデザインを一新。たくさんのオオウミガラスと共にGNU拡張された関数を盛りだくさんの内容でご紹介いたします。
他にも「ユニケージ開発手法 コードレビュー」や「漢のUNIX」など好評連載中です!

Vol.18

投稿日:2016.04.7 | カテゴリー: バックナンバー

最新号 2014 October(Vol.18)はロゴデザインを大幅にリニューアル!「シェルスクリプト」という言葉をより強調したインパクトのあるロゴデザインになりました。
雑誌名はこれまで通り「USP MAGAZINE」で、番号も通し番号で変更ありません。

巻頭特集は「インフラエンジニアのおしごと」。
「サーバー運用お助けTips」の濱田さんが、冒頭と連載を特別執筆。キーワードは”がんばらない運用”です。
また、6月に行われた、インフラエンジニア向けのイベント、July Tech Festaのレポート記事も収録。

AWK処方箋は10月号から「GNU AWK 処方箋」としてスタート!GNU拡張で便利になった点を解説いたします。
他にも「ユニケージ開発手法 コードレビュー」や、新デザインでお届けする「Haskellでやってはいかんのか?」など好評連載中です!

Vol.17

投稿日:2016.04.7 | カテゴリー: バックナンバー

小学生達の夏休みはもうすぐおしまい。
宿題に追われていたあの頃が懐かしいなと思いきや、
えー!今どきは宿題代行業者があるんですか……
いいなぁ、納期直前開発代行業者とかないかな。

なんて冗談はさておいても、時代が進むと共に常識を覆す新しいものが次々現れますね。
本誌も新しい知見を届けられるように、今後ますます頑張ります。

Vol.16

投稿日:2016.04.7 | カテゴリー: バックナンバー

照りつける日射し!
暑い暑いといってクーラーの効いた部屋に閉じこもりがちですが、
犬はやはり散歩が好きなようで、近所の河川敷を元気に散歩していました。

いやいや、人間だってそんなことないか。夏はイベント目白押しですからね。
今年の夏はどんな計画を立てていますか?

Vol.15

投稿日:2016.04.7 | カテゴリー: バックナンバー

雷雨になれば梅雨明け間近といいますが、
今年の雷雨は嵐に雹に手厳しいですね。

ものづくりも、だいたい完成間近に大きな試練が待ち構えてるものですよね。
それを何とか乗り越えて、大きな花火を打ち上げたいものです。
ところで今月号の表紙、右下で主役を下支えするちんじゅうちゃんがいい味出してます。

Vol.14

投稿日:2016.04.7 | カテゴリー: バックナンバー

まだ過ごしやすい日和が続いてますけど
もうすぐ、梅雨が訪れてしまうんですかねぇ。

でも、そんな時こそじっくり物事に取り組むチャンスですよ。
それぞれの道を究めるプロフェッショナルの話に耳を傾け、
そして手を動かして、プログラミングに精進しようと思います。

Vol.13

投稿日:2016.04.7 | カテゴリー: バックナンバー

新装刊2号目。
5月病になる暇もなく、体当たりで作っております。(←まだ4月ですね)
徐々にペースを掴んでこなれてきたら、もっといろいろなこと仕掛けたいです。

初めは体を慣らす期間。
でも、いよいよこれから、本番が始まる季節ですね。

Vol.12

投稿日:2016.04.7 | カテゴリー: バックナンバー

for the sophisticated shell scripters
(洗練されたシェルスクリプト愛好家達へ)

そんなコンセプトで誕生したシェルスクリプト総合誌が、おかげさまで三周年。
いやぁ、よくネタが尽きずに生き延びたと我ながら感心しておりますが、なんと
今回から月刊化してしまいました! (ホントに尽きてしまわぬよう頑張ります)

今日はそんな月刊化第一号の発売日。桜の開花より一足早く(高知を除く)、
新たなUSP MAGAZINEが今日から始まります。今後ともよろしくお願いします。

Vol.11

投稿日:2016.04.7 | カテゴリー: バックナンバー

世の中でヒットしているサービスに、共通している特徴とは何だろうか。
サービスの向こうに居る相手の想いが、手に取るように伝わる、
そんな仕掛けがあるのかもしれない。

成功しているエンジニアに共通している特徴とはなんだろうか。
人との対話、コンピューターとの意思疎通が上手なことかもしれない。

Vol.10

投稿日:2016.04.7 | カテゴリー: バックナンバー

行ったこと無い場所、会ったこと無い人、見たこと無い物。
例え知ってはいたとしても、行って、出会って、触れ合えば、
多くの場合想像を超える思いを抱くことになる。

そうやって様々、想像を超える思いを抱いた人たちの素直な体験を、
今回もまたたくさん詰め込んでお届けしたい。

Vol.09

投稿日:2016.04.7 | カテゴリー: バックナンバー

面白そうなこと、いろいろやってみたくてたまらない。
でも、最初の一歩が意外と大変。「どうやるの?わからないよ」
そんな時は一度、わかる人にとことん教えてもらいましょう。
教えたくて、仲間を増やしたくてたまらない人が、ほら!ここに……

Vol.08

投稿日:2016.04.7 | カテゴリー: バックナンバー

シェルスクリプトって何?
それは哲学を表現する一手段なのかもしれない。
ならば同じ哲学を表現しているものは皆、
どんな姿をしていても、興味が湧く。

Vol.07

投稿日:2016.04.7 | カテゴリー: バックナンバー

道具には、長きに渡り人々に愛用され続けるものがある。
優れた道具とは、どんなものであろうか。
伝統工芸品からソフトウェアまで、本号は「道具」について考える。

Vol.06

投稿日:2016.04.7 | カテゴリー: バックナンバー

実りの秋ということで、今回の裏テーマはものづくり。
日本のインターネットを作った男、世界でものづくりムーブメントを起こさんとする男に話を聞き、そして本誌は、
シェルスクリプトで、ものづくりに革命を起こさんとする。

Vol.05

投稿日:2016.04.7 | カテゴリー: バックナンバー

Open usp Tukubaiの本格的レシピを本邦初公開。
シェルスクリプトを業務アプリや数学的分野へ
どんなふうに活用してきたかが見えてくる、
今までで一番USPらしい雑誌に仕上がりました。

Vol.04

投稿日:2016.04.7 | カテゴリー: バックナンバー

「UNIX哲学の価値を今、改めて問う!」
読者へ投げかけるメッセージが随所で増幅されて
すっげー濃い雑誌に仕上がった号なのです。

Vol.03

投稿日:2016.04.7 | カテゴリー: バックナンバー

「ユニケージって何?」数多く寄せられる質問。
もしかするとこの質問に初めてまともに答える号かもしれない!
他、アカデミックな記事、ソーシャル(社会的)な記事満載の号ですよ。

Vol.02

投稿日:2016.04.7 | カテゴリー: バックナンバー

今度の十三夜は、窓から月を眺めながら
クラウド駆使してシェルスクリプトで分散処理→そして夜更かし、
とシャレこんでみませんか。

Vol.01

投稿日:2016.04.7 | カテゴリー: バックナンバー

震災から3 ヶ月が経過し、世の中は徐々に平静を取り戻そうとしています。 だけど、何かがちょっと以前とは違うと思いませんか? 明日には何が起こるのかわからない、という現実を目の当たりにして、 「生きる上で本当に大切なものは何なのか?」という疑問を 日本人全員が突きつけられたからなのではないかと思います。 それは一瞬の興味を引くような、真新しいものや斬新な物や、 飾り立てられた何かやエンタテインメントではなくて、 生活の土台である、寝るところや食べるもの、着る物、 そして家族や仲間という、必要最低限のもの。 重厚長大な構造よりも、できるだけ簡素な構造へ。 それぞれの人が、世の中のシステムを知り、 自分たちの足でたくましく歩ける世の中へ。 何かが変わる時代が来たことをそこここに感じずにはいられません。 そんなときにひょっこりこの世の中へ登場したUSP MAGAZINE。 まだまだひよっこではございますが、 技術に人生をかけたエンジニアの皆さんを、 シェルスクリプトという簡素な技術でつなぎ、 奥深い技術の世界へと誘う骨太な雑誌を目指したい!!と 心の奥から思う次第です。 どうぞ今後ともごひいきに。

Cプログラム高速化研究班

投稿日:2016.03.30 | カテゴリー: 推薦図書

プログラムの背後で、CPUはどのような働きをしているのでしょうか?本書はその原理と仕組みを簡単な実験で確かめ、コードを研ぎすます方法を紹介します。

【著者あとがきより】
高速なプログラムが求められる場面は少ないながらも厳然として存在し、いざ性能が必要になったときに対応できる技術者が非常に少なくなっているのが気がかりです。特に、業務システムなどの数値演算系以外の分野では、絶滅危惧種と言ってよいのではないでしょうか。
その原因のひとつは、高級言語と統合開発環境の普及によって、機械命令レベルのプログラム実行を意識しなくてもすむようになっていることです。どのように実行されるかを意識しないので、実行コストが高い処理が平気で使われています。もうひとつの原因は、アルゴリズムに対する理解不足です。
開発するプログラムが高度化、パターン化してきているため、アルゴリズムについて学ぶ機会がなくなっているのではないでしょうか。
本書は、プログラムを高速化する個々の方策を並べるのではなく、方策を見つけるための道筋を示すように心がけました。

目次

序章 高度に進んだ技術は魔法と見分けがつかない

1章 CPUとコンパイラについてちょびっと

1.1 高速道路と横断歩道
1.2 コンパイラは何をしているのか
 コンパイル後のアセンブリ言語プログラムを覗く
 最適化オプションを付けるとどうなるか
1.3 CPUは何をしているのか
 命令セットアーキテクチャとマイクロアーキテクチャ
 命令はどのように実行されるのか
 命令パイプライン
 キャッシュメモリ
 もっとキャッシュ
 キャッシュブロックの置換アルゴリズム
 スーパースカラ実行
[1章は重箱の隅なのか]

2章 実行コストの感覚を身につける

2.1 プログラムの実行コスト
2.2 計る・測る・謀る
 本書のアプローチ
2.3 ベンチマークテストプログラムの最適化を防ぐ
 操作の「おまとめ」を防ぐ
 初期値設定の最適化を防ぐ
 単純な繰り返し操作の最適化を防ぐ
 本書のベンチマークテストプログラム
2.4 検証――遅いのはどの操作?
2.5 基本の加算と代入
 単純な代入(レジスタ間の転送)
 単純な代入(データの競合がある場合)
 定数の代入
 変数どうしの加算
 変数に定数を加算
2.6 乗算は遅い
 変数どうしの乗算
 変数に定数を乗算
2.7 除算はとっても遅い
 変数で除算(レジスタどうしの演算)
 定数2、4で除算
 2のべき乗以外の定数で除算
 符号なし整数の場合はどうか
 2のべき乗で除算するときはシフト演算がお得
2.8 メモリへのアクセス
 小さい配列へのアクセス(狭い範囲のメモリ操作) 
 大きい配列へのアクセス(広い範囲のメモリ操作)
 デスクトップ向けCPUとの比較
2.9 コンディションで差がでる条件分岐
 else節のないif文
 else節のあるif文
2.10 32/64ビット環境で違う関数呼び出し
2.11 実験のまとめ
[愛がほしくば愛を差し出せ]

3章 遅いのはどこか

3.1 gprofを使ったプロファイリング
 gprofの使い方
3.2 何がどれだけ時間を喰っているか
 ライブラリ関数のプロファイルも取得する
 時間喰いの関数たち
 ライブラリ関数の呼び出し回数を表示させるには
3.3 何が何を呼び出しているか
3.4 プロファイリングの仕組み
3.5 そのほかのプロファイラ
[達人の技を伝える教育システム]

4章 達人の方法論

4.1 達人はどこに目をつけるか?
 ハードウェア編
 コンパイラ/ミドルウェア編
 アルゴリズム編
4.2 [ハードウェア編]配列とキャッシュメモリの活用
 行列の積を計算する
 配列操作の順番を入れ替える
 ループを展開する
 行列のタイリング
4.3 [ライブラリ編]遅い関数をめぐる紆余曲折
 なぜstrcmp関数は遅いのか
 最適化の落とし穴
4.4 [ハードウェア編]SIMDを用いた文字列比較
4.5 [ライブラリ編]入出力方法いろいろ比べ
 行データの入力方法を比べる
 出力方法はどうだろう
 パイプ入出力の特殊事情
 パイプ入出力 vs. ファイル入出力
4.6 [アルゴリズム編]バイナリサーチと平衡二分探索木
 大量データのソート
[そこまでやる? ね、ね、そこまでやるの?]

5章 コンパイラを骨までしゃぶる

5.1 レベル分けされている最適化オプション
 GCCの最適化オプション
 「最適化なし」はデバッグに役立つ
 未定義動作がないことを想定しているレベル2以上の最適化
5.2 最適化・レジスタ・外部変数
5.3 共通部分式削除を知ってプログラムすっきり
5.4 ポインタと強度低減
5.5 インライン関数でユーザー関数も展開
[他人に差をつけろ!]

6章 業務システム向けのヒント 137

6.1 ソートと文字列操作をねらえ
6.2 小数点数の計算と文字列/数値の変換
 ブロック入出力とフィールド分割
 小数部付きの数を集計する
 整数を文字列に変換する
 パフォーマンスチューニングの結果
6.3 半角文字から全角文字への変換
 文字のバイト数を判別する
 ASCII文字と半角カナ文字の判別
 ASCII文字から全角文字への変換
 半角カナから全角文字への変換
 パフォーマンスチューニングの結果
 文字のバイト数を調べる別の方法
 より道UTF-8
6.4 データの特性を利用した配列の探索
 データの特性を考慮する
 バイナリサーチとリニアサーチを組み合わせた照合
 パフォーマンスチューニングの結果
[あとがきに代えて]

ユニケージ言論

投稿日:2016.03.30 | カテゴリー: 推薦図書

アジャイルでもない、ウォーターフォールでもない…、シェルスクリプトとテキストデータ、そしてオリジナルのコマンドを組み合わせ て、従来の数十倍の開発スピードで企業の基幹システムを構築する「ユニケージ開発手法」。これまで十数年間ベールに包まれていた本開発手法を解説した初の 論文集が出版されます。
その圧倒的な柔軟性、スピード、コスト削減効果で、注目を集めている本開発手法について、考案者、ユーザ、研究者が、それぞれの立場から、技術の概略、特徴、従来の開発手法との比較を論じます。
「システムは業務にある。コンピュータは道具にすぎない」
「業務のつながりは、人のコミュニケーション」
「データは更新しない、発生データは捨てないで整理集約しておけばよい」等々、本開発手法を表現した数々の言葉は、従来型の開発に携わるエンジニアにとっても、得るものが多いはずです。

目次

序 新しい開発手法への期待 前川 徹(サイバー大学)

第1章 ユニケージとは何か 當仲 寛哲(USP研究所)

1.1 ユニケージの外見
1.2 ユニケージの世界観
1.3 ユニケージのデータ論
1.4 ユニケージによる開発・運用
1.5 ユニケージ文化:コンピューティングと心

第2章 ユニケージは道具である 山崎 裕詞(良品計画)

2.1 「情シス」という仕事
2.2 システム開発における価値の根拠
2.3 システムの内製化へ
2.4 ユニケージとの出会い
2.5 ユニケージの「ミラクル」
2.6 良品計画とユニケージの現在

第3章 ユニケージは方法論である 熊谷 章(TAO BEARS)

3.1 技術革新への途
3.2 ユニケージの分析と評価
3.3 UNIXシステムとデータベースシステムの再考

第4章 ユニケージは正解である 熊野憲辰(ゼリア新薬)

4.1 ユーザサイドから見たIT 基盤・産業論
4.2 ユーザサイドから見たシステム
4.3 ユニケージへの期待と評価

第5章 ユニケージはコミュニケーションである 木ノ下 勝郎(ライブスペックRFP研究所)

5.1 業務のつながりは人のコミュニケーション
5.2 テキスト処理だけで全部仕事ができた
5.3 データは更新しない、発生データは捨てないで整理集約しておけばよい
5.4 データの管理方式とデータ名称の付け方

Vol.00

投稿日:2016.03.28 | カテゴリー: バックナンバー

私たちエンジニアは、常に技術についての選択を迫られている存在と言えます。 1994 年、マイク・ガンカーズ(X Window System 開発チームの一員)は、 以下の9 つの至上命令に集約される「UNIX 哲学」を創出しました。

  • 1. 小さいものは美しい。
  • 2. 各プログラムが一つのことをうまくやるようにせよ。
  • 3. できる限り原型(プロトタイプ)を作れ。
  • 4. 効率よりも移植しやすさを選べ。
  • 5. 単純なテキストファイルにデータを格納せよ。
  • 6. ソフトウェアの効率をきみの優位さとして利用せよ。
  • 7. 効率と移植性を高めるためにシェルスクリプトを利用せよ。
  • 8. 束縛するインターフェースは作るな。
  • 9. 全てのプログラムはフィルタとして振る舞うようにせよ。

これらのUNIX 哲学は、複雑化した現代社会において、物事の本質を貫き、 シンプルに強く生きていくための指標として、多くの人々の支えとなっています。 シェル(shell)は、ユーザからの指示を受けて解釈し、OS の中核部分に伝達することで、 プログラムの起動や制御などを行うプログラムです。 あらゆるプログラムは、シェルからの起動が可能であり、シェルスクリプトに処理の順番を 記述することで、複数のプログラムを操ることができます。 シェルスクリプトは、平易で短く書けるためユーザとの親和性が高いのも特徴です。 様々な言語で書かれたプログラムを自由に操るシェルスクリプトの可能性は無限大といっても過言では ありません。 現代に生きる私たちが直面する多くの課題も、この強くて柔軟な「UNIX の精神」と 「シェルプログラミングの技術」によって解決できるのではないか、と私たちは考えます。 USP MAGAZINE はUNIX 精神の原点に立ち返り、 シェルプログラミングをはじめとする広範な「洗練された」技術を紹介することで、 エンジニアの皆さんに改めてテクノロジーの楽しさ、深さを伝える雑誌を目指します。

新しい記事一覧へ戻る

  • -->