はてなキーワード: アンカーとは
ボクサーを撲殺したのは僕さ
これから満で数つけるわ
ナンを何枚も食べるのなんて、なんでもないよ
新患の新幹線に関する新刊に新館を立てて震撼し信管が作動する。
ケニアに行ったら生贄や
柑橘類の香りに歓喜し、換気を喚起したが乾季が訪れたので、寒気がした。
塗装を落とそうか。
観光客がフイルムに感光させた写真を刊行することが慣行になった。
サボってサボタージュ
景気が良くなりケーキを食べる契機を伺う徳川慶喜(とくがわけいき)
夫を成敗するオットセイ
つまらない妻の話
竹の丈は高ぇなー
餅を用いて持ち上げる
ロストしたローストビーフ
サボテンの植え替えサボってんな
過度な稼働は可動範囲を狭める
伯爵が博士の拍手に拍車をかけて迫真の爆死をし白寿の白人を白紙にもどす。
紅葉を見て高揚する
甲子園で講師をする公私混同した孔子の実力行使には格子窓も耐えられない。
死んでんのか?「心電図を取ってみよう!」
夜祭で野菜を食べる。
信玄餅を食べながら震源を特定するように進言する新元素を発見した人。
蜂の巣(honeycomb)を見てはにかむ
五反田で地団駄を踏む
ようやく要約が終わった
海溝で邂逅
豪華な業
甲板で甲板をかじる
甲板で乾パンをかじる
店頭で転倒
大枚をはたいてタイ米を買う
醤油をかける人「えっっ?」
神田でした噛んだ
少食な小職
牛の胆嚢の味を堪能する
あの娘にはどう告っても(どうこくっても)慟哭する結果に終わるだろう。
キーンという高音の起因が掴めない。
こんな誤謬は秒でわかるだろ
壊疽した箇所が治るというのは絵空事だ
経口補酔液
痴的好奇心
セントーサ島に行くのは正恩が先頭さ
軽微な警備
冬眠する島民
ベットは別途用意してください
The deserted desert in desert desert.
九尾のキュービズム
罹災者へのリサイタル
画家の画架
不納が富農になるのは不能だ
理工がRICOHに利口な履行
I sensed tha it is in a sense sense.
私はそれをある面では扇子だと感じた。
鯖を食べている人と、それを見ている人の会話
鯖 ça va?
ça va 鯖
ça va
ゆめゆめゆめをみるわけにはいけない
早漏で候
凪に難儀
東上線に搭乗した東條が登場
高校を後攻で煌々と口腔で孝行
蝉が転んでセミコロン
道徳をどう説く
写真はフォトんど撮りません
ダリ「絵ぇかくのだりぃなあ」
華美な花瓶のカビに過敏に反応
檻に入っておりいった話をする
夏のおサマー
夜は寝ナイト
渦中のカチューム
渦中のカチューシャ
リスボンでリスがborn
どうないはどないなってんねん
苫小牧でてんてこ舞い
市内を復旧しないと
石狩の石を借りる
おが置いてあるのを見た人「おはおっかねぇーから置かねぇ方がいいぞ」
砂がどしゃーw
東上線に登場した東條が登場
飽きない商い
おなか吹田市
観劇で感激する
側転に挑戦し即、転倒
別件を瞥見
凹地のお家
魚を初めてみた人「うぉー」
カラヤンの頭の空やーんw
豚をぶった仏陀
只見線をタダ見w
菊名でそんなこと聞くなよ
五秒で死んで御廟に埋葬
がらんとした伽藍
有給を使いすぎて悠久の時が流れた
長谷に想いを馳せる
Thinkerの真価
不具の河豚
暗記のanxious
半世紀にわたる半生での藩政を反省
タンチョウが単調増加
ショック死内親王w
カルカッタの石軽かった
天皇のこと知ってんのー
蒋介石を紹介した商会を照会した商會の船で哨戒する
其方のソナタ
先王に洗脳される
防潮堤で膨張した傍聴人
砂漠で鯖食う鯖を裁く
筒に入った膵島
サイコロを使った心理テスト(psychological test)
カラシニコフが辛子個踏んだ
皇帝の高弟が公邸の校庭の高低差を肯定する工程に拘泥した記録を校訂
にようかで酔うか?
うるさい人が売るサイ
どんなもんだい、を、どんなムンバイ、と言い間違える人
透徹した饕餮の眼球
チャカで茶菓を破壊
slimyなすり身
ゆうほど広くない遊歩道
いにしえのイニシエーション
コーランをご高覧ください
K殻の傾角を測定する計画
協賛した共産党員に強酸をかける
負けたのは聖者の静寂のせいじゃ
裏地見るウラジミール
カミオカンデの上に紙置かんでw
県大会がおわり倦怠感を感じる
夕暮れのユーグレナ
ストライキをする公務員に呼びかける人「 Stay calm(公務)」
エド・はるみの穢
祭壇を裁断
腐卵ダースの犬
全然人が集まらないクラブの人「参加数人は我々の十八番ですから。だけに。」
四苦fuck
都バスが人を跳ね飛ばす
怒るカロテン「なにカロテンねん」
嫌がる慰安婦「いやんっ」
かえるがえる帰る蛙
沈厳な青梗菜
トリコロールの虜
布陣を組む夫人
栗けっとばすクリケット🦗
婉容と遠洋漁業
アマルガムで余るガム
ハラスメントの疑いを晴らす
滋賀を書けない人を歯牙にも掛けない
他意はないタイ人の鯛の態度
鯛が蛇足
ダジャレではない↑
割と面白い
ハラッパーの原っぱ
紫に関して思案を巡らす
Huluが夏の風物詩だと思っている人「Huluですなぁ」(風流)
下調べのムニエル
わからないので
意味ない諱
よく分からんリポーター「うわぁ〜美味しそうですね!少なくとも不味そうには全く見えません!」
どうしても下がりたくない人「黄色い線の内側は、境界を含みますか??」
計算ができない人
着ていく服を決めた高橋是清「これ着よ」
enough、enoughは工夫がenough
負け負け山(カチカチ山)
薬師丸せま子
トーマス・マンの書いたふるさと「うさぎ〜おーいし、魔の山〜♫」
その心は
焼結が猖獗を極める
これはstaleだから捨てるか
衒学的な弦楽を減額
完全な勧善懲悪
イボ人の疣痔
イブに慰撫
(訳 ぬるぬるしてるありふれた魚)
盲いるのに飯いるの?
アーヘンで阿片を吸った人「あー変」
毒吐く独白
明借りるアスカリ(車)
丁寧な砂浜「Could you九里浜」
ゴーンと奉公
その心は
サンクチュアリに山窟あり
熟れたウレタンは売れたんか?
清澄な声調を静聴し成長
プエルトリコで増える虜
象さんを増産
兄弟が今die
Dose heで始まる疑問文に答える京都人、Yea, he どす
ソフィカルのソロカル
美人局に筒持たせる
十把一絡あげ
篤信な特進が涜神を得心
これは何という植物かな?ムユウジュでは?あそっか、なるほど。
クートゥを食うとぅいいよ
マイソールで昧爽に埋葬
ドクサは毒さ
暗殺で朝死んだ
クラシックについて語る人をそしる人「弦楽なんてペダンチックだなあ」
凛々しいリリシズム
衛生的な俳人
御髪も亂とはオクシモロンだ
コロナ後の世界を分析する学問→postcoronialism
影響が色濃いイロコイ諸族
あてのあてないアテナイ
自動で安価をつけて返信するプログラムでもこんなに長く複雑になる(一部抜粋)
/**************************************
以下のCSV_DIR, FILE_PATHS, SETTINGSを書き換えてね。 <h3>o- *************************************/</h3>
//CSVファイルが置かれてるディレクトリのパス。投稿前にエラー出たら大体ここの設定ミス。 例:"C:\\Users\\sakuraimasahiro\\Documents\\iMacros\\Macros\\rentou\\";
'C:\\Users\\USER\\Desktop\\iMacros\\Macros\\rentou\\';
//ファイルのパス。CSVは絶対パスで、拡張子も必要。iimは相対パスでよく、拡張子不要。
const FILE_PATHS = {
textCsv: CSV_DIR + 'textNoAnker.csv',
//レス用投稿文が書かれたCSV。通常とレス用で分けないなら同じファイルを使えばいい。
replyTextCsv: CSV_DIR + 'textReply.csv',
};
baseWaitTime: 5,
//baseWaitTime+0~waitTimeRange(ランダム)だけ待つ
waitTimeRange: 5,
//連投しすぎだと忠告された場合に処理を一時停止させる時間(秒)
waitTimeForAvoidingPunishment: 60 * 30,
//メール
mail: 'sage',
//名前設定
name: '',
//以下、偽装ワッチョイ設定。浪人でワッチョイを非表示にしてるときだけtrueにしてね。
//妙なニックネーム(ワッチョイ、アウアウウーなど)をランダムで決めて付加するかどうか。true=付加する。false=付加しない。
//妙なニックネームの後に付く8桁の文字列をランダムで決めて付加するかどうか。
},
//アンカー無し投稿をするならtrue。しないならfalse。noAnkerPostかreplyPostのどちらかはtrueにすること(両方trueでもOK)。
//アンカー付き投稿(返信)をするならtrue。しないならfalse。もしnoAnkerPostとreplyPostの両方がtrueの場合、投稿は返信が優先され、返信対象が見つからなくなったらアンカー無し投稿をする。
//最初に取得するアンカー無し投稿文CSVファイルの行番号。もし返信用と同じCSVファイルを使うなら-1と入力。
noAnkerPostTextCsvStartRow: 1,
//最初に取得する返信用投稿文CSVファイルの行番号。もしアンカー無しと同じCSVファイルを使うなら-1と入力。
//テキストCSV/返信用テキストCSVの取得行が最終行に達したら最初の行まで戻るかどうか。true=戻る。false=マクロ終了。
//返信する場合、これより小さなレス番には返信しない。返信を投稿すると、この数値は前回の返信先のレス番に更新される。
minAnker: 895,
//返信する場合、名前に以下の文字列を含む投稿にアンカーをつけて返信する(ワッチョイやIPなど名前フィールドにあるものならなんでも可)。配列で複数指定可能。指定無しなら空配列([])。filterNamesとfilterNamesNotIncluded共に無指定ならレス番1から順に返信していく(minAnkerが設定されてればそこから順に)。以下のfilter系は全て併用可能。
//↑とは逆に、名前に以下の文字列を含まない投稿にアンカーをつけて返信する。↑と併用も可能。
//返信する場合、本文に以下の文字列を含む投稿にアンカーをつけて返信する。
filterText: ['自演かな', '自演わらわら', 'スクリプト使うの', '安価ガバ', '>>660', '自演で擁護', '最後' ,'あいうえお', 'かきくけこ', 'さしすせそ', 'なにぬねの', 'はひふへほ', 'まみむめも', 'やいゆえよ', 'やゆよ', 'らりるれろ', 'わいうえを', 'わをん', 'わいうえをん'],
},
//自分のIPアドレスの確認。VPNとかでIPを変更してマクロを動かしてるとき、突然VPNが作動しなくなってIPが元に戻ったときにマクロを止めるためのもの。
//以下の文字列が自分の現在のIPアドレスに含まれている場合、マクロを一時停止する。基本的に自分の本当のIPアドレスを入力。
},
//浪人設定。最後に動作を確認したのは5年くらい前で、今も同じように動作するかは、浪人を持ってないから確認できずわからない。
//浪人にログインしてるかどうかをチェックするかどうか。trueならする。falseならしない。trueにしていてもし浪人にログインしていないことを確認したらログインしにいく。
password: '1234',
},
};
/**************************************
設定箇所終わり。
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>
/**
* ここから始まる。
*/
checkSettings();
var _TextCsvCursors = new TextCsvCursors(
SETTINGS.postSettings.noAnkerPostTextCsvStartRow > 0
? SETTINGS.postSettings.noAnkerPostTextCsvStartRow - 1
: SETTINGS.postSettings.noAnkerPostTextCsvStartRow,
SETTINGS.postSettings.textCsvLoop,
),
SETTINGS.postSettings.replyPostTextCsvStartRow > 0
? SETTINGS.postSettings.replyPostTextCsvStartRow - 1
: SETTINGS.postSettings.replyPostTextCsvStartRow,
SETTINGS.postSettings.textCsvLoop,
),
);
var _LoopStatuses = new LoopStatuses(0, SETTINGS.postSettings.minAnker);
const _MyPosterName = new MyPosterName({
name: SETTINGS.nameSettings.name,
});
const _ThreadUrl = openPromptThreadUrl();
//ループ
while (true) {
SETTINGS.ipSettings.checkIp && checkCurrentIpNotTheIp();
//スレを開く
openUrl(_ThreadUrl.fullUrlHttps());
//浪人にログインする設定なら、浪人にログインしているかどうかを確認し、していなければログインしにいく。
if (SETTINGS.roninSettings.checkLogin) {
}
}
if (SETTINGS.postSettings.replyPost) {
const targetAnkerNumber = createPostDOMList()
.filterPostnumberHigher(_LoopStatuses.currentMinAnker())
.filterByPostername(SETTINGS.postSettings.filterNames)
.filterByPosternameNotIncluded(
SETTINGS.postSettings.filterNamesNotIncluded,
)
.filterByText(SETTINGS.postSettings.filterText)
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) {
//投稿。
nickname: SETTINGS.nameSettings.nickname,
korokoro: SETTINGS.nameSettings.korokoro,
area: SETTINGS.nameSettings.area,
}),
SETTINGS.mail,
p.text,
);
//_TextCsvCursorsと_LoopStatusesを更新。
_TextCsvCursors = p.updatedTextCsvCursors;
_LoopStatuses = p.updatedLoopStatuses.incrementPostCount();
`投稿回数: ${_LoopStatuses.currentPostCount()}`,
`minAnker: ${_LoopStatuses.currentMinAnker()}`,
`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,
`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,
]);
} else {
`返信対象が現われるのを待機中...。`,
`投稿回数: ${_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 メール
*/
serverName,
postMail,
_MyText,
retryTimes = 0,
) {
const r =
retryTimes === 0
? new ValuesOfPost(serverName, _MyPosterName, postMail, _MyText).post(
postTo5chTread,
)
serverName,
postMail,
_MyText,
).postSubstring(retryTimes, postTo5chTread, postConfirm);
if (r) {
back();
return;
}
wait(7);
const error = createPostErrorMessage().analyze();
messageDisplay(error.message);
if (error.order === 'KILL') {
kill();
} else if (error.order === 'SKIP') {
return;
} else if (error.order === 'TRUNCATE') {
back();
serverName,
postMail,
_MyText,
retryTimes + 1,
);
} else if (error.order === 'WAIT') {
wait(SETTINGS.waitTimeForAvoidingPunishment);
serverName,
postMail,
_MyText,
retryTimes,
);
} else if (error.order === 'LOGIN') {
serverName,
postMail,
_MyText,
retryTimes,
);
}
return;
}
/**
* 現在のIPアドレスに、SETTINGS.ipSettings.avoidTheIpの値が含まれていないことを確認する。含まれていたらマクロを一時停止。
* @returns
*/
function checkCurrentIpNotTheIp() {
openUrl('https://www.cman.jp/network/support/go_access.cgi');
const _IpAdress = createIpAdressFromCMan();
if (_IpAdress.includes(SETTINGS.ipSettings.avoidTheIp)) {
pause('現在のIPに指定した値が含まれていることを確認。');
}
return;
}
/**
* @returns
*/
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を受け取る。
*/
function openPromptThreadUrl() {
const url = prompt('スレURLを入力');
}
/**
* 開いてるスレのレス全て読み取ってPostListインスタンスを作って返す。
* 重すぎるので使うのやめ。どうやらインスタンスの大量生成が原因な模様。
*/
const posts = window.document.getElementsByClassName('post');
return new PostList(Array.from(posts).map((e) => new Post(e)));
}
/**
* 開いてるスレのレス全て取得してPostDOMListに格納して返す。
* @returns
*/
function createPostDOMList() {
const posts = window.document.getElementsByClassName('post');
for (let index = 0; index < posts.length; index++) {
//HTMLCollectionからElementを1つずつ抽出して配列に。
arrPostDOMList.push(posts.item(index));
}
return new PostDOMList(arrPostDOMList);
}
/**
* 開いてる投稿結果画面に表示されてるエラーを読み取ってPostErrorMessageインスタンスを作って返す。
*/
function createPostErrorMessage() {
window.document
後世のためと表現すると些か大げさ過ぎるけど、将来的に今回の件を振り返った際に「過激な女性向け作品をゾーニングした責任の所在」が求められた場合「特定の属性を持った人たちを犯人に仕立て上げる」ことは回避されなければならない。
つまりこのエントリはそういった捏造を防ぐためのアンカーだ。
2022/04/27現在の議論を見ると、老若男女性別不明からファンタジー生物に至るまで「過激な女性向け作品はR18ライセンス(マーク)の記載とR18へ基づく適切な設置位置での販売」を行うったほうが良いという主張が大勢だ。
決してこれは表現規制推進派による主張でなければ女性蔑視主義者の主張でもなく、何なら女性向け作品を愛好する当人たちも同意し主張している言説だ。
ただし、2022/04/27現在として異論も存在しており、無制限の表現の自由を推進する様な者は当然ながら現状維持もしくは拡大を主張しているし、女性向けは犯罪へ繋がりにくいのではないか?という仮設を立てて現状維持を訴えるという様な者も居て、完全無欠の大勢意見であったわけではないことは忘れてならない。
このエントリは記録を残すためのアンカーなので、はてなブックマークやTwitterなど他のSNSへ共有し記録として活用すると良いだろう。
アンカーの新しいイヤホン、2時間くらい付けてるとめっちゃ耳痛くて、買い物失敗したなーって思ったんだよね。
嫁さんのうどん借りてみたらまあ痛くないのよ。アップルスゲーって思った。
アンカーのイヤホンにはイヤーピースいっぱいついてて、痛いから小さい方へ小さい方へ変更してみたんだけど結局痛くて。
で、最後一番大きいのにしたらぴったり合って痛くなくなったんだよね。
大きいことで耳の中で回して固定する必要がなくなったみたいで、形に添って固定されたイメージ。
耳穴のふさぎ具合も上がって、これまでは小さいイヤーピースを奥に差し込むことが良いと思ってたんだけど、
逆に大きい穴でべったり塞ぐイメージにしたらめちゃくちゃ改善したんだよね。しかも痛くない。
痛くなくていい音のイヤホン手に入って満足です。
うどんはださい。
今年で30、生活は豊かとは言えず自分ひとりで生きていくのが精いっぱい。
結婚はしないのかとしきりに聞いてきた親はもう気を遣って何も言ってこなくなった。
親含め先祖様には申し訳ねぇなって思いながらも、ぶっちゃけ結婚すら無理だなって悟った。
別に俺なんかの血が途絶えたところで社会にはなんの影響も及ぼさない訳だけど血が途切れるのはこんなにあっけないものかと感じる。
そう考えるとなんだか無性に寂しくなる。
学生時代の友達、つっても数人しかいないがそいつらはなんだかんだでみんな所帯持ちになった。すげーって思うのと同時に俺何やってたんだろとも思う。
別に怠けていたつもりはない。ただ社会人になって追われるように日々を送っていたら30になってた。
俺には仕事をやりながら恋愛やら趣味を広げる器用さは無かった。
もっと言うなら学生時代に彼女作れてなかった時点で詰んでたんだろうな。
学生時代からずっと異性と縁のない人生を送ってきたけど、ふと体育祭のリレーの光景を思い出した。
運動音痴の自分には体育祭など苦痛でしかなかったが、リレーのアンカーを任された奴の自信に満ちた表情、女子に声援を浴びる姿を羨ましく感じていた。
そんな俺が先祖さん達が繋いできた命のバトンではアンカーになったらしい。
もちろんただの皮肉だ。