Photo by Victor Dunn on Pexels.com

AIで記事を学習して新たな記事を生み出すにはお金が必要だと思っていたがそうでも.

2025.06.22

Logging

おはようございます.AIで記事を学習して新たな記事を生み出すにはお金が必要だと思っていたがそうでもなくローカルPCでそこら辺に落ちているLlamaモデルを持ってきてチューニングすれば何とかなるじゃねぇという思いに至った.

実はあなたの手元にあるPCと、そこら中に「落ちている」オープンソースのAIモデル、特にLlama 3があれば、十分記事が生成できるんです。


ローカルAI記事生成は、もはや夢物語じゃない

「AIで記事生成」と聞くと、SFのような世界や、大企業だけが使える特権のように感じるかもしれません。しかし、今は違います。オープンソースの強力な言語モデル、特にMetaが公開したLlama 3の登場は、この常識を大きく覆しました。

Llama 3は、その性能の高さにもかかわらず、誰でも無料で利用できるという点が最大の魅力です。さらに、80億パラメータの8Bモデルであれば、最新のゲーミングPCとまではいかなくとも、ある程度の性能を持つPCであれば十分に動作します。これにより、高額なクラウドサービスを利用せずとも、自分のPCでAI記事生成の環境を構築することが現実的になりました。


なぜLlama 3があなたのPCと相性抜群なのか?

Llama 3がローカルPCでの記事生成に適している理由はいくつかあります。

  • 完全無料のオープンソース: 利用に費用がかからないため、予算を気にせずAIを試したり、本格的に導入したりできます。
  • 選べるモデルサイズ: Llama 3には様々なサイズのモデルがあり、PCのスペックに合わせて選べます。特に8Bモデルは、個人利用に最適なバランスを持っています。
  • 活発な開発者コミュニティ: 世界中の開発者がLlama 3を使った新しいツールや効率的なチューニング方法を日々共有しています。困ったときには助けを借りられる心強い味方です。
  • 「量子化」でさらに軽量に: モデルのサイズを大幅に小さくする「量子化」という技術を使えば、より少ないメモリでLlama 3を動かせるようになります。これにより、より多くのPCで利用の道が開けます。

あなたのPCを「記事生成マシン」に変える秘訣

もちろん、いきなりプロのライター並みの記事をAIに書かせるのは難しいかもしれません。しかし、ちょっとした工夫で「何とかなる」レベルの記事生成は十分に可能です。

  1. 少量のデータでファインチューニング: 大量の記事データは不要です。あなたが書きたい記事のテーマやスタイルに合った、質の良い記事を数十〜数百程度集めてLlama 3を学習(ファインチューニング)させれば、その分野に特化した記事生成能力が格段に向上します。
  2. プロンプト(指示文)の工夫: AIへの「指示の出し方」は非常に重要です。具体的で明確なプロンプトを与えることで、チューニングが完璧でなくても、驚くほど質の高い記事が生成できます。これはまるで、優秀なアシスタントに的確な指示を出すようなものです。
  3. 効率的な学習方法の活用: 「LoRA(Low-Rank Adaptation)」のような効率的なファインチューニング手法を使えば、少ないGPUメモリでも短時間でモデルを特定のタスクに最適化できます。

あなたの創造性が、今、AIで加速する

かつては一部の専門家や企業にしか手の届かなかったAIによる記事生成が、今やあなたのPCで実現できる時代になりました。これはまさにAI技術の「民主化」です。

とまぁそういう訳なので何とかしてみますが、ファインチューニングにどれぐらい時間がかかるのかが未知数だったりする.

ファインチューニングPythonコード

以下のPythonコードは、Llama 3モデルをロードし、提供されたテキスト記事でファインチューニング(LoRA使用)を実行し、結果を保存します。 上記の入力値は、このコードに自動的に反映されます。 このコードをPythonファイル(例: `finetune_llama.py`)として保存し、実行してください。

import os
import torch
from datasets import load_dataset
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, TrainingArguments, Trainer
from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training, TaskType

# GPUの利用可能性を確認
print("GPUが利用可能か確認中...")
if not torch.cuda.is_available():
    print("GPUが見つかりません。Fine-tuningにはGPUが強く推奨されます。")
    # GPUがない場合は、ここでスクリプトを終了するか、CPUモードで続行するか選択できます。
    # exit("GPUがないため終了します。")
else:
    print(f"GPUが利用可能です: {torch.cuda.get_device_name(0)}")

# --- 1. モデルとトークナイザーのロード ---
# Llama 3モデルのパスを指定します。Hugging Faceのモデル名(例: "meta-llama/Llama-3-8B")
# またはローカルにダウンロードしたモデルのパスを指定してください。
MODEL_NAME = "meta-llama/Llama-3-8B" # ユーザーが入力したパスがここに挿入されます

print(f"モデルとトークナイザーをロード中: {MODEL_NAME}")

# 4bit量子化設定 (GPUメモリの節約に役立ちます)
# bnb_4bit_compute_dtypeは、Ampere以降のNVIDIA GPUに推奨されるbfloat16を使用しています。
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_use_double_quant=True,
    bnb_4bit_quant_type="nf4", # NF4 (NormalFloat4) 量子化タイプ
    bnb_4bit_compute_dtype=torch.bfloat16 
)

# トークナイザーをロード
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, trust_remote_code=True)
# Llama 3はデフォルトでbos_tokenを付与しないことがあるため、明示的に追加。
# また、padding_side='right'はLlamaモデルに推奨される設定です。
tokenizer.pad_token = tokenizer.eos_token
tokenizer.padding_side = "right"

# モデルをロードし、量子化設定を適用し、自動的にGPUにマッピングします。
model = AutoModelForCausalLM.from_pretrained(
    MODEL_NAME,
    quantization_config=bnb_config,
    device_map="auto", # 利用可能なデバイス(GPU)に自動的にモデルを分散
    trust_remote_code=True # リモートコードの実行を許可
)
print("モデルロード完了。")

# k-bit学習用にモデルを準備 (PEFTライブラリのため)
# gradient_checkpointingを有効にすることで、メモリ使用量をさらに削減できます。
model.gradient_checkpointing_enable()
model = prepare_model_for_kbit_training(model)
print("k-bit学習用にモデルを準備しました。")

# --- 2. データセットの準備 ---
# あなたのテキスト記事ファイルが格納されているディレクトリを指定します。
# 例: 'your_article_data/' の中に 'article1.txt', 'article2.txt', ... と置かれている場合
DATA_DIR = "./your_article_data/" # ユーザーが入力したパスがここに挿入されます

print(f"データセットをロード中: {DATA_DIR}")

# 'text'形式でデータセットをロードします。指定されたディレクトリ内のすべての.txtファイルを読み込みます。
# 各ファイルが1つのエントリとして扱われます。
try:
    dataset = load_dataset('text', data_files={'train': os.path.join(DATA_DIR, '*.txt')})
    print(f"データセットのサンプル数: {len(dataset['train'])}")
except Exception as e:
    print(f"データセットのロード中にエラーが発生しました。ディレクトリとファイル形式を確認してください: {e}")
    exit("データセットロード失敗。")

# データセットをトークン化する関数
# 長い記事をモデルの最大入力長に分割します。
def tokenize_function(examples):
    # Llama 3の最大入力長は通常8192ですが、お使いのGPUのVRAMに合わせて調整してください。
    # ここでは一般的な値として2048を設定しています。
    max_length = 2048 
    # truncate=Trueで最大長を超えるテキストを切り捨てます。
    return tokenizer(examples["text"], truncation=True, max_length=max_length)

# データセットをトークン化します。
# num_procはCPUコア数に応じて並列処理を行い、処理を高速化します。
tokenized_dataset = dataset.map(
    tokenize_function,
    batched=True,
    num_proc=os.cpu_count(),
    remove_columns=["text"] # 元のテキスト列は学習に不要になるため削除します。
)
print("データセットのトークン化が完了しました。")

# --- 3. PEFT (LoRA) の設定 ---
# LoRA (Low-Rank Adaptation) は、元のモデルの重みをフリーズし、
# 小さなアダプター層を追加して学習させることで、効率的にファインチューニングを行います。
# これにより、GPUメモリの使用量を抑えつつ、高い性能を実現できます。
lora_config = LoraConfig(
    r=16, # LoRAのランク。値を大きくすると表現力が増すが、メモリ消費も増える。
    lora_alpha=32, # LoRAのスケーリング係数。rの2倍程度が推奨されることが多いです。
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"], # LoRAを適用する層。Llamaモデルで一般的な層。
    bias="none", # バイアスを学習しない設定。
    lora_dropout=0.05, # ドロップアウト率。過学習を防ぐために設定します。
    task_type=TaskType.CAUSAL_LM, # タスクタイプを因果言語モデルに設定。
)

# モデルにLoRAアダプターを追加します。
model = get_peft_model(model, lora_config)
print("モデルにLoRAアダプターを適用しました。")
model.print_trainable_parameters() # 学習可能なパラメータ数を確認します。

# --- 4. 学習の実行 ---
# 学習済みモデルを保存するディレクトリ
OUTPUT_DIR = "./llama3_finetuned_model/" # ユーザーが入力したパスがここに挿入されます

# 学習の設定
training_args = TrainingArguments(
    output_dir=OUTPUT_DIR,
    num_train_epochs=3, # エポック数。データセットのサイズと希望する精度に応じて調整してください。
    per_device_train_batch_size=1, # GPUあたりのバッチサイズ。VRAMが少ない場合は1に設定。
    gradient_accumulation_steps=4, # 勾配を蓄積するステップ数。実質的なバッチサイズは per_device_train_batch_size * gradient_accumulation_steps になります。
    optim="paged_adamw_8bit", # 8bit AdamWオプティマイザを使用し、メモリ効率を向上させます。
    save_steps=500, # 500ステップごとにモデルを保存します。
    logging_steps=100, # 100ステップごとにログを出力します。
    learning_rate=2e-4, # 学習率。
    fp16=True, # 混合精度学習を有効化 (GPUが対応している場合)。VRAM削減と高速化に寄与します。
    max_steps=-1, # num_train_epochsに基づいて学習します。
    group_by_length=True, # 同じ長さのシーケンスをグループ化し、パディングを削減します。
    lr_scheduler_type="cosine", # 学習率スケジューラーのタイプ。
    warmup_ratio=0.03, # ウォームアップ比率。
    report_to="none", # レポート先を指定しない (wandbなどを使用しない場合)。
)

# トレーナーの初期化
# data_collatorは、モデルの入力形式に合わせてデータを整形します。
trainer = Trainer(
    model=model,
    train_dataset=tokenized_dataset["train"],
    args=training_args,
    data_collator=lambda data: {
        'input_ids': torch.stack([f['input_ids'] for f in data]),
        'attention_mask': torch.stack([f['attention_mask'] for f in data]),
        'labels': torch.stack([f['input_ids'] for f in data]), # 因果言語モデルでは、入力自体がラベルとなります。
    },
)

# 学習の開始
print("Fine-tuningを開始します...")
trainer.train()
print("Fine-tuningが完了しました。")

# --- 5. 学習済みモデルの保存 ---
# LoRAアダプターのみを保存します。これにより、ファイルサイズが小さく、効率的に管理できます。
trainer.save_model(OUTPUT_DIR)
print(f"学習済みLoRAアダプターが '{OUTPUT_DIR}' に保存されました。")

# 保存したアダプターを使って推論を行う方法の例 (コメントアウトされています):
# このコードは、ファインチューニング後にモデルをロードして推論を行うための参考例です。
# from peft import PeftModel
#
# # 元のモデルをロード (学習時と同じ量子化設定を使用します)
# base_model = AutoModelForCausalLM.from_pretrained(
#     MODEL_NAME,
#     quantization_config=bnb_config,
#     device_map="auto",
#     trust_remote_code=True
# )
#
# # 保存したLoRAアダプターを元のモデルに結合します。
# peft_model = PeftModel.from_pretrained(base_model, OUTPUT_DIR)
#
# # 推論モードに設定します。
# peft_model.eval()
#
# # テキスト生成の例
# prompt = "ローカルPCでのLlama 3ファインチューニングの利点とは"
# inputs = tokenizer(prompt, return_tensors="pt").to("cuda") # 入力をGPUに移動
#
# with torch.no_grad(): # 勾配計算を無効化し、メモリ使用量を削減
#     outputs = peft_model.generate(
#         **inputs,
#         max_new_tokens=200, # 生成する新しいトークンの最大数
#         do_sample=True, # サンプリングによる生成を有効化
#         top_p=0.9, # Nucleusサンプリングの閾値
#         temperature=0.7, # 生成の多様性を制御する温度
#         eos_token_id=tokenizer.eos_token_id # 終了トークンID
#     )
# print("\n--- 生成されたテキスト ---")
# print(tokenizer.decode(outputs[0], skip_special_tokens=True))

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

```, ;;), )。, アウト, アシスタント, アダプター, あたり, アップ, あなた, いくつ, ウォーム, エポック, エラー, エントリ, オープン, オプティマイザ, お金, クラウドサービス, グループ, クン, ゲーミング, コード, コア, ここ, こと, コミュニティ, コメント, これ, サイズ, サンプリング, サンプル, シーケンス, スクリプト, スケーリング, スケジューラー, スタイル, ステップ, スペック, すべて, ソース, そこら, タイプ, ダウンロード, タスク, ため, チューニング, ツール, データ, データセット, テーマ, ディレクトリ, テキスト, デバイス, デフォルト, トー, トークナイザー, とき, どれ, トレーナー, ドロップ, バイアス, パス, バッチ, パディング, パラメータ, バランス, ファイル, ファイルサイズ, ファインチューニング, ファインチューニングコード, フリーズ, プロ, プロンプト, マシン, マッピング, メモリ, モード, モデル, もの, ユーザー, よう, ライター, ライブラリ, ラベル, ランク, リモート, レベル, レポート, ローカル, ロード, ログ, 一般, 一部, 上記, 不要, 世界, 世界中, 並み, 並列, 予算, 付与, 以下, 以降, 企業, 使い, 使用, 係数, 保存, 個人, 優秀, 入力, 公開, 共有, 具体, 処理, 出力, 分割, 分散, 分野, 初期, 利点, 利用, 制御, 削減, 削除, 創造, 加速, 助け, 効率, 動作, 勾配, 十分, 参考, 反映, 可能, 向上, 味方, 因果, 場合, 多様, 夢物語, 大幅, 大量, 失敗, 学習, 完了, 完全, 完璧, 実現, 実行, 実質, 寄与, 対応, 専門, 導入, 少量, 工夫, 希望, 常識, 強力, 形式, 必要, 思い, 性能, 手元, 手法, 技術, 抜群, 指定, 指示, 挿入, 推奨, 推論, 提供, 整形, 新た, 方法, 日々, 明日, 明確, 明示, 時代, 時間, 最大, 最新, 最適, 有効, 未知数, 本格, 格段, 格納, 構築, 様々, 比率, 民主, 活用, 活発, 消費, 混合, 済み, 温度, 準備, 無効, 無料, 特定, 特権, 現実, 理由, 環境, 生成, 発生, 登場, 的確, 相性, 短時間, 確認, 秘訣, 移動, 程度, 管理, 節約, 精度, 終了, 結合, 結果, 続行, 能力, 自体, 自分, 自動的, 蓄積, 表現, 言語, 計算, 記事, 設定, 許可, 調整, 費用, 軽量, 追加, 通常, 適用, 選択, 重み, 重要, 量子, 開始, 開発, 関数, 閾値, 非常, 高速, 高額, 魅力,

自前のAPIでほぼ動かしている.利点はサービスの終了が無いところ

2025.06.05

Logging

おはようございます.自前のAPIでほぼ動かしている.利点はサービスの終了が無いところですが、VPSサーバー等でしか動かない代物なのでそこが難でサーバー代がかさみます.

そこを何とか低予算で運用したいのだけどもなかなか難しいのが現状です.因みにいまはVPSサーバーとレンタルサーバーを合わして1300円ぐらいを毎月支払っています.

自分にとっては1300円は高いし未だに生成AIの有料版は高いので無料版でしのいでいます.もっと稼げるように慣れば有料版とかを使ってみたいなって思います.

お給与が今の倍以上に慣れば良いのだけども、なかなか難しいそうと言う想いもあります.何時までこのような状況が続くか分からないのであまりお金の掛かることは控えています.

最近読んだ記事で老後2000万円では足りないとか言う記事を読んで絶望しています、老後が心配でいまをあまり楽しんでいないような気もしています.今を楽しみたいなーって!

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

お給与, サーバー, サーバー代, ば有料版, ば良い, レンタルサーバー, 代物, 低予算, 倍以上, 利点, 有料版, 未だ, 状況, 現状, 生成, 終了, 老後, 老後万円, 自前, ,

Pythonの仮想環境で使おうの巻. python3 -m venv

2024.12.19

Logging

おはようございます.Pythonの仮想環境で使おうの巻です、この頃PHP言語の技術的なお話は避けようと思っていて代わりにpyの話を書こうと思っています.PHPのお話を避ける理由は業務で使用しているので、何処まで書いて良いのやらになっている事が理由です.

その代わりにPythonは業務で今のところ使用していないので書きやすい.そういう理由からPythonの事を書いていこうと思っています.この頃、Python記事が多いのもそういう経緯があります.

python -m venv 仮想環境名任意「英字」

今日、ご紹介するのはPythonを実行するのは仮想環境下で行おうという話です.上記のコマンドを打つと仮想環境が任意のディレクトリ配下に作成されます.仮想環境をアクティブにしたい場合は下記のコードでアクティブ化出来ます.アクティブ化した後、インストールやPythonを実行しましょうって話です.

Macやリナックス
. 仮想環境名任意/bin/activate
うぃんどーず
.\仮想環境名任意\Scripts\activate

こうすることで何が良いのかと言うことだけどもCドライブやドキュメント配下がライブラリに侵食されないという利点があります.あとDockerで立ち上げなくても良いというのもあるかな?

トイウコトデ、仮想環境のお話でした.

明日へ続く

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

インストール, コード, コマンド, ディレクトリ配下, トイウコトデ, ドキュメント配下, ドライブ, ライブラリ, リナックス, 下記, 仮想環境, 仮想環境下, 仮想環境名任意, 何処, 利点, , 業務, 経緯, 英字, 言語,

評価するボタンを追加しようかなって思って眠らせている.

2024.09.04

Logging

おはようございます.評価するボタンを追加しようかなって思って眠らせています.今週中にリリースするつもりでいます、ユーザーさんからすると「一言メッセージ」よりもハードルが低いかなと思っています.「評価するボタン」でいろいろな人に評価して頂けたらどんな記事が良いのかやニーズがあるかなどが分かるかなという事がこちらとしての利点で設置予定です.

リリースしたら是非使ってみてください.データが集まったら@zip358comの自動ポストに活用していくつもりです.直ぐにデータは集まらないかもですが一年間ぐらい放置すればそれなりに評価データが集まると思うので楽しみにしています.

🍙フォローさんが少ない@zip358comのフォローもよろしくです(AIロボットアカウント以外は相互フォローするように心がけています.).

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

AIロボットアカウント以外, zip358com, データ, ニーズ, ハードル, フォロー, フォローさん, ボタン, ユーザーさん, 一年間, 一言メッセージ, , 利点, 少ない@zip358com, 相互, 自動ポスト, 記事, 設置, 評価データ,

Photo by Matthew Barra on Pexels.com

デザインを変更しました。

2023.10.06

Logging

おはようございます、ブログのデザインを変更しました、オリジナルなデザインにしました。前々から変えようと思っていてやっとこさデザインを変更した感じですね。すごく単純なテンプレートですが、これから先、いまのテンプレートをベースに変更していきたいと思っています。

背景は動く動画にしています、スマホでは動きませんがこちらも動くようにgif画像か何かにして対応します。。また動画は飽きたら変えていくか、ランダムか時間帯で動画を変更していきたいと思っています。

このテンプレートの利点は画像や動画を差し込まなくても滞在時間が昔とあまり変わらないことが利点です、そしてSEOはもう生成AIの時代にはあまり役に立たない、むしろBOTに引っ掛からないほうがページを参照して頂けるのではと思っています。

なお、今まで通りアイキャッチ画像は入れていますが、RSSやシェアして頂けるときぐらいしか表示されない感じです。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

BOT, Gif画像, RSS, SEO, スマホ, デザイン, テンプレート, ベース, ランダム, 利点, 前々, 動画, , , 時代, 時間帯, 滞在時間, 生成AI, 背景, 通りアイキャッチ画像,

POSTとGETの考え方について伝えている動画。 #以心伝心

2022.11.12

Logging

おはようございます、11月なのに寒くないって不思議です😗温暖化。

さて、POSTとGETの考え方について無音声(音楽あり)で伝えている動画です、以心伝心で意味が通じると良いですが、それではブログを書いている意味がないので要点だけ解説します。POSTとGETとは、インターネット上でデータの送信を行うのに使用します。POSTの利点はデータを隠して送れることと、比較的に重いデータも送れることにあります。ではGET送信の利点は、SEOに有利と言ったところでしょうか。

htmlとcssとphp-初学POSTとGETの考え方-No.2
htmlとcssとphp-初学POSTとGETの考え方-No.2

今回、POST送信とGET送信を行い、PHPのプログラムでPOSTとGETを受信する方法を動画で伝えています。次回は非同期処理を使用して送受信を行う方法をプログラムで書いていきます。

HTMLとPHPプログラムは下記のソースを参照下さいませ🙇。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo site</title>
    <style>
html {
    width: 100vw;
    height: 100vh;
}

body {
    background-color: rgb(0, 0, 0);
    color: aliceblue;
    background-image: url(./assets/images/aig-mid22910-120-xl_TP_V.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

div.box {
    border-color: aliceblue;
    border-style: inset;
    position: absolute;
    width: 300px;
    height: 450px;
    color: white;
    border-radius: 1em;
    padding: 1em;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
    /* background-color: #ffffff80; */
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    overflow-wrap: break-word;
    text-align: center;
}

div>form>p {
    font-weight: bold;
    margin: 13px;
}

input {
    opacity: 0.5;
}

textarea {
    opacity: 0.5;
}

button {
    padding: 5px;
    border-radius: 1em;
    border-style: solid;
    border-color: aliceblue;
    background-color: aliceblue;
    color: rgb(0, 0, 0);
}
button:hover{
    border-color: rgb(255, 255, 255);
    border-style: inset;
    background-color: rgb(27, 76, 119);
    color: aliceblue;
}
.put:nth-child(2){
    overflow: auto;
    height: 120px;
}
    </style>
</head>
<body>
    <div class="box">
        <div id="box2">
            <form action="submit.php" method="post">
                <p>名前:<input type="text" name="name"></p>
                <p><textarea name="text" id="" cols="30" rows="10"></textarea></p>
                <p><button class="btn" type="submit">確認</button></p>
            </form>
        </div>
        <div id="data">
            <p class="put"></p>
            <p class="put"></p>
        </div>
    </div>
    <script src="./assets/js/main.js"></script>
</body>

</html>
<?php
var_dump(xss_d($_POST));
print(xss_d($_POST["name"])."<br>");
print(xss_d($_POST["text"])."<br>");

function xss_d(mixed $val){
    if(!isset($val))return false;

    if(is_array($val)){
        foreach ($val as $key => $value) {
            $val[$key] = strip_tags($value);
            $val[$key] = htmlspecialchars($val[$key],ENT_QUOTES);
        }
    }else{
        $val = strip_tags($val);
        $val = htmlspecialchars($val,ENT_QUOTES);
    }

    return $val;

}

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

11, 2, css, DOCTYPE, GET, html, lt, no, php, POST, SEO, インターネット, こと, ソース, データ, ところ, ブログ, プログラム, 下記, 不思議, 今回, 以心伝心, 使用, 処理, 初学, 利点, 動画, 参照, 受信, 同期, 意味, 方法, 有利, 次回, 温暖化, 考え方, 要点, 解説, 送信, 送受信, 音声, 音楽,

LLサイズ

2020.12.03

Logging

LLサイズなんて昔はタブダブだったのに今は丁度いい着心地です。えぇお腹がダボついています。冬になりますます、お腹周りの燃焼効率が悪くなっているように感じます。なぜ、こんなにもお腹周り皮下脂肪がついているのかなぁと自分でも疑問に思うこともあります。この頃、スリムになりたいという気持ちはあるもののウォーキングもいかず、家でゴトゴトと作業をしています。

在宅ワークはサボろうと思えばサボれるのだけど、性格上サボらずにゴリゴリとコードを書いています。そして仕事と私生活の境目が合間になるのでアカウントを分けています。混合すると何が何だか分からないので…。あと自分は時間外の労働はしないように極力しています。

これは前からそういう様に意識しているのです、在宅ワークの利点は集中して作業が出来ることですね。在宅ワークだと県外、県内の人材を募集できるのでIT関係なら良い感じかなと思います。これは企業側の良いところだと思うのだけど、マイナス点もあります。意思疎通が難しいなという点です、それが円滑に出来れば良いチームが作れるのではないかなと思います。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

IT, LL, アカウント, ウォーキング, お腹, コード, こと, これ, サイズ, スリム, タブ, ダボ, ところ, マイナス, ワーク, 人材, , 仕事, 企業, , 作業, , 利点, , 労働, 効率, 募集, 合間, 周り, 在宅, 境目, , 性格, 意思, 意識, , 時間, 気持ち, 混合, , 燃焼, 疎通, 疑問, 皮下脂肪, 県内, 県外, 着心地, 私生活, 自分, 関係, 集中, ,

ブルーオーシャンってのは仕事を生み出す。それって?

2020.10.24

Logging

ブルーオーシャンってのはお金も生み出すけど、新たな仕事を生み出すということなんだと思います。人工知能の次はロボット産業、その次は月や火星への移住化計画とひとは、自らミッション化するのが好きだなと思います。

それも何年までに行わないといけないとか、自分達で決めて・・・。たぶん、宇宙の年月からすれば人が行っていることは微々たるものだと思います。宇宙には人の叡智を超える宇宙人も多くいるでしょうし、そんな地球外生命体からすれば何をやっているのかと思われるかもしれません。

人はロボットと融合しないと進化が止まると言われています、いづれ人はロボットと融合すると自分も思っている方です、さて最終的に融合するとどうなるのか考えた結果、限りなく0に近いエネルギーで動く生命体になるのではないのかと思います。理由は人もロボットもエネルギーを消費する点は同じ、今の処、人はロボットよりも効率的に出来ています、ロボットの利点は人よりも処理能力が早く正確な計算能力があり記憶力も抜群です、それに対してひとは処理能力はそれ程早くなく記憶力もファジーです。ひとがロボットから欲しい機能といえば処理能力と記憶力だと思います。ただこれらの能力は消費エネルギーが高いです。

そのため、ひとはロボットと融合すると今以上にエネルギーを必要とする生命体になるでしょう。なので、その効率の悪い部分をひとは改善するでしょうから、最終的に0エネルギーに近い知的生命体になると思います。

それには何世紀も時がかかるかもしれませんが、自分はそうなるのではと思っています。じつはもうそういう人智を超えた知的生命体は宇宙に存在するのかもしれません。そう考えると宇宙はほんと人類にとって最後のフロンティアなんでしょうね。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

0, いづれ, エネルギー, オーシャン, お金, こと, それ, ブルー, ミッション, もの, ロボット, , 人工, , 仕事, , 何年, , 処理, 利点, 叡智, 地球, 宇宙, 宇宙人, 年月, , , , , 消費, 火星, , 理由, 生命体, 産業, 知能, 移住, 結果, 能力, 自ら, 自分, 融合, 計画, 進化,

欲しい物リスト。

2020.06.22

Logging

マックブックプロ(MacBook Pro)です、アプリ開発するときにios用のアプリをリリースさせる方法の最短なルートはアップル製品を手元に持つことだと思います。そういう事もあってこれが欲しい。SSD1Tバイトすると20万円します。これにWINDOWSのOSも入れる事が可能なのでこれで良い感じです。

次に曲面ディスプレイです、これともうひとつ、ディスプレイを添えれば自宅で作業するときは十分かと思います。この利点は動画編集するときに良さが出るらしい(タイムライン?が見やすくなる)

これも欲しい昇降デスクです、この頃長時間、デスクの前に座るとお腰が痛くなり始めたのでやはりデスクの高さが自動で調整できるデスクは良いなと思います。これがあれば立った状態でも作業ができるみたいなのでその日の気分によって調整できるのは良いですねということです。

そしてこれもデスクトップ周りだけど、これも欲しいものです。デスクトップをスッキリさせるにはこれが必要ですね。

あと自分は新しいマックブックプロを購入したら自宅で作業するときはWINDOWS10と切り替えて作業することがあるのでこれが必要ですね。これが2個(ディスプレイが2つの場合)必要になるけどね。

上記のものを全て揃えたいというのが目標だったりします。これがあればかなり快適な作業ができると思います。全て揃えたら30万円超になります。まぁ揃えるつもりですけど・・・。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

, 20, iOS, MacBook, OS, Pro, SSD, Windows, アップル, アプリ, こと, これ, タイムライン, ディスプレイ, デスク, デスクトップ, とき, バイド, プロ, マックブック, もうひとつ, もの, リスト, リリース, ルート, , , 作業, 利点, , 動画, 可能, 周り, 感じ, 手元, 方法, , 昇降, 曲面, 最短, 気分, , 状態, , 編集, , 自動, 自宅, 製品, 調整, 長時間, 開発, ,

ネームスペースの利点はこれだと思っている。

2019.03.02

Logging

ネームスペースの利点はこれだと思っている。
複数人で開発とかしているときに関数名やクラスなどが
かぶってしまう可能性ある、そういうのを
解決してくれるのがネームスペースということです。

<?php
namespace testdemo;
class test{
    function demo():string
    {
        return "demo1n";
    }
}
namespace testdemo2;
class test{
    function demo():string
    {
        return "demo2n";
    }
  }

 

<?php
include_once "./index-6.php";
$demo = new  testdemotest();
print $demo->demo();
$demo = new  testdemo2test();
print $demo->demo();

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

'dem, , 2, 6, class, demo, function, include, index, lt, namespace, nbsp, new, once, php, print, return, string, test, クラス, こと, これ, スペース, とき, ネーム, 利点, 可能性, 複数人, 解決, 開発, 関数,

Node.jsをインストールしてFeedparserを使ってみて

2018.02.01

Logging


Node.jsをインストールしてFeedparserを使ってみて
サーバ上でjsを動かす利点はよく分かるのですが、いまのサーバで
jsをガリガリと書いて動かすことはないだろうという事で、コマンドラインから
叩いて動かすぐらいで十分じゃねという結論に至りました。
http-serverというのをインストールするとサーバから表示することも可能なんだってさ。
但しApacheと共存させるにはちょっとした細工が必要です。
ちなみにyum install nodejsでNode.jsはインストールできます。
あとはnpmを使用してnpm install -g http-serverでインストールし http-serverとかすると
http上でNode.jsが動いたりします(コードの記述が必要)。
今回、Feedparserを使用するのに参考させてもらったサイトの
リンクを貼っときます。
ほぼコピペで動きました(._.)
http://phiary.me/node-js-feedparser-rss-json/

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

B075R3WRXM, Feedparser, g http-server, http-server, node.js, npm install, yum install nodejs, コード, コピペ, コマンドライン, サーバ, サーバ上, 但しApache, 利点, 細工, 結論, 記述, 超入門,

SNSで自分を良く見せる。盛るという文化。

2016.12.05

Logging


SNSで自分を良く見せる。盛るという文化。
アプリを使うといろいろな顔に変身するということが出来ます。
それは悪いことではないと思うのだけど、盛りすぎは
別人になってしまうので実際にあってみると
アレっていう事が起こる原因になる。
利点は顔だけで内面的なところを見てないひとか
どうかを判別することが出来るというのが利点だけど
自分にもダメージが来るというのがデメリットだ。
自分を良く見せることは誰しも行っている行為。
自然体で行こうと思ってもすべて自然体なひとは、中々いない。
もし仮に自然体だとしても他人からは自然体に見えないことが
在るためだ。他者から見るじぶんと自分からみるじぶんの像は
違いであるためだと言える。
SNSで発信する時、何かを注意して
発信している人はある意味、盛るという行為を
しているだろうなと思える。何でもかんでも思ったことを
呟いている人は中々いない。
自分はSNSという物は
無くならないとは思うけど、使い方は徐々に
変わっていくと思うし、ネットモラルが年々と良くなって
来るのではないかなぁと思っている。
最低一つだけ守るべきSNSのルールは
「誹謗中傷しない」ということだ。

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

B00VR0I7QG, SNS, じぶん, すべて自然体, ダメージ, ネットモラル, ひとは, ルール, 他者, 別人, 利点, 年々, 文化, 自然体, 行為, 誹謗, 超ネットマナー講座,

MonacaはHTML5でマルチプラットフォーム対応のモバイルアプリ開発が行えます。

2015.04.26

Logging

MonacaはHTML5でマルチプラットフォーム対応のモバイルアプリ開発が行えます。このサービスには落とし穴があります、フリー版だとリリース出来るアプリは3つです。有料版だと月に980円、5000円、8000円とそれぞれコースがあり、作れるアプリはそれぞれ10個、100個、無制限となっています。試しに作ってみようと思う方にはオススメしますが、有料版で制作するよりはJAVAやObject-Cで制作してそれぞれReleaseする方が経済的なのかなぁと思ってしまいます。有料版でリリースしても元がとれなければ無駄な感じがします。このサービスの利点はHTMLとjavascriptで制作が行える事です。AndroidStudioでいま、この前作ったものを改良しているのですが落ちまくるんですIDEが・・・・・。すごく開発しづらい

著者名  @taoka_toshiaki

※この記事は著者が30代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

10, 100, , 5, 5000, 8000, 980, AndroidStudio, html, IDE, java, javascript, Monaca, Object-C, release, アプリ, いま, おすすめ, コース, サービス, それぞれ, プラットフォーム, フリー, マルチ, もの, モバイル, リリース, , , 利点, 制作, , 対応, 改良, , , 有料, 無制限, 無駄, 落ち, 落とし穴, 開発,