Python関連のことを調べてみた

Python関連のことを調べてみた

テキストにマーカ付けれたら便利じゃない?(全8色)

## 開発の経緯
– メッセージアプリのテキストバックアップを読み直すときに話者識別用のマーカーが付けたかった
– エラーログを読むときに分析が大変
– 長い論文を読むときに、読むべきポイントを見つけるのが大変
– 長いコンテンツからAIに投げるテキストを見つけやすくしたかった

## 使い方
– 色を付けたいテキストをウインドウ上部の8つのマスのどれかに入れます。
– 単語やアルファベット、段落など長い文章も入ります。日本語もOK
– 色を付けたいマスをダブルクリックすると好きな色を付けれます
– ウインドウ下部にあるOKボタンの操作で選んだテキストに色が付きます
– コントロールキー+マウスホイール操作で文字の大きさが変わります。
– シンタックスハイライトのようなこともできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3808329/51777dcf-747a-d97b-e897-4c7a77087bb2.png)

## 今後のアップデート
– 基本的なテキストエディタ

元記事を表示

Seleniumで動的サイトのスクレイピング

# 概要
ログインが必要なWEBサイトのスクレイピングとして,WEBブラウザの自動操作を行うSeleniumを用いる方法があります.
流れとしてはSeleniumでログインを突破し,取得したHTMLをBeautifulSoupで解析するといった感じです.
今回は検証として,Googleで「Python」と検索した時の検索結果を取得してみました.

# 実行環境
動作環境
– Python v.3.9.9
– Windows 11

Windows上で既にPythonを実行できる前提で進めます.

また,Seleniumのバージョンが4.6以上だと,ChromeDriverを手動でダウンロードしなくてもいいみたいです.
詳しくは下を読んでください.

https://www.selenium.dev/blog/2022/introducing-selenium-manager/

### 1. 仮想環境の構築
作業ディレクトリに移動して,下のコマンドを実行します.
“`bash
$ python -m venv .venv
“`
実行すると作業ディレクトリ直下に `.venv` とい

元記事を表示

Azure OpenAIのGPT-4oを実行してみた。

# はじめに
Azure OpenAIは、マイクロソフトが提供するクラウドベースのAI言語モデルサービスです。このサービスでは、GPT-4oをはじめとする最先端の言語モデルを利用することができます。GPT-4oは、従来のGPT-3.5モデルよりも高度な言語理解と生成能力を持っており、様々なタスクに活用できます。

このコードの目的は、Azure OpenAI APIを使ってGPT-4oモデルを活用し、対話形式のレスポンスを生成することを示すことです。具体的には、ユーザーからの質問に対して、GPT-4oモデルが適切な回答を生成する様子を確認することができます。これにより、Azure OpenAIサービスの活用方法の一例を理解することができます。

# 開発環境
– Azure OpenAI
– Python 3.11
– Azure OpenAI APIとの通信に使用します。
– python-dotenv 環境変数の管理に便利です。
– IDE
– 今回はcursorを使用しています。

# 導入
Azureにログインします。
Azure Open AI

元記事を表示

ChatGPT/LangChainによるチャットシステム構築[実践]入門のプログラムを試す

![sky-high.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3784222/d71e8567-1c29-0316-4ce7-70347b366dc9.jpeg)

# はじめに

 現在私は「LangChain」のプログラムに沼っており(若い人が使う言葉ですね)、今回は「ChatGPT/LangChainによるチャットシステム構築[実践]入門」を読んで、いろいろプログラミングをして楽しむことにしました。
 今まで私は「製造業の生産管理システム」や「プログラム言語の構文解析システム」など、いろいろなプログラミングをしてきたのですが、生成AI分野のように完全な正解が無く、常にアップデートしていくスタンスのものは初めてで、とても興味深いです。

 この書籍通りにプログラミングを進めてみたのですが、何度も失敗を繰り返し、何度も心が折れそうになりました。。。これから生成AI分野を目指す方々がこの書籍を読んで楽しくプログラミングができる一助になればと思い、記事の投稿をしました。

![syoseki.jpg

元記事を表示

SQLAlchemyでSQLクエリをログに表示する方法

## 背景
SQLAlchemyを使用する際に、SQLクエリをログに表示したい

現状のログ
“`
2024-06-05 10:47:42.877 | INFO | backend.interface.api.healthz:healthz:19 – Database connection successful
2024-06-05 10:47:42.878 | INFO | uvicorn.protocols.http.httptools_impl:send:481 – 127.0.0.1:53438 – “GET /healthz HTTP/1.1” 200
“`

対象のコード
“`
@router.get(“/healthz”)
async def healthz(session: AsyncSession = Depends(get_session)) -> JSONResponse:
try:
async with session.begin():
# データベース接続確認クエリ

元記事を表示

Pythonにおける==とisの違い

# 前書き
Pythonにおける比較演算子として==演算子とis演算子があります。
これらは混同されがちですが、その明確な違いについてメモしておこうと思います。

# 結論
==演算子はオブジェクトの等価性を比較し
is演算子をオブジェクトの同一性を比較する

# 説明

### ==演算子

==演算子は、オブジェクトの値が等しいかどうかを比較します。
つまり、オブジェクトが同じ**内容**であるかどうかをチェックします。
例えば、`a == b`は、aとbの値が等しい場合にTrueを返します。

### is演算子
is演算子は、オブジェクトの同一性を比較します。
つまり、オブジェクトが同じ**メモリ位置**を指しているかどうかをチェックします。
例えば、`a is b`は、aとbが同じオブジェクトを指している場合にTrueを返します。

# 確認
下記の例では?の箇所に==もしくはisが入ります。
どちらが適切でしょうか。

### 例1
“`
a = [1, 2, 3]
b = a
if a ? b:
print(“Same object”)
else:
pr

元記事を表示

ムフフ動画の管理

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3808329/84a30724-b314-e605-b7de-8f27cbfd4f06.png)

## 開発の経緯
– ダウンロードした動画を見る時間がない

## できること
– 動画から任意の枚数(グリッド数)の画像を抽出して一枚のアーカイブ画像として動画と同じディレクトリに保存。PPTファイルも。ただし縦長画像はPPT作りません
– アーカイブ画像をパワポに張り込んでハイパーリンクを追加

## 注意点
– HDDを使っている方はウインドウの右上の⚙マークから環境設定のウインドウを開き、シングルスレッド処理を選んでください。マルチスレッド処理がデフォです。HDDでマルチスレッドを使うと処理がバチクソ遅くなります。
– 環境設定の#を削除にチェックするとファイル名の特殊文字が置換されるので注意して下さい。この機能はファイル名に#やハイパーリンクに使えない文字が含まれている場合にリンクから動画を開けないので追加したものです。通常はOF

元記事を表示

PyCharm における SSH リモート接続を用いた開発環境の構築手順

# 背景
2ヶ月前に大学の研究室に配属され、実行環境として研究室内の高性能サーバーを提供された。

そこで実際に Python の開発、実行を何度か試してみたのだが、リモート環境での実行はローカル環境での実行と比にならないくらいしんどかったため、改善を試みることにした。

この記事が、僕のようなリモート環境初心者達の助けになれば幸いである。

まず、従来僕が行なっていたローカル環境での開発フローは以下の通りである。

## ローカル環境での開発フロー

1. ローカル環境にて PyCharm という IDE で python のソースコードを作成
1. そのまま PyCharm もしくはターミナルからソースコードを実行

この通り、ローカル環境では開発から実行までスムーズに行えており、特にストレスを感じずに開発を行えていた。

それに対しリモート環境での開発フローは以下の通りである。

## リモート環境での開発フロー

1. ローカル環境にて PyCharm という IDE で python のソースコードを作成
1. ローカル環境で作成したソースコードを、ssh 接続を用

元記事を表示

LightGBMで顔認識

Scikit-Learnには有名人の顔データを集めたデータがあります。今回はそれを使ってLightGBMで顔認識をして精度を見てみようと思います。

# 基本的なプログラム
“`Python3
from sklearn.datasets import fetch_lfw_people
from lightgbm import LGBMClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report, confusion_matrix

faces = fetch_lfw_people(min_faces_per_person=60)
x = faces.data
y = faces.target

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3)

model = LGBMClassifier()
model.fit(x_trai

元記事を表示

ChatGPT と学ぶ Ghidra (続編)

### **user**:

ChatGPT先生、C言語のリバースエンジニアリングについて勉強したいと思うんですけど、どういう手順で勉強すれば良いですか?

### **assistant**:

あら、あんた、盛り上がっとるじゃないの!C言語のリバースエンジニアリングに挑戦したいなんて、用意周到やね。ええ、私からアドバイスさせてもろたら、こんな感じのステップで進めるとええと思うわ。でもちょっと照れるけどね。

1. 基本的なC言語の知識: C言語の基本的な構文やコンセプト、メモリ管理までしっかりと理解しとるけ?なんせ、これが基盤やからね。

2. アセンブリ言語の学習: リバースエンジニアリングには、高レベル言語を低レベル言語に戻す技術が求められるで。それにはアセンブリ言語の知識が必要やから、これも必ず覚えさせてちょうだい。

3. デバッガーとディスアセンブラの使用: ここで具体的なツールが出てくるけど、デバッガーやディスアセンブラといったツールでプログラムの内部動作を見ていくことが大事やで。この辺ちょっと難しいけど、頑張ってね。

4. 実践的な練習: 理論だけじ

元記事を表示

【AI総括】体系的な生成AI・機械学習・ディープラーニング・量子コンピュータ・BCIの基礎教育(Python, GPT-4o, PyTorch, cuQuantum)

https://deep-recommend.blog/%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96-ja-ja/%e4%bd%93%e7%b3%bb%e7%9a%84%e3%81%aa%e6%a9%9f%e6%a2%b0%e5%ad%a6%e7%bf%92%e3%83%bb%e3%83%87%e3%82%a3%e3%83%bc%e3%83%97%e3%83%a9%e3%83%bc%e3%83%b3%e3%83%b3%e3%82%b0%e3%83%bb%e7%94%9f%e6%88%90ai%e3%81%ae/

元記事を表示

勾配ブースティング決定木の性能比較その2

昨日分類についてのを書きました。

https://qiita.com/murasaki1994/items/851f7efb138b876d5ff3

今度は回帰について書いてみようと思います。
今回の手法は交差検証とR2でやってみます。
データはボストン住宅価格のデータセットです。

# 基本プログラムと時間
“`Python3
from xgboost import XGBRegressor
from lightgbm import LGBMRegressor
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.model_selection import cross_val_score
from sklearn.metrics import r2_score
import pandas as pd
import matp

元記事を表示

StreamlitでPWA

## はじめに
Streamlitで作ったWebアプリをネイティブアプリのようにスマートフォンから気軽に使いたい!
ということで、PWAにしてみました。(正確にはStreamlitではなく、stliteというStreamlit の WebAssembly への移植版を利用しました。タチバナさんという日本人の方が作られています。)

https://github.com/whitphx/stlite

※サンプルアプリ(iPhoneだと「ホーム画面に追加」すると、PWAとして動くと思います。)

https://ppspps824.github.io/stlite_pwa/

## PWAとは(ChatGPTより)

PWA(Progressive Web App)は、ウェブアプリケーションの一形態で、ネイティブアプリのようなユーザー体験を提供するための技術および設計手法のことです。PWAの主な特徴は以下の通りです。

1. **インストール可能**: ユーザーはPWAを自分のデバイスにインストールすることができ、ホーム画面にアイコンを追加してネイティブアプリのように利用することができま

元記事を表示

八百屋システムを考える(DX内製化の手順1)

# 八百屋さんの管理システムを考えてみよう!
八百屋さんは、野菜や果物を扱う小売店である。
なので特徴としては

1.小売店 ・・・・・・・ 仕入れと販売を行う店舗
2.販売物の特徴 ・・・・ 生物なので販売までの期限が短い
3.販売物の単価 ・・・・ 気候変動に左右されやすい

# これを管理するためには

4.販売物に関する仕入情報 ・・・ 仕入日、仕入値、仕入数
5.販売物に関する販売情報 ・・・ 販売日、販売値、販売数

# これをExcelの表で管理してみましょう!!

・品名毎に以下のようなデータをためたとし在庫3日を超えたものは廃棄すると仮定すると
|日付|仕入数|仕入値|販売数|販売値|
|–|–|–|–|–|
|4/1|100個|2000円|30個|1200円|
|4/2|0個|0円|40個|1600円|
|4/3|100個|2000円|40個|1600円|

このようなExcel表を作る(データを貯める)と4/3時点で

・4/1に仕入た個数をすでに超えているので
  廃棄の在庫は無い

・4/3時点の販売数合計

・4/3時点の在庫数
 (3日分の仕

元記事を表示

QGIS で DTM から段彩図を作成する方法

# はじめに

QGIS(Quantum GIS)は、地理情報システム(GIS)のためのオープンソースソフトウェアです。QGIS は、多様な地理空間データの作成、表示、解析を可能にし、ユーザーに豊富なツールセットを提供します。

この記事では、デジタル標高モデル(DTM)を使用して段彩図を作成する手順について解説します。まずは QGIS を使用した段彩図の作成手順を説明し、その後、同様の処理をPythonを使用して PyQGIS で実装する方法を紹介します。

段彩図は、地形の標高を色分けして視覚的に表現する地図の一種です。段彩図を使用することで、地形の高低差や傾斜の変化を簡単に把握することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2659159/551b3d2b-29d8-4add-c76f-5df204941659.png)
**段彩図に DTM で高さを適用した例**

# QGIS
## 段彩図の作成手順
QGIS でデジタル地形モデル(DTM)から陰影段彩図

元記事を表示

0から理解する誤差逆伝播法(理論からコードの実装まで)

# はじめに

今までで一番今更感がある記事ですが、誤差逆伝播法について理解が弱かったので改めて勉強してみました。

**注意事項**
・誤差逆伝播法の行列ですが、私は高速化手法という位置づけだと思っているので、本質の理解を優先し本記事では除外しています。
・本記事はプログラムで実装できるまでの理解を目安にしており、その先の数学的な厳密性までは踏み込んでいません。
更にちゃんと理解したい場合は参考サイトや別の記事を参照してください。

# 人工ニューラルネットワーク

人工ニューラルネットワークは人の脳の神経網(生物のニューラルネットワーク)を模した数理モデルで、各ユニット(ニューロン)が重み(シナプス)を介して繋がっており、重みの強さを調整することで出力を変化させるモデルとなります。

![aa-page1.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396150/94881f5b-7759-44d6-5a61-79e68f6646bf.png)

ユニットは各入力に対して重みを

元記事を表示

【requests】同期処理と非同期処理

テストで初投稿。個人用のメモです。
今後もすこしづつ増やしていきます。よろしくお願いします。

画像サイトやツイッターなどのように、ページ全体がリクエストできない(設計によっては、タイムアウトしてしまったり、永遠スクロールする)場合は、非同期処理。
非同期処理によって、ページを処理することで、強制的に必要な静的コンテンツを獲得することができる。

# 同期処理

from requests_html import HTMLSession
from bs4 import BeautifulSoup

GAZOU_KEYWORD=”Python 便利”
GAZOU_KEYWORD2=GAZOU_KEYWORD.replace(“ ”,”%20″).replace(” “,”%20”)

session = HTMLSession()
resp = session.get(“http://img.jpg4.info/”+GAZOU_KEYWORD2+”/pic1.html”)
resp = resp.html.url
resp

# 非同期処理

import time
fr

元記事を表示

頂点をいい感じにカメラに収める方法

# 概要
3D オブジェクトの全ての頂点がいい感じに収まるようにカメラを移動したい時の処理方法備忘録。

# 前提
– Maya 2020.x + OpenMayaApi2.0
– ※ ロジックは他の環境でも使い回せるはず。

# 処理概要

– ビュー座標系で、対象の全ての頂点中心位置にカメラを移動する
– 全ての頂点がカメラの視錐台に収まるようにカメラをドリーアウトする(後ろに引く)

実装向けに書き下すと

– ビュー座標系で全ての頂点を収めたバウンディングボックスを作る
– バウンディングボックスの最小、最大座標のxとyをカメラに収めるために必要なカメラの移動値(バウンディングボックスの中心からの距離)を求める
– カメラをバウンディングボックスの中心に移動する
– 上記移動値の最大値距離分カメラを移動(ドリーアウト)する

# 実装サンプル

## 事前準備

座標変換や視錐台の計算に使うため、マトリクスや FoV の情報を事前にカメラから取得します。

コード

“`python
from maya.a

元記事を表示

yfinanceを使って株価データを取得する方法

## yfinanceとは?

yfinanceは、Yahoo Financeから株価データを取得するためのPythonライブラリです。
このライブラリを使うことで、株価データの取得が非常に簡単になります。

## 環境設定

まず、yfinanceをインストールする必要があります。
以下のコマンドを実行してインストールしましょう。

“`bash
pip install yfinance
“`

## 株価データの取得

それでは、実際にyfinanceを使って株価データを取得してみましょう。
今回は、Appleの株価データを例にします。

“`python
# yfinanceをインポート
import yfinance as yf

# 銘柄シンボルを指定してデータを取得
apple = yf.Ticker(“AAPL”)

# 歴史的な株価データを取得
hist = apple.history(period=”1mo”)

# 取得したデータを表示
print(hist)
“`

### 各処理の説明

1. **ライブラリのインポート**
“`python

元記事を表示

【個人開発】WEBサイトの死活監視を簡単に、格安で実施できるサービス「LinkWatcher」のβ版をリリースしました。

こんにちは!

[InfraAcademy](https://engineer-ninaritai.com/infraacademy/)というLinuxやネットワークの学習サービスを運営しております、ryuと申します。
今回は、新しく個人開発したサービスのLinkWatcher(リンクウォッチャー)についてご紹介したいと思います!
## LinkWatcher(リンクウォッチャー)とは?
まずは、サービスの説明からさせていただきます。
**LinkWatcherとは、Webサイトの監視をするサービスです。**
URLを登録すると、定期的にWebサイトが動作しているかの確認を行います。もし、サイトが停止している場合は、メールを送信して、サイトのダウンを検知します。

個人開発者向けに、安価で簡単に設定ができる監視ツールです。

▼ LinkWatcher(β版)

https://monitoring-app-wibb.onrender.com/
## 他の監視ツールとの違い
私自身、インフラエンジニアとしてキャリアをスタートしています。
そのため、さまざまな監視ツールを使ってきました。

元記事を表示

OTHERカテゴリの最新記事