内包表記間違えて無駄に時間食ったのでメモ
title_list = ['aca', 'headサロンプリヴェfoot', 'baa', 'aaf', 'ccc']
ngword = "サロンプリヴェ"
clearn_index = [i for i, v in enumerate(title_list) if ngword not in v]
内包表記間違えて無駄に時間食ったのでメモ
title_list = ['aca', 'headサロンプリヴェfoot', 'baa', 'aaf', 'ccc']
ngword = "サロンプリヴェ"
clearn_index = [i for i, v in enumerate(title_list) if ngword not in v]
https://foundation.dogecoin.com/
https://dogechain.info/
https://bridge.dogechain.dog/bridge
1【Alissa White-Gluz from hell 】
https://discord.com/channels/662267976984297473/989268395302223913/1010162637776097442
2【Alissa White-Gluz from hell 】
https://discord.com/channels/662267976984297473/989268395302223913/1010162898900877353
おもろい、ナイスアイデア!
【Ethereum logo Rococo style】
https://discord.com/channels/662267976984297473/989268395302223913/1010163045319856138
なんとなくchrome pluginを作りたくなった。
ブラウザ上のjavascriptでxpathの返値タイプ種別。
devtoolでやると結果が数字で帰ってくるので、定数を見やすくするため列挙。
<XPathResult.resultType>
0: XPathResult.ANY_TYPE
1: XPathResult.NUMBER_TYPE
3: XPathResult.BOOLEAN_TYPE
4: XPathResult.UNORDERED_NODE_ITERATOR_TYPE
5: XPathResult.ORDERED_NODE_ITERATOR_TYPE
6: XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE
7: XPathResult.ORDERED_NODE_SNAPSHOT_TYPE
8: XPathResult.ANY_UNORDERED_NODE_TYPE
9: XPathResult.FIRST_ORDERED_NODE_TYPE
<参考>
https://uhyohyo.net/javascript/10_2.html
devtoolコンソール上でザックリ見るにはmap使えばいいが、js経由で変数代入するとできなくなる。
<devtoolコンソール上での出力>
$x('//div[contains(@class, "roads") and contains(@class, "left")]//*[text()="B" or text()="P" or text()="T"]').map(function(el){return el.textContent}).join("");
<jsでの操作 テスト>
var res1 = document.evaluate('//html', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
console.log(res1.singleNodeValue);
var res2 = document.evaluate('//span', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
console.log(res2.singleNodeValue);
var res3 = document.evaluate('//div[contains(@class, "roads") and contains(@class, "left")]//*[text()="B" or text()="P" or text()="T"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
console.log(res3.singleNodeValue); //type:9
<まともに使える書き方>
var nodesSnapshot = document.evaluate('//div', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
for ( var i=0 ; i < nodesSnapshot.snapshotLength; i++ ){
alert( nodesSnapshot.snapshotItem(i).textContent );
}
日本人が作ってる。
プリプロセッサとしてpythonに型チェック(型推論)をさせる。
<雑感>
☆コンパイル時関数が使えたりと便利!
☆スライス構文があまりしっくりこない(pythonなのにrust構文、いつもの言語障害になりそう)
<日本語版doc>
ドキュメントのNextリンクは扱いずらいので、カーソルキー(←→)を使うか矢印アイコンをクリックする事!
<英語版doc>
<プロジェクト>
https://github.com/erg-lang/erg/blob/main/README_JA.md
変数の再代入が効かないって気になったのでチェック。
rustの所有権管理みたいな事をやるのだろうか?
i = 1
i = i + 1
↑これダメ
気力が無く「可変な状態を保持する機能」を探すのに疲れてしまった・・・
スタイル一覧
かっこいい作例
【Wanderer above the sea of fog, Bloodborne Hunter from back, gnarly trees, Painting, Concept Art, Artstation, Cinematic, Dramatic, Panorama, Cinecolor, 8K, Sunlight, uplight, --q 2 --s 4000 --chaos 13 --w 76】
【a majestic throneroom, at the dawn of time, Glass Paint, Overglaze, Ornament, Time-Lapse, Photojournalism, Wide Angle, Perspective, Double-Exposure, Light, Tones of Black in Background, Ultra-HD, Super-Resolution, Massive Scale, Perfectionism, Soft Lighting, Ray Tracing Global Illumination, Translucidluminescence, Crystalline, Lumen Reflections, in a symbolic and meaningful style, symmetrical --q 5 --s 4975 --chaos 15 --ar 21:9】
【darkness held within a glass sphere】
真似して作ってみた。
地獄から来た和楽器バンドが宇宙にいる。
【wagakki band from hell with 8,into the cosmic】
地獄から来たHIKAKIN
【hikakin from hell,cyberpunk,blue,red】
眼鏡を指定し忘れた。
そしてアヘ顔を作ってみると・・・
流石!!世界的ワード、AHEGAO!
NGワードだった。
Banned word!
The word ahegao is banned. Circumventing this filter to violate our rules may result in your access being revoked.
ahegaoを自作してみる。
【Only her eyes look up, Laughing and drooling with his mouth wide open,shedding tears. making a peace sign with both hands.】
追記:ドワーフとレッドドラゴンを戦わせようとしたら、大失敗。
どっかにカッコいい例で、神に立ち向かう戦士みたいなのがあったから、それを参考にしないと・・・
【A dwarf with an axe confronts a red dragon】
重みづけしないとダメだな・・・
red dragon::1,dwarf::0.5とかやればいいのか?
ドワーフとドラゴンがまざっちゃってるので、完全に分離しないと・・・
あとドラゴンを見せたいので、一番最初に指示するべき。
次はまぁまぁうまくいった。
気に入られて、誰かが勝手に高解像度化したw
【A warrior challenging God】
4パターン
高解像度1
高解像度2
画像を与えて、カッコよくする例
【https://s.mj.run/j94H525sQ-Q star wars dark lich】
失敗例、ハローキティ―はわかるけど、クロミを知らない。
何パターンかやったけど、sanrio kuromiは人間になってしまう。
【hello kitty playing with sanrio kuromi, cartoon style】
【hello kitty horror realistic】
失敗例、坂本冬美を知らない、無駄にカッコいい画像。
【sakamoto fuyumi,dancing,cinematic lighting,cyber punk】
まぁまぁうまくいった例
【Steampunk,4K,sky,city,art deco,airship,skyscraper,16:9,vertical,Super meticulous,Girl with short white hair】
失敗、クロミの画像を与えてみたが、指示が雑過ぎ、自分でも何やりたいか決まってないw
かわいい=猫になるのか・・・
【https://s.mj.run/vbr8G10bJh8 kawaii 】
失敗、クロミの画像を与えて画風しか指示しないと画像を使ってくれない。
【https://s.mj.run/vbr8G10bJh8 cinematic light, 8k hyper detailed, high detail, octane render 】
<もの>
こいつが充電出来なくなった。
中身ニッカド電池。
https://www.amazon.co.jp/%E3%83%A4%E3%82%B6%E3%83%AF-SL1LEDS-1WLED%E3%82%BD%E3%83%BC%E3%83%A9%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%88/dp/B0071T6ZWK
<ニッカド電池の代わりにエネループ>
パナの公式見解だと、とりあえず大丈夫。
https://jpn.faq.panasonic.com/app/answers/detail/a_id/18079/~/%E3%83%8B%E3%82%AB%E3%83%89%E5%85%85%E9%9B%BB%E5%BC%8F%E9%9B%BB%E6%B1%A0%E3%81%AE%E3%81%8B%E3%82%8F%E3%82%8A%E3%81%AB%E3%80%81%E3%83%8B%E3%83%83%E3%82%B1%E3%83%AB%E6%B0%B4%E7%B4%A0%E9%9B%BB%E6%B1%A0%E3%81%AF%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F-pz18079
過放電に弱そうな気もするが、とりあえず動けばよし。
昨今のレンタルサーバもモバイル回線キャリアもデフォでIPv6になってきた・・・
ホスト判定してる物が、正しく動かないので困る。
IPv6は事実上、逆引きできない。
10年以上前に逆引きできるようにするってアメリカ人が言ってたのに・・・
<案1 上流でwhoisしてみる>
IPv6のアドレスから地域別のapnicとかianaに問い合わせる。
https://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.xhtml
国の割り当てが変わる度に、問い合わせ先が変わるので注意。
正にこれ!
https://blog.ver001.com/php-ipv6-whois-gethosrbyaddr/
descrに会社名が入るので、それで判別。
地域別のwhoisに問い合わせる手段もあるが、それだとASNが判らない。
ASN2527:So-net
https://www.nic.ad.jp/ja/ip/as-numbers.txt
googleとか複数のASN持ってるので、ASNで判断するのは無しで!
<案2 辞書を持つ>
GeoLite2のCSVから判定する。
1ヶ月に1回データ更新の必要があるけど、無駄な通信しないのは良い。
ただし、辞書が23Mぐらいあって意外と大きい。
これ走査させるのか・・・どうなんだろ・・・
参考
https://blog.jtc-i.co.jp/2022/04/ssb-csvexport-geoip2lite.html
シート名だと不安要素しかないのでオブジェクト名で出来るように解決したい。
定数としてオブジェクト名を無理やり実装した。
どうしてもシートモジュールに定数を書く必要があった。
その定数は文字列で別のシートモジュールのオブジェクト名を表している。
挙動はSheetType1Inputシートでボタンを押すとSheetType1Logに出力される。
要するに、SheetType1InputとSheetType1Logを関連づける必要があるが、グローバル変数で関連性を定義したくない。
文字列をVBAコードとして実行する必要がある。
下記を参考にしたが、モジュールの追加削除でウィンドウフォーカスが外れて使いにくい。
https://tooljp.com/language/VBScript/faq/E8380BA06EBCCF4E492582E700517660.html
ので改良した。
空のモジュール(ModuleTemp)を先に追加しておく事。
<Excelのセキュリティ設定>
エラー400または以下が出るとき
実行時エラー 1004「プログラミングによる Visual Basic プロジェクトへのアクセスは信頼性に欠けます」
ファイル>オプション>トラストセンター(またはセキュリティ)>トラストセンターの設定>マクロの設定
・すべてのマクロ にチェック
・VBAプロジェクト オブジェクト モデルへのアクセスの信頼 にチェック
<SheetType1Input シートモジュール内>
Const LOG_SHEET = "SheetType1Log"
<標準モジュール内>
Public target_sheet '定数代入用
'===== 文字列変数の内容をコードとして評価して実行する関数です。
Public Sub ExecuteStringAsCode_kai(code As String)
Dim vbComp As Object
Set vbComp = ThisWorkbook.VBProject.VBComponents("ModuleTemp")
'===== 関数を定義 =====
vbComp.Codemodule.AddFromString "Sub tempFunc" & vbCrLf & code & vbCrLf & "End Sub"
'===== コードを実行 =====
Application.Run vbComp.name & ".tempFunc"
Dim line_head, line_foot
line_head = vbComp.Codemodule.ProcStartLine("tempFunc", 0)
line_foot = vbComp.Codemodule.ProcCountLines("tempFunc", 0)
vbComp.Codemodule.DeleteLines line_head, line_foot
End Sub
go1.19になったので、ジェネリクス(go1.18から)をおさらい。
微妙に忘れそうなのでメモ。
<型違いの足し算>
演算子オーバーロードではないけれど、便利
type Addable interface{
int64 | float64
}
func add[T Addable](a, b T) T {
return a + b
}
<type set 派生型(近似)の雑な使い方>
・ダメな例(使い方が厳密)
type struct1 interface{
int64 | float64
}
func func1[T struct1](v T){
fmt.Println(v)
}
func1(int64(v)) //型が厳密
・雑に扱える例
type struct1 interface{
~int64 | ~float64
}
func func1[T struct1](v T){
fmt.Println(v) //型があいまい
}
func1(v)
<インターフェース定義を楽にする>
下記のパッケージに
package constraints
型が用意されてる
type Singed interface{}
type Unsinged interface{}
type Integer interface{}
type Complex interface{}
type Orderd interface{}