!apt update error
https://ameblo.jp/l-yotarou/entry-12722370981.html
sudo apt update
を実行した時に
署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックスファイルが使われます。GPG エラー: http://repo.mysql.com/apt/ubuntu focal InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 467B942D3A79BD29
が発生しました。
一瞬ドキリとしますが、こんな時には慌てずに
NO_PUBKEY 467B942D3A79BD29
!最近変更したファイルをディレクトリを保持してコピー
cp --parents `find source -mmin -360 -type f` /mnt/c/temp/.
!数字のみ入力させる
[jQueryでinputに数字のみ入力させるための本当に正しい方法|https://pisuke-code.com/jquery-input-number-only/] <- 参照
[javascript]
$(document).on('keydown', '.input_number_only', function(e){
let k = e.keyCode;
let str = String.fromCharCode(k);
if(!(str.match(/[0-9]/) || (37 <= k && k <= 40) || k === 8 || k === 46)){
return false;
}
});
// フォーカスが外れた時に数値以外を削除する
$(document).on('blur', '.input_number_only',function(){
this.value = this.value.replace(/[^0-9]+/i,'');
});
[html]
番地:
!禁則処理
禁則処理を行いつつ特定の文字数で折り返す。(半角文字を考慮してないので表示幅がずれる)
my $split = sub {
my $moji = shift;
my $in = shift;
my @out;
my $no_begin = "!%),.:;?]}、。々〉》」』】〕" .
"ぁぃぅぇぉっゃゅょゎゝゞァィゥェォッャュョヮヵヶ" .
"ーヽヾ!%),.:;?]}"; # 行頭禁則文字
my @char = $s->{dbh}->split_char($in);
my $t = '';
my $i = 0;
my $f = 0;
for(@char){
if($_ eq "\n" or $i >= $moji){
push @out,$t;
$i = 0;
$t = '';
}
if($i == 0 and $no_begin =~ /$_/ and $f == 0){
$out[-1] .= $_;
$f = 1;
next;
}
$f = 0;
next if($_ eq "\n");
$t .= $_;
$i++;
}
push @out,$t if($t ne '');
return @out;
};
#------------------------------------------------------------------
sub split_char{
#------------------------------------------------------------------
my $s = shift;
my $str = shift;
my $ascii = '[\x00-\x7F]';
my $twoBytes = '[\x8E\xA1-\xFE][\xA1-\xFE]';
my $threeBytes = '\x8F[\xA1-\xFE][\xA1-\xFE]';
my @chars = $str =~ /$ascii|$twoBytes|$threeBytes/go;
return @chars;
}
!ヘッドレスchrome
[ヘッドレス Chrome ことはじめ|https://developers.google.com/web/updates/2017/04/headless-chrome?hl=ja]
*"C:\Program Files\Google\Chrome\Application\chrome.exe" --headless --disable-gpu --no-sandbox --print-to-pdf=C:\temp\bar.pdf https://qweer.info/api/menu/menu
*"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --headless --disable-gpu --no-sandbox --print-to-pdf=C:\temp\bar.pdf https://qweer.info/api/menu/menu
!Puppeteer の概要
パペットコアを使用して Microsoft Edge を起動する
https://docs.microsoft.com/ja-jp/microsoft-edge/puppeteer/
!便利リンク
*[CSSの長さ、大きさを表す単位/変換|https://web-designer.cman.jp/css_ref/function/tani/]
*[JSONきれい 〜JSON整形ツール〜|https://tools.m-bsys.com/development_tooles/json-beautifier.php]
!rowspanとcolspanで境界線を非表示にする
[Make border invisible with rowspan and colspan|https://stackoverflow.com/questions/53055413/make-border-invisible-with-rowspan-and-colspan]より
Google Chromeのバグのようですが、疑似要素を使用して必要なビジュアルを用意するというアイデアは次のとおりです。
td {
border-style: solid;
}
.hide-border {
position:relative;
}
.hide-border:before {
content:"";
position:absolute;
top:-3px;
height:3px;
left:0;
right:0;
background:#fff;
}
1
2
3
WANT NO BORDER ABOVE THIS CELL
-----
.leftBorderNone{
position: relative;
border-left-style: hidden;
}
.leftBorderNone:before{
content:"";
position:absolute;
top:0px;
bottom:0px;
left:0px;
width:1px;
background:#fff;
}
!ORACLEのテーブル定義を確認する
https://qiita.com/ohs30359-nobuhara/items/a04637a1f2b26ee34896
SELECT DISTINCT
main.column_name AS カラム名,
main.data_type AS データ型,
main.data_length AS カラム長,
CASE main.nullable
WHEN 'N' THEN '×'
WHEN 'Y' THEN '○'
END AS NULL許可,
sub.constraint_type AS 主キー,
sub.last_change AS 最終更新日,
sub.index_name AS インデックス名
FROM
user_tab_columns main
LEFT JOIN
(SELECT
col.column_name AS column_name,
con.constraint_type AS constraint_type,
con.last_change AS last_change,
con.index_name AS index_name,
con.table_name AS table_name
FROM
user_constraints con
JOIN
user_cons_columns col
ON
con.constraint_name = col.constraint_name
AND
con.table_name = col.table_name
WHERE
con.constraint_type = 'P'
ORDER BY
con.table_name) sub
ON
sub.column_name = main.column_name
AND
sub.table_name = main.table_name
WHERE
main.table_name = :table_name;
!edge ENTER to next
function nextElementFocus(name){
var userAgent = window.navigator.userAgent;
if (userAgent.match(/MSIE/)){
window.event.keyCode = 0x09;
return;
}
var elements = Array.prototype.slice.call(document.getElementsByTagName('*'));
elements.sort(function(a,b){ return a.tabIndex - b.tabIndex;});
var ix=1;
for (var i=0;i= elements.length){
i=0;
ix=0;
}
}
//alert(elements[i+ix].name + "|" + JSON.stringify(document.activeElement));
//elements[i + ix].focus();
//elements[i + ix].select();
break;
}
}
event.preventDefault();
}
!ie->edgeの修正内容
1.scriptXが使えないのでcssでページコントロールを行う。
@page {
size: A4 landscape; /* landscape:横 */
margin: 0px 0px 0px 0px; //side
}
.pageSetting{
margin: 0px 0px 0px 0px; //up /* 上 右 下 左 */ }
*@pageにてtopマージンを小さくしないと日付、タイトル、ページが印刷される。左右のマージンは@pageにて行い、上下のマージンはpageSettinngクラスで行う。各ページは