「push」を含む日記 RSS

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

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-07-20

anond:20220720094615

プログラミング初心者をカモにしようとしてるインフルエンサーに多い。

最初は「初心者にも分かりやすくするためにあえて厳密性は無視して言ってるんだろうな」と思ったら、何てことはない、ただの素人なだけだった。

YouTubeライブコーディングなんかやっちゃってそれをGitHubpushちゃうもんだから、もう化けの皮が剥がれまくりなんだけど、不思議炎上してない。

2022-06-02

メーラーってなんでメールアドレス毎にUI分けないの?

例えばpush通知って同じ通知元からでまとめるじゃん

メーラーって来た順だよね

そういう送信元で分けて見れるやつないのかなぁ

プログラマーだけどさすがにメーラーは作りたくない

2022-04-21

よく使うgitコマンド

git branch --all

git switch

git switch -

git diff

git diff --cached

git cherry-pick

git reflog

git commit --amend

git add . -p

git pull

git show

git fetch && git merge origin/master

git merge

git merge --abort

git rebase -i HEAD^^^^^

git tag --delete

git tag -d

git log

git log --graph

git push

git push --force-with-lease

git push --force

git push --tags

git push --delete

git push --set-upstream

git status

2022-04-09

Stage for Cinderella パドック雑感

デレマスデレステ)で今夏以降開催される総選挙……ではない、後釜イベントStage for Cinderellaのシステムへの感想とか、あとは誰が上位に入りそうかの下馬評

誰は行けそうだ、誰が本命で誰が大穴、誰は厳しいんじゃないか、そういう話題アイドル名を伏せずに出すので、そういうドラフト生みたいな話題ダメなヤツはこの時点でブラバ。いいな。俺は言ったからな。







仕組みは割愛する。簡単に言うと190人を4ブロックに分けて予選、予選上位5名+プレーオフの21名で本戦。予選上位5人x4組にそれぞれ楽曲(+声)、本戦上位5人に楽曲(+衣装SSRもろもろ+声)、本戦一位がシンデレラガール

全体の傾向

予選

CG狙い陣営ウオーミングアップ、ボイス陣営はここが本番、「CGは無理だけど曲はあげたい」って陣営はいるかも(あまり興味がない)。第7~8回ぐらいの温度感 (( 人気投票とボイス争奪戦バランスとして )) の総選挙が4ブロック開催されんじゃねえかなあという気がする。大前提として人気投票で、そこにボイス争奪戦がどこまで絡んでくるかという話だが、運営はあまり「ボイスが付く」というところをフィーチャーしたがらないし、ボイスがないキャラに無関心でもデレステは楽しく遊べるゲームなので、結局この形式では人気投票に近くなる(=声付き有利になる)……と思うのだけど、「よくわからないけど、たくさんボイスがつけられそう」とか「5票あるからボイスにも票を回せそう」という反応を自分の狭い観測範囲の中でもたくさん見かけるので、自分が思ったよりボイスへの流れがあり、各ブロック新ボイスが1、2枠、という感じになると思っている。

ボイス、8回以前は前回以前の結果や中間発表もあり「勢い」みたいなのが観測できたが、9回10回は3人固定、結果発表中間なし上位のみとかなりのブラックボックスで、しかも蓋を開けてみれば「総選挙票のついでのボイス票が大勢を決した」みたいな結果だったので、ボイスへの広報活動の手応えが得られない問題を有していた。今回はボイスへの期待感に加え、「決まった投票先がなく手持ちの票を余す人」(これまでも居たには居たが、これまでのそういう人はただボイスに関心がなかった人なのに対し、関心がある人がそのような立場になりうるというのは9回10回より健全そう)が確実に発生するので、広報活動の手応えがわずかなりとも得られる環境に戻りそうなのは素直に嬉しい所。

あと、「5人投票できる」というのが結構曲者で、自分で入れた票が推しへの妨害になりかねないというシステム的な問題がある。それを解決するために「投票しない」とか「全員に同じだけ投票する」とか「明らかに推しより上位の子に捨てる」とか「明らかに上位に入れなさそうな子に捨てる」とかい戦術が編み出されるのは当然なのだが、それが広まりすぎるとなんか途中でシステム変更とかになっちゃいそうな。そこは運営さんの腕の見せ所なのかな。

本戦

普通CG決定戦に落ち着くだろう。予選でボイスが付いた枠の子がここで善戦するとはあまり思わない。ただプレーオフからボイスなしが上がってきたなら強烈なブーストを受け5位くらいには入るだろう、予選から上がってきた子はこの時点でボイスがあるので、CG争いに興味がないがボイスに興味がある人の関心を一手に受け、更に「プレーオフから上がってきてボイス付与」という強烈な物語性を持ちうるからだ。俺もプレーオフがボイスなしだったらこの枠に入れる。

プレーオフ

順当にCGを狙える子が、ここを戦ってCG争いへというのは正直考えづらいが、何らかの物語……「この子逆境にめげず何度も這い上がって」みたいな物語を持つ子が――いるのかは知らないが――ここを勝ち上がって本戦に行く可能性はワンチャンありそう(ただそれが本戦で勝つかというと……)。そうでなければただのボイスおかわり枠。まあほ後者なんじゃないかなあ。各ブロック上位15まで発表するってすごいなと思ったが、よく考えたら全体60位までだからまり変わってはおらんのだな。

その他

属性の枠組みがなくなったのがちょっとヤなカンジではある。クール有利パッション不利じゃなかろうか?

CG予想

わがんね。ただ思うのは、なんとなくの民意として、CG二冠は避けられていたように思うのだが、10回の区切りと枠組みリセットの影響で「二冠」は全然発生しうるな、ということと、CG経験勢の勢いをあまり感じないこと。よって現時点では◎楓 。 未経験から競ってくるとすれば、○奈緒、○志希、▲美嘉、らへんかなあ。去年のPa順位的には藍子なのだが、CGになる勢いがあるとすれば美嘉な気がする。難しい。

ボイス

ワンチャンありそうだと思った候補ピックアップ

古賀小春

U149での出方次第。もし――そんなことは絶対にないと思うが――「U149では声はつかない」ということが確定したら大炎上とともにすごい勢いになると思う。いや自分で言っててアレだがそんなことは普通無いな。てか、ボイス付くなら、それは始まる前に教えてくれないと困るのだが……。もし不確定のまま本戦突入した場合死票を嫌う人たちからはむしろ敬遠されそう。

福山舞、横山千佳

U149の出方待ち、というカンジではあるのだが、もし、「小春にだけ声が付くことが確定する」みたいな事態があれば、小学生Pさんたちが奮起するシナリオはありうる。ただその可能性は弱め……かなあ……。

今井加奈

ずぅっと候補にいるのにずぅっと報われない子という印象で、今回もやはりプレーオフ圏内程度で終わるのではないかな……。「普通の子」が特徴というのは強い訴求力に欠ける……。

工藤忍・桃井あずき・綾瀬穂乃香

フリスクに声を」って多分フリスクが登場してからずっと言われていて、でも総選挙とかだと全員同時にっていうのは厳しくて、柚のボイスがサプボの呼び水になることも特になかったので……結局、地道に一人ずつしか無いと思うんだが、じゃあ票を誰に集中させる?ってところのコンセンサス応援する人たちの間で取れていない、という感じがする。過去結果的には忍がやや有望だったと思うが、それで忍が行けるかというと、決定力に欠けるような気も……。

涼宮星花

ゆかさえイベの抜擢に加え、ノーブルセレブリティpushも感じるので、要素だけ見ればすごい強そうなんだけど、素地が少なめでまだいまいち伸び切らないか……?という感じはある。お嬢様枠、から差別化ができればあるいは。

池袋晶葉

うーん、マシーナリーとも子のインパクトが強すぎて、その異常な活躍をどう評価すればいいかわかんないんだけど、順当に人気は感じるのでなんだかんだとボイスまで行けるんじゃないかなあ。あと眼鏡枠。

松本沙理奈

この間のライブもそうだがかなり公式からの(沙理奈よりはブルナポの)pushを感じる。ただなかなかチャンスを掴めず、サプボにも値しないと判断されてきたであろうので、思ったより強くねえんじゃねえかなあ……。ブルナポがあと沙理奈さんだけってのは結構長く擦られてきたというか歴史があるので、プレーオフで強い、みたいなことはありそう。

ライラ

金髪褐色碧眼で、ナターリアの相棒枠でもあり、そういうのが好きな人の票を持ってそうなイメージ。すごく強いイメージはあまりないが、もしかしたら……?

高峯のあ

このおねーさんの魅力は単純に顔面の強さなんじゃねえかなという気がするので、普通善戦はしそう。ただ辛い物好きとかにゃんにゃんにゃんとかギャップの部分が上位に食い込むだけのセールスポイントとして機能してないような印象は受ける。

藤居朋

際立った特徴はないが距離が近くてポジティブでCo詐欺結構色んな人の「ボイス無しではこの子が好き」枠に入っているイメージ。ボイスまでありそうかなー。

岡崎泰葉

割りとみんな好きだと思うが、未知数……一歩届かない、くらいの位置か。アニメPVへの期待が逆風として機能してしまわないかなあとは思っている。でもPVで蒸機公演があれだけってことはないだろうし、案外アニメで声が付くのか……?

大石

オタククールで馴れ馴れしくて機械に強い女の子が好き(ド主観)なのに加え、七海マキノとのファタモルガーナの流れもありそうで、強いだろう。ド本命読み。

メアリー・コクラン

いま一歩という感じはするが、「U149で小春千佳、舞にボイスが確定」という限定的シナリオではかなり善戦しそう。そんなことは……あるかな……いや、あるかも……。

三好紗南

いつぞやのエイプリルフール限定SSR、この度の凪背景と、かなりpushを感じる。あきらとの交流も強めの要素で、Paでボイスまでこぎつける子がいるとしたら紗南だろう、という感じ。

イヴサンタクロース

今回のダークホースとはいえ流石にダークホースで終わるか……?でも限定が三種も出るぐらいだから何かしら一定の実績はあるんちゃうかな。

というわけで俺は、CG高垣楓新規ボイスは池袋晶葉、藤居朋、大石泉、三好紗南、松本沙理奈、計5人で提出するぜ。アディオス

anond:20220409175201

せやな

障害内容:au Wi-Fiアクセスをご利用のお客様に誤ったPUSH通知とお知らせ掲載を行った。

      お知らせ一覧のエリア情報に「ああああああ…」という内容が掲載されている。

https://wi2.co.jp/jp/6003/

2022-02-10

anond:20220210165621

それは問題ある

から多くのツールはpullやダウンロードの時にCRLFに変換して、pushアップロードの時にLFに変換するような機能デフォで持ってる

2021-11-21

米山隆一のことを英作文にしてみた。

頭が良くて英語ができる人は、添削して下さい。

= 日本語文ここから =

 米山隆一日本の政治家、前新潟県知事である現在米山衆議院議員である

 ここ最近米山は"マンガアニメのような一部のポップカルチャーは、日本公共の場には相応しくない"と主張している。

 さらにまた米山は、"我々は、マンガアニメファンダムの人々を、何らかの特定場所に押し込めた方が良い"とも主張している。

 これに対して、マンガアニメファンダムクリエイター米山批判する。彼らは"米山は、マンガアニメを『退廃芸術』と見做すのか?マンガアニメファンダムを、ゲットーに押し込めたいのか?"と言う。米山隆一の主張は、ナチス政権が"健全精神"を口実にして、多くのドイツ人アーティスト作品制作や展示を禁じたことを想起させるからである

  こうして、2021/11/20米山マンガアニメファンダムに対して、以下のようなツイート投稿した。

 「有りもしない差別を作り上げて、迫害にあったユダヤ人気分ですか?」

 結果的に、マンガアニメファンダムが正しいように見える。

 米山ツイートは、米山がおそらく歴史修正主義であることを示唆する。米山ツイートは、明らかに"虚偽の迫害でっち上げ行為"を"ユダヤ人であること"に結びつけている。米山隆一ショアー(一般的ホロコーストと呼ばれる)を"でっち上げ"と考えていなければ、ありもしない迫害でっち上げることをユダヤ人と結びつけることはない。

 我々は、米山の行動を注意深く監視した方が良い。

= 日本語文ここまで =

= 英訳ここから =

 Ryuichi Yoneyama is a Japanese politician and a former Governor of Niigata Prefecture. At this time, Yoneyama is a Member of the House of Representatives.

 In recent days, Yoneyama continues claiming "Some particular Japanese pop cultures, such as Manga/Anime, are not suitable for public space in Japan."

 Furthermore, Yoneyama also continues claiming "We'd better push these Manga/Anime Fandom people into any specific areas."

 On the other hand, Japanese Fandom people and creators of Manga/Anime criticize Yoneyama. They say "Does Yoneyama think that Manga/Anime is 'Degenerate Art/Entartete Kunst'? Does Yoneyama want to push Manga/Anime Fandom into 'Ghetto'?" Because Yoneyama's claim reminds them of the memory that Nazi government forbade many germany artists producing/exhibiting their own arts and that Nazi did it with saying "sound mind".

 Therefore, on 2021/11/20, to Fandom of Manga/Anime, Yoneyama posted a tweet like below.

 "With making up a fake discrimination, are you assuming yourself to be a member of Jewish people who are persecuted?"

 As a result, it seems that Fandom and Creators of Manga/Anime are right.

 Yoneyama's tweet suggests that Yoneyama is probably a historical revisionist. Yoneyama's tweet obviously associates "making a fake discrimination" with "being Jewish people". If Yoneyama didn't think that Shoah(it is generally called Holocaust) is a fake discrimination, he never associates "making up a fake discrimination" with "being Jewish people."

 We'd better watch Yoneyama's behavior carefully.

= 英訳ここまで =

2021-11-20

anond:20211120194547

demand-pullなのかcost-pushなのかの違いだろう

2021-10-05

ティルト」

朝 目が覚めて

真っ先に思い浮かぶ君のこと

思い切って 回線を切った

どうしたのって聞かれたくて

ガンクを喰らって テレポートで帰っても

すぐにまた死んだ

今日の私はDCなの!

ティルト キレてしまいそう

下手だなんて 絶対に言えない...

からティルト ジャングルを責める

自分のせいになんてしないわ わたし

だって君のプレイが... 下手なの

味方のBotに ピンを出した

3/0の アサシンが行く

Pushしたままの ミニオンウェーブ

うれしくない ためいきを ついた

そんなとき

しょうがいから押しきるか」なんて

隣りにいるサポが笑う

敵が仕掛ける 音がした

ティルト 息が詰まりそう

マウスに触れてる 右手が震える

高鳴る胸 死にそうなキャノン

手を伸ばせば届く距離 どうしよう...!

攻撃よ届け 君に

お願い 大人しくして ヤバそうなの

敵強すぎて 死んでしまわ!

ティルト 15分になったよ

もう勝てない 味方が 弱いよ だから

ティルト ffを入れて!

まだ試合を続けなきゃいけないの?

今すぐ gg って言わせて!

...なんてね

2021-08-17

スクリプト言語の利点てコンパイル不要なとこじゃん

なんで動作確認するのにいちいちリポジトリpushしなきゃいけないんだよ

2021-06-22

anond:20210621222603

その昔ファンロードというオタク向け雑誌があったとき自分の好きキャラ作品を『push』する文化があった

オタクは今も昔もハマると圧をかけてしまう生き物なのじゃよ……

2021-06-17

HELLO ANONYMOUS DIARY!!!

This is my first time to post in ANONYMOUS DIARY!

It's so wonderful and somewhat mysterious that a person who write a diary is never known to anyone.

Trying to click the button below, it inevitably makes me nervous.

Someone, please give me the push!

 

Finally, I have to tell you I told a single lie in this article.

I have posted articles in this diary more than a several hundreds times.

The point is I am undoubtedly Masuda.

 

Best regards,

2021-06-14

gitに「作業中、一旦コミット」みたいなのpushしてくるやつ、ありなん?

分散なんだからローカルでやっとけばええんちゃうの?

2021-06-10

日本の古き良きIT企業退職して3年がたった

3年前、世間一般にはメーカーSIerとして知られている会社退職した。ただ俺のポジションパッケージソフト開発であり純粋SIerとは異なる。

客ともSEとも会話せず、ひたすらドキュメントプログラムを書く部署だ。といっても別にペーペーではなく主任クラスであり、

会社の業績がとてもよかったこともあり年収1000万弱はあった。35歳。

これだけ見るととてもいい待遇に見えるだろう。でも耐えられないことがいっぱいあった。

Linuxで動くアプリなのにVMを動かすのも苦労する8GBしかメモリのないWindows PC、紙にコード印刷して説明しないと納得しない品質保証部、

作業実施Excelにチェックを付けていくテストjquery一つ使うのに3ヶ月かかる承認フロー、開発中にバグを一つ出すごとに

ひたすら反省文を求める品質保証部と一緒になって詰めてくるマネージャー、常にコンパイルできないtrunk、

Java 5の時代から進化しないコード、使いにくい社内ミドルウェアの利用を強制される設計、開発期間の半分以上を占める最上設計

一旦書いたコードは消してはならずコメントアウトしないといけないコーディング規約など、数を上げればきりがない。

色々改善活動を頑張ったものの、結局Subversionの導入も品質保証部がついていけないから、ということでClearCaseといわれる

今ではほぼ誰も使ってないであろうバージョン管理ツールが使われ続けることになった。使いにくい社内ミドルウェア

研究所がその道のプロと聞いたので一緒に改善を図った。そしたらRubyしかいたことがない文系新卒の子が出てきた。

一応研究所の人だし…と思って新バージョンプロトの開発を依頼したら、1分以上稼働できない状態になって出てきた。

研究開発は準委任相当なのでそれ以上修正を依頼できずに期間が終わった。

また前の会社独特の文化として、大きなバグを出した開発者反省会(社内ではとある固有名詞で呼ばれている)があった。

この反省会のターゲットになった開発チームはその資料準備で開発が1〜3ヶ月ほど止まるほど大掛かりなイベントだ。

このとき担当品質保証部は「連帯責任から」という理由資料レビューに大変な精を出す。余計なお世話だ。

このため1020ページほどの資料を毎週レビューにかけて最高のものにしていく。でも結局本番では幹部からの怒号が飛んで終わりである

連帯責任かいっていた品質保証部は幹部と一緒になって詰めてくる。連帯責任ではなかったのか。

幹部によると、この反省会があるから今の会社があるんだそう。これを経験して一人前らしい。

こんな感じで開発の体制はひどかったが、世間一般ではホワイト企業と見られている通り有休は取りやすかった。

そのため、転職活動を始めた。そしたらなんと「メモリ32GBのマシン」「mavenが気兼ねなく使える回線」「自動テスト

GitHub」「CI/CD」 という発言ポンポン出てくる。メルカリだのGoogleだのといったイケイWeb系ではなく、

いわゆるSIerでもだ。最初は何だこの格差はと思ったが、まぁ営業トークなんだろうな、と思い直した。というわけで

ケイWeb系も内定は出たものの、つい安定をとってしまい某大企業のDX系の部署転職した。

そしたら何だこれは。最高スペックMacBook ProからGitHubpushするだけで自動デプロイで即サービスイン、

問題が発生したら社用携帯に通知が飛んできて、クラウド監視サービスログをチェック、即修正デプロイ

社内の連絡はSlackで、スタンプを押せばIssueがたち即関連部署対応に走る。OfficeツールGoogle Docsで、

計算表はちゃんと表として使っている。開発者ちゃんと開発をしており、反省会の準備や品質保証部の接待なんて業務はなく

純粋エンドユーザーだけを見ている。ここはなんて最高の環境なんだと歓喜した。また個人的にはおまけ程度であるが、

年収は30万ほど増えて大台に乗った。

さて、それから3年がたった。人間というのはい環境になれると対して喜びを感じなくなる、というのはそうだと思う。

今では別にdeployブランチマージされたらCIが走って自動テストが走りデプロイされるのも、だから何?

って感じだしま普通仕事として淡々とやっている感じはする。待遇面で悪化した点もちらほらあるし

(例えば年間休日が5日ぐらい減った、残業が月5時間ぐらい増えたなど)などもある。

ただ一つ言えることは前の会社には戻れないな…ということである人間一度生活レベルを上げてしまうと下げるのは

とても苦痛に感じてしまものである

ただ、一つだけ今の会社転職してよかったと感じ続けられることが一つある。それは人だ。

前の会社では家でプログラムを書いているなんていった日にはおちょくられたり、人生楽しいの的な目で見られたりした。

芸能人ゴルフの話ができないとコミュ障扱いされた。そのため仕事の話はしても、飲み会にはできるだけ行きたくなかった。

でも今の会社では雑談としてFastlyが落ちても大丈夫CDN構想とか、AtCoderの話をして盛り上がることができる。

ダイバーシティなんていうが、人間所詮同質な人間同士で集まったほうが快適なんだな・・・という複雑な思いを抱いている。

追記

皆さん読んでくれてありがとうございます。いくつか質問が出ているので答えられる範囲で答えます

真面目な疑問なんだけど、Java5のコード書いてる人を1000万で雇う会社があるの?どういうモチベーション??

製品自体90年代から脈々とバージョンアップしている企業向けのソフトウェアなので、コードベースが古いというのがあります

またユーザーからすると中身がJava17だろうがJava5だろうが関係ないわけで、要は業務が滞りなく進めばよいわけです。

そのため昔から受け継がれたスパゲッティコードを地道に解き明かし、新しく出てきた要件を今までのコードベースを壊さずにバグなしで追加していく、

もとからあったバグについては、その他の数百万行のユニットテストもないコードに影響なしで修正を施す、といった技能必要になります

こう考えると意外と希少なスキルなんだな・・・と思えるかもしれません。

clearcaseよりもsubversionの方が100億倍導入も運用簡単だと思うんだけど品管どうなってんの?

ClearCaseご存知な方がいるんですね!一から作る製品だとSubversionのほうが簡単かもしれません。ただ、ClearCase専用の

社内ツールがいくつかあり、そのツールで出力した情報を社内資産として持っているという理由があったりします。

例えばお客さんから「この機能バグってるっぽい」というクレームを受けた際、その機能周辺の情報をそのツールから検索し、

コードレベルで再発防止策を関係部署総出で練った上でお客さんに回答する、という運用フローになっています

そのため、Subversionに変えるためには開発陣の一存では無理で、品質保証部やマネージャー層など全ての知識アップデート

必要になり、そこまでコストをかけて説得して回る必要はあるのか・・・という話になってしまうわけです。

ただ、社内の生産性を向上させるのが目的部署としてはSubversionGitを社内に浸透させたがっているのも事実で、

新規プロダクトなんかはGitを使っていました。ただしGitHubプロキシでアク禁されているだけでなく、サービス名名指しで使用禁止

になっているので、相当の理由がない限り使えないかと思います

主任クラスでも1000万円近くもらえるのか。すごい。

1000万という数字に興味のある方が多かったので参考までに書いておくと、等級ランクというもの存在して管理職を除く最上位のランク

なると2人の子持ち、賃貸住まい、標準評価で大体900万になるという感じです。年功序列だが部署ごとに違うというイメージで、

研究所だと20代で到達する一方、利益を上げていない事業部や間接部署だと定年間際まで到達しない人も多い、ぐらいの感じです。

平均では30代中盤ぐらいでしょうか。

ちなみに私の場合は基本給は33万程度ですが、そこに裁量労働手当と住宅手当、家族手当がついて月給で50万を超えるぐらいでした。

ボーナス個人評価よりも部門業績に大きく左右されるのですが、部署が最高評価場合は夏冬とも150万以上でした。

最後最後ダイバーシティについては、ダイバーシティ勘違いしているように思う

なるほど、たしかに。ちょっと言葉の選びが悪かったかもしれないですね。

2021-05-09

自信家の新人エンジニアが辛い。

敵がこの1ヶ月でやったこと、言ったこと。

この人と一緒に働かないといけないの辛すぎて転職考えるレベルだわ。せめて素直な人ならいいんだけども。

辞めてくれないかな。

そしてこんなんでも多分うちの給与水準からすれば年収700万ぐらい貰ってるはずだ。やっぱり給料と実力って関係いね

あぁ〜明日もまたこの人と働くのかと思ったら憂鬱だわ。

2021-04-15

SIMカードスロットからプッシュピンカードを取り出す仕組み

ピンを押し込む動作がどういう仕組みで引き出す動きに変換されてるんだろうと思ってググったけど、なかなか見つからないのね。

んで知恵袋的に増田おまえらの助けを借りようと思ったんだけど、そうこうしてるうちに参考画像を見つけて、だいたいわかったのでシェアします。なるほどなぁ。ハンマー方式、的な?

SIM Card Holder - 6 pin - Push In - Eject Yellow Pin - SIM Tray [5514] : Sunrom Electronics/Technologies

https://www.sunrom.com/p/sim-card-holder-6-pin-push-in-eject-yellow-pin-sim-tray

Eject SIM Card Connector Push Push Type | Taiwantrade.com

https://www.taiwantrade.com/product/eject-sim-card-connector-push-push-type-1756989.html

Keywords:

SIMカードスロット ピン 仕組み ←ダメだった

sim slot pin push pull how ←ダメだった

sim pin push eject how ←見つけた

2021-04-04

コロナ失職したアラフォーおっさん自作WEBサービスを公開するまで

(2021/4/5 15:00 追々記)


https://twitter.com/pakeura

各所でいただいたコメントの返信手段に困り途方に暮れたので、Twitterアカウント作成しました。コメントはすべて目を通しています。励みになります

直近の開発予定や、アクセス状況とアフィリエイト収入などの数値についてつぶやく予定なので、よければフォローいただけると。

ただしベースが筆不精なためまったく更新しない可能性も大いにあります。何卒ご了承のほど。


(2021/4/5 2:00 追記


ブコメも含め、反響があって嬉しい。拙文を読んでいただきサービスも使っていただいてありがとうございますコメントはすべて目を通し、より実用的なサービスにしていきます

取り急ぎ気になったコメントへの返信を。

パッケージ引用について】
著作権知的財産権を含む権利関係FANZA担当部門確認し、アフィリエイトのためのPR目的であれば使用問題ないことを確認済みです。


ーーー 以下もとの本文


当方独身アラフォー、去年の秋口までは貿易関連の零細企業に勤める、しがないサラリーマンおっさんだった。

当時世間的にもなかなか話題になったが、コロナウィルス蔓延の影響の一環で海運用コンテナ価格が暴騰した。そのアオリを受けた私の会社でも流れる仕事の量が激減し、私個人も暇を言い渡される運びとなった。話の本筋から逸れるので詳しくは触れないが、最終的に雀の涙程度の退職金と引き換えに、40を目前に控えて職を失うことになった。

これまで趣味らしい趣味も持たず給料の大半を貯金に回して生きてきた。そのため一生を生き抜くにはとても足りないが、向こう数年間は食べていくのに困らない程度の貯金が手元にあった。それにあわせて、無限とも言えるような暇な時間を得たのだった。


何をするにも自粛自粛で気が滅入る日々だったが、しばらく心身を休めたことで若干の活力が湧き、貿易実務に関連する資格勉強なんかを始めてみた。

しかしこれがどうにもピンとこない。退職した企業に勤めていたのも、もともと新卒時代就職活動の失敗に端を発することであったし、仕事内容に魅力を感じていたわけでもなかった。


そんなときにふと、前々から「こんなサービスがあったら絶対使うのに」と温めていたアイデアがあったことを思い出し、WEBサービス開発というものに手を出してみようと思い立った。

が、しかしそのために必要知識はまったくと言っていいほど持ち合わせていなかった。数年前にちょっとしたホームページを作ろうと、 HTML/CSS/Javascript/PHP やらの、本当にさわりを学んだ程度だ。

HTMLCSSについてはなんとかかんとか「書いたものを画面に出せる」程度まではいけたが、JavascriptPHPについては当時その存在意義も含め、トンと理解できなかった記憶がある。


そんなこんなで自分の作りたいものについて調べるうち、どうやらクローラーやらWebスクレイピングやらについて学ぶ必要があり、それにはPythonという言語についてある程度詳しくある必要があるらしかった。

サラリーマン時代エクセルで本当に簡易なマクロを書いていたが、当時からPythonマクロ上位互換というイメージを抱いており、いつかは勉強してみたいと思っていたので、これは幸いだった。

入門書を数冊購入し、Udemyというオンラインスクールで入門講座を受講した。かなり漠然とではあるものの、なんとか最低限の知識を身につけることはできたようだった。たぶん。

サービスの開発を志してからここまで一ヶ月ほどだっただろうか。平日休日を問わず毎日PCには触れるようにし、風呂場やトイレで「Qiita Python tips」とかググって出てきた記事に目を通していた。

(余談だがこのころに受講した https://www.udemy.com/course/python-beginner/ というコースは、PC環境を整えるところからまり制御構文やファイル操作など、自分が欲する知識について体系的に学ぶことができ、コストパフォーマンスが非常に良かった。特に回し者ではない)

さらに余談だが、最初ネット上の記事適当にあさって環境構築してしまったため、いまだにPyenvだのAnacondaだのPipだの、Pythonが動く仕組みについて全然理解できないまま今に至っている)


閑話休題

さてクローラーとはWEBサービス提供するうえで主役ではなく、そのために必要データを集めるツールにすぎない。主役にあたるアプリケーション開発については(ここまで読んでいただいたうえで大変申し訳ないが)私にはシステムエンジニアとしてフリーランスバリバリに働いている姪っ子がおり、強力なサポートを受けることができた。

姪っ子いわく「いまは基本的Javascriptがわかっていればサービス提供できる。さらに言うとJavascriptクローラーWebスクレイピングを行うことも可能」らしく、結果的Python学習時間をかけたことは不要であったらしかった。

それどころかPythonJavascriptメソッド名前微妙に違っていることなどで詰まることが度々あり(特に配列へのappendとpush)、害悪と言っても過言ではなかったように思う。


その後は結局姪っ子に促されるがままにGoogle提供するFirebaseというサービスと、Node.jsという言語について同じく入門書Udemyの講座で学習し、なんとか自分が望む機能を持ったサービスを動かすことができた。姪っ子のサポートを受け始めてから4ヶ月ほど経過していた。


本題となるそのサービスこちら。

その名を パケ裏.com (https://pakeura.com) という、アダルトビデオパッケージ裏面を延々と眺めていられる、人類の夢がパンパンに詰まった代物であるスマートフォンでの閲覧を想定して作った。


「結局エロかよ」と思った諸君ブラウザバックは早計だ。人類技術進歩を支えてきたのはいだって戦争エロなのだ。まずは開発の動機について語らせてほしい。

自分物心らしきものがつき、色を知りはじめたこから常々思っていたのだが、AVパッケージというのはオモテ面と比べ、ウラ面のほうが遥かにエロいと思わないだろうか?

なんらかのオトナの事情があるのかもしれないが、オモテ面には美少女が斜に構えて微笑んでいる写真や、クソデカフォント商品タイトルがババーンと大部分を占めているものが大半である


それに比べてウラ面には、そのAVのなかでも特にエロいシーンの切り抜きが多々あったり、性欲を煽ってやまない官能的な文句がこれでもかと並んでいる。パケ裏にはエロさという概念が所狭しと集っているのである。そんなパケ裏を延々と眺めることができたら…これは私にとって長年の悲願であった。


物理店舗AVを購入することのない私にとって、FANZAでいちいち商品ごとにパッケージ画像クリックし、裏面を覗いていくのはなかなかに面倒な作業である

その点 パケ裏.com を使えば、条件にマッチしたジャンルのパケ裏を無限にしゃぶりつくすことができる。作りたいサービス要件が私の中でかなり明確だったこともあり、思った以上に短い期間で理想的サービスを形にすることができた。


少し大仰な物言いではあるものの、こうして自分にとっての積年の夢を叶えることができた。

趣味というか、金銭の発生しない範囲プログラミングに触れることはとても楽しく、少しずつサービスが形になっていくなかで自分の成長も日々感じることができた。システムエンジニアとして生きていくことは今後もないとは思うが、コロナ禍のおかげで人生でもなかなか得難い、貴重な時間を過ごすことができたように思う。人間万事塞翁が馬とはよく言ったものだ。


最後にくどいようだが、この パケ裏.com(https://pakeura.com)、主観だがかなり実用的なサービスとなっていると思う。ぜひ使っていただき感想をいただけるとありがたい。

また事前に断っておくと、FANZA商品ページへのリンクアフィリエイトになっている。このサービスを通じてパケ裏の偉大さに気づく人が増え、さらに私の懐にちょっとした小遣いが入ってくれば、望外の喜びである

2021-04-02

anond:20210402161030

しょうがねーな

ボタニクスのオイルを手につけて、髪の毛に塗ってるやつがいる。ちげーよ

ノズルを頭皮につけて、髪の毛の内側にPUSH

いまどきオイルを手につけるな

というかそんなやつもいるんだぜ、参考になるだろ?世の中は広い

オイルを手につけて髪の毛に塗るやつがいる。

髪の毛の内側にオイルを叩き込んで、手でなじませていく(ヘアスタイルによる)

2021-03-22

anond:20210322072938

両方存在しててよく間違えるもの

「c」「s」

「ぬ」と「む」

「右」と「左」

「東」と「西」

「開」と「閉」

「5+7」と「5+8」

push」と「pull」

「east」と「west」

大井町」と「大手町

パスドラ」と「モンスト

デニーズ」と「ジョナサン

エレベーター」と「エスカレーター

片方しか存在してないけどよく間違えるもの

ボビン」と「ビボン

「ふんいき」と「ふいんき

アボガド」と「アボカド

「げんきゅう」? 「ごんきゅう」? (言及)

カスペルスキー」と「カルペルスキー

アスクレピオス」と「アクスレピオス」

シミュレーション」と「シュミレーション

コミュニケーション」と「コミニュケーション

「除」を手書きする時の「余」じゃない方位置

「継」を手書きする時の「米」みたいなのの位置(「断る」は書ける)

どっちが県だか分からなくなるもの

愛知」と「名古屋

神奈川」と「横浜

宮城」と「仙台

石川」と「金沢

撥音の後の濁音

big(でかい)」と「ビック」

bed(寝台)」と「ベット

「bag(鞄)」と「バック」

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