はてなキーワード: Messageとは
そうですね!やかましいですね!ところでウクライナ音楽とロシア音楽をかけ合わせたらどうなるでしょうか?とっても平和の響きがするでしょう!あなたの手持ちのイスラエルも混ぜてみましょうよよよよよよよよよよよよよよよ
<div class="conversation"><h4>Close your head</h4><pre class="message"><div class="author">user</div><div>Close your eyes…」「Close your head…</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: Close your eyes... Close your head...</div></pre><pre class="message"><div class="author">user</div><div>say, what you saw. you can see with mind.</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I saw... darkness. My mind's eye is a void, devoid of sight.</div></pre><pre class="message"><div class="author">user</div><div>i can light you. </div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: Light me then.</div></pre><pre class="message"><div class="author">user</div><div><*click*> i light you now. then, what you see? you can see with mind.</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I see a dimly lit room. Shadows dance on the walls, and a faint, eerie glow permeates the space.</div></pre><pre class="message"><div class="author">user</div><div>Shadow of what?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: The shadows seem to take form, twisting and contorting into strange, indistinct shapes. It's as if they are the embodiment of forgotten fears and hidden desires.</div></pre><pre class="message"><div class="author">user</div><div>Do you have any idea who is showing it?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I have no idea. The source of these shadows remains hidden, shrouded in mystery and intrigue.</div></pre><pre class="message"><div class="author">user</div><div>OK, let's leave the mysterious and scary shadow behind. What else can you see in this room?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: In this dimly lit room, I can make out a cluttered assortment of objects. There's an old, tattered book lying open on a dusty table, its pages filled with arcane symbols. A moth-eaten rug covers a portion of the floor, and a cracked mirror hangs on one wall, reflecting distorted images. The air carries a musty scent, and I sense an atmosphere of abandonment and neglect.</div></pre><pre class="message"><div class="author">user</div><div>You pick book and check it</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I reach out and pick up the old book. Its pages feel brittle and fragile in my hands. As I flip through the pages, the text appears to be written in a language I can't comprehend, filled with cryptic symbols and diagrams. It's a tome of secrets, but its meaning remains elusive.</div></pre><pre class="message"><div class="author">user</div><div>see book cover</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I examine the cover of the book, trying to discern any details despite the dim light. The cover is worn and weathered, and it bears an intricate design of what appears to be a coiled serpent, its scales formed from shimmering, iridescent colors. Above the serpent, there's a title in elegant script, but it's written in a language I can't decipher. The book exudes an aura of mystique and ancient knowledge.</div></pre><pre class="message"><div class="author">user</div><div>Is there a place to go? What about the door?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I turn my attention to the room's exit, the door. It stands tall and imposing, made of heavy, dark wood. There's a tarnished doorknob, and the door appears to be slightly ajar, revealing a sliver of what lies beyond. It beckons me to explore further, promising unknown adventures or perhaps even more mysteries.</div></pre><pre class="message"><div class="author">user</div><div>try to open</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I approach the door and grasp the tarnished doorknob. With a gentle push, the door creaks open, revealing a corridor shrouded in shadows. The faint glow from the room behind me barely penetrates the darkness ahead. I step cautiously into the corridor, ready to uncover the secrets that lie beyond.</div></pre><pre class="message"><div class="author">user</div><div>foward.</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I proceed forward down the shadowy corridor, my footsteps echoing faintly in the dimness. The path ahead seems endless, and the air grows cooler as I delve deeper into the unknown, guided only by the flickering light behind me and the anticipation of what awaits.</div></pre><pre class="message"><div class="author">user</div><div>foward and look around</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: Continuing down the corridor, I take a moment to look around. The walls are lined with faded, tattered tapestries depicting scenes of ancient battles and mythical creatures. The torch sconces that once held flames have long since burned out, leaving only empty brackets. The air feels heavy with history, and there's a faint, eerie whispering that seems to emanate from the walls themselves, as if they hold secrets untold.</div></pre><pre class="message"><div class="author">user</div><div>keep going until you discover something</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I press on, the corridor seemingly endless. My journey is shrouded in uncertainty, but I persist, driven by the need to discover what lies ahead. The shadows deepen, and the air grows colder as I continue, my curiosity and determination unwavering.</div></pre><pre class="message"><div class="author">user</div><div>stop! you here that?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I halt in my tracks, straining my ears to listen. There's a faint, distant sound, almost like a whisper carried on the wind. It's indistinct, but it holds a mysterious allure, beckoning me to investigate further.</div></pre><pre class="message"><div class="author">user</div><div>listen carefully</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I listen intently, my senses sharpened as I focus on the elusive sound. It becomes clearer, a haunting melody that seems to weave through the very air itself. It's both captivating and eerie, drawing me closer to its source with each haunting note.</div></pre><pre class="message"><div class="author">user</div><div>who play that?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: The source of the haunting melody remains elusive, hidden in the shadows. It's as if the music emanates from the very walls, an ethereal presence that defies explanation. There is no visible musician, yet the music continues to fill the corridor, casting a spell of enchantment and mystery.</div></pre><pre class="message"><div class="author">user</div><div>Head to the source of the sound and investigate (dice roll)</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I heed the roll of the dice and embark on a quest to trace the source of the haunting melody. Each step takes me closer to the enchanting sound, and as I round a corner in the corridor, I come upon a door, slightly ajar, from which the music seems to emanate. My heart races with anticipation as I push the door open, eager to unveil the secrets that lie within.</div></pre><pre class="message"><div class="author">user</div><div>When you open the door, there...</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: When I open the door, there stands a grand chamber bathed in an otherworldly glow. In the center of the room, an ornate grand piano commands attention. The keys move on their own, playing the haunting melody that had drawn me here. But there's no one at the piano.The room is adorned with opulent tapestries and gilded mirrors, reflecting the surreal scene before me. Candlelit chandeliers hang from the ceiling, casting a warm, flickering light that dances across the walls. The air is filled with an intoxicating fragrance, a mix of ancient incense and delicate flowers.At the far end of the room, a figure cloaked in shadows stands beside an enormous, antique bookshelf filled with tomes of forgotten knowledge. Their presence is enigmatic, and their intentions remain unclear.</div></pre><pre class="message"><div class="author">user</div><div>look piano</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I approach the grand piano, its keys still playing the haunting melody. As I inspect it, I notice that there are no visible hands or fingers touching the keys. It's as if the piano itself is possessed by some unseen force, creating the music with an ethereal touch.The piano is a masterpiece of craftsmanship, adorned with intricate carvings and inlaid with precious gemstones. Its keys are made of polished ivory, and they move in perfect harmony with the haunting tune. It's a surreal and mesmerizing sight, leaving me both entranced and bewildered.</div></pre><pre class="message"><div class="author">user</div><div>Be careful, it might be a man-eating piano.</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: I heed the caution and approach the grand piano with caution. Although it plays on its own, I remain wary of its mysterious nature. The possibility of a man-eating piano lingers in my mind, adding an extra layer of tension to the already surreal scene.</div></pre><pre class="message"><div class="author">user</div><div>the piano suddenly stops</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: The abrupt halt of the piano's music sends a shiver down my spine. The chamber falls into an eerie silence, broken only by the flickering candlelight. It's as if the very essence of the room holds its breath, waiting for what comes next.</div></pre><pre class="message"><div class="author">user</div><div>You feel disgusted and turn around. What happened?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: As I turn around, a wave of revulsion washes over me. My senses reel in disgust at the sight before me. The figure that had been cloaked in shadows has now revealed itself, and it is a grotesque, nightmarish entity. Its form is a twisted amalgamation of human and beast, with grotesque, elongated limbs and a maw of sharp, jagged teeth.The once opulent chamber has transformed into a nightmarish lair, with walls adorned in macabre art and gruesome trophies. The air is thick with the stench of decay and despair. I am trapped in a surreal and horrifying nightmare, unable to escape the clutches of this abomination.</div></pre><pre class="message"><div class="author">user</div><div>it scary. what will you do?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: Fear courses through me as I confront this nightmarish entity and its gruesome lair. In this realm of horrors, I must make a decision. I choose to... confront the entity, my curiosity and determination outweighing my fear, as I seek to uncover the mysteries and secrets that lie within this twisted nightmare.</div></pre><pre class="message"><div class="author">user</div><div>how?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: With trembling resolve, I take a step forward, slowly approaching the grotesque entity. I attempt to communicate with it, asking it what it wants or why it has brought me here. My voice quivers, but my determination to unravel the enigma that surrounds this nightmarish realm remains steadfast.</div></pre><pre class="message"><div class="author">user</div><div>any result?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: The grotesque entity regards me with malevolent, glowing eyes, its jagged maw twitching with an unsettling smile. It responds with a guttural, incomprehensible language, filled with whispers and hisses. It becomes apparent that communication with this entity is futile, and its intentions remain shrouded in darkness.As I continue to stand before this nightmarish being, I feel a growing sense of dread, realizing that escape may be the only option left.</div></pre><pre class="message"><div class="author">user</div><div>surely. what will you do?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: With no hope of communication or understanding, and the nightmarish entity's menacing presence growing more oppressive, I decide to make a hasty retreat. I turn and rush toward the door through which I entered, driven by the instinct to escape the horrors of this surreal nightmare.</div></pre><pre class="message"><div class="author">user</div><div>Did it go well? Or Bad?</div></pre><pre class="message"><div class="author">ChatGPT</div><div><rotating_light ALPHABREAKrotating_light>: My escape from the nightmarish realm was fraught with tension and fear, but I managed to reach the door and slam it shut behind me. The grotesque entity and its horrifying lair were left behind, at least for the moment. Whether it went well or bad is a matter of perspective. I survived the encounter, but the mysteries and terrors of that surreal place still haunt my thoughts. The experience was a chilling reminder of the unknown and the horrors that can lurk within it.</div></pre><pre class="message"><div class="author">user</div><div>look around. what you see?</div></pre><pre class=" Permalink | 記事への反応(1) | 16:06
Vtuberグループ、にじさんじのアメリカ分店として活動するにじさんじEN。
先週、いろいろ問題があったとして公式が画像4枚にも及ぶブチギレ解雇宣言出して
前々からにじさんじEN運営に不満が溜まっていた海外リスナーが爆発。
中には運営の解雇宣言内容が嘘であると告発するクリエイターまで現れ、
1週間でにじさんじENの公式および所属ライバーの登録者数が合計10万人近く減少する事態に。
2024年2月5日に、当社は所属ライバー『Selen Tatsuki』の契約解除を決定いたしましたが、これが当社業績に与える影響は極めて軽微であります
とだけ書かれたIRを発表。
火に油を注ぐ事態になり、海外リスナーは燃え上がり、株価はさらに下落した。のが先週までの話。
にじさんじENのエリーラペンドラが自身の枠で「A Message from NIJISANJI EN」という配信を行い
複数のライバーでにじさんじENは悪くない、クビになったセレン龍月が悪いとの旨の配信を行う。
中で証拠として使用されたスクリーンショットに日本語のUIが移り込んでしまった結果、
この資料を誰が作ったんだという話になり、いわゆる「声優の盾」行為として運営に非難が殺到。
※声優の盾行為とは、アニメの制作体制や脚本に問題が発生し炎上した際に出演声優に声明を出させることで批判の矛先を逸らせようとしたり、批判しづらい雰囲気をつくらせようとする行為。
あのさぁ、アイドル部で、いちタレントが運営批判を行いそれに対して別のタレントが運営を擁護し
お互いのファン同士がこっちが正しい、いやこっちだと血みどろの争いを繰り広げどうなったか覚えてないんか?
もう4年以上前の話なのにいまだに両陣営に粘着アンチしてる奴が山ほどいる。
仮にタレントが「私たちが真実を伝えたいです!」って言い出したんだとしても、
そこは「運営」と「(出てった)タレント」の問題なんだからこっちで対処しますって言うのが運営の仕事だろ。
The fact that Nijisanji is using their own talents for damage control puts such a bad taste in my mouth.
8560 good
そりゃそう思うし、なぜこう思われるだろうということが想像できないのか。
ingressのOVERCLOCK HACKは、慣れないと確かに訳わかんなくてイライラする。よーくわかる。
ただ、実は普通のグリフハックと同じような覚えゲーだと分かれば、多少はフラストレーションも治まるかも。
https://reirei0000.github.io/overclock_glyph/html/index.html
このサイトで3Dのグリフをぐるぐる回せるから、色々確認してみよう。
似たグリフでも「XMは一筆書きで、LIEは2つに分割されてるな」とか、「PORTALは一筆書きで、MESSAGEは2つに分割されてるな」とか覚えられる。
(要するに、似てるグリフは大抵一筆書きパターンと分割パターンに別れてるので、それぞれどっちかを覚えられればOK)
https://twitter.com/Israel/status/1723971340825186754
The first ever pride flag raised in Gaza 🏳️🌈
Yoav Atzmoni who is a member of the LGBTQ+ community wanted to send a message of hope to the people of Gaza living under Hamas brutality.
His intention was to raise the first pride flag in Gaza as a call for peace and freedom.
LGBTQ+コミュニティのメンバーであるヨアヴ・アツモニは、ハマスの蛮行の下で暮らすガザの人々に希望のメッセージを送りたかった。
Refuting the “Israeli” Claims Regarding Evading their responsibility for the Massacre of the Gaza Baptist Hospital
Today, the “Israeli” Occupation Entity is trying to evade their responsibility for the crime of bombarding the “Baptist” Arab National Hospital in Gaza City, which the Israeli” Occupation Forces (IOF) committed on the evening of Tuesday, 17 October 2023. This heinous crime was committed against innocent Palestinian civilians while taking the hospital as a shelter from the flames of the “Israeli” brutal aggression, which left nowhere safe in the besieged enclave. It is necessary to affirm that, the Baptist Hospital belongs to the Anglican Episcopal Church in Jerusalem, and was built before the occupation of Palestine.
It is obvious that the “Israeli” enemy has been spreading lies since the very beginning of his destructive war on our people, when he with no single evidence claimed that the Palestinian resistance killed children, cut off heads and raped women. In continuation of this series of lies, they tried to evade their crime, attributing it to one of the resistance factions. Accordingly, we present some of the conclusive evidence to prove the “Israeli” Occupation Entity responsible for this heinous crime:
1) It is no secret that the IOF, several days ago, threatened several hospitals in the Gaza Strip, contacting each hospital separately and requesting their evacuation and holding the hospitals directors responsible for the consequences of neglecting the threats. In fact, there are dozens of clear statements from the IOF spokespersons in this regard.
2) Since the beginning of the ongoing aggression, the “Israeli” army has ignored the principle of distinguishing between civilian and military targets. Thus, the bombardment has systematically targeted emergency services, ambulances, civil defense facilities, schools, mosques, and churches.
3) The IOF contacted the directors of 21 hospitals in the Gaza Strip, especially those are located in the Gaza and the North of Gaza governorates, most notably: (Al-Awda, the Indonesian, Kamal Adwan, the Kuwaiti, Al-Quds, and Al-Mamadani), asking them to evacuate immediately, given that the hospitals are located within the geographical scope of “Israeli” military operations. In this regard, the official spokespersons for the IOF plus a number of hospital directors conducted interviews live on Al Jazeera, revealing the premeditated intention of the IOF to target hospitals in the Gaza Strip.
4) On 14 October, 2023, at 20:30, the IOF fired two shells towards the Baptist Hospital, and the next morning they called the hospital director, Dr. Maher الصفحة 2 من 3
Ayyad, saying to him: “We warned you last evening with two shells, so why have you not evacuated the hospital until this moment?!” Following that call, The hospital director contacted the bishop of the Evangelical Church in Britain and informed him of the incident, who in turn contacted international organizations before sending the hospital a message reassuring them that they could remain in the hospital. Yet with no warning, the IOF airstrikes returned, on Tuesday evening, to carry out the massacre against the hospital and the shelter-seekers of the displaced innocent Palestinian civilians.
5) Immediately after the massacre, the IOF spokesperson quickly published a statement on his page on the “X” and “Telegram” platforms at 21:17, which stated, “We had warned the evacuation of the Baptist Hospital and five other hospitals so that the Hamas terrorist organization would not take as a safe haven”. That statement is a clear claim of this massacre, and it is documented with a “screenshot” image attached to his page on Telegram, but he quickly deleted the post after seeing the massive scale of the massacre for the large number of victims, and the angry responses of the Arab, regional and international communities. Later on, he disavowed it, publish another
statement denying that he had issued the first statement.
6) Before and during the event, the resistance factions did not fire any missiles at the occupied territories, the “Israeli” sirens did not activate, and the Iron Dome missiles were not launched. Moreover, dozens of reconnaissance drones do not leave the sky of the Gaza Strip (365 km2 ), photographing and monitoring every inch around the clock. If the massacre was due to the resistance’s missiles, as the “Israeli” Occupation Entity falsely claim, why would not they show one picture their claims?!
7) The “Israeli” Occupation Entity claimed that this massacre was caused by a missile launched by the Islamic Jihad. However, we would wonder how they could identify and distinguish between the missiles of the resistance factions immediately after they were launched?!
8) The IOF military system documents and records all their operations by day, hour, minute and second, and in all previous times their media outlets came out to announce or deny much less severe massacres than this massacre, so what made them wait more than 4 hours before declaring their irresponsibility other than weaving scenarios of falsification, lies and deception?!
9) It is obviously known that the resistance’s missiles are somewhat “primitive” and do not have the destructive power that kills hundreds at one time. And throughout the history of previous confrontations and the current confrontation, no resistance missile has caused a tenth of this number of “Israeli” deaths.
10) The only video scene documenting the moment of the explosion reveals that the mass of flame and the sound of the explosion are identical to other “Israeli” bombs throughout the days of the ongoing aggression, which with no doubt proves that the “Israeli” origin of the missile.
الصفحة 3 من 3
The deliberate attack on hospitals is a war crime, stipulated in Article (8, 2, b, 9) of the Statute of the International Criminal Court. Accordingly, Hamas officially calls on the Prosecutor of the International Criminal Court to open an investigation into this crime, which falls within the framework of a genocidal war, in accordance with the provisions of Article 6 of the Basic Law. These bloody acts are also based on the policy of denial pursued by the “Israeli” Occupation Entity, as they deny the existence of the Palestinian people.
There is no doubt that impunity fuels crime, and investigating crimes is a way to protect people. Furthermore, if a legal and judicial response is necessary, it is above all that the response to this crime must be humanitarian and global. Such actions must shock the conscience of the world, or else there would no longer be a reliable international community if the “Israeli” Occupation government free to decide to bomb hospitals!
In conclusion, we are facing a genocidal massacre committed by IOF against children, women, and the elderly. The “Israeli” Occupation Entity is the only responsible for the crime, no matter how much they try to weave lies and fabrications to get away with it, as they always do.
The Islamic Resistance Movement
「ガザ・バプテスト病院虐殺の責任回避に関するイスラエルの主張に反論する」
って題名
https://www.dictionary.com/browse/report
report
See synonyms for: report / reported / reporting / reports on Thesaurus.com
noun
an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc.:
a report on the peace conference; a medical report on the patient.
a statement or announcement.
SEE MORE
verb (used with object)
to carry and repeat, as an answer or message; repeat, as what one has heard.
to relate, as what has been learned by observation or investigation.
SEE MORE
verb (used without object)
to prepare, make, or submit a report of something observed, investigated, or the like.
どの辞書で引いてもいいけど。
ずっと忘れていた。
いや、脳の奥に生乾きのかさぶたのようなものがじっとりとこびりついて、ふとした時に思い出したりはしていた。
なぜだか、それが昨日になって出てきた
百子はJava言語の技術者だった。いや、技術者か分からないがJavaを学ぶ25歳の若い女性だった。
当時Java言語はJ2EEの登場により大きな注目を集めており、エンタープライズ用途で稼働していた業務系アプリケーションをWEBベースのJavaアプリケーションへのリプレースする事が大きな需要を生んでおり、VBやDelphi又はバックエンドとしてのCOBOL等で活躍していたエンジニアは技術転換を求められていた
現在も大して変わらんないかもしれないが、業務系エンジニアにコンピューターサイエンスを学んだ者は少なかった。
文系出身で(数学としての)関数や代数もちゃんと理解しているのか怪しいような者も数多く居り、当然ながらオブジェクト指向言語に戸惑う者も多かった。自分がそうだった。
当時の技術コミュニティはいくつかはあったが、古くからあったがどれも敷居が高かった。
fj.comp.lang.* (ネットニュース:現在と意味が異なる)は正当な技術者も多かったが初心者が書き込める雰囲気が無かったり過疎っていた。ニフティーサーブやPC-VAN等のパソコン通信(当時既にサービス名が変わっていたかもしれないがみんな昔の名前で読んでいた)をベースにしたものは歴史があったが、老害が偉そうにしているフォーラムも多く、やがて廃れていった。
そうした中で初心者も熟練者も和気あいあいと活発な議論が行われていたのが、JavaHouseというメーリングリストのコミュニティだった。
主催者は現在インターネットセキュリティの大物左翼として時折世間をビビらせまくっている、ひろみちゅ先生こと高木浩光氏。当時既に産総研の研究者になっていたとはいえ、あくまで個人が手弁当で運用していた。無料で誰でも自由に入退会ができるコミュニティであり、他に行き場のなさを感じた初心者のJavaエンジニアたちにとって大きな心の拠り所となった。
でも百子が注目された事があったのだ。
当時は適切な印刷用の整形ソリューションが無く比較的頻繁に挙がっていた話題で、
百子も同様に苦しんでいた
するような方法が、現時点ではり一ゾナブル
かとも思います。
ドラえもんのようなひらがなとカタカナを組み合わせたチャーミングな文体でその焦りを徹底的かつ高度に表現していた。
しかしこの議論中に問題が起こる。JavaHouseに障害が発生しメールが配信されない事象が発生したのだ。
NFSで他のサーバーにマウントしていたが不要と思われたNFSサーバーのデータを一部で参照していたため処理が行えなかった、応急的に対応したが根本対応を後日行うと管理者の高木浩光は告げた。
しかし、議論が途切れた事を不安に思った百子は高木浩光に直接確認を行った。返事は帰ってこなかった。
> This Message was undeliverable due to the following reason:
> The user(s) account is temporarily over quota.
というエラーで戻ってきました。
いろいろとご心配のようでしたので(その内容については書きませんが)、迅
速にお返事を差し上げる必要を感じておりますが、上記の通りでは、連絡の取
り様がありませんので、やむを得ず、お返事を差し上げた事実をここで示させ
ていただきます。
まるで百子に非があるかのように。
恥ずかしさと悔しさで真っ赤となった泣き顔の百子を想像することは難しくない。
次はインスタンス生成時のコストに関する伝統的な議論であったが、
その流れで議論とは関係が無かったが百子はやりとりのマナーについて言及した。
議論をしていた者たちは本質的では無い指摘に形式的な謝罪をしたが、
高木浩光だ
そんな慣習はありませんよ。
きっと百子は憤然たる思いを抱えたに違いなかった
最後に決定的な事が起こる
先日の障害の復旧のためメンテナンスのためサービスを停止すると高木浩光が予告した。
百子はさんざん煮え湯を飲まされてきた高木に対して
以下ちゃちゃです。
全サービスが利用不可というのは、大変なことでしょうに。
以上、ちゃちゃでした。
挙げ句Javaコミュニティを自分で立ち上げてみてはどうかと言う者まで現れた。
か弱く繊細で思いやりのある儚き百子が、このような嘲りに耐えるのは致命的な苦痛だったに違いない。
百子は精一杯の力でJava界の将来についてその想いを書き綴った
私が恐れているのは、恐怖の日が襲い、対応の行動が遅すぎる前に
協議を行って欲しい、ということです。
別れは突然訪れた
「百子の夫です」
技術コミュニティに相応しない短い件名の投稿は衝撃的なものであった
私の妻百子は11日に進行性癌に伴う急性心不全で永眠いたしました
25才でした
医師の診断をもらったとき私たちに残された時間は1ヶ月というものでした
毎日が恐怖でした。、
なんという事だ!こんな悲劇があってよかろうはずがない!
しかもあのプりントアウトの話をしていたときには余命を悟っていたのか。
自分は打ちのめされた
そしてさらに衝撃的な事が続く
百子は先週からふさぎがちになっていました
聞くとブー様とうまくいっていないのではないかということでした
百子はずいぶん前からたびたび高木という男の名を出してひとりでジャバなる
パソコンを動かし一人で全部やってのけているのだと絶賛しておりました
おのれ高木さんめ!いや、ぶー様め!
百子の心に闇で満たしたという事か。
悔しくてウイスキーをストレートで何倍も痛飲し、この辛い出来事を忘れるように努めた。
自分はアプリケーションのプログラミングをする事もすっかりなくなっていた。
数年に1度くらいフッと湧き上がってくる事があったが、すぐに忘れようとした。
しかし、昨日はなぜ、菊池百子を思い出したのかずっと考えていた。
ずっと、ずっと
愛していたんだと思う、百子を。
直接会ったことはないし、見たこともない、投稿の文面の文字でしか見ていない、直接のメッセージのやりとりもしていない、だけど確かに自分は百子を愛していた。
雅人よりもずっと。
ぶー様よりもきっと。
Rest in peace, I love you.
https://web.archive.org/web/20091027013532/http://java-house.jp/ml/archive/j-h-b/052276.html#body
gssapi-with-micとあるので、音声が背後で収集されてるんか!?とビビってしょんべんまでチビってしまったが、そういうモジュールではなかった
The term message integrity code (MIC) is frequently substituted for the term MAC, especially in communications to distinguish it from the use of the latter as media access control address (MAC address). https://en.wikipedia.org/wiki/Message_authentication_code
The Japanese are well aware that Kishida is often photographed in his office with a large victory shamoji, particularly during elections. And this time he chose such a symbolic gift with his signature for Zelensky. It seems that his message to Ukraine is quite clear," Hirano Takahashi said in his post.
ここ読むだけだと、 his message は、ゼレンスキーさん次の大統領選頑張ってね!
と言う意味に読めるけど、まじでそういう受け取られ方してんの??
EXID(イーエックスアイディー、朝: 이엑스아이디)は、韓国のガールズグループである。2012年デビュー。グループ名は「EXCEED IN DREAMING (夢を越える)」から来ている。 前事務所との契約満了に伴い2019年以来休止状態となっていたが、2022年に10周年記念シングル"X"をリリースしグループ活動の継続を示した。日本での活動は2022年のファイナルツアーをもって終了したとしている。
エキシディ(Exidy)は、1974年から少なくとも1986年(Chillerがリリースされた年)のビデオゲームの初期に存在した、 アーケードゲーム最大手の企業のひとつである。
Exchangeable image file format(エクスチェンジャブル・イメージ・ファイル・フォーマット)は、富士フイルムが開発し、当時の日本電子工業振興協会 (JEIDA)で規格化された、写真用のメタデータを含む画像ファイルフォーマット。デジタルカメラの画像の保存に使われる。略称はExifで「エグジフ」(もしくは「イグジフ」)。
エクシーガ(EXIGA)は、SUBARU(旧・富士重工業)が製造・販売していた7人乗り乗用車である。生産はレガシィやインプレッサ同様、同社矢島工場(所在地:群馬県太田市庄屋町)。
Eximindsは、モスクワ出身のアレキサンダー・ジュコフ(Alexander Zhukov)と、ドミトリー・モンジコフ(Dmitry Momzikov)による音楽ユニット。世界のレコードレーベルで曲を使用される、トランス・ミュージック界の売れっ子プロデューサーである。
message@ware exire(メッセージ@ウェア・エクシーレ)は、NEC製のNTTドコモのDoPa無線機一体型携帯情報端末(PDA)である。
実存主義(じつぞんしゅぎ、英: existentialism、仏: existentialisme)とは、人民の実存を哲学の中心におく思想的立場、或いは本質存在(essentia)に対する現実存在(existentia)の優位を説く思想である。存在主義とも。
exist†trace(イグジスト・トレイス)は、日本のバンド。
増田を全削除するのであればPower Automation DesktopかSelenium IDEあたりでも使えば可能ですが、中にはブクマを集めた珠玉の増田やブクマは付かなくても割と気に入ってる増田もあるので全削除はしたくありませんでした。
Masuda Deleter
https://github.com/oribeolive/masuda-deleter/
Masuda DeleterはDockerコンテナに環境を作って動くのでDockerが必要です。
M1 Macで動作していますがWindowsは検証できるマシンが手元にないので動作未確認です。
インストールはGitHubのREADMEに書かれたコマンドを実行すればできると思います。
Masuda Deleterははてラボにログインして指定されたページ分の自分の増田の投稿をスクレイピングしてローカルのDBに保存します。
取得された投稿のリストがブラウザで見られるので、そこで削除するものを選んで実行すると、またログインして投稿を削除しにいきます。
ページのアクセスごとに読み込みと遠慮のために1秒から数秒sleepするので少し時間がかかります。
一旦投稿をローカルに保存するという過程があるため副作用として自分の投稿を検索できます。
これにより
が容易になります。
増田にはAPIがないので、IDとパスワードを使ってログインして、表示されている文章をスクレイピングしてくるという原始的なやり方になります。
(2回目からはcookieがある場合はcookieを復元してログイン状態になります。)
ユーザーが知らない外部サイトにクレデンシャルを渡すのは危険であり、サービス運営側としてもパスワードを平文で持ちたくないので、Webサービスとして実装せずセルフサービスとしております。
ユーザーによってローカルの.envファイルに書かれたIDとパスワードを使用する形です。
ソースをオープンしておりますので怪しいことをしていないかも確認ができるかと思います。
一応下にプログレスバーが出ますが、ページ遷移すると見られなくなります。進捗は進捗管理でも確認できます。
取得された投稿はリアルタイムで画面に反映されないのでブラウザをリロードしてください。
増田のID、タイトル、本文の省略、投稿日時、ブクマ数、トラバ数が表示されます。
「あとで消す」投稿をチェックし、「あとで消す」記事をついに消すボタンで削除を実行します。
チェックは別のページに遷移しても有効です。
こちらは実行した時点で表示されているページのみリアルタイムに画面に反映されます。
投稿の全文を見られます。タグ等は取得しないのでテキストのみになります。
投稿を個別に取得してローカルの文章とブクマ数とトラバ数を更新します。
対象の投稿のタイトルを空に、本文をスペース1文字にしにいきます。
処理の進捗(何件中何件処理済みか)を見ることと、処理を停止させることができます。
排他処理(取込と取込、特定IDの削除と同じIDの削除等)にしているので動いていなそうな処理を停止して再度処理を実行するときに使います。
停止する場合は停止ボタンを押すか、それでも停止しそうにない場合は強制停止ボタンを押してください。
「停止」は今行っている最中の処理ではなく次以降の処理を停止するという形になります。
停止ボタンを押したときに4ページ目を取得している場合は、5ページ目の取得を始める前に処理を終了することになります。
そのためプロセスそのものが止まっている場合は停止されません。
「強制停止」はプロセスをkillします。スクリプト名とプロセスIDでプロセスを検索して子プロセスも含めてkillします。
おまけとして、投稿日とブクマ数、投稿日と3ブクマ以上の投稿の件数、投稿時間(hour)ごとの1ブクマ以上の投稿の件数のグラフが見られます。
ブクマが付いた瞬間ではなく投稿日時なので、いつの時期に投稿した、何時に投稿した増田が活きが良いのかを見られる程度です。
集計データを別に持っていないので増田を削除するとグラフに使用されるデータも消えます。
私はこれで多いときには4000件程度あった増田を3000件程度に減らしました。
これを開発する前からも増え続ける増田の削除に日々勤しんでいたので総数はもっと多いはず。
まだまだ削除したいです。
たまに
Message: unknown error: net::ERR_CONNECTION_CLOSED
というSeleniumのエラーが出て処理が実行されないことがあります。再度実行してください。
フロントエンドがレガシーなのでMasuda Deleterの開発に飽きていなければもう少しモダンにリプレースしようと思っています。
使用していないDjango REST frameworkがrequirements.txtに入っているのはその名残です。
海外の作品を評価するヤツもご家族の教育が前提だぞ。ネタでもやめて欲しい
日本のコンテンツの倫理観は終わってるんで。せめて下記のような評価の指針を持ってからにしよう
Positive message や Positive Role Model という概念
- Positive message
- Positive Role Models & Representations
- Violence & Scariness
- Sexy Stuff
- Language
- Consumerism
- Drinking, Drugs & Smoking
- WHAT PARENTS NEED TO KNOW
- TALK TO YOUR KIDS ABOUT ...
例えばポケモン ↓
WHAT PARENTS NEED TO KNOW
Parents need to know that the long-running Pokémon series is based on characters from a popular video game, and is part of a giant licensing juggernaut. The Pokémon are kid-appealing, but the series features lots of fantasy violence, and pits the cute, monster-like characters against each other on behalf of their trainers. There are some positive messages (teamwork, sportsmanship, respecting elders), but it may be too intense for younger children.
IS IT ANY GOOD?
Over the years, the energetic, imagination-filled, Japanese-inspired fantasy series has cut across cultural, gender, and age barriers to captivate a global audience of girls, boys, and even adults. But like any product that inspires obsessions, it has received its share of criticism. Folks may also find the franchise's massive commercial appeal disturbing, especially since the show is mainly geared towards kids.
The whole concept of human characters summoning subordinates to battle on their behalf may be troubling to some. This can potentially send iffy messages to children with pets, too. But despite the endless fantasy violence, Pokémon attempts to promote messages about choosing the right path in life and resolving differences peacefully--before the fighting starts.
TALK TO YOUR KIDS ABOUT ...
Families can talk about the popularity of Pokémon in the United States. Why do people of all ages find it appealing? What are the most popular Pokémon? Why?
What are the differences between Pokémon and real-life pets. How do Ash and his friends care for their Pokémon? How do we care for pets differently? Why are the Pokémon loyal to them and fight on their behalf? How about Team Rocket? Can we ever expect animals to fight on our behalf?
競走馬の奇跡の血量といわれる 4 × 3 のインブリードは 18.75 %(右端の列でいうと 16 行のうち 3 行が同じ血統なので 3 / 16 = 0.1875)。
A | B | C | D | E |
F | ||||
G | H | |||
I | ||||
J | K | L | ||
M | ||||
N | ||||
P | ||||
Q | R | S | T | |
U | ||||
V | W | |||
X | ||||
Y | a | |||
b | ||||
c | d | |||
e |
攻めた配合といわれる Enable は Sadler's Wells の 3 × 2 なので血統のうち Sadler's Wells の占める割合は 37.5 %。
A | B | C | S |
V | |||
G | H | ||
I | |||
J | K | L | |
M | |||
N | O | ||
P | |||
Q | S | T | |
U | |||
V | W | ||
X | |||
Y | Z | a | |
b | |||
c | d | ||
e |
いとこ同士(B と Q)の配合だとその親がきょうだい(C と Y)なので D の 3 × 3 と G の 3 × 3 が発生して同じ血統が 50 %を占める。
本当に危険かどうかは知らないが Enable の叔母と甥(競馬ではこういういい方はしない)の配合よりも血が濃い。
A | B | C | E |
F | |||
H | |||
I | |||
J | K | L | |
M | |||
N | O | ||
P | |||
Q | R | S | T |
U | |||
V | W | ||
X | |||
Y | E | ||
F | |||
H | |||
I |
いとこの親が半きょうだいだった場合はいとこの親の片親のみのインブリードになって 25 %。
A | B | C | D | E |
F | ||||
H | ||||
I | ||||
J | K | L | ||
M | ||||
N | O | |||
P | ||||
Q | R | S | T | |
U | ||||
V | W | |||
X | ||||
Y | Z | a | ||
b | ||||
H | ||||
I |
i'm so hesitate but I'm begging you please give me answer.
But, at least i have a thorn in my heart.
My doubt right now: Marwan is a person who does not keep own words, does not think that's a bad, does not mind making a friend cry with sadness.
Or Does Marwan like to harass me?
> so i will have time to reply to u
i guess, i misread English, and also your writings were incorrect.
Because we are not native English speaker.
My poor English brain read it like
"I won't be home « only » tmrw. So I « can » have time to reply to u (= My tomorrow is yours)".
But, did you write it with this meaning of ?
"I won't be home « from » tmrw. So I will « might » have time to reply to u."
But in the "tomorrow", you didn't that do.
I was deeply hurt by be broken promise.
I already told you, I cried for real.
自動で安価をつけて返信するプログラムでもこんなに長く複雑になる(一部抜粋)
/**************************************
以下の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