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で応援を送る

タグ

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

Photo by Min An on Pexels.com

お金の本 図解だからわかると貧乏人はお金持ちをパラめくして

2025.06.21

Logging

おはようございます.「お金の本 図解だからわかる」と「貧乏人はお金持ち」を電子書籍で読んでみて率直にひろゆき氏が書いた「お金の本 図解だからわかる」が読みやすい、逆に貧乏人はお金持ちは読みづらい、何故か過去の歴史のウンチクが多く内容が残らないと思う人が多いのではないかなと思いました.

書いている内容はわかるだけど、明確なアドバイスを書いているのはひろゆき氏のゴースト?が書いたものが良さげかと思います.

それぞれの本の内容をAIに解説してもらいました、気になる人は手にとって見てください.

「お金の本 図解だからわかる」は、ひろゆき(西村博之)氏が著者のお金に関する本です。正式なタイトルは「図解だからわかる お金の本 ー 死ぬまでお金にこまらない!」です。

この本は、以下のような特徴と内容を持っています。

  • 図解で分かりやすい: タイトルの通り、図やイラストを多く用いて、お金に関する知識や考え方を直感的に理解できるように工夫されています。
  • ひろゆき流のお金とのつきあい方: 2ちゃんねるやニコニコ動画、4chanの管理人として知られるひろゆき氏が、自身の経験に基づいた「お金に困らないための考え方」や「頭のいいお金とのつきあい方」について解説しています。
  • 実践的な内容: 「お金の無駄遣いを減らす」「生活レベルを上げない」「ストレス解消にお金を使わない」「自己投資をする」「競争相手のいない分野で稼ぐ」といった、具体的な行動や考え方が提示されています。
  • 現代のお金と社会の変化に対応: 生命保険、株、宝くじ、リボ払い、ソシャゲ、結婚、生活保護などのコスパをひろゆき氏の視点から一刀両断し、これからの時代のお金の稼ぎ方、貯め方、使い方について触れています。
  • 「幸せ」とお金の関係: 本書で一貫して主張されているのは、「幸せになるにはお金を使わないこと」や「楽しいの最大化を目指すより不安や不幸をどれだけ減らせるかが重要」といった考え方です。

この本は、お金の運用的な話だけでなく、お金とは何か、お金との付き合い方や心掛けといった基本的ながらも大切な話がシンプルで端的に語られており、お金の知識を体系的に学びたい人や、ひろゆき氏の考え方に触れてみたい人におすすめの一冊と言えるでしょう。

橘玲さんの「貧乏はお金持ち」は、グローバル資本主義が進む現代において、会社に依存せず、「雇われない生き方」で経済的自由を掴むための具体的な戦略とファイナンスの技術について書かれた本です。

主な内容は以下の通りです。

  • サラリーマンの「楽園」の終焉: 現代のサラリーマンが置かれている厳しい状況、つまり、企業に縛られ、税金や社会保険料で手取りが減っていく現状を指摘しています。
  • フリーエージェント化する世界: 終身雇用が崩壊し、誰もがフリーエージェントとして生きる時代が来ていることを示唆しています。
  • 「マイクロ法人」の活用: 本書の中で最も特徴的なのが「マイクロ法人」の活用法です。一人社長の小さな会社を設立することで、税制上の優遇措置を受けたり、国の制度の「歪み」を合法的に利用して富を築く方法が解説されています。
    • サラリーマンでは決してできなかった税金の最適化(所得税と法人税の仕組みの違いを利用)
    • まとまった資金を無税で運用する方法
    • 低金利で融資を受ける方法
  • ファイナンスの知識の重要性: 自分の人生を自分で選択し、自由に生きるためには、お金に関する知識(ファイナンス)が不可欠であると説いています。
  • 「国家を道具として使う」という発想: 国家の制度や法律を「道具」として活用し、自身の経済的な利益を最大化するという、従来の常識を覆す視点を提示しています。

本書のターゲット層と評判:

  • 会社に依存しない生き方を模索している人、独立や起業を考えている人、税金や社会保険料の負担に疑問を感じている人などに響く内容です。
  • 税制や会計に関する専門的な内容も含まれるため、予備知識がないと難しく感じる部分もあるという意見もあります。しかし、サザエさん一家を例に出すなど、分かりやすく解説されている箇所も多く、税理士の知識がなくても理解できるよう工夫されています。
  • 出版されてから時間が経っているため、税制などの情報が古くなっている部分もありますが、2024年には「新・貧乏はお金持ち」としてアップデート版も出ており、最新の状況に合わせた内容が加筆されています。

要するに、「貧乏はお金持ち」は、現代社会の経済システムを深く理解し、その中でいかに賢く生き、自由な人生を築いていくかを、大胆かつ具体的な方法で提案する一冊と言えるでしょう。

因みにどちらも自分がメンタルが沈んでいる時に購入した本で積本でした、メンタル沈んでいる時はこういう本がメンタルの栄養剤になるだと思います.あと、AIが解説した内容は概ね合っていますが概ね止まりですがまぁ無いよりはある方が良いと思い記載しています.

あと自己啓発ではないけど、自己啓発的な感じなので試して失敗しないように!

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

!」, アップデート, あと, アドバイス, イラスト, うんちく, おすすめ, お金, グローバル, ゴースト, コスパ, こと, サザエさん, サラリーマン, サン, システム, シンプル, ストレス, ソシャゲ, それぞれ, ターゲット, タイトル, ため, チャン, どちら, どれ, ひろ, ファイナンス, フリーエージェント, マイクロ, メンタル, もの, ゆき, よう, リボ, レベル, 一刀両断, 一家, 一貫, 不可欠, 不安, 不幸, 世界, 主張, 主義, 予備, 人生, 仕組み, 以下, 企業, 会社, 会計, 体系, 使い方, 依存, 保護, 保険, 優遇, 具体, 内容, 出版, 分野, 利用, 利益, 制度, 加筆, 動画, 博之, 合法, 啓発, 図解, 国家, 基本, 変化, 大切, 大胆, 失敗, 宝くじ, 実践, 対応, 専門, 崩壊, 工夫, 常識, 幸せ, 従来, 心掛け, 情報, 意見, 感じ, 戦略, 所得, 手取り, 技術, 投資, 指摘, 措置, 提案, 提示, 方法, 明日, 明確, 時代, 時間, 書籍, 最大, 最新, 最適, 本書, 栄養剤, 楽園, 模索, 正式, 歪み, 歴史, 法人, 法律, 活用, 無税, 無駄遣い, 特徴, 状況, 独立, 率直, 現代, 現状, 理解, 生き方, 生命, 生活, 疑問, 発想, 直感, 相手, 知識, 示唆, 社会, 社長, 税制, 税理士, 税金, 端的, 競争, 箇所, 管理, 終焉, 終身, 経済, 経験, 結婚, 考え方, 自分, 自己, 自由, 自身, 著者, 融資, 行動, 西村, 視点, 解消, 解説, 記載, 設立, 評判, 負担, 貧乏, 貧乏人, 資本, 資金, 購入, 起業, 通り, 運用, 過去, 道具, 違い, 選択, 部分, 重要, 金利, 金持ち, 関係, 雇用, 電子,

デフォルトではLaravel12にはapi.phpがないのでインストールが必要かも.

2025.05.15

Logging

おはようございます.デフォルトではLaravel12にはapi.phpがないのでインストールが必要かもです.インストールが必要な方は下記のコマンドよりインストールください.

php artisan install:api

この頃、サーバー移行した時に何故かYosakoiのサービスが落ちてしまって最新のLaravel12を入れたりしました.本当はUPDATEで解決したかったのですが、それがライブラリを管理しているオートローダーが変になってしまって新規に入れ直して対応しました、因みにどうもサーバー上のファイルが物理的に壊してしまったようです.

ローカルサーバーではちゃんと動くのにサーバー上では上手く機能しないという超稀な事象に…

これを解決するには時間がかかりそうという事でLaravelのプロジェクトを作って今までのファイルを移植した形になります.

その時にLaravel12にはAPIファイルがないだなって気づいて昨日直しました.

因みにLaravel11から消えたそう🤔

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

インストール, オートローダー, コマンド, サーバー上, サーバー移行, サービス, デフォルト, ファイル, プロジェクト, ライブラリ, ローカルサーバー, 下記, 事象, , 時間, 最新,

Photo by Tim Mossholder on Pexels.com

Windows11がブラックスクリーンになり読み込みマークだけが表示されるNVIDIAのバグ.

2025.04.03

Logging

おはようございます.Windows11がブラックスクリーンになり読み込みマークだけが表示されるNVIDIAのバグが発生しました.このバグはディスプレイポート(DisplayPort)の出力を使っている場合のみに起きるらしいです.

尚、対応としてはディスプレイポート(DisplayPort)を外してHDMI接続のみに切り替えてパソコンを再起動します.その後、ドライバーをアンインストールを行い再度、パソコンを再起動.

再起動後、Nvidiaのドライバーをインストールします.その時に最新のドライバーで同じ事象が発生した場合は再度アンインストールして、ダウングレードのドライバーをインストールすることで解決すると思います.

それでも駄目な場合はパソコンの専門店でサポートを受けてもらってください.

尚、ダウングレードした場合は直ぐに最新のドライバーをインストールすることを控えてください.バグが解決したことを確認の上、最新のドライバーをインストールする事をオススメします.

こんかい参考にしたサイトはこちら

NVIDIAさん、助かる!Windowsの“真っ暗画面”問題にホットフィックスで対応 | PCとーく
https://pc-talk.reinforz.co.jp/3895

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

アンインストール, こんかい参考, サポート, ダウングレード, ディスプレイポート, ドライバー, バグ, パソコン, ブラックスクリーン, ホットフィックス, マーク, 事象, 再度, 再起動, 再起動後, 出力, 問題, 接続, 最新, 真っ暗画面,

【PHP言語】はてなAPIを使用してURLをはてなブックマークに保存するコード

2024.07.07

Logging

おはようございます、【PHP言語】はてなAPIを使用してURLをはてなブックマークに保存するコードを先日Qiitaに掲載しています.なお、使いたい方はギットハブからクローンしてお使い頂ければと思っています.

https://github.com/taoka3/hatenaApi

この記事は数日前にUPした記事と関係しています.こちらの記事が最新となります、この問題が解決方法を探るのに時間として8時間ぐらい「あーでもない、こーでもない」と試行錯誤して解にたどり着きました.

久しぶりに詰まったコードです.原理原則は理解していたのですが、先人の知恵も見つからず生成AIに聞いてもあまり良い答えが返ってこずでしたが、ソース・コードを書き直したらすんなりコードが実行出来たのでそういう事も大事なのかもなって.

明日へ続く.

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

8時間, API, PHP言語, qiita, url, ギットハブ, コー, コード, すんなりコード, ソース, はてなブックマーク, 先人, 原理原則, 問題, 最新, 生成AI, 知恵, , 解決方法, 試行錯誤,

Laravel入門書は2日で半分進む。#phpcode

2022.12.24

Logging

おはようございます、今日はクリスマス・イブですね🎄。

Laravel入門書は2日で半分進みました、この記事がUPされている頃にはLaravel入門書は読了している頃だと思います。自分が持っているLaravel入門書はLaravel5.4対応なので正直な所、最新の入門書に切り替えた方が良いかも知れませんが、金銭的に苦しいので働きだしてから購入するべきか考えたいと思います。

入門書を隅から隅まで読んでも、使い倒せるそうにないのがちょっと不満ですね。この入門書は前半分はフロントエンドの人のために書かれているような気がします。なので、バックエンドエンジニアだけを担当するという方は、後半分から読んでいっても良いじゃないかなと思います。

中小企業で開発している人はフロントだけとかバックエンドだけとか考えずに、両方のことを行えるようにしといたら良いかもです。人手不足になったらフロントも手伝ってとなることが有るからです。

そういうことなので、全部理解するに越したことはないですね_(:3」∠)_。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

Laravel5.4対応, Laravel入門書, イブ, クリスマス, バックエンド, バックエンドエンジニア, フロント, フロントエンド, 両方, 中小企業, 人手不足, 入門書, 全部, 前半分, 半分, 後半分, , 最新, , ,

Chrome拡張の作り方という本は読む人を選ぶ本かも?

2022.07.27

Logging

おはようございます。今日は途轍(とてつ)もなく眠いですが、早朝ウォーキングしてきました😂。

さて、Chrome拡張の作り方という本のコードと解説をささっと流し読みしたので、感想を少しだけ書いていきます。まず、この本(電子書籍)はProが書いた本ではなく、書くことに関してはおそらく素人が書いた本だと思います(今では誰もが本を出版出来る時代ですから)。

ですが、ある一定の知識とプログラミング言語の知識がある人が読むと勘所を抑えていて良質な本だと思います、レビューではリンク先がないなどの意見もあるのですがそういうのは自分は気にしないし、Chrome拡張開発の勘所とManifest V3対応版にいち早く対応した本として良いなと感じました。

ググってもManifest V2対応のコードばかり出てくるので最新のManifest V3対応のサンプルコードが無いのでとても助かります。英語が分かる人ならChrome拡張開発の公式ドキュメントを読めば理解できると思うのですが、自分は英語が読めないに等しいのでとてもChrome拡張の作り方という本は役立ちました。

尚、自分が開発しているChrome拡張は来週にはリリース出来るかと思います、審査が通らなければ少し遅くなるかもですけどね。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

2, , Chrome, Manifest, Pro, ウォーキング, コード, こと, サンプル, とき, とてつ, プログラミング, リンク, レビュー, 一定, , , 今日, 作り方, 公式, 出版, 勘所, 対応, 少し, 意見, 感想, 拡張, 早朝, 時代, 書籍, 最新, , , 知識, 素人, 自分, 良質, 英語, 解説, 言語, , 途轍, 開発, 電子,

iPhoneに関してだけ言えばだけども買うのは?の方が良い🦅。

2022.06.17

Logging

おはようございます、たまに自然を聞くのは良いですね、実際、川や山にいくと虫もセットになりますが、今ではYOUTUBEでそのサウンドを聞くことが出来ます。

いま、iPhone14を購入しようか悩んでいます。その理由の一つは親のiPhoneがios16非対応製品になってしまったことです、よってセキュリティやアプリの対応で問題が生じる可能性が出てきました。

4K 波の音と焚き火映像でくつろぐ 2時間48分

そのため、今のiPhoneを親に譲って自分はiPhone14を購入することになるかもなって思っています。iPhoneとAndroid端末を比べてみるとAndroid端末でも十分なような気がしますが、自分は長年iPhone端末を使用してきているので、なんだかiPhoneの方がしっくりときます。

iPhoneだけの話で言えば買い替え時は最新の上位機種に買え替えたほうが長く使用できます。ios16発表時にiPhone7を切ってくるとは正直なところ思わなかったのですが、残念ながらiPhone7は対象から外されましたね。ともあれ、再来年までには最新鋭の機種に買えかえます😌。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

14, 16, 7, Android, iOS, iPhone, youtube, アプリ, いま, こと, サウンド, セキュリティ, セット, たま, ため, ところ, わなか, 一つ, 上位, , 使用, 可能性, 問題, 実際, 対応, , , , , 最新, 機種, 正直, , 理由, 発表, 端末, 自分, 自然, , 製品, , , 購入, 長年,

最新記事を非広告記事で読みたい方用のページを作りましたよ😏。

2022.02.14

Logging

おはようございます、俊足で朝からコードを書いたりしていました😌。

さて、自分のサイトを広告無しだったら読んでも良いという人が少なからずいると思いまして、この度、テキストオンリーのページを作りました。このページでは最新記事しか読めません、過去記事を読みたい方はzip358.comよりサイトを参照くださいませ。

非広告ページ👇

https://zip358.com/tool/blog-non-ads/

因みにページの表示速度が若干遅いです、これはサーバーの処理に依存するものですのでこれ以上、速度を上げることは今の所出来ません。また、どんなプログラムなのか知りたいという方もいると思いますのでソースコードを掲載致します。これを非広告ページで見ると英字文字がずらっと並んでいるように見えると思いますが、バグではないですので悪しからず(ソースコードを記載した部分が表示されているだけです)。

尚、ソースコードを見てRSSだけで読み込みが出来そうだねって、指摘する人もいるかと思いますが自分のサイトのRSSは記事の中身が出力されない仕様でして、このようなコードになっています。取得できる方はもっと表示速度は早くなると思います・・・。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<title>RSS 非広告 blog-zip358.com</title>
</head>
<body>
<div class="container">
    <div class="row">
            <?php
$rss = @simplexml_load_file("https://zip358.com/feed");
if($rss){
    ob_start();
    foreach($rss->channel->item as $key=>$val){
        ?>
        <div class="col-12">
            <p class="h3" ><?=$val->title?>[<a href="<?=$val->link?>">*読みやすい記事へ*</a>]</p>
            <p class="h4" ><?=$val->pubDate?> by <a href="https://twitter.com/zip358com">@zip358com</a></p>
            <p><?=context($val->link)?></p>        
        </div>
        <?php
    }
    print ob_get_flush();
}
?>
        </div>
    </div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
</body>
</html>
<?php
/**
 * @param $link string
 * @return $reslut string
 */
function context($link=null){
    $reslut = "";
    if(is_null($link))return $reslut;
    $htmldata = @file_get_contents($link);
    $dom = new DOMDocument();
    $html = mb_convert_encoding($htmldata, "HTML-ENTITIES", 'UTF-8');
    @$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
    $xpath = new DOMXPath($dom);
    $reslut = $xpath->query("//*[@id=\"article\"]/div[3]")[0]->textContent;
    return $reslut;
}

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

358, blog-non-ads, com, https, tool, www, zip, オンリー, コード, こと, これ, サーバー, サイト, ソース, ソースコ, テキスト, バグ, プログラム, ページ, もの, , , 依存, 俊足, 処理, 参照, 広告, , , 掲載, 文字, , 最新, , 自分, 若干, 英字, 表示, 記事, 記載, 速度, 過去, 部分,

コード書き初め、そろそろネタが尽きてきたよ「始め」!?

2022.01.03

Logging

コード書き初めは何が良いのかなぁなどと考えておりましたが、やはりこれかなっていう事で文字のグラデーションを徐々に変えてい行くものを作ってみました。IEとかでは動きませんが、最新のChromeやFirefox、エッジなどでは動くかなと思います。ソースコードを写景してみて、コードの動きがわかればソースコードを変更していろいろと試してみてください。

Rewind 2021 – Love of the Code

動作はこちらから確認くださいませ。

https://zip358.com/tool/demo51/

尚、このコードは2021年の12月28日に書いたものになります。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<title>Happy New Year 2022</title>
<style>
    body{
        background-color: black;
    }
    #HNY{
        font-weight: bold;
        font-size: 222px;
    }
</style>
</head>
<body>
    <h1 id='HNY'>Happy New Year 2022</h1>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.0/js/bootstrap.min.js"></script>
<script>
    let color1 =["40","E0","D0"];
    let color2 =["FF","8C","00"];
    let color3 =["FF","00","80"];
    let postion =[2,0,1];
    setInterval(() => {
        if((parseInt(color1[postion[0]],16) + 1)<255){
            color1[postion[0]] = (parseInt(color1[postion[0]],16) + 1).toString(16);
        }else{
            color1[postion[0]] = (100).toString(16);
            postion[0]--;
        }
        if((parseInt(color2[postion[1]],16) + 1)<255){
            color2[postion[1]] = (parseInt(color2[postion[1]],16) + 1).toString(16);
        }else{
            color2[postion[1]] = (50).toString(16);
            postion[1]--;
        }
        if((parseInt(color3[postion[2]],16) + 1)<255){
            color3[postion[2]] = (parseInt(color3[postion[2]],16) + 1).toString(16);
        }else{
            color3[postion[2]] = (80).toString(16);
            postion[2]--;
        }
        
        for(key in postion){
            if(postion[key]<=-1){
                postion[key] = 2;
            }
        }
        //console.log(`#${color1.join("")}, #${color2.join("")}, #${color3.join("")}`);
        document.getElementById('HNY').style = `
        color: #FF8C00;
  background: -webkit-linear-gradient(0deg, #${color1.join("")}, #${color2.join("")}, #${color3.join("")});
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
        `;    
    }, 70);
</script>
</body>
</html>

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

12, 2021, 28, 8, cGLonkCQ, charset, Chrome, com, D-, DOCTYPE, Firefox, gt, head, html, https, IE, ja, lang, lt, meta, name, quot, UTF-, viewport, watch, www, youtube, いろいろ, エッジ, グラデーション, コード, こちら, これ, ソース, ネタ, もの, , , , 動作, 変更, 文字, , 書き初め, 最新, 確認,

NewsPicksのあの動画は無料で合法的に全視聴可能になってる!?

2021.09.01

Logging

9月になりましたね。高知県はまだまだ暑い日が続いています。

2月末までとある企業で仕事をしていたのですが、途中からフルリモートが週イチリアル勤務になりやめる頃には毎日、リアル勤務に変わっていてコロナ禍でついていけない会社はあるのだなぁと実感しました。今までの仕事の体制を変えるって結構大変なことかと思います。

さて、「NewsPicksのあの動画は無料で合法的に全視聴可能になってる!?」の件ですがタイトル通りYOUTUBEで一部の動画は全視聴することが可能になっています。その動画は堀江貴文さんが出ているHORIE ONEというニュースピックスの動画です。こちらHORIE ONEの最新動向が配信されたあと、YOUTUBEのホリエモンチャンネルで小出しに後半部分が視聴可能になっています。なのでニュースピックスのHORIE ONEしか見ていないよという方はわざわざNewsPicksにお金を毎月払わなくても動画見れちゃいます。

お金より重要なのは○○と○○だ!ホリエモン的幸福論【山崎元×堀江貴文】

HORIE ONE[NewsPicksコラボ]はNewsPicksさんと堀江貴文さんが試みているのか、堀江貴文さんが権利を買い取っているのかは定かではありませんが、いち視聴者からするととても有り難いことです。

自分はNewsPicksさんの有料会員から無料会員へ移行して数ヶ月経ちましたが、無料会員枠でも少し動画が視聴できるので、当分、これで良いかなと思えてきまし堀江貴文さんがほぼフル動画を配信してくれるので、これで十分だなと。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

2, , HORIE, newspicks, one, youtube, あと, いち, お金, こちら, こと, コロナ, タイトル, チャンネル, ニュース, のあ, ピックス, プル, ホリエモン, リアル, リモート, れち, わざわざ, 一部, 仕事, , 企業, 会社, 体制, 動向, 動画, 勤務, 可能, 堀江貴文, 大変, 実感, 小出し, 後半, , , 最新, 毎日, 無料, , 視聴, 途中, , 部分, 配信, , 高知県,

人はなぜ「死んだ馬」に乗り続けるのか曰く、死んだ馬(ブログ)に乗り続けている日々。

2021.08.14

Logging

この雨は一週間ぐらい続くそうなので、高知県は土日も雨のままみたいです。

さて、人はなぜ「死んだ馬」に乗り続けるのか曰く、死んだ馬(ブログ)に乗り続けている日々を過ごしている自分ですが、ここで何かアクションを起こさないといけないなと思っています。

人はなぜ「死んだ馬」に乗り続けるのか

いっその事、ブログを辞めてnoteを本格的に始めようかなとか思ったりしています。この状態が死んだ馬に乗り続けている状態と同じなんだなぁとたまに感じます。このまま無収入?と無職が続くのならば何とかしないといけないなとは切実に感じているのですが、じゃ何をどうすればメンタルに重さを感じずにずっと生きていけるのだろうかと思うとクエッションマークがつきます?。

そういう事で日々のルーチンワークを見直してみることにします。まず起床してから最新のニュース記事に目を通します、次にハローワークの求人に目を通します。その後、朝食を取ります。朝食後、再度記事に目を通し投資信託などにも目を通します。その後、8時頃までYOUTUBEなどを見たりして過ごしクラウドワークスの案件に目を通します、何か良い仕事があれば応募しますがこの頃は全然というほど出来そうな案件がないので応募していないです。

クラウドワークスに目を通した後、ハローワークに出かけたりスーパーに買い出しに行ったりしています。そんな事をしていると昼になるのでお昼御飯を食べます。昼からはネットサーフィンをしたり仕事を探したりして夕方まで過ごします。コードを書くときもあるのですがそれが毎日という訳ではないです。夕方になると散歩に出かけ夕食を取り夕食後はお休みモードになります。

だらっと平日の過ごし方を書きました。他人から見れば優雅な生活を送っているように見えると思いますが、これでもメンタル的に疲れる時があります。

そういう状況下で生活をしています。はたから見ると、結構らくらくな生活をしているように思えるでしょうけど、自分は今の生活を改善したいと思っています。死んだ馬に乗り続けていることは分かっているので、平日の過ごし方を改善して出来る範囲で収入を確保していきたいと思います。もしストレスの重みにならない範囲で活動でき、定期的に収入が得られることになれば、それが低収入だとしてもそちらを選ぶと思います。

お金よりも自分が辛くないと思える生き方の方が良いと思うからです。激辛ラーメンが嫌いな人が毎日それを食べ続けないといけない環境にいればその人は逃げようと考えると思います。これを仕事に置き換えると何故か人は嫌いな仕事を続けています。それは体を壊すきっかけになったりするので逃げたほうが良いと思います。それよりか自分の苦にならない仕事をする方が断然良い死んだ馬には乗らないほうが賢明です。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

note, アクション, クエッション, ここ, こと, このまま, たま, ニュース, ハローワーク, ブログ, マーク, まま, メンタル, ルーチン, ワーク, , , , , 収入, 土日, , 日々, 曰く, 最新, 求人, 無職, 状態, , 自分, 記事, 起床, , , 高知県,

LINE messaging apiでブログの配信通知するプログラムコード。

2021.07.14

Logging

暑い日が続いています、夕立になった後のアスファルトの匂いを嗅ぐと夏だなぁって思うのは自分だけでしょうか?
さてLINE messaging apiでブログの配信通知するプログラムコードを書きましたのでお裾分けします?、コードはいつもの通りコメントなんてものはありません。この2つのコードは何をしているのかだけ、解説しますね。

1つ目のコードは私のLINEチャンネルを友だち追加してくれたら、データベースにuseridを登録するコードです。解除したらuseridの削除もちゃんとしています。

2つ目のコードは私のLINEチャンネルに登録してくれた方々に最新の記事を送信しています。自分は毎日、9時に最新の記事を送信するようにcron登録しました。

一部、defineを設定している部分がありますのでコードに追加してください、よろしくお願いします?
※LINEチャンネル登録よろしくお願いします。

<?php
    class line{
        function webhook($webhook_object=null){
            if(!$webhook_object)return false;
            $obj = json_decode($webhook_object);
            $type = $obj->events[0]->type;
            $userId = $obj->events[0]->source->userId;
            $replyToken = $obj->events[0]->replyToken;
            if($type==="follow"){
                $pdo = self::db();
                if($pdo){
                    $sql = "insert into user (userid)values(:userid)";
                    $sth = $pdo->prepare($sql);
                    $sth->bindValue(":userid",$userId,PDO::PARAM_STR);
                    $sth->execute();
                }
            }
            if($type==="unfollow"){
                $pdo = self::db();
                if($pdo){
                    $sql = "delete from user where userid = :userid";
                    $sth = $pdo->prepare($sql);
                    $sth->bindValue(":userid",$userId,PDO::PARAM_STR);
                    $sth->execute();
                }
            }
            if($type==="message"){

            }
        }

        function db(){
            try {
                $pdo = new PDO(DSN,USERNAME,PASSWORD);
                return $pdo;
            } catch (\Throwable $th) {
                //throw $th;
                return false;
            }
        }
    }


    if($data = file_get_contents('php://input')){
       print line::webhook($data);
    }
<?php
    class blog_post_msg_line{

        function db(){
            try {
                //code...
                return new PDO(DSN,USERNAME,PASSWORD);
            } catch (\Throwable $th) {
                //throw $th;
                return false;
            }
        }

        function rss(){
            $obj = simplexml_load_file("https://zip358.com/feed");
            $post_message[2] = $obj->channel->item[0]->title ."\n". $obj->channel->item[0]->link;
            $post_message[1] = $obj->channel->item[1]->title ."\n". $obj->channel->item[1]->link;
            $post_message[0] = $obj->channel->item[2]->title ."\n". $obj->channel->item[2]->link;
            return $post_message;
        }

        function main(){
            $pdo = self::db();
            if($pdo){
                $post_message = self::rss();
                $sql = "select userid from user;";
                $sth = $pdo->query($sql);
                $res = $sth->fetchAll(PDO::FETCH_ASSOC);
                if($res){
                    foreach($res as $key=>$val){
                        $user_id = $val["userid"];
                        self::line_post($user_id,$post_message);
                    }
                }
                
            }
            
        }

        function line_post($user_id ='',$post_message=null){
            $text = [
                [
                    'type' => 'text',
                    'text' =>"最新の記事をお届けします"
                ],
                [
                'type' => 'text',
                'text' =>$post_message[0]
                ],
                [
                    'type' => 'text',
                    'text' =>$post_message[1]
                ],
                [
                    'type' => 'text',
                    'text' =>$post_message[2]
                ]                                
            ];
            
            $message = [
                'to' => $user_id,
                'messages' => $text
            ];
            
            $message = json_encode($message);
            
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . ACCESS_TOKEN, 'Content-Type: application/json'));
            curl_setopt($ch, CURLOPT_URL, 'https://api.line.me/v2/bot/message/push');
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
            curl_setopt($ch, CURLOPT_POSTFIELDS, $message);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $res = curl_exec($ch);
            curl_close($ch);      
        }
    }

    if($argv[0]){
        blog_post_msg_line::main();
    }  

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

, 2, , API, cron, define, line, Messaging, userid, アスファルト, いつも, お裾分け, お願い, コード, コメント, チャンネル, データベース, ブログ, プログラム, もの, 一部, , 削除, 匂い, 友だち, , 夕立, , 方々, , 最新, 毎日, 登録, , 自分, 解説, 解除, 記事, 設定, 追加, 送信, 通り, 通知, 部分, 配信,

monograph{モノグラフ}を発信する堀口さん。

2020.03.22

Logging

モノグラフというサイトを運営し会社を経営している方、20代と30代がターゲットかと思います。彼もそれぐらいの年齢です、モノグラフとは最新のガジェットを紹介していたりするサイトです。彼はYOUTUBEで発信者としても活躍されています。YOUTUBE動画、オシャレな感じで仕上がっています。YOUTUBEってやはり最初が大事だなと自分もYOUTUBE試してみてわかりました。

【2019年】今年買って本当に良かったモノランキングBEST10

最初に良い餌をばら撒かないと最後まで動画は見てもらえない、そんなことの出来ない自分は動画を短めにしてました。だだ短い動画はこれから広告がつかないらしいので収益にならないみたいです。ちなみに今、YOUTUBEはさぼってます。

堀口英剛さん、経歴もかなり良い。そしてイケメン分類なのでこれから伸びそうです、おしゃべりも良い感じですし女性ファンも結構付きそうな気がします。

最後にmonograph/ 堀口英剛さんのYOUTUBEチャンネル登録はこちら
https://www.youtube.com/channel/UCzH-IRXHeF4jox0P4qBxWAQ

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

20, 30, monograph, youtube, イケメン, おしゃべり, ガジェット, かなり, こと, これ, サイト, それぐらい, ターゲット, だだ, チャンネル, ばら, ファン, モノグラフ, , 会社, 分類, 動画, 収益, 堀口, 大事, 女性, 年齢, 広告, , 感じ, , 最初, 最後, 最新, , 活躍, 発信, 発信者, , 短め, 紹介, 経営, 経歴, 自分, 英剛, 運営, ,

テクノロジー見るだけノートを読み終えた。

2020.01.27

Logging

テクノロジー見るだけノートを読み終えたので感想を残しときます。最新テクノロジー好きなひとはこの本に書かれていることの大半は知っている気がします。ひとつ自分が知らなかった事が書かれていたサイボーグレンズ、これ眼球をサイボーグ化する試み。研究はグーグルさんがやっているそうだ。正直なところ、そこまでして、ARやMRを反映したくない。それに恐い。

あとは知っていたけど、これから発展しそうな分野で遺伝子組み換え作物だ。野菜なのにお肉の味がするなど、一度食べてみたいなと考えている。これを研究している機関はbeyondMeet(ビヨンドミート)という会社だそう。牛や鳥、魚などを殺生しなくても良いなんて素晴らしいと思う。

Beyond Meat Invites you to Go Beyond #BYND

■最後に
このテクノロジー見るだけノートはあまり最新テクノロジーを知らない人向けですね、最新テクノロジーを噛み砕いて最新テクノロジーを解説している本ですので小学高学年でも理解できる内容になっています。大人が読むと1時間も有れば読了することが出来ると思います。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

ar, beyondMeet, Mr, あと, お肉, グーグル, こと, これ, サイボーグ, そこ, それ, テクノロジー, ところ, ノード, ひと, ひとつ, ビヨンド, ミート, レンズ, , , 会社, 作物, 内容, 分野, 反映, , 大半, 学年, 小学, 感想, 最後, 最新, , 機関, 正直, 殺生, , , 理解, 発展, 眼球, 研究, 自分, 解説, 遺伝子組み換え, 野菜, , ,

QuartzJapan[クオーツジャパン]を知ってる?

2020.01.15

Logging

QuartzJapanを知ってる方はこの記事をスルーして大丈夫です。自分は今日知ったばかりです。クオーツジャパンとは簡単に言えば、これから先、世界で起こるHOTなサービスやテクノロジーなどの情報をメールとアプリで配信してくれるサービスです。

月額1000円で最新の情報が手に入るというのは良いかなと感じます。ただ自分、現在安定した収入がないので、契約を結びませんでしたがニューズピックスよりも情報が良さげかなと感じました。ニューズピックスは動画配信などに力を入れている為か肝心の記事は殆ど外部からのニュースでサイトを埋めている気がします。

実際、契約を結んでいないので評価し難いのですが朝と夕方に記事が毎日配信されるということです、サンプルを読む限り良い感じがします。ビジネスマンや最新の情報が読みたい人は下記より購買が可能になります。
なお、自分には一銭も収益は入りません…。

https://qz.com/japan/subscribe/payment/

Robotics pioneer believes machines will make us happier

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

1000, HOT, QuartzJapan, アプリ, クオーツ, こと, これ, サービス, サイト, サンプル, ジャパン, スルー, テクノロジー, ニュース, ビジネスマン, ピックス, メール, 一銭, 下記, 世界, , 今日, , , 動画, 収入, 収益, 可能, 夕方, 外部, 契約, 安定, 実際, 情報, 感じ, , , 最新, 月額, , 殆ど, 毎日, , , 現在, 簡単, 肝心, 自分, 記事, 評価, 購買, 配信,

楽天RMSの禁止タグ制限を突破サービス!?

2019.09.07

Logging

楽天RMSの禁止タグ制限を突破サービスを自前してみました。
完璧ではないけど需要はあると思いますのでリリース、
ちなみにこちらのソースコードは非公開とさせて頂きます。
※会社でも似たような機能開発していますから…。
自分の頭の中にソースコードの設計工場があります(^^)。
リンクはこちらからお使いください。
https://zip358.com/tool/rakuten-RMS-tag/
広告でご飯食べてます。
ちなみにモバイル対応は意識していません。
PCブラウザより操作を行ってください。
※最新のChromeブラウザ推奨しております。
 
 

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

358, Chrome, com, https, nbsp, PC, rakuten-RMS-tag, RMS, tool, www, zip, お使い, コード, こちら, ご飯, サービス, ソース, タグ, ブラウザ, モバイル, リリース, リンク, , 会社, 公開, 制限, 完璧, 対応, 工場, 広告, 意識, 推奨, 操作, 最新, 楽天, 機能, 禁止, 突破, 自分, 自前, 設計, 開発, 需要, ,

MYSQL8以降ウィンドウ関数対応=>ランキング。

2019.05.06

Logging

MYSQLでもランキング機能(rank())が使えるようになったとさ。日本国内のレンタルサーバーは最新の技術というより
一歩遅れた技術で運営している理由はリスクを取らないためにそうしているのだろうなとヒシヒシと感じます。

### support mysql>8.0.2 ウィンドウ関数
```sql
select id,namae, rank() over(order by code_total asc)as code_rank from code_data;
```
### code_data
|id|namae|code_total|
|---|---|---|
|1|kaonashi|15|
|2|mononoke|75|
|3|asitaka|52|
|4|san|87|
|5|theta|99|

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

```, ---, , 15, 2, , 4, 5, 52, 75, 8, 8.0.2, 87, 99, as, asc, asitaka, BY, Code, data, from, gt, ID, kaonashi, mononoke, MYSQL, namae, order, over, rank, san, select, SQL, support, theta, total, ウィンドウ, サーバー, ため, ランキング, リスク, レンタル, , 国内, 対応, 技術, 日本, 最新, 機能, 理由, 運営, 関数,

夏バテ感が強い。

2018.08.16

Logging

疲労、たぶん夏バテで2日間いつも読んでいる最新の話題や記事を
全然、目を通していない。家に帰って飯を食べてバタンと寝るだけの日々。
朝起きて風呂に入り仕事へ。
AI(人工知能)に仕事取られていくだろうなと思う今日このごろ。
ただ、そろそろ自分でも簡単に使用できるレベルのオープンベースの人工知能ライブラリが
でてくるのだろうな。そうなったら良いなぁと思いつつも
やはり人工知能の勉強はしないといけないよなと思います。
 
機械学習では画像や音声で学習させるということを
忘れていたけど、よくよく考えるといろいろな事を機械学習で
勉強させられるということ、例えば最初にABCとフォルダを構えて
その中に正しい振り分けデータを入れてAIにお勉強させる(学習あり)ことで
これは何のデータか振り分けが可能になるわけです。
人工知能は仕分けがお得意だという事。
よくよく考えると荷物の仕分けも出来てしまうのではないかな?
今までOCRで行っていたことを機械学習で置き換えることで
アナログで書かれた伝票にも対応できたりするのではないかと。
主に仕分けや判別する分野では
人工知能は今後、大活躍かなと思います。
この判別する仕事って殆どの仕事は判別する仕事ではないのかと
思ってしまいます・・・。創作(クリエイティブ)する仕事はまだまだ
人工知能に奪われそうにないです。ちなみに人工知能は創作する事は可能です、
ただ創作したモノが良いか悪いかという事は人工知能はわからないからです。
データ上よくても実際、人が見ると全然だめモノばかり?

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

2, ABC, AI, nbsp, いろいろ, オープン, お勉強, お得意, こと, コレ, データ, はり, フォルダ, ベース, ライブラリ, レベル, , , 人工, , 今日このごろ, 仕事, , 使用, 勉強, 可能, 夏バテ, 学習, , , 日々, 最初, 最新, , 機械, 画像, 疲労, , 知能, 簡単, 自分, 荷物, 記事, 話題, 音声, 風呂, ,

1500記事を毎日、毎日サラッと目を通して分かること。

2015.12.03

Logging

https://youtu.be/NZY7XDe_FMY
自分がfeedlyに登録している記事は106記事です。
1500記事を毎日、毎日サラッと目を通しています、そこから
分かることは、最新の情報と、どうでも良い話題。
でも、そのどうでも良い話題が実は大事だったりするのだと
思うことが有ります。どうでも良い話題が
世の中を操作しているのかもしれないとかんじる事があります。
そういう事が人々の常識を創り出していくのでは
無いのかなと思えることがあります。
世の中目まぐるしく日夜、技術が進んだり
その貢献を人々は受けているわけです。
そういう事が記事を読んでいくとわかりますし
一番は最新の情報をいち早く手に入れる事があります。
二番手ぐらいの情報になりますが、それでも
知らないより知ることが大事かなと思います。
自分は概念的なものや一部分を覚えているタイプで
あとは検索任せです。無駄に記憶しないのが手っ取り早いです。
自分は賢くはないので覚えるより感覚的に覚えて
「そういえば」こういうことが合ったなと
覚えておくと何かの時に役立ちます。
そういう観点と新しもの好きの観点で日々、記事を読んでいます。
気に入った記事は保存したりシャアして残しています。
最後に自分が読んでいる記事をzip形式でアップしときます。
zip358.com/tool/my-feeds.zip

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

feedly, my-feeds.zip, tool, zip358.com, zip形式, シャア, タイプ, 一部分, 世の中目まぐるしく日夜, 人々, 常識, 情報, 技術, 日々, 最新, 検索任せ, 良い話題, 観点, 貢献,

現場のプロが教えるWEB制作の最新常識をパラ読みして(´Д`)

2014.08.25

Logging

現場のプロが教えるをパラ読みしての感想などを書いてみます。
この本ですけども、毎日WEBの技術やデザインの流行をチェックしている方は
然程目新しい内容を書いている本ではないです。
こんな方はおすすめ、Web制作会社に入社したのだけど、
周りに技術を持った人がいない、または自分の技術や知識が
どれぐらいのレベルなのか知りたいなどが分かる本です。
この本が示すトコロは世間一般でいうWeb制作会社を
軸として経営している会社のレベルです。
ただ、これは技術書ではないため、
これだけではWeb技術やデザインの知識を得ることは難しいです。
ちなみにこの本は、文章が結構多めですけど
重要な部分にはマーカー(黄背景色)を塗っているので
マーカーの前後を読むことで一通り理解できるような感じになってます。
 

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

4844363980, asin, jp, web, おすすめ, こと, コレ, これだけ, ため, チェック, デザイン, トコロ, どれぐらい, プロ, マーカー, レベル, 一般, 一通り, 世間, , 会社, 入社, 内容, 制作, 前後, 周り, 多め, 常識, 感想, 技術, 技術書, 文章, , 最新, , 毎日, 流行, 現場, 理解, 知識, 経営, 背景色, 自分, , 部分, 重要, ,