技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

2018-10-01から1ヶ月間の記事一覧

サクラエディタ:特定の文字列を含まない行をgrepで抽出する

UNIXのgrepコマンドだと-vオプションで指定した文字列を含まない行を抽出することができますが、サクラエディタのgrepだと一見できないように見えるので。 結論から言うと、^((?!hoge).)*$と指定すればできます(「hoge」は任意の文字列)。 以下、おまじな…

java:enum型を使うと何が嬉しいのか調べてみた

実務でenum型が出てきたのですが、私が使った入門書にはenum型に関する説明がなかったので、改めて調べてみました。 enum型とは、複数の定数をまとめるための型です。文法的には以下のページで解説されている通りです。 【Java入門】Enum(列挙型)の使い方総…

Oracle:CBO(オプティマイザ統計)についてOracle現場ワザで勉強してみた

実務を行う上でOracleの実行計画のことが良く分からずに困っていたので、少し古い本ですが「新・門外不出のOracle現場ワザ エキスパートが明かす運用・管理の極意」という本を読んで勉強しました。 詳しい内容は本書参照ですが、簡単に内容をかいつまんで書…

IT業界での業務知識の重要性

昨日の記事ではアクセス履歴の話から業務知識の話まで脱線してしまいました。せっかくなので、業務知識の重要性について別記事で書きたいと思います。 前職では、証券総合取引システムを開発する元請け企業で保守開発を担当していました。金融系のシステムは…

アクセス履歴を見て思ったこと

少し生々しい話になるのですが、当ブログのアクセス履歴を見て気付いたことなど。途中から話が飛躍するのは仕様なので気にしないでください。 ブログを始めた当初は1日あたり10PVも行かなかったのですが、ある記事を書いた後にアクセス数が伸び初め、今は1日…

COBOLでのデータベース連携概論

COBOLはOracleやDB2等のリレーショナルデータベースと連携することが可能です。単に opensource COBOL を入れただけだとデータベース連携はできませんが、書き方の簡単な紹介だけでもしてみます。 【参考文献】今回の記事は以下のページを参考にして作成して…

opensource COBOL:内部ソートサンプル

COBOLの内部ソート(COBOLプログラム内で行うソート処理)についてネット上の情報が少ないので、opensource COBOLでサンプルを作成しました。また、サンプルを元に、文法に関する簡単な説明もつけました。 【サンプル】 IDENTIFICATION DIVISION. PROGRAM-ID…

DOSのfindstrで日本語が検索できない件(文字コードが原因)

実務で表題の問題にぶち当たって焦ったのですが、検索対象のファイルがSJISではなかった(UTF-8であった)ことが原因でした。 【対処】検索前に下記リンク先のPowerShellのスクリプトを呼び出し、検索対象のファイルの文字コードをSJISに変更する。(フォル…

COBOLの練習用プログラムの紹介

COBOLを勉強すると、恐らくひよこグミ様の「サルでもわかるCOBOL入門」というサイトを見つけると思います。そのサイトにCOBOLの練習用プログラムがあるので紹介します。 サルでもわかるCOBOL入門 【ひよこグミ】 - はじめてのCOBOL 【総合メニュー】 http://…

opensource COBOL:マッチング処理サンプル

マッチング処理(マスタとトランザクションを突き合わせる処理)のロジックについて、以前の記事で紹介しました。 https://akira2kun.hatenablog.com/entry/2018/10/13/155427 COBOLでサンプルプログラムを作成しましたので、参考までに紹介します。 【サン…

マッチング処理のロジックの説明

今回は、バッチプログラムで使われるロジックの一つである「マッチング処理」について説明します。「マッチング処理」とは特にCOBOLではよく目にするロジックであり、マスタデータ(業務の基盤となるデータ。商品一覧、取引先一覧等。)とトランザクションデ…

Windowsバッチの文字列置換(置換文字列を変数で定義)

備忘録です。遅延環境変数を使ったり、環境変数のネストを使ったりして色々複雑なので。 【バッチサンプル】・test.batrem 空ファイル作成type nul> output.txt rem 置換前文字列・置換後文字列を変数で定義set before=hogeset after=piyo rem before・after…

ドキュメント作成時の基本的な心構え

業務内容によってはドキュメントを作成する機会がなかなかないと思うので、ドキュメント作成のコツについて一般的なことを書いてみます。ドキュメント作成にコツも何もあるのか、って感じかもしれませんが、ドキュメントの良し悪しで意図が早く正確に伝わる…

opensource COBOL:コントロールブレイクサンプル

コントロールブレイク(キー項目が変わる度に何らかの処理を実行)のロジックについて、以前の記事で紹介しました。 https://akira2kun.hatenablog.com/entry/2018/10/06/150330 COBOLでサンプルプログラムを作成しましたので、参考までに紹介します。 【サ…

Apache Spark のjavaでの実装についてちょっと調べてみた

Apache Spark 向けのコーディングをjavaで行う機会がありそうなので、空き時間にちょっと調べてみました。 ・そもそもApache Sparkとは分散処理用のフレームワークであり、簡潔なコードで分散処理の実装が可能になる。複数のコンピュータで分散処理を行うこ…

コントロールブレイクのロジックの説明

今回は、バッチプログラムで使われるロジックの一つである「コントロールブレイク」について説明します。「コントロールブレイク」とは特にCOBOLではよく目にするロジックであり、キー項目(「商品番号」「顧客番号」「カード番号」等)順にソートされたデー…

COBOLにおけるパック10進数(COMP-3)のデータの持ち方

パック10進数は色々なサイトで説明されていますが、今回の記事では正確さは置いといて実務で必要な知識をわかりやすく説明します。 【パック10進数とは】パック10進数は、1バイトで数値2桁を表現する形式です。バイト数を削減できる、16進で文字コードを見た…