技術とか戦略とか

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

2020-09-01から1ヶ月間の記事一覧

外部結合で結合条件をWHERE句に記述してしまうと片方のテーブルにしかないレコードが抽出されない

SQL

タイトルの通りですが、実務でちょっとうっかりしていたのでメモです。 ---------------------- 例えば、・ユーザがログインした日時を管理するテーブルと、ユーザ名の履歴テーブルがある・ユーザがログインした時、ユーザ名が存在しない場合がある・ユーザ…

CAB試験について調べてみた

IT業界の適性検査では、「CAB」と呼ばれる試験が使われることが多いようです。どのような試験なのか気になったので、以下のサンプル問題を見てみました。 【2022年卒】CAB 例題・問題をイラストで超分かりやすく解説! 【Study Pro】https://saisokuspi.com/…

C#:外部コマンド呼び出しの方法

C#

javaプログラムからの外部コマンド呼び出しは別の記事に掲載したのですが、C#でも同様に外部コマンド呼び出しが可能です。プライベートで「画面から外部コマンドを呼び出し、外部コマンドで出力されたファイルを取り込む」というプログラムを作る予定がある…

フローチャートを書く意義と書き方

フローチャートは、処理の流れを図に起こして整理するために使う技法です。フローチャートを起こすことで、他の人に処理の流れを伝えやすくなるので、設計書では良く用いられます。また、自分自身も処理の流れを理解しやすくなるので、複雑なプログラムを組…

java:重複を排除する方法3選

今回は、javaでListの重複排除を行う方法を3つ紹介します。 1つ目の方法は、for文で自力でアルゴリズムを記述して重複排除を行う方法です。記述が冗長になり、コーディングミスも起こりやすいことから、現在の実務ではこの方法で重複排除を行うことはない…

java:標準入出力の入力元・出力先を変更する

javaには・System.setIn・System.setOut・System.setErrの3つのメソッドが用意されており、これらのメソッドにより標準入出力の入力元・出力先を変更することができます。これらのメソッドを利用することで、標準入力や標準出力を使用している処理の立ち振…

「現行機能の踏襲」という要件定義のまずさと、苦し紛れの対応策

私自身は幸運なことに、要件が「現行機能の踏襲」であるプロジェクトに携わったことはないのですが、要件がこれに近いプログラムをプライベートで作成しているので、参考までにその経験を記事として残します。 -------------- 私が作成しているプログラムは…

java:関数を引数として渡す

C#では、こちらの記事のようにdelegateの仕組みを利用して関数を変数として扱うことができます。例えば、引数と引き渡してコールバック処理を実現することができます。 javaでも、8以降であれば関数型インターフェースを利用して関数を変数として扱うことが…

無名クラスとは

javaやC#では、インスタンス変数をnewする際に、後ろに中かっこを記述し定義を行うことができます。ここで定義されるものは「無名クラス(匿名クラス)」と呼ばれ、クラス名を新たに定義することなく、インスタンス変数のクラス・インターフェースを継承・実…

動的計画法を試してみた

動的計画法とは、再帰的なロジックを、計算結果を都度記録するロジックで代替することで、計算速度を向上させるテクニックです。競技プログラミングのテクニックの一つなのですが、高度なアルゴリズムを実装する開発だけではなく普通の業務システム開発にも…