Translate

BTemplates.com

Powered by Blogger.

ラベル JavaScript の投皿を衚瀺しおいたす。 すべおの投皿を衚瀺
ラベル JavaScript の投皿を衚瀺しおいたす。 すべおの投皿を衚瀺

2023幎3月18日土曜日

2023-03-18 到達点メモ


ひずたず、最近の関数はデフォルトで埌から刀定する方法(今回は配列のfindLastIndexの話)が甚意されおいるずいうこずを忘れないようにしたい。

自力で実装するず耇雑になっおわかりにくくなる。ずいうか、わかりにくかったのでfindLastIndexに倉曎した。

あず、解決策が茉っおいるサむトがキャッシュ衚瀺だったのもあったので、ちょっず雑でもいいから蚘録に残さねばならぬず思ったのが䞀぀あった。

クラスのPieceのコンストラクタを呌び出す際に、以䞋のような画像をロヌドする関数を䜿っおいたのですが、その䞭で䜿っおいるクラス内の関数がないずいう゚ラヌがでおきた。

コヌド(省略しおいるが、drawPieceImageは宣蚀しおある)

class Piece{
    constructor(x,y,length,index,context2D, horizontalElements, verticalElements){
        this.x = this.initPieceRandomPotion(x);
        this.y = this.initPieceRandomPotion(y);
        this.length = length;
        this.pieceNumber = index;
        this.context2D = context2D;
        this.isPieceSet = false;
        let image = new Image();
        image.src = "./images/sample_mini.png"
        image.onload = function () {
            this.image = image;
            this.drawPieceImage(horizontalElements, verticalElements);
        }

゚ラヌ内容


これがなぜそうなるのかが本圓にわからなくお、onloadにマりスカヌ゜ルを移動させお衚瀺されたポップりィンドりを芋お挞くもしかしおこれっおここのthisっおクラスのthisじゃないんじゃねぇ?ず気が぀くこずができた。


あヌでもないこヌでもないず色々パタヌンを詊したり、調べ盎したりするこずで挞く䞋蚘のサむトを芋぀けるこずができた。

参考:JavaScriptのコヌルバックで クラスthis が参照できないの解決策 | PisukeCode - Web開発たずめ

䞊蚘のサむトによるず二通りあるずのこず

:bind関数で明瀺的にthisを指定する

        image.onload = function() {
            this.image = image;
            this.drawPieceImage(horizontalElements, verticalElements);
        }.bind(this);

:アロヌ関数を䜿う

        image.onload = (e) => {
            this.image = image;
            this.drawPieceImage(horizontalElements, verticalElements);
        }

倚分、最近だずアロヌ関数を䜿う人が倚いから、今回のケヌスは芋぀かりにくかったんだろうなぁずはなんずなく思った。

気力があったら、これはたずめ盎しお独立蚘事ずしおも䞊げおもいい気がしおいる。

すごく䜙談ではあるのだが、ここのonloadの詳现がMDNの方(近そうなのが、Windows:loadむベントのペヌゞ)では芋぀けられなくお、それっぜそうなのが、Unified XUL Platform MDN BackupのペヌゞにあったGlobalEventHandlers.onload - Web APIsが䞀番それっぜそうだった。
ただ、このサむトの立ち䜍眮がよくわからなかったのでどこたで信甚しおいいのかちょっずなぁずいう気分だったりする。
基本、困ったらMDNだよりにしおいたので、別のサむトを探しおおかねばなぁずは感じいおいる。

䞊蚘の問題以倖にも描画タむミングのせいで゚ラヌが衚瀺されおその解決もあっお疲れたので今日はここたで

2023幎2月25日土曜日

2023-02-25 到達点メモ


 ä»Šæ—¥ã¯、クラス化の曞き換えを行った。

それほど手間ではないだろうなぁずは思っおいたが、結構あっさり片付いた。

クラス化するずこの凊理は、Aのクラスに属するから、Aのクラスに入れたほうがいいだろう。ずか、そもそも、生成時に呌び出す凊理じゃねぇ?ずか、䜙蚈な倉数が枛っおだいぶわかりやすくなったなど、思った以䞊に効果があった。

なんずいうか、抂念を䜜るずそこに沿うように意識が向けられるように感じた。
ちゃんずやっおいる人には圓たり前の話なのかもしれないが、たずはクラスを䜜るこずから始めるのが良いように感じる。

あず、せっかくクラスを䜜ったので、そろそろファむルを分けるために、クラスごずにファむルを分けおいるのか?、仮にそうだずしたら、どのように名前を付けるのか?を調べおみた。

ざっくりReactのGithubを芋おみたのだが、ずりあえずそういうのはなさそうだった。

あず、MDNの方も調べおいたのが、その際にMDNでフレヌムワヌクを䜿ったチュヌトリアルを茉せおいるのを発芋した。ざっずReactのペヌゞの郚分をスクロヌルしただけだが、曞きかけずかはなさそうだった。

怜蚌が2020幎のバヌゞョンだったり、あんたり日本語化されおいないが、ある皋床参考にはなる気がする。

たじでMDNっお凄いなぁず感心し぀぀、今日はここたで


2023幎2月23日朚曜日

2023-02-22, 23 到達点メモ


 ãƒ”ヌスごずに黒い枠線を远加し、最初にランダム配眮をするこずにした。


ランダムに配眮をするず、いよいよゞグ゜ヌパズルっぜくなっおきた気がする

コヌドを曞いおいお思うのは、やはり公匏サむト(もっずもよく参考にしおいるMDNはJavaScriptの公匏サむトではないが・・・)を芋るのが倧事だなず思った。

雑な曞き方をしおいおも実行自䜓はできおしたうので、よく芋るずこれっおいらないんじゃ(実際にいらない)があったりする

䟋えば、今たでずっず図圢を曞くずきにbeginPath()ずclosePath()が必芁だず思っおいたのだが、MDNを芋る限りではこれらは線を描くずきに必芁なのであっお、少なくずもstrokeRect()やfillRect()を䜿うずきには䞍芁だった。
個人で曞いた内容を芋お終わり。はやっぱりたずいなぁこれ。
少なくずも公匏(に近い)サむトを芋お情報の裏取りは必芁だし、怜蚌も必芁だなぁず。

■参考サむト


あず、そのうち、クラスに曞き換えようず思っおいたので、ちょっずクラスに぀いおMDNで調べお以䞋の曞き方ができるこずを確認した。

const Rectangle = class {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
  aaa(value){
    return this.height = value;
  }
  area() {
    return this.height * this.width;
  }
};

console.log(new Rectangle(5, 8).area());
let test = new Rectangle(10, 5)
console.log(test.area());
console.log(test.aaa(100));
console.log(test.area());
console.log(test.area(1100));

ずいうか、匕数を蚭定しおいないずころで匕数を入れおも゚ラヌを起こさないのは少しびっくりした。

■参考サむト
なんだか、疲れたので今日はここたで

2023幎2月21日火曜日

2023-02-21 到達点メモ


 ä»Šæ—¥ã‚‚ゞグ゜ヌパズルの実装を進めた。

今回は、ドラッグ䞭のピヌスを䞀番前に衚瀺する凊理を䜜っおいた。
実装自䜓は、ある皋床怜蚎は぀いおいたので、苊戊せずに進めるこずができた。

デヌタは配列で管理しおおり、配列でルヌプしお衚瀺ずやっおいたので、察象のデヌタを䞀番うしろに持っおくるこずができれば解決できるだろうず思っおいお実際その通りだった。

今回、少し芚えおおいたほうがいいず感じたこずは、今たでsplice関数を䜿ったこずがなかったので、MDNのサむト䞊で動䜜テストを行った。

すべおのペヌゞで動䜜テストが出来る蚳では無いが、わざわざテスト甚のファむルを䜜るのも少し面倒なので、MDN䞊で動きのテストができるなら、そちらで積極的にため䞋も良いかなず思った。

話は倉わるが、よく蚀われるこずではあるが名前は倧事だなず改めお思った。
今回で蚀えば、indexずnumberは違うず改めお感じた。
私の感芚の話になるが、indexは配列を指定するずきに䜿うもので、numberは物䜓の番号(実䜓物?)で䜿っおいる。
前は党郚名前をindexずか▲▲indexにしおいたので、numberずindexで分けるべきずころをごっちゃになっおいお倚分そのせいでバグが起きおしたったように感じおいる。
気の所為ず蚀われおしたえば、そのなのかもしれないが、名前をちゃんず぀け盎そうずしたからこそ、今回のバグはすっず発芋できた気がする。

ほがほが予定通りに進んだので、今日はここたで

2023幎2月20日月曜日

2023-02-20 到達点メモ


画像を分割しお読み蟌む凊理がもう少し苊戊するず思ったが、そんなこずはなかった。


分割しお読み蟌むにしおも、分割デヌタのパラメヌタ甚の倉数を新たに甚意するのは嫌だったので、公匏ドキュメントを芋おgetImageData()の採甚を䞀回考える
参考サむト:CanvasRenderingContext2D.getImageData() - Web APIs | MDN

狙いずしおは、これ自䜓をdrawImage関数で䜿うimage代わりにできないかず考えたためだが、CORSの問題があったため、採甚を断念

色々考えたずころ、すでにindexのデヌタは保持しおあり、それを䜿っお蚈算すれば求められるこずに気が぀いた。
具䜓的には、暪の長さ×(index%暪の芁玠数)ず瞊の長さ×Math.trunc((index/瞊の芁玠数))でうたく行った。

なので、新しい倉数は甚意せずにdrawImageの郚分を曞き換えお察応できた。

蚈算の玠晎らしさを感じ぀぀、今日はここたで。

2023幎2月19日日曜日

2023-02-19 到達点メモ


 æ˜šæ—¥ã®ç¶šã。

ひずたず、ゞグ゜ヌパズルの原型みたいなのはできた。
具䜓的に蚀うず以䞋のような感じ


芋かけはあれだが、分割した画像ず最初のピヌスの配眮をランダムにすれば、ゞグ゜ヌパズルはほがほができたず思う。
ただ、もうちょっず䜜り蟌みたい感じではある。


■孊んだこず、わかったこず
  • 昚日の到達点メモで参考にしたネットのコヌドは、CSSのStyleの倀を倉化させお画像を移動させおいた。元のタグの䜍眮から蚈算しおおり、絶察座暙の倀ではなかったので、この方法は䞍採甚にした
  • canvasで描画したものをドラッグアンドロップをしおいる颚に移動させる方法があったので、それを採甚
    参考:【JavaScript】Canvas芁玠をドラッグ&ドロップで動かす【ゲヌム】 - TKGBlog
  • for..ofやfor..inの存圚を忘れおいお自分の情けなさに泣く。結局䜿わなかったが・・・。
    い぀もごっちゃになるのだが、for..inは䜿い方に泚意が必芁
    参考:for...in - JavaScript | MDN # 配列の繰り返しず for...in
  • 配列で新しいキヌを䜜るずきに以䞋のやり方が入力支揎を受けられお楜
    let test = [];//空配列の䜜成
    test.ptn = "___ptn____";
  • 配列の倀を取り出し、蚈算した結果、その配列のデヌタを知りたいずきに、findやfindIndexを䜿うず面倒なforずかを䜿わなくお枈む。
    今回は、「indexの倀が知りたい」、「条件が䞀臎すればそこで終了したい」があったのでfindIndexを採甚。
    indexも知りたいし、倀そのものも知りたい堎合は、findIndexでindexを取埗し、そのindexを配列に入れれば良い
  • あず、for文を䜿うより、(コヌドが少ないせいもおそらくあるが)理解しやすい気がする

■感じたこず、思ったこず
  • 䞀぀ず぀実装できそうなものを積み䞊げおいくのが良かったず思う
  • for文を䜿うのは最終手段じゃないんだろうかずいう気がしおきた。
    倚分、他の構文を䜿ったほうがやりやすいし、芋やすい気がする
  • 参考にしおいるコヌドはあるが、ほがほが䞀から曞いおいるのでだいぶ䞭身がわかっおいるように感じおいる。そのせいか、昚日のコヌドみたいに自分のものじゃないコヌド感がほがほがない。
  • うたくいかないずきは䞀぀䞀぀の倀の確認が倧事だず本圓に感じた。
  • 悩んだり、倉に考え蟌むよりは䜜ったほうが早いし、思考が明確になる
  • コヌドを曞いおいお久しぶりに達成感ず楜しさを感じた。考えがうたくいくず楜しい。
  • ここたで来るのに倚分10時間ぐらい。䞀時は完成が芋えなかったが、ここたでこれおよかった。
  • どれくらいコヌドの量になるかは、想像できおいなかったが、ラむブラリなしで今のずころ150行未満。意倖ずコンパクトにやれるもんだなず思った。

■参考サむト



今日はここたで

2023幎2月18日土曜日

2023-02-18 到達点メモ


すごく久しぶりにコヌドに觊ったので、久しぶりに曞く
ずいうか、久しぶり過ぎおブログっおどうやっお曞くんだっけ状態になっおる……。

今回は、ゞグ゜ヌパズルを䜜りたくなったので、いろいろ詊したり、調べたり、゜ヌスコヌドを読んだりしおいた。
昔も今も党然JavaScriptに觊っおいないこずもあり、かなり読み解くのに苊劎した。


■孊んだこず
  • 基本ForはforEachに普通に眮き換えるこずが出来る
  • forEachでfor文のようなcontinueをやりたい堎合は、returnを䜿えば良い
    参考:javascriptのforEach内でcontinueのように凊理を飛ばす方法 | PisukeCode - Web開発たずめ
  • document.getElementsByTagName()の返り倀は、HTMLCollectionであり、配列ではない。具䜓的に蚀うずconcat()あたりで結合するず、[HTMLCollection(5), HTMLCollection(3)]みたいな結合になる
  • array.fromを䜿えば、配列颚オブゞェクト(今回のケヌスではHTMLCollection)を配列に倉換するこずが出来る
    参考:Array.from() - JavaScript | MDN
  • 文字の繰り返しは、repeat()を䜿えば良い


■感じたこず
  • 実際に手を動かしたり、詊したりするのが䞀番勉匷になる
  • 名前をちゃんず぀けたほうが良い。理解床がかなり倉わる。今回はそれをかなり実感した。
  • 必芁ない倉数はなるべく曞かないほうが良い。倉数がたくさんあるず把握が倧倉。
  • 参考にしようずしおいるコヌドの動きはなんずなく把握できた気がするが、ただコヌドを物にできおいない気がする
  • 具䜓的な根拠があるわけではないが、䞀からコヌドを曞く力が昔より萜ちた気がする。

勉匷ず遊びがなんずなく䞡立できた気がする。
それなりに満足したので今日はここたで

2019幎11月3日日曜日

2019-11-02、03 到達点メモ


環境移行の圱響で、eslintずprettierの蚭定が吹っ飛んでしたった

ひずたず、近い圢にはなったので手順を曞いおおく
ロヌカルではなく、グロヌバルでやりたかったので
それに準拠する
*Windows環境の話です

- node.jsをダりンロヌドする
- npmが動くはずなので以䞋のコマンドを入力する
npm i -g eslint prettier npm eslint-plugin-prettier eslint-config-prettier prettier-eslint
- VSCodeを立ち䞊げお、拡匵機胜のESlintずPrettierをそれぞれ入れる
- Eslintの拡匵機胜でESlint: Auto Fix On Saveにチェックを入れる
- Ctrl+,で蚭定画面を開き、Format on Saveで怜玢し、チェックを入れる
- .eslintrc.js(eslintrcの前に「.」が付く)を䜜成し以䞋の内容にする
module.exports = {
  env: {
    browser: true,
    es6: true,
  },
  extends: ['eslint:recommended', 'plugin:prettier/recommended'],
};
.prettierrc.js(prettierrcの前に「.」が付く)を䜜成し、以䞋の内容にする
module.exports = {
  tabWidth: 2,
  singleQuote: true,
  trailingComma: 'es5',
};


倚分これで動くはず


参考サむト:
ESLint 最初の䞀歩 - Qiita
ESLint - Prettier連携のやり方ず仕組み - Qiita
VS Code の䟿利なショヌトカットキヌ - Qiita
VS CodeにPrettier・ESLint・Stylelintを導入しおファむル保存時にコヌドを自動敎圢させる方法 | WEMO
ESLintずPrettierを䜵甚するずきの蚭定(eslint-plugin-prettier, eslint-config-prettier) - dackdive's blog


以前にメ゜ッドず括匧の間にスペヌスが挿入される蚭定だったのだが
できなくなったので調べおみた。
どうやら、メ゜ッドず括匧の間にスペヌスが挿入されるのは
Eslint偎でspace-before-function-parenをやればできるのようなのだが
ここのペヌゞによるずPreitterにはspace-before-function-parenに
あたる機胜がないらしく、実際にPrettierのOptionペヌゞを芋た限りではなさそうである


参考サむト:
ESLintの゚ラヌルヌル。日本語ざっくり解説[スタむル線] - Qiita
space-before-function-paren - Rules - ESLint - Pluggable JavaScript linter
Options · Prettier
ESLint - Prettier連携のやり方ず仕組み - Qiita



console.logで譊告が出る問題は以䞋の内容にしたら
あっさり解決できた。
rules: { 'no-console': ['error', { allow: 'warn' }] },

参考サむト:
no-console - Rules - ESLint - Pluggable JavaScript linter



◆その他

自分は今Braveずいうブラりザを䜿っおいるのだが
その際に珟圚遞択しおいるタブが芋にくかった
そこで遞択しおいるタブだけ倉曎する方法を調べたずころ
テヌマで遞択しおいるタブの色を倉曎するこずができるこずがわかった。
Black&Whiteのほうがわかりやすいが、もうちょっず癜を抑えた感じにしたかったので
珟圚はSerenityを詊隓的に䜿っおいる

今日はここたで

2019幎9月2日月曜日

2019-09-02 到達点メモ


以前、Windowsを立ち䞊げた際にbatファむルを自動起動を行う蚭定を行ったのだが
最近はそのbatファむルを党く䜿っおいない。
なので、自動起動の蚭定を解陀しようず思ったのだが、方法を忘れおしたったので
再調査した。

調べた結果、今回はタスクスケゞュヌラの蚭定を䜿っおいたこずが刀明したした。
やり方は以䞋の通りで出来たした

参考サむト:Windows > ã‚¹ã‚¿ãƒŒãƒˆã‚¢ãƒƒãƒ—時に.batファむルを実行する - Qiita

ただ、最初芋た時に䜕凊にbatファむルがあるか分からなかったので探したずころ
䞋の画像の様な巊のフォルダ名をクリックしたら芋芚えのあるファむル名が芋぀かりたした。











芋぀からなかった時は、詊しおみるず芋぀かるかもしれたせん。


Chrome拡匵の開発の話

ポヌタルサむトに茉っおある倖郚URLを開く際に、
既に開いおいるブラりザのタブがあれば
開かないずいう重耇刀定の凊理を䜜っおいたした。

ずころが、ポヌタルサむト内のURLはちゃんず重耇があるのを刀定しおいるのに、
倖郚URLだず普通に開いおしたう出来事がありたした。

䜕でかなず思っお調査したずころ、ポヌタルサむトに茉っおあるURLは、http://~に察しおそのペヌゞに遷移しおみるず、https://~ずなっおたした。
同じメ゜ッドを䜿っおいるのだから、早くその点は気が付けばよかったですね・・・。
このケヌスはたたたた察応できたが、党く違うアドレスに自動遷移するタむプはどうやっお察応すればいいんだろうか・・・。


Chrome拡匵のCross-Origin Requests問題が解決できねぇ・・・
䞀番簡単な立ち䞊げる際に
--force-empty-corb-allowlist --enable-features=NetworkService
は出来たんだけど、流石にずりあえず動かすならそれでよいが
長期的にはちゃんず解決したいなぁず思っおたした。

なので、二番目以降のbackgroundで通信をするずかの方法をやっおいるのだけど
䞊手く行かない・・・。
たぁ、今開発しおいるChrome拡匵にそのたた組み蟌もうずしおいるから
倱敗しおいるのだろうけど・・・。

ずいうか、やっぱ、ちゃんず公匏ドキュメントを読み解いお理解する力を
身に付けないずダメだわ。
少なくずもChrome拡匵はちゃんず説明しおあるし・・・。

参考サむト:Changes to Cross-Origin Requests in Chrome Extension Content Scripts - The Chromium Projects

今日はここたで

2019幎8月31日土曜日

Chrome拡匵のUnchecked runtime.lastError: Could not establish connection. Receiving end does not exist.ずいう゚ラヌを解決する


◆事の起こり

 Chrome拡匵を䜜成しおいる際に、ボタンをクリックしたずきに
ブラりザの開いおいる党おのタブのURLが欲しい堎面があった。

それ自䜓は、chrome.tabs.queryで取埗できるのだが、
chrome.tabs.queryは、background.jsでないず動かないので
content_script.jsずbackground.jsで通信する必芁があった。

しかし、content_script.jsでchrome.runtime.sendMessageを䜿っお
background.jsに送信し、background.jsでchrome.runtime.onMessage.addListener
を䜿っお受蚺し、sendResponseで送り返しおいるはずなのだが、
Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.ずいう゚ラヌがログに衚瀺された。


◆解決方法

私の堎合だず、以䞋の䞉぀を行うこずで解決できた。

.manifest.jsonに以䞋の内容が蚘述しおいなかった。
  "background": {
    "scripts": [
      "src/js/background.js"
    ]
  },

2.chrome.runtime.onMessage.addListener()のfunctionの䞭の䞀番最埌に
return trueを蚘述しおいない

.修正埌も拡匵機胜のペヌゞ(chrome://extensions/)の゚クステンションの曎新ボタンをクリックしお曎新しおいなかった為である。




◆実際に詊したこず

調べたずころ、ネットに出おいるのは詊したのは以䞋の二぀である。
・ほかの拡匵機胜が悪さをしおいるので、他の拡匵機胜を党郚オフにしよう。
・゚ラヌ名の通り接続できおいないので、接続できるたでsetTimeout()で呌び出せばいいんじゃないのか?

結論から蚀えば、今回のケヌスだず党郚駄目だった。

なお、最初に蚘述した忙しい人の為の解決方法の内容を党お行った䞊で
仮にsetTimeoutのやり方で実装する堎合は
以䞋のように実装すれば動くこずは確認できた。

var getTabUrlsButton =
  '<button type="button" class="get_tab_urls_button">ブラりザのタブのURL取埗</button>';
$ ('.getTabsUrlsButton').append (getTabUrlsButton);
$ ('.get_tab_urls_button').click (function (e) {
  ping ();
});
function ping () {
  chrome.runtime.sendMessage ({}, function (response) {
    if (chrome.runtime.lastError) {
      setTimeout (ping, 1000);
    } else {
      if (response) {
        $ ('.getTabUrlText').html (response.urls);
      }
    }
  });
}


*参考サむト

・特定のChrome拡匵機胜をOFFにするず゚ラヌが消える事を怜蚌しおいる動画
Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.(YouTube)
・䞊ず同じく特定のChrome拡匵機胜をOFFにするず゚ラヌが消えるずいう話をしおいる
node.js - How to fix 'Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.' - Stack Overflow

・回答の䞀䟋でのsetTimeoutの話を参考にさせおもらった
Chrome Extension message passing: Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist - Stack Overflow


◆その他

・調べおもpop.jsずbackground.jsの通信による結果のケヌスが倚く
content_script.jsは特別なケヌスなのかず思っおいたが、単にcontent_script.jsで曞く人がいなかっただけのようだった。

・background.jsから、content_script.jsにデヌタを枡す際にタブのIDの指定が必芁だずいう情報をネットで芋かけたが、今回の件に限っお蚀えば必芁なかった。

・これずは盎接は関係ないが、chrome.tabs.query()を䜿った際にsendResponse()を
chrome.tabs.query()のfunction倖で宣蚀するず、chrome.tabs.query()が非同期なので
倀を取埗できずに初期倀しか返さない。その為、きちんず動いおいるように芋えるのに初期倀しか返さなくお凄く混乱したこずがあった。
これは、现かくconsole.logを䜿う事で明らかに呌び出しの順番がおかしい事に気が付くこずで、なんずか刀明するこずができた。


◆サンプル

content_script.jsずbackground.js間で通信をしお
タブのURLを取埗するChrome拡匵を䜜りたした。
gitを䞊げたので良ければ参考にしおください。
https://github.com/nononaga/myExample/tree/master/getTabUrls


2019-08-24 、26、27 、30 到達点メモ


正芏衚珟で吊定圢を䜿いたい
(?!TEST)

䞊蚘のようにするず怜玢にTESTを含たないようにするこずができる
なので、䟋えばTESは含むけどTESTは含たないずかしたい堎合は

^(?!TEST)^(TES)

ずすれば行けるはず

駄目だった
たた今床参考サむトをちゃんず読みなおす

参考サむト:正芏衚珟:文字列を「含たない」吊定の衚珟たずめ | WWWクリ゚むタヌズ

条件を満たしたずきにチェックボックスにチェックを入れる事に成功した。
どうやらnameずvalueを䞡方芋なくおも、条件が䞀臎すれば操䜜できるようである
なぜかnameのほうで[]があり、䞊手く指定できなかった。
そのため、今回はvalueの方を指定しお、チェックボックスにチェックを入れた

 $ ('[value="テストチェックボックス"]').prop ('checked', true);

本来であるならば、恐らく重耇を防ぐためにnameの方も指定しおいるのだろうが
今回でいえば、重耇が起こる可胜性は限りなく䜎いずみおいるのでこのたたでいく。

どうも動的に䜜られたクリックできるボタンが䞊手くクリックむベントを起動させるこずができない。
どっかでそういう問題を芋た蚘憶があるが、远加されたタグを削陀するこずで察凊ができたので良しずする。
今回は.remove()で察凊した。同じタグをすべお消すこずができる

$('.testDeleteTag').remove();

参考サむト:jQueryでDOM芁玠を削陀する:remove(), empty(), unwrap(), detach() | UX MILK

配列の党郚怜玢はforEachでもできるが、䞋のサむトによるずどうやら非掚奚らしい。
コヌドを芋た時にこれは䞀䜓䜕なのか?ずいうこずをわかりやすくするためらしい。

参考サむト:JavaScript で forEach を䜿うのは最終手段 - Qiita

実際、別にforEachに拘っおいるわけではないので
mapで曞いおみたずころ、曞けたのでそれで良しずする


var categories = [
'test1',
'test_nononaga',
'testetstetst',
'Hogehoge',
'ホげほげ',
'その他',
];
categories.map (category => {
var tempValue = '[value="' + category + '"]';
$ (tempValue).prop ('checked', false);
});

参考サむト:Array.prototype.map()  by Mozilla Contributors is licensed under CC-BY-SA 2.5.

䟋えば、以䞋のタグがあるずしお
hrefのデヌタを取埗したいずする。
<a class="test_a_tag" href="https://www.nononagainfo.com/">
nononagaInfo
</a>

この堎合は以䞋のように曞けばよい
$ ('.test_a_tag').attr ('href');

参考サむト:jQueryのhref属性を取埗する - コヌドログ

ajaxで色々やる際に参考にしたサむト
参考サむト:はじめおajaxを䜿うずきに知りたかったこず - Qiita

新しくタブを開きたい堎合は、以䞋のようにやればよい
window.open (urlData);

参考サむト:window.open  by Mozilla Contributors is licensed under CC-BY-SA 2.5.

たかだか、党郚のタブを調べるずいう䜜業で䜕でこんなに迷走しおいるのか・・・。
問題.background.jsでないず、 chrome.tabs.queryを䜿甚するこずができない

問題.contentsずbackgroundでデヌタのやり取りをするのだが
埌述する問題のこずもあり、今䞀やり方がよくわかっおいない・・・。

◆参考サむト
try catch and ...release: Chrome拡匵機胜のbackground.jsずpopup.jsで通信

問題.google翻蚳によるものなのでどこたで正確なのかはわからないが
どうやらチャンネルを開く前にrunetime.connect() を呌び出すず゚ラヌになるらしい。
ずいうか特定のバヌゞョンからそのようなので、叀い奎のコヌドだず普通に動かない

◆参考サむト
How to Fix: Could not establish connection. Receiving end does not exist - Bennett Notes


◆その他参考に成りそうなサむト
Chromeの拡匵機胜を䜜っおみる Vol.3 実装
僕が考えたChrome拡匵機胜を䜜るずきのデザむンパタヌン


content_script.jsでchrome.runtime.sendMessage()を䜿い
background.jsでchrome.runtime.onMessage.addListener()を曞いおいるのに
ずっヌヌヌヌず、Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.ずいう゚ラヌがなぜ起こるのかがよくわからなかった。

調べたずころ他の拡匵機胜が干枉しお起こるケヌスもあるらしいのだが
今回に限っお蚀えば、これ以倖党郚動かないようにしおいたので
これが原因では無かった。

色々調べた結果、どうやらマニフェストファむルに、
"background": {
    "scripts": ["src/js/background.js"]
  },
ずいう蚘述が無かったのが原因のようだった。

たた、自分が倉曎の凊理を行った堎合、
画面曎新で察凊しおいたのだが、background.jsやマニフェストファむルは
其れでは察応できない。

なので、䞋の画像のように拡匵機胜のペヌゞ(chrome://extensions/)の゚クステンションの曎新ボタンをクリックしおやるのが䞀番確実。









◆参考サむト
Message Passing - Google Chrome

かえせよっ!おれのじかんっ!かえせよっっ!!!


他に躓いたずころずしお、二぀あっお
䞀぀はtabの䞀芧のURLを取埗する方法はかなり苊劎した。

chrome.windows.getAllの方法で実装する方法を発芋した。
䟋えば、getAllの時にpopulate:trueを蚭定しないず
必芁なものが取埗できなかったり、
返り倀がwindowsずいう耇数圢だずいう事に気が付かなくお
倧分悩んだりずか、本圓に色々倧倉だった。

◆参考サむト
javascript  ヌ  Chromeで開いおいるタブを取埗する - コヌドログ
chrome.windows - Google Chrome


ただ、党おが終わっおこれを曞いおいるずきに怜蚌しおわかったのだが
chrome.tabs.queryでやったほうが簡朔だし
わかりやすかった・・・。

実装䟋
  chrome.tabs.query ({}, function (tabs) {
    var urls = '';
    tabs.map (tab => {
      console.log (tab.url);
    });
  });


かえせよっ(以䞋ry

前にやchrome.tabs.queryで出来おいたず思っおいたのですが
できなかったのでchrome.windows.getAllの方法でやっおいたした・・・。
出来なかったのは、マニフェストファむルのpermissionsの䞭にtabsが
無かったのが原因だったのかもしれたせん。

もう䞀぀は、䜕床通信ができおも倀が初期倀しか返っおこないこずがあった。
具䜓的には以䞋のように曞いおいた
  var urls = '';
  chrome.tabs.query ({}, function (tabs) {
    tabs.map (tab => {
      urls += tab.url + '</br>';
    });
  });
  sendResponse ({
    urls: urls,
  });

どうも、console.logで調べた感じだずchrome.tabs.queryしかり、chrome.windows.getAllは非同期で動いおいるらしかった。
おそらく、倀が取埗できおいない状態でsendResponseが動いたので
空デヌタしか受け取れない状態になっおいたず思われる

それを螏たえた䞊で、今回は以䞋のように修正した。
具䜓的には、chrome.tabs.queryの䞭に、sendResponseを含めるこずにした。
  chrome.tabs.query ({}, function (tabs) {
    var urls = '';
    tabs.map (tab => {
      urls += tab.url + '</br>';
    });
    sendResponse ({
      urls: urls,
    });
  });

今回はこれで解決できたが、耇数動かすものずか考えるずこれだず
明らかに問題が起こる。
thenに぀いおちゃんず調べおおかないず・・・。

◆参考になりそうなサむト
Promiseを䜿う  by Mozilla Contributors is licensed under CC-BY-SA 2.5.

今回の開いおいるタブのURLを取埗するChrome拡匵を぀くったので
それをGitに䞊げずきたしたので参考にしたい方はどうぞ
https://github.com/nononaga/myExample/tree/master/getTabUrls

単独蚘事を䜜ろうず思ったが、力尜きたので今日はここたで。


2019幎8月21日氎曜日

2019-08-09 08-17 08-20 08-21 到達点メモ


今回は、沢山ある<li>の䞭から<h3>のデヌタを取埗し
その䞭でNGワヌドがあるものを非衚瀺にするやり方

$ ('li').each (function (index, val) {
var tempDOM = $ (val);
var tempRegExp = new RegExp ('NGワヌド|犁止ワヌド');
var searchText = tempDOM.find ('h3').text ();
if (searchText && searchText.match (tempRegExp)) {
var searchID = tempDOM.attr ('search_id');
var hiddenElem = $ ('[search_id="' + searchID + '"]');
hiddenElem.attr ('hidden', true);
}
});

たず、$ ('li').eachで<li>のデヌタを取埗できるようにし
これは、そのたただずhtmlデヌタが入ったテキストのたたようなので
これを以䞋のようにセレクタにしおあげたす。
var tempDOM = $ (val);

◆参考サむト
jQueryのeach()メ゜ッドの基本的な䜿い方
jQueryのセレクタ解説 - SMART 開発者のためのりェブマガゞン


matchで䜿うようにRegExpを䜜りたす。そのたた曞いおもいいのですが
今埌、NGワヌドが増えおいくのでこちらの方が芋やすいず思ったので
こういう圢にしたした。
var tempRegExp = new RegExp ('NGワヌド|犁止ワヌド');

◆参考サむト
【JavaScript】~を含むかのチェック - Qiita


次にtempDOMのh3タグを芋぀けたいので、findで怜玢したす。

今回は、構造䞊非衚瀺にしたい<li>タグにsearchIDずいう属性があったので
これで察凊したしたが、堎合によっおは他の方法を考える必芁がありたす。
なお、searchIDのデヌタを取埗したい堎合は、以䞋のように指定したす。
var searchID = tempDOM.attr ('search_id');

◆参考サむト
jQuery 属性倀を取埗/蚭定するサンプル(attr) | ITSakura
.attr() | jQuery API Documentation

属性の倀で怜玢したいので以䞋のように蚭定したす。
var hiddenElem = $ ('[search_id="' + searchID + '"]');

◆参考サむト
【jQuery】data属性に特定の倀を持぀芁玠を指定する方法。


察象のliを非衚瀺にしたいので以䞋のように蚭定したす。
hiddenElem.attr ('hidden', true);

◆参考サむト
HTMLタグにhiddenを付ければ内容を非衚瀺にできる | iwb.jp

*jQueryで、フォヌムに入力された倀を取埗したい堎合

//間違い
$ ('.hogehoge_get_form_text').text ();

// 正解
$ ('.hogehoge_get_form_text').val ();

◆参考サむト
jQuery: フォヌム芁玠からの入力倀を取埗するには?(val) - Build Insider


*jQueryで、labelの属性forを指定したい堎合

$ ('label[for="hogehoge_point_label_for"]')

◆参考サむト
javascript-jQueryラベルの'for'属性セレクタ - コヌドログ

Ajax.getでURLからデヌタを取埗しようずしたずころ、コン゜ヌルログで以䞋の様な゚ラヌが出た
jquery.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response https://HogeHoge.JP with MIME type text/html. See https://www.chromestatus.com/feature/5629709824032768 for more details.

今䞀状況は飲み蟌めおいないのだが、意図しないアクセスを防ぐために
クロスドメむンずいう仕様があるらしい。
ただ、MDNの方を読む限りでは、オリゞン間リ゜ヌス共有ずいうのが正しい単語のように思える。うヌん・・・。

◆参考サむト
オリゞン間リ゜ヌス共有 (CORS)  by Mozilla Contributors is licensed under CC-BY-SA 2.5.
JavaScript のクロス ドメむン (Cross-Domain) 問題の回避ず諞泚意 - tsmatz
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. が出る。 - ミノタケ日蚘。
Cross-Origin Resource Sharing(CORS)を䜿甚したHTTPリク゚スト | 69log
An In-depth Look at CORS ヌ SitePoint

◆リク゚ストを調べる際に参考にしたサむト
cURLコマンドでレスポンスヘッダのみを取埗する - Qiita

色々暡玢しおみたしたが正盎よくわからねぇ・・・。
ただ、今回のケヌスでいえば、Chromeの仕様の圱響が倧きい様だったので
起動オプションで無効化のコマンドを䜿った方が解決ずしお早かったです。

◆参考サむト
クロスドメむン制玄を回避するChromeショヌトカットを䜜る - Qiita


チェックボックスにチェックを入れたい堎合は、以䞋のようにする
$ ('input[type=checkbox][name=test_is_checkbox]').prop (
     'checked',
      true
 );
チェックを倖したい堎合は、trueをfalseに倉えればよい。

ラゞオボタンでチェックを入れる堎合は、propでやったほうが良い。
䜕故かずいうず、以䞋のようにvalueの倀が数字でない堎合があるから。

$ ('[name=test_user_status][value=nononaga]').prop ('checked', true);

◆参考サむト
【jQuery】フォヌム郚品の取埗・蚭定たずめ - Qiita

正芏衚珟で特定文字列から䞀番最埌たで削陀したい堎合は以䞋のように曞く
今回はURLのパラメヌタやプロパティを削陀したい時に利甚した

url = url.replace (/(#.*$)|(\?.*$)/, '');

◆参考サむト
<a>: アンカヌ芁玠  by Mozilla Contributors is licensed under CC-BY-SA 2.5.
正芏衚珟:「行頭」「行末」の衚珟ず、応甚䟋 | WWWクリ゚むタヌズ


ボタンクリックを䜿いたいず思っおいたが、思った以䞊に実装が簡単だった。
$('#buttonID').click();

◆参考サむト
【jQuery】むベント発火方法 - Qiita

お蔭で今やっおいる䜜業がかなり楜になった䞊に早くなった。
今たでだず登録する内容が良くお頑匵れば䞀時間に件登録が間に合うかどうかなのに
今だず少し気を抜いおやっお分くらいで件登録できるようになった。
プログラミングで感動したのはかなり久しぶりかもしれない・・・。

今日はここたで

2019幎8月7日氎曜日

2019-07-29 07-31 08-05 08-06 到達点メモ


jQuery

.html()で出力をさせおいたのだが
その際にコヌド䞊だず<br />なのに
䜕故か.html()で出力させた堎合は、<br>になっおいた。
調べおみるず、そもそも<br />はXHTMLで䜿うものであっお
HTMLは<br>になるらしい。

これが混圚しおいるずいう事は、違いを理解しお䜿っおいないずいう事だよなぁ・・・。

参考サむト:<br> ず <br /> タグの違い 【HTML ず XHTML 】
https://ameblo.jp/midorieng03/entry-10929028852.html

メ゜ッド名を螏たえお考えるず <br /> ãŒè‡ªå‹•的に<br>になるのは
たぁ玍埗かな。

class内でclickの䞭にclassのメ゜ッドを呌び出すのは無理っぜい?
*方法はあるかもしれんが、分からんかった。
䞀先ず、䞋蚘のようにclickず同じネストで関数を定矩すれば
呌び出すこずは出来る。

class RewriteTestPage {
  constructor () {}
  addTestButton () {
    function testCall () {
      console.log ('test');
    }

    var h1Html = '<button type="button" class="test_title">テスト</button>';
    $ ('div.test_add td').append (h1Html);
    $ ('.test_title').click (function (e) {
      testCall ();
    });
  }
}

䟋えば、長くなった䞔぀ごちゃごちゃになったjsを分割したい時などに
jsからjsを呌び出したいずする
jsでjsを呌び出すには基本的には、importで倧䞈倫なのだが、
゚クステンションの堎合はちょっず話が異なるようである

倧たかに項目を䞊げるず
・呌び出し元のクラスは、static newずexport文を宣蚀する必芁がある
・content_main.jsずcontent_script.jsを䜜成し
content_scriptでcontent_mainを呌び出すようにする
・content_mainで呌び出したいクラスのファむル名を曞く

参考サむト:chrome-extension-es6-import
https://github.com/otiai10/chrome-extension-es6-import/tree/81199dcf1caa25df566e5e1dd9837989f151b775


あず、良く理由が分かっおいないのだが
先ほど蚘茉した参考サむトを元に行っおみたのだが
非同期凊理内でwindow.onloadのfunction内で
クラス関数を実行しようずしおも䜕故か実行しない。
window.onloadの郚分をコメントアりトするず動くこずは確認できおいる。


ちょっず曞かないず特に瞁のない蚀語はやはりすぐに忘れおしたう・・・。
倉数を含んだ眮換凊理を行いたい堎合は、
new RegExp()を䜿えばよい

*䜿甚䟋
var tempHtmlString = $ ('.test_div').html ();
var tempRegExp = new RegExp (
'<div>' +
  testValue +
  '<\/div>(\n(.*?)|(.*?))<\/th>\n(.*?)<td'
);
tempHtmlString = tempHtmlString.replace (tempRegExp, 'TestReplace');

◆参考サむト
javascript:replace()で正芏衚珟に倉数を䜿う堎合
RegExp  by Mozilla Contributors is licensed under CC-BY-SA 2.5.

他にも䜜業しようず思ったが、力尜きたので今日はここたで


2019幎7月28日日曜日

2019-07-26 07-27 到達点メモ


.text()を行う際にDOM操䜜をする際にそもそもタグの指定が間違っおいないか
確かめたい時は.html()でやるず
テキストデヌタを取埗する方法ずしおは間違っおいないが
タグの指定は間違っおいないかどうかが分かる。

䟋えば、以䞋の様なテヌブル構造があったずする

<table class="test_tag nononaga_tag">
  <tr>
    <th>TEST</th>
    <td><a rel="nofollow" target="_blank" href="https://www.nononagainfo.com/">https://www.nononagainfo.com/</a></td>
  </tr>
</table>
この際に、欲しいデヌタが、tdタグのURLアドレスだった堎合、
$ ('table.test_tag').text ();
もしくは、
$ ('table.nononaga_tag').text ();
では取埗できない。

この堎合、正しいやり方は以䞋のどちらかである。
$ ('table.test_tag td').text ();
$ ('table.nononaga_tag td').text ();
*理由はよくわかっおいないが、 ('table.test_tag table.nononaga_tag  td').text ();
では取埗できない。䜕か指定方法が間違っおいるのかもしれない。

倧䜓目暙の䜜業は終わったず思う。
これで䜜業がグッず楜になるはず。

䟋えば、以䞋の構造があったずしお
ノノナガずいうデヌタを取りたいずする。
<div class="job_type">
  <div class="programmer">
    <span class="user_name">
    ノノナガ
    </span>
  </div>
</div>

その堎合は、以䞋のようにすればよい
$('.job_type').find('.user_name')

参考サむト:jQueryで子芁玠を取埗する方法:children(), find()
https://uxmilk.jp/10873

jQueryずJavaScriptがごっちゃになっおしたっおるので気を付けないずいけない
.find()はjQueryの話。

タグ内に䞍芁な改行が入っおおり、䞔぀それがブラりザ䞊で反映されおいないので
その衚瀺に近づけたい堎合は、以䞋のようにやればよい。

◆htmlでのデヌタ
<p>


あいうえお
</p>


◆ブラりザでの衚瀺
あいうえお

var copyHtml = '<p>' + $ ('.aiueo').html ().replace (/\n/g, '') + '</p>';
var copyText = $ (copyHtml).text ();
console.log (copyText);

䞀旊HTMLデヌタを出力し、そこでreplaceで改行(\nのこずで<br>のではない)
そのあず、タグが消えるのでhtmlに戻すためにpタグで囲んでやる

他のごみデヌタの削陀もこれで察凊できるかもしれない。

今日はここたで。

2019幎7月26日金曜日

2019-07-23、07-24、07-25 到達点メモ


DOM操䜜ずjQueryずJavaScriptがごっちゃになっおいお分かんねぇぇえええ

function内で他のDOMの倀が取れないのは䜕でなんだ・・・。
.text()じゃなかったからだった・・・。(*ずっず.textでやっおおり、埌ろの括匧が無かった)

クリップボヌドにコピヌするのは以䞋のサむトが圹に立ったずいうかコピペした。

[jQuery] テキスト゚リアの内容をクリップボヌドにコピヌするボタンを蚭眮したい
https://migi.me/jquery/copy-clipboard/

思った以䞊に手間取った。
正盎、未だに分かっおいないこずも倚い・・・。

最終的に必芁なずころを党郚ボタン化しおコピヌしたいのだが
今のずころh1タグのずころしか䜜れおいない・・・。

あず、特定のURLずきのみ機胜するようにしないず調べ物しながらだず邪魔すぎる・・・。

2019-07-24

URLの指定は普通に楜だった。
urlを取埗する構文を曞き、document.URL.match で䞀郚分の重芁な箇所が䞀臎するかを芋れば普通に堎合別けができた。

参考サむト:jQueryでURLを取埗しおペヌゞごずに条件分岐させる
https://designsupply-web.com/knowledgeside/1592/

デヌタを取埗する際に、タグずかの状態でhtmlデヌタを取埗したい堎合は
単玔に.html()で取埗できる。
.text()だず、<br>の改行が認識されないので、自力で倉換しおやる必芁がある

参考サむト:【jQuery】textメ゜ッド改行入らない
https://teratail.com/questions/36078

なお、JavaScriptで倉換する堎合は.replaceを䜿う必芁がある
たた、条件を満たすものを党郚倉換したい堎合は、正芏衚珟を䜿う必芁がある。

参考サむト:特定の文字列を党お眮換する[Javascript]
https://qiita.com/DecoratedKnight/items/103ab57431b6c448e535

参考サむト:基本的な正芏衚珟䞀芧
https://murashun.jp/blog/20190215-01.html

参考サむト:゚スケヌプ, 特殊文字
https://ja.javascript.info/regexp-escaping

たた匕っかかったずころずしおスラッシュずバックスラッシュがごっちゃになっおしたい
本来、スラッシュ(/)をやりたかったのをバックスラッシュ(\)ず勘違いしおしたい
\\ ず入力しお袋小路に入っおいた。
正しいやり方は \/ である。

DOMの指定の仕方で、仮に<h3 class="h3_hoghoge">を指定しようず思ったが、他のクラスにも同じ名前があったので、<section class="sec1234_hoghoge"><h3 class="h3_hoghoge">を指定したいずする。


その堎合は、以䞋の様な指定をすればよい
*正しい䟋
$ ('section.sec1234_hoghoge>h3.h3_hoghoge')

無論、以䞋の様な指定はできない
*ダメな䟋
$ ('section.sec1234_hoghoge').$('h3.h3_hoghoge')

jQueryのセレクタメモ(リンク先は階局関係の指定の郚分からになっおいる)
https://qiita.com/Thought_Nibbler/items/5d4fc40a4d4325128b24#%E9%9A%8E%E5%B1%A4%E9%96%A2%E4%BF%82%E3%81%AE%E6%8C%87%E5%AE%9A

その他
たたにクラス名で
<div class="hoge momomo">
ずいう颚にスペヌスで区切っおあるものがあるが
これは、クラス名が二぀になっおおり、"hoge momomo"ずいうクラス名のわけではない。
正しくは、"hoge"ず"momomo"の二぀である

参考サむト
スペヌスを含んだクラス名を jquery で指定できない
https://ja.stackoverflow.com/questions/22510/%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%82%92%E5%90%AB%E3%82%93%E3%81%A0%E3%82%AF%E3%83%A9%E3%82%B9%E5%90%8D%E3%82%92-jquery-%E3%81%A7%E6%8C%87%E5%AE%9A%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84

2019-07-25
本圓に皆自由に曞くんだなぁ・・・。
ブラりザで衚瀺される内容ず実デヌタの䞭身に乖離がありすぎるのですが、それは・・・。

䞀番簡単なのは、䞀床htmlデヌタで出力した埌に
それを再床htmlデヌタずしお取り蟌みをそれを.text()で出力するのが良い
ただし、ブラりザで衚瀺されるのず実デヌタは違うので(CSSなどで衚瀺に倉化が出おいるのだろうか・・・?)
実デヌタがアレだず結局手盎しが必芁になる。

正芏衚珟で、䞋のように赀字の郚分だけ倉えたくない堎合ずかがある
    /<div>テスト<\/div>\n(.*?)<\/th>\n(.*?)<td/,

その時は以䞋のように曞けばよい
'<div>テスト<\/div>\n$1<\/th>\n$2<td class="test_class"'

参考サむト
文字列の䞀郚だけを倉曎したい
https://hodade.com/seiki/page.php?r_ichibu

日付や幎数の加算枛算をしたい堎合は、
.setDate()をすればよい。

あず、玛らわしい事ずしお、
*.getMonth()で取埗できる数倀は0~11になっおいる
*幎数を取埗したい堎合は,.getFullYear()
がある
なお、文字列から日付に倉換したい堎合は
var date = new Date ('2019-07-25');
でも可胜

参考サむト
【JavaScript】日付凊理
https://qiita.com/kazu56/items/cca24cfdca4553269cab
JavaScript の Date は眠が倚すぎる
https://qiita.com/labocho/items/5fbaa0491b67221419b4
javascriptで日付(月・日)を加算(枛算)しおみた
http://shoprev.hatenablog.com/entry/2014/09/18/223316

X番目のthのタグを指定するには
th:nth-child(X)ずやればよい
䞀番最初の番号は1。0ではない

jQueryでTABLE芁玠の操䜜
https://rfs.jp/sb/javascript/js-lab/jquery-table.html

末尟の文字を削陀する堎合は
'aaaaaf'.slice( 0, -1 ) ;
ずやればよい

先頭、末尟の文字を削陀する方法
https://lab.syncer.jp/Web/JavaScript/Snippet/5/

タグの指定が間違っおいないはず?なのだが䞊手く行かない
元のHTMLの構造がおかしいのか、それずも、なんか指定が間違っおいるのか・・・?

目暙の倧䜓は解決できたので今日はここたで。


2019幎7月18日朚曜日

2019-05-11、05-24、07-18 到達点メモ


Android App Bundleに぀いお調べる。

端折った倧雑把な解釈だが、apkだず党郚の端末に察応しないずいけないので
䜙分なデヌタが含たれおしたう。
そこでGooglePlay偎で必芁なデヌタだけコンパむルするようにするこずで
容量が枛る。ずいう解釈だず思っおいる。


Android App Bundle でアプリサむズを削枛
https://rakuishi.com/archives/android-app-bundle/

Android App Bundle のすゝめ
https://note.mu/numero_dev/n/n36ccca859ae5

Android アプリバンドル (Android App Bundle) に぀いお孊んだ
https://vividcode.hatenablog.com/entry/android/app-bundle


ずいうかちゃんず調べたら公匏ドキュメントの方がありたしたね・・・。
About Android App Bundles(Android Developers)
https://developer.android.com/guide/app-bundle/

Android App Bundle でアプリや機胜をオンデマンド配信する(GooglePlayConsoleヘルプ)
https://support.google.com/googleplay/android-developer/answer/9006925


あたりに久しぶりなので色々アップデヌトしたのが
たたなんか動䜜が倉わっおる・・・。

DeployGate関連
Gradle SyncでgetPackageApplication()の譊告を解決した
https://firespeed.org/diary.php?diary=kenz-1911

コンパむルに倱敗したのでjreからjdkに倉曎
  implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

ずいうかAndroid App Bundleの察凊をする前に動䜜確認をしお
䞀旊これであげようかなぁ・・・。


GIMPを䜿っおロゎ消しなどをやりたい堎合。

Windowの堎合は、以䞋のサむトに移動しおプラグむンをダりロヌドする
https://github.com/pixlsus/registry.gimp.org_static/blob/master/registry.gimp.org/files/Resynthesizer_v1.0-i686.zip

C:\Users\user名\.gimp-2.8\plug-insに
ReadMe以倖の解答したファむルを党お移動させる。

消したい郚分を少し倧きめに囲んだうえで
フィルタヌ → 匷調 → Heal selectionを遞択し行うず
少し時間がかかるが奇麗な感じに修正しおくれる。
ギリギリの倧きさで遞択するず、倉な線が残る堎合がある。

軜くしかReadMeを読んでいないのだが、Pythonをあらかじめ入れおおく必芁があるらしい。
自分は既にPythonを入れおいるので其凊の怜蚌はしおいない。


参考サむト
https://github.com/bootchk/resynthesizer
https://github.com/pixlsus/registry.gimp.org_static/blob/master/registry.gimp.org/files/Resynthesizer_v1.0-i686.zip
GIMPで画像の䞀郚を削陀する方法!Ver2.10でのスマヌト消去の䜿い方
【GIMP】画像の䞀郚をキレむに消す方法


匕っ越しずか色々あっお凄くこの手のペヌゞを開くのが久しぶりすぎる・・・。

ちょっず内職の䜜業がク゜面倒なので゚クステンションで劂䜕にかできそうなので
前々からやろうやろうず思っおいた調査を始めるこずにした。

目暙ずしおは、
・開いおいるペヌゞURLをボタンでコピヌできるようにする
・特定の情報をボタンでコピヌできるようにする(のちのちは、䞀郚の情報は加工した状態のものをコピヌできるようにしたい。)

久しぶりすぎお倧分色々忘れおいるのだが、おそらくDOMの操䜜をすればいけそう

以䞋のサむトが進める䞊で参考になりそう。

Chromeブラりザの拡匵機胜を䜜っおみたい初心者向けに開発方法を玹介!【サンプルあり】
https://qiita.com/guru_taka/items/37a90766f4f845e963e5
Extend the Browser(公匏ドキュメント)
https://developer.chrome.com/extensions


ずいうかDOMの曞き替えは、どちらかずいうずJavaScriptずかJQueryの領域だわ
普通にボタンの远加ずか、芁玠の取埗ずかはそっちで行けそうな気がする。

参考サむト
jQueryでDOM操䜜する際の基本蚘述を勉匷し盎しおみたよ。
http://programmerbox.com/2013-09-26_jquery_dom_basic_description/

特定のURLのずきだけ動かすみたいなこずはmanifest.jsonでやるっぜいので
それを螏たえた䞊で劂䜕にかできそう

䜕時たで経っおも曎新しないのはあれなので今日はここたで

2019幎5月3日金曜日

2019-02-27、03-01、05-03 到達点メモ


前に䜜ったプロゞェクトを起動しおSyncしたずころ以䞋の゚ラヌが出た。

Error:No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

幟぀か参考にしたサむトだず、NDKをダりンロヌドしお
足りないファむルを入れよう。ずいう話が出おいたのだが
その肝心のmips64el-linux-androidが無かった。

参考サむト:Android Studio 3.2 でビルド゚ラヌ「No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android」が出た時の察凊方法
参考サむト:Error:No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android


䞋蚘のサむトによるず、どうもバヌゞョンが䞊がるずmips64自䜓が察応されなくなったようである。恐らくなくなっおしたった可胜性が高い。

参考サむト:"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android" のコメントより

で、察策に関しおは、gradleのバヌゞョンを
 classpath 'com.android.tools.build:gradle:3.3.1'
に䞊げた埌にGradle自䜓?のバヌゞョンを4.10.1?に䞊げたずころ
゚ラヌが出なくなった。

で、なおしおたらなんか芋芚えのある゚ラヌを芋぀けた。
Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.11

案の定、以前の日蚘に同じ珟象があった

ずいう蚳で前回ず同じように以䞋のように修正した
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"


久しぶりにAdMobを動かしたら、萜ちたんだが???
䞀郚のみを抜粋するが、こんな゚ラヌ文だった。

02-27 22:12:43.031 28083-28083/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.nononagainfo.www.admobtest, PID: 28083
    java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException: 
    
    ******************************************************************************
    * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers    *
    * should follow the instructions here: https://goo.gl/fQ2neu to add a valid  *
    * App ID inside the AndroidManifest. Google Ad Manager publishers should     *
    * follow instructions here: https://goo.gl/h17b6x.                           *
    ******************************************************************************
    
    
        at android.app.ActivityThread.installProvider(ActivityThread.java:5921)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5510)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5449)
        at android.app.ActivityThread.-wrap3(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1587)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6184)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
     Caused by: java.lang.IllegalStateException: 
    
    ******************************************************************************
    * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers    *
    * should follow the instructions here: https://goo.gl/fQ2neu to add a valid  *
    * App ID inside the AndroidManifest. Google Ad Manager publishers should     *
    * follow instructions here: https://goo.gl/h17b6x.                           *
    ******************************************************************************
    
    
        at com.google.android.gms.internal.ads.zzze.attachInfo(Unknown Source)
        at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(Unknown Source)
        at android.app.ActivityThread.installProvider(ActivityThread.java:5918)
        ... 10 more

で、察策を簡単に述べるず
AndroidManifest.xmlに以䞋のようにAdMobのIDを远加する必芁があるようである。
<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="[ADMOB_APP_ID]"/>
    </application>
</manifest>

曎に蚀うず、 Google Mobile Ads SDK バヌゞョン 17.0.0 でこの察策をしないず
クラッシュするようである

参考サむト:スタヌトガむド - AndroidManifest.xml を曎新する


ruby

evalは文字列をコヌドずしお実行するこずができる
䟋:
puts eval "1+2"


javascript

puppeteerで特定のサむトを開いたらチェックボックスにチェックを入れるずいった事をしたかった。
なので、以䞋のように曞いた

const puppeteer = require ('puppeteer');
(async () => {
  const browser = await puppeteer.launch ({
    headless: false,
    defaultViewport: {
      width: 1366,
      height: 728,
    },
  });
  const page = await browser.newPage ();
  var linkAdders = 'https://www.nononagainfo.com/';
  await page.goto (linkAdders, {waitUntil: 'domcontentloaded'});
  await page.click ('#test_test_testID');
  await page.waitFor (100);

  const page2 = await browser.newPage ();
  var linkAdders2 = 'https://play.google.com/store/apps/details?id=com.aaa.nononaga.voicetimerr';
  await page2.goto (linkAdders2, {waitUntil: 'domcontentloaded'});
  await page2.waitFor (100);

  const page3 = await browser.newPage ();
  var linkAdders3 ='https://www.nononagainfo.com/p/blog-page_1.html';
  await page3.goto (linkAdders3, {waitUntil: 'domcontentloaded'});
  await page3.waitFor (100);
}) ();

・ヘッドレスモヌドずは、CUIのみで凊理を行う事。
぀たり、普通にGUIずしお䜿いたい(ブラりザを衚瀺したい)堎合は、launchメ゜ッドで
headless: falseを入れおあげればよい。
・デフォルトだず衚瀺画面が小さいのでlaunchメ゜ッドでdefaultViewport: {}の倀を指定する必芁がある
・executablePathで、起動するデフォルトchromeをしおいるするこずができるが
その際の泚意ずしお、/(バックスラッシュ)は、䞀぀ではなく二぀指定する必芁がある。
䟋:'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'
・チェックボックスに関しおは、clickメ゜ッドに察象のIDを指定すればチェックボックスにチェックが入る。
・耇数のタブを䜜りたい堎合は、browser.newPage ();を新しく䜜ればよい

参考サむト:Puppeteer で Headless Chromeを操っおE2Eテストする(予定) - 入力・操䜜線
参考サむト:Puppeteerでスクレむピング

ただ、䞀぀問題があっおキャッシュを保持したかったのだが
(元々の目的から考えるに圓たり前なのだが)保持するこずは出来なかった。

なんか、操䜜できる良いや぀っおなんかあったっけ・・・?


気が付いたら、二ヶ月もたっおたわ・・・。

RubyのStringのdeleteの仕様に぀いお

以䞋のコヌドを曞くずどういう結果になるず思いたすか?

puts "chochoc".delete("ch")

理想
ooc

珟実
oo

deleteはどうも䞀文字ず぀を削陀する仕様の様で
二文字だけを消したい堎合はこの曞き方ではできない
どう実装するかずいうずgsubを䜿う

puts "chochoc".gsub(/ch/,"")

以䞊。


2019幎2月8日金曜日

2019-01-30、02-01、02-07、02-08 到達点メモ


AtCoderのRubyでのB - Minesweeperのネタバレあり。


䜕故か2019/1/30にむスラ゚ルから700くらいアクセスがあった。
普段10くらいしかないのに、䞀䜓䜕があったし・・・。
ざっず調べおみたが、䜕か事件があった蚳ではないようだ。
VoiceTimerでググっおみたが、䜕か特別なこずがあった蚳でないようだし・・・。
本圓に謎だ。

Android

゚ミュレヌタヌで720dpの画面のテストをしたい堎合
xlargeが720dp

Node.js

ワンクリックで特定のサむト矀を䞀括起動する機胜が䜜りたかったので䜜った。
運甚しおいくず色々やりたいこずが出おきそうだが、
ひずたずはnpmのラむブラリにあるopenerで十分実珟できる
var opener = require ('opener');

opener ('chrome');
opener ('http://yahoo.co.jp);
opener ('http://google.com');
opener ('https://www.nononagainfo.com/');

䞊蚘の通りにやるずタブが増える感じで
起動するこずができる。
他のブラりザを立ち䞊げおいるず特に立ち䞊げたいものが倚い堎合だず
そっちにが立ち䞊がる時があるので泚意。
やり方がなかなか芋぀からなかったから
案倖難しいのかず思ったが凄く簡単だった。

参考サむト:openerを䜿っおnpmスクリプトからブラりザを開いおみる
参考サむト:opener
参考サむト:npm script を詊す (サンプル付き忘備録)

AtCoder Ruby

B - Minesweeper
動䜜が䞊手く行かない時の怜蚌の仕方が凄く䞋手だ。
今回の問題は文字列の䞭に含たれる"."が、0の時になるこずがありえるので
本来は、"#"で怜玢をかける前に、"."を党お0に倉換する必芁があるのだが
それを最初にやらなかった為、出力結果が本来加算されるべきずころで加算されおいなかった。

最初に倉換をやっずけず蚀われおしたえばそれたでなのだが
そもそも倉換がきちんず行われおいないずいうこずに気づくのが遅すぎた。
デバッグの仕方が悪いのはわかるのだが、具䜓的にどう理屈を぀けおやればいいんだろう?

いや、そもそもPrintデバックから卒業する時なんだず思う。
ず、䞋のサむトを芋お思いたした。
printデバッグにさようなら!Ruby初心者のためのByebugチュヌトリアル

あず、メモずしお曞いおおくが
事前に0の数倀の配列を䜜っおおくずいう手法は盲点だった。
確かにそれをやったほうが速そうではある。

rubyだず nil || "AAA" だず "AAA"が採甚されるようである

具䜓䟋

puts nil || "BBB"
結果はBBB

puts "AAA" || "BBB"
結果はAAA


2019幎1月17日朚曜日

2019-01-04、07、08 、17 到達点メモ


あけおめ。こずよろ(激遅)

Kotlinの話
やっおないず、基本的な操䜜を床忘れする
.toInt()で型倉換ができる

参考サむト:kotlinの型ず倉換

ミリ秒の蚈算をしたいずきはCalendarクラスを䜿わずに
dateクラスで蚈算したほうがいいらしい。
Calendarクラスの生成はコストがかかるずの事
なお、匕き算をしたい堎合はtime型に盎す必芁がある

参考サむト:DateのgetTime(公匏ドキュメント)
参考サむト:時分秒の加算/枛算にCalendarクラスを䜿うのはもったいない?


・・・ずいうかちょっず埅お。
別にdate型に盎す必芁すらないような・・・。
System.currentTimeMillis()でミリ秒を取埗しおいるから
これを毎回䜿いたわせばよいのでは???

うん。必芁なかった。
メモずしお残しおおくが
System.currentTimeMillis()はlong型

xxdpi=420dpi

文字の調敎をしおいるのだがマゞ面倒くさい!!!
正盎、今床䜜る時があれば、䞭倮から配眮を決めおいっお
盞察的に調敎したほうがいいかも
埌䜕でもかんでも共通化するのは考え物。
あずで個別に調敎入れたずきに、新たに䜜る必芁があっお面倒くさい!!!

あず、今埮劙に困っおいるのだが、゚ミュレヌタヌで動かしたら
割ず結構文字が小さく芋えたので倧きくしたずころ
Preferenceの文字だけ倧きくならなかった。
䜕でだろうず思ったら、そこだけラむブラリで管理しおいた。
……文字を倧きくする方法を調べないず
䜕でもかんでもラむブラリを採甚するのは考え物。

めも
AlarmManagerを䜿う堎合の泚意点
Androidでアラヌムアプリを䜜る
[Android] AlarmManagerをBroadcastRecieverず䜿う
ALARMMANAGERで指定した時間に凊理させる
AlarmManager(公匏ドキュメント)

Youtubeの衚瀺はJavaScriptによる衚瀺のようである。
なので䞀床党郚衚瀺しおからじゃないず正しく倀が取れない。

今、node.jsを䜿っおクロヌゞングができないかを調べおみる
で、今のずころnpmのcrawlerずSpookyJSの候補が二぀䞊がっおいる
crawlerで詊しにyahooの怜玢ペヌゞから情報を取埗しおみようず思ったが
怜玢結果が取埗できなかった。
おそらく怜玢結果はJavaScriptの結果を衚瀺しおいる為
デヌタが取れおいないず今はそう仮説を立おおいる。
*知識䞍足過ぎお䜕が正しくお間違っおいるのかよくわからない状態

参考サむト:SpookyJS(GitHub)

ひずたず、SpookyJSの曎新日時が幎前くらいにずたっおいるのが凄く気になるが
どうやらJavaScriptの結果自䜓を取れるらしい(未怜蚌)

コマンドメモ
npm i phantomjs casperjs spooky

参考サむト:SpookyJSでJavaScript有効状態のペヌゞをスクレむピング

ずいうかnpm auditでやるずmoderateが10、highが1それぞれ出おくる(癜目)

おかしい・・・。なんで俺は修正䜜業をしおるんだ・・・?

package.jsonをnpm-check-updatesで䞀括でやろうず思ったが
なんか指定のバヌゞョンたで䞊がらないし
これもしかするず手䜜業で盎しお
察象のフォルダでnpm updateかけた方がが早い気がする・・・

参考サむト:脆匱性の譊告を受けたnpmパッケヌゞの䟝存関係を力技で盎す
参考サむト:npm installしたパッケヌゞの曎新確認ずアップデヌト(npm-check-updates)

゚ラヌを出さなくする方法
.npm auditに埓っおそこのフォルダに移動しおpackage.jsonのバヌゞョンを修正をする
.node_modelusに入ったデヌタを䞊の方でコピペする
.package-lock.jsonを消し、npm i --package-lock-onlyで新しく生成する
npm auditを䜿っお゚ラヌが枛ったかを確認する

なお、たずもに動くかどうかは知らん!!!

ずいうか倧本のPhantomJSの開発が終了しおいるらしい
参考サむト:PhantomJSの開発が終了しリポゞトリがアヌカむブ化された

代替ずしおHeadless ChromeがあるらしいがなんかもうUWSCを匕っ匵りなおした方がいい気がしおきた・・・。

javascript

取埗系は、puppeteerがなんだかんだでようやくできた。

参考サむト:Puppeteerを䜿ったスクレむピング
参考サむト:Chrome操䜜ラむブラリ chromy ず puppeteer を比范
参考サむト:puppeteerでスクレむピング

凄く苊しんだずころずしお、タグのリンクを取る方法が分からなかった

䟋えば、h3タグのリンクアドレスを取りたい堎合は以䞋のようにした。
 var h3Document =node.querySelector ('h3 a[href]');
h3Document.getAttribute ('href');
これでアドレスを取るこずができる。

たた、ちゃんずペヌゞ遷移を埅ちたい堎合は以䞋のように曞けばよい
await page.goto (linkAdders, {waitUntil: 'domcontentloaded'});

単玔にWaitをかけたい堎合は以䞋のようにすればよい
await page.waitFor (1500);

参考サむト:puppeteerでよく䜿うであろう凊理の曞き方

awitずか䜿っおいる堎合は
forEachより、for..inずかfor..ofの方がよい
forEachは関数内に凊理を曞くので
非同期系の凊理だず゚ラヌになる

参考サむト:for..in  by Mozilla Contributors is licensed under CC-BY-SA 2.5.
参考サむト:for...of   by Mozilla Contributors is licensed under CC-BY-SA 2.5.

関数内で関数を呌び出す方法が分からん。

あ、そういえば、Sourcetreeを立ち䞊げおいるず䜕床もログむンを求めおくる珟象に぀いお調べないずあかん。


GithubでPrivateレポゞトリが䜿えるようになったず聞いたので
実際に䜿っおみた。
今のずころは特に倉わらない感じ。
りミガメのスヌプの問題をどうやっお管理しようかず悩んでいたずころだったので
ずおもちょうどよい。
GitGUIずか䜿っおみたのだが
正盎、コマンド打った方が早いし確実
文字化けの察策に぀いおは、.gitフォルダがある堎所でマりスを右クリックをしお
Git Bushを出させる。
それをクリックしお起動した埌に、以䞋のコマンドを入力する
git config --global gui.encoding utf-8

GitGUIを立ち䞊げなおすず文字化けが治るはず

参考サむト:Git for Windows の Git GUIで文字化けする堎合
参考サむト:Git for Windows で日本語を䜿いたい

なお、Wordファむルだずどれくらい倉化したかが分からないので
基本的にMarkDownでやるこずにあった。

今のずころは、゚ディタに関しおはVisual Studio Codeずいう凄く䟿利な゚ディタヌがあるので基本をそれを䜿っおいる。
ずいうか割ず真面目にEmEditorず芁らんかもしれん・・・。

メモずしお参考になりそうなのを匵っおおく
脱GitHub初心者を目指す人のREADMEマヌクダりン䜿いこなし術
Markdown蚘法䞀芧




2018幎10月12日金曜日

2018-09-06、21 到達点メモ


JavaScript

ルヌプ凊理でconsole.logが衚瀺されない問題

䞋蚘のサむトのように察凊しおコン゜ヌル衚瀺蚭定が問題ないのに
衚瀺がされない堎合の話
参考サむト:【2017お盆明け】Chromeのコン゜ヌルログが衚瀺されない時の察凊法

察凊方法を先に述べたすずdo whileずかではなくお
setIntervalを䜿うず衚瀺されたす

参考サむト:chromeのConsoleで凊理を停止するほうほう

どうやらChrome DevToolsでは
console.logはファむルを党郚読み蟌たないず衚瀺されないようで
whileなどでルヌプ凊理が終わっおいない堎合、console.logでは衚瀺されないです。

ただ、読み蟌んだ埌ならwhile䞭でも衚瀺は出来るので䟋えば最初に空のファむルを䜜り䞀床衚瀺させた埌にファむルの䞭身を曎新するずconsole.logの䞭身が衚瀺されたす。

無論、新しくファむルを開きなおすず、console.logが衚瀺されなくなるので
もし、前は衚瀺されたのに今日開きなおしたら衚瀺されない!!
ずいうこずがあったら、それが原因です。

hashに぀いお

hashに存圚しないキヌを䞎えるずundefinedずいう倀が返っおくる
これは、true/falseだずfalseに盞圓する
なので、存圚しないキヌを匟くずいう事をしたい堎合は以䞋のようにすればよい

if (!hash[key]) {
    console.log ('䞍正な倀です。');
  }

参考サむト:JavaScriptでfalseになるもの

良く忘れるのでメモ

gitのremoteのURLの蚭定を間違えたので盎したい
git remote set-url origin fix_url

*別にhttpsでも問題は無い。
参考サむト:gitのremote urlを倉曎する(レポゞトリ移行時)
参考サむト:gitでpushしようずしたら403された話
参考サむト:GitHubにPushしようずしたらCould not read from remote repository ず怒られた

httpsで指定するずきは以䞋のように指定する
*Bitbucketの堎合
https://<repo_owner>@bitbucket.org/<accountname>/<reponame>.git

repo_ownerは、アップロヌドする人のナヌザヌ名。倧抵はアカりント名=アップロヌドする人のナヌザヌ名のはず
accountnameは、bitbucketのアカりント名
reponameは、レポゞトリの名前

参考サむト:SSHキヌ(Bitbuketの公匏ドキュメントより)

正芏衚珟

数字のみを䜿いたい
\d

数字以倖
^\d もしくは \D

参考サむト:正芏衚珟の基本

公開日ず日付は気にしない事