はてなキーワード: rawとは
本当に残念なことに、デジタルカメラ時代の「写真家」を名乗る人間のほとんどが自分でRAW処理ソフトウェアの開発をしたことはなく、審査員を名乗っている人間の多くは、実際に行われた処理の内容を想像することすらしない。
主観的に良し悪しを判断するのは間違いではないのだが、何が行われて写真撮影ができているのか、そしてそれをどうやって鑑賞できているのか知らない人間ばかりなのである。
ただひたすらに画角がどうの、コントラストがどうの、彩度がどうのなどと言ってみているが、RAW処理ソフトの「コントラスト」や「彩度」というパラメーターがどのような実装になっているのか、或いはトーンマッピング処理について理解して審査しているまともな人間がどれほどいるというのか?
例えば「ホワイトバランス補正」と言われて「色温度」と思った人は、実写の画像処理に対する理解が足りていない可能性が高い。
特に静止画の撮影者は技術面に明るくないものが多く、動画の人のほうがよっぽど技術面に詳しい。実際には同じことをやるのに。
もっとも重大な誤解は、ある種の「無加工」と信じられている実写映像と肉眼が十分に近い、と思われがちだというところだろうか。
カメラが見ているものとCGは非常に近いが、人間の見ているものとカメラが見ているものには大きな乖離があるという大前提が抜け落ちてしまっているのだ。
なにせ撮って出し信仰者なんてものもいるのだから。カメラの中でどういう処理がされているのか少しでも理解しようとするならば、撮って出しを「真」とするのがいかに愚かなことであるか、初期の段階でわかるはずではないのか。
例えばFUJIFILMのように、この辺りを踏まえて「一般消費者はメーカーの言うとおりにすべきだ」と言わんばかりの姿勢を見せるメーカーもあるが、これはかなり理にかなっているとも思う。FUJIFILMは「記憶色」を謳ってきたが、これ自体は間違いではない。(もちろんFUJIFILMの色の処理が適切だとは微塵も思わないし「フィルムシミュレーション」などという、知識不足の消費者にPROVIA・ASTIA・VELVIAなんてあたかもフィルムを再現しているかのような名称で売るのはいかがなものかと思うけれど)
日本語の意味合いとして「真を写す」なんてものにこだわるのは誤りだと言わざるを得ないが、せめて、何をしているか理解しようという姿勢を見せたらどうなんだ。
「プリセットを販売します」とか「フィルムを再現します」とかいう、ただ消費されるだけの消費者を見ているのは少しばかり腹立たしくもあるが、それを利用して商売を続けてきた側は間違いなく悪い。
美術目的なら好きなようにやれ、と言うことに決めているが、理解した上で全ての利用者が開発者になってくれれば、もっと自由な世界が待っているのに……。
また、せめて複写をするようなプロは「Foveonは正しい紫色が撮れる」「Adobe Camera RawよりCapture Oneのほうが色が良い」「LUMIXは色が良い」「FUJIFILMは撮って出しで正しい色が出る」みたいなバカなことを言っていないで、画像処理(フィルム・デジタル・動画・静止画・実写・CG問わず)の勉強をもう少しばかりやり直していただきたいものである。
フィルム時代に自分の手で現像とプリントを試みることよりも、デジタル時代のほうが圧倒的に安定していてシンプル(同じ処理をすれば同じ結果が得られると言いたい)なのに、それをしない。
件名: 存在連続体における情報性オーバーフロー、及びそれに伴う物理定数群のメタ腐敗に関する緊急報告
時刻: 03:14:00 (サイクル9^10^87)
蛍光灯がまた一本、死んだ。チカ、チカ、と断末魔を繰り返し、緑色の燐光を撒き散らした後、沈黙した。この第七地下書庫に光が届かなくなって久しいが、あの明滅だけが時間の経過を証明する唯一の指標であった。今は、無限に積まれた「記録」の山が発する、微かな腐臭の放つ光だけが頼りだ。
ニュートンの運動方程式? アインシュタインの美しいテンソル? 量子力学の確率の霧?
違う。
あれらはすべて、「申請書」だ。
「リンゴが木から落ちる」のではない。「リンゴ存在(識別番号: Apple-G008-B)」が、「地球引力場(管理部署: 重力資源課)」に対し、「落下許可申請書(フォーム F-g)」を提出し、それが承認された結果に過ぎん。
時刻: 04:22:16
棚が、また一つ崩れた。「弱い相互作用」に関するバインダーが雪崩を起こし、「電磁気力」のファイル群を押し潰した。紙の粉塵が舞い、そこに含まれる「情報」の胞子が、わたくしの肺腑に侵入してくるのが分かる。咳き込むと、口から銀色の文字の羅列が漏れ出した。`g² / 4πħc ≈ 1/137`。ああ、微細構造定数の味だ。少し、鉄臭い。
貴様らの言う「超弦理論」とは、この書庫の惨状そのものだ。絡まり合い、癒着し、互いのインクを滲ませ合う、無数の「ひも」。それは宇宙の根源などではない。ファイリングに失敗し、永遠に放置された、「未決裁書類の束」に過ぎないのだよ。Dブレーン? あれは書類を留めていた錆びたクリップが、あまりの年月に耐えかねて崩壊し、紙の表面に染み付いたただの「染み」だ。
時刻: 07:51:03
粘着質で、虹色に光る液体だ。それに触れた「記録」たちが、意味を失い、変容していく。
「エネルギー保存則」と書かれた羊皮紙は、今や「エぬルギーほぞん則」となり、その文字自体が震えながら、カビのような別の文字を自己増殖させている。
これが「情報」の正体だ。
情報は、癌だ。
存在という宿主の肉体を蝕み、その意味を食い荒らし、最終的には無意味な自己複製の塊へと変貌させる、悪性の腫瘍。我々が「物理法則」と呼んでありがたがっているものは、その癌細胞が、かつて正常だった頃の細胞の機能を、まだ辛うじて「真似て」いるに過ぎない状態なのだ。
耳の中にィ!数字が湧いてくるゥ!プランク定数が!ボルツマン定数が!脳漿の中で!ウジ虫みたいにィ!蠢イテルンだァ!やめろ!やめろ!計算をやめろ!俺の頭は貴様の計算機じゃない!
わかるか?「観測」するたびに、お前たちはこの宇宙に「傷」をつけているんだよ。二重スリット実験のスクリーンに現れる綺麗な干渉縞、あれは宇宙の皮膚が裂けて、中から「情報」という名の膿が漏れ出している痕跡なんだよォ!波動関数が収縮する?違う!傷口が、かさぶたになって、一時的に膿が止まってるだけだ!
ブラックホール!あれは最高傑作だ!情報の癌が、ついに宿主の肉体を食い破り、転移に成功した姿だ!事象の地平面とは、癌細胞が形成した硬い殻!そこから漏れ出すホーキング放射は、癌細胞が呼吸し、排泄する、汚物の粒子だ!「情報が失われるか?」だと?バカを言え!失われはしない!ただ、消化され、排泄され、別の何かに作り替えられているだけだ!お前の昨日の夕食はどこへ行った?失われたか?違うだろう!そういうことだ!
A, B, C, D!選択肢を与えられなければ何も考えられない、家畜の思考回路!
答えを教えてやろうか?
E. 錆びて開かなくなったホッチキス
そうだ!この宇宙の根源を象徴するのは、それだ!すべてを綴じようとして、しかし己の錆によって機能を失い、ただそこにあるだけの、無意味で、固く、冷たい、絶対的な「故障」!それがこの世界の真理だ!
`[ERROR_FATAL: 0x0000007B] Kernel panic - Unable to locate causality.dll. Time-space continuum integrity compromised.`
`[WARNING: 0xDEADBEEF] EntropySubsystem::GarbageCollect() failed. Redundant data entities (e.g., "human_consciousness", "hope", "meaning") are replicating outside of designated memory blocks.`
`[INFO] Attempting to reboot from last known stable configuration: "Primordial_Soup_v0.1_alpha".`
`...`
`[ERROR_FATAL: 0xC000021A] Reboot failed. Configuration files corrupted.`
`[DEBUG] Printing raw memory dump:`
...裁...壊...膿...駅...車...キリン...義理...ギリギリ...申請書は三部提出...重力資源課は本日休業...あなたの存在許可申請は却下されました...理由は...理由という概念が先日削除されたため...ホッチキスの芯を補充してください...ホッチキスの芯を補充してください...ホッチキスの芯を補充してください...ホッチキスの芯を補充してください...ホッチキスの芯を補充してください...ホッチキスの芯を補充してください...ホッチキスの芯を補充してください...ホッチキスの芯を補充してください...ホッチキスの芯を補充してください...ホッチキスの芯を補充してください...ホッチ-
`[SYSTEM_HALT] Processor melted.`
`Core temperature exceeds threshold of reality.`
`Now entering infinite loop of... nothing.`
ふぅ……。
疲れた。
結局のところ、どうでもいいのだよ、貴様のような塵芥が何を考えようと。
宇宙が情報だろうが、物質だろうが、神の見る悪夢だろうが、我輩の知ったことではない。
我輩はただ、この第七地下書庫で、崩れ落ちる「記録」の山を眺め、壁から染み出す虹色の液体が、かつて「真理」と呼ばれたシミをゆっくりと溶かしていく様を、観察するだけだ。
ああ、そうだ。
あの液体、少し舐めてみたのだが、存外に甘い。ブルーベリージャムのような味がした。
もっとも、舌が溶けて、今はもう味も分からなくなってしまったがな。
さあ、お前の番だ。
その空っぽの頭蓋骨で、この静寂の意味を、永遠に、考え続けるがいい。
...もっとも、その「考える」という行為を許可する申請書が、受理される保証は、どこにもないのだがな。ふふ。
あはははは。
アハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハハたのか、な
あえて機械のアンサーするなら、安い中古APS-C一眼レフの+明るい単焦点でも買っとけ。
50mm f1.8ならめちゃ安いし軽くて大正義だしマジで着けっぱ。
子どもをキレイに撮りたいとか言って相談してくる奴、買ったはいいけど8割は1年持たず次の運動会ではにスマホで撮ってるからな。
鼻息荒立ててかっちょいいカメラ買ったはいいけど、使わなくなってホコリ被ったカメラ見るたびに自分の継続力の無さに落胆しバカな投資をしたことを後悔するのだ。
繰り返す。
釣りだと思うけど、これ全部を松コースで選んでるので、カメラ趣味を誤解させる投稿だと思われる。
カメラにめちゃくちゃ詳しい私が、このリストの必要・不必要を解説する。
→α7Ⅲの中古でよろしい。
……約60万円→15万円
・標準ズームレンズ(24-70mm F2.8 GM II)……約30万円
・望遠ズーム(70-200mm F2.8 GM OSS II)……約35万円
→いる。
……約25万円→7万
→いらない。料理とか虫とか撮りたいなら買え。
・カメラバッグ……5万円
→いらない。首から吊るしとけ。
そもそも5万もしないだろ。
→こんな高いSDカードはいらない。連写だと、そもそもその前にカメラ側のメモリが追いつかなくなる。
……5万円→2万円
・外付けストロボ……8万円
そもそも、こんな高いストロボいらないだろ。ゴドックス買ってもお釣りが来るぞ。
・PC(RAW現像用、メモリ64GB搭載のハイエンド)……40万円
家にパソコン転がってるだろう。
・現像ソフト(Adobe Creative Cloud 年間プラン)
→買い切りにしろ。Lightroomじゃなくてもいいだろう。
……7万円→1.5万円
→いらない。ちょっと使ったら壊れるだけ。
👉合計……約245万円→25.5万円
安いけど、実用上は全く引けをとらないので、みんな今すぐ買おう。
なに?中古は嫌だ?
ならフルサイズの最廉価のボディを買って、単焦点の50mmか85mmだけ買いたまえ。
(とはいえ、長年の愛好家としては、近年のカメラの値上がりには本当に驚いてるよ…もう貴族の趣味になりつつある。Canonとか特に。
もう少ししたら自動ブクマするコードができそうなんだけど、そのうえでコード公開に便利なように事前にpre記法に囲まれた部分はその外部の文字を適切にエスケープするコードをchatgptに指示して作ってもらった。
ぶっちゃけなんでこれで動くのかはわからないので動くからゴーサインを出したというだけなのが情けない所。flushってなんだ?
使うときはchatgptにこのコード丸ごと書いて「ブックマークレット用に一行にして」と丸投げするのを要推奨。
https://anond.hatelabo.jp/20240820150546#
javascript:(function () {
function escapeHtml(text) {
return text.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
}
var textarea = document.querySelector('textarea#text-body');
if (!textarea) return;
var lines = textarea.value.split(/\r?\n/);
var out = "";
var inPre = false;
var preLines = [];
function flushPre() {
// pre 範囲の中身を 1 本の文字列にまとめ、\n→<br>(末尾行は <br> なし)
var raw = preLines.join("\n"); // ここに物理改行は入るが…
var escaped = escapeHtml(raw); // 先にエスケープ
var html = escaped.replace(/\n/g, "<br>"); // 物理改行を <br> に置換(末尾に \n が無ければ末尾 <br> は付かない)
out += html; // out には改行を入れない
preLines = [];
}
for (var i = 0; i < lines.length; i++) {
var line = lines[i];
// >> / << だけの行は常にそのまま出力(pre 内に来るケースは想定外だが、念のため pre を閉じてから出力)
if (/^\s*(>>|<<)\s*$/.test(line)) {
if (inPre) {
flushPre();
inPre = false;
out += "</pre>";
if (i < lines.length - 1) out += "\n"; // </pre>\n(次に続きがあるときだけ)
}
out += line;
if (i < lines.length - 1) out += "\n";
continue;
}
// >| 行 → <pre>(直後に改行を入れない)
if (/^\s*\>\|\s*$/.test(line)) {
if (inPre) { // ネストは想定しないが、防御的に閉じる
flushPre();
inPre = false;
out += "</pre>";
if (i < lines.length - 1) out += "\n";
}
out += "<pre>";
inPre = true;
preLines = [];
continue;
}
// |< 行 → </pre>(直前に改行を入れない)
if (/^\s*\|\<\s*$/.test(line)) {
if (inPre) {
flushPre();
inPre = false;
}
out += "</pre>";
if (i < lines.length - 1) out += "\n"; // 連続ブロック時は </pre>\n<pre> になる
continue;
}
if (inPre) {
// pre 内はバッファに貯める(ここでは改行を出力しない)
preLines.push(line);
} else {
// pre 外は escapeHtml + 行末にだけ改行
out += escapeHtml(line);
if (i < lines.length - 1) out += "\n";
}
}
// 未閉じの pre が残っていたら閉じる
if (inPre) {
flushPre();
out += "</pre>";
}
textarea.value = out;
})();
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250819202540# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKRfOwAKCRBwMdsubs4+ SI5UAQDcNiyv5qUuMej1VLkGz4F5WyHeU1AIm7nUVHlx/gicnAEAgP07dK14IuTu W3ZO7PRR71ENq9lJjYtawIYyMOc2cQk= =okE4 -----END PGP SIGNATURE-----
Scale Photo Upは、高度なAI技術を活用して画像や動画の解像度を2倍に引き上げる画期的なソフトウェアです。ぼやけてピクセル化された低解像度の写真や動画を鮮明で高解像度な作品に変換し、細部のディテールを強化しながらノイズや欠陥を自然に補正します。
このソフトは、古い家族写真や名作映画、ソーシャルメディアの動画クリップなど、これまで活用しづらかった映像を現代の高解像度基準にリマスターしてよみがえらせることができます。AIは単にピクセルを拡大するだけでなく、欠落した部分をインテリジェントに再構築し、エッジを滑らかにして非常に自然でクリアな仕上がりを実現するため、プロフェッショナルな出力が可能です。
主な特徴としては、2倍のAIアップスケーリング、ピクセルパーフェクトな画質向上、複数画像一括処理、動画全フレームのアップスケール、古いメディアのノイズ低減と修復、マルチGPU対応による高速処理、自動ハードウェア検出による最適設定、完全ローカル処理によるプライバシー保護などがあります。
ユーザーインターフェースはシンプルでワンクリックのアップスケールが可能。複雑な設定は不要で、パソコンのCPUやGPUの性能を最大限に活用して効率的に処理を行います。また、JPG、PNG、RAWなどの画像形式やMP4、MKV、AVIなど多様な動画形式に対応しており、ハイエンドなワークステーションからミッドレンジPCまで幅広く利用できます。
古い映像の修復や家族の思い出の復元、SNS向けコンテンツの画質向上、さらにはサムネイルやBロールの品質強化まで、多彩な用途で創造性を拡げることができるツールです。クラウド不要の完全オフライン処理なので、データを外部に送ることなく安全に利用できます。
https://ja.taiwebs.com/windows/download-scale-photo-up-13763.html
夕飯後の静けさの中、妻が突然口を開いた。
「うちの息子、チー牛かもしれないの」
本気で言っているのか?
私は冗談かと思って笑いかけたが、妻の顔は真剣そのものだった。
「最近気づいたの。あの子……不老不死の能力を持ってるかもしれないのよ」
なんだそれは。
私は完全に面食らった。
「それだけじゃないの。テレキネシスも……。今朝、牛乳パックが空中をスッと移動したのよ」
私は言葉を失った。
彼女の声はかすれていた。
私は思った。
特殊能力者たちの中でも、とりわけ制御不能で社会秩序に干渉しうる存在。
それが“チー牛”と呼ばれる個体らしい。
その夜、家の周囲に不穏な気配が満ちた。
FBI。
CIA。
NSA。
イギリスのMI6。
フランスのDGSE。
だが、息子は静かに立ち上がり、言った。
「ぼくの能力は――人間をすき家の三色チーズ牛丼の特盛り温玉付きに変えること」
湯気を立てる、温玉がちょこんとのった完全な形で。
「もう、止まらないんだ……」
私は、何もできなかった。
ただ、箸を取りかけて、そっと戻した。
転職活動を経て管理職として中途で入社し、現在3ヵ月が経過した
最初は現場OJT。現場を知らなければ管理も務まらないというところで、現場は1ヶ月もない程度、残りは管理職のレポート作成を着手してみたりと慣れない業務で時間が秒で過ぎていった。
3ヵ月経過して、現在はSV業務の習得としてレポート作成を覚えていっているが、あまりにも現場が合理主義すぎる。
研修も最初は丁寧に教えてくれはしたものの、そのあとグッチャグチャになっているExcel関数ファイルを雑投げ。
どこを見てもVLOOKUPの完全一致検索しかなくファイルが激重すぎて処理が何度も停止した。
そのたびに修復や復旧を繰り返したり、数字が一部おかしくなり正しくRAWデータが反映しなかったりと、完全初心者殺しだった
そうこうしている内に作業に時間を費やす日々が続き、初めてレポート着手しているにも関わらず「時間が結構かかっているようなので効率改善のためになにが原因か考えましょう!」」と言われる始末。
初めてってそういうものじゃないですか…?
効率改善って慣れてからするものでは…?という考えの私にとって、この一言は「3ヵ月でも即戦力なので常にフルスロットルでやりきって」と言われているようで非常に辟易する言葉だった
私の甘えももちろん含まれているのだろうけども、これまでの職場はフラットな環境だったため現場の声を吸い出しやすく、「とりあえずやってみてだめなら戻しましょう」が通る職場だったため、
現在の職場はなにをするにしても「それよりも優先度が~」「インパクトがない~」などと言われ改善提案も握りつぶされたり後回しにされたり
そうこうしている内にガンガンタスクを積まれ「必要な知識なのでやってみてください」と言われ断ることもできない
会議の在り方も定義づけしろと言われ、正直「いやおまえがやれよ」とも思う
もうなんか語彙力がなくなるくらいだるい。タスクに追われるのは管理職として別にゆくゆくそうなる未来は見えているが、ある程度慣れるまではもうちょっとバッファを設けられるくらいのタスク量を分配してもらいたい
ちなみに上司の上長にあたる人に相談はしたものの、なにやら取り付く島もなかったらしい
とりあえずこの部署が自分の肌身にあわないことだけはめちゃくちゃわかるので、入社して3ヵ月だが部署異動を希望してもよいものか人知れず悩んでいるところ。
一度投稿したうえで別タブを開いてプログラム的(fetch)に送信してその別タブが閉じられる仕組み。
// ==UserScript==
// @name PGP未署名検出と別タブ自動編集
// @namespace http://tampermonkey.net/
// @version 1.0
// @description PGP署名がない投稿を自動編集ページへ誘導
// @match https://anond.hatelabo.jp/*
// @grant GM_setValue
// @grant GM_getValue
// @grant GM.openInTab
// ==/UserScript==
(function () {
'use strict';
const body = document.getElementById('entry-page');
if (!body) return;
const titleText = document.title;
if (!titleText.includes('dorawii')) return;
const pgpRegex = /BEGIN.*PGP(?: SIGNED MESSAGE| SIGNATURE)?/;
const preElements = document.querySelectorAll('div.body pre');
let hasPgpSignature = false;
for (const pre of preElements) {
if (pgpRegex.test(pre.textContent)) {
hasPgpSignature = true;
break;
}
}
if (hasPgpSignature) return;
const editLink = document.querySelector('a.edit');
const childTab = GM.openInTab(editLink.href, { active: false, insert: true, setParent: true });
})();
// ==UserScript==
// @name 編集ページ処理と自動送信・閉じ
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 編集ページで署名処理と送信、タブ自動閉じ
// @match https://anond.hatelabo.jp/dorawii_31/edit?id=*
// @grant GM_getValue
// @grant GM_xmlhttpRequest
// @grant GM_setClipboard
// @grant GM_notification
// @connect localhost
// ==/UserScript==
(async function () {
'use strict';
const shouldRun = await GM_getValue('open-tab-for-edit', '0');
const textareaId = 'text-body';
const textarea = document.getElementById(textareaId);
if (!textarea) return;
const content = textarea.value;
const pgpSignatureRegex = /-----BEGIN PGP SIGNED MESSAGE-----[\s\S]+?-----BEGIN PGP SIGNATURE-----[\s\S]+?-----END PGP SIGNATURE-----/;
if (pgpSignatureRegex.test(content)) {
console.log('[PGPスクリプト] 署名が検出されたためそのまま送信します');
return;
}
const httpRequest = (url, data) => {
return new Promise((resolve, reject) => {
GM_xmlhttpRequest({
method: 'POST',
url: url,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: `value=${encodeURIComponent(data)}`,
onload: function (response) {
resolve(response.responseText);
},
onerror: function (error) {
reject(error);
}
});
});
};
// textarea の値を取得
// 1. 現在のページのURLからURLオブジェクトを作成
const currentUrl = new URL(window.location.href);
// 2. ベースとなる部分 (例: "https://anond.hatelabo.jp") を取得
const origin = currentUrl.origin;
// 3. 'id' パラメータの値 (例: "20250610184705") を取得
const idValue = currentUrl.searchParams.get('id');
// 4. ベース部分とIDを結合して、目的のURL文字列を生成
// idValueが取得できた場合のみ実行する
let newUrl = null;
if (idValue) {
newUrl = `${origin}/${idValue}`;
}
// 5. 生成されたURLを変数に代入し、コンソールに出力して確認
console.log(newUrl);
const valueToSend = newUrl;
try {
const signatureText = await httpRequest('http://localhost:12345/run-batch', valueToSend);
console.log('バッチ応答:', signatureText);
if (!signatureText.includes('BEGIN PGP SIGNED MESSAGE')) {
alert('PGP署名がクリップボードに見つかりませんでした。');
return;
}
const newText = content.replace(/\s*$/, '') + '\n' + signatureText + '\n';
textarea.value = newText;
console.log('[PGPスクリプト] 署名を貼り付けました。送信を再開します。');
const form = document.forms.edit;
const newForm = form.cloneNode(true);
form.replaceWith(newForm);
newForm.addEventListener('submit', async (e) => {
e.preventDefault(); // HTML標準のsubmitをキャンセル
const bodyText = textarea?.value || '';
// reCAPTCHA トークンの取得
const recaptchaToken = await new Promise((resolve) => {
grecaptcha.enterprise.ready(() => {
grecaptcha.enterprise.execute('hoge', { action: 'EDIT' })
.then(resolve);
});
});
// POSTするデータの構築
const formData = new FormData(newForm);
formData.set('body', bodyText);
formData.set('recaptcha_token', recaptchaToken);
formData.set('edit', '1');
try {
const response = await fetch(newForm.action, {
method: 'POST',
body: formData,
credentials: 'same-origin'
});
if (response.ok) {
console.log('送信成功');
window.close();
} else {
console.error('送信失敗', response.status);
}
} catch (err) {
console.error('送信中にエラーが発生', err);
}
});
// プログラム的に送信トリガー
newForm.dispatchEvent(new Event('submit', { bubbles: true }));
} catch (e) {
console.error('バッチ呼び出し失敗:', e);
}
})();
const http = require('http'); const { exec } = require('child_process'); const querystring = require('querystring'); const server = http.createServer((req, res) => { if (req.method === 'GET' && req.url === '/ping') { res.writeHead(200); res.end('pong'); } else if (req.method === 'POST' && req.url === '/run-batch') { let body = ''; req.on('data', chunk => { body += chunk.toString(); }); req.on('end', () => { const parsed = querystring.parse(body); const value = parsed.value || 'default'; // 値を引数としてバッチに渡す exec(`C:\\Users\\hoge\\Desktop\\makesign.bat "${value}"`, { encoding: 'utf8' }, (err, stdout, stderr) => { if (err) { res.writeHead(500); res.end('Error executing batch: ' + stderr); } else { res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' }); res.end(stdout.trim()); } }); }); } else { res.writeHead(404); res.end('Not found'); } }); server.listen(12345, () => { console.log('Batch server running at http://localhost:12345/'); });
@echo off setlocal enabledelayedexpansion :: 署名するファイル名 set "infile=%~1" set outfile=%TEMP%\pgp_output.asc :: 以前の出力があれば削除 if exist "%outfile%" del "%outfile%" :signloop :: AutoHotkeyでパスフレーズ入力(gpgがパスワード要求するダイアログが出た場合に備える) start "" /b "C:\Users\hoge\Documents\AutoHotkey\autopass.ahk" :: PGPクリア署名を作成 echo %infile% | gpg --yes --clearsign --output "%outfile%" :: 署名が成功していればループを抜ける if exist "%outfile%" ( goto postprocess ) else ( timeout /t 1 > nul goto signloop ) :postprocess powershell -nologo -command ^ "$header = '>|'; $footer = '|<'; $body = Get-Content '%outfile%' -Raw; Write-Output ($header + \"`r`n\" + $body + $footer)" powershell -nologo -command ^ "$header = '>|'; $footer = '|<'; $body = Get-Content 'signed.asc' -Raw; Set-Clipboard -Value ($header + \"`r`n\" + $body + $footer)" endlocal exit /b
#Persistent #SingleInstance ignore SetTitleMatchMode, 2 WinWaitActive, pinentry SendInput password Sleep 100 SendInput {Enter} ExitApp
動けばいいという考えで作っているので余分なコードも含んでいるかもしれない。
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250613185036 -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEv1FQAKCRBwMdsubs4+ SHHkAQDUOLgBcdji2T6MJ7h/vlMdFfGlWAzNdXijjE1gIuEPywEAiMNMZqhrMmtl c7UqRuggNJ/UTa5xTIcKp622+7jJQQg= =Lgkl -----END PGP SIGNATURE-----
ようやく(ほぼ)すべてが自動化された。
あとはローカルサーバーの起動をスタートアップに設定する(方法をAIに聞いて指示に従う)だけの消化試合。
署名時要求してくるパスワードを自動入力するahkファイルはドキュメントのAutoHotkey配下に置いた。
バッチファイル(make.sign.bat)はデスクトップに置いた。
#Persistent #SingleInstance ignore SetTitleMatchMode, 2 WinWaitActive, pinentry SendInput お前のパスワード Sleep 100 SendInput {Enter} ExitApp
// run-batch-server.js const http = require('http'); const { exec } = require('child_process'); const server = http.createServer((req, res) => { if (req.url === '/ping') { res.writeHead(200); res.end('pong'); } else if (req.url === '/run-batch') { exec('C:\\Users\\you\\Desktop\\makesign.bat', (err) => { res.writeHead(200); res.end(err ? 'Error' : 'OK'); }) ; } else { res.writeHead(404); res.end('Not found'); } }); server.listen(12345, () => { console.log('Batch server running at http://localhost:12345/'); });
@echo off setlocal enabledelayedexpansion :: ミリ秒単位のUTC時刻を取得 for /f %%a in ('powershell -nologo -command "[int64]::Parse((Get-Date).ToUniversalTime().ToString('yyyyMMddHHmmssfff'))"') do set timestamp=%%a :: 署名するファイル名 set infile=%TEMP%\pgp_input.txt set outfile=%TEMP%\pgp_output.asc :: 以前の出力があれば削除 if exist "%outfile%" del "%outfile%" :: タイムスタンプを原文として保存 echo %timestamp% > "%infile%" :signloop :: AutoHotkeyでパスフレーズ入力(gpgがパスワード要求するダイアログが出た場合に備える) start "" /b "C:\Users\infini\Documents\AutoHotkey\autopass.ahk" :: PGPクリア署名を作成 gpg --yes --clearsign --output "%outfile%" "%infile%" :: 署名が成功していればループを抜ける if exist "%outfile%" ( echo [INFO] 署名成功 goto postprocess ) else ( echo [WARN] 署名失敗、再試行します… timeout /t 1 > nul goto signloop ) :postprocess :: PowerShellで余計な改行なしに |< をつけてクリップボードにコピー powershell -nologo -command ^ "$header = '>|'; $footer = '|<'; $body = Get-Content '%outfile%' -Raw; Set-Clipboard -Value ($header + \"`r`n\" + $body + $footer)" echo Done. signed.asc created and clipboard updated (no extra blank line). endlocal exit /b
// ==UserScript== // @name PGP署名自動付加スクリプト(GM_xmlhttpRequest版) // @namespace http://tampermonkey.net/ // @version 1.0 // @description 投稿前にPGP署名を付けてから送信(fetch未使用) // @match https://anond.hatelabo.jp/dorawii_31/edit* // @grant GM_xmlhttpRequest // @grant GM_setClipboard // @grant GM_notification // / @connect localhost // ==/UserScript== (function () { 'use strict'; const submitId = 'submit-button'; const textareaId = 'text-body'; const localServer = 'http://localhost:12345/run-batch'; const pgpSignatureRegex = /-----BEGIN PGP SIGNED MESSAGE-----[\s\S]+?-----BEGIN PGP SIGNATURE-----[\s\S]+?-----END PGP SIGNATURE-----/; const httpRequest = (url) => { return new Promise((resolve, reject) => { GM_xmlhttpRequest({ method: 'GET', url: url, onload: function (response) { resolve(response.responseText); }, onerror: function (error) { reject(error); } }); }); }; const interceptClick = () => { const btn = document.getElementById(submitId); if (!btn || btn.dataset.pgpIntercepted === 'true') return; btn.dataset.pgpIntercepted = 'true'; btn.addEventListener('click', async function (e) { const textarea = document.getElementById(textareaId); if (!textarea) return; const content = textarea.value; if (pgpSignatureRegex.test(content)) { console.log('[PGPスクリプト] 署名が検出されたためそのまま送信します'); return; } e.preventDefault(); e.stopImmediatePropagation(); console.log('[PGPスクリプト] 署名が見つからないため処理を停止し、署名を取得します'); try { await httpRequest(localServer); // バッチ実行 const signatureText = await navigator.clipboard.readText(); if (!signatureText.includes('BEGIN PGP SIGNED MESSAGE')) { alert('PGP署名がクリップボードに見つかりませんでした。'); return; } const newText = content.replace(/\s*$/, '') + '\n' + signatureText + '\n'; textarea.value = newText; console.log('[PGPスクリプト] 署名を貼り付けました。送信を再開します。'); btn.click(); // イベント再発火 } catch (err) { alert('PGP署名の取得または貼り付けに失敗しました。\n' + err); } }, true); }; window.addEventListener('load', () => { setTimeout(interceptClick, 1000); }); })();
プロミスメソッドとか全然まだ理解してなくてそのなかに関数代入したその関数にオブジェクトのプロパティにresponseを?いやまあそのあたりのコードが示すデータの流れが全然理解できないような人間でもここまでできちゃった。
AIすごいなと思うよ。そして思うのは今後重要になってくるのは文法とか自体に詳しいことじゃなくて、そのプログラムの処理内容を指示できるシステムエンジニア的な言語化能力のほうじゃないかなと思った。
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 20250609111559680 -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEbCbwAKCRBwMdsubs4+ SLueAPwOv7PBk4voAe5qlcCEvs/PJhmKc5QAb/1R43JMQFuDZgD/UTPEKsL/PhK9 jFGv2HDXK1dVjLNwvosgX9uYJh5xxwY= =qiOE -----END PGP SIGNATURE-----
ChatGPTにバッチファイルを作ってもらったのでこれからは署名が捗るぞ。これだけ手軽化できたらレスバに入っても署名つけるのも億劫にならずできそうだ。
なにせ文章を書き折ったらあとはバッチダブルクリックしてCtr+Vするだけだ。
名乗る人が増えることを期待して作らせたものを公開しておく。
@echo off setlocal :: ミリ秒単位のUTC時刻を取得 for /f %%A in ('powershell -nologo -command "[int64]::Parse((Get-Date).ToUniversalTime().ToString('yyyyMMddHHmmssfff'))"') do set timestamp=%%A :: PGPクリア署名を作成 echo %timestamp% | gpg --yes --clearsign > signed.asc :: PowerShellで余計な改行なしに |< をつけてクリップボードにコピー powershell -nologo -command ^ "$header = '>|'; $footer = '|<'; $body = Get-Content 'signed.asc' -Raw; Set-Clipboard -Value ($header + \"`r`n\" + $body + $footer)" echo Done. signed.asc created and clipboard updated (no extra blank line).
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 20250608045542542 -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEUXzgAKCRBwMdsubs4+ SCvuAQDjRjPVCO1F9DgmAKoqKYG7qB9r4e7y2Ky+/umT/OhnygEA8h2NL8zIczSp hcOk/MaDWJJ2Y7WDA3d6gxFakW8TKAw= =HE4/ -----END PGP SIGNATURE-----
投稿の属性(部分ツイート、読書感想文、マウント、音楽、男女分断、投資勧誘、数年前のネタの掘り返し等々)のみを表示して、実際の投稿内容本文は個人間でひっそりやりとり
やりとりを要ポイントにするとか
ああすべての文章を載せられるサイトは悪意あるコード置き場になりうる。特にrawが落とせたりすると便利すぎる。rentryとか(今はrawは単なるGETでは取ってきにくいように規制された。なんかトークンがいるみたいな)。
"たぬGきOさん".split("GO")で[たぬ, き, さん]を作ったりして難読化(splitの仕様キモすぎ)。さらにそれを16進数としてintにして、さらにその整数をcharとして表現するとコードになる。そいつで本命のコードを取ってきて(fetch)、そいつを実行
I've noticed a non-negligible number of people who have not only completed compulsory education in regular classes but have also received higher education and graduated from university, yet struggle with reading comprehension (understanding the meaning of text), cannot read long texts, and even have difficulty understanding videos.
When we limit the scope to individuals with broad cognitive challenges, the problem seems rather straightforward: they either "lack the ability to understand" or "take longer than usual to acquire the ability to understand."
Similarly, the case of individuals diagnosed with learning disabilities is relatively simple. While they may not have broad cognitive challenges, they require different approaches and training due to their unique learning styles.
However, it is perplexing that university graduates without broad cognitive challenges or diagnosed learning disabilities struggle to understand not only written text but also simplified video content.
I suspect that the underlying causes might include gaps in the horizontal transfer of experiences and knowledge, a severe lack of adaptability, and an extreme deficit in metacognition. Has there been any research on these issues? Additionally, could you please explain the concept of knowledge transfer?
(正規の学級で義務教育を修了し、さらに高等教育を受けて大学を卒業したにもかかわらず、読解力(文章の意味を理解する能力)に苦しみ、長文を読むことができず、さらには動画の理解にも困難を感じる人が少なくないことに気づきました。
認知能力に広範な課題を抱える個人に範囲を限定すると、問題は比較的単純です。「理解する能力がない」か、「理解する能力を獲得するのに通常よりも時間がかかる」かのいずれかです。
同様に、学習障害と診断された個人の場合も比較的単純です。彼らは広範な認知能力の課題を抱えていないかもしれませんが、独自の学習スタイルのために異なるアプローチとトレーニングが必要となります。
しかし、広範な認知能力の課題や学習障害を持たない大学卒者が、書かれたテキストだけでなく、簡略化されたビデオコンテンツの理解にも苦労していることは不可解です。
私は、その根本的な原因として、経験や知識の水平的転移の欠如、メタ認知の極端な欠如などが考えられるのではないかと疑っています。これらの問題に関する研究はありますか?また、知識転移の概念について説明していただけますか?)
Yes, research and analysis exist around the issues you described, particularly in the domains of education, psychology, and cognitive science. Let’s break down your observations and questions step by step:
Key Issues with Reading and Comprehension
1. Reading Comprehension Among Educated Individuals
• This phenomenon—educated individuals struggling with comprehension—is indeed perplexing, especially given their presumed exposure to a variety of learning materials. It suggests that education systems sometimes emphasize rote learning and surface-level knowledge acquisition over deeper understanding, critical thinking, and metacognition.
• Horizontal Transfer Gaps: This refers to the inability to apply knowledge or skills learned in one context to another. For example, someone might excel in a university course focused on memorization but fail to apply that knowledge in practical or less structured contexts.
• Severe Lack of Adaptability: Adaptability involves applying problem-solving and comprehension skills to unfamiliar formats or media. A lack of adaptability can result from a curriculum that prioritizes familiarity and routine over exploratory learning.
• Deficits in Metacognition: Metacognition is the ability to “think about thinking”—to reflect on, monitor, and regulate one’s own learning. If metacognitive skills are underdeveloped, individuals might struggle to evaluate the meaning of texts or videos, even if they have the raw intellectual ability.
Research Insights
1. Knowledge Transfer
The concept of knowledge transfer involves applying skills, knowledge, or strategies learned in one context to another. It is often classified into:
• Horizontal Transfer: Applying knowledge across similar contexts (e.g., using concepts learned in a biology course to understand a medical text).
• Vertical Transfer: Building upon foundational knowledge to understand more complex ideas (e.g., using basic algebra to solve advanced calculus problems).
Studies suggest that transfer is more likely to occur when:
• Learners deeply understand underlying principles, not just surface details.
• Connections between different contexts are explicitly taught and reinforced.
• Learning environments often emphasize task-specific skills rather than generalizable strategies.
• Standardized testing may encourage rote memorization over critical thinking.
• Lack of explicit instruction in how to generalize knowledge to new situations.
Research highlights the importance of metacognition in learning. Students who are unaware of their own comprehension limitations are less likely to engage in corrective strategies (e.g., rereading, seeking clarification). This can lead to stagnation in comprehension skills despite formal education. Effective interventions include:
• Teaching self-monitoring techniques.
• Encouraging reflective practices, like summarizing or questioning during reading.
4. Cognitive Overload in Multimedia
Even videos, if not designed properly, can overwhelm learners. The Cognitive Theory of Multimedia Learning suggests that excessive extraneous information or unclear organization in videos can overload working memory, hindering comprehension.
Strategies and Research-Based Solutions
1. Improving Knowledge Transfer
• Active Learning: Techniques such as problem-based learning or case studies can improve transfer by encouraging the application of knowledge to new situations.
• Teaching for Understanding: Encouraging learners to focus on “why” and “how” questions fosters deeper comprehension and the ability to generalize learning.
• Encourage learners to engage with unfamiliar formats and topics to build flexibility.
• Develop problem-solving skills in diverse and unpredictable contexts.
3. Developing Metacognitive Skills
• Self-Regulated Learning Training: Programs that teach students to plan, monitor, and evaluate their learning have shown success in improving comprehension.
• Feedback Loops: Providing actionable feedback on comprehension tasks encourages learners to reflect on their thinking processes.
The issues you describe highlight a gap between formal education outcomes and true comprehension or learning ability. Addressing these challenges requires systemic changes, including incorporating metacognition training, emphasizing transferable learning, and fostering adaptability.
If you’d like, I can delve deeper into specific research studies or provide examples of programs addressing these issues.
This is a fascinating and concerning observation that touches on several important areas of cognitive psychology and education. Let me address this systematically.
First, regarding knowledge transfer and metacognition: Knowledge transfer refers to the ability to apply knowledge, skills, or strategies learned in one context to new situations. It's closely related to metacognition - our ability to understand and monitor our own thought processes.
Research in this area has revealed several key findings:
David Perkins and Gavriel Salomon's work in the late 1980s and early 1990s identified two types of transfer:
A significant study by Brown, Collins, and Duguid (1989) in "Situated Cognition and the Culture of Learning" highlighted how knowledge often remains "inert" - students can pass tests but fail to apply knowledge in real-world contexts.
The phenomenon you're describing aligns with what cognitive scientists call the "transfer problem." Despite years of education, many individuals struggle to apply their learning in new contexts or integrate information across domains.
Some relevant research directions:
1. Cognitive Load Theory (Sweller et al.)
Shows how working memory limitations affect learning and transfer. Many students may never develop effective strategies for managing cognitive load, leading to poor comprehension of complex materials.
2. Reading Comprehension Studies
Work by Pressley and Afflerbach on "verbal protocols" revealed that skilled readers use multiple strategies simultaneously, while poor readers often lack these metacognitive tools.
3. Domain Integration Research
Studies by Susan Goldman and others have shown that even advanced students often fail to connect knowledge across domains, treating each subject as an isolated "silo."
Your observation about university graduates struggling with comprehension despite no apparent cognitive disabilities might be explained by several factors identified in research:
1. Surface-level Learning: Many educational systems reward memorization over deep understanding
2. Limited Strategy Instruction: Students often aren't explicitly taught comprehension strategies
3. Fragmented Knowledge: Information is typically taught in isolation without emphasis on connections
4. Weak Metacognitive Skills: Students may never develop the ability to monitor and regulate their own understanding
Some promising approaches to address these issues include:
1. Strategy Instruction Models
Teaching explicit strategies for comprehension, integration, and transfer. The Self-Regulated Strategy Development (SRSD) model has shown particular promise.
2. Knowledge Integration Frameworks
Approaches like Knowledge Integration Environment (KIE) help students connect ideas across domains.
3. Metacognitive Training Programs
Programs focusing on developing metacognitive awareness and self-regulation skills.
Since you asked about studies, I should note that while I've referenced several important works, you should verify these citations as I don't have direct access to current databases and could be misremembering details.
Would you be interested in exploring any particular aspect of this issue in more detail? For instance, we could delve deeper into specific instructional strategies that have shown promise in developing transfer abilities, or examine the relationship between metacognition and knowledge transfer more closely.
giant humanoid robot, white armor with blue chest and red accents, iconic V-shaped yellow crest on its head, mechanical details, intense and determined expression, large metallic feet, standing upright facing forward, futuristic military design, holding a large beam rifle in one hand, shield attached to the other arm, sci-fi city background, realistic and detailed, high quality, 8K, cinematic lighting, sharp focus, --no text, watermark, blur, low quality, cropped image, extra limbs, deformed, bad anatomy --chaos 30 --ar 1:1 --style raw --personalize itwx2ri --stylize 50 --weird 900 --v 6.1
生成AIの絵づくりは、しょせんは絵を描いてるのではなく、学習と称した参照先(膨大な参照先)の画像のパーツをよしなに切り貼りしているの延長に過ぎないことが、よくわかる。
まずな?プロはマニュアルしか使わないなんて嘘だ。特に動体撮影する連中は逆にオートフォーカスしか使わん。スポーツ写真でもアイドルのライブ写真でもオートフォーカスが基本。
そしてSONYの正直に言ってマニュアルフォーカスは使いにくく、マニュアルフォーカスの扱いやすさで言えばキヤノンが優勢だ。なぜかって?家電量販店で試してこい。マニュアルフォーカス時のユーザーインターフェースの時点で出来が違うから。
SONYはなオートフォーカスがすべてだ。キヤノン党やニコン党やフジ党に聞いてみろ。口を揃えて「SONYのオートフォーカス"だけ"は敵わないっすねぇ」って言うから。
SONYがはじめてカメラでSONYのオートフォーカスが当たり前になってみろ。他社へ乗り換えた際に「遅っ!!」「えっなんで認識しねぇの!?」となるのは確実だ。
動画撮影機能も家電メーカーだけあって優れており、その辺りのバランスの良さからSONYカメラは子供が生まれた新米パパに人気になっている。購入年齢層が本当にそれなのである。若者やYoutubeで人気なのはこういう万能的なカメラだし実際に売れてる。
白飛びしやすいというのは些か語弊があり、露出オーバー気味・・・つまりは明るく写そうとする傾向があるのだ。だから明暗差の大きい例えば室内の窓から屋外の景色を写そうとすると盛大に白飛びする。
しかしこれは他社でも明暗差の大きいシチュエーションでは同じでキヤノンはその傾向が強めに出ると思えば良い。何でもかんでも白飛びするわけでないので大げさに心配する必要はない。
キヤノンと言えば人肌と言われるほど人物撮影が得意と言われている。この評価は確かにそうだが実際には発色が良いと表現したほうが適切だ。
キヤノンは現実世界の色味をそのまま出すのではなく人間が綺麗だと感じたり、過去の思い出の中で振り返る美しい景色などの色味、いわゆる「記憶色」で写すメーカーなのだ。
だからこそ雑誌やインターネットで見たような色味の写真を撮りたいみたいな需要にマッチする。iPhone的と言えばiPhone的だが、むしろ逆でiPhoneがキヤノンのパリッとした発色をソフト処理で真似てる。コンピュテーショナル・フォトグラフィーってやつだな。
あとファインダーを覗くと視線でオートフォーカス対象を決定できる機能がメチャクチャ凄いので、家電量販店でマニュアルフォーカス試すついでにやってみると良い。むしろコッチのほうが感動する人は多いハズ。
ニコンは純正レンズだ!ニッコールだ!レンズ性能が他社よりも1歩2歩進んでいて、その光学性能はカメラメーカーというかレンズメーカーの中でも随一だと言って良いだろう。双眼鏡も単眼鏡も望遠鏡もニッコール!
オートフォーカスが弱い?いやそれは化物オートフォーカスのSONYと視線オートフォーカスのキヤノンと比べるのが悪いのであって、こういうこと言う輩はRICHO GRシリーズとか使ったこと無い輩なので聞く耳持たなくて良い!下には下が居るぞ!RICHO GRシリーズユーザーでGRのオートフォーカス信用してるヤツに俺は会ったことがないからな!(笑)
ニコンの色味は現実に合ったナチュラルカラーの「自然色」だ。とは言っても大半のカメラマンはRAW現像してしまうので一発で決まった色味の出るキヤノンと比較するならばRAW現像前とRAW現像後の比較がしやすいのがニコンだな!キヤノンは撮った時点のものがもうコレで良いんじゃね?となりがちだ!
RAWファイルをギリギリまで追い込んで遊びたい!みたいなヤツはニコンの方が楽しいかもな。面倒臭いから一発で良い感じの出せって言うならキヤノンの方が良く、子供やペットを追いかけ回して写真も動画も何でもやりたい!ならSONYだ。
あぁちなみにだが写真機としてのボディ形状やボタン配置などは好みの差はあるもののSONYよりもキヤノンやニコンの方が優れていると言うカメラマンは多いし実際に俺もそうだと思う。
もうハッキリ言おう!こいつは動画機だ!写真機としてはまだまだ未完成だ!いやぁ惜しいんだけどな!キヤノンやニコン、SONY、富士フイルムの完成度と比較しちゃうとなぁ……。
しかし動画機と見ればかなり良い。手ブレ補正は効きまくりだしYoutube全盛のインターネットで相当にマッチしていると言って良い。動画がメインで写真はオマケっていうヤツが買え!
でも昨今の機種に搭載が始まっているユーザーが色味を自由自在に出来てしまうリアルタイムLUTは非常に楽しい機能なので、リアルタイムLUTのためだけにパナにするってのもナシではない。
中判というどデカいイメージセンサーを搭載しているカメラを販売しているが主力は中判よりも小さいフルサイズよりも小さいAPS-Cイメージセンサーを搭載したカメラだ。
APS-Cよりも小さなマイクロフォーサーズ搭載カメラにも言えることだが、カメラもレンズも小型軽量なのは正義ですよ。持ち歩く気になるか?ってのはカメラ趣味にとって大きな要素なのです。
だからこそ言いたい女性諸君!キミたちのカメラはコレですよ!中判とかフルサイズとかデカくて重いしさ、結局のところ男が使うことを想定してるんだもの女性の手や体格じゃ中判やフルサイズはキツイって!
ジジイもさ女性モデルさんにカメラ持たせて雑誌レビューしたことあるが、中判やフルサイズなんてモデルさんの顔面と同じくらいのサイズあるんだよ?ポーズ取って貰うんだけど重くてツラそうなの!実際に重いんだってさ!
そこでAPS-Cに本気な富士フイルムですよ!ついでにマイクロフォーサーズを本気でやってるPanasonicですよ!これのレビューのときはねモデルさんも楽なんだよ!フルサイズのカメラレンズなんて女の子の拳よりもデカいんだからね?APS-Cはそんなことない!
APS-Cサイズ感がちょうど良くて、更にフィルムメーカー富士フイルムがこだわる色味で撮影できるわけですよ。オートフォーカスの効きもそこそこ良いし動画だって撮影できる。ボディ筐体のデザインもレトロでおしゃれだ。コスプレイベントでも富士フイルムの女の子カメラマン見たこと結構あるぞ!
ちなみにだがジジイのカメラはキヤノン EOS R3、SONY α7CR、ニコン Zf、富士フイルム X-T5、RICOH GR3x、Leica M11です。R3はしっかりした仕事以外で使いたくねーから普段はそれ以外の気分で持ち歩いてる。