「Client」を含む日記 RSS

はてなキーワード: Clientとは

2025-08-21

dorawii@執筆依頼募集中

自動ブクマするローカルサーバーとかの構成を作った。

ブクマには↓のサブアカ使用

https://profile.hatena.ne.jp/dorawii_bukuma/

はてなサイト側で読み込まれているはずのrksトークンを生成する関数を直接叩く方法がどうしても分からず結局request処理を自分で書く方法ではなく自動UI側の保存ボタンクリックするという無難な方向に落ち着いた。

最初から後者方法をとっていればもっと全然早く作れたのにというは所詮言い訳か。

とにかくスクリプトを公開しておく。

start-server.bat

@echo off
cd /d "C:\Users\user\Documents\jsscript"

:: Nodeサーバーを別ウィンドウで起動
start /min "" node run-batch-server.js

:: Pythonサーバーを別ウィンドウで起動(hatenaserver配下
start cmd /k "" python hatenaserver\server.py

以降はjsscript直下に配置

config.json

{
"username": "",
"password": ""
}
server.py

from flask import Flask, request, jsonify
import json
import os
from hatena_client import HatenaClient
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

config_path = os.path.join(os.path.dirname(__file__), 'config.json')
with open(config_path, encoding='utf-8') as f:
config = json.load(f)

@app.route('/bookmark', methods=['POST'])
def handle_bookmark():
data = request.json
url = data.get("url")
if not url:
return jsonify({"error": "Missing URL"}), 400

client = HatenaClient(config["username"], config["password"])
client.start_browser()

if not client.login():
client.quit()
return jsonify({"error": "Login failed"}), 403

success = client.add_bookmark(url)
client.quit()

return jsonify({"status": "ok" if success else "fail"})

if __name__ == "__main__":
app.run(port=12347)

あとはグリモンユーザスクリプトとして書くやつ

// ==UserScript==
// @name 自動セルクマ送信
// @namespace tampermonkey.net/
// @version 2025-08-07
// @description try to take over the world!
// @author You
// @match anond.hatelabo.jp/*
// @grant none
// ==/UserScript==

(function () {
'use strict';

const url = location.href;
if (!/^https:\/\/anond\.hatelabo\.jp\/\d+$/.test(url)) return;
const editLink = document.querySelector('a.edit');
if (!editLink) {
// 既に編集ページなので処理をスキップ
console.log('編集リンク存在するため、スクリプトを終了します。');
return;
}

fetch('localhost:12347/bookmark', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ url: url })
}).then(r => console.log("通知成功")).catch(e => console.error("通知失敗", e));
})();
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

https://anond.hatelabo.jp/20250821192753# 
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKb0qwAKCRBwMdsubs4+
SHfiAQDcXmTHBaZ5Zzr1KI/OxZ0xl69oevOdy1FXJYwYvsmo5AD/ZPtZiO1JgTDj
m+27iymlkdzIXOIGWfC82UTr1mJ7EwU=
=YoV+
-----END PGP SIGNATURE-----

2025-06-15

[]3

Ahzee & Zave Feat. Sonny Flame - Pump It (Official Music Video) (4K)

https://www.youtube.com/watch?v=ifc96SDVBkw&ab_channel=BIPRecords

ヒップホップTwerkブルマ

Грації від гравісу : Грации от грависа

https://www.youtube.com/watch?v=X3wr2mOIkRc&ab_channel=%D0%B4%D0%BC%D0%B8%D1%82%D1%80%D0%BE%D0%BB%D1%83%D0%B3%D0%BE%D0%B2%D0%B8%D0%B9

thong leotard

https://www.youtube.com/watch?v=f-041H7YRns&ab_channel=LuluNoo

13 Best Workout-Themed Music Videos

https://www.youtube.com/watch?v=DbIPhE5W91I&ab_channel=ClevverNews

ここから探すのが一番。

Madonna - Hung Up (Official Video) [HD]

ピンクレオタード

https://www.youtube.com/watch?v=EDwb9jOVRtU&ab_channel=Madonna

Kanye West - Fade (Explicit)

https://www.youtube.com/watch?v=IxGvm6btP1A&ab_channel=KanyeWestVEVO

ビキニでのワークアウト

Ariana Grande ft. Nicki Minaj - Side To Side (Official Video) ft. Nicki Minaj

https://www.youtube.com/watch?v=SXiSVQZLje8&&itct=CDEQpDAYACITCPrWnbantNYCFcjDnAodUAoEvDIKZy1oaWdoLXJjaFoPRkV3aGF0X3RvX3dhdGNo&&client=mv-google&&hl=ja&&gl=JP%23%2Fwatch%3Fv%3DItZyaOlrb7E&app=desktop&ab_channel=ArianaGrandeVevo

エアロバイク。お尻。

なんだかんだbadunkadunkやcall on meやSound Of Legend – Maniac

が好き。

それと、PVにつられて最近音楽を聴いたけれども、やっぱりリズムよりもメロディを重視していた時代作品の方が性に合っている。

2025-06-10

dorawii

はい、**ブロックチェーンを使ったタイムスタンプ**は、「元データのものを共有せずに、その存在と時刻を証明する手段」として非常に有効です。特にハッシュ値ブロックチェーンに記録することで、元データを後から提示するだけで、それがある時刻に存在したこと改竄されていないことを**誰でも検証可能にする**、という形になります

あなた希望(元の文章掲示板などで変形されても検証可能、あるいは元文不要)に近づけるには、**ハッシュブロックチェーンに書き込んで、後からそのハッシュに一致する元データを見せる**という形式になります

---

## ✅ 方法概要

### 基本の流れ:

1. 元データを SHA-256 などでハッシュ

2. そのハッシュブロックチェーンに記録(トランザクションメモ欄など)

3. 後から誰でもハッシュトランザクションを照合して、時刻と整合性検証可能

---

## ✅ 推奨ツール:OpenTimestamps(OTS

[OpenTimestamps](https://opentimestamps.org/) は、ビットコインブロックチェーンを用いた無料タイムスタンプサービスです。

**長所**: 無料・非中央集権署名不要CLIがある

**短所**: ブロックに取り込まれるのに数時間かかることがある(ただし証明可能

---

## ✅ Windows 11 での手順(OpenTimestamps CLI

### 1. **Pythonインストール**

OpenTimestampsはPython製です。

Pythonがまだ入っていない場合は、https://www.python.org/downloads/windows/](https://www.python.org/downloads/windows/) からインストーラーを取得し、`Add to PATH` にチェックを入れてインストールしてください。

### 2. **otsクライアントインストール**

コマンドプロンプトまたはPowerShellで以下を実行:

```bash

pip install opentimestamps-client

```

### 3. **ハッシュ対象ファイルの用意**

たとえば `message.txt` というファイルを用意します(中身は何でもOK)。

### 4. **タイムスタンプ作成**

```bash

ots stamp message.txt

```

これにより、`message.txt.ots` というタイムスタンプファイル作成されます

これは「Bitcoinにこのデータハッシュを記録する要求がされたこと」を表します。

### 5. **数時間後、タイムスタンプ検証する**

```bash

ots verify message.txt

```

署名Bitcoinブロックチェーンに記録されていれば、次のように表示されます

```

Success! Bitcoin attests data existed as of 2025-06-08 12:34:56 UTC

```

---

## ✅ 元のデータを見せたくない場合

`echo "この文が存在していたことを証明したい"` → これを SHA-256 に変換し、ダミーファイルとして保存してタイムスタンプを取る

元文は第三者に見せず、ハッシュとの一致だけで検証可能

```bash

echo -n "あなたの文" | openssl dgst -sha256

```

このハッシュに一致するファイルを後から提示すれば、それが当時存在していたことを証明できます

---

## ✅ まとめ

特徴 内容
------------- --------------------
元文の提示不要 ✅(ハッシュが一致すればOK
改行や掲示板変形の影響なし ✅(ハッシュが変わらなければOK
無料かつ自律的 ✅(Bitcoinブロックチェーン使用
Windows対応 ✅(Python + CLI

---

もしあなた目的が「一定時刻に自分がその文を作成したこと証明であるなら、この方法は非常に相性が良いです。

---

必要であれば、GUIツールウェブインターフェースを使った方法(例:[OpenTimestamps Calendar](https://calendar.opentimestamps.org/))も紹介できます希望があればお知らせください。

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

20250610095304512 
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEgAgAAKCRBwMdsubs4+
SII/AP9HFG5+U8BfEXzKxSoyEuxm6X/vJjK7Ee7Kwpi/rwQZJgEAorUjMTh9okHu
3WbPvgsSfDyzhpUuwCVsKessR4FSpQE=
=VNrS
-----END PGP SIGNATURE-----

2025-05-15

https[:]//pluginlibery[.]com/min-jquery

それによって読み込まれるらしいファイル: https[:]//wpscriptbox[.]com/vGTVRK?return=js.client&&se_referrer=.......

露木木工所(これのみ改ざん成功

ttps://www.yosegi-g.com/

=====

pluginlibery.com/queryjs

株式会社NSS(改ざん失敗)←日本時間土曜朝追記:いや、トップページ改ざんされて危険なようだ

https://cpcam.jp/security/

ちゃう!PLUS(改ざん失敗)

https://www.dechau.com/news/?tag=%E3%82%B5%E3%83%B3%E3%82%AF%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

若干書き直しました

土曜朝追記:その他外国語サイト各種あり

https://anond.hatelabo.jp/20250515194831

https[:]//pluginlibery.com/min-jquery

https[:]//wpscriptbox.com/vGTVRK?return=js.client&&se_referrer=https%3A%2F%2Fwww.google.com%2F&default_keyword=%E4%BC%9D%E7%B5%B1%E5%B7%A5%E8%8A%B8%E5%93%81%E3%83%BB%E7%AE%B1%E6%A0%B9%E5%AF%84%E6%9C%A8%E7%B4%B0%E5%B7%A5%20%E9%9C%B2%E6%9C%A8%E6%9C%A8%E5%B7%A5%E6%89%80&landing_url=www.yosegi-g.com%2F&name=_y63Y5hh5t5n1Xkp8&host=https%3A%2F%2Fwpscriptbox.com%2FvGTVRK

を読み込んでいる?

2025-04-29

Why Choose Next.js Over React.js for Website Development in 2025?

Speed, SEO, scalability, and developer productivity are more critical than ever. While React.js remains a powerhouse for building interactive user interfaces, many businesses and developers are now leaning toward Next.js for complete, production-ready solutions. So what exactly makes Next.js a more favorable choice over React.js in 2025? Let’s explore the reasons in detail.

🧱 React.js vs Next.js: Core Distinction

React.js is a JavaScript library focused solely on building UI components.

Next.js is a full-fledged framework built on top of React that includes everything you need for production — routing, SSR, SEO optimization, static site generation, and more.

In essence, React gives you the tools to build an interface, while Next.js gives you the structure to build, deploy, and scale a complete web application.

🚀 Key Advantages of Choosing Next.js in 2025

1. Built-in Server-Side Rendering (SSR)

2. Improved SEO Out of the Box

3. Hybrid Rendering Capabilities

4. Full Routing System

5. Image & Font Optimization

This aligns perfectly with Google’s performance guidelines in 2025. React.js doesn’t offer this natively.

6. API Routes Without a Backend

7. Enhanced Developer Experience

Next.js has evolved into one of the most developer-friendly frameworks in 2025, backed by the Vercel ecosystem.In 2025, Next.js stands out as the smarter, faster, and more scalable solution for building modern websites and web applications. It inherits everything great about React — and adds structure, optimization, and production-readiness. If you’re planning to build a website that demands speed, SEO, and a seamless development process, Next.js is the clear choice.

For more details read this informative article: https://www.nimblechapps.com/blog/choosing-nextjs-over-reactjs-for-website-development

2025-04-19

オブジェクトがなぜダメなのか

クラスGod Object)は、ソフトウェア設計においてアンチパターン(避けるべき設計手法)として知られています

これは、過剰に多くの責任を持ちすぎるクラスオブジェクトのことであり、ソフトウェア保守性や拡張性、可読性に大きな問題引き起こします

以下では、「いかに大変か」「なぜ大変か」「どのように大変か」を徹底的に具体的に解説します。

💥 いかに大変か(How bad it is

❓ なぜ大変か(Why it's bad)

1. 単一責任原則違反(SRP: Single Responsibility Principle)
2. 高凝集・低結合の原則からの逸脱
3. テスト困難

⚙️ どのように大変か(Examples)

ケーススタディ:神クラス「ApplicationManager」
public class ApplicationManager {
    private Map<String, User> users;
    private DatabaseConnection db;
    private Logger logger;
    private GUI gui;
    private NetworkClient client;
    
    public void startApplication() {
        connectToDatabase();
        loadUsers();
        gui.showLoginScreen();
    }

    public void processUserInput(String input) {
        logger.log("Input received: " + input);
        if (input.equals("logout")) {
            gui.showLoginScreen();
        } else {
            client.send(input);
        }
    }

    // ... more than 5000 lines of code
}
問題

2025-03-17

anond:20250317180003

ttps://www.google.com/search?client=firefox-b-d&q=%E6%AD%BB%E8%80%85%E6%95%B0%E3%80%80%E3%82%B3%E3%83%AD%E3%83%8A

2025-03-16

フロントエンド不要論

フロントエンド不要論」は、最近の開発現場サーバーレスクラウド技術進化に関わっている人たちの間でリアルに実感されている問題です。

✅ 最新の開発現場で「フロントエンド不要論」が出てくる理由

🚩 1. フロントエンドが複雑すぎる(技術負債が増大)

• React, Vue, Angular などのフレームワークがどんどん複雑化

SPAシングルページアプリ)のメンテナンスが大変

フロントエンドバックエンドの分離が、**「本当に効率的か?」**という疑問が生じている

• 「最終的にHTMLを描画するだけなら、サーバーでやればよくない?」

🚩 2. フロントエンドセキュリティリスクが高すぎる

APIキーアクセストークン露出問題が深刻

フロントエンドから直接APIを叩く構成では、「APIを守る」ことが難しい

XSS, CSRF, CORSといった脆弱性対処し続けるコスト無駄

• 「フロントエンド認証情報を持たせないほうが安全

🚩 3. サーバーレスクラウド技術進化し、API負担を減らす方向に

AWS Lambda, API Gateway, Cognitoなどのサーバーレス技術進化

フロントエンドAPIを叩くより、サーバー側で直接処理する方が効率的

バックエンドフロント役割代替できる環境が整った

✅ 実際にフロントエンドを捨てた企業の事例

1. GitHub(Hotwire, Turbo採用

• 以前はReactを使用 → ReactをやめてHTMLベースに戻した

サーバーサイドでレンダリングし、最小限のJSだけ利用

• 「HTMLサーバーで生成すれば十分」と結論付けた

2. BasecampTurbo + Rails

• React, Vue, Angularを全廃

Turboを使って、サーバーから直接HTML更新

JavaScriptなしで動的なページを実現

3. Laravel(Livewire)

JSなしで動的UIを作るフレームワーク

フロントエンド負担ゼロにする方向に進化

• 「JS不要なら、開発効率が上がる」

4. Shopify(GraphQLでデータを直接取得)

フロントエンドを完全分離する構成から、「バックエンドHTMLを返せばいい」 というシンプル構成へ移行

API負担を減らすことで、開発効率セキュリティを向上

サーバーレス時代の最適解:「フロントエンド不要アーキテクチャ

フロントエンドを捨てて、サーバーがすべての処理を担う」方向に移行するのが最適解になりつつある。

📌 最適なアーキテクチャ

ブラウザサーバーPHP, Node.js, Go) → API Gateway(Cognito認証

フロントエンドHTML/CSSのみ

サーバーAPI GatewayとCognitoを仲介

APIキーアクセストークンサーバー管理

サーバーデータを取得し、HTMLとして返す

📌 具体的な実装例(PHP + Cognito + API Gateway

require 'vendor/autoload.php';

use Aws\CognitoIdentityProvider\CognitoIdentityProviderClient;

use Aws\Exception\AwsException;

$client = new CognitoIdentityProviderClient([

'region' => 'us-east-1',

'version' => 'latest',

'credentials' => [

'key' => getenv('AWS_ACCESS_KEY_ID'),

'secret' => getenv('AWS_SECRET_ACCESS_KEY'),

],

]);

$email = $_POST['email'];

$password = $_POST['password'];

try {

$result = $client->initiateAuth([

'AuthFlow' => 'USER_PASSWORD_AUTH',

'ClientId' => 'XXXXXXXXXX',

'AuthParameters' => [

'USERNAME' => $email,

'PASSWORD' => $password,

],

]);

setcookie("accessToken", $result['AuthenticationResult']['AccessToken'], [

'httponly' => true,

'secure' => true,

'samesite' => 'Strict'

]);

header("Location: dashboard.php");

} catch (AwsException $e) {

echo "ログイン失敗";

}

?>

APIキークライアントに公開しない

アクセストークンサーバー管理

フロントエンドは何も持たない(XSS耐性あり)

✅ まとめ:「フロントエンド不要」が最新の開発トレンド

🚀 **「フロントエンドはもう不要」**という流れは、最新のクラウド/サーバーレス開発に携わる人たちが実感していること。

APIキー管理が楽になる

セキュリティが大幅に向上する

フロントエンド開発の負担がなくなる

パフォーマンス爆速になる

👉 結論:「フロントエンド不要クラウド×サーバーレスバックエンドが主役になる!

この方向性に完全に共感しますし、今後の開発では**「フロントエンドなしで済むか?」**を常に考えるべきですね!

2025-03-13

病院内で提供されるWiFi挙動メモ

身体を壊して先日ちょっと入院していたのだが、病院内ではWiFi提供されていたので、消灯時間外の日常生活アクセスはそれのお世話になっていた。消灯時間は夜9時から朝6時までだ。

事前に「入院生活にそぐわないサイトには接続できません」という告知が為されていたので、覚悟の上で使ったのだが、Webアプリ開発者としての業務必要サイトとかも禁止されていたので、ここにメモしておく。

どうせ数年以内には持病が悪化して再び入院するし。

通信制のしくみの考察

通信禁止されていると思われるサイト接続すると、ブラウザ側ではタイムアウトエラーとして表示される。もちろん、それなりに待たされる。ブラウザの開発ツールの様子を見るに、おそらく TCP handshake に失敗していそう。

正常に接続できるサイトの様子を見た範囲では、HTTPS接続証明書改ざんは行われていないようだったこからHTTPS暗号を解読してどうのこうの、という処理をしていない可能性が非常に高い。つまり通信制限は接続ドメインまたはIPアドレスによる判断実施している可能性が高い。

また、中間的なサイト存在する。通常2秒以内で表示できるようなサイトの表示に10秒(体感)かかるところがある。稀にタイムアウトする。

なのは通信禁止されていそうなサイトでも「待たされた挙句、つながることが非常に稀にある」ということと、curl等ではすんなりと接続できることである

DNS設定と一緒にproxy設定が落ちてきているのであればこの挙動理解できるのだが、手元のOSネットワーク設定にはproxy情報が何も出てこない。ちょっとよくわからない。

もしもDNSに対するAレコード(AAAAも?)問い合わせに対してニセモノを返すという仕組みで通信制限しているのだとしたら、「非常に稀につながる」挙動にはならないはずなので、透過型proxyによって頑張っているのではないか想像するところである

なお、消灯時間中は全てのリクエストタイムアウトになる。消灯時間開始直前に HTTP Request を送出して、応答が来る頃には消灯時間に入っている場合にはどういう挙動をするのか、というテストをやる暇は無かった。スマソ

つながるサイトと、つながらないサイトメモ

業務で使う全部のサイト検証できた訳じゃなくてゴメンね。結局のところ仕事携帯回線でやっちゃったから。

ドメインサイト概要接続の様子
hatelabo.jpはてな実験サービス置き場すんなり
anond.hatelabo.jp増田禁止
??????.hatenablog.jpはてなブログドメインの一つ、そして増田中の人ブログ遅い
console.aws.amazon.comAWS管理コンソール禁止
www.amazon.co.jpショッピングめちゃくちゃ遅いけどつながる
www.amazon.comショッピングめちゃくちゃ遅いけどつながる
ja.wikipedia.org百科事典禁止
www.php.netプログラミング言語PHP禁止
www.typescriptlang.orgプログラミング言語TypeScriptすんなり
stackoverflow.comプログラミング質問サイト(英語)すんなり
qiita.comプログラミング質問サイト(日本語)禁止
packagist.orgPHPパッケージ管理遅い(通常通り?w)
www.npmjs.comJSパッケージ管理すんなり

なお、自分ドメインサブドメイン禁止ドメインを入れたようなもの、例えば anond.hatelabo.jp.example.com のようなドメインに対する接続可否は検証していない(面倒だったw)

どこの会社受託しているのか?

サーバ目線で見える client IPwhois等で調べると、某F社さんだった。AWS管理コンソールへの接続禁止するあたり「あっ…!」と思ったり…w

2024-11-07

anond:20241107011547

ちなみにThin Clientなんてのが流行たことがあってな

一時期配られたこともあるで

あれ速攻無くなったな

アメリカだとロッキード衛星飛ばしてるやつとかもっとガチ勢が俺のようなライトガチ勢でもよく知らんようなの使ってたりもするし

Windowsラップトップがとかいってたら笑われるで

2024-09-23

2024-07-29

ログイン ユーザー登録
ようこそ ゲスト さん