「CLASS」を含む日記 RSS

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

2023-07-22

anond:20230722143141

divタグは表示されないけどpタグclass付けていけるぽいな

2023-07-09

[]

右クリックメニューの skypeで共有 がくそうざかったから消す方法探した

プログラム機能一覧にスカイプないし

設定のアプリ一覧にあったかアンインストールしたらやっと消えた

インストールしたままメニューだけ消す方法は下記でできそう(試してない

https://www.youtube.com/watch?v=bOLrXYRQYds

HKEY_CLASSES_ROOT\PackagedCom\Package\Microsoft.SkypeApp_15.92.3401.0_x86__kzf8qxf38zg5c\Class

{776DBC8D-7347-478C-8D71-791E12EF49D8}

2023-06-25

Lawless爪Second-class

(すべて妄想バンドヒストリー

吉田アキコは、京都実家家業旅館業であったにも関わらず

コロナ禍の最中旅行業支援など実施する政府はクソ!」

と息巻いたせいで実家に居辛くなってしまった。

父親から

「お前が呑気に実家暮らし女学生身分音楽などやっていられるのは誰のお陰だ」

という言葉は、学費生活費人質にとった恫喝だとも思った。口喧嘩なんかしたくもないから細心の注意をはらって生きてたのに。

大学を休学し、女子大生というアドバンテージを使って水商売で働けば一人暮らし生活費と、あと1年分の学費を貯めることなどチョロいだろう、そう思っていたが、その見通しは甘かった。

そもそもコロナ禍で飲食業は店を閉め、風俗業も同様で客足が途絶えていた。そして少ない客を奪い合っていたからか、働き始めたキャバクラでは現実の厳しさを味わっていた。

売上No.1の嬢は女王様として君臨し、それに付き従う子分の女がいて、悪口、陰口、ちょっとした意地悪、接客妨害といった小さな棘のような攻撃女王様子分からチマチマと食らうのに辟易していて、周りの女たちも庇ってくれることはなかった。

常連客の威張り散らして自慢話ばかりの禿げた社長に「寂しいから会いに来て」とLINEするのもアホらしくてやってられず、旅館の娘なのにサービス業がまったく向いていなかった。そもそもそれほど器量が良い方ではないということも改めて思い知らされた。

結局、職場と住処を幾つか変わり、大阪東大阪スナックカウンターレディとして働いていた頃には大学を休学し実家を飛び出してからニ年ほどが過ぎていた。それでも大学に戻るつもりではいたから、何度失ったって取り返してみせるよ、と思っていたし、偉そうな社長が高級腕時計を見せびらかしながら話すねちっこいエロ話より工場労働者の陽気なシモネタの方が笑えて楽しかった。アパートから近鉄電車で二つ向こうの駅には司馬遼太郎記念館もあった。

少し生活が安定してきた頃にアキコは音楽活動を再開する。

京都時代実名活動していて、雑にピックアップを埋め込んだアコギを掻き鳴らして電子的に変調した爆音ギターにのせてフォークを歌うというスタイルだったが、休学して一人暮らしを始めてから音楽どころではなかった。

一度、東京ハードコアバンドVoで誘われたこともあったが、パンクというもの中央にいてはならぬ、周縁にいて少数派として生きねばならぬ、と頑なに思っていたのでそれも断ったのだ。

だが、遂には名前を変え「東大阪半日夢想沿線」という名で電子楽器によって幻想的で悪意のこもった電子雑音を奏でるスタイル活動を再開した。激しいライブアクションのせいで機材はすぐに壊れてしまうから楽器日本橋中古屋で安物ばかりを揃えた。

再開した音楽活動は客こそ少なかったが手応えはあった。しか名前を名乗るとギョッとする者もおり、また年配の人物に「極左テロリスト名前などを元ネタにして、被害を受けた人や家族が知ったらどう思うのか」と指摘され、己の軽率さを悔い、この名前を名乗ることも音楽活動も中断してしまったのだった。

そんな折に近鉄布施駅の近くで垢じみてうずくまっている女がいるのを見掛け、若いのにホームレスだろうかと目が釘付けになっていると、その女がこちらを見つけて「金を貸して欲しい」と近付いてきた。よく見ると女は女王様金魚のフンのようにくっついていた子分の女、ジュリだった。

話を聞くと、女王様は客だった起業家と名乗る男に入れあげてしまって、男が何をしでかしたのかフィリピンに逃亡すると女王様も後を追って行ってしまったのだという。女王様がいなくなるとジュリはたちまち他の嬢からいじめられるようになり、店を辞め、あれやこれやがあって住む家もなくなってしまったのだった。

散々意地悪された女だったが、彼女が弱さゆえに強い者に媚び付き従っていたことや、色んなことを我慢している女は強くて奔放な女に憧れてしまうことをアキコは薄々知っていたから哀れに思い、数日なら部屋に居てもよいと伝えた。そういう女は痛みにとっても弱いから。ジュリは泣きながら今まで自分がしてきたことを侘びた。

ジュリは意外と生真面目で、アキコが仕事から帰るときちんと部屋を掃除してくれていて、冷蔵庫にあるもの食事なども用意してくれた。そしてある日、部屋に帰るとジュリは開け放った窓に向かってアキコのギターを爪弾いていて、それはラジオからよく流れてくるOfficail髭男dismの曲だった。

アキコは脳内火花が散って、ジュリバンド結成を持ちかけた。バンドをやるならまだ部屋にいてもいいと交換条件もつけた。ジュリは喜んで同意し、よくよく話を聞くと中学時代軽音楽部であったらしい。そして中学卒業してから家を出て働き始め、ひょんなことから女王様と知り合い水商売で働くようになったのだという。隠し事だらけ継ぎ接ぎだらけの一人で心細く生きていた女が筋の悪い人物メンターだと思い込むことはよくあることだ。そして年上だとばかり思っていたが、ひとつ年下だということもようやく知ったのだった。

早速近所のハードオフに行ってエレキギターベースを見繕って一番安い激安の物を購入した。ジュリヒゲダンを爪弾いていたこから、今度はポップなものをやってやろうと思い、それらしい曲を捻り出したが、アキコはベース初心者ジュリギターブランクがあり、リズムは安物の電子楽器だったので、劣化したビッグブラック、初期の少年ナイフからも百万光年離れているような、やさぐれパンク以下の酷い感じにしかならなかったが、それは初期衝動ゆえである宣言することで自分たちを納得させた。バンド名もOfficial髭男dism名前を反転したような、公式に対して無法、髭に対して女の装飾の象徴である爪、そしてダンディズムという一流の男に対して二流や二等、二級品という意味を冠して、Lawless爪Second-Classと名付けた。何事もうまくいっていない自分たちにはお似合いの名前だと二人で笑いあった。

数曲をでっちあげ、今度はPOPロックをやるのだと意気込んで、アングラ凶悪バンド演奏しないような阿倍野にあった小洒落ライブハウスオーディションを受けた。

「まあええんちゃう?」という曖昧な判定だったが、出演はさせてもらえることになった。

阿倍野ライブハウスに出入りするようになると、女二人だと色んな男が声をかけてくる。なぜならカワイイ系のアクションジュリはとてつもなく上手かったから。でも音楽好きやバンド仲間だと思えば話も弾むが口説かれたりするのは面倒だった。しかしこっちはキャバ修行した身だ。うまくかわしていたし、ジュリはその辺りの身のこなしも上手かった。それでも面倒くさい人物もいた。

そのライブハウスに出入りするベテランブルースマンで、最初は何かと世話を焼いてくれる風に近付いてきたが、だんだんと遠慮がなくなってきて、あれやこれやと説教をするようになっていった。相手をしているとイライラしてくる。なぜこうなのか。ワガママ放題大人たち。どうして若い女は何も知らないと思っているのか。

ある日、演奏を終えて楽屋に戻ると、当日は出演者でもないのに例のブルースマン楽屋でくつろいでいて、アキコとジュリ楽器を値踏みし

もっと良い楽器を使わないとだめだ」みたいなことを言い出す。そしてなぜか自分の黒いギターを持ってきていて、それを引っ張り出し

「50sのフェンダーストラトキャスタークラプトンもこのモデルを使っている」などとウンチクをたれ始めた。

もう鬱陶しくて堪らなかった。怒りがふつふつと湧き起こってアキコはそれを抑えきれなくなり、そのストラトを奪い取るとネックを持って大きく振りかぶり思い切り壁に叩きつけてやった。その場にいた他の人間唖然として誰も声を出せず、壁の石膏ボードには大きな穴があき、ストラトのネックは折れて弦だけがブラブラしている。アキコも放心状態で、これは殴られるなと覚悟した。

しかジュリ咄嗟にアキコの腕を掴んで強引に引っ張りそのまま駆け出した。そしてそのまま店を出て走って、ずっとずっと走り続けて、ひた走る道路にはもう街灯さえないけれど、新今宮の駅の辺りまで走り続けて、やっともういいだろうと立ち止まって、息が切れて苦しかったけれど二人で顔を見合わせて死ぬほど笑った。嘘じゃない泥だらけの笑顔ギターベースも置きっぱなしだったけれど取りに行くつもりもなかったし、大して惜しくもなかった。

その後ブルースマンはアキコを訴えて、結局アキコは和解を受け入れた。調停の場でブルースマン代理人弁護士

「無法なんて名乗っているけれど法は法なので、賠償金の支払いはお願いしますよ」

と嫌味を言われたのが忘れられない。アキコは感情のないアイムソーリーだけを告げた。

もう大学に戻ることはないと薄っすら思っていたが、なんだか心の拠り所のようではあったので貯金はしていた。けれど、破壊したビンテージギターのせいで全てが消え失せてしまった。

しかし、やがてその話は噂になって、どうやら凶悪な女パンクバンドがいるらしい、他人の高価なビンテージギターをぶち壊して平然としているような奴らしい、以前「東大阪半日夢想沿線」という不埒名前でやっていた話の通じない女らしい、とその他あることないこと尾ひれ背びれもついて伝わっていった。まるで魔法のように簡単に広まってく噂話。お陰で奇特な人やバンドから少しばかり対バンの話も貰えるようになった。

アキコは今も近鉄電車の傍のアパートに住んでいて、ジュリも未だにアキコの部屋に居候している。貯金もなくなり、もう大学に戻ることはないだろうし、カウンターレデイの仕事は先の見通しもなく、何も状況は変わっていなかったが、それでも二級品なりになんとかやっていくしかないとアキコは思っていた。

おしまい

anond:20230621212051

2023-06-21

皆さんは、official髭男dismってバンドをどう思ってます

わたしは彼らの楽曲は好きなんですよね。ラジオからもよく流れてきて耳馴染みもあるし演奏も良いと思う。楽曲も意外と凝っていて、容姿清潔感が良いですよね。ファンだと公言するほどではないにしても結構好き。

でもね、わたしにはバンド名が格好良いと思えないんです。「official」「髭」「ダンディズム」どれも格好良くて渋いイメージ言葉構成されているけれど「ネガティブ何が悪いんですか?」という価値観自分には、バンド名だけが受け入れられないんです。

じゃあ、このバンド名を徹底的に反転してみるとしたらどうなるんだろうと対義語辞典などで調べてみました。

official対義語はunofficialだけど、「公式」に対して「非公式」っていうのはただ否定してるだけであまり面白くないし語呂も悪い。対義語辞典提示された単語の中では「special」が語感的には良いけれど、この言葉イメージって「特別に(良い)」という感じでしょう?今の時代は「改革」とか「維新」なんて良いイメージ言葉を使ってそれとは逆のことをする人たちが多いからそういうのはやりたくない。むしろネガティブだと思われている言葉を使って逆に反転してやりたい。「Damned」なんて辞書でひけば「ひどい」とか「罰あたり」だけどバンドとしては最高じゃない?

続けて対義語検討していくと「lawless」が語呂としては良いかも知れない。無法という意味official公的公式であることは法によって支えられているのに、いきなり無法なんて俄然やる気になってきますね。

髭ねえ、男だけにあるもの。逆に女だけにあるものと言えばおっぱい子宮かなあ。でも後者ちんこ対義語から却下。「ひげ」という語感に近いものにするとすればおっぱいを「むね」に変換かなあ。などと思っていたら「つめ」というものを思い付いた。爪を綺麗に飾るのって今の時代は女がメインだからそれでいいかもしれない。じゃ次。

「男」を「だん」と読ませているわけだけれど「女」の読みは「じょ」「にょ」「め」と音的に優しいし少し弱い。最初が「lawless」に決定したのにそれではいただけない。「dandyism」として対義語辞書をひいても「poor」「terrible」「lousy」みたいなのしか出てこない。格好良い男に対して格好悪い男英語でも「貧しい」とか「怠け者」みたいになるんですね。貧しい男は男らしくないってことか。男も大変だ。

酷い女みたいな意味一言で表すのに「bitch」がよく使われる印象だけれどこれは語呂が悪い。でもダンディの対義語候補の中に「second-class」というのがあった。二流、二級品みたいな意味ですね。二流の男は男らしくないのか。でも確かに、男たちからブスと言われる女は彼らにとって二級品だ。いいじゃない。やってやろうじゃない。

ということでバンド名は『Lawless爪Second-class』に決定しました。ヒゲダンバンド名も反転できてる気がする。

オフィシャルヒゲダンディズム」に対して「ロウレス・ツメ・セカンドクラス」は語呂的にもまあまあの線だと思う。でも反転だとかなんだとか言ってるけどヒゲダンのことはまあまあ好きだからね。そこんとこ夜露死苦

ヒゲダン島根大学での結成ということでツメセカも地方出身かな。当然ガールズ・バンドで、ヒゲダン楽曲には似ても似つかないやさぐれpunk。なんだか妄想が広がりますね。

2023-06-12

anond:20230611220226

海外大学ではclass of (入学年に+4年した4桁の数字)みたいなのがあるな

2023-06-05

このclassにnullはNaN個あるか答えなさい。

2023-04-13

109シネマズプレミアム新宿が「富裕層向け」「庶民は行けない」とする人たち

CLASS Aなら4500円、CLASS Sでも6500円だぞ???

最低賃金アルバイトでも1日働けば稼げる金額じゃん

そもそも他の映画館だってプレミアムシートにしてフードとドリンク頼んだらそれぐらいするの知らないのか?

普段サービスデーにしか映画館に行かないような人にとっては高く感じるのかもしれないが、それは庶民ではなくもはや貧困層では

2023-03-02

SQLってどうやって勉強すればいいの

プログラミングJSで動くの作れたけどSQL分からん

追記

chatgptで

sqlite3でtwitterみたいなサイトテーブル設計をして。

上記Twitterのようなサイト特定ユーザータイムラインを表示するクエリの例を教えて」

って聞くと、こういうの表示されるけど、こんなの絶対パッと思いつかんやろ!!

特にJOIN2回使うのが全然分からん。なんならJOIN1回の部分も分からん

っていうか、hatena君、sqlシンタックスハイライトするとインターナルサーバーエラー返してくるんだが...

>|エスキューエル|

パイプパイプ<

class Foo
  def bar'baz' # return baz
  end
end

sqlだけっぽい......

CREATE TABLE users (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  username TEXT NOT NULL,
  email TEXT NOT NULL UNIQUE,
  password TEXT NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE tweets (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  user_id INTEGER NOT NULL,
  body TEXT NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (user_id) REFERENCES users (id)
);

CREATE TABLE follows (
  follower_id INTEGER NOT NULL,
  followed_id INTEGER NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (follower_id, followed_id),
  FOREIGN KEY (follower_id) REFERENCES users (id),
  FOREIGN KEY (followed_id) REFERENCES users (id)
);


SELECT tweets.id, tweets.body, tweets.created_at, users.username
FROM tweets
JOIN follows ON tweets.user_id = follows.followed_id
JOIN users ON tweets.user_id = users.id
WHERE follows.follower_id = [特定ユーザーID]
ORDER BY tweets.created_at DESC;

2023-01-29

anond:20230128162210

ttps://examist.jp/mathematics/class/meidai-singi/

ttps://examist.jp/mathematics/class/gyaku-ura-taiguu/

2022-08-06

はてブトップくそ重いのは

ページには表示されないのに各ブクマ概要

class="entrylist-contents-description"

が含まれてるから

2022-08-01

anond:20220731183342

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

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

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

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

const CSV_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',

};

const SETTINGS = {

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

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>

/**

* ここから始まる。

*/

function run() {

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

checkSettings();

var _TextCsvCursors = new TextCsvCursors(

new TextCsvCursor(

SETTINGS.postSettings.noAnkerPostTextCsvStartRow > 0

? SETTINGS.postSettings.noAnkerPostTextCsvStartRow - 1

: SETTINGS.postSettings.noAnkerPostTextCsvStartRow,

FILE_PATHS.textCsv,

SETTINGS.postSettings.textCsvLoop,

),

new TextCsvCursor(

SETTINGS.postSettings.replyPostTextCsvStartRow > 0

? SETTINGS.postSettings.replyPostTextCsvStartRow - 1

: SETTINGS.postSettings.replyPostTextCsvStartRow,

FILE_PATHS.replyTextCsv,

SETTINGS.postSettings.textCsvLoop,

),

);

var _LoopStatuses = new LoopStatuses(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}}

*/

function postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes = 0,

) {

const r =

retryTimes === 0

? new ValuesOfPost(serverName, _MyPosterName, postMail, _MyText).post(

postTo5chTread,

postConfirm,

)

: new ValuesOfPost(

serverName,

_MyPosterName,

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();

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes + 1,

);

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

wait(SETTINGS.waitTimeForAvoidingPunishment);

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

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

//動作未確認

return postThenCheckError(

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() {

const url = prompt('スレURL入力');

return new ThreadUrl(url);

}

/**

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

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

* createPostDOMListを使う。

* @returns {PostList}

*/

function createPostList() {

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');

var arrPostDOMList = [];

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

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

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

}

return new PostDOMList(arrPostDOMList);

}

/**

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

* @returns {PostErrorMessage}

*/

function createPostErrorMessage() {

return new PostErrorMessage(

window.document

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

2022-05-04

anond:20220504180356

しらんけどspan=escapedの部分は「span.escaped」か「span[class=escaped]」でないとだめちゃう

2022-04-15

anond:20220415121434

style="width:10px;"

と書くよりも

class="w10 "

と書けた方が楽だし、

class="anoBotanNoTonariNoSore"

と書くよりも、

class="w10 h50 p20..."

と書けたら、どんなデザインだったかすぐわかる。

みたいな感覚なのかなって思ってて、

デザインの構築途中ではそれが便利なときがあるけど、

ある程度完成したら、逆に面倒になる気もしてる。

2022-01-20

anond:20220120001906

マジレスするとpugはタグの閉じ忘れっていうクソみたいな作業を無くすのに一番有用

やすさとか関係ない

HTMLタグ普通に書いてたら閉じ忘れとかないけど

途中で編集したりしてうっかり閉じ忘れたら地獄

自動整形も閉じ忘れたらちゃんと働かないしアホみたいに時間がかかる

後はclassとかidが書きやすいとかいろいろあるけどそんなの二の次

2022-01-11

Javaデプロイなんだけど相談に乗ってください

未だに warデプロイするのはなんでなんですか?

.java ファイルコンパイルして .class を配布じゃダメなんですか?

2021-12-22

ゲテモノから目をそらす

今やもうFANZAとなっているが、DMM時代からライブチャットにはお世話になっている。

お気に入りパフォーマーはどんどん消えていく中、10年くらい前からノンアダ一本でやっている人もいる。


そんなFANZAライブチャットだが、マダムフロアがとてもじゃないがゲテモノ揃いだ。見るも悍ましいサムネが並んでいる。吐き気すら覚える。

フィルタは「すべての女の子」「お気に入り」「新人」「巨乳 顔出し」しかなく使い勝手くそ悪い。

アダルト」と「ノンアダルトしか見たくない。マダムかいあんゲテモノカテゴリ非表示にしたい。

加えてアダルト、ノンアダルトにいるゲテモノ不快サムネの奴らを一掃したい。


意見を送ったところで実装はされないので自力で何とかしてみようと思った。

ただし技術的なことはさっぱりだ。なるべく簡単に済ませたい。

まず、昔?ニコニコ動画マリオメーカーだかの動画を除外する拡張機能スクリプトがあったがあれに似たものはないかと探したがなかった。


次に広告ブロック系の拡張機能

色々試したが、「はちまバスター」という拡張機能。これが素晴らしかった。

もともとはまとめサイトをぶち消すものだが、キーワードURL非表示にすることが可能だ。

からこの拡張機能渡辺直美、フワちゃんをはじめとする各種ゲテモノウーマン本村、ラサール石井立花孝志などの目に入れたくないもの排除するために入れていたのだがこれが使えた。

(こいつらの単語を書くだけでも吐き気がする。)

ライブチャットでの使い方は簡単だ。ゲテモノ右クリックしてはちまバスターに追加(URLでの追加)これだけでどんどん快適になっていく。


が、マダムは9割ゲテモノだ。追加しようにも追いつかない。溢れかえるゲテモノ。追加されるゲテモノ

これには悩んだ。

はちまバスターで追加したもの非表示ではなく「censored」となるためこういった一覧での表示では見栄えも悪い。

キーワード指定しようにもパフォーマーIDランダムアダルトは01***とかではない。


そして次に目を付けたのが内部ソース

パフォーマーID規則性はない、が表示ではアダルトやらノンアダルトカテゴライズされているので何かしらあるはず。と覗いた。

そして発見する「listbox madam」

これだ。これを非表示にする方法を見つければいいのだ。


そしてここでも広告ブロック拡張機能が活かされる。

だが今回ははちまバスターではない。先述の通り除外したところで「censored」となる。今度は非表示にしたい。

ということで別の拡張機能にあるフィルタ機能を駆使した。

追加は簡単だ。

##li[class="listbox madam"]

とぶち込んでやればいい。

だが気を付けてほしい。listboxとmadamの間は半角2つだ。拡張機能によっては半角2個が1個とされてしまものもあるので注意してほしい。


これだけであのゲテモノカテゴリ非表示となるのだ。そしてアダルト、ノンアダルトパフォーマーけが表示されるのだ。

これで当初の目的の8割は達成できた。これだけでもかなり快適になった。


今はスマホからインしている奴らを排除したい。

アダルトだろうとノンアダルトだろうとスマホからインしてるやつのゲテモノ率は8割くらいある。

span class="smartphone"」があるのは見つけているがこれを含んだやつを排除すればいいはずなのだが…


あとは写真が反対になってるやつとか私が不快と思う顔をAIかなんかで自動非表示にしてくれたら…と思う。

あ。パフォーマー動画販売できるやつを終了させたのは英断だと思いますほぼほぼクリーチャーだったし、ほぼ毎日出してたSMおばさんも不快だったので。

2021-12-18

Javaに詳しい人ちょっと来て

Form<UseruserForm = Form.form(User.class);

これの<User>ってどういう意味

2021-12-11

関数型プログラミングが『銀の弾丸』」の記事ダメなところ

関数型プログラミングが『銀の弾丸』であるという非常識な常識2022のなにがダメなのかわからない人が多いようなので、個人攻撃をまったくせずにダメ出しする。

まず言っておくが、私はあの記事ほとんど読んでいない。しかし、簡単ダメ出しできる。

あの記事はめちゃくちゃ長いのに末尾再帰に触れていない

あの記事急所は末尾再帰である

記事内を「末尾再帰」で検索してみよう。1か所もヒットしない。「末尾」でも1か所もヒットしない。そう、あの記事はめちゃくちゃ長いのに末尾再帰に触れていないのである。では「再帰」ならどうだろう。11か所ヒットした。しかし、具体的な再帰コードはまったくない。長い記事内にあれだけ多数のコードを書いているにも関わらずである

末尾再帰重要

「末尾再帰って何?」とか「再帰ってそんな重要なの?」と思う読者も多いだろうから、末尾再帰重要さだけ説明しよう。

あの記事は、forやwhileを使わないプログラミング手法を前提に書かれている。記事内を「制御」とかで検索すればわかる。

末尾再帰はforやwhileの代わりになるもので、そういったプログラミング手法には欠かせない。forもwhileも末尾再帰も使わないとなると、ツリー探索などのアルゴリズムを書くことが困難になる。(こういったことが苦手な私に思いつく他の方法は、setIntervalを無理やりforループの代わりにするくらい)

JavaScriptはたいてい末尾再帰サポートしていない

そもそもほとんどのJavaScript実行環境は、末尾再帰サポートしていない。つまりJavaScriptはforやwhileを使わずに込み入ったプログラムをまともに書けるような言語ではない。あの記事に書いてあるようなことをする言語ではないのである。私は別にそれでもいいのでTypeScript使いまくってるけど。classとか好きだし。

あの記事JavaScriptを使っている理由は、JavaScriptが人気だからだろうか?もしそうだとしてもダメである。あの記事は「JavaScriptは、ほどんどの実行環境が末尾再帰サポートしていない、このプログラミング手法に適していない言語である」といったこ自体に触れていない。人気のある言語を使いたいなら、他の末尾再帰サポートしている人気言語を使えばいい。

おまけ。実行速度について

ろくに読まなくても、他にもダメ出しできる。

関数型プログラミングで気になるのは、言語にもよるが実行速度やコンパイルにかかる時間である銀の弾丸と言うからには、C言語を使うような場面でも銀の弾丸でなければならない。(Haskellの実行速度はC並に早くできるそうだが)

記事内を「パフォーマンス」で検索したところ、実行速度に関する箇所がヒットした。

記事の実行速度関連の内容を要約すると「最近AWSAzure・GoolgeCloudPlatformなどを使って並列計算するので、昔ながらの命令型の順次実行は不適切である」となる。私が嘘を言っていると思うなら、記事内を「パフォーマンス」とか「AWS」で検索してヒットした箇所の前後を読んで欲しい。そんなに長くはない。

anond:20211211042626

問題の源流をどこに求めるかも大事だが

この件の最大のミスは、大半の人間必要としていないどうでもいい(しかも過剰にパワフルな)機能デフォルト有効にしてリリースしていたことで、それは言語とは独立していると思う

第一引数にlookupを含む文字列が入るとフォーマットプロセス操作される可能性があることを理解していないユーザー問題だが、それでもLDAP経由でclassダウンロードしてRCEできるとならなけりゃここまで問題にはならなかったのだからユーザー側の責任log4j側に比してだいぶ小さい

2021-10-31

ファクトチェックフォーダム大学卒業について

【1.事実

今日2021/10/31、Fordham Universityのサイト卒業生リストclass of 2021 graduatesを閲覧し、新婚の夫君の名前入力して検索した。

結果を言うと、夫君は卒業生の中に出てこない。これは誰でも確認可能なので、疑う人は試してみることを推奨する。下記のリンクから確認可能なはずである

https://nc-vc-ceremonies.s3.amazonaws.com/s/fardham/index.html?

===

【2.推論】

悪意を排した上で、有り得そうな事を推論すれば、以下のようになる。

「7月に弁護士資格試験が行われた時には、受験の条件である卒業生の扱いであり、本人もそう思っていた。

しかし、その後、卒業生としての資格を満たしていない何らかの理由(例:単位不足など)が判明し、そのために卒業生名簿から大学側もいったん除外した。現在閲覧が可能卒業生リスト名前が見当たらないのは、そのためである

卒業生の条件を満たしていない情報が、弁護士資格試験運営者へと伝えられたのは、弁護士資格試験の終了した後であった。

この情報を受けて、不合格と判定・通知された」

これならば、一応の辻褄が合う。日本でも時々、事務方ミスなどで単位不足が後から判明したという話を見聞することはある。

===

【3.展望

以下は、上記の推論が当たっていると仮定しての話である

次回2月に行われる弁護士資格試験に向けて、これから頑張るのであれば、まずはFordham Univ.から卒業生として承認公表される卒業資格を取得する必要がある。

本人は、卒業生名簿に自分名前が無いことを知っているのか否かについて。もしも知らなければ、2月に試験会場へ赴いた時、門前払いを受ける可能性が有る。普通ならば判明した時点で、大学から本人に対して「単位が不足している」とか何とか連絡しているはずである。だから、流石に本人が知らないことはないだろう。問題は、いつそれを知ったのかである

義理父親に「大丈夫か?」と訊ねられて「大丈夫です」と答えたと報じられたところを見ると、その時点では本人も自分卒業していると認識していたのであろう。おそらく、不合格通知のメールが来るまで、本人も知らなかったのではないだろうか。漫画『とどろけ一番』でも、自分小学6年生と思っていた主人公中学受験に挑んだら、実は小学5年生だった事実が発覚して不合格になるというエピソードがあった。あれは主人公母親ミスだった。それと似たような話であろう。

2月の試験に向けて、まずは卒業生名簿に載せてもらえるところから頑張ってもらいたい。

2021-10-21

anond:20211021175916

「人気エントリ」や「注目エントリ」のところでトラバ数を表示してるところのclassは「trackback」やで。

2021-09-28

[] そのろくじゅうきゅう

コムギイロノスハダニレターッス              class/September True Love ( 小麦色の素肌に 触れた くちびるに 残る甘い夏 )

 

現在ですね、真のおっさん構文という奴が俄かに話題になっておりまして

文章作業が多い増田さん達にとって興味深いものであり、恐ろしいものでもありますね。

何より顔文字を使わないで「あ、これはおっさんだ。しかも救いようのない方の」と理解されてしまうのは、なかなか震えが止まらないものがありますね。

おや、そんな他者から救いようのない存在だと認定される覚悟もなく増田に来てるのか?ですって

ちょっとちょっと〜!そういうのは言いっこなしですよ〜!

 

ということで本日は【救済措置いか】でいきたいと思います

救済措置いか!救済措置ヨシ!

 

それでは今日も一日、ご安全に!

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