【Python】辞書型のリストから特定の値を持った要素を検索する処理を高速化する記述法

2023 年 9 月 7 日 by tomokiy

概要

リストの中身が辞書型になっており、その辞書型の値の中で特定の値を持ったデータを検索する場合に高速に検索できる方法を紹介します。

今回は以下の3つの方法を比較します。

  • forループで検索する方法
  • 内包表記+next関数
  • filter関数+next関数

以下の方法では1000万個の辞書型要素を持ったリストのうち、500万個目の要素を検索しています。

(さらに…)

ChatGPTを使ったサービスのアイディア出しから設計

2023 年 9 月 7 日 by egamit

近年、AI技術の進化により、多くの業界での業務効率化や新しいサービスの開発が進められています。中でも、OpenAIのChatGPTは、その高度な会話能力で注目を浴びています。

今回は、僕が利用するツールのアイディア出しのためにChatGPTを使ったので、

そのポイントをChatGPTを使ったサービスのアイディア出しから設計までのプロセスと題して紹介します。

1. ロールプレイを活用する

プロンプト例: 「あなたは以下の<専門領域>に関する専門的な知見を持ったプロのシニアエンジニアです。」

ChatGPTは指定されたキャラクターや制約条件に基づいてロールプレイを行うことができます。

これにより、より具体的かつオリジナルなアイディアを得ることができます。

(さらに…)

i-Reporter帳票作成テクニック Part2

2023 年 8 月 28 日 by yamamotor

はじめに

この記事では、i-Reporterで帳票を作成する際の小技や気を付けるべきことなどを紹介していきます。

※Excel⇒ConMasDesigner⇒ConmasManagerの順に記載していきますが、記載漏れがあった場合には順番関係なく追記していきます。

Excel上でのカーボンコピー設定

カーボンコピーの設定は通常ConMasDesignerで行うことが多いかと思います。

同一ページ内のカーボンコピーであれば、ページ移動もなく、スムーズに設定が可能ですが、ページを跨ぐカーボンコピー設定で、

帳票定義のページ数やクラスター数の多いものになると、ページ遷移に時間がかかってしまったり、処理が追い付かずに作業途中で落ちてしまうことが多々あります。

そんな時にはExcel上でカーボンコピー設定を行い、そのExcelファイルをConMasDesignerに取り込むことで作業効率が良くなる可能性があります。

(さらに…)

設計工程に対する改善対策#1

2023 年 7 月 31 日 by arakawas

お客様へ高品質な製品をより早く提供するため、設計スキルの底上げを行っています。
そこで今回、弊社で発生した不具合を例に挙げ、設計段階で未然に防ぐにはどのような対応を行っておけばよいか、分析結果と併せて記載します。

【事例システム詳細】
買掛売掛を行うシステムで支払い入力を行った際、買掛実績が登録されているDBのテーブルに買掛実績データを登録または更新を行う。

【不具合内容】
支払入力を行った際、 買掛実績が登録されているDBのデータによって、買掛実績データが登録されない場合がある。

(さらに…)

【Python】デストラクタはプログラマの強い味方です

2023 年 7 月 31 日 by tomokiy

デストラクタとは

言うまでもなく、コンストラクタの反対の役割を担うものです。

クラスインスタンスが破棄される際に必ず実行されます。 例外処理とは関係ないですが、tryexceptの例外処理のfinally句と似ています。 なので、何があってもクラスの終了時に必ず実行してほしいものを記述します。

どういう動きになっているか

以下のようなプログラムを実行してみると分かりやすいです。

class Test1:
    def __init__(self) -> None:
        print("Test1のコンストラクタを実行しました。")
        test2 = Test2()
    def __del__(self) -> None:
        print("Test1のデストラクタを実行しました。")
​
class Test2:
    def __init__(self) -> None:
        print("Test2のコンストラクタを実行しました。")
    def __del__(self) -> None:
        print("Test2のデストラクタを実行しました。")
​
test = Test1()
(さらに…)

WoLの代わりにスマートプラグでPCの電源を操作する

2023 年 7 月 31 日 by tomokiy

概要

PCの電源を操作するのに、よく使われるのはWake on LAN(WoL)だと思います。 ですが、設定が面倒だったりします。 今回はIoT機器の1つであるスマートプラグというものを紹介します。

Gosund スマートプラグ

(さらに…)

【Python】VScodeではブロックコメントでマークダウン記法ができる

2023 年 7 月 31 日 by tomokiy

概要

Pythonのブロックコメントをマークダウン記法で記述すると、VScodeのコードヒントを表示した時にいい感じに表示されます。

やり方

パッケージのコメント

上記のように自作パッケージにカーソルを当てると、コメントが表示されます。

(さらに…)

【Python】デコレータで引数の型チェックを実装する

2023 年 7 月 31 日 by tomokiy

デコレータとは

一番よく目にするデコレータはプロパティのゲッターになるものですかね。

@property
def name(self) -> str:
    return self.__name

このメソッドの上に@propertyのように記述しているものをデコレータと言います。

(さらに…)

i-Reporter帳票作成テクニック Part1

2023 年 7 月 31 日 by yamamotor

はじめに

この記事では、i-Reporterで帳票を作成する際の小技や気を付けるべきことなどを紹介していきます。

※Excel⇒ConMasDesigner⇒ConmasManagerの順に記載していきますが、記載漏れがあった場合には順番関係なく追記していきます。

Excelのセル幅は小さく

Excelのセルの縦と横の幅は、デフォルトで25ピクセルと72ピクセルとなっていますが、もっと小さくするほうが良いです。

理由としては、このまま帳票定義を作成し、実際に運用を始め、不備があった際に修正しにくいといった点があるためです。

(さらに…)

Pythonを使用したWebスクレイピング その1

2023 年 7 月 14 日 by miedar

この投稿では、スクレイピングという技術について紹介していきます。
その1~その4でスクレイピングについての説明から実際にスクレイピングを行う方法までご紹介していきます。

スクレイピングとは?

スクレイピングとは取得したHTMLを抽出や加工することにより、Webサイト上からデータを取得することです。
近年は、データや情報の価値が高まるとともに、スクレイピングを利用し始める企業も増えているようです。
スクレイピングを行うことにより、大量のWebサイト上のデータを集める際に自動でデータを収集することで作業時間を大幅に削減することが可能です。

(さらに…)