技術とか戦略とか

証券レガシーシステムを8年間いじった普通のSEによるブログ。技術のみではなく趣味の戦略考察についても。PCから見た方が色々見やすいと思います。

情報処理技術者試験対策「回線速度の計算」

回線速度の計算については情報処理技術者試験(主に基本情報)でよく問われますし、私もちょうど実務で使う機会があったので、記事にして説明します。 回線には、bps(bit per second、1秒間に何ビット通信できるか)という単位で性能が定められています。(計…

サクラエディタ:JavaScriptでマクロ実装(サンプル:パスワード自動生成)

最近知ったのですが、サクラエディタのマクロはJavaScriptでも実装できるのですね。 サクラエディタ マクロを開発してみる http://totech.hateblo.jp/entry/2014/03/11/125058 キーマクロでは実現できないことも、JavaScriptなら実現できるということもあり…

サクラエディタをなるべく邪魔にならない場所に開く

こちらの記事のように、「サクラエディタを開く→何らかの処理をする→上書きする→ウインドウを閉じる」をバッチ等で自動的に行うと、新たに開かれたサクラエディタのウインドウが作業の邪魔になったりします。バックグラウンドプロセスのような形でウインドウ…

サクラエディタ:全角文字の検索方法(怒られ・半角カナ回避版)

サクラエディタの正規表現で下記の条件を指定することで、全角文字を指定することが可能です。[^\x00\x00-\x7F\x00。-゚] ネットには似たような指定方法が転がっていますが、正規表現に「dregonig.dll Ver.3.06 with Onigmo 5.15.0」を使用している場合は、こ…

戦略提案:わくわく感への値付け

平日の限られた時間で更新できるネタがないので、Facebookの投稿からネタを引っ張り出してきました。おもちゃ屋(例:トイザらス)がAmazonに対抗する手段として、おもちゃを手に取るわくわく感に値付けをすることが有効ではないのだろうか、という提案です…

DOSでUNCは~と怒られた場合の対処法(ネットワークドライブ割り当て)

コマンドプロンプトやバッチファイルでリモートのサーバにアクセスしようとすると「CMD では UNC パスは現在のディレクトリとしてサポートされません。」や「上記の現在のディレクトリで CMD.EXE を開始しました。UNC はサポートされません。Windows ディレ…

情報処理技術者試験対策「レスポンスタイム・ターンアラウンドタイム・スループット」

今回は、混同しやすい性能指標に関する3つの用語を説明します。情報処理技術者試験の午前試験で問われることがありますし、実務でも混同すると意思疎通がうまくいかなくなる可能性があります。 【レスポンスタイムとターンアラウンドタイム】・レスポンスタ…

立教池袋中学校・高等学校文化祭(2018年)-数理研究部の展示の紹介

Facebookの繋がりで、立教池袋中学校・高等学校文化祭(RIF)の数理研究部の展示を見に行きました。個人的な繋がりで感銘を受けたのはもちろん、金融系SEとしても多くの感銘を受けたので、その感動をぜひ共有したいと思い技術ブログでも記事を上げます。特に、…

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

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

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

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

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

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

java:保守開発で変数名が無いよと言われた場合の対応

保守開発で既に本番運用に乗っているクラスを改修する際、当該クラスのjavaソースをEclipseやNetBeans等のIDEに取り込んだ時点で「hogeVariable を変数に解決できません」「hogeVariable は解決できないか、フィールドではありません」といった形で怒られる…

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

java:packageで記述したフォルダ構成を生成するツールを作成してみた

「大量のjavaソースをpackage文で指定されたフォルダに配置するのが面倒」というのは割とどの現場でもあると思うのですが、ググってもそれを解決するツールが見つからなかったので、勉強がてら作成しました。高度なことはしていないので、Windows環境でJDKが…

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

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

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

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

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

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