@Blog
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。

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

北斎展 師とその弟子たちを見てきましたよ。in 高知県立美術館
2022.07.23
おはようございます。昨日、北斎展 師とその弟子たちを高知県立美術館で見てきました。
葛飾北斎は繊細と躍動感を兼ね備えた絵だということ、センスは半端ないな。一つ惜しい所は絵の為に照明を落としていたことです。照明を落とすのは仕方がない事だと思うけど、絵に照明の色が反映しているなって感じで色合いが少しオレンジ色ぽっく見えてしまっている絵が多数ありました。
そこが少し残念でしたけど1,200円で本物を見えて写真に納める事が出来たのはお得感があります。行ってよかったです、今度は伊藤若冲の絵を京都か東京で見たいなって思っています。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 200, in, オレンジ, お得感, こと, センス, そこ, 一つ, 事, 京都, 今度, 伊藤若冲, 写真, 北斎, 半端, 反映, 多数, 少し, 展, 弟子, 感じ, 所, 昨日, 本物, 東京, 残念, 為, 照明, 県立, 絵, 繊細, 美術館, 色, 色合い, 葛飾北斎, 躍動感, 高知,

2023年7月からGA4に変わるだってさ。桐島くん。
2022.07.20
おはようございます。下記の記事には桐島くんは関係ありません😌。
2023年7月からGA4に変わるそうです、一年前から告知している、Gさん。自分は2022年の7月から変わるだと思い込んでAnalyticsの対応を全て行いました。対応後、2023年じゃんって気づいて吐息…😩。
さてGA4になるとどのように変わるのか、例えばユーザーのカウントの仕方が変わったりするそうですね。今までのカウントの数え方よりもっと厳密になるそうです。そして今まで(GA3)はリアルタイムに反映されていた訪問者数が今のところ、翌日に反映されるように!!これはあまり有り難くない仕様変更です。リリースされる頃にはリアルタイムに変更されていることを願ってます。
ともあれ、2023年7月から無料版GA3は廃止され、GA4に移行しなくてはならないです。アクセス解析のソースコードの入れ替えを行わないといけないので、WEB業界としてはちょっと美味しいメンテナンス作業ですね。費用が発生すればの話ですけど・・・。
詳しい仕様変更の違いを呟いている人やサイトがありますので、詳しい違いはそちらを参照ください。尚、自分としてはUI(ユーザーインターフェース)がガラリと変わって少し戸惑いました。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-GA, 2022, 2023, 3, 4, 7, Analytics, web, アクセス, あれ, カウント, コード, こと, これ, ソース, ところ, ユーザー, リアルタイム, リリース, 一, 下記, 今, 仕方, 仕様, 全て, 反映, 吐息, 告知, 変更, 対応, 廃止, 数え方, 桐島, 業界, 無料, 移行, 翌日, 自分, 解析, 記事, 訪問者, 関係, 頃,

T2のお問い合わせフォームフロント側が緩く完成、続きは今の所なしかな。
2021.10.26
朝起きは三文の徳ですが・・・。本当なのでしょうか、朝方からお問い合わせフォームのちょこちょこと残りを制作しておりました。
T2のお問い合わせフォームフロント側が緩く完成しました、パチパチ?。この雛形を元に制作してくださいと業者へ持っていくと値引きはしてくれるとは思います。即興ですが一応、汎用性がある作りにしています。
フロント側は実はあまり得意ではないです、全然わからない訳ではないのですがこの頃、コードを書かなかったら抜け落ちている部分が結構あり反省しております?
ソースコードはgithubに置いてありますのでご自由にご使用くださいませ。あまり労力とかかけていないのですが、pushしてもgithubのページに反映されないという事象が何度もありまして反映待ちで結構な時間を取られました。
https://github.com/zip358/T2_pg/tree/main/inquiry
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, am-BShXaVuI, com, github, https, push, watch, www, youtube, お問い合わせ, コード, ソース, フォーム, フロント, ページ, 三, 事象, 今, 何度, 作り, 使用, 元, 制作, 労力, 即興, 反映, 反省, 完成, 得意, 徳, 所, 時間, 朝方, 朝起き, 本当, 業者, 汎用性, 結構, 訳, 部分, 雛形, 頃,
半生生きたのか分からない。
2020.10.18
常識的に言えばいま自分は半生ぐらいの年月を生きたのかもしれないけれど、これから数十年生きていれば、医学も発展し不老不死まではいかないまでも、健康な状態で長生きできる期間が増えるのではないかと思っています。あの完全自動運転を成し遂げたGさんがいま取り組んでいるのが不老不死の研究です。
間違いなく、その結果が数十年後には反映されると思っています。
さて、そんな未来の話は横に置いといてコロナで世の中、変わるよというひとがいます。企業なども変わっていくだろういう方といやいや変わらないままだよという人もいます。自分はコロナが終息すれば人はまた同じような生活をするでしょうというのが自分の未来予測です。IT業界でもリモートワーカーも確かに増えるでしょうけど…企業全体がすべてリモートに変わるわけがないのが、もっともな考え方なのではないでしょうか。
世の中、そんなに変わらないし急激なシフトは反感を買うと思います。それに変われない人々が権力の頂点あたりにいる日本ではそれほど変わらないと。
世の中、徐々に変えていくのが正解だと思います。Gさんはこの頃、その手法を使っているような気がします。あれもこれもGさんの企業のものを使用している。だけど、あまり大々的には発表しなくいつの間にか便利だから使っているという感じです。
そういうことでコロナ禍で世の中、大きな変化はないのでは?
そして自分は半生生きたとも言えないのでは?
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
IT, いま, これ, コロナ, シフト, すべて, それ, ひと, まま, もっとも, リモート, ワーカー, わけ, 不老不死, 世, 中, 予測, 人, 人々, 企業, 健康, 全体, 医学, 半生, 反感, 反映, 完全, 年月, 数十, 方, 日本, 期間, 未来, 業界, 権力, 横, 状態, 生活, 発展, 研究, 終息, 結果, 考え方, 自分, 自動, 話, 運転, 長生き, 頂点,
テクノロジー見るだけノートを読み終えた。
2020.01.27
テクノロジー見るだけノートを読み終えたので感想を残しときます。最新テクノロジー好きなひとはこの本に書かれていることの大半は知っている気がします。ひとつ自分が知らなかった事が書かれていたサイボーグレンズ、これ眼球をサイボーグ化する試み。研究はグーグルさんがやっているそうだ。正直なところ、そこまでして、ARやMRを反映したくない。それに恐い。
あとは知っていたけど、これから発展しそうな分野で遺伝子組み換え作物だ。野菜なのにお肉の味がするなど、一度食べてみたいなと考えている。これを研究している機関はbeyondMeet(ビヨンドミート)という会社だそう。牛や鳥、魚などを殺生しなくても良いなんて素晴らしいと思う。
■最後に
このテクノロジー見るだけノートはあまり最新テクノロジーを知らない人向けですね、最新テクノロジーを噛み砕いて最新テクノロジーを解説している本ですので小学高学年でも理解できる内容になっています。大人が読むと1時間も有れば読了することが出来ると思います。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
ar, beyondMeet, Mr, あと, お肉, グーグル, こと, これ, サイボーグ, そこ, それ, テクノロジー, ところ, ノード, ひと, ひとつ, ビヨンド, ミート, レンズ, 事, 人, 会社, 作物, 内容, 分野, 反映, 味, 大半, 学年, 小学, 感想, 最後, 最新, 本, 機関, 正直, 殺生, 気, 牛, 理解, 発展, 眼球, 研究, 自分, 解説, 遺伝子組み換え, 野菜, 魚, 鳥,
GCPでメール代行するならmailgunだと思います。
2018.01.28
GCPでメール代行するならmailgunだと思います。
GCPではポート番号、25とか110とかメール系のポートはセキュリティ上の
関係ですべてシャットアウトしています。
25番ポートなんてずっと閉じている。
メール中継も自分のお好みは使えない、Gさんが推奨している
中継しか使えなかった。その中で一番、お利口さんが
mailgunだという事です。
但しDNSやMXやいろいろと設定してあげないと
いかないことだらけ、その間にPostfixの設定(+ mailgun)がGさんの公式サイトに
書かれているので、そちらを参照すると良いかなと。
ちなみに自分はDNSやMXの反映に4時間ぐらいかかりました:D
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
GCP, Google Cloud Platform入門, Gさん, mailgun, MX, Postfix, お利口さん, お好み, クラウド, セキュリティ上, プログラマ, ポート, ポート番号, メール, メール中継, 但しDNS, 全体像, 反映,