メインコンテンツまでスキップ

画像生成AI Nano Banana に触れてみた

箕浦
箕浦
ディアシステム(株)開発二部

こんにちは。開発 2 部 箕浦です。
今回は噂の画像生成AI Nano Banana(ナノバナナ)を触ってみましたので、紹介したいと思います。
まずは Nano Banana について少し紹介してから実際に生成した画像を紹介します。

Nano Banana(ナノバナナ)について

Nano Bananaとは、Googleが開発した最新のAI画像生成・編集モデル「Gemini 2.5 Flash Image」の愛称です。
2025年8月にリリースされ、AI画像生成の分野で大きな注目を集めています。

Nano Bananaの特徴

1. キャラクター一貫性の革新

従来のAI画像生成では、同じキャラクターでも角度や服装を変えると別人になってしまうという問題がありました。
しかしNano Bananaは:

  • 同一人物の特徴を維持したまま編集が可能
  • ポーズや向き、服装を変更しても人物の一貫性を保持
  • 複数の画像生成でもキャラクターの統一性を維持

2. 高度な画像編集機能

  • 画像合成:複数の画像を自然に結合
  • 背景変更:元の人物を保ったまま環境を変更
  • 衣装変更:人物の特徴を維持したまま服装を変更
  • ポーズ変更:同じキャラクターで様々なポーズを生成

3. 業界トップの性能

LMArena(AIモデル評価サイト)では:

  • Text-to-Imageで1位を獲得
  • Image Editでスコア1,339を記録(2位を大きく引き離す)
  • 高精度と高速処理を両立

主な活用例

ビジネス活用

  • ノベルティグッズのデザイン提案
  • 商品紹介画像の作成
  • 広告素材の制作
  • プレゼンテーション用画像

クリエイティブ用途

  • キャラクター設定資料の作成
  • 漫画・イラストの参考資料
  • ストーリーボードの制作
  • 動画制作の素材作り

日常利用

  • SNS用アイキャッチ画像
  • プロフィール写真のバリエーション
  • 家族写真の演出
  • 記念写真の作成

利用方法

無料で使える環境

  1. Google Geminihttps://gemini.google.com/)

    • 無料プランで利用可能
    • 1日あたり一定枚数まで生成可能
  2. Google AI Studiohttps://aistudio.google.com/)

    • 開発者向け環境
    • より詳細な設定が可能

ためしてみた

今回は、Google AI Studioから試したいと思います。

画像1

Google AI Studioにアクセスすると上記の画面になりますので、「Try Nano Banana」を押下します。

今回はフリー素材の画像を使っていろいろ遊んでみたいと思います。

まずは以下のビジネス用画像を添付し、プロンプトに

この画像の人全員にビールジョッキを持たせてください

と入力してみます。

画像2

すると

画像3

ちゃんと持たせてくれました!

今度は

背景を居酒屋にしてください

画像4

ちょっと合成写真感はありますが、まあいいでしょう

さらに

画像のすべての人物をパーカーに着替えさせてください

画像5

パーカー感がリアルで感動です!

続けてディアのロゴを入れてみましょう

全員のパーカーにこのロゴをいれてください

画像6

しばらくすると・・・

画像7

ちゃんと指示どうりやってくれました。
商品のPRが画像にも使えそうですね。

次に別のパターンを試してみます。

フリー素材の画像を使って以下を入れてみます。

1枚目の右の人を2枚目の人に変えて

画像8

指示どうり金髪の女性に差し替えてポーズまで合わせてくれています

画像9

今回はほんの一部ですが、皆さんもぜひ試してみてください。

最後に、現在は自己判断での利用となっており、以下の点に注意が必要です:

  • 第三者の著作権を侵害しない
  • 肖像権の尊重
  • 利用規約の確認

ローコード開発って何ぞや?

前田
ディアシステム(株)開発一部第2課

こんにちは。開発一部 第 2 課の前田です。

ローコード開発という言葉、耳にする事があると思います。
そのローコード開発について、ざっくり紹介したいと思います。

常駐しているお客様先での、私が携わっている ETL(*)のシステムもローコードの開発ツールを採用しています。
 *ETL とはデータを 抽出(Extract) 変換(Transform) 格納(Load) する一連のプロセスの事です。

ローコードツールの特徴として

  • コードを書く量を最小限に抑え、GUI 等を使ってアプリを構築する手法
  • テンプレートや部品化された機能を使って、ドラッグ&ドロップ操作で UI やロジックを構築
  • データベースや API 連携が GUI で設定できて、コード記述が最小限で済み、SaaS や API 連携にも対応していて、外部サービスとの統合がスムーズである

(イメージ)

画像1

又、コンポーネント単位でデバッグが出来る事で、途中結果の確認が容易にできます。
プログラムバグが出たとしても、原因調査がしやすく特定するまでの時間が速いです。

 (イメージ)

画像2

ローコード開発のメリットとデメリット

[メリット]

  • 学習コストが少ない
        何らかのプログラム言語を習得する必要がない(但し IT リテラシーは必要)
  • 開発コストが少ない
        コーディング量が少ないため、短期間でリリースができる
        外注せずに、社内で開発ができる
        標準化されているので、後から修正がしやすく、他人が作ったソースの解析もあまり悩まなくで済むのが良いところです

[デメリット]

  • ツールのライセンスや保守料等の費用が発生する
  • ツールの制約によって、独自仕様の実装が難しい場合があります
  • 複雑な分岐やロジックになると、結局ソースが見にくくなったり、
       「あれ、こんな事はできないのね?」みたいに、プログラマ経験があると混乱する場面もたまにあります。
  • IT 部門以外の方が開発すると、ポリシーが徹底されないリスクがあります

最後に

最近では AI による開発支援機能が追加されたりと、ツール自体が進化してます。
開発コストも小さいのでアジャイル開発、小規模プロジェクトには向いていると感じます。
メーカー企業では、このようなローコードで作れるアプリを導入して IT 部門だけでは無く、業務部門の中で開発する流れが進んでいるようです。

Wi-Fiが遅い、繋がらない!その原因と解決策をチェックしよう

福田
ディアシステム(株)開発一部第5課

「あれ、またWi-Fiが遅い…」

そう感じたこと、ありませんか?

私たちの生活に欠かせないWi-Fiは、今や単なるネット接続ツールではなく、仕事や勉強、動画視聴、そしてSNSまで、私たちの毎日に寄り添う重要なライフラインです。

もしWi-Fiの調子が悪くて困っているなら、今回紹介するWi-Fi環境のチェックポイントを試してみてください。

まずはこの2つのポイントをチェックしてみてください。 今回は、日本の主流である光回線に絞って解説します。

  1. ONU(光回線終端装置)をチェック! 光回線をご利用の場合、インターネットの入り口となるのがONUです。 これは、光ファイバーの信号をデジタルデータに変換する役割を担っています。

通信会社からレンタルされていることが多いので、まずはランプが正常に点灯しているかを確認しましょう。 もし赤く点滅していたり、消えていたりする場合は、通信自体に問題がある可能性があります。

  1. Wi-Fiルーターの電波強度をチェック! Wi-Fiの電波は、壁や家具、他の電化製品などによって弱くなってしまいます。

「電波が届きにくいな…」と感じたら、電波の強度を測定してみましょう。

Wi-Fiの電波強度は、通信速度や安定性に直結する重要な要素です。

今回は、パソコンを使ってWi-Fiの電波強度を調べる、方法をご紹介します!

Windowsパソコンで電波強度を測る! 特別なアプリをインストールする必要はありません。 Windowsのコマンドプロンプトを使えば、すぐにWi-Fiの電波強度をチェックできます。

(1). コマンドプロンプトを起動する スタートメニューから「cmd」と入力して、コマンドプロンプトを起動します。

(2). コマンドを入力する コマンドプロンプトの画面で、次のコマンドを入力してEnterキーを押してください。

netsh wlan show interfaces

コマンド実行すると、このような情報を表示します。

システムに 1 インターフェイスがあります:

名前 : Wi-Fi
説明 : Intel(R) Wi-Fi 6E AX211 160MHz
GUID : ********-****-****-****-************
物理アドレス : **:**:**:**:**:**
インターフェイス 入力 : プライマリ
状態 : 接続されました
SSID : ***
AP BSSID : **:**:**:**:**:**
バンド : 2.4 GHz
チャネル : 6
接続された Akm 暗号 : [ akm = **-**-**:**, cipher = **-**-**:** ]
ネットワークの種類 : インフラストラクチャ
無線の種類 : 802.11n
認証 : WPA2-パーソナル
暗号 : CCMP
接続モード : プロファイル
受信速度 (Mbps) : 144.4
送信速度 (Mbps) : 144.4
シグナル : 97%
プロファイル : ***
構成された QoS MSC の : 0
構成された QoS マップ : 0
ポリシーで許可されている QoS マップ : 0

この表示は、Wi-Fiルーターからの距離は、見通し直線で1メートルで実行しました。

Wi-Fiに関する情報が表示されます。注目するのは「シグナル」という項目です。 ここに表示されている%表記の数値が、現在の電波強度を表しています。 100%に近いほど、電波の状態は良好です。 50%あたりになると、通信速度に影響が出始める可能性があります。

今回は、いくつかの場所で実際に計測した結果をもとに、Wi-Fi電波の強度を見ていきましょう。

測定1:ルーターから1mの場所 まず、Wi-Fiルーターから見通しがよい1メートルほどの場所で計測しました。

	シグナル: 97%

ほぼ満点ですね!ルーターの真横や、ごく近い場所では、これくらい高い数値になるはずです。

測定2:ルーターから3mの場所 次に、ルーターから見通しがよい3メートルの場所で試しました。

	シグナル: 99%

なんと、1メートル地点よりも数値が上がりました!これは、電波の反射や周囲の環境によって、電波が強められる現象が起きることがあります。 Wi-Fi電波は、壁や家具に反射しながら届くため、必ずしもルーターから近ければ近いほど良い、というわけではないのが面白いところです。

測定3:ルーターと機器の場所を入れ替えて3mの場所 さらに、同じ3メートルの場所でも、ルーターとパソコンの位置関係を少し変えてみました。

	シグナル: 92%

数値が少し下がりましたね。 このように、電波の強度はわずかな位置の違いでも変動します。 これは、電波が跳ね返ったり、他の電波と干渉したりする影響が考えられます。

測定4:曲がり角の先、約5mの場所 次に、ルーターからL字に曲がった先にある、見通しのきかない約5メートルの場所で計測しました。

	シグナル: 92%

先ほどの3メートルの結果とほとんど変わりません。 これは、Wi-Fiの電波が回り込んだり、壁で反射したりして届いていることを示しています。

測定5:さらに場所を入れ替えて5mの場所 同じL字の場所でも、ルーターとパソコンの位置を入れ替えてみたところ…

	シグナル: 93%

こちらもほとんど変化がありません。 この結果から、この場所の電波強度は、距離や反射、回り込みの影響でこのくらいの値になると推測できます。

測定6:扉を閉めた先、約5mの場所 次は、見通しの良い5メートル地点で、間に扉を閉めた状態で計測しました。

	シグナル: 87%

数値が下がりました。 扉という障害物を通過することで、電波が減衰していることがわかります。

測定7:階段を半分登った場所 さらに、ルーターはそのままで、階段を半分ほど登った場所で計測しました。

	シグナル: 57%

一気に数値が下がりました!床や壁、さらには高さの変化など、複数の要因が絡み合って電波が大幅に弱くなっています。

測定8:2階の部屋 最後に、2階まで登ったところで計測しました。

	シグナル: 43%

かなり数値が下がりました。これくらいの電波強度になると、動画の読み込みが遅くなったり、途切れたりする可能性があります。

今回の計測結果を見て、「ウチも電波が弱い場所があるかも…」と感じた方もいるのではないでしょうか。

計測結果から見ると、「シグナルが50%に近い場所(今回の例では階段の途中)」にWi-Fiの中継器を置くことで、家全体のWi-Fi環境をグッと改善できる可能性が見えてきました。

さらに快適なWi-Fi環境を目指すなら、次の点も試してみてください。

  • 時間帯を変えて再計測しましょう。

Wi-Fiの電波は、近所の電波と干渉することがあります。 夜間や週末など、使う人が増える時間帯に電波強度がどう変わるか見てみるのもおすすめです。

  • Wi-Fiルーターの置き場所を変えてみましょう。

わずかな向きや位置の違いで、電波の届き方は大きく変わります。 壁から少し離したり、家具の配置を変えたりするだけで、意外な改善が見られるかもしれません。

  • 高性能なルーターへの買い替えも検討

どうしても電波が弱い場所があるなら、指向性のある高性能なWi-Fiルーターに替えるのも一つの手です。
特定の方向に電波を強く飛ばせるので、より安定した接続が期待できます。

Wi-Fiの電波は目に見えないので、どこに問題があるか分かりにくいです。
今回ご紹介したような方法で「見える化」することで、解決への糸口が見つかります。

c# 別クラスのPrivateメソッドを呼び出す方法

建部
ディアシステム(株)開発一部第2課

こんにちは。開発一部の建部です。

この記事は、公開されていないクラスのPrivateメソッドを呼び出す例をいくつか例示します。

例では実行ファイルでの実装となっていますが、MS-Testなどのテストフレームにも適用でき、
戻り値取得もできるので Privateなメソッドのユニットテストにも応用できます。

なお、Privateメソッドをユニットテストする意義については、別議論とします。
(VS2022では右クリック→単体テスト作成でも拒否されますし、、、)

やっている事は、

  • ReflectionによるPrivateメソッド名の文字特定 →エディタのメソッド名補完機能でも候補に出てこないメソッドが指定できます。
  • InvokeによるPrivateメソッドの実行および、その引数指定方法

の2点です。

ファイル構成は

ファイル名説明メモ
Program.cs実行ファイルのエントリポイント
TestClass01.cs対象クラスのメソッド呼び出し処理※ここで色々やってます
TargetClass01.cs呼び出されるメソッド群

です。

Program.cs

using System;

namespace PrivateMethodTest
{
/// <summary>
/// 実行ファイルのエントリ
/// </summary>
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, PrivateMethodTest");
//
TestClass01 testc = new TestClass01();
}
}
}

TestClass01.cs

using System.Reflection;

namespace PrivateMethodTest
{
/// <summary>
/// 対象クラスのメソッド呼び出しクラス
/// </summary>
public class TestClass01
{
/// <summary>
/// コンストラクタ
/// </summary>
public TestClass01()
{
Console.WriteLine("Hello, TestClass01");
//
bool result = TestMethod01();
}

/// <summary>
/// 対象クラスのメソッド呼び出し処理
/// </summary>
/// <returns></returns>
public bool TestMethod01()
{
Console.WriteLine("TestClass01-TestMethod01");
TargetClass01 targetc01 = new TargetClass01();

// Publicなメソッドの呼び出し
int? result = targetc01.PublicMethod01();

// Privateなメソッドの呼び出し
MethodInfo? minfo = targetc01.GetType().GetMethod("PrivateMethod01", BindingFlags.Instance | BindingFlags.NonPublic);
if (minfo != null)
{
Console.WriteLine("PrivateMethod01={0}", (int?)minfo.Invoke(targetc01, null));
}

// Privateな引数付きメソッドの呼び出し
minfo = targetc01.GetType().GetMethod("PrivateMethod02", BindingFlags.Instance | BindingFlags.NonPublic);
if (minfo != null)
{
Console.WriteLine("PrivateMethod02={0}", (int?)minfo.Invoke(targetc01, new object[]{ 2, 3 }));
}

// 事前にPublicなクラスメンバに値をセットしてPrivateなメソッドの呼び出し
targetc01.Property01 = 5;
targetc01.Property02 = 3;

minfo = targetc01.GetType().GetMethod("PrivateMethod03", BindingFlags.Instance | BindingFlags.NonPublic);
if (minfo != null)
{
Console.WriteLine("PrivateMethod03={0}", (int?)minfo.Invoke(targetc01, null));
}

return true;
}
}
}

TargetClass01.cs

namespace PrivateMethodTest
{
/// <summary>
/// 呼び出された衣装クラス
/// </summary>
public class TargetClass01
{
public int Property01 = 0;
public int Property02 = 0;

/// <summary>
/// コンストラクタ
/// </summary>
public TargetClass01()
{
Console.WriteLine("Hello, TargetClass01");
}

/// <summary>
/// 呼び出される処理01
/// </summary>
/// <returns></returns>
public int PublicMethod01()
{
Console.WriteLine("TargetClass01-PublicMethod01");
return -1;
}

/// <summary>
/// 呼び出される処理02
/// </summary>
/// <returns></returns>
private int PrivateMethod01()
{
Console.WriteLine("TargetClass01-PrivateMethod01");

return 0;
}

/// <summary>
/// 呼び出される処理03
/// </summary>
/// <returns></returns>
private int PrivateMethod02(int arg01, int arg02)
{
Console.WriteLine("TargetClass01-PrivateMethod02");

return arg01 - arg02;
}

/// <summary>
/// 呼び出される処理04
/// </summary>
/// <returns></returns>
private int PrivateMethod03()
{
Console.WriteLine("TargetClass01-PrivateMethod03");
return Property01 + Property02;
}
}
}

例は.net9.0のVSCodeでの実行を確認しております。

ビジネスマネージャー合格体験記

中野
ディアシステム(株)開発二部第2課

はじめに

会社から管理職向けに推奨されている資格「ビジネスマネージャー検定」に挑戦し、その過程をまとめます。
コロナの影響で、自宅で受験できるIBT(Internet Based Testing)形式が導入されたため、今回はその形で受験しました。

試験の概要

  • 資格の対象者
    主に企業の管理職やマネジメント層を対象とした資格ですが、一般職の方でも受験可能です。

  • 資格概要
    ビジネスマネージャー検定は、組織運営や人材育成、業務管理など、マネジメントに必要な知識を体系的に学ぶことができる資格です。

  • 試験内容
    選択式の問題で構成されており、マネジメントに関する幅広い分野から出題されます。
    試験時間:90分
    出題数:40問
    合格ライン:70点以上

試験の特徴

試験の内容的には難しくはなく、一般的な知識で回答できる問題と、知っていなければ回答できない問題があります。
出題方法としては、他の試験より難しいと感じました。
その理由として、選択問題の形式が「正解の組み合わせを選ぶ」というもので、選択肢が6~12個程度用意されており
運での正答率が下がるため、問いに対する正しい理解がないとほぼ正解できない点です。

試験勉強

基本的には、公式のテキストと過去問集の2冊をベースに勉強しました。 公式テキスト
テキスト全体を読み切って理解するには時間がかかるため
先に過去問を解いて、わからないワード・問題があればテキストやネットを理解するといった方法を取りました。

不正解の問題番号を控えておき、間違えた問題集を2周ほど繰り返すことで覚えていきます。

試験本番対策

  • 40問90分ということで1問2分ちょっとのペースで解いていく必要があるため、少しでも悩むと思った場合一次回答を行いすぐ次の問題へ
  • 「損益計算表」のテーマでは、計算が必要になるため基本的には即一次回答し時間があれば考える
  • IBT形式の場合は、事前にシステムチェックや条件・禁止事項を確認する

IBTについて

  • 良いところ

    • 自宅で受験できるため、移動の手間が省ける
    • 自分のペースで受験できる(時間帯の選択が可能・周りの音などに左右されず集中できる)
  • 悪いところ

    • ネット環境やPCの不具合があると受験に支障が出る
    • トイレによる途中退出・回線の不調による回線切断は不合格となる
    • IBT形式の受験条件を整えるのに苦労する(机上にPC以外何も置かないなど)

最後に

最初は「マネージメントについての資格なんて…」と思っていましたが、
資格勉強を通じて、自分が持っていない考え方や知識を得られて、自分の成長につながりました。
個人的には、管理職はもちろんのこと、一般職の方が勉強するだけでも良い資格試験だと感じました。

また、資格試験・勉強も一度受けてみると、自分の中でハードルがグッと下がり、
他の技術系資格も挑戦してみようと思っています。

SQLを作成する時は、パースを意識しよう

西村
ディアシステム(株)開発一部第4課

こんにちは開発一部第4課の西村です。

システムの運用保守で性能問題が発生した際、SQLを見直すことになることは、よくあります。
性能問題が発生してからチューニングを実施すると、どうしても運用に影響がでてしまうので、設計段階から意識して改善していくことが望ましいです。
SQLのチューニングにはいろいろな方法がありますが、本記事では「パース」に注目して書いていこうと思います。
「パース」に注目することで、パフォーマンスだけではなく、セキュリティ面での強化も期待できます。

はじめに

パースとは、SQL文を解析することです。
解析結果は共有プールにキャッシュされ、解析結果を使用することにより、すぐにSQL文を実行することができます。
これを、ソフトパースと呼びます。
キャッシュされた解析結果が存在しない場合、SQLの検証、実行計画の作成を行った後、SQLを実行します。
これを、ハードパースと呼びます。
パフォーマンスの高いシステム設計をするためには、できるだけハードパースを回避する必要があります。
では、パース時間を減らすための方法を3点紹介します。

SQL構文を統一する。

同じ内容のSQLでも、大文字小文字の違いや空白の個数、改行位置、別名の違いで、別のSQL文と解釈します。
ハードパースを回避するため、SQL構文は統一しましょう。

(大文字と小文字の違い)

画像1

(改行位置の違い)

画像2

バインド変数を使用する。

SQLが解析される際、リテラル値を使用していると、IDの数だけ解析されます。
バインド変数を使うことで、同じ構文のSQL文は再利用され、ハードパースの頻度を下げることができます。 例

① リテラル値使用

② バインド変数使用

画像3

結合する表の数を制限する。

実行計画が作成される際、アクセス順番の検討が行われます。
nテーブルを結合する場合、単純に考えるとn!通りの順序があります。
パース時間を軽減するために、表の結合数を考慮しましょう。
また、テーブル設計で多くの表を結合する必要がないように意識しましょう。

画像4

(結合4表)

おわりに

「パース」を意識したSQL設計は、パフォーマンスの最適化だけではなく、保守性にも繋がります。
繰り返し実行される処理を中心に、ボトルネックを可視化しながら改善をしていきましょう。

PythonでExcelファイルを操作してみた(作業時間の集計)

松井
ディアシステム(株)開発一部第3課

こんにちは 1 部 3 課の松井です。
前回の集約プログラムの続きで今回は集計プログラムになります。
前回と今回のソースコードを「プログラム名.py」の1つのファイルにし、Powershell かコマンドプロンプトで実行することで
集約・集計が一度に出来るようになります。

◆ 集計プログラム 以下が作業者集約.xlsx のシートから各作業者の合計時間を出力するソースコードになります。

画像1

簡単に解説します

  • 118 ~ 122、124 行目の for 文で作業者集約.xlsx の全シートを繰り返し処理します。
  • 125 ~ 131 行目はシート内の 2 ~ 32 行目の 6 列目の値の加算を for 文で繰り返し処理します。

画像2

画像3

  • 133 ~ 152 行目が計算した合計作業時間を合計時間シートを作成して追記します。
  • 154 行目で合計時間の計算が出来たので作業者集約.xlsx を保存して終了になります。

◆ 合計時間シートを追加した作業者集約.xlsx

画像4

以上が私が作成した Python プログラムになります。
まだ不慣れで無駄なコードもあるかと思いますがプログラミングの参考になればと思います。

WordPressの環境移行手順について

坂口
ディアシステム(株)開発二部第2課

最初にWordPressを触ってみた感想

私はこれまでデザイン業務に関わることがなかった為、「難しそう」「自分にできるかな」と不安を感じていました。
実際に業務に入る前に、テスト環境でWordPressに触ってみたのですが、なにがどうなっているのかがさっぱり分からない状態でした。
最初に取り組んだ作業は、上司が作成してくださっていた「採用フォーム」の見本を参考に同じものを作ってみるという作業でした。
テスト環境で触ったものと全く違っていた為、「これで合っているのか」という不安もありましたが見事に出来ました。
そして、1つ作り終えたときは「楽しい!」という気持ちになりました。
そこから、会社紹介ページや人材紹介ページなども作成していき、実践を通して少しずつ理解が深まっていきました。
また業務を通じて便利な移行手順について学んだので、記述していきます。

テスト環境からSTG環境へ移行する方法 All-in-One WP

Migrationの使い方

最初は、デフォルトの「エクスポート・インポート」を機能使いテスト環境からSTG環境へWordPressを移行しようとしたところ、画像が表示されなかったり、ページが抜けていたりなど上手く移行出来ないトラブルがありました。
そこで、使用したのが「All-in-One WP Migration and Backup」というプラグインです。
導入手順としては、プラグイン>新規追加>「All-in-One WP Migration and Backup」をインストール>移行元のエクスポートでバックアップを取得>移行先のインポートで、バックアップファイルアップロードする、という手順です。

画像1

画像2

画像3

エクスポートする際に、「高度なオプション」で下記の部分にチェックを入れました。
「スパムコメントの除外」にチェックする理由は、移行ファイルを軽くし不要なデータを排除する為です
「メールアドレスのドメインを置き換えしない」をチェックする理由は、STG環境のメールアドレスをそのまま維持するためです。

画像4

このプラグインを使用することで上手く移行させることが出来ました。そして何より短時間で簡単に移行出来たので良かったです。

今後意識して取り組んだいくために

今回、初めてデザインに関わるという貴重な経験をさせていただきました。
実際にやってみると、自分が修正した部分がすぐに反映されて、画面が変わっていく様子を見ることができ、とてもワクワクしました。
普段は完成されたデザインを見ているので、自分の手で少しずつ形を変えていけることの楽しさや、考えたことが目に見えて反映される面白さを実感しました。
まだまだ分からないことも多いですが、今回の経験を通して「もっとやってみたい」「次もぜひ関わりたい」と思えるようになりました。
今後もこうした機会があれば、積極的にチャレンジしていきたいです。

社内勉強会『プログラミング基礎力向上』にて登壇しました

にしはた
ディアシステム(株)開発二部第2課

開発二部第2課 にしはたです。
2025年7月23日に『プログラミング基礎力向上』というテーマで社内勉強会を行い、そこで登壇させていただきました。

登壇するまでは正直気が進みませんでしたがやってみると意外に楽しかったのでそのときの気持ちや勉強会の内容をまとめようと思います。

当日の様子は下記の弊社のブログに記載しています。
https://dsic.jp/blog/2025/08/seminar250801.html

勉強会の概要

今回の勉強会は、社内会議室での対面形式と、Teamsを使ったオンライン配信のハイブリッドで実施しました。 発表テーマは「オブジェクト指向入門編」と「リーダブルコード」の2つ。 登壇者は私を含めて2人でそれぞれ約30分ずつ発表を行い、全体で1時間程度の内容でした。 現地参加は大会議室が埋まるほどの人数となり、オンライン参加者も含めて多くのメンバーが集まり、活発な雰囲気の中で進行できました。 また、お弁当も用意され、参加者は食事を楽しみながら講義を聞くことができる形式でした。

各テーマの紹介

  • リーダブルコード

私の発表ではより良いコードについて、コードの可読性がなぜ重要なのか、そして日々の開発でどのように意識すべきかを具体例を交えて紹介しました。

image1 image2 image3

  • オブジェクト指向入門編

オブジェクト指向の基本的な概念や考え方を整理し、なぜそのアプローチがソフトウェア開発で重要なのかを解説しました。

image4 image5 image6

登壇者としての感想

プレゼン資料の作成は、取り掛かるまでが一番のハードルでしたが、30分程度の持ち時間で約30ページにまとめられたことで大きな負担は感じませんでした。 発表中はやや緊張しましたが、クイズ形式を取り入れたことで参加者が積極的に考えてくれている様子が伝わり、とてもやりやすかったです。 発表後には「今まで意識していなかった視点に気付けた」という感想や、紹介した書籍を購入したという声もあり、誰かの学びにつながったことが嬉しかったです。

おわりに

会議室が満席になるほど多くの方にご参加いただき、とてもやりがいを感じました。参加してくださった皆さん、ありがとうございました。 改めて感じたのは、社内での知識共有の価値です。自分では当たり前と思っていることでも、異なる立場の人にとっては新しい発見になることがあります。今後もこうした取り組みを継続し、お互いの視野を広げていければと思います。

PythonでExcelファイルを操作してみた(勤怠シートの集約)

松井
ディアシステム(株)開発一部第3課

今回のプログラムは以前、チーム内の勤怠管理業務の自動化をしたいと思ったときに Python で Excel 操作する参考資料を見て作成したプログラムです。
私自身、Python については「Python3 エンジニア認定基本試験」に合格の為、勉強を数ヵ月した程度しか経験はありませんでしたがネット上の参考資料や書籍などを見て作成することが出来ました。
初めての Python プログラムなので単純な作りで初心者の方には分かり易いかと思います。
反面、経験豊富な方から見ればこうした方が良いなどあるかもしれません。

◆ プログラム仕様について プログラムの仕様は
コマンドライン引数としてフォルダ(YYYYMM)を指定し、フォルダ内の各自の作業時間の Excel ファイルを1つの Excel ファイルに集約・集計するというものを作りました。
コマンドプロンプトや PowerShell で\

>python プログラム名.py フォルダ名

と指定したフォルダ内のファイルを集約するものです。

画像1

画像2

各作業者のファイルは以下のような構成とします。

画像3

開発環境について

まずは開発に使用する PC に Python のインストールが必要ですが、その辺りはネット上で検索すれば簡単に出来ますので調べてみてください。 PC に Python がインストールされているかはコマンドプロンプトや PowerShell で

 > python -V

と入力します。 「Python 3.X.X」と表示されたらインストールされています。

プログラムを書くためのエディタは何を使っても良いと思います。 私は IDE(統合開発環境)の JupyterLab を使用しました。(他に Visual Studio Code や PyCharm などもあります) JupyterLab は Web ブラウザで動作する対話型実行環境です。(デスクトップ版もあります) 特徴としてはセル単位でコードを記述し、実行して結果が確かめられる点です。 インストール方法や詳細は検索してみてください。

ライブラリのインストール

Excel ファイルを操作するために必要なライブラリをインストールします。 openpyxl とライブラリを使用します。 openpyxl は Excel ファイルを操作するライブラリです。 コマンドプロンプトや PowerShell から

> pip install openpyxl

と入力するとインストールが開始します。

インストールが完了したら

> pip list

と入力し、インストールしたライブラリの一覧を表示します。 一覧に「opempyxl X.X.X」が表示されていればインストールは完了です。

集約プログラム

以下が各作業者の Excel ファイルを1つの作業者集約.xlsx に纏めるソースコードになります。

画像4

簡単に解説します ・7 ~ 15 行目は作成する集約ファイルを作成します。ファイル名は作業者集約.xlsx とします。 ・17 ~ 20 行目はコマンドラインからの引数を入力フォルダのパスとして取得します。

>python プログラム名.py フォルダ名

画像5

・25 ~ 26 行目の for 文でフォルダ内の全ファイルの繰り返し処理になります。 ・33 ~ 41 行目の処理で作業時間報告の Excel シートから 1 行分のセルの値を datum というリストに追加してデータを取得します。

「for row in ws['A6:F36']:」はシートの A6 ~ F36 まで 1 行づつ繰り返しになります。 ここで出てくる「ws['A6:F36']」はタプルというものです。 「type(ws['A6:F36'])」を実行すると「tuple」と出力されます。 タプルはリストに似た構造で1つのデータの中に複数の値を順番に並べていれることが出来るデータ型です。 データの取り出し方もリストと同じで[]にインデックス番号を指定します。 ただし、リストと違い値の追加、削除、変更は出来ません。「ws['A6:F36'].value」を実行するとエラーになります。

画像6

画像7

・43 ~ 81 行目は作業者集約.xlsx に作業者のシートを追加します。 ・84 ~ 112 行目で作業者集約.xlsx の作業者のシートに取得した行のデータを追加します。   91 行目の for 文は 1 ~ 31 の値を row_num に代入し、繰り返し処理します。   range(1,32)は 1 ~ 31 までの値になります。

画像8

・114 行目で一旦、全作業者の作業時間シートを追加出来たので作業者集約.xlsx を保存します。

◆ 作業者集約.xlsx ファイル

画像9

少し長くなったので今回は集約するまでとします。 次回は集計の処理になります。

未経験から始める
システムエンジニア

一生モノのITスキルを身につけよう

あなたの経験とスキルを
ディアシステムで発揮してください!