- 1. 初心者向けPython記帳システム:100行で作る簡単アプリ
- 2. pythonのmysqlclientで「(2026, ‘TLS/SSL error: SSL is required, but the server does not support it’)」エラーが出る
- 3. お店
- 4. Preparing portfolio tree
- 5. Python: Tkinter で日付入デジタル時計を作って画面に表示する (2024.10.25)
- 6. 中級者向け:ハッカソンの開発効率UP!GitHub Actionsで自動テストを導入する方法
- 7. もらったrequirements.txtでなんか動かない(泣
- 8. AWS LambdaでOpenAIのライブラリを使おうとして「No module named ‘jiter.jiter’」のエラー
- 9. pre-commitで、コミット時にフォーマットと型チェックを行う
- 10. PythonでRPGをつくる!#1
- 11. 自然言語における時間表現の正規化方法の調査
- 12. クラウドでも使えるインテル® Xeon® プロセッサーの AI を加速するインテル® AMX
- 13. 🔰初心者向け : Pytorchを使った画像分類入門
- 14. 小売業における「商品振替」のマッチングをどのように自動化するか?
- 15. FASTAファイルの制御文字(”^A”)連結問題を解決するPythonプログラムの実装と解説
- 16. Dockerを使ってWeb Serverを立ち上げてみる
- 17. Pythonで〇×ゲームのAIを一から作成する その127 ラッパー関数
- 18. 自然言語的なバリデーションを生成AIに判別させ、プルリクを自動更新する機能を実装しました
- 19. Pythonで実装するVisitorパターンによるデータ変換処理
- 20. 応用編:Pythonでスクレイピングしたデータをテキストファイルに保存する方法
初心者向けPython記帳システム:100行で作る簡単アプリ
# はじめに
本書では、プログラミング初心者の方を対象に、Pythonを使ったシンプルな記帳システムを通じて、プログラミングの基礎を学んでいきます。記帳システムとは、日々の取引を記録し、データを管理する小規模なアプリケーションのことです。
このプロジェクトの目標は、Pythonで100行程度のコードを書き、実用的な小さなアプリケーションを完成させることです。その過程で、プログラムの基本構造やデータ処理の方法、ファイルの保存・読み込みなど、Pythonプログラミングにおける重要な要素を理解することを目的としています。
具体的には、以下のような機能を実装します:
取引の追加:ユーザーが取引の内容を入力し、記録します。
取引の一覧表示:記録された取引を確認します。
取引の削除:不要な取引を削除します。
データの保存・読み込み:CSVファイルに取引データを保存し、プログラム再起動後もデータを読み込みます。この記帳システムを通じて、プログラミングの基本を実践的に学ぶとともに、自分で機能を追加したり、カスタマイズする力を養っていきましょう。
# コードの概要
### 1.必要なモジ
pythonのmysqlclientで「(2026, ‘TLS/SSL error: SSL is required, but the server does not support it’)」エラーが出る
pythonのmysqlclientを使用したmysql接続で、「(2026, ‘TLS/SSL error: SSL is required, but the server does not support it’)」というエラーが出て、mysqlに接続できなくなってしまった際の対処メモ。
パソコンを交換し、新に開発環境を構築したところ、下記のようなエラー出てしまいpythonからmysqlclientを使用したmysql接続ができなくなってしまった。
“`
MySQLdb.OperationalError: (2026, ‘TLS/SSL error: SSL is required, but the server does not support it’)
“`エラー内容からして、恐らく原因は何らかの理由でSSL接続が必須となってしまっている模様。
現在インストール済みのmysqlclientのバージョンを「pip list」で確認。
“`
mysqlclient 2.2.5
“`現在の「2.2.5」から「2.1.1」へバージョンをダウングレード。
“`
p
お店
[記事全体の目次へ移動](https://qiita.com/hijpa/items/31900e327315fa8e4eea)
# GIF
ここをクリックしてください
![無題の動画 ‐ Clipchampで作成 (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3874121/819f8e58-4988-6e8f-f616-bdf2f8301d5e.gif)
# お店
ここをクリックしてください
Zキーで決定、Xキーで取り消しです。
アイテムを売ることはできません。買うだけです。必要なもの
– フォントファイル
– キャラクター画像ふたつ
– ボタン音
– カーソル画像 [カーソル画像作成コード](#カーソル画像作成)FileNotFoundError:
こういうエラーが出たら、パスの前に r をつけましょう。“`python:
imp
Preparing portfolio tree
# Preparing portfolio tree
In Asset Management, big companies manage hundreds of portfolios. And they love to organize their portfolios into a tree structure. These can be organization by Asset Type, such as Public vs Private, Equity vs Fixed Income. These can be organization by teams, such as Equity Desk, FI Desk, Derivativees Desk etc.Imagine you are a system provider for such an asset manager. The customer may send request to construct a tree in below manner. Here “`Node“`s are referred t
Python: Tkinter で日付入デジタル時計を作って画面に表示する (2024.10.25)
久しぶりの投稿である。
どうしても日付と時刻の両方が表示される時計をスクリーンに配置したくて、自作することにした。## やったこと
やったことは以下の通り。1. Python Tkinterを用いてデジタル時計を表示するプログラムを作成。
2. MacのAutomatorで作成したプログラムを起動するシェルスクリプトをapp化(Pythonのありかと実行するプログラム名はフルパスで記載)
3. Elgato Stream Deckに入れ込んでワンタッチでいつでも表示できるようにする。### (注意事項)
私は、MacBookにpyenvでPython環境を作っているが、同様の環境の方は以下に注意。
+ tcl-tkが入っていないとTkinterは使えないこと
+ tcl-tkをインストールするにはopenssl@3が必要であること
+ tcl-tk導入前のpythonは一度削除し、tcl-tk導入後に新たにpyenvでpythonを入れ直す必要があること## 参考サイト
参考にさせてもらったサイト(記事)は以下の通り。なおStream Deckへの配置は持っている人にと
中級者向け:ハッカソンの開発効率UP!GitHub Actionsで自動テストを導入する方法
## はじめに
GitHub Actionsは、ソフトウェアの自動化を支援する強力なCI/CDツールです。これにより、リポジトリ内でコードが更新されるたびにビルドやテストが自動的に行われ、開発の効率が向上します。
本記事では、Pythonを用いたGitHub Actionsのワークフローを構成し、テストが自動で実行されるプロセスを備忘録としてまとめます。
## 知識整理
### GitHub Actionsとは?
GitHub Actionsは、GitHub上でコードのビルドやテスト、デプロイなどのタスクを自動化するためのCI/CDプラットフォームです。![スクリーンショット 2024-10-25 12.44.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/f48e04c0-122d-684d-3717-671fcf4e3bdd.png)
引用画像:https://blog.studysapuri.jp/entry/2024/07/09/101443GitHubリポジ
もらったrequirements.txtでなんか動かない(泣
### いつもの僕
上司「githubのリポジトリはここだから。それぞれで仮想環境を作って、動かしてね」
僕「わかりました!(わかってない)」僕「それじゃあ、仮想環境を作ろうっと。
仮想環境のVSCodeに任せることにするか。
Pythonのバージョン? いくつだっけ?
えーっと、python 3.12でいいか。
pip install -r requirements.txt っと……」!エラー! なんかいろいろ、バージョンがダメ!
僕「ふええ……」
## 対処法
### まず、Pythonのバージョンを確認する
Dockerだったら、中にPythonも入ってるんだけど、ただのvenvだとPythonを選ばないといけない。
「すみません、今回使うPythonのバージョンいくつですか?」と聞くのである。僕「なるほど、python3.10か。それで、requirements.txtのバージョンが合わなかったんだな」
僕「じゃあPythonのバージョンを3.10にするか」### エラーログに合わせて、パッケージのバージョンを要求に合わせる
上司「せっかくだからpyth
AWS LambdaでOpenAIのライブラリを使おうとして「No module named ‘jiter.jiter’」のエラー
## 環境
– AWS Lambda
– Python 3.12## 先に解決策
openaiのバージョンをopenaiのバージョンを下げる(1.39.0にしたらエラーにならなかった)## 何が起こったか
案件でAWS Lambdaを使ってChatGPTに投げたいということがあった。それこそchatGPTやQiitaを見ながら環境構築していきました。
– [AWS Lambda(Python)からOpenAIのGPT4のAPIを呼び出してみた](https://qiita.com/nabata/items/903a2ebff8e44516598e)そこではじめは`Unable to import module ‘lambda_function’: No module named ‘pydantic_core._pydantic_core`というエラーになったのですが、これは解決策が載っていたので特に問題なく。
– [AWS Lambda Layers + OpenAI でつまづいた件](https://zenn.dev/galapagos/articles/a222e38a
pre-commitで、コミット時にフォーマットと型チェックを行う
## 対象読者
– Python のコードは書けるようになったので品質をあげたいと思っている人
– GitHubを日常的に使っている人
– コードの品質に悩む管理者## なぜやろうと思ったのか
私は個人で小さな開発を請け負うことが多かったのですが、たまに比較的大きな案件を請け、協力会社にコーディングを発注することがありました。その際に、コードの品質がバラバラでその後の変更やリファクタリングに苦労した(現在も)経験があります。
そこでコード品質を担保するためのツールに興味を持ち調べる中で、Ruffとmypyの2つを知りました。
Ruffは高速なフォーマッタおよびリンターで、mypyはpythonの型チェックを行うものです。Ruffに関しては自分のVScodeでは設定しましたが、他の人が書いたコードを触った時に自動でフォーマットされて変更箇所を管理するのが大変になりました。
https://qiita.com/The_Past_of_Dice/items/07f69b314ebea782f325
そこで、開発者がコードをcommitする時とプルリクの時にRuffとmypyで
PythonでRPGをつくる!#1
記事を書くのはこれが初めてですが、できるだけ見やすいように努力します。
# 環境
プログラムを書く環境
・「IntelliJ IDEA Community Edition」に、Pythonプラグインを入れている。ドット絵を描く環境
・「edge」を使用(ブラウザのedgeではない。関係ないが私はfirefox派。)# とりあえずmap作る
といってもやっぱりmap editor的なものが欲しいので作ります。
マップデータは
“`
map_deta = [[0,0,0],[0,0,0],[0,0,0]]
“`
って感じで保存するつもりです。
これを元に作りました。~~これは本題じゃないからこれで許して~~
気が向いたらmap editorについての記事書きます。・・・
そういえばmap editorがあったとしても、マップタイルがないとだめですね。
なので描きました。
~~これも本題ではないので割愛。~~# RPGの基礎作っていくぞー!
とりあえず画像を簡単に読み込めるようにしました。
“`
def load_image(path):
image =
自然言語における時間表現の正規化方法の調査
# はじめに
自然言語を用いてスケジュール設定が可能なリマインダーを開発したいです。
例えば、「明日の朝7時に目覚ましをセットして」という文章から、具体的に何時にアラームを設定すべきかを特定したいです。「明日の7時」は簡単な例ですが、自然言語コミュニケーションにおける表現揺れや省略を考慮すると難易度があがります。例えば「7時にセットして」だけだと午前なのか午後なのかわかりません。
「明日」や「7時」といった自然言語における時間を示す語句は「時間表現」(Time Expression)と呼ばれているようです。既存の技術で、これらの時間表現をどの程度解析できるのかを軽く調査しました。専門的に深く調べたわけではないので、多くの見落としがあるかもしれません。# 調査範囲
– [awesome-japanese-nlp-resources](https://github.com/taishi-i/awesome-japanese-nlp-resources)で「時間」や「temp(temporal)」をキーワードに検索
– ChatGPTに質問
– Googleで「時間表現 parse
クラウドでも使えるインテル® Xeon® プロセッサーの AI を加速するインテル® AMX
【開発と活用を推進するインテルの AI】
インテルはクラウドからデータセンター、エッジにおいて、あらゆる場所での AI 活用を目指す、ソフトウェアやハードウェアでの AI 開発、さらには AI ソリューションへの活用を動画で解説するWebサイトを公開しています。
https://www.intel.co.jp/content/www/jp/ja/artificial-intelligence/ai-development-and-utilization.html<AI 活用を動画で学ぶ>
インテルのエキスパートたちが、ソフトウェアやハードウェア、AI ソリューションに関してのノウハウを動画で解説。今回ご紹介するのは、「推論 / エッジ推論」
学習によって作成された推論モデルのエッジへの実装や、効率的な推論の実行など、推論に関して紹介します。タイトル:
クラウドでも使えるインテル® Xeon® プロセッサーの AI を加速するインテル® AMX![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com
🔰初心者向け : Pytorchを使った画像分類入門
# 概要
研究室の後輩のために作成した画像分類のサンプルコードです.
ipynbファイルは以下のgithubで公開してあるのでダウンロードして動かしてみてください!https://github.com/NariLefty/slab
# 実行環境
– Python : 3.10.12 (pyenv)
– torch : 2.0.1+cu118
– torchvision : 0.15.2+cu118
– timm : 1.0.7
– matplotlib : 3.7.2基本的に最新版をインストールしておけば大丈夫だと思います.
# モジュールのimport
モデルの学習や画像の読み込みなどに使用するモジュールをimportします.
“`Python
import timm
import glob
import torch
import torch.nn as nn
import torch.optim as optim
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
f
小売業における「商品振替」のマッチングをどのように自動化するか?
私はとある流通業で衣料品の販売に携わっています。
最近デジタルの勉強を始めました。## 「商品振替」とは ##
ところで **「商品振替」** という言葉をご存じでしょうか?
その意味する目的は不振店舗から好調店舗に売れ筋商品を移動し、不振店舗の在庫を減らすことで売上と荒利益を最大化することです
特に衣料品ではシーズン終盤に在庫を効率的に集約することが非常に重要です。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3822083/d0ac640d-acb6-de4c-f290-c7e7ab671404.png)
ところが、この商品振替には課題があります。当社にはシステム的な補助ツールが無く、今まで担当者がそれぞれ時間を掛けて膨大な商品データや店頭状況をふまえ経験則で実施という非常に **<属人化>** した作業となっています。
私も振替するだけで売上と在庫効率の改善が目に見えているのに、ほとんど手作業のため処理できる範囲が限られていて非常に悔しく感じていました。こうした作業に
FASTAファイルの制御文字(”^A”)連結問題を解決するPythonプログラムの実装と解説
# FASTAファイルの制御文字問題の対処
– 制御文字^Aで不適切に連結されたFASTAエントリーを発見
– Pythonスクリプトで制御文字を適切な区切り文字に変換
– エントリーを正しく分割して整形結果:BLASTで全エントリーが正常に解析可能になりました。
↓詳しくは以下の記事に書いています↓
https://zenn.dev/d_treasure0712/articles/9518ff87a3c712
Dockerを使ってWeb Serverを立ち上げてみる
## はじめに
Dockerを最近学習していたので勉強がてら書いていきます。
かなり簡単に実施するので実際の現場で使うものとは違いますが、どんなことができるのか考え方について触れていきます。
## やりたいこと
Dockerコンテナで、pythonの`http.server`を使用して簡単なHTMLのページを表示する。
今回はコンテンツの内容ではなく、Dockerでウェブサーバーを構築する考え方や手順について記載していきます。
かなり初歩的な内容になりますのでご了承ください。## ファイル構造
全体のファイル構造としては以下です。
“`
.
├── docker-compose.yml
├── dockerfile
├── index.html
└── server.py
“`
## server.py
“`
import http.server
import socketserverPORT = 8000
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer((“”, P
Pythonで〇×ゲームのAIを一から作成する その127 ラッパー関数
# 目次と前回の記事
https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0
https://qiita.com/ysgeso/items/2c76474ff139a824f4fd
## これまでに作成したモジュール
以下のリンクから、これまでに作成したモジュールを見ることができます。
| リンク | 説明 |
|:–|:–|
| [marubatsu.py](https://github.com/ysgeso/marubatsu/blob/master/126/marubatsu.py) | Marubatsu、Marubatsu_GUI クラスの定義|
| [ai.py](https://github.com/ysgeso/marubatsu/blob/master/126/ai.py) | AI に関する関数 |
| [test.py](https://github.com/ysgeso/marubatsu/blob/master/126/test.py) | テストに関する関数 |
| [util.py]
自然言語的なバリデーションを生成AIに判別させ、プルリクを自動更新する機能を実装しました
## これはなに?
先日、以下の記事を投稿しました。
https://qiita.com/ysk91_engineer/items/b047c879602d4fb8e62d
公開後、沢山のいいねやストックを頂いてとても嬉しかったです。
この記事を応用し、**生成AIに誹謗中傷の判別をさせてバリデーションする**という機能を実装しました。
さらに、従来通りNGワードのリストをymlで管理し、**AIが新たにNGだと判断したワードをymlに自動で追加してプルリクにプッシュする**機能も実装しました。課題が残る実装ではありますが、興味と実験の結果を報告したいと思います。
### 解決した課題
一般的に誹謗中傷を禁止するバリデーションを実装する場合は、NGワードリストを作成し、入力がそのリストに部分一致するかどうかでバリデーションの判別をするかと思います。
しかし、この世にある誹謗中傷ワードのすべてをリストに含めることは至難の業です。
(すべてというのは言葉の通り「すべて」で、言語や時代を超えた誹謗中傷ワードです。)NGリスト外の誹謗中傷ワードをキャッチするために、生成A
Pythonで実装するVisitorパターンによるデータ変換処理
## はじめに
JSONデータを異なる形式(CSV、YAML、XML)に変換する問題をテーマとします。この記事では、Visitorパターンを使用して柔軟で拡張性の高いデータ変換処理を実装する方法を解説します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/d45ec218-23a9-3953-41d3-399a843134c0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/26e47a2d-fcd1-9154-1e6e-aef1f79a9165.png)
## なぜVisitorパターンなのか?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/31ba1974-5ff7-c6e6-3315-ea9ed8e53da0.png)
応用編:Pythonでスクレイピングしたデータをテキストファイルに保存する方法
## はじめに
今回は、Pythonを使って指定したWebページからスクレイピングを行い、抽出したデータをテキストファイルに保存する方法を紹介します。具体的には、HTMLのh3タグに囲まれたテキストデータを取得し、その内容をscraped_data.txtというファイルに書き出すサンプルコードを解説します。
前回の記事でもスクレイピングについて紹介しているので、興味のある方は参考にしてみてください。
https://qiita.com/free-honda/items/00f49bdd0799faea77e3
## スクレイピングとは?
スクレイピングとは、ウェブページから特定の情報を自動的に抽出する技術です。データ分析、リサーチ、そして自動化の分野で広く活用されていますが、**スクレイピングを行う際にはそのサイトの利用規約やスクレイピングが許可されているかどうかを必ず確認しましょう。**
## 使用するPythonライブラリ
:::note
今回のスクレイピングでは以下の2つのPythonライブラリを使用します:**・“requests“**:指定したUR