技術とか戦略とか

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

2018-01-01から1年間の記事一覧

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進で文字コードを見た…

opensource COBOL:ファイル入出力サンプル

opensourceCOBOL(Windows版)の挙動把握のため、ファイル入出力のサンプルを作成しました。ファイルを4バイトずつ読み込んで、改行コードを付けて別のファイルに出力するサンプルです。 これができるということは、実務に近いプログラムも作れるはずです。ソ…

本番作業をミスなく行うために必要なこと(一般論)

IT業界では、プログラムのリリースや運用作業、緊急対応等で、本番環境で作業を行うことが良くあります。本番環境での作業は、一つのミスがユーザに影響を与えることになりかねないので、作業ミスがしばしば問題になります。 今回は、本番環境での作業をミ…

Gofのデザインパターンの自分なりのまとめ

「増補改訂版Java言語で学ぶデザインパターン入門」という本でGofのデザインパターンを勉強しました。自分の知識の整理も兼ねて、どのようなデザインパターンが存在し、どのような場合に適用できるのかを簡単にまとめたいと思います。 なお、この本とほぼ同…

java:プリミティブ型とオブジェクト型のメモリの持ち方の違い

を酒の席で聞かれてうまく答えられなかったので、改めて勉強し直してみました。 1.そもそもプリミティブ型(基本データ型)って何だっけ値型のことで、オブジェクトを持たない型のことです。javaの場合は以下の8つの型が該当します。 Primitive Data Type…

Windows上にopensource COBOLの環境を構築してみた

こちらのページを参考に opensource COBOL ベースのCOBOL実行環境をWindows(64bit)上に構築し、HELLO WORLD まで確認できました。 Install_win ・ opensourcecobol-opensource-cobol Wiki ・ GitHub https://github.com/opensourcecobol/opensource-cobol/wi…

情報処理技術者試験対策「select文の結果の結合等(集合演算子)」

今回は、select文の結果を結合する文法の紹介です。結果を結合するためには、集合演算子のUNION(重複排除したい場合はUNION ALL)を用います。実務では複数のselect文の結果を1回のSQL文発行で取得したいことが結構あるので、知っておくと便利です。情報処理…

Visual Studio 2017 C1083エラーの対処(stdio.hがない場合)

C++

fatal error C1083: include ファイルを開けません。'stdio.h':No such file or directoryこんなエラーが出た時の対処法について。 ネットでは所説諸々出ていますが、私の場合はstdio.h自体がありませんでした。調べてみたら原因はこれでした。「Windows 10 …

サクラエディタのマクロをバッチファイルで複数ファイルに対して実行

表題の通りです。 実務で使う機会があったのでメモします。 置換するだけならgrep置換機能で良いのですが、古いバージョンだとこの機能が入っていませんし、ソート→マージ等の置換以外の機能を使いたくなることもあるので。 以下、例を用いて説明します。 【…

ブログを複数人で編集する方法を調べてみた

ブログを複数人で編集しないか、という話が来たので、その方法を調べてみました。 【はてなブログのブログメンバー機能を使う】はてなブログにそのままズバリの機能がありました。 http://help.hatenablog.com/entry/blog-members ただし、ブログ所有者が有…

情報処理技術者試験対策「SQL(副問合せ・相関副問合せ)」

今回は副問合せと相関副問合せの紹介です。副問合せは試験だけでなく実務でも頻出です。相関副問合せについては、副問合せでも同じ検索結果を出すことが可能なので実務では忘れがちかもしれませんが、試験には出題されますし、性能面を考慮すると相関副問合…

情報処理技術者試験対策「データベースの障害復旧」

今回は、データベースの障害復旧について説明します。試験頻出です。また、関連するファイル・概念の説明もついでに行います。 【データベースの復旧に用いるファイル・概念】 チェックポイント障害回復操作を開始すべき時点。一定時間感覚で訪れる。なお、…

COBOL:CONTINUEの挙動

COBOLのCONTINUEの細かい挙動を説明したページがいつの間にか消えていたので、バックアップ代わりに記事化します。 【CONTINUEの挙動】「CONTINUE」は、何もしないことを明示するための命令です。分岐が発生する場合に、ある分岐の場合は何もしないというこ…

情報処理技術者試験対策「SQL(重複排除と集計)」

今回は重複排除(distinct句)と集計(group by)の紹介です。どちらも挙動が似ているのでまとめて紹介します。実務で使うだけでなく、どちらも試験頻出です。 【機能説明】・重複排除 select文の結果について、重複を排除することができる。 ・集計 指定したカ…

eclipseのショートカット自分用まとめ

Eclipseをまだ使いこなせておらず生産性が上がらないので、身近な所からということでショートカットキーの練習をしていました。 他の人の操作を見たり実際に試したりして、最優先で使いこなせるようになりたいと思ったショートカットキーは以下です。(Windo…

java:CLASSPATHの基礎を調べてみた

そういえばCLASSPASSについて知識があやふやだな…自分が読んだ入門書にも書いてなかったしな…と思ったので、入門的な内容ですが簡単に調べてみました。 ・CLASSPATHって(ytp.ne.jp) http://www.ytp.ne.jp/tech/java/sineruka/classpath.html CLASSPATHとはど…