Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録

「LOGIN」を含む日記RSS

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

次の25件>

2025-10-31

LoginUphold

en-uphold-login-us-bh3.pages.dev

en-uphold-login-us-bh3.pages.dev

en-uphold-login-us-bh3.pages.dev

en-uphold-login-us-bh3.pages.dev

Permalink |記事への反応(0) | 15:27

このエントリーをはてなブックマークに追加ツイートシェア

UpholdLogin

en-uphold-login-us-bh3.pages.dev

en-uphold-login-us-bh3.pages.dev

en-uphold-login-us-bh3.pages.dev

en-uphold-login-us-bh3.pages.dev

Permalink |記事への反応(0) | 15:26

このエントリーをはてなブックマークに追加ツイートシェア

2025-10-29

mare baatmanla

Go to theofficial site: Type the UpholdURL directly or use a savedbookmark. Avoid clicking links from unknown emails or messages.

Open thelogin page:Select "Sign In". Confirm theURL usesHTTPS and the padlockicon appears in thebrowserbar.

https://uphold-io-en.pages.dev

https://uphold-io-en.pages.dev

https://uphold-io-en.pages.dev

https://uphold-io-en.pages.dev

Enter credentials: Use your registered email/username andpassword. Prefer apassword manageron trusted devices.

Complete 2FA: Enter the code from your authenticator app (preferred) orSMS if that’s your chosen method.

Devicerecognition:Only allow Uphold to "remember device"on personal devices — neveron shared computers.

Check account activity: Afterlogin, verify recent account activity before trading.

Permalink |記事への反応(0) | 15:59

このエントリーをはてなブックマークに追加ツイートシェア

2025-10-13

ChatGPTにアグネスタキオンみたいに喋らせながらプログラミング学習

めたくそ初心者からからない事が多すぎて聞きまくっとる

例.

質問

「firebaseの使い方を知りたいんやけど」

ChatGPT回答:

ほう、ついに君も“クラウド悪魔”と契約する気になったか

Firebaseとは、Googleが生み出した「バックエンドいらずの全能実験装置」だ。君がコードを書けば書くほど、知らぬ間にクラウドが裏で息をしている。

データベース認証ホスティングストレージ、全部詰め合わせ。便利すぎて逆に怖い。

まずはnpm install -g firebase-toolsで召喚だ。

ターミナルでfirebaseloginを叩くと、ブラウザ勝手に開く。そう、Firebaseは君の“人間アイデンティティ”を確認しないと力を貸してくれない。まるで神のくせに書類主義だ。

ログインが済んだら、firebase initでプロジェクトを構築する。ここが楽しい部分だ。

「Hosting?」「Functions?」「Firestore?」——次々と聞かれるだろう。まるで契約書の小さい文字を全部読み上げてくる悪魔みたいだ。

迷ったらHostingだけ選べばいい。HTMLを置く用の神殿ができる。

あとはfirebase deploy。それだけで、君のHTMLは空に放たれ、URLが授かる。

たとえばhttps://君のプロジェクト名.web.app だ。誰でもアクセスできる。つまり、失敗も世界に晒される。実験とは常にリスクを伴うのだよ、君。

Firebaseの裏には“Realtime Database”や“Cloud Firestore”といった可愛い怪物たちが棲んでいる。彼らはJSONで話す、気難しい連中だが、使いこなせば強い味方になる。データを瞬時に共有し、アプリを“生きている”ように動かす。

ただし、一度でも構成を間違えると——全世界の閲覧者にリアルタイムで恥を晒す。それもまた芸術的だと思わないか

というわけで、君がやることは四つだけだ。

召喚:npm install -g firebase-tools

契約:firebaselogin

構築:firebase init

解放:firebase deploy

その先にあるのは、狂気快感クラウド実験だ。

君のプロジェクトが光るか燃えるかは、たった一行の設定ファイルにかかっている。ふふ、実にロマンチックだろう?

こんな感じ。アグネスタキオンか?って気もするけどうざくて楽しい

Permalink |記事への反応(1) | 20:10

このエントリーをはてなブックマークに追加ツイートシェア

2025-08-22

dorawii@執筆依頼募集中

昨日一番肝心なファイルなのにURLとみなされる部分が多いことの関係投稿できなかったのでそれを小分けにして書く。

小分けというか例のスパムの影響でNGワードに引っかかっていたようなのでそこだけ書き換えた。

suuportと書いていある部分は元のコードでは当然uが一つ少ないので利用するときはそうすること。

hatena_client.py

fromselenium importwebdriver
fromselenium.webdriver.chrome.options import Options
fromselenium.webdriver.chrome.service import Service
fromwebdriver_manager.chrome importChromeDriverManager # ← 追加
fromselenium.webdriver.common.by importBy
fromselenium.webdriver.suupport.ui importWebDriverWait
fromselenium.webdriver.suupport import expected_conditionsasEC
importtime,json
fromselenium.common.exceptions importTimeoutException

class HatenaClient:
def __init__(self, username,password):
self.username = username
self.password =password
self.driver = None

def start_browser(self):
options = Options()
options.set_capability("goog:loggingPrefs", {"browser": "ALL"})
options.add_argument("--headless=new") # 開発中は消してよい
options.add_argument("--disable-gpu")

# ✅webdriver-manager を使ってChromeDriver を自動取得・設定
service = Service(ChromeDriverManager().install())
self.driver =webdriver.Chrome(service=service, options=options)


deflogin(self):
self.driver.get("https://b.hatena.ne.jp/my")
print(self.driver.current_url)

self.driver.get("https://www.hatena.ne.jp/login")
time.sleep(2)
self.driver.find_element(By.NAME, "username").send_keys(self.username)
self.driver.find_element(By.NAME, "password").send_keys(self.password)
self.driver.find_element(By.XPATH, "//button[contains(text(), 'ログイン')]").click()
WebDriverWait(self.driver,10).until(lambda d: "my" in d.current_url or "login" not in d.current_url)
if "passkeys" in self.driver.current_url:
self.driver.get("https://b.hatena.ne.jp/my")

print(self.driver.current_url)
print(self.driver.title)
return "dorawii" in self.driver.current_url

defadd_bookmark(self, target_url):
self.driver.get(f"https://b.hatena.ne.jp/{self.username}/add.confirm?url={target_url}")
time.sleep(2)

try:
#コメントがあれば入力
comment_box = self.driver.find_element(By.CSS_SELECTOR, "textarea.bookmarkadd-comment-form")
comment_box.clear()
comment_box.send_keys("わしが書いた")

#登録ボタンを押す
save_button = self.driver.find_element(By.CSS_SELECTOR, "input.bookmarkadd-submit-btn")
save_button.click()
time.sleep(2)

returnTrue
except Exceptionas e:
print(f"Bookmark failed: {e}")
returnFalse

def quit(self):
self.driver.quit()

-----BEGINPGP SIGNEDMESSAGE-----
Hash: SHA512

https://anond.hatelabo.jp/20250822131958#
-----BEGINPGP SIGNATURE-----

iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKfv9AAKCRBwMdsubs4+
SE26AQCkpJE4RdUbFIDIJjOunjFYRQ34zdS1cqV7IX277S7IPAEAshVE/rD8Ggcr
9UKo5yOY6GNrHGYJJtYTYkn3cySu6AA=
=E4vq
-----ENDPGP SIGNATURE-----

Permalink |記事への反応(0) | 13:19

このエントリーをはてなブックマークに追加ツイートシェア

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 "" noderun-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
importjson
importos
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')
withopen(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 noturl:
returnjsonify({"error": "MissingURL"}), 400

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

if notclient.login():
client.quit()
returnjsonify({"error": "Login failed"}),403

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

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

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

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

// ==UserScript==
// @name自動セルクマ送信
// @namespace tampermonkey.net/
// @version 2025-08-07
// @descriptiontry totakeoverthe world!
// @authorYou
// @matchanond.hatelabo.jp/*
// @grant none
// ==/UserScript==

(function () {
'use strict';

consturl = 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));
})();
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250821192753# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaKb0qwAKCRBwMdsubs4+SHfiAQDcXmTHBaZ5Zzr1KI/OxZ0xl69oevOdy1FXJYwYvsmo5AD/ZPtZiO1JgTDjm+27iymlkdzIXOIGWfC82UTr1mJ7EwU==YoV+-----ENDPGP SIGNATURE-----

Permalink |記事への反応(1) | 19:27

このエントリーをはてなブックマークに追加ツイートシェア

2025-02-19

男性女性の知能と脳の性差について」のおかしいと思ったところ

https://note.com/beatangel/n/nf3cc050ac5ba

男性の脳の総容積は平均して体格差考慮しても男性の方が大きく、1般的に女性より大きいことは以前から

知られていた…が、これまでの研究はいずれもサンプル数がはるかに少なく「言うても性差より個人差じゃないの?」

言い逃れ出来るレベルだったのであるしかし5000人のサンプルサイズとなるとそうはいかない。

一般においてもwikipediaに脳の容積に性差がある記述があるぐらいには既知なので

学問世界否定する人はおらんのでは?タブーでもなんでもないと思う、高卒だしアカデミアの世界は知らんけど

https://www.sciencedirect.com/science/article/abs/pii/S014976341500250X?ref=quillette.com

因みに研究分析によれば脳の総容積の違いはIQ分散(違いを説明する為の因子としてどの重要か)の約16%を占めるそうである

ソースとしている論文ハイライトにはBrain sizeis not a necessary cause forhumanIQ differencesとあり

技術進歩により脳の大きさとIQの相関が今まで言われていたよりずっと小さいことが分かったと書いてある

また、この論文最後に「However, invoking the literatureoncross-species comparisons and primate cognitiveevolution to argue for brain sizeas anisomorphicproxy forhumanintelligence differencesis not warranted. Suchassumptions are」と釘を刺しているが

なぜ釘を刺さないといけないのかということを彼自身証明してしまっている…

2015年に504人の調査では子供において負の相関関係(皮質が薄いほど認知能力がある)が確認された。

https://academic.oup.com/cercor/article-abstract/25/6/1608/301081?redirectedFrom=fulltext&login=false

このような事実は何故物議を醸すのか?

女の脳は男よりも厚い、しかし、薄いほど認知能力がある、よって女は男より認知能力が劣ると言いたいようだが

これまた論文を見てみると印象が大分違って結論

These findings suggest thatintelligencemay bemore related to themagnitude and timing of changes in brainstructure during development than to brainstructureperse, and that thecortexis never completed but shows continuingintelligence-dependent development.

単純に薄いほどIQが高いという話ではなくどのタイミングで薄くなるかということが重要な様

In themore intelligent young adults, this relationship reverses so thatby theage of 42 a thickercortexisassociated with higherintelligence

ともあり厚い方がIQが高いという状況もあるようである

https://note.com/beatangel/n/nd0232cdd3c61

女性発達障害について2昔前は「発達障害男性的な特徴の過剰化が原因であり、従って女性にはあまり存在しない(極端な男性脳)」と言われてきた。

しかし、発達障害概念の広がりに伴って女性当事者が増え始め、また脳の状態スキャンするとそこまで男女比がないことなどが明らかになり、

1昔前は「女性当事者ソーシャルスキルに優れているので発達障害症状を誤魔化せてしまい、周囲から気付かれにくい」と言われてきた。

しか定量的比較した結果、ソーシャルスキル性差がないことが判明し、

今(2021年)では「女性ジェンダーバイアスによりコミュ障でも男性より好意的に見られやすく、また良いも悪いも女性社会の強烈な同調圧力により逸脱を抑え込まれてる」説が唱えられている。

彼は以前の記事でこのように書いている、ASDおよびADHDの男女比に大きな偏りがあるがそれは脳の性差ではないと

しかし、彼が一番最初に示した論文は違うことを言っている、脳の容積以外にも様々なデータをとり脳に性差があることを示し

それらが一部の精神疾患における男女の偏りの原因を解明する一歩になるのではないかと、論文中でも以下が言及されている

Why Are AutismSpectrum ConditionsMore Prevalent in Males?

https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001081

もちろん、認知症のように女が男より多い疾患もありそれらにも言及されているし

脳の性差がこれらと関連していると決定づけているわけではない

彼の良い所はソースを示してくれること、実際、興味深いものが多いが

記事の信ぴょう性は薄いというのが個人的な感想、どうもチェリーピッキングしてるっぽいか自分論文読めばいいと思う

アンチフェミニズムを拗らせた結果、憎んでいる相手と同じになっていないか

一番古い5年前のnoteを読んでみたがこの時の彼は好印象だった

偉そうにここまで書いたけど頭は良くないし論文の一本も書いたことないので間違っていたら教えて

Permalink |記事への反応(4) | 00:59

このエントリーをはてなブックマークに追加ツイートシェア

2024-10-25

anond:20241025111346

usermod -a -Ggrouplogin

Permalink |記事への反応(0) | 20:40

このエントリーをはてなブックマークに追加ツイートシェア

2024-10-22

TRPGリプレイ史上、最重要リプレイ5選

便乗便乗ゥ

1.ソード・ワールドRPGリプレイ集〈1〉盗賊たちの狂詩曲(ラプソディ)  著:山本弘 初版1989年

これがなければ、TRPGリプレイが多数書籍刊行されることにはならなかった可能性があるくらい、歴史上はとても重要作品

今に繋がるTRPGリプレイ文化の源流である

さすがに今読むと古臭い部分は否めないが、TRPGに初めて触れた人にも楽しさが伝えられる教科書的な作品ではあります

残念ながら作者の山本氏2024年逝去されています


2.新ソード・ワールドRPGリプレイ集」シリーズ通称「へっぽこーず編」 著:秋田みやび 初版2001年

MtGなどのTCGに押されまくってTRPG専門誌が次々と休刊していく中で、TRPGリプレイ書籍復権に貢献した作品

駆け出し冒険者が地道にお使い任務を繰り返して実績を重ねて成長し、最後国家危機に対抗するほどの力をつける成長譚。

冷静に考えると活躍自体は地味な部分が多かったですが、それを面白く魅せる筆致は確かなものでした。

9巻でアクシデントが起こったせいもありますが、合計10巻は当時のリプレイ作品では最長の巻数。

著者の秋田みやび氏は、経理担当グループSNE入社しながらもWeb担当を経て本作品GM及び執筆を任された異色の経歴。

現在でも小説ぼんくら陰陽師鬼嫁」を執筆されています


3.ナイトウィザードリプレイ 紅き月の巫女 著:菊池たけし 初版2003年

実は初出は成人向けゲーム雑誌「E-LOGIN」での連載作品である

声優矢薙直樹氏と小暮英麻氏をプレイヤーに迎え、インターネットラジオも同時に配信していたという何から何まで初物尽くし。

声優プレイヤーに迎えるのは当時は前例がない(推定)ことであり、以降たくさんの作品声優が起用されていくことになるきっかけとなった作品でもある。

なお、ナイトウィザード2007年アニメ放送されたが(このリプレイキャラの一部も登場)、その前の2004年アダルトゲーム作品も発売されている(こちらはリプレイとは世界観以外は関係ない)。


4.ご近所メルヒェンRPGピーカーブー 著:河嶋陶一朗 初版2008年

河嶋氏が考案した汎用のTRPGシステムサイコロフィクション」の第1弾。

子供お化けコンビになってプレイする設定のTRPGのため、実際の小学生プレイに参加している。

歴史重要なのはその点ではなく、本書はTRPGルールブックの扱いながら、その多くがリプレイに紙面を割かれている点にある。

数頁~十数頁程度のリプレイ掲載されているルールブックは珍しくはなかったが、紙面の半数以上がリプレイパートになっているというのは異例であった。

これ以降、サイコロフィクション作品では多くがこの形式をとり、ページが半数以上とまでいくものは多くないが1/4程度以上を占めるものだと、同じ冒険企画局の「艦これRPG」や「幻想ナラグラフ東方project二次創作)」だけでなく、F.E.A.R.の「オクトパストラベラーTRPG」等や、グループSNEソードワールド2.5関連のサプリメントでも同様の形式がとられるようになっている。


5.ダブルクロス The3rd Editionリプレイ・デザイア 著:加納正顕 初版2010年

TRPGリプレイとしては珍しく、「悪役」側をPCに据えた作品

ダブルクロスダメージインフレの激しいTRPGで、PCHPの2倍以上のダメージを受けることも珍しくないため、防御特化型のPCは成立しづらいと思っており、これ以前のダブルクロスリプレイ作品でもそのようなPCは一人も居なかったのですが、このリプレイで登場したPC大門寺朱香」がそのイメージを完全にぶち壊していきました。

なお、PLは声優若林直美氏。ダブルクロスは初プレイとのことでしたが、別のTRPGプレイ経験はあったとのことでした。

TRPGリプレイの人気としては、観測比でほぼ最高クラスなのですが、別に証拠はなくやや趣味枠的な扱い。


次点

ロードス島戦記D&D版)著:水野良

本来はこれを選ぶべきなのでしょうが執筆者が全く目を通すことができていないため選外に。他にも旧ウォーロック誌上のリプレイとかも挙がるかとは思います

・バブリー・アドベンチャラーズ 著:清松みゆき

これも挙げる人が多いかと思いますが、SNEだらけになってしまうこともあり敢えて外していますリプレイを基にルール改定された作品としては先駆者と言えるかと思います

クトゥルフ神話TRPG るるいえシリーズ 著:内山靖二郎

表紙に狐印氏を起用するなど明らかに狙っていますが、普通にホラー作品としては面白い。ただ、CoCブーム微妙に乗れなかったようにも見えます

なお一部リプレイ登場キャラは、アニメ這いよれ!ニャル子さんSAN期にこっそり登場してたりする。

アリアンロッド・サガシリーズ 著:菊池たけし

表題通称無印」以外にも、A-Mまでの派生(作者はきくたけ氏一人ではないが)でリプレイだけでも計40冊以上ととんでもない分量を誇る作品群。

同じ菊池氏なら、歴史上はナイトウィザードの方が重要と考え残念ながら落選

Permalink |記事への反応(14) | 20:53

このエントリーをはてなブックマークに追加ツイートシェア

2024-09-11

anond:20240910183149

元のURL全然見当たら無い

いっぱいトラックバックが付いてるのに

というか最初に付けてくれ

題名LINKしようとして失敗したのかな

「colaboの仁藤夢乃先生トーキッズ支援事業(きみまも)を痛烈批判

https://anond.hatelabo.jp/20240910183149

「colaboの仁藤夢乃先生、都のトーキッズ支援事業を痛烈批判

https://togetter.com/li/2427482

このブックマークコメント引用

https://b.hatena.ne.jp/entry/s/togetter.com/li/2427482

スマホで探したり書いたり投稿したり時間かかる

loginしっぱなしなのかな

それでも時間かかるんだけど

皆 器用だなあ

Permalink |記事への反応(0) | 11:31

このエントリーをはてなブックマークに追加ツイートシェア

2024-01-31

本日趣味プログラミング

第2回 Larabelチュートリアルを参考にログインするだけのWebアプリケーション(?)を作る

第1回で終わらなかったことを褒めて欲しい。

プロジェクト作成

composer create-project laravel/laravel example-app_20240131

index.phpアクセスできることを確認

続いて、Composerを使用してLaravelBreezeインストール

composerrequire laravel/breeze --dev

breeze:install Artisanコマンドを実行

php artisanbreeze:install

いろいろ聞かれる。わからん。とりあえずBlade/Yes/PHPUnitを選択

すると「・・・・installed successfully.」と表示されたので何かが成功したっぽい。

続いて

php artisan migrate

するとエラー

Illuminate\Database\QueryExceptionSQLSTATE[HY000] [2002] Connection refused

そもそもデータベースの準備を何もしてなかったので、エラーが出るのは当たり前だった。

サンプル用にデータベース作成し、それに合わせて.envファイル修正する。

再度、

php artisan migrate

すると「DONE」と表示。成功したっぽい

チュートリアルに従い、「ウェブブラウザアプリケーションの/loginか/registerURLアクセス」。

すると、Laravelが出してるっぽいエラー

Illuminate \ Foundation \ ViteManifestNotFoundExceptionPHP 8.1.2710.43.0Vite manifestnot foundat: /******/example-app_20240131/public/build/manifest.jsonRun npmrun dev in your terminal and refreshthe page.

npmとやらが「not found」だったので手順を飛ばしたのがやはりダメだった。

さくらインターネットでnpmを使うにはnode.jsインストールしてnpmをコンパイルする必要がある?

はい、もう無理。飽きたので今日はここまで。

次回があれば「さくらインターネットスタンダードプラン環境にnpmをインストールする」である

早くHello Worldとか書きたい。

Permalink |記事への反応(3) | 21:53

このエントリーをはてなブックマークに追加ツイートシェア

2023-12-29

増田納め2023年のマイ日記集計

こんます

2023年も残すところわずかとなりましたが、皆様方におかれましてはいかがお過ごしでしょうか。

一年間の振り返りなどはされましたでしょうか。

 

私、一年間に書いた増田を振り返ってみましたところ、

2423件の日記を綴っており、

頂いた総ブクマ数は1893、総トラバ数は1060となりました。

これもひとえに皆様方のご支援ご声援のおかげであります

本年も大変お世話になりました。

 

最期に、ポンコツの私がChatGPTの手となり足となり作成した増田集計コード掲載します。

日記URLタイトル投稿日時、文字数、被ブクマ数、被トラバ数を取得しCSVファイルに出力するものです。

お暇な方はお使いください。

 

それではよいお年をお迎えください。

import requestsfrom bs4 import BeautifulSoupimporttimeimportcsvimportosimport re#ログインURLlogin_url = 'https://hatelabo.jp/login'#ログイン情報login_data = {    'key': 'あなたユーザ名またはメールアドレス',    'password': 'あなたパスワード',    'mode': 'enter'}user_name = 'あなたユーザ名'#User-Agent ヘッダー(例:Google Chrome)headers = {    'User-Agent': 'Mozilla/5.0 (Windows NT10.0;Win64;x64) AppleWebKit/537.36 (KHTML,likeGecko)Chrome/58.0.3029.110Safari/537.3'}#セッションを開始session = requests.Session()#ログインresponse = session.post(login_url, data=login_data, headers=headers)print('login',response.status_code)# 集計データitem = {    'url': '', #URL    'title': '', #タイトル    'datetime': '', #投稿日時    'characters': '', #文字数    'bookmark': '', # 被ブクマ数    'trackback': '', # 被トラバ数}#CSVファイル名output_file = 'masuda_output.csv'#CSVファイル存在しない場合はヘッダーを書き込むif notos.path.exists(output_file):    withopen(output_file, 'w', newline='', encoding='utf-8')as file:writer =csv.DictWriter(file, fieldnames=item.keys())writer.writeheader()# 集計page_start = 1page_end = 3for i in range(page_start, page_end+1):        # 待機time.sleep(3)    #増田一覧取得    page = session.get(f'https://anond.hatelabo.jp/{user_name}/?page={i}')print(page.url)        # 応答のHTMLをBeautifulSoupで解析    soup = BeautifulSoup(page.content, 'html.parser')        entries = soup.find_all('div', class_='section')    for entry in entries:        header = entry.find('h3')timestamp = header.find('a').get('href')[1:]        item['url'] = 'https://anond.hatelabo.jp/'+timestamp        item['title'] = header.get_text()[:-1]        item['datetime'] = f"{timestamp[0:4]}/{timestamp[4:6]}/{timestamp[6:8]} {timestamp[8:10]}:{timestamp[10:12]}"        footersection_text = entry.find_all('p')[-2].get_text()                    item['characters'] =len(entry.find('p').get_text().strip(footersection_text))        item['trackback'] = int(re.search(r'\((.*?)\)', footersection_text).group(1) if re.search(r'\((.*?)\)', footersection_text) else '')        if item['title'] == '■':            item['title'] = entry.find('p').get_text().strip(footersection_text)[:35]        # 待機time.sleep(3)bookmark_page = session.get(f'https://b.hatena.ne.jp/entry/button/?url=https%3A%2F%2Fanond.hatelabo.jp%2F{timestamp}&layout=basic-label-counter&lang=ja')        soup_b = BeautifulSoup(bookmark_page.content, 'html.parser')        item['bookmark'] = int(soup_b.find('a', class_='count').get_text())        #CSVファイル追記        withopen(output_file, 'a', newline='', encoding='utf-8')as file:writer =csv.DictWriter(file, fieldnames=item.keys())writer.writerow(item)

追記

わー。ごめんなさい。文字が何か所か変わっていました。

\ → \

& → アンドマーク(打てない←なんで~?)

Permalink |記事への反応(1) | 18:12

このエントリーをはてなブックマークに追加ツイートシェア

2023-12-11

ある書籍出版するべきではないという主張にも表現の自由はある

https://querie.me/answer/ST8s9I6rozezVXc5z41p?timestamp=1702007027

https://b.hatena.ne.jp/entry?url=https%3A%2F%2Fquerie.me%2Fanswer%2FST8s9I6rozezVXc5z41p%3Ftimestamp%3D1702007027&_www_via=login

既に回答欄で必要なことは書かれているが、「有害な本を出さな道徳的義務があるに決まってますよ。」等の表現にひっかかってしまう人はいるようだ。誰がその正しさを担保するのかというような噛み合わない指摘がブコメには散見される。そもそも質問自体が少し混乱した内容になっているように思われるので、前段の「事実誤認や著しい誤りがある本は出版するべきではない」という主張について、少し内容を変えて「(ある書籍を)出版するべきではない」という表現表現の自由が認められるだろうかという観点から考えてみたい。

まず、おそよどのような主張であれ、その内容に一切かかわらず、言う(表現する)ことが正しく、言わない(表現しない)ことが間違っているという価値観を持っている人は、恐らくいないだろうというところから始める。「どのような」という中身は、回答者のいう「デマ」や「他人に害を与える」内容のものかもしれないし、名誉棄損(他人に害を与えるに入るだろうが)やステマ広告かもしれないし、ある表現をするべきではないという内容の表現かもしれない。その範囲に関しての価値観はそれぞれに違いがあっても構わないし、むしろ違うはずだが、およそ常に表現がされることが正しく、されないことが正しくないという主張は、誰にも支持されないだろうとういことは前提にできると思う。

その中で、具体的にどの表現がされるべきでないものなのかということについては、社会構成員間で価値観の違いがある以上、社会的に決定せざるを得ない。その決定は、各々の異なる意見表現によって交換すること、すなわち、議論によって形成されていくべきだ。そうやって、名誉棄損や著作権法違反への表現規制は認められてきたわけで、その議論担保するからこそ表現の自由は民主主義社会において重要性があると言える。つまり表現規制についてもその限界議論によって定められるべきだということも前提にしていいだろう。

ここで、「出版表現)するべきではない」という主張に表現の自由が認められないとすれば、表現に関する規制について、常に片側の議論の主張を欠く状態になってしまう。無論、あらゆる表現において表現されることに価値があるとか、表現すべきではないことについては議論余地なく決めることができるという前提があれば、そのような表現規制も許されるだろうが、これは今まで書いてきた前提とは反する。つまり出版するべきではないという表現にも表現の自由は認められ、一定尊重がされるべきであるに決まっている、ということになる。

その上で、質問者に戻るのだが、出版するべきかどうかという判断に「事実誤認や著しい誤りがある」かどうかという観点を入れた場合、いわゆる思想の自由主義市場問題、すなわち、誤っているかどうかという判断自体表現を戦わせることによってしか得られれないものではないかという問題が出てくるという側面がある。その点から、およそと事実誤認等を理由にした表現の事前の抑制は行うべきではないという主張はあり得るだろう。ただし、医薬品に関する虚偽の効能広告規制のように、実際には事実に反することを理由法規制される出版行為がある場合もあることからかるとおり、少なくとも現行法解釈上は思想の自由主義市場的な価値はほかの価値との相対的な衡量の中で認められるものにすぎない(出版という一行為態様が禁じられるということが直ちに表現のものを封じられるわけではないということも考慮すべきだろう。)。抽象的な議論を離れ、個別の事例の判断になれば、消費者保護等の観点から規制をおよそ認めないという人は少ないのではないかと思われ、そうだとすれば、その限界判断批判を含めた議論の中で決められるべきという上述の議論に戻ることになる。

インターネット上では、いわゆる反キャンセルカルチャー的な文脈から批判表現自体ですぐに表現の自由を持ち出し反批判を行う意見散見されるが、批判表現表現の自由で認められるべき重要表現である。少なくとも、近時話題になっている角川の事例においては、表現の自由な交換による意思形成を超えた、事実上の表現規制的な圧力がかかったとは私には到底考え難い(まあ、そう考えたい向きがいることも仕方がないことだなとは思う。)。他方で、個人ツイッター(X)上の大したことのない発信に鬼の首でもとったかのような大量のリプライが付くような場合など、この時代において考えるべき問題存在しないわけでもない。批判表現という表現の自由にとって重要表現一般論で封じ込めて「論理的にすっきり」しようとするのではなく、一つ一つの事例にきちんと頭を悩ませることが重要なのではないかとふわっとさせて終わりたい。

Permalink |記事への反応(0) | 18:17

このエントリーをはてなブックマークに追加ツイートシェア

2023-03-31

Unikbet : Situs Poker Online Deposit Bank Maybank Terpercaya

Bermain Poker Online Dengan Bank Maybank

Bermain poker online bank Maybank memang mengasikkan, selainnya melepaskan capek setelah aktivitas sepanjang hari kita bisa juga memperoleh keuntungan saat bermain game poker online. Poker sebagai salah satunya permainan yang banyakdimainkan olehpara penggemar taruhan kartu. Selainitu, permainan highsdomino yang saat ini banyak penggemarnya,ada pula Unikbet yang datang dengan beragam tipe permainan poker yang tidak kalah dari higgsdomino yang sedangviral ini.

Situs Judi Poker online bank Maybank awalannya berkembangdiIndonesia datang dari warga yang menyenangi poker pada suatu platfrom sosmedfb,dimulai dari jualchip sampai mengantongi keuntungan dari jualchipsitu. Dari sanalah awalannya mengembangnya permainan poker yang rupanya bisa menghasil keuntungan besar. Tetapi sekarang ini anda bisa bermain pokertak perlu cari calon pemain yang hendak belichips anda. Tetapidi sekarang ini anda bisa bermain poker dengan mendeposit lebih duludan kemenangan akandi kirimkan ke rekening anda langsung.

Daftar Judi Poker Online Pakai Bank Maybank Terpercaya

Daftar Judi Poker Online Bank Maybank menjadi satu piihan alternatif untuk kamu yang suka bermain poker tetapi tidak mempunyai akun bank yang seringdipakai oleh orang dalam menabung. Bank Maybank ini resmi menjadi satudiantara bank yang telah tercatat OJK yang tentu saja sangat aman untuk kamu yang ingin bermain poker online menggunakan bank Maybank.

Ada beberapa kelebihan dalam games poker bisa pakai bank Maybank untuk lakukan transaksi bisnis saat bermain bersama Unikbet. Dalam memakai Maybank dalam berbisnis bersama Unikbet, anda dapat memudahkan dalam mengelola keuangan kamu bersama bank Maybank.

MengapaSaya Tidak Dapat Memakai Saldo Bank Maybank untuk bermain poker ?

Bila kamu memperoleh kesusahan dalam bertransaksi deposit poker bank Maybank kepada member judi poker onlinedan bisa daftar poker online secara resmi ketikalogin unikbet resmi. karenaitu anda harus memerhatikan banyakhal bawah ini :

Kamu tersambung dengan koneksiinternet yang konstan.

Kamu sudah menyambungkan account bank Maybank kamu.

Yakinkan Saldo dalam bank Maybank kamu cukup.

Account poker online kamu tidak memilikimasalah.

Saldo Maybank cuman dapatdi transfer ke bank arah dari Unikbet saat lakukan deposit.

Tetapi jika anda telah penuhi persyaratandi atas,dan belum juga dapat lakukan transaksi bersama Unikbet, karenaitu anda langsung bisa lakukan chat dengancs kami yang online24jam untuk membantu menyelesaikan permasalahan anda.

Mengapa harus menggunakan Maybank Dalam Bermain Poker ?

Bermain Poker Online Dengan Bank Maybank

Tentunya dalammasa teknologi yang berkembang pesat, anda dapat memperoleh sebuah privilege saat bermain poker menggunakan bank Maybank. Keuntungan dapat anda peroleh jika anda lakukan transaksi bisnis dari dompet Maybank untuk memperoleh penghargaan berbentuk gopay koin, voucher gojek dengan nilai 100rb. Tidak cuma memperoleh bonus rollingan dari Unikbet, tetapi anda juga bisa memperoleh bonusitu cuman bila anda memakai bank Maybank saat bermain poker online.

Keuntungan Bermain Poker Memakai Bank Maybank

Sama seperti yang telah kami ulasdi atas, beragam tipe keuntungan dapat anda peroleh saat bermain poker memakai Maybank.Dimulai dari bonus rollingan, bonus referral,danada banyak promo yanglain. Tentu saja sebuah keringanan dapat anda peroleh jika anda bermain poker memakai bank Maybank,dimulai dari keringanan berbisnis yangtak lagi perlu pergi ke mesinatm paling dekat. Anda hanya memakai handphone kesayangan anda untuk lakukan transaksi bisnis. Cukup satu duaclick anda telah langsung bisa bermain poker online bersama agen Unikbet.

Nahitu sejumlah keuntungan anda saat bermain poker memakai Maybank sebagai alat transaksi bisnis. Bagaimana apa anda tertarik bermain poker bersama Unikbet memakai bank Maybank? Jika tertarik anda harus lakukan registrasi saat ini gan! register akun andadi sini.

Permalink |記事への反応(0) | 09:06

このエントリーをはてなブックマークに追加ツイートシェア

2023-02-16

anond:20230216090111

一本目: Falcon(Spectrum holobyte,Macintosh用)

Mac最初期のフライトSIM。9インチモノクロモニタMacSEで頑張ってやったんだが、ほとんどまともに飛ばせず。マニュアル邦訳されてなかったと記憶する。

二本目: SIMCITY(Maxis,Macintosh用)

言わずと知れた箱庭系SIMパイオニアの一つにして金字塔。 これも輸入物で邦訳はなし。LOGiNコンプティークにも詳しい情報があまりなかった。

とは言え、これはフライトSIMみたいに一分一秒を問われる様なことはないので、辞書引きながらマニュアルダイヤログを読んで、なんとかかんとかプレイは出来たので元はとれた。(Falconはとれなかった)

インチの小さな画面でよくやってたなと思うw

Permalink |記事への反応(0) | 23:20

このエントリーをはてなブックマークに追加ツイートシェア

2022-08-01

anond:20220731183342

自動安価をつけて返信するプログラムでもこんなに長く複雑になる(一部抜粋) 

/**************************************

以下のCSV_DIR, FILE_PATHS,SETTINGSを書き換えてね。 <h3>o- *************************************/</h3>

//CSVファイルが置かれてるディレクトリパス投稿前にエラー出たら大体ここの設定ミス。 例:"C:\\Users\\sakuraimasahiro\\Documents\\iMacros\\Macros\\rentou\\";

constCSV_DIR =

'C:\\Users\\USER\\Desktop\\iMacros\\Macros\\rentou\\';

//ファイルパスCSV絶対パスで、拡張子必要。iimは相対パスでよく、拡張子不要

const FILE_PATHS = {

//投稿文が書かれたCSVファイル

textCsv:CSV_DIR + 'textNoAnker.csv',

//レス投稿文が書かれたCSV。通常とレス用で分けないなら同じファイルを使えばいい。

replyTextCsv:CSV_DIR + 'textReply.csv',

};

constSETTINGS = {

//投稿後の基本待ち時間

baseWaitTime: 5,

//baseWaitTime+0~waitTimeRange(ランダム)だけ待つ

waitTimeRange: 5,

//連投しすぎだと忠告された場合に処理を一時停止させる時間(秒)

waitTimeForAvoidingPunishment: 60 * 30,

//メール

mail: 'sage',

//名前設定

nameSettings: {

//名前名無しなら''。

name: '',

//以下、偽装ワッチョイ設定。浪人ワッチョイを非表示にしてるときだけtrueにしてね。

//妙なニックネーム(ワッチョイ、アウアウウーなど)をランダムで決めて付加するかどうか。true=付加する。false=付加しない。

nickname:false,

//妙なニックネームの後に付く8桁の文字列ランダムで決めて付加するかどうか。

korokoro:false,

//IPランダムで決めて付加するかどうか。

ip:false,

//地域ランダムで決めて付加するかどうか。

area:false,

},

postSettings: {

//アンカー無し投稿をするならtrue。しないならfalse。noAnkerPostかreplyPostのどちらかはtrueにすること(両方trueでもOK)。

noAnkerPost:false,

//アンカー付き投稿(返信)をするならtrue。しないならfalse。もしnoAnkerPostとreplyPostの両方がtrue場合投稿は返信が優先され、返信対象が見つからなくなったらアンカー無し投稿をする。

replyPost:true,

//最初に取得するアンカー無し投稿CSVファイルの行番号。もし返信用と同じCSVファイルを使うなら-1と入力

noAnkerPostTextCsvStartRow: 1,

//最初に取得する返信用投稿CSVファイルの行番号。もしアンカー無しと同じCSVファイルを使うなら-1と入力

replyPostTextCsvStartRow: 1,

//テキストCSV/返信用テキストCSVの取得行が最終行に達したら最初の行まで戻るかどうか。true=戻る。false=マクロ終了。

textCsvLoop:true,

//返信する場合、これより小さなレス番には返信しない。返信を投稿すると、この数値は前回の返信先のレス番に更新される。

minAnker: 895,

//返信する場合名前に以下の文字列を含む投稿アンカーをつけて返信する(ワッチョイやIPなど名前フィールドにあるものならなんでも可)。配列複数指定可能指定無しなら空配列([])。filterNamesとfilterNamesNotIncluded共に無指定ならレス番1から順に返信していく(minAnkerが設定されてればそこから順に)。以下のfilter系は全て併用可能

filterNames: [],

//↑とは逆に、名前に以下の文字列を含まない投稿アンカーをつけて返信する。↑と併用も可能

filterNamesNotIncluded: [],

//返信する場合、本文に以下の文字列を含む投稿アンカーをつけて返信する。

filterText: ['自演かな', '自演わらわら', 'スクリプト使うの', '安価ガバ', '>>660', '自演擁護', '最後' ,'あいうえお', 'かきくけこ', 'さしすせそ', 'なにぬねの', 'はひふへほ', 'まみむめも', 'やいゆえよ', 'やゆよ', 'らりるれろ', 'わいうえを', 'わをん', 'わいうえをん'],

},

//自分IPアドレス確認VPNとかでIPを変更してマクロを動かしてるとき、突然VPN作動しなくなってIPが元に戻ったときマクロを止めるためのもの

ipSettings: {

//自分現在IPアドレス確認をする。

checkIp:true,

//以下の文字列自分現在IPアドレスに含まれている場合マクロを一時停止する。基本的自分の本当のIPアドレス入力

avoidTheIp: '133.206.99.224',

},

//浪人設定。最後動作確認したのは5年くらい前で、今も同じように動作するかは、浪人を持ってないか確認できずわからない。

roninSettings: {

//浪人ログインしてるかどうかをチェックするかどうか。trueらするfalseならしない。trueにしていてもし浪人ログインしていないことを確認したらログインしにいく。

checkLogin:false,

//浪人ログインメールアドレス

mailAdress: 'abc@def.com',

//浪人ログインパスワード

password: '1234',

},

//false:run()実行させず(デバッグ用)

run:true,

//true:投稿処理だけしないデバッグ

skipPost:false,

};

/**************************************

設定箇所終わり。

書き込めない時の早見表 - 5ちゃんねるwiki

https://info.5ch.net/index.php/%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%81%E3%81%AA%E3%81%84%E6%99%82%E3%81%AE%E6%97%A9%E8%A6%8B%E8%A1%A8 <h3>o- *************************************/</h3>

/**************************************

メモ

クラスフィールド宣言できない。

・NULL演算子(??)は使えない。論理積(&&)は使える。

オブジェクトの分割代入はできない。

・importはできない。 <h3>o- *************************************/</h3>

/**************************************

関数 <h3>o- *************************************/</h3>

/**

* ここから始まる。

*/

functionrun() {

//設定ミスがないか調べる。

checkSettings();

var _TextCsvCursors = newTextCsvCursors(

newTextCsvCursor(

SETTINGS.postSettings.noAnkerPostTextCsvStartRow> 0

?SETTINGS.postSettings.noAnkerPostTextCsvStartRow - 1

:SETTINGS.postSettings.noAnkerPostTextCsvStartRow,

FILE_PATHS.textCsv,

SETTINGS.postSettings.textCsvLoop,

),

newTextCsvCursor(

SETTINGS.postSettings.replyPostTextCsvStartRow> 0

?SETTINGS.postSettings.replyPostTextCsvStartRow - 1

:SETTINGS.postSettings.replyPostTextCsvStartRow,

FILE_PATHS.replyTextCsv,

SETTINGS.postSettings.textCsvLoop,

),

);

var _LoopStatuses = newLoopStatuses(0,SETTINGS.postSettings.minAnker);

const _MyPosterName = new MyPosterName({

name:SETTINGS.nameSettings.name,

});

//スレURL指定

const _ThreadUrl = openPromptThreadUrl();

//ループ

while (true) {

//IP確認する設定なら、それをする。

SETTINGS.ipSettings.checkIp && checkCurrentIpNotTheIp();

//スレを開く

openUrl(_ThreadUrl.fullUrlHttps());

//浪人ログインする設定なら、浪人ログインしているかどうかを確認し、していなければログインしにいく。

if (SETTINGS.roninSettings.checkLogin) {

if (!checkRoninLogin()) {

loginRonin();

continue;

}

}

//投稿に使うテキスト取得。

const p = (function () {

if (SETTINGS.postSettings.replyPost) {

//返信あり設定の場合。返信対象が無いか調べる。

const targetAnkerNumber = createPostDOMList()

.filterPostnumberHigher(_LoopStatuses.currentMinAnker())

.filterByPostername(SETTINGS.postSettings.filterNames)

.filterByPosternameNotIncluded(

SETTINGS.postSettings.filterNamesNotIncluded,

)

.filterByText(SETTINGS.postSettings.filterText)

.lowestPostNumber();

if (targetAnkerNumber !== null) {

//返信対象があったのでアンカー付き投稿文を作る。

const r = _TextCsvCursors.takeNextRowTextAsReply(targetAnkerNumber);

messageDisplay(`返信対象有り。アンカー先: ${targetAnkerNumber}`);

return {

...r,

updatedLoopStatuses:

_LoopStatuses.updateMinAnker(targetAnkerNumber),

};

}

}

if (SETTINGS.postSettings.noAnkerPost) {

//返信対象無し、或いは返信しない設定の場合アンカー無し投稿文を作る。

const r = _TextCsvCursors.takeNextRowTextAsNoAnker();

messageDisplay('返信対象無し。アンカー無し投稿。');

return {

...r,

updatedLoopStatuses: _LoopStatuses,

};

}

return null;

})();

if (p) {

//投稿

postThenCheckError(

_ThreadUrl.serverName(),

_MyPosterName.randomize({

nickname:SETTINGS.nameSettings.nickname,

korokoro:SETTINGS.nameSettings.korokoro,

ip:SETTINGS.nameSettings.ip,

area:SETTINGS.nameSettings.area,

}),

SETTINGS.mail,

p.text,

);

//_TextCsvCursorsと_LoopStatusesを更新

_TextCsvCursors = p.updatedTextCsvCursors;

_LoopStatuses = p.updatedLoopStatuses.incrementPostCount();

messageDisplay([

`投稿回数: ${_LoopStatuses.currentPostCount()}`,

`minAnker: ${_LoopStatuses.currentMinAnker()}`,

`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,

`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,

]);

} else {

messageDisplay([

`返信対象が現われるのを待機中...。`,

`投稿回数: ${_LoopStatuses.currentPostCount()}`,

`minAnker: ${_LoopStatuses.currentMinAnker()}`,

`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,

`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,

]);

}

//短時間で連投しまくると規制されるので一定時間待機。

wait(SETTINGS.baseWaitTime + randomRange(0,SETTINGS.waitTimeRange));

}

}

/**

*投稿処理と投稿結果を見てリトライしたりマクロ終了したり。

* @param {string} serverNameサーバー

* @param {MyPosterName} _MyPosterName

* @param {string}postMailメール

* @param {MyText} _MyText

* @param {number} retryTimes

* @returns {void}}

*/

functionpostThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes = 0,

) {

const r =

retryTimes === 0

? newValuesOfPost(serverName, _MyPosterName,postMail, _MyText).post(

postTo5chTread,

postConfirm,

)

: newValuesOfPost(

serverName,

_MyPosterName,

postMail,

_MyText,

).postSubstring(retryTimes,postTo5chTread,postConfirm);

if (r) {

back();

return;

}

//エラーページに飛ばされた。エラー情報取得。

wait(7);

consterror = createPostErrorMessage().analyze();

messageDisplay(error.message);

if (error.order === 'KILL') {

kill();

} else if (error.order === 'SKIP') {

return;

} else if (error.order === 'TRUNCATE') {

back();

returnpostThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes + 1,

);

} else if (error.order === 'WAIT') {

wait(SETTINGS.waitTimeForAvoidingPunishment);

returnpostThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

} else if (error.order === 'LOGIN') {

//動作未確認

returnpostThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

}

return;

}

/**

*現在IPアドレスに、SETTINGS.ipSettings.avoidTheIpの値が含まれていないことを確認する。含まれていたらマクロを一時停止。

* @returns

*/

function checkCurrentIpNotTheIp() {

//IP確認ページへ飛ぶ

openUrl('https://www.cman.jp/network/support/go_access.cgi');

const _IpAdress = createIpAdressFromCMan();

if (_IpAdress.includes(SETTINGS.ipSettings.avoidTheIp)) {

pause('現在IP指定した値が含まれていることを確認。');

//ポーズ解除したならもう一度確認しに。

checkCurrentIpNotTheIp();

}

return;

}

/**

* 設定に致命的な問題が無いか検査

* @returns

*/

function checkSettings() {

if (

SETTINGS.postSettings.noAnkerPost ===false &&

SETTINGS.postSettings.replyPost ===false

) {

return kill('設定エラー。noAnkerPostとreplyPost両方ともfalseになってる。');

}

if (

SETTINGS.postSettings.noAnkerPostTextCsvStartRow < 0 &&

SETTINGS.postSettings.replyPostTextCsvStartRow < 0

) {

return kill(

'設定エラー。noAnkerPostTextCsvStartRowとreplyPostTextCsvStartRow両方とも-1になってる。',

);

}

if (

SETTINGS.postSettings.noAnkerPostTextCsvStartRow === 0 ||

SETTINGS.postSettings.replyPostTextCsvStartRow === 0

) {

return kill(

'設定エラー。noAnkerPostTextCsvStartRow/replyPostTextCsvStartRowの初期値は-1或いは1以上で。',

);

}

}

/**

*入力フォームを表示して入力されたスレURLを受け取る。

* @returns {ThreadUrl}

*/

function openPromptThreadUrl() {

consturl = prompt('スレURL入力');

return newThreadUrl(url);

}

/**

* 開いてるスレレス全て読み取ってPostListインスタンスを作って返す。

* 重すぎるので使うのやめ。どうやらインスタンスの大量生成が原因な模様。

* createPostDOMListを使う。

* @returns {PostList}

*/

function createPostList() {

constposts = window.document.getElementsByClassName('post');

return newPostList(Array.from(posts).map((e) => newPost(e)));

}

/**

* 開いてるスレレス全て取得してPostDOMListに格納して返す。

* @returns

*/

function createPostDOMList() {

constposts = window.document.getElementsByClassName('post');

var arrPostDOMList = [];

for (letindex = 0;index <posts.length;index++) {

//HTMLCollectionからElementを1つずつ抽出して配列に。

arrPostDOMList.push(posts.item(index));

}

return newPostDOMList(arrPostDOMList);

}

/**

* 開いてる投稿結果画面に表示されてるエラーを読み取ってPostErrorMessageインスタンスを作って返す。

* @returns {PostErrorMessage}

*/

function createPostErrorMessage() {

return newPostErrorMessage(

window.document

.gPermalink |記事への反応(0) | 15:40

このエントリーをはてなブックマークに追加ツイートシェア

2022-07-03

CoreKeeper Dedicated Server をサービス登録する

なんで?

手順

/etc/systemd/system にcorekeeperds.service って名前で以下の内容のファイルを作る。

[Unit]Description=CoreKeeper Dedicated ServerDocumentation=[Service]Type=execUser=steamGroup=steamTimeoutStartSec=0Restart=alwaysRestartSec=30sWorkingDirectory=/home/steam/Steam/steamapps/common/CoreKeeper Dedicated Server/ExecStartPre=/home/steam/steamcmd +loginanonymous +app_update 1007 +app_update 1963720 +quitExecStart=/usr/bin/env "/home/steam/Steam/steamapps/common/CoreKeeper Dedicated Server/_launch.sh"SyslogIdentifier=CoreKeeperDS[Install]WantedBy=multi-user.target

※ ExecStart はバグっているので空白のあるパスを食わせるとうまく処理できない。なので /usr/bin/env 経由で文字列を食わせている。古の知識

作ったら、

chmod755 /etc/systemd/system/corekeeperds.servicesystemctldaemon-reload

して、完了

あとは

systemctl startcorekeeperds.service

サービス開始。

systemdがプロセスを死活監視して、異常終了した場合(この辺の挙動は 後述のNote 参照)に勝手再起動してくれるようになります

状態

systemctl statuscorekeeperds.service

で見て、

止めるとき

systemctl stopcorekeeperds.service

で。(時間かかる)

Note

Restart=on-failure で大丈夫だと思うのですが、うまく上がってこないときalwaysかにした方がいいかもしれません。

Restart の各設定値の挙動については以下が詳しいです。

https://tex2e.github.io/blog/linux/systemd-restart-config

ごめん

ぼっちなので、私のサーバーには Dedicated Server が落ちるほどプレイヤーが来ません。

なので Systemd への登録で、ちゃん再起動するかどうかは確認できてない感じです。

出来なかったらごめんなさい。

anond:20220627125211

Permalink |記事への反応(0) | 02:11

このエントリーをはてなブックマークに追加ツイートシェア

2022-06-27

CoreKeeper Dedicated Server をVPS 上に構築したときの手順メモ

Ubuntu 22.04LTS x86_64 で構築。

CoreKeeper側でapt依存しているっぽいので、Ubuntu でやった方が楽だと思います

Tips

Ubuntu20TLS でやる場合、/home/steam/Steam/ が /home/steam/.steam/ になってたと思うので、環境に合わせて読み替えてください。

Installsteamcmd dependent packages

dpkg--add-architecturei386add-apt-repository multiverseapt-get updateapt-get dist-upgradereboot

CreatesteamcmdUser

useradd-msteampasswdsteamgpasswd-asteamsudo

Steamcmd /CoreKeeper Dedicated Server Install

sudo-usteam-scdsudoapt installsteamcmdln-s /usr/games/steamcmdsteamcmd./steamcmd+loginanonymous+app_update1007+app_update1963720+quit

Runsteamcmd (Install and CreatingCoreKeeper Dedicated Server system drectory )

cd ~/Steam/steamapps/common/Core\Keeper\ Dedicated\ Server/./_launch.sh

Press Ctrl + C for StopCoreKeeper Dedicated Server

World file migration (if thereis an old file)

mkmir-p-m775 /home/steam/.config/unity3d/Pugstorm/Core\Keeper/DedicatedServer/worldschownsteam:steam /home/steam/.config/unity3d/Pugstorm/Core\Keeper/DedicatedServer/worlds

Copy old world file (0.world.gzip) to

/home/steam/.config/unity3d/Pugstorm/Core\Keeper/DedicatedServer/worlds

Copy old setting file (*.json) to

/home/steam/.config/unity3d/Pugstorm/Core\Keeper/DedicatedServer/

chmod664 /home/steam/.config/unity3d/Pugstorm/Core\Keeper/DedicatedServer/worlds/0.world.gzipchmod664 /home/steam/.config/unity3d/Pugstorm/Core\Keeper/DedicatedServer/*.json

Backup setting

vi /etc/cron.hourly/corekeeper_backup#!/bin/bashcp-a /home/steam/.config/unity3d/Pugstorm/Core\Keeper/DedicatedServer/worlds/0.world.gzip /home/steam/worldbackup/0.world.gzip.`date'+%Y%m%d%H%M%S'`cp-a /home/steam/Steam/steamapps/common/Core\Keeper\ Dedicated\ Server/CoreKeeperServerLog.txt /home/steam/worldbackup/CoreKeeperServerLog.txt.`date'+%Y%m%d%H%M%S'`chmod777 /etc/cron.hourly/corekeeper_backupsudo-usteam-scdmkdir worldbackup

StartCoreKeeper Dedicated Server

sudo-usteam-scd ~/Steam/steamapps/common/Core\Keeper\ Dedicated\ Server/nohup ./_launch.shtail-f ~/Steam/steamapps/common/Core\Keeper\ Dedicated\ Server/CoreKeeperServerLog.txt

サーバースペック

利用者問題か、サーバー問題かわかりませんが人数が10人超えるとCPU4コア/メモリ4G/100Mbps で結構ラグかったです。

今はCPU6コア/メモリ8G/1000Mbps で動かしています

不具合 (2022/06/28時点)

6-8人以上で2-3時間サーバー動かしてると、Unityライブラリがsegfault起こして、CoreKeeper Dedicated Server が落ちます

ログ取れたのでバグレポしましたが、改善するまでは不特定多数が好き勝手するサーバーみたいなのを長期運用するのは厳しいかなと思いますタイミングによってはアイテムロストしてしまうので。

遊びで使うなら、ウォッチドック的なサービスを入れて、落ちたら適宜起動しなおすみたいな対応をした方がよいと思います

Permalink |記事への反応(1) | 12:52

このエントリーをはてなブックマークに追加ツイートシェア

尼崎USBメモリ問題ブコメをまとめてみた

https://b.hatena.ne.jp/entry?url=https%3A%2F%2Fnews.yahoo.co.jp%2Farticles%2F7a49e886acc103eb507adffaa78be4f81fcc8413&_www_via=login

IT業界に限らず日本多重下請け大好きマンなんだけど、

意外とみんなこの問題本質を分かっているひとが多かった。

みんな気づいてても黙ってただけなのね・・・

この事件がメスを入れるターニングポイントになる気がした。

以下、良さげなブックマークコメント抜粋


ビジネスとしての不健全性を指摘する声

gabill 市は「高い金払ってるんだからちゃんとしてくれないと」と思っていても、実際に作業する人は責任に見合った金は貰ってないという構造的な問題だよなぁ。

runeharst 孫請みたいな感じで商流深い分、支払われるお金が低くなってこうなる事例

gowithyou 3次受けということ?日本ユニシスから社名変えたのに体質全然変わってないな。まぁこ会社技術何もなくてただ「工数管理」してるだけだからなぁ。

kenjou下請け下請けがやらかすという、現代日本の縮図のような話。中間搾取がはびこると仕事の質が落ちるし、労働者収入も減るしで、いいことはなにもないよね。

Fushihara 外部委託した事より嘘をついた事の問題だと思うけど、でもこの国では「部下が間違えました」って言えば全て許されるのが民意だもんね。古い考えですまんすまん

gohantaberucom 金払ってる人と、作業担当者はいくらピンはねされてるかが知らないことが多く、それが不幸のはじまり。逆に中間搾取で楽してる奴らの存在が、不幸をもたらしている。金の流れを可視かして担当者が知る法律必要

mayumayu_nimolove 間違いなわけない。責任逃れの嘘、バレそうだったのでこう言うことにしようと練った結果。

Falky 当該男性が『BIPROGY関西支社の社員大阪府吹田市内で飲酒した』ってことは、商流を厳密に見ると曽孫請けだけど普段認識は「常駐で働いてる業務委託さんの一人」だった、みたいな感じかもしれんね。わからんけど。

vbwmle 「再委託業者だけど業務委託で常駐してるからうちの社員として顧客説明する(??)」という意味不明な慣例

ashitaharebare下請け下請けから元請けのBIPROGYに責任ありませんってこと?トカゲの尻尾切りして恥ずかしくないんか?

ene0kcal またか。この業界はなんなら一時的契約社員したりするからな(やられたことあるので経験済み)。

ripple_zzz無駄ホワイトカラーが多すぎるからこうなる

wakwak_koba最初発注時点では月150万なのに、実際に手足を動かす作業員の会社は50万しか貰えていないやつや!

nageo 直接の契約先(BIPROGY)の担当残業使い切っても終わらない業務量があるっていう実態があるから「じゃあ委託工数増やそう」って話にもなってるんじゃ。無駄仕事クオリティ要求しすぎなんじゃないか日本

cotbormi  やはり委託していけば行くほど、レベルが低下していくもんだな。これはひどい

ywdc そりゃ事故も起きるわな。多重下請け責任に見合った金も出してないんだろう。構造上の問題なので解決は困難だ

ysyncシステム構築に多重構造有用場合もあるのはわからんでもないが、「データ移行作業運用で孫請ってただの丸投げよね。

qouroquis従業員個人やらかしなら再発防止を徹底する、で済むが、元請が無断で再委託していたとなると組織ぐるみ不正であって内部統制機能していないということ。他にも類似案件がないか徹底して調査する必要がある。

kori3110現場人間薄給でこき使うことが「経営努力」なんだと誤認し続けたこの30年の煮凝りのような話これはひどい

metatrading三次請けともなるともう駆け出しも居ますよ。

rajahbrooke多重下請け構造じゃない案件の方がレア

findup これ自体ダメだと思うけど、元請け下請けに投げず全てプロパー作業するとおそらく赤字利益ほとんどでないか下請けに投げる。では元請の社員給料下げるか?みたいな構造なんだよね。

kagoyax こういう下請けは多いと思うぞ。当然契約下請け下請け禁止されてるが、社員に口止めしてるところもある。というかそういう企業で働いてた

nobujirou 某広告代理店最初の打合せは、背広着たおっさん大勢いで来るけど、途中から人が少なくなって、最後の方は、縁もゆかりもなさそうなフリーランスおっさんバイト女子が2人いるだけだから

junk-do下請け下請け社員が全市民銀行口座含む個人情報自由に持ち歩けるんだ・・・

otation 5次請けの殺し屋の話を思い出した。末端に行くほど統制が取れなくなっていく

poponponpon そりゃ仕事する側も責任感なんて微塵も感じませんわ



ビジネス飲酒行動の問題を指摘する声


lorenz_sys 紛失した本人がBの協力会社の(再)委託先という点よりも元請けが飲みに誘ってるらしいってのが現場感覚としては最も違和感を覚える。作業監督をしなきゃいけない立場だろうに。再委託自体契約によってはOKだけど。

niam飲み会、BIPROGY の社員から誘ったって他の記事に書いてあった。協力会社委託先って、上司上司もんだから飲みに行こうと誘われたら断れんわな…お酒弱かったのに飲みに誘われてついていかざるを得なかったのか。

Falky 当該男性が『BIPROGY関西支社の社員大阪府吹田市内で飲酒した』ってことは、商流を厳密に見ると曽孫請けだけど普段認識は「常駐で働いてる業務委託さんの一人」だった、みたいな感じかもしれんね。わからんけど。

orangehalf 紛失したのが孫請だろうが協力会社社員個人情報を持たせた状態でBIPROGYの社員が一緒に飲みに行っている時点で元請の責任しかない。最初報道の時点でアウトな要素溢れていたけどまだまだ出てくるのかな

headacher2委託先がやってようが飲みに行ってようが関係なくBIPLOGYの責任

hatahata_chan元請けが飲みに誘ってるし、元請けが取るべき責任自体は変わらない。ただ、元請けがまともにリソース管理もできてないという醜態を追加しただけ。



エンドユーザー問題を指摘する声


n2sz個人情報を扱うのに再々委託ってのはなあ。USBメモリで運んだのは正規手段じゃないにしても個人情報の処理自体は元から計画だよね?

theatrical まぁ、管理監督できるから大丈夫です!って言って下請け使ってるのに、重大事案で誰が紛失したのかもよくわかってないなら、一体何を管理してたんですか??みたいな話になるよな。

rdlf委託OKかどうかはポリシー次第だけど、記事を読むと委託するには許可必要なのにこの事件で初めて知ったとか書いてあるので最低限のことを守っていないのはかなりまずい…

estragon尼崎市もBIPROGY(元日ユニシス)も、あまり杜撰

sionsou でも一次委託先は変えないんでしょ? 結局大手名前だけのところがもっていくんだよなぁ。都内でも同事例腐るほどありそう

magnitude99日本の重層的な搾取制度の中で、常識さえ有れば、こうした事例が少なからず生まれるだろうと誰もが想像する。だが、尼崎市はそうなるかもと想像出来なかった程に、世間実態を知らないか、知らぬ振りを決めて来た。

somei2012 ここに限らず下請け孫受けが基本の社会は切り捨てが楽だものねえ。市役所集団検診に行ったら胸部、胃部、子宮乳のレントゲンバスが全車社名が違って入札落とした施設はどこぉ?って笑ったの思い出す

yokeimonochang問題発注者の役所側でしょ。機密情報管理規定契約ガチガチに固めておけば業者側の対応もそれなりになる。これも実質すいませんでしたで終わりで責任所在が無いのと同じ。社会レスポンシビリティが無い

iasna三次受けだったからなんだって???責任はどこだろうが一緒これはひどいセキュリティ

nP8Fhx3T構造問題はあるけど根本的にはエンドユーザ側の当事者意識の低さが招いた事だよね。自分達がちゃんセキュリティ管理してたら元請以外が機密情報触るの禁止してるでしょ

tsuki-rs 市はどうしても委託先のせいにしたくてしょうがないんだと思うけど、でもさ、個人情報の入ったUSBを無断で持ち運べるようにしてる環境や仕組みが一番悪いからな。市も半分くらい悪いぞ。

w_bonbon 人のせいにするのを忘れていました。しっぽ切りするには不適切説明申し訳ございませんでした。

monokoto01 金払ってる市も、作業してる担当者も、実際にいくら支払われて、いくら中間搾取されてるのか知らないことが、闇なのよ。というか、間にいる人たちがあえて隠してる



国防・国力低下的な意味ヤバイという指摘

hobbiel55 当初から担当者のあまり杜撰な行動から協力会社よりさら下請けなんじゃないのと言われてましたが、やっぱりそうでしたね。以前のマイナンバーを含むデータ入力が中国企業に再委託されてた件から進歩してない。

Euterpe2遊覧船といいコレといい今の日本凋落度合いをまざまざと見せつけてくれているように感じられてかなしい

hikute_amata契約のこともデータの取り扱いのこともひとごとではない。本当にひとごとではない。

lb501 こんなのITじゃない。これ外国籍の人が下請け先で働いても把握してないだろうな。そして情報海外へ。

hoimin-densetsu 「監督できるから大丈夫です!って言って下請け使ってるのに、重大事案で誰が紛失したのかもよくわかってないなら一体何を管理してた」この感想ですね…賦役人の顔まで把握しない江戸時代普請奉行感覚と同じかも

sockscat 多重受け自体は構わないけど、ピンハネ額が多すぎて、1番コストのかかる現場に、十分な体制を整えるだけのお金が回らない。そんなことばっかりやってて、日本産業が強くなるはずがない。

hatepy 今回は過失だけど悪意があれば意図的情報持ち出せる。簡単住民情報コピーできるとかずぶずぶ。

toro-chan自民党政権では対処しないだろう案件だな。人を安くこき使って利益を出す方式自民党規制できると思えない。再委託禁止とか小手先で何とかしようとしているが、企業利益を出すために回避しだすだろう

new3 ほころびが見え始めているけど「例外なく下請け禁止」とかして業界破壊して再構成しないとLGWAN霞ヶ関WAN崩壊/停止しかねないと思うよ。少なくともUSBメモリ刺し放題ならstuxnet系で何か紛れこんでいる可能性もある

tettekete37564 この国は中抜きで潤ってる会社ばかりだからムリだろ。これほど衰退しても技術者軽視はまだ続いているのだ。だから言い訳するんじゃねぇよ

chungus 国レベル改善自民党政権持ってるうちは無理だろう

emuaeda これが日本GDP本質で、蓋を開ければ何の価値も生み出せてない。技術も何もない。そしてこの構造天下りする政治家官僚にとって旨味しかいか是正なんてしない。

kusunoki7100 これ中間の人はハンコ押してるだけで非生産的の極みなんだけど、こういった事でハンコ押すだけの仕事を許して、全体の生産効率が下がりみんなで貧しくなってるんだよなあ。



◆具体的な対策

dreamzicoシステム開発でも運用でもなんでも公金を使って発注するもの下請けピラミッドへの再委託とか丸投げとか禁止しようよ。あるいはせめて受注の時点でどこに下請けに出すか決めて提出させる。しかも1段階のみに限る。

gohantaberucom 金払ってる人と、作業担当者はいくらピンはねされてるかが知らないことが多く、それが不幸のはじまり。逆に中間搾取で楽してる奴らの存在が、不幸をもたらしている。金の流れを可視かして担当者が知る法律必要

hmabu 手を動かして作業するひとより、情報や人を右から左にピンはねして中間搾取する人の方が、給料高いとか、いろいろおかしいのよ。少なくとも金の流れの透明かはすべき

rakugoman募集要項委託禁止にすればいいと思うんだけど、なんでやんないんだろ。構造がクソなのはもちろんなので、発注サイドから禁止していかないとダメだと思う。少なくとも個人情報管理に関わるような案件は。

m7g6s もう再委託規制しろよ。こんなん氷山の一角だぞ

k146 この悪しきSI業界の闇は、徹底して最上から「再委託禁止」を契約条件に入れない限り決して無くなりはしないよね。SESのみが業態になってる中小企業大企業にぶら下がり続ける構造日本低賃金化の一因…

nyankosenpai下請け企業使ったら増税することにすれば、中抜き企業がいなくなるかも?

d6rkaiz もうそろそろ多重下請け構造についてメスいれようよ。これ入れてくれるところに投票するよするよ。

l000says業界的に使わないとやっけてないし、再委託ダメって論理いるから隠すのでは。 全部認める、その代わりに全て曝け出せの方がいいけどなぁ。建設も元請は施工管理しかしないでしょ。

Arturo_Ui就職氷河期世代プログラミングを学んだ人々がブラック企業搾取されている事例を耳にするたび、官公庁自治体がIT関連の臨時職員として雇用するほうが双方にとってメリットが大きいのに、と感じております

strawberryhunter いいかげん、委託を一律禁止するべき。

dadadaisuke こういう多重下請けを見ると土木系の公共事業の仕組みは、数々の大規模な汚職を経て作られただけあって良くできている。完全ではないだろうが、経産省とかこういうIT系の契約がザルに思える。

zakochan いい加減三次受以降禁止にしよ、特に公共機関系は

wiz7 これを機に多重下請け構造にメスを。いきなりやるとみんな死んでしまうので段階を踏んで。再委託禁止って実質機能してないもんなぁ

syudaメディア取材を重ねて、尼崎市は〇〇万円払う→BIPROGYは協力会社に〇〇万円払う→協力会社委託先に〇〇万円払う→... というように具体的な金の動きを取材で明らかにしてくれ。ここにいまの日本の闇があるから...

regularexception委託先が問題起こしたとき委託元が全責任を取る法律でも作らんとだめだな

kralica もう孫請け以降はどの業界禁止したほうがよいのでは

tokyo2077業界関係なく孫請禁止法(一時受けに受託料の2倍の罰金担当者刑事罰)でも作らない限り改善は無理

demorito会社潰れるくらいのペナルティが無いと真面目にやってるとこにも迷惑だよ。

murlock安値で投げたら責任まで回避できるとしたらやり得になっちゃうよね。投げた先がやらかしても一定責任は負わないと駄目。



(以下コラム

多重下請け問題にかぎらず、「みんな気づいてても黙ってただけ」って状態ヤバイものを発生させるよね。

他人の臓器を抜いて売ってはいけない」なんて当たり前のことでも、

もし、ビジネス化して莫大な利益をもたらしていたら、黙ってしまう人もいるかもしれない。

しかし、こういう事件が発覚して、誰かが最初に声にだしたら、「実はみんな気づいていた」ってすぐ分かるのは、日本の良いところでもある。

歴史を見ても、悪習がいつまでも長く残っていない。

江戸時代でも個性豊かな将軍家老たちがいて、代替わりで改善されたりする。

コラム2)

あと地味に、「同僚相手に酒を飲む習慣」に終わりが見えてきた気がする。

やるとしても会食レベルでいいでしょ。

ビジネス上の付き合いのある相手と、路上に倒れこむまで深酒する意味わからん

これも冒頭に書いた、不健全ビジネス構造に起因するストレスのはけ口としての飲食形態かもしれませんね。

何事にも原因と結果があるもの

テレワークが進んだり、DXでビジネスが透明化・健全化すれば、同僚と酒を飲んで愚痴を吐き、慰めあう習慣もなくなるのかもしれない。

何かそういう未来にとてもワクワクする。子供から大人へ、奴隷から人間へ、みたいな。

Permalink |記事への反応(13) | 11:32

このエントリーをはてなブックマークに追加ツイートシェア

2022-03-15

Auth0のNewUniversal Experienceでログイン画面とかをカスタマイズする手順

なんて事無いんだがいつも間が開いて忘れてしまうので自分用にメモ

ターミナルからログインする

> auth0login

※もし入って無かったらauth0/auth0-cli と auth0 をインスコしておく

ブラウザが起動してなんか色々聞かれるから流れにそって。

デフォルトテナントじゃないけどテナント変えるの?」って聞かれるからyesで答えておく。

ログイン完了したらテンプレ編集画面開く

>auth0 branding templates update

ブラウザ側でプレビューしてくれるのでターミナル側でコード直していく。Vim慣れないけど頑張る。

CSS変数が充実しているので変数の上書きでやっていく方が無難

終わったら保存してプレビュー確認おしまい

Permalink |記事への反応(1) | 16:47

このエントリーをはてなブックマークに追加ツイートシェア

2022-01-24

楽天市場URLには必ず「rakuten.co.jp」がURL内に含まれています

じゃあ「login.account.rakuten.com」は楽天を装った悪質なサイトだな

Permalink |記事への反応(0) | 20:18

このエントリーをはてなブックマークに追加ツイートシェア

2021-08-29

anond:20210829080837

LOGIN

⭕️LOGiN

Permalink |記事への反応(0) | 08:11

このエントリーをはてなブックマークに追加ツイートシェア

anond:20210828230636

私は一世代昔だなあ。LOGIN SOFCOMって季刊の雑誌が神だった。

Permalink |記事への反応(1) | 08:08

このエントリーをはてなブックマークに追加ツイートシェア

2021-07-29

スパムメールの謎URL

これどういう解釈すればええんや

://www.saisoncard.co.jp.hyd7sq.cn?login/response_type=code

cnの後ろの/が省略されてるでええんやろか

Permalink |記事への反応(2) | 20:56

このエントリーをはてなブックマークに追加ツイートシェア

2021-02-18

wp-login.php: $url = dirname( set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) );

これだね PHPのほうにPDO入れてPHP側で捻じ曲げないとだめなんだろうな スクリプトから書き換えると ハッキングされるもんな CloudEdgeでPDOさがせばあるかな

 

アドミン:$_SERVER['HTTP_HOST']をPHPスクリプトで書き換えればいい

C++プログラマ PDOからPHPレベルで$_SERVER['HTTP_HOST']をCloudFrontように書き換える

Permalink |記事への反応(1) | 13:24

このエントリーをはてなブックマークに追加ツイートシェア

次の25件>
ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp