技術とか戦略とか

証券レガシーシステムを8年いじってから転職した普通の文系SEによるブログ。技術のみではなく趣味の戦略考察についても。

基本情報処理技術者試験のpythonのサンプル問題を解いてみた

2019年10月28日にIPAから基本情報処理技術者試験のpythonのサンプル問題が公表されたので、解いてみました。既に基本情報技術者試験.comから解説も出ています。 【2019年10月28日公開】基本情報技術者試験 Pythonサンプル問題|基本情報技術者試験.com https…

unix/linux:atコマンドの代替コマンド

特定の日時にコマンドが発行されるように登録するatコマンドですが、環境によってはこのコマンドが使用できないことがあります。特定のユーザでしか実行できないように制御することができたり、OSによってはatコマンドで登録できない仕様(バグ?)があった…

unix/linux:コマンドをファイルの代わりにする(プロセス置換)

Linuxのコマンドの中にはファイル名を指定するものがあります。ここで、ファイル名の代わりに、コマンドをファイルに見立てて指定することができます。(プロセス置換と呼びます) 例えば、決められた日時にコマンドが実行されるように登録するatコマンドが…

java:イミュータブルなクラスを作る方法

「イミュータブル」とは「不変」という意味で、オブジェクト指向の世界では「状態(クラス変数)がオブジェクト生成時から変更されないこと」を指します。有名所では、Stringがイミュータブルなクラスとして知られています。 イミュータブルなクラスを自作す…

マニュアル対応にならないようにするために心がけるべきこと

サービス提供者、特に接客業では、「マニュアル対応」が批判されることがあります。「マニュアル対応」が批判される理由としては、以下の二点の理由により顧客の期待通りのサービスを行えない可能性があるからだと思っています。 ・マニュアルはサービス提供…

サクラエディタ:範囲指定と否定範囲指定の併用

以下のように記述することで、範囲指定と否定範囲指定を併用できます。 ([範囲指定]|[^範囲指定]) 例えば、改行コードは明確に指定しないとヒットしないのですが、それを否定範囲指定と併用したい時に使えます。実際に使ってみた結果が以下の通りです。

上位者・担当者が行うべき判断の違いとエスカレーションの重要性

障害対応やクレーム対応において、担当者で対応方針を判断できない場合は、上位者の指示を仰ぎます。このことを「エスカレーション」と呼びます。 エスカレーションについて、なぜこれが重要なのかというのを、上位者が行うべき判断と担当者が行うべき判断の…

Excel・VBA:始めてのマクロの作り方(Hello World)

Excelのマクロ(VBA)の作り方の紹介です。マクロを使える設定にしてから、「Hello World」をポップアップで表示するボタンを作成し、保存する所まで紹介します。Excelのバージョンは Excel 2013 とします。 手順1:マクロを開発可能にするExcelの任意のファ…

NHK ニュース・防災アプリの勧め

使ってみて便利だったので紹介です。 防災情報を集めるために、テレビ・ラジオを使ったりネット・SNSを使ったりすることがあるかと思います。しかし、前者は自分とは関係のない地域の情報が混ざっているため目的の情報を聞き逃さないようにするのが難しいで…

Windowsバッチで「~として認識されていません。」と怒られる→改行コードがLFのせいかも

Windowsバッチにて、明らかに文法が合っているのに、 'hoge' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。と言われて怒られることがあります。 この場合、Windowsバッチの改行コードが誤って…

「コピー新規(修正新規)」とは

【背景】金融系SIerでは「コピー新規」という言葉を聞くことがあります。(「修正新規」と呼ばれることもあります)特定の現場だけではなく複数の現場で聞いたことがあるので、一種の業界用語だと思います。しかし、コピー新規という言葉でWeb検索をかけても…

新人研修での目標

未経験の新人がSIerでプログラマーとして働く際、事前に新人研修が行われるはずです。その新人研修では、下記の3つのことができるようになって欲しいと個人的に思っています。(プログラム言語はjavaを想定します) 1.変数、配列、if、ループといった基本…

Excel:VLOOKUP関数と代替関数の使い方まとめ

表題の通り、VLOOKUP関数とその代替関数の使い方のまとめました。 通常は、VLOOKUP関数(第四引数FALSE)で事足ります。記述量も少なく関数の内容もわかりやすいので、とりあえず検索したい時はVLOOKUP関数(第四引数FALSE)で良いと思います。 しかし、高速…

会社の同僚のライブに行ってきました!

同僚が大事なライブをやるということで誘いを受けたので、行ってきました。ちなみに、バンド名はFORです。 ライブに行くのは初めてでしたが、かっこよかったです!何より、音で会場全体が震える感覚がすごかったです。この感覚は実際に会場に行かないと伝…

Excel:漢字項目の昇順検索で失敗する場合の対応方法(文字コード順にソート)

前に「ExcelのVLOOKUP関数の高速化」という記事を執筆しました。検索のキー項目を昇順に並び替え、VLOOKUP関数のあいまい検索(二分検索)を使用することで、VLOOKUP関数を高速化できるという内容です。 以下では、漢字項目をキー項目として検索する場合の注…

ソースコードにおける一貫したポリシーの重要性

ソースコードを読みやすくし保守性を高めるために、「GOTOは使わない方が良い」「クラスは小さく分けた方が良い」といったポリシーを良く聞きます。しかし、これらのポリシーによりソースコードが読みやすくなるとは限りません。例えば、「GOTOは使わない方…

java8:関数型インターフェースの背景にある考え方

【前置き】Java8から関数型インターフェースが使用可能になりました。具体的に「ラムダ式」「Stream」「Optional」「Files」と言った方がわかりやすいでしょうか。 関数型インターフェースは関数型プログラミングをサポートするものであるため、従来からJava…

情報処理技術者試験対策「稼働率の計算」

今回は、「稼働率の計算」について書きます。情報処理技術者試験では頻出のテーマであり、また実務でもインフラ構成を考えるのに役に立つ考え方です。 いくつかの例を挙げて説明していきますが、便宜上、各機器の稼働率は0.9とします。(稼働率…機器やシステ…

情報処理技術者試験対策「磁気ディスクの構成とアクセス」

今回は、「磁気ディスクの構成とアクセス」について書きます。文章ではわかりづらいので図解します。 ITパスポートや基本情報処理技術者では頻出です。 また、フラグメンテーションとデフラグは普通にPCを使っていても知っておいた方が良いことです。それ以…

保守性の高いコードを作成するために心がけること

ソースコードは作って終わりではなく、その後何年、何十年にもわたって保守開発が行われます。また、保守開発を行う開発者もその間に入れ替わります。ソースコードを作る際は、このことを踏まえて高品質・低コストで保守開発ができるようにする必要がありま…

モチベーションを高める目標を作るのに必要な三者に対する視点

あくまでも私の経験に基づく持論ですが、モチベーションを高める目標を作るには、「自分」と「身近な人」と「社会」の三者に目を向ける必要があると思っています。巷では目標管理制度や三年目研修のようなものが流行っていますが、この三者に目を向けようと…

実務で良く見かけるループ処理

実務で使われるプログラム、特にバッチ処理では、ループ処理は頻出です。ループ処理には、良く使われるパターンがいくつかあります。そのパターンを覚えておけば、既存のソースコードの理解がスムーズになります。 今回の記事では、実務で良く使われるループ…

unix/linux:perlの複数命令を1行のコマンドで実行する(例:文字列のバイト位置走査)

表題の通り、unix/linuxでは、perlの複数命令を1行のコマンドで実行することができます。-eオプションによりコマンドライン上で実行可能となり、1つ1つの命令を ; で区切ることで複数命令を記述可能となります。 perlはファイル操作や正規表現に優れてい…

情報処理技術者試験対策「RDBMSのインデックス」

RDBMSの性能分析を依頼された、という個人的な理由で、RDBMSのインデックスについて記事にしていきたいと思います。 今回の記事では、情報処理技術者試験の出題範囲内で、要点を箇条書きで書きたいと思います。実務で使うには+αの知識(主にRDBMS固有の知識…

プログラムによる小数点以下の計算で誤差が生じる原因&対処法2選

プログラムで小数点以下の計算を行う際、誤差が生じることがあります。金額計算を行う時はこの誤差が即障害に繋がるので、誤差が生じないように実装する必要があります。 今回の記事では、誤差が生じる原因とその対処法を2つ挙げていきたいと思います。 1…

システム開発現場の間違い探し

システム開発現場の間違い探しを表現するとこんな感じです。 問:左右の絵に違いはありません。 ペーパーの試験や既にバグが顕在化したシステムとは異なり、システム開発現場では間違いがあることが明らかではありません。むしろ、「○○さんのレビューを通し…

エラー解消系記事の必要性について

このブログでは、出てくるエラーとその解消法を、エラー解消系の記事として記事化することがあります。(マニュアルのエラーメッセージ一覧の一項目をそのまま記事にするような形です)直近では、TeraTermの文字化けやjspのforEachについて記事化しました。 …

jsp:foreachが上手く動かない(表示できない)時の対処法→ライブラリ定義忘れかも

jsp

ググってもそのままズバリの答えが出てこなかったので、記事にします。--------------------------JSTLのcoreタグライブラリを使用している時に、 <tr> <th> </th> <c:forEach var="obj1" items="${time}"> <th><c:out value="${obj1.time}"/></th> </c:forEach></tr> こんな感じでforEach文を使っても何も表示されないことがありました。 理由は単純で、jspの先頭に<%@ t…

TeraTerm:バイナリファイルを開いた後の文字化けの直し方

TeraTermでは、文字コードの設定を正しく合わせた後でも、バイナリファイルを開いた時に文字化けが発生し、その後の作業に支障をきたすことがあります。その場合は、「メニューバー→コントロール→端末リセット」で元に戻せます。 なお、この直し方は、公式マ…

情報処理技術者試験対策「スコープコントロール」

「スコープ」とは、直訳すると「範囲」という意味です。プロジェクトマネジメントにおいては、「スコープコントロール」という言葉が「現在のプロジェクトで対応する範囲をコントロールする」という意味で使われます。スコープコントロールについては、情報…