- 1. 404エラーハンドリングのテストでつまずいた経験とその解決策
- 2. Python, Django でTodoアプリ作成の足がかり
- 3. データ分析のための数理モデル入門 本質をとらえた分析のためにを読んだあとのPythonコード
- 4. 【コンテナ】DistrolessでセキュアなPythonイメージを作成する方法
- 5. 三次元点群データから地面点群を抽出する方法一覧 (Ground Filter)
- 6. WandBとさくらインターネットの高火力DOKを組み合わせて使ってみた
- 7. ABC374 C – Separated Lunch
- 8. Stable Diffusionのオリジナル開発陣による画像生成AIモデル最新版FLUX 1.1 [pro]のWeb APIを呼んでいくつかの画像を生成してみた
- 9. TryHackMe Writeup:Pyrat
- 10. NumPy 配列操作
- 11. 一般のKaggleコンペやったら意外と上手く行った話
- 12. Ryeを使ってみた
- 13. 全天X線監視装置(MAXI)を用いた光度曲線のプロット方法:matplotlibとplotlyを用いたPythonスクリプト解説
- 14. Pythonで〇×ゲームのAIを一から作成する その122 評価値が計算された部分木の動的な作成と Mbtree_GUI クラスによる表示
- 15. AtCoder ABC374 復習(緑コーダーがPythonでA〜D問題まで)
- 16. apple/DepthProをローカルで動かす
- 17. 34歳超初心者が無謀にもタイタニック号の分析に挑んだら、レオ様に近付けた
- 18. Djangoで画像ファイルをアップロードできない場合のエラー解消法
- 19. PythonでUSB機器リストを取得して有効・無効化する。
- 20. 【AtCoder】非ITエンジニアですが入緑しました
404エラーハンドリングのテストでつまずいた経験とその解決策
# はじめに
ウェブアプリケーションを使用していると、「404 Not Found」というエラーページに出くわすことがあります。例えば、URLを手入力したり、古いリンクをクリックした場合に表示されることが一般的です。このようなエラーメッセージは、ユーザーにとっては不便ですが、適切なエラーハンドリングを実装することで、ユーザーにとってより良い体験を提供することができます。しかし、実際に404エラーハンドリングをテストする際には、苦戦することもあると思いこの記事では、私が404エラーのテストに取り組んだ経験を通じて、陥りやすいミスとその解決策についてお話しします。
# 404エラーハンドリングの重要性
404エラーが発生した際、適切なエラーページを表示することは、サイトの信頼性を高めるためにも重要です。ユーザーが存在しないページにアクセスした場合、明確で親切なメッセージを表示することで、他のページへの誘導を行うことが可能になります。
404エラーはテスト設計をする中で確認しておく項目があります。# 確認項目
1.settings.pyでDEBUGをオフにする
404エラーペ
Python, Django でTodoアプリ作成の足がかり
昔作った簡単なTodoアプリを今風に書き換えてみる
環境:
* Windows11
* Python3.12.6
* Django 5.1
* SQLite## ステップ1: Pythonのインストール
Microsoftストアからいれる## ステップ2: 仮想環境の作成とアクティベーション
プロジェクトごとに異なる依存関係を持つように、仮想環境を作成する。
“`powershell
# 仮想環境を作成するディレクトリに移動
cd path\to\your\project\directory# 仮想環境を作成
python -m venv myenv# 仮想環境をアクティベート
myenv\Scripts\activate
“`
※venvの有効化に失敗することがあるが、以下を実行する
“`powershell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
“`## ステップ3: Djangoのインストール
“`powershell
# Djangoをインストール
pip install dja
データ分析のための数理モデル入門 本質をとらえた分析のためにを読んだあとのPythonコード
https://www.amazon.co.jp/%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%95%B0%E7%90%86%E3%83%A2%E3%83%87%E3%83%AB%E5%85%A5%E9%96%80-%E6%9C%AC%E8%B3%AA%E3%82%92%E3%81%A8%E3%82%89%E3%81%88%E3%81%9F%E5%88%86%E6%9E%90%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB-%E6%B1%9F%E5%B4%8E-%E8%B2%B4%E8%A3%95/dp/4802612494
“`
import sympy as sp# Define the variable and the cost function
P = sp.Symbol(‘P’)
C = 2000 / P**0.3 + 0.05 * P**2 + 500# Calculate the derivative of th
【コンテナ】DistrolessでセキュアなPythonイメージを作成する方法
# はじめに
Dockerコンテナを使用しているエンジニアの中で、最近話題になっているのがDistrolessイメージです。この記事では、Distrolessの概要と、特にPython向けのカスタムDistrolessイメージを作成する方法を紹介します。# Distrolessとは?
**Distroless**とは、アプリケーションの実行に必要な最低限のファイルやライブラリだけを含んだ軽量なコンテナイメージのことです。通常のLinuxディストリビューションでは、シェルやパッケージマネージャなど、コンテナ内で使用しないものも多く含まれますが、Distrolessはこれらを排除し、よりセキュアで軽量なイメージを提供します。例えば、通常のDebianベースのイメージでは多くのOSファイルが含まれますが、Distrolessでは不要な部分が削除され、攻撃の対象となる **攻撃面積(Attack Surface)** が大幅に減少します。
# なぜDistrolessを使うのか?
Distrolessイメージを使用する最大の利点は次の2つです。1. **セキュリティの強化**
三次元点群データから地面点群を抽出する方法一覧 (Ground Filter)
# 0. はじめに
ある土地を計測した三次元点群データの利用方法として、地表面の高さを表現したDigital Surface Model (DSM)を作成するか、標高を表現したDegital Elevation Model (DEM)を作成するなどがあります。DSMは点群の高さを用いることで作成できますが、DEMは地面 (Ground)とそれ以外の点群に分ける必要があります。これを**Ground Filter**といいます。Ground Filterにはいくつかの方法がありますが、その方法をまとめたソースはあまりないです。このサイトでは、Ground Filterができる私の知る限りの各ツールの手法をまとめております。
※あくまでも、手法のまとめとコードの解説が目的であるため、アルゴリズムの内容については参考になるサイトを記載するのみにします。## 使用するデータセット
本サイトでは、三次元点群データデータとして[静岡県のG空間情報センター](https://www.geospatial.jp/ckan/organization/shizuokapref)からランダムに得
WandBとさくらインターネットの高火力DOKを組み合わせて使ってみた
## はじめに
株式会社晴工雨読の片山と申します。晴工雨読の概要はこちらからご覧ください。https://seikoudoku.co.jp/
Techブログ第2弾は、Weights & Biases (W&B)とさくらインターネットの高火力DOKを組み合わせて、機械学習を効率的に実行する方法を解説していきます。まずそれぞれのツールの概要を、その後実際の手順をハンズオン形式で述べていきます。
## WandB(Weights & Biases)とは
正式名称をWeights & Biases、よくWandBと書いて「ワンドビー」とよばれているのを見聞きします。WandBは、機械学習の実験管理や可視化、モデルの管理をサポートするツール(ライブラリ)です。個人利用や小規模プロジェクトであれば、無料で利用できます。今回は公式ドキュメントから、Kerasを利用した機械学習を例に進めていきます。WandBの基本的な使い方も知ることができますので、ぜひご一読ください。Colab Notebookも用意されています。
https://docs.wandb.ai/ja/tutorials/
ABC374 C – Separated Lunch
## はじめに
10/5開催のABC372のC問題の復習です。
https://atcoder.jp/contests/abc374/tasks/abc374_c
## 問題文
キーエンス本社に勤務する人数が増えてきたので、本社に存在する部署を$2$つのグループに分け、昼休みの時間帯を分けることにしました。キーエンス本社には$N$個の部署が存在し$i$番目$(1≤i≤N)$の部署に所属する人数は$K_i$人です。
それぞれの部署をグループ$A, B$のいずれか一方に割り当て、グループごとに同時に昼休みをとり、 かつグループ$A, B$の昼休みの時間が重ならないようにしたとき、同時に昼休みをとる最大人数としてあり得る最小の値を求めてください。
すなわち、グループ$A$に割り当てられた部署に所属する人数の合計とグループ$B$に割り当てられた部署に所属する人数の合計 のうち大きい方の値としてあり得る最小の値を求めてください。## 考え方
すべての部署を$A,B$の$2$グループに分けて、最大値が小さい分け方を探す。
部署$N$が$20$以下なので全探索でも十分対応できそうです
Stable Diffusionのオリジナル開発陣による画像生成AIモデル最新版FLUX 1.1 [pro]のWeb APIを呼んでいくつかの画像を生成してみた
[Supership](https://supership.jp/)の名畑です。オンライン連載漫画の中では特に[寿エンパイア](https://urasunday.com/title/1020)が大好きなんですが、先日、[せきやてつじ先生](https://twitter.com/QJOqv3oIwaeisUy)の[原画展](https://books.manganight.net/%E3%80%909-20-10-14%E3%80%91%E5%8E%A8%E6%88%BF%E3%81%AF%E6%88%A6%E5%A0%B4%E3%81%A0%EF%BC%81%E3%81%9B%E3%81%8D%E3%82%84%E3%81%A6%E3%81%A4%E3%81%98%E5%8E%9F%E7%94%BB%E5%B1%95%E3%80%8E%E3%83%90%E3%83%B3/)に行ってきました。熱を感じました。エンジョイ!
## はじめに
以前「[Stable Diffusionのオリジナル開発陣が発表した画像生成AIモデルFLUX.1([dev]/[schnell])をMacBo
TryHackMe Writeup:Pyrat
# はじめに
本記事はTryHackMeのWriteupです。Roomは[Pyrat](https://tryhackme.com/r/room/pyrat)、Difficulty(難易度)はEasyです。
このRoomでは、Pythonやファジングに関するスキルについて学ぶことができます。
## ポートスキャン
はじめにポートスキャンを実行します。以下では事前に用意したシェルを介してポートスキャンを実行しています。
“`
##################
# Port scan tool #
##################
*Detailed scan :1
*Full scan :2***Select scanning method by number***
1
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-06 17:44 JST
Nmap scan report for 10.10.23.107
Host is up (0.25s latency).PORT
NumPy 配列操作
# はじめに
数値計算ライブラリのNumPyには色々な機能がありますが、今回は配列の操作を取り上げてみました。「配列」と言っても正確にはndarray(多次元配列)ですがこの記事の中では「配列」と表記します。
# 配列の作成 その1
array()関数はリストやタプルから配列を生成します。
~~~Python:example1.py
import numpy as npa = np.array([1, 7, 3, 2])
print(a)
~~~
実行結果
~~~
[1 7 3 2]
~~~
# 配列の作成 その2
配列はarange()関数を使って作成することもできます。arange(開始位置,終了位置,公差)のように指定します。引数を1つだけ渡すと、その数値が終了位置となり,0を開始位置とし公差1の配列が作成されます。
~~~Python:example2.py
import numpy as npa = np.arange(6)
print(a)
~~~
実行結果
~~~
[0 1 2 3 4 5]
~~~
# 指定の要素数で等差数列を作成する
linspace()関数を
一般のKaggleコンペやったら意外と上手く行った話
先日Kaggleでタイタニック以外にテーブルデータのコンペは無いものかと思って探してメダルを取りたいと思っていたのですが(のちにメダルの無いコンペと発覚)、面白いコンペがありました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2782889/cbe4b8d1-7c1a-88e7-19c6-4af49f6db5e9.png)
多分血糖値を予想するのかなと思ったんですが、このコンペ、癖が強い。# テーブル
## 訓練データ
まず訓練データとテストデータで変数が合っているのかわからない
“`Python3
import pandas as pd
train = pd.read_csv(“train.csv”)
train
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2782889/94bb0d95-1c05-4b1f-fd47-4e0007d0f91f.png)
NaNが多す
Ryeを使ってみた
## Ryeとは
新興のPythonのバージョン管理、パッケージ管理、依存関係の管理や仮想環境(virtualenvs)の管理をしてくれるツールです。
ワンストップで上記を管理し、Rust製で早いよっていうのが売りらしいです。まだ試験段階とのことですが、個人開発レベルではあれば問題ないと思います。
[Rye 公式サイト](https://rye.astral.sh/guide/)
## 今回の環境
MacOS(Apple silicon)
## インストール
インストールは下記コマンドを実行するだけです。
“`bash
curl -sSf https://rye.astral.sh/get | bash
“`インストール中に幾つか質問されます。基本的にはyesでいいと思いますが、2つ目の質問は気をつけてください。
“`bash
? What should running `python` or `python3` do when you are not inside a Rye managed project? ›
❯ Run a Python inst
全天X線監視装置(MAXI)を用いた光度曲線のプロット方法:matplotlibとplotlyを用いたPythonスクリプト解説
# はじめに
**MAXI(Monitor of All-sky X-ray Image)** は、2009年7月23日に国際宇宙ステーション「きぼう」実験棟船外実験プラットフォームに設置されたX線観測装置です。宇宙ステーションが地球を周回する動きを利用して、全天のX線を観測することができます。
本記事では、MAXIの光度曲線データをPythonで処理し、**matplotlib**と**plotly**を使用して可視化するスクリプトの使い方を詳しく解説します。
コードを読めばわかる方向けには、google colab での実行例を用意してますので、こちらも参考にしてください。
https://colab.research.google.com/drive/1m-44bPAgTCkXkOw7_fDFAc4kvAaoGcbr?usp=sharing
MAXIの quick なライトカーブのプロット方法について紹介する記事ですので、専門的な解析については、
https://www.darts.isas.jaxa.jp/astro/maxi/analysis/index.html
Pythonで〇×ゲームのAIを一から作成する その122 評価値が計算された部分木の動的な作成と Mbtree_GUI クラスによる表示
# 目次と前回の記事
https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0
https://qiita.com/ysgeso/items/900d36483538c2745d9a
## これまでに作成したモジュール
以下のリンクから、これまでに作成したモジュールを見ることができます。
| リンク | 説明 |
|:–|:–|
| [marubatsu.py](https://github.com/ysgeso/marubatsu/blob/master/122/marubatsu.py) | Marubatsu、Marubatsu_GUI クラスの定義|
| [ai.py](https://github.com/ysgeso/marubatsu/blob/master/122/ai.py) | AI に関する関数 |
| [test.py](https://github.com/ysgeso/marubatsu/blob/master/122/test.py) | テストに関する関数 |
| [util.py]
AtCoder ABC374 復習(緑コーダーがPythonでA〜D問題まで)
## ABC374 感想まとめ
[キーエンスプログラミングコンテスト2024(AtCoder Beginner Contest 374) – AtCoder](https://atcoder.jp/contests/abc374)
今回はリアルタイムでは不参加だったので、翌日にのんびり復習しました。A-Dまではノーヒントで解けた感じです。
## [A – Takahashi san 2](https://atcoder.jp/contests/abc374/tasks/abc374_a)
> キーエンスでは、役割や年齢、立場の違いに関係なく「さん」付けして呼ぶという文化があります。
:::note info
最近は外国でも「さん」をつけるケースもあるらしい。「〜さん」は老若男女問わず使えるので、便利でいいですよね。
:::pythonでは文字列の末尾を “`endswith()“` で判定します。
“` python
S = input()if S.endswith(‘san’):
print(‘Yes’)
else:
print(‘No’)
apple/DepthProをローカルで動かす
# 記事の概要
リンゴ屋さんがdepth系のモデルをリリースしていたので、ローカルで動かしてみた。(VRAM8G環境。おそらくVRAM6Gあれば十分)
手順を残しておく。https://huggingface.co/apple/DepthPro
https://github.com/apple/ml-depth-pro
ちなみにデモをするだけなら以下のページで試せる。
https://huggingface.co/spaces/A19grey/Depth-Pro-in-Meters
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3619695/4dfabf53-bb22-3bc9-986c-14d20c589d68.png)
https://huggingface.co/spaces/akhaliq/depth-pro
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/361
34歳超初心者が無謀にもタイタニック号の分析に挑んだら、レオ様に近付けた
### はじめに
初めまして。マオと申します。
前回は初心者として楽天の株価データを用いて株価分析を行ったブログを作成しました。
僕の簡単な自己紹介は前回のブログに書いてありますので、下記から興味がある方はぜひ読んでもらえると嬉しいです。
↓
https://qiita.com/mao2424/items/69be048ee43d7015bd30そして次はタイタニック号をテーマに生存確率を予測してみたいと思い、このブログを作成しました。
### タイタニック号の生存予測をテーマにした理由
ほぼタイトルにある通りです。
初心者がデータサイエンスを学ぶなら、まずは自分がワクワクできるテーマじゃないと、途中で息切れしちゃうんですよね。興味のないデータを無理やり扱っても、「これ、なんでやってるんだっけ?」ってなりがちです。だからこそ、タイタニック号の生存予測を選びました。映画でも有名だし、あのシーンとか浮かべながら取り組めば、データ分析がただの数字遊びじゃなくて、「あの人、助かってほしいな」とか、ちょっと感情移入までできちゃうんです。
しかも、タイタニックデータセットって、シン
Djangoで画像ファイルをアップロードできない場合のエラー解消法
## 発生していた問題・エラー
jpgファイルがアップロードできない。![Django画像アップロードエラー.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3677649/1900674f-9f8b-a584-237d-71bac5ff61ac.gif)
## 解決方法
– ファイルを扱う場合、request.POSTだけでなく、request.FILESもフォームに渡す必要がある
– ファイルアップロードには、フォームにenctype=”multipart/form-data”を設定することで、ファイルデータが正しく送信されるviews.py
“`python
def book_create(request):
if request.method == ‘POST’:
form = BookForm(request.POST)# request.FILESを追加して、ファイルも処理できるようにする
if form.is_valid():
PythonでUSB機器リストを取得して有効・無効化する。
# はじめに
PythonでUSBの機能を有効無効したい場合“`PyUSB“`を使えばよいのだと思うが、Windowsの場合、“`libusb-win32“`が必要で、このインストールがなかなかうまくいかなかった。そこで、PoweShellとの組み合わせで実現してみた。# 使うライブライ
スクリプト|機能
—|—
Python|subprocess
PowerShell|Get-PnpDevice
Enable-PnpDevice
Disable-PnpDevice“`subprocess“`でPythonからPowerShellを実行する。“`Get-PnpDevice“`でデバイスリストを取得、対象のUSBデバイスを抽出し、“`Enable-PnpDevice、Disable-PnpDevice“`で有効、無効化する。
事前に調査した記事は下記。
https://qiita.com/tapitapi/items/fbfe6b537b8ff8d47db0
https://qiita.com/tapitapi/items/b81cf
【AtCoder】非ITエンジニアですが入緑しました
# はじめに
はじめまして、Rin_statisticsです。
先日開催された[キーエンスプログラミングコンテスト2024](https://atcoder.jp/contests/abc374)で入緑したので勉強法や体験談を綴っていこうと思います。![IMG_0015.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3903018/c258e9e7-3fde-7e0f-cf4d-ea0d343fbede.jpeg)
# 自己紹介
私立工業大学(電気系)中退の25歳
仕事は製造業の派遣で設備制御見習いをやっています。
いわゆる「ものづくりエンジニア」というやつです。
制御だからプログラマーやんと思われるかも知れせんが、設備制御はラダー言語など特殊な言語を扱っているので、世間一般のプログラミング言語は書けない人が多いです。
(というか私のいるグループではラダー書かないのでそもそも関係ないです…)プログラミングを始めたのは大学中退が決まってから「何かしら武器はあった方がいいなー」と思い始めたの