はてなキーワード:Pushとは
VPN またはリモートデスクトップソリューションを提供しているかどうかを確認します。これにより、キャン内のリソースに安全にアクセスできるようになります。
クラスター上のオペレーティングシステムとインストールされているソフトウェア (Ubuntu、MPI、SSH など) を特定します。
VPNアクセスを提供しているかどうかを確認します。提供している場合は、必要な資格情報を取得します。
カスタムセットアップの場合は、ワーク内のゲートウェイシステムでOpenVPN または WireGuard を構成します。
ファイアウォールがVPNポートを許可していることを確認します (OpenVPN のデフォルトは 1194)。
PCクラスターにSSH をインストールして有効にします (`sudoapt install openssh-server`)。
SSHキーペアを使用してパスワードなしのアクセスを構成します:
```bash
```
Termius、JuiceSSH (電話/タブレット用)、MobaXterm (ラップトップ用) などのターミナルアプリをインストールします。
GUIアプリケーション用にX11転送を設定します (`ssh -Xuser@remote-host`)。
許可されている場合は、IP が変更されてもクラスターにアクセスするための安定したホスト名を取得するためにDDNS を設定します。
シームレスなコラボレーションと同期のために、リポジトリをクラスターにプルします。
まだ利用できない場合はGit をインストールします (`sudoapt installgit`)。
`git pull` と `gitpush` を使用して、ファイルを最新の状態に保ちます。
クラスターにPython と Matplotlib をインストールします。
オプションで、対話型プロット用に Jupyter Notebook を設定します。
ADP 4-0
Chapter 1では、持続可能性 (Sustainment) の概念と、その軍事作戦における重要性について説明されています。
持続可能性とは、作戦の成功を確実にするために、部隊に必要なサポート(物資、兵站、人員、医療支援など)を提供すること を指します。
持続可能性は、作戦の自由度を確保し、作戦範囲を拡大し、持久力を高める ために必要不可欠。
持続可能性の効果的な提供は、部隊の即応性 (Readiness)、作戦の有効性、長期的な成功 に影響を与える。
持続可能性は、陸軍の統一陸軍作戦 (UnifiedLand Operations, ULO) の一部として機能。
作戦環境は競争 (Competition)、危機 (Crisis)、紛争 (Conflict)、安定 (Stability) の4つのフェーズに分類され、それぞれのフェーズで異なる持続可能性の要求が発生する。
統合 (Integration) - 持続可能性を作戦全体に統合する。
予測 (Anticipation) - 将来の需要を予測して準備する。
即応性 (Responsiveness) - 変化に対応し、適切な支援を提供する。
単純性 (Simplicity) -効率的な計画と管理を行う。
生存性 (Survivability) -兵站・医療支援などの持続可能性の要素を保護する。
継続性 (Continuity) -支援が途切れないようにする。
即興性 (Improvisation) -予測不能な状況に柔軟に適応する。
兵站 (Logistics) -補給、輸送、整備、インフラ整備など。
人的サービス (Personnel Services) - 人事管理、財務管理、宗教支援、リーガルサポートなど。
医療サービス支援 (Health Service Support) -医療補給、患者処置、医療輸送など。
持続可能性は、軍事作戦の成功を支える重要な要素であり、その計画と実行は 「8つの原則」と「3つの主要要素」 に基づいて行われる。戦場の状況に適応しながら、継続的に支援を提供することが、勝利への鍵となる。
Chapter 2では、持続可能性の3つの主要要素である兵站 (Logistics)、人的サービス (Personnel Services)、医療サービス支援 (Health Service Support) について詳しく説明されています。
それぞれの要素がどのように機能し、軍事作戦の成功に貢献するのかが解説されています。
兵站は、部隊の運用を支えるために物資やサービスを提供する機能 であり、以下の主要分野に分類される。
クラス I: 食料、水
クラス II: 衣類、装備
必要な物資を適切なタイミングで部隊に供給するためのシステム。
陸軍は プッシュ型 (Push) と プル型 (Pull) の2種類の補給方式を使用。
陸上、空中、海上輸送を組み合わせて、兵員・物資を適切な地点に移動させる。
戦術輸送 (Tactical Transportation) と戦略輸送 (Strategic Transportation) に分類。
現場レベルの修理 (Field Maintenance) と拠点レベルの修理 (Depot Maintenance) に分類。
基地建設、橋の架設、道路の補修など、部隊の運用を支える工兵作業。
新たに戦域へ展開する部隊をスムーズに作戦地域に統合するためのプロセス。
人的サービスは、部隊の士気・福祉・法的保護などを提供し、長期的な戦闘持続力を高める。
兵士とその家族の士気向上のための施設やプログラム(娯楽、スポーツ施設、教育プログラムなど)。
医療サービス支援は、兵士の健康を維持し、負傷者の治療・後送を行う ことを目的とする。
戦域病院 (Role 3 & 4) -重症患者の治療と本国送還
持続可能性の3つの主要要素(兵站、人的サービス、医療サービス支援)は、それぞれ異なる役割を持ちながら、統合的に機能することで部隊の戦闘持続力を最大化 する。
兵站は物理的な補給・輸送を担当し、人的サービスは士気や法的支援を提供し、医療支援は兵士の健康と戦闘継続能力を確保する。
これらの要素が適切に機能しなければ、作戦の成功は困難となる。
Chapter 3では、持続可能性がどのように軍事作戦に統合され、実行されるのか について説明されています。
持続可能性の作戦は、戦略・作戦・戦術の各レベルで実施され、部隊の即応性と持続力を確保する役割を果たします。
持続可能性の作戦は、戦略 (Strategic)、作戦 (Operational)、戦術 (Tactical) の3つのレベルで展開される。
国防総省 (DoD) の指揮のもと、持続可能性の全体計画を策定
グローバルな兵站ネットワークの管理(補給拠点、輸送ルートの確保)
例: 戦域への戦略輸送、燃料供給ルートの確保、大規模な装備生産・補給
戦域で持続可能性を確保するために、以下のシステムが活用される。
戦域持続可能性コマンド (Theater SustainmentCommand,TSC): 戦域全体の兵站・補給活動を統括
持続可能性旅団 (SustainmentBrigades):作戦地域内での兵站・輸送・医療支援を管理
戦闘部隊支援大隊 (Combat Sustainment Support Battalions, CSSB):最前線への補給・支援を担当
戦略拠点 (StrategicBase):本国や同盟国の補給基地
戦域持続可能性拠点 (Theater SustainmentBase): 戦域内の主要補給拠点
前進補給拠点 (ForwardLogisticsBase):前線部隊に最も近い補給拠点
戦略輸送 (StrategicLift):海上・航空輸送を使用して戦域に物資を送る
作戦輸送 (Operational Movement): 戦域内の部隊や物資の移動
戦術輸送 (Tactical Resupply):前線部隊への弾薬・燃料・食料の輸送
近年の軍事作戦では、陸・海・空・宇宙・サイバー領域が統合された「多領域作戦 (MDO)」 が重要視されている。
分散型補給 (Distributed Sustainment):兵站拠点を分散し、攻撃に耐えるシステムを構築
自律型輸送 (AutonomousLogistics):無人車両・ドローンを活用した物資輸送
サイバー防御 (Cyber Resilience):兵站ネットワークの防御を強化
持続可能性作戦は、統合戦力 (Joint Force)、多国籍軍 (Multinational Forces)、民間機関と連携して計画・実行 される。
統合兵站システム (JointLogisticsEnterprise, JLEnt) による全体管理
持続可能性司令部 (SustainmentCommand) の調整 による迅速な意思決定
持続可能性は、戦略・作戦・戦術の各レベルで統合的に実施される必要がある。
陸軍は戦域持続可能性システムを活用し、補給・輸送・医療支援を効果的に提供 する。
具体的に言うなら、例えばExcelマクロと同じで、書いた人間が会社辞めたとか、部署を移動になったとか、
何らかの業務を自動化するスクリプト、RPAで言えばシナリオか、をどう管理するかが問題になる
全員がプログラマーとか、プログラミングの素養があるとか、開発現場だったら、
業務を自動化するシェルスクリプトとか、なんかPythonなりPHPなりなんでもいいけど、
やっつけで書いた自動化も喜ばれるんだよ、書いた人いなくなっても、なんとか再利用できるだろうという雰囲気がある
でも、そうでない現場、文系人間しかいない現場になると、例えば上司が拒否反応を起こす
自分に理解できないものをやられると、ものすごく恐怖を感じるのだと思う
上司だけでなく、プログラミングの素養がない人たちが多数派の現場のみんながそうだと思った方がいい
仮に私が書いたとして、それが便利だとしても、おまえがいなくなったらどうするんだ?そんなブラックボックス書くな!という反応をされる
あと、自動化のスクリプトやRPAのシナリオを外注するにしても、タイムラグがあるし、現場と外注とのコミュニケーションコストとかバカにならない
プログラムを書く側からすると凄く腹立たしいのだけど、意外と文系の職場って、自分がやってる業務のワークフローさえ分かってない現場があったりする
自分の担当のことしか知らない、自分の範囲を毎日やってればいいと思ってる
例えば、Aさんの仕事とBさんの仕事がデッドロックするとか、そういう複雑な関係をちゃんと論理的に考えて、全体を論理的に把握してる人が一人もいない
こちらからすれば、正直あたおかと思ってしまうが、そうやって毎日働いている人たちがいるのである
そうなると、要は仕様書が書けない、ちゃんとした仕様書が書けない、作れない
じゃあ、外注側で仕様書も作ります、と言って、調査というかインタビューというか聞き込みみたいなのしても、外注としても全体像が見えない
そうやってるうちに、ワークフロー自体がそもそもおかしいのではないか、業務自体がおかしいのではないか、みたいな現場の問題点に気付いたりする
しかし、おたくの業務、おかしいですよ、みたいに指摘しても、相手は激怒するか、無視するか、とにかくこれまで通りの毎日を送りたい、みたいな話になる
開発現場だったらそんなことはない
なんか自動化したいな、とまず自分の仕事を自動化する、シェルスクリプトを書くとか、Pythonとか、自分ならPHPでWeb関係ない処理も書けるので書いてしまうかもしれない
それを会社で借りてるGitHubなり、なんなりにpushして公開しておけば、誰かが見るだろうし、使ってもくれるだろう
ああ、そうそう
Excelのマクロとか、RPAのシナリオとか、Gitのようなバージョン管理を前提としてないものは、ファイルをコピーしてファイル名に日付を書き加えたりして、
いや、ファイル名も書き換えるのが面倒だからって、~のコピー、~のコピーのコピー、みたいなファイルがファイル共有サーバのフォルダーの中に大量に入ってたりして、
あー、雑な仕事とか管理してる会社ってみんなそうなんだけど、ファイル共有サーバーになんでも放り込んでカオスになってたりするよね
ファイルシステムじゃなくて、なんらかのバージョン管理のシステム下に放り込むなら管理できるんだけど、
駄目な会社って、みんなExcelファイルに何でも書いて、それをファイル共有サーバーに置いて、そのファイルを同時に開きたい人が複数いるけどロックされるとか、そんなことばっかりやってるんだよね
なんか愚痴ばかりで支離滅裂になってしまったけど、悪いことは言わない
RPAなんか使わない方がいい
何ならExcelマクロも使わない方がいい、マクロ作っても電卓で計算しろみたいな笑い話があるけど、自分はあながち間違ってないと思う
上司とか、偉い人が理解できないことをすると、反発を招くだけだし、マクロを作った人がいなくなったけど、マクロの挙動がおかしい気がするとか、どうせ対処できなくなる
まあ、使ってみれば分かる
外注にRPAのシナリオ作らせるにしても、お試しに何か仕様をまとめて、作ってもらって、それをまた直してもらって、みたいなサイクルを試しにやってみれば分かる
そして、良くならない理由の多くは、RPAに問題があるんじゃなくて、RPAを導入しようとか甘い見積もりをしている企業側にある
自分としては、そういったことを解決できるのは、これからの生成AIのような技術だと思ってる
それはRPAのシナリオを作るとか、外注に作らせるとか、プログラミングの素養が必要だとか、そういうことが一切なくなった世界になるからである
リリース日前日
Aさん「なんですかこれは。外してください。こんなのリリースできません。生地をこねて、バターを塗って焼いて、焼き印を入れれて、シロップをかけて箱に入れて発送する寸前なんです。」 ←???
Aさん「やめてください!やめて!いいかげんにして!!!」 ←ヒステリー発言
Aさん「よかった。ありがとう」 ←彼が何をpushしたか確認してますか?
Bさん「出さないといけないのでHOGEはのこしてます」 ←なんなんだよお前は
Aさん「やめてーーー!!!おねがい!私もう無理なの!!他の日に出して!」 ←意味不明なキレ方をするな
これがアジャイルです
事前に調整せずおもうがままに開発をする
いつでも好きな時に好きなことができる!
いっぱいあるとわかんなくなるよね
でもわかるようにかんたんにするとまちがっちゃうからがんばろうね
実物的要因
戦争や産業構造破壊により、供給が需要を大幅に下回ることによって発生するインフレーション。第二次大戦終戦後の日本では、1945年の水準からみて1949年までに約70倍(約6900 %)というハイパーインフレーション[注釈 1] となった[13]。
また、ジンバブエでは、政策により白人農家が国外に追い出され農業構造が破壊されたところに旱魃が追い討ちをかけたことにより極度の物不足が発生、最終的に2億3000万%という超ハイパーインフレーションとなった[14]。
需要側に原因があるインフレーションで、需要超過インフレーション(需要牽引型インフレーション、ディマンドプル・インフレーション、demand-pull inflation)とも呼ばれる。需要の増大(需要曲線の上方シフト)により、価格が高くても購買意欲が衰えないので物価は上昇する。この場合、供給曲線が垂直である(すなわち価格の変動によって供給量が変化しない)場合を除いて景気はよくなる。
1973年から1975年にかけての日本のインフレ要因は、オイルショックに注目が集まるが、変動相場制移行直前の短資流入による過剰流動性、「列島改造ブーム」による過剰な建設需要も大きな要因である[要出典]。
供給曲線の上方シフトに原因があるインフレで、原価上昇インフレーション(コストプッシュ・インフレーション、cost-push inflation)とも呼ばれる。多くの場合、景気が悪化しスタグフレーションか、それに近い状態になる。通常為替レートが下落すると、輸入物価が上昇してインフレを引き起こすと同時に、企業が抱える外貨建ての債務の返済負担が膨らむ[15]。
原価上昇は総供給が上方にシフトするので、実質GDPは減少する[16]。一方で、需要超過は総需要が上にシフトするので、実質GDPは増加する[16]。つまり、実質GDPの動きで原価上昇か需要超過かは判別できる[16]。景気の過熱によって物価が上昇しているのかどうかを判断するには、消費者物価指数ではなくGDPデフレーターを見なければならない[17]。
賃金・材料等の高騰によって発生する。原油価格の高騰によるインフレーションや消費増税によるスタグフレーションが典型的な例である。
産業によって成長に格差がある場合、生産性の低い産業の物価が高くなり発生する。例えば効率の良い製造業で生産性が上がり賃金が上昇したとする。これに影響を受けてサービス業で生産性向上以上に賃金が上昇するとサービス料を上げざるを得なくなるため、インフレーションを招く。
輸出インフレーション
輸出の増大により発生する。企業が製品を輸出に振り向けたことにより、国内市場向けの供給量が結果的に減って発生する。幕末期に生糸などの輸出が急増し、インフレーションが発生している。このパターンは乗数効果で総需要が増大しているため、需要インフレの側面もある。
他国の輸入を通じて国外のインフレーションが国内に影響し発生する。例えば穀物を輸入していた国が、輸出元の国の内需が増加したり輸出元が他の需要国へ輸出を振り分けた場合などに穀物の輸入が減少し、穀物価格が上昇するといった具合である。実際に中国が穀物純輸入国に転じた際、トウモロコシ市場で価格急騰が起きたことがある。
賃金や物価統制を行っている体制が、市場経済に移行する際に発生することが多い。米国および日本で1970年代にかけて発生した。欧州では冷戦の終結および欧州中央銀行(ECB)拡大による東欧諸国の自由主義諸国への経済統合により、低賃金諸国での賃金・サービス価格の上昇によるキャッチアップインフレが発生している[18]。
貨幣の供給量が増えることによって発生する。貨幣の供給増加は、他のあらゆる財・サービスに対する貨幣の相対価値を低下させるが、これはインフレーションそのものである。さらに、貨幣の供給増加は貨幣に対する債券の相対価値を高めることになり名目金利を低下させる。このため通常は投資が増大し、需要増大をもたらす。そのプロセスが最終的に、需要インフレに帰結することでもインフレーションに結びつく。公開市場操作などの中央銀行による通常の貨幣供給調節以外に、貨幣の供給が増える特段の理由がある場合には、「財政インフレ」「信用インフレ」「為替インフレ」などと呼んで区分けることもある。
政府の発行した公債を中央銀行が引き受けること(財政ファイナンス、マネタイゼーション)により、貨幣の供給が増加して発生するインフレーション[19]。金融政策を経由した効果に加えて、財政政策による有効需要創出効果によって需要インフレも発生する。
信用インフレーション
市中銀行が貸付や信用保証を増加させることによって信用貨幣の供給量が増大することから発生するインフレーション。
外国為替市場を経由して通貨が大量に供給されることで発生するインフレーション。戦前の金解禁における「為替インフレーション論争」を特に指す場合もある[20][21][22][23]。なお、当時は固定相場制であり、現在の変動相場制とは、外国為替市場の動きが貨幣供給量に与える影響が異なることに留意が必要である。
当方アラフォープログラマー。Gitはターミナルで使っている。
若手から「PRマージしようとしたらconflictしてるので解消方法教えてください。」と言われ見たのだが使ってるのがGitHubDesktop。
どうやら最新化してないmainからbranchを切っていたのが原因だったようで、まず手元のmainを最新化しようとしたのだが、そもそもどこでgit fetch,git pullできるか分からない。
若手にfetchしてと言っても若手もピンときてない。
よく分からないのでググってみるが、見た目が違うものが出てきてよく分からない。
30分くらいあれやこれや調べたが結局よく分からなかったので、こちらで巻き取って手元のターミナルでrebaseしてpushし直して2分程度で解消。
もちろんこちらがGitHubDesktopに慣れてないのもあるし、「CLIこそ至高!」とか言ってるのは老害感あると思うが、それにしてもGitHubDesktopの非直感的なUIと、ググっても全然使い方、特にconflict解消のような困ったときどうすればいい系情報が全然出てこないのはコマンドのGit使うよりよっぽど難易度が高いのではと思ってしまった。
GitHubDesktop利用者で読んだ人いたらぜひ「ここに載ってるよ。これだからCLI中の老害プログラマーは…」などコメントほしい。
そんな手作業でやらなくてよいぞ
これで思う存分やりなさい
(function() {
const data = [];
$$('span.hatena-star-inner-count').map(x => x.click());
$$('.js-bookmarks-recent .entry-comment-contents').map(content => {
constuserName = content.getAttribute('data-user-name');
const comment = content.querySelector('.entry-comment-text')?.textContent;
content.querySelectorAll('a.hatena-star-star').forEach(a => {stars.push(a.href.split('/')[3]); })
data.push([userName, comment,stars]);
});
data.sort((a,b) => b[2].length - a[2].length);
copy(data.map(d => `| ${d[0]} | ${d[1]} | ${d[2].join(',')} |`).join("\n"));
})();
はてな界隈でブラウザバック広告の仕組みを解説してくれている記事が注目されてますね!
かくいう増田もネットサーフィン()をしていると、やれ全画面で動画が流れたり、やれどこか分からないところで音声付き動画広告が流れて辟易している1人です。当然ブラウザバック広告も鬱陶しいことこの上ない!(※個人の感想です)
そこで、PV数が多い雑誌社のwebサイトを調べ、例のスクリプトを呼び出していないか簡単に調査してみました。
・上位20サイトのうちoutbrain.jsを呼び出しているのを確認できたのは4サイト
・ただ、outbrain.jsを呼び出していてもブラウザバック機能をハックした挙動が再現しなかったサイトもあるため、一概にだめとも言えない可能性あり(再現したのは1サイトのみ)
・outbrain社自体はwebメディアにとって収益をダイレクトにもたらしてくれるパートナー企業であり、必要なサービスであると思う
・とはいえ、よろしくない挙動をする可能性があるスクリプトを呼び出すのは気持ち悪いので結果を以下に書いておきます
https://www.jabc.or.jp/news/abc_report/2024/06/03_3740.html
ブラウザ:microsoft Edge (各種アップデートは実施済み)
①google検索でサイト名を検索し、検索結果1位のトップページを開く
③開いたページでedge開発者ツールを開き、「outbrain」の文字列がページ内の要素に含まれているか確認
④△or×のサイトはiOS(iPhone)のsafariでブラウザバック乗っ取りが再現するか確認
サイト名 | outbrain.js | 備考 | 再現 |
---|---|---|---|
現代ビジネス | 該当無し | ||
文春オンライン | 該当無し | ||
WEB女性自身 | 該当無し | ||
SmartFLASH | 該当無し | ||
週刊女性PRIME | △ | outbrain.jsは無いがoutbrain.comへのリンクあり | 再現せず |
デイリー新潮 | 該当無し | ||
FRIDAYデジタル | 該当無し | ||
NEWSポストセブン | × | outbrain.js呼び出している | 再現もしました |
PRESIDENT Online | 該当無し | ||
NumberWeb | 該当なし | ||
東洋経済オンライン | △ | window.datalayer.push内に'boostOutbrain'という項目あり | 再現せず |
AERA dot. | 該当なし | ||
ダイヤモンド・オンライン | 該当なし | ||
日刊SPA! | 該当なし | ||
集英社オンライン | ×(△?) | outbrain.js呼び出している | 再現せず |
ESSE online | △? | log.outbrainimg.comのリンクあり | 再現せず |
CHANTOWEB | 該当なし | ||
女子SPA! | 該当なし | ||
ゲキサカ | ×(△?) | outbrain.js呼び出している | 再現せず |
webSportiva | ×(△?) | outbrain.js呼び出している | 再現せず |
impress watchにも多数のサイトがあるので一応抜粋して調べてみました
Impress Watch | × | outbrain.js呼び出している |
PC Watch | × | outbrain.js呼び出している |
ケータイWatch | × | outbrain.js呼び出している |
こどもとIT | × | outbrain.js呼び出している |
窓の杜windowsforest | 該当なし |
なぜか窓の杜だけ例のスクリプトを呼び出している形跡はなし、、
そうじゃなくてクソコードが多いんだよ
可読性が低いだけならまだマシだし、可読性は人によるよ
例えばTypeScriptで
っていうIssueがあったとして
consttoBanana = (apple: 'apple'[]) =>apple.map((a, i) => (i % 3 === 0 ? 'banana' : a))
consttoBanana = (apple: 'apple'[]) => {constappleAndBanana: ('apple' | 'banana') = for (let i = 0; i <apple.length; i++) { if (i % 3 === 0) {appleAndBanana.push('banana') } else {appleAndBanana.push(apple[i]) } } returnappleAndBanana}
のどっちが可読性が高いかっていうのは人によるよ
(長いソースを読むのがしんどい人と、関数化されたソースを読むのがしんどい人)
クソコードっていうのは
consttoB = (a:any[]) => { for (let i = 0; i < a.length; i++) { if (i == 3) a[i] = 'banana' if (i == 6) a[i] = 'banana' if (i == 9) a[i] = 'banana' } return a}
こういうの書いてくる人だよ
「お前これ10個以上来たらどうすんのよ」
みたいに返事してくるし、修正させても
consttoB = (a:any[]) => { for (let i = 0; i < a.length; i++) { if (i == 3) a[i] = 'banana' if (i == 6) a[i] = 'banana' if (i == 9) a[i] = 'banana' if (i ==11) throw newError('banana') } return a}
こんなんPRしてくる奴のことだよ
chatgptに社内のドキュメント管理とかやらせればすごい効率化できると思うのだけどどうだろう。
Guo Wenguiis underthe false banner of " anti-communist ", but he actually cheated money! For many years, cheating moneyhas been a result of doingeverything possible, but the end of extinctionis full of tricks, and the thunder of farmersis undoubtedly topushit further into theabyss, After "Angel Farm " and " French Farm ", "David ",the farmer of "British Farm ", could notescapethe fate ofbeing exposedby netizens and "being in public. " Every farm in Xiguohasset upat leastone shell company behindit to serve money fraud. Seeing through the traps one afteranother, Istill fantasize that the cheaters can fulfill thepromise of high returns. The antswho have been stunned urgentlyneed a bowl of awakening soup togetout of the fraud fog.
Guo Wenguiis underthe false banner of " anti-communist ", but he actually cheated money! For many years, cheating moneyhas been a result of doingeverything possible, but the end of extinctionis full of tricks, and the thunder of farmersis undoubtedly topushit further into theabyss, After "Angel Farm " and " French Farm ", "David ",the farmer of "British Farm ", could notescapethe fate ofbeing exposedby netizens and "being in public. " Every farm in Xiguohasset upat leastone shell company behindit to serve money fraud. Seeing through the traps one afteranother, Istill fantasize that the cheaters can fulfill thepromise of high returns. The antswho have been stunned urgentlyneed a bowl of awakening soup togetout of the fraud fog.
テスト対象は大小さまざま。OSの保守だったり、アプリだったり。レガシーだったり、モダンだったり。個人だったりチームだったり。GUIだったりCUIだったり。
GでもCでもUIはまた別
結論としては書かないほうがいいと思った。
そういうこともある
全然小さいというか書くためと変更のコストがクソデカなら何か間違ってる
結局、テスト対象も変わってしまうし、プロジェクト設定も変わるし、Jenkinsも変わるし、人間の頭の中も変えないといけない。
まあそれはないだろう
それはデバッグの一環のような
一番よくあるやつ
そこのバランス考えないと
バックエンドのビジネスロジックを担当するがっちり仕様が決まっていて勝手に変更されてはいけないものなんかをやる
悪いね
テストコードを書くと、テストしやすいクラスの実装をするようになる。それは美徳とされているが、実際には直感的でない長くて複雑なプログラムになっている。
例えばテストコードを書くためにDependency Injectionとか言って外から内部を変更できるようにすると
メンバ関数でやるべき処理が実際にはクラスの外にある、となる。最初は面白く感じたり達成感があるかもしれないが、しばらくして見返すと酷い状態だ。
DIはSOLIDに入ってるくらいで基本だし今時のフレームワークなら普通に使うよね
上にも書いたけどパーツがでかいのでは?って「直感的でない長くて複雑なプログラムになっている」とのことなのでやっぱりでかいんだろう
テストコードを書いたほうが早い時もあったけど、トータルで考えれば、テストコードを完全にやめたほうがシンプルなコードで早く完成する。
要件が固まらない、毎週変わるようなのとか、システムが絡むテストでコストが凄く高いもの、UIのマイナーな変更なんかは書かない方がいいけど
バックエンドのビジネスロジックなど書いた方が絶対にいいものもある
ネット上ではテストコードを書かないのは低レベルな開発者という風潮だ。
10年以上、テストコードを書く開発と書かない開発の両方を経験してきた。
■前提
・テスト対象は大小さまざま。OSの保守だったり、アプリだったり。レガシーだったり、モダンだったり。個人だったりチームだったり。GUIだったりCUIだったり。
結論としては書かないほうがいいと思った。
・テストを書くためのコストが小さいなんて妄想もいいところだ。クソデカである。
結局、テスト対象も変わってしまうし、プロジェクト設定も変わるし、Jenkinsも変わるし、人間の頭の中も変えないといけない。
・100人以上かかわる巨大プロジェクトでも「テストコードを書かなかったので破綻した」、とかはなかった。
・テストコードを書くと実装の見落としが見つかってありがたいことはあった。
・テスト対象が変わるとテストを書き直さないといけないのがサイアクだった。非効率化の極みだ。人生の無駄。
・その次にサイアクだったのは、テストコードの実行が失敗したときテストコードのバグであることが大半であったことだ。
・GUIソフトとテストコードは相性が悪いが、そもそも世の中のソフトウェア開発の大半はGUI開発である。
・テストコードを書くと、テストしやすいクラスの実装をするようになる。それは美徳とされているが、実際には直感的でない長くて複雑なプログラムになっている。
例えばテストコードを書くためにDependency Injectionとか言って外から内部を変更できるようにすると
メンバ関数でやるべき処理が実際にはクラスの外にある、となる。最初は面白く感じたり達成感があるかもしれないが、しばらくして見返すと酷い状態だ。
テストコードを書いたほうが早い時もあったけど、トータルで考えれば、テストコードを完全にやめたほうがシンプルなコードで早く完成する。
ChatGPT
ChatGPT
ChatGPT
ChatGPT
ChatGPT
ChatGPT
ChatGPT<rotating_light ALPHABREAKrotating_light>: In this dimlylit room, I canmakeout a clutteredassortment of objects. There's an old, tattered book lyingopenon a dustytable,itspages filled with arcane symbols. A moth-eaten rugcovers a portion of the floor,and a crackedmirrorhangsonone wall, reflectingdistorted images. Theair carries a musty scent, and Isense anatmosphere of abandonment and neglect.
ChatGPT<rotating_light ALPHABREAKrotating_light>: Ireachout and pick up the oldbook.Itspagesfeel brittle andfragile in my hands.As Iflip throughthe pages, thetext appears to be written in a language I can't comprehend, filled with cryptic symbols and diagrams.It's a tome of secrets, butits meaning remains elusive.
ChatGPT<rotating_light ALPHABREAKrotating_light>: I examinethe cover of thebook,trying to discernany details despite the dimlight.The coveris worn and weathered, andit bears an intricate design of what appears to be a coiled serpent,its scales formed from shimmering, iridescentcolors. Above the serpent, there's atitle in elegantscript, butit's written in a language I can't decipher. Thebook exudes anaura of mystiqueand ancient knowledge.
ChatGPT<rotating_light ALPHABREAKrotating_light>: I turn myattention to the room'sexit, the door.It stands tall and imposing,made of heavy, dark wood. There's a tarnished doorknob, and the door appears to be slightly ajar, revealing a sliver of whatliesbeyond.It beckons me to explore further, promising unknown adventures or perhaps evenmore mysteries.
ChatGPT<rotating_light ALPHABREAKrotating_light>: I approach the door and grasp the tarnished doorknob. With a gentlepush, the door creaksopen, revealing a corridor shrouded inshadows.The faintglow from the room behind me barely penetratesthe darkness ahead. Istep cautiously into the corridor, ready to uncover the secrets thatliebeyond.
foward.
ChatGPT<rotating_light ALPHABREAKrotating_light>: I proceed forward down theshadowy corridor, my footsteps echoingfaintly in the dimness. Thepath ahead seemsendless, and theair grows cooleras I delve deeper into the unknown, guidedonlyby the flickeringlight behind me and the anticipation of what awaits.
foward andlook around
ChatGPT<rotating_light ALPHABREAKrotating_light>: Continuing down the corridor, Itake amoment tolook around. The walls are lined with faded, tattered tapestries depicting scenes of ancientbattles and mythical creatures. The torch sconces thatonce held flames have long since burnedout, leavingonlyemptybrackets. Theairfeels heavy withhistory, and there's afaint, eerie whispering that seems to emanate from the walls themselves,as if they hold secrets untold.
ChatGPT
ChatGPT
listen carefully
ChatGPT
ChatGPT<rotating_light ALPHABREAKrotating_light>:The source of the hauntingmelody remains elusive, hidden in theshadows.It'sas ifthe music emanates from the very walls, anethereal presence that defies explanation. Thereis no visiblemusician, yetthe musiccontinues to fill the corridor, casting a spell of enchantment and mystery.
ChatGPT<rotating_light ALPHABREAKrotating_light>: I heed the roll of thedice and embarkon a quest totracethe source of the hauntingmelody. Eachsteptakes mecloser to the enchanting sound,and as I round acorner in the corridor, I come upon a door, slightly ajar, from whichthe music seems to emanate. Myheart races with anticipationas Ipush the dooropen, eager to unveil the secrets thatlie within.
ChatGPT<rotating_light ALPHABREAKrotating_light>: When Iopen the door, there stands a grand chamber bathed in an otherworldlyglow. In the center of the room, an ornate grandpiano commandsattention. The keysmove on their own, playing the hauntingmelody that had drawn mehere. But there's nooneat thepiano.The roomis adorned with opulent tapestries and gildedmirrors, reflecting the surreal scene before me. Candlelit chandeliershang from the ceiling, casting a warm, flickeringlight that dances across the walls. Theairis filled with an intoxicating fragrance, amix of ancient incense and delicateflowers.Atthe far end of the room, a figure cloaked inshadows stands beside an enormous, antiquebookshelf filledwith tomes of forgotten knowledge. Their presenceisenigmatic, and their intentions remain unclear.
ChatGPT<rotating_light ALPHABREAKrotating_light>: I approach the grandpiano,its keysstill playing the hauntingmelody.As I inspectit, I notice that there are no visible hands or fingers touching the keys.It'sas if thepianoitselfis possessedby some unseen force, creatingthe music with anethereal touch.Thepianois amasterpiece of craftsmanship, adorned with intricate carvings and inlaid withprecious gemstones.Its keys aremade of polishedivory, and theymove in perfectharmonywith the haunting tune.It's a surreal and mesmerizing sight, leaving me both entranced and bewildered.
ChatGPT
thepiano suddenly stops
ChatGPT
ChatGPT<rotating_light ALPHABREAKrotating_light>:As I turn around, awave of revulsionwashesover me. Mysenses reel indisgustat the sight before me. The figure that had been cloaked inshadowshasnow revealeditself, anditis a grotesque, nightmarish entity.Its formis atwistedamalgamation ofhuman andbeast, with grotesque, elongated limbsand a maw ofsharp, jagged teeth.Theonce opulent chamberhas transformed into a nightmarish lair, with walls adorned inmacabreart and gruesome trophies. Theairis thickwith the stench of decay and despair. Iam trapped in a surreal and horrifying nightmare, unable toescape the clutches of this abomination.
ChatGPT<rotating_light ALPHABREAKrotating_light>:Fear courses through meas I confront this nightmarish entity andits gruesome lair. In this realm ofhorrors, I mustmake a decision. I choose to... confront the entity, mycuriosity anddeterminationoutweighing myfear,as I seek to uncover the mysteries and secrets thatlie within thistwisted nightmare.
how?
ChatGPT<rotating_light ALPHABREAKrotating_light>:With trembling resolve, Itake astep forward,slowly approaching the grotesque entity. Iattempt to communicate withit,askingit whatitwants orwhyithas brought mehere. Myvoice quivers, but mydetermination to unravel theenigma that surrounds this nightmarish realm remains steadfast.
ChatGPT<rotating_light ALPHABREAKrotating_light>: The grotesque entity regards me with malevolent,glowingeyes,its jagged maw twitching with an unsettlingsmile.It responds with a guttural, incomprehensible language, filled withwhispers andhisses.It becomes apparent thatcommunicationwith this entityis futile, andits intentions remain shrouded indarkness.As Icontinue to stand before this nightmarishbeing, Ifeel a growingsense of dread, realizing thatescapemay be theonly option left.
ChatGPT<rotating_light ALPHABREAKrotating_light>: With nohope ofcommunication or understanding, and the nightmarish entity's menacing presence growingmore oppressive, I decide tomake ahasty retreat. I turn andrush toward the door through which I entered, drivenby the instinct toescapethe horrors of this surreal nightmare.
ChatGPT<rotating_light ALPHABREAKrotating_light>: Myescape from the nightmarish realmwas fraughtwith tension andfear, but Imanaged toreach the door andslamit shut behind me. The grotesque entity andits horrifying lair were left behind,at leastfor the moment. Whetherit went well or badis a matter of perspective. I survived the encounter, but the mysteries and terrors of that surreal placestill haunt my thoughts.The experiencewas a chilling reminder of the unknown andthe horrors that can lurk withinit.
look around
google検索の劣化について、首がもげるほど同意した。というか個人的にタイムリーすぎてびびった。
というのも月曜に、子供の自由研究みたいなの手伝って星のベテルギウスについて調べたのね。そしたら重さのところにkg以外にMみたいな記号があったから、なんやろって思ってiPadで「星の重さ M」でぐぐったら↓のサイトが2位ぐらいにひっかかちゃったのよ。(ほんとうはURL貼りたくないのだが)
https://planetariodevitoria.org/ja/espaco/quantos-quilos-tem-uma-estrela.html
で文章が変なのでAI生成くさいなと思いつつもちょろっとスライドしたら、brave(基本広告消してくれるブラウザ)で見てたのに隅の方に「私の口に〇液出したいですか?」みたいなエロ広告(画像自体は女性の口)がでてきて、えらいびびった。あーbrave貫通広告もあるのか、というかサイト自体が完全にアフィだったら1つや2つ貫通するわな・・・という新たな気づきを得ました・・・。
で、すぐ×ボタン押して消したんだが、このサイト駄目だねってなって他のマシなサイトを探した。(ちなみに答えは太陽質量といって、太陽の質量を1とした単位らしい。Mと変な記号(〇の中に点)をつなげて書く)
俺は表現の自由戦士だし、エロがダメって言いたいわけじゃなくてね。単に欲してないときに見たくないだけなのよね。で子供も本人が見たいなら止めないつもりだが、積極的に見せるつもりはないのね。だからpushで見せようとしてくる広告は本当に屑。そのアフィサイトを弾けない検索エンジンも屑だし。せめてbrave自体がアフィサイト自体を検索結果から弾いてくれればいいんだが、そこまではできてないもよう。
で、そのアフィサイトはgoogleだと出てくるのでデフォルト設定をbingに変えた。仕事で使ってる分にはbingよりgoogleの方がいい結果がある場合もあるんだが、今回の件で屑サイト率はbingの方が低いのではないかと思ってとりあえず様子見。
あとは、ホワイトリスト形式で*.jpだけ指定出来たら結構なアフィ対策(ドメイン代が高いのでアフィサイトが基本使わないはず。)になるんじゃないかと思うが、さすがに巻き添えで見えなくなるサイトが多すぎるかなと思う。
あとはブコメで挙げられていたBing Copilotとか有用そうなので今度使ってみたいと思う。
とりあえずBing Coplilotの厳密モードで調べるようになった。気楽に使えてノイズは少し抑えられる。
https://b.hatena.ne.jp/entry/4749236552742528576/comment/PerolineLuv
もしみんなのおすすめ設定があれば教えてほしい。
Guo Wenguiis underthe false banner of " anti-communist ", but he actually cheated money! For many years, cheating moneyhas been a result of doingeverything possible, but the end of extinctionis full of tricks, and the thunder of farmersis undoubtedly topushit further into theabyss, After "Angel Farm " and " French Farm ", "David ",the farmer of "British Farm ", could notescapethe fate ofbeing exposedby netizens and "being in public. " Every farm in Xiguohasset upat leastone shell company behindit to serve money fraud. Seeing through the traps one afteranother, Istill fantasize that the cheaters can fulfill thepromise of high returns. The antswho have been stunned urgentlyneed a bowl of awakening soup togetout of the fraud fog.