投稿

1月, 2026の投稿を表示しています

蔵書管理システムスマホ版

# book_manager_simple.py (OCR/バーコード機能なし版) import tkinter as tk from tkinter import ttk, messagebox, scrolledtext, filedialog import sqlite3 import requests from bs4 import BeautifulSoup from PIL import Image, ImageTk import os from datetime import datetime class BookDatabase: """SQLiteデータベース管理クラス""" def __init__(self, db_path="book_manager.db"): self.db_path = db_path self.init_database() def get_connection(self): conn = sqlite3.connect(self.db_path) conn.row_factory = sqlite3.Row return conn def init_database(self): conn = self.get_connection() cur = conn.cursor() cur.execute(""" CREATE TABLE IF NOT EXISTS books ( id INTEGER PRIMARY KEY AUTOINCREMENT, isbn TEXT UNIQUE, title TEXT, image_path TEXT, amazon_ra...

コンプレッサー故障診断システム

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ コンプレッサー簡易OBD診断ツール(プロトタイプ) 1ファイル完結版 / Tkinter GUI - MockCompressorDevice: 実機の代わりに疑似センサ値を生成 - DiagnosticEngine: センサ値から故障コードを判定 - CompressorObdApp: Tkinter GUI アプリ本体 このままポートフォリオとして提示できる構成を意識しています。 """ import random from dataclasses import dataclass from typing import List import tkinter as tk from tkinter import ttk # ============================== # データモデル # ============================== @dataclass class CompressorState: """コンプレッサーの現在状態を表すデータクラス""" discharge_pressure_bar: float # 吐出圧力 discharge_temp_c: float # 吐出温度 motor_current_a: float # モータ電流 ambient_temp_c: float # 周囲温度 run_hours: float # 運転時間 start_count: int # 起動回数 is_running: bool # 運転中フラグ @dataclass class FaultCode: """故障コード情報を表すデータクラス""" code: st...

GUIコンポーネント・ウィジェット100本ノック3本目

 import tkinter as tk from tkinter import ttk def show_knock():     for child in container.winfo_children():         child.destroy()          name = combo.get()          # --- 100本ノック 第3セット メインロジック ---     if name == "21. Listbox (複数選択可能)":         # selectmode="multiple" で複数選択を許可         w = tk.Listbox(container, selectmode="multiple", height=5)         for i in range(5): w.insert(tk.END, f"項目 {i+1}")              elif name == "22. Listbox (スクロール連動)":         f = tk.Frame(container)         sb = tk.Scrollbar(f, orient="vertical")         lb = tk.Listbox(f, yscrollcommand=sb.set)         sb.config(command=lb.yview)         for i in range(50): lb.insert(tk.END, f"大量データ {i}")         ...

GUIコンポーネント・ウィジェット100本ノック2本目

 import tkinter as tk from tkinter import ttk def show_knock():     for child in container.winfo_children():         child.destroy()          name = combo.get()          # キャンバスを基本の土台として生成     cv = tk.Canvas(container, width=300, height=200, bg="white", highlightthickness=1, highlightbackground="gray")     # --- 100本ノック 第2セット メインロジック ---     if name == "11. Canvas (直線)":         cv.create_line(50, 50, 250, 150, fill="blue", width=5)         w = cv          elif name == "12. Canvas (点線/破線)":         cv.create_line(50, 100, 250, 100, dash=(5, 2), width=2)         w = cv              elif name == "13. Canvas (長方形)":         cv.create_rectangle(50, 50, 250, 150, outline="red", fill="yellow", width=3)      ...

GUIコンポーネント・ウィジェット100本ノック1本目!

 import tkinter as tk from tkinter import ttk def show_knock():     for child in container.winfo_children():         child.destroy()          name = combo.get()          # --- 100本ノック メインロジック ---     if name == "1. Label (浮き出し)":         w = tk.Label(container, text="彫刻のようなラベル", relief="raised", bd=5, font=("Arial", 15))          elif name == "2. Button (画像+文字)":         # bitmapを使って、文字とアイコンを同時に表示         w = tk.Button(container, text=" 保存", bitmap="info", compound="left", padx=10)              elif name == "3. Entry (伏せ字)":         w = tk.Entry(container, show="*", font=("Arial", 20)) # パスワード用              elif name == "4. Text (色付き行)":         w = tk.Text(container, width=20, height=3)     ...

高度なウィジェットセレクター4

 import tkinter as tk from tkinter import ttk def on_select():     for child in container.winfo_children():         child.destroy()          name = combo.get()          if name == "オプションメニュー (OptionMenu)":         # 変数と連動する古いスタイルの選択メニュー         var = tk.StringVar(root)         var.set("選択肢1")         w = tk.OptionMenu(container, var, "選択肢1", "選択肢2", "選択肢3")              elif name == "システムアイコン (Bitmap)":         # Tkinter内蔵のアイコンを表示         w = tk.Frame(container)         icons = ["error", "gray75", "info", "questhead", "question", "warning"]         for icon in icons:             tk.Label(w, bitmap=icon).pack(side="left", padx=5)               ...

高度なウィジェットセレクター3

 import tkinter as tk from tkinter import ttk from tkinter import colorchooser, filedialog, messagebox def on_select():     # コンテナを掃除     for child in container.winfo_children():         child.destroy()          name = combo.get()          if name == "カラー選択 (ColorChooser)":         # ボタンを押すとOSの色選択が開く         def pick_color():             color = colorchooser.askcolor(title="色を選んでください")             if color[1]:                 label_color.config(text=f"選んだ色: {color[1]}", bg=color[1])                  btn = tk.Button(container, text="パレットを開く", command=pick_color)         btn.pack(pady=10)         label_color = tk.Label(container, text="ここに結果が出ます")        ...

高度なウィジェットセレクター2

 import tkinter as tk from tkinter import ttk def on_select():     for child in container.winfo_children():         child.destroy()          name = combo.get()          if name == "ツリービュー (Treeview)":         # 表形式(カラムあり)の表示         w = ttk.Treeview(container, columns=("Value"), show="headings", height=5)         w.heading("Value", text="データ内容")         w.insert("", "end", values=("項目 1"))         w.insert("", "end", values=("項目 2"))         w.insert("", "end", values=("項目 3"))              elif name == "パンウィンドウ (PanedWindow)":         # 境界線を動かせるウィンドウ         w = tk.PanedWindow(container, orient=tk.HORIZONTAL, bg="gray")         left = tk.Label(w, text="左側", bg="lightblue")     ...

高度なウィジェットセレクトター

 import tkinter as tk from tkinter import ttk def on_select():     for child in container.winfo_children():         child.destroy()          name = combo.get()          if name == "キャンバス (Canvas)":         # 自由描画エリア。円や四角を表示         w = tk.Canvas(container, width=200, height=150, bg="white")         w.create_oval(50, 25, 150, 125, fill="orange") # 円         w.create_text(100, 75, text="Canvas")              elif name == "リストボックス (Listbox)":         # 複数項目を一覧表示         w = tk.Listbox(container, height=5)         for item in ["Apple", "Banana", "Cherry", "Dragonfruit"]:             w.insert(tk.END, item)                  elif name == "メッセージ (Message)":   ...

ウィジェットサンプル表示

 import tkinter as tk from tkinter import ttk def on_select():     # 古いウィジェットを削除     for child in container.winfo_children():         child.destroy()          # プルダウンで選択された値を取得     name = combo.get()          # --- ウィジェットの生成ロジック ---     if name == "ボタン (Button)":         w = tk.Button(container, text="クリックできます", command=lambda: print("Clicked!"))              elif name == "ラベル (Label)":         w = tk.Label(container, text="これはテキストを表示する部品です", fg="darkgreen")              elif name == "入力ボックス (Entry)":         w = tk.Entry(container)         w.insert(0, "ここに入力")              elif name == "チェックボックス (Check)":         w = tk.Checkbutton(container, text="承諾する")     ...

ミライアイ内服薬は薬事法違反で、ほとんど効果がない詐欺ですか?

 オーキ製薬株式会社 https://sb-miraiai1008.discover-news.tokyo/ab/miraiai_sn_08?cr_param=me_sn_43&utm_creative=me_sn_43_43_726-30&snuuid=1b94463e307a11efa51b3a736e1c6c62cb501493-0&sb_article_uid=yRMFwEGnVyXQgEyww&sb_tu_id=db9d6f89-7b31-4b6c-990a-d7e936e09215 のミライアイ内服薬は薬事法違反で、ほとんど効果がない詐欺ですか? ご提示いただいた「オーキ製薬株式会社」の「ミライアイ内用薬」について、ご質問の「薬機法(旧薬事法)違反」や「詐欺・効果の有無」という点について、調査した事実に基づき客観的に解説します。 結論から申し上げますと、製品自体は厚生労働省に認められた「医薬品」であり、詐欺商品ではありません。 ただし、広告の出し方や販売手法については、消費者が「騙された」と感じるようなトラブルが発生しやすい構造になっているようです。 1. 製品自体は「第3類医薬品」 「ミライアイ内用薬」は、独立行政法人医薬品医療機器総合機構(PMDA)のデータベースにも登録されている**「第3類医薬品」**です。  * 有効成分: フルスルチアミン塩酸塩(ビタミンB1誘導体)、ピリドキシン塩酸塩(ビタミンB6)、シアノコバラミン(ビタミンB12)など。  * 効能・効果: 眼精疲労、筋肉痛・関節痛(肩こり、腰痛など)、手足のしびれの緩和。    これらはアリナミンなどの有名なビタミン剤と同様の成分構成であり、科学的に一定の効能が認められたものです。したがって、「全く効果がない詐欺」というわけではありません。 2. 「薬機法違反」の懸念について ご提示いただいたURLのような、いわゆる「記事LP(ブログ記事のような形式の広告)」では、以下のような点が問題視されやすく、薬機法や景品表示法に抵触する恐れがある表現が使われることがあります。  * 過大な誇張: 「飲むだけで視力が回復する」「老眼が治る」といった表現は、医薬品であっても認められていません。もし広告内で「治る...

眠りの科学:睡眠と脳波と時間の長さの感じ方の関係の解明

 【質問1】どの脳波が時間を長く感じさせる脳波か? 【Geminiの回答1】 結論から言うと、「ベータ波(β波)」や「ガンマ波(γ波)」などの周波数が高い(=脳が活発に動いている)脳波が出ているときは、時間が長く感じられる傾向があります。 逆に、リラックスしているときの「アルファ波(α波)」や、ウトウトしているときの「シータ波(θ波)」が出ているときは、時間は短く(あっという間に)感じられます。 なぜ脳波によって時間の感じ方が変わるのか? 時間感覚の仕組みには、脳内の「ペースメーカー」のような仕組みが関わっていると考えられています。 | 脳波の種類 | 脳の状態 | 時間の感じ方 | 理由 | |---|---|---|---| | ベータ波 / ガンマ波 | 集中、興奮、緊張、不安 | 長く感じる | 脳の処理速度が上がり、1秒間により多くの情報を詰め込むため。 | | アルファ波 | リラックス、安静 | 短く感じる | 脳の活動が穏やかになり、情報の処理密度が下がるため。 | | シータ波 | 瞑想、深いリラックス、まどろみ | 非常に短く感じる | 意識が内面に向かい、外部の時間の経過を追わなくなるため。 | 時間が長く感じる具体的なメカニズム  * 情報の「密度」が増える    ベータ波が出ているときは、脳が「1秒」を細かく刻んで処理しています。スローモーションのように感じる「タキサイキア現象(事故の瞬間などに時間が止まって見える現象)」は、極限の集中状態で脳が超高速回転している状態です。  * 注意の向け方    「退屈な時間」も長く感じますが、これは脳が「まだかな?」と時間に注意を向けているためです。この時、脳内では細かい情報の更新(ベータ波的な活動)が繰り返され、結果として主観的な時間が引き延ばされます。  * アルファ波の「歩幅」    近年の研究では、アルファ波の周波数(1秒間に何回波打つか)が速い人ほど、時間を正確に刻む能力が高い一方で、周波数を外部刺激で無理やり変えると時間の見積もりがズレることも分かっています。 > 豆知識: > 「楽しい時間はあっという間」なのは、何かに没頭して時間に注意を向けず、脳がリラックスしたアルファ波優位の...

伏魔殿とは?東京簡裁・地裁は伏魔殿www

 「伏魔殿(ふくまでん)」という言葉には、大きく分けて**「物語上の舞台」 と 「比喩的な表現」**の2つの意味があります。 ​もともとは中国の古典小説『水滸伝』に登場する建物ですが、現代では政治や組織の闇を指す言葉としてよく使われます。 ​1. 本来の意味(『水滸伝』由来) ​中国の四大奇書の一つである『水滸伝』の冒頭に登場する建物です。 ​ 意味: 魔王(魔神)を封じ込めてある殿堂。 ​ 背景: 江西省の信州にある龍虎山(りゅうこさん)の奥深くに、「伏魔之殿」と書かれた石碑があるお堂がありました。 ​ 物語の展開: ある役人が制止を振り切って扉を開けてしまったため、中に封印されていた 108つの魔星 が飛び出し、それがのちの108人の英雄(梁山泊の好漢)になったとされています。 ​2. 比喩としての意味(現代での使われ方) ​現代の日本語では、以下のようなネガティブな状況を指す言葉として定着しています。 ​ 陰謀や悪事が渦巻く場所: 外部からは実態が分からず、中で恐ろしいことや不正が行われている場所。 ​ 腐敗した組織: 特権階級が私利私欲に走り、複雑な人間関係や利権が絡み合っている組織。 ​ 例文: ​「あの官庁は、古い慣習がはびこる 伏魔殿 だ。」 ​「一見クリーンに見える業界だが、その裏側は利権争いの 伏魔殿 となっている。」 ​3. 英語での表現 ​英語では、イギリスの詩人ミルトンの『失楽園』に登場する地獄の首都 "Pandemonium"(パンデモニウム) が「伏魔殿」と訳されます。 これは「すべての(pan)悪魔(daimon)の場所」という意味から来ています。 ​もし、特定のニュースや作品(アニメやゲームなど)に関連してこの言葉を耳にされたのであれば、その文脈に合わせた解説も可能です。 ​何か具体的な背景について、もっと詳しく知りたいことはありますか?

東京簡易裁判所民事第1室裁判官村上啓司はワイロ・裏工作の犯罪者!

この移送決定は、民訴法第18条の要件を満たさず、民訴規則第159条(理由記載義務)にも違反する、完全に違法な決定である。「地方裁判所で審理するのが相当であると認め」という抽象的文言は、最高裁判例が禁じる「理由不備」そのものである。 --- ## 1. 移送決定書の完全分析 ### (1) 移送決定の全文 [令和6年8月30日付 移送決定] 上記当事者間の頭書事件について、 当裁判所は、地方裁判所で審理するのが相当であると認め、民事訴訟法18条に基づき、職権により次のとおり決定する。 主文:本件訴訟を東京地方裁判所に移送する。 東京簡易裁判所民事第1室 裁判官 村上啓司 --- ### (2) この決定の構造分析 [構成要素] ① 法的根拠の表示    「民事訴訟法18条に基づき」 ② 判断の表示    「地方裁判所で審理するのが相当であると認め」 ③ 主文    「本件訴訟を東京地方裁判所に移送する」 [欠けているもの] ❌ 具体的理由の記載    - なぜ「相当」なのか    - どのような事情を考慮したのか    - 民訴法第18条のどの要件に該当するのか        → 一切なし! --- ## 2. 民訴法第18条の要件との比較 ### (1) 民訴法第18条の条文 第18条(簡易裁判所から地方裁判所への移送) 簡易裁判所は、訴訟がその管轄に属する場合においても、相当と認めるときは、申立てにより又は職権で、 訴訟の全部又は一部をその所在地を管轄する地方裁判所に移送することができる。 --- ### (2) 「相当と認めるとき」の判例解釈 **[最高裁昭和43年11月28日判決(民集22巻12号2808頁)](再確認)** 「民訴法第18条の『相当と認めるとき』とは、単に裁判所の主観的判断に委ねられているのではなく、**客観的・合理的な理由が必要**である。 具体的には: ① **事件の複雑性・専門性**    - 法律問題が高度に専門的    - 事実関係が著しく...

共通テスト古文1000本ノック1本目

いいですね、ついに「1000本ノック」開始ですね。 第1弾は、**蜻蛉日記風(夫を持つ女の孤独と物思い)**のオリジナル長文でいきます。 ※実在の作品本文ではなく、完全創作古文なので、過去問とは被りません。 --- 第1弾ノック用オリジナル本文(蜻蛉日記風) > 昔、女のありけるを、親のあまたなかりければ、 まだ若きほどより、ある人のもとへぞとつぎたりける。 男、世の中に名のあるほどの人にて、 ものの心ばへもなきにはあらざりけれど、 いと忙しげに、所々に仕うまつること多くて、 え常には寄りゐ給はず。 女、はじめのほどは、 「かくてこそ人の世にもありなん」と思ひなぐさめつつ、 日ごろ月ごろも待ち明かし暮らしつるが、 年経るままに、 「かくのみて過ぐさむも、 心もとなきわざかな」と思ひ入りて、 ときどきは文書きてやりけれど、 返りことも、あらでのみ過ぎぬるころほひもあり。 ある秋のころ、 夜ふけて、雨の音いとどあはれに聞こゆるほどに、 女、ひとり臥して、 み山のすそに立ちこめたる霧を見るに、 「世の中のことも、かくこそあらめ」 など思ひ乱れて、 つれづれと覚えければ、 さすがに文ひとつ書きて、 人に持たせてやりつ。 文には、 「久しくおはしまさぬほど、 いかにとばかり思ひわづらひ侍る。 かりそめの契りにしもあらぬを、 かく疎く見なされ侍るや」とばかり書きて、 いとど心細く覚えたり。 ほどなくして、人来たりて、 「かくなん」とて、 男の返りごとをぞ持て来たりける。 開き見れば、 あはれとも いかでかさらに 思はまし 雲ゐはるかに 隔つる身ゆゑ とばかりありて、 ほかには、言葉少なく書きたり。 女、これを見て、 「あはれと思ふ心なからば、 かくばかりだに返し給はじ。 されど、雲ゐはるかと書き給へるは、 つれなきことを、ただつれなき所のせひにて、 ことよせ給ふなるべし」 など、 いとあはれに、また口惜しく思ひまぜつつ、 その夜は、夜ふかくまで寝られざりけり。 それよりのちも、 たまさかに来給へる夜はあるものの、 昔のやうに長く物語などもせで、 つれなきさまにのみ見えて、 いとど心細く覚ゆれば、 女、 「かくしもありなん後の世まで」 と思ひわびて、 心のうちに、 「いかにしてこの身をもてゆかむ」とのみ思ひめぐらす。 されど、人にも語らず、 ただ日記ばかりに書きつけて見るに...