@Blog
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。

Reactでパスワード生成にバグがあって数値、記号が確実に入らなかったので.
2025.04.22
おはようございます.Reactでパスワード生成にバグがあって数値、記号が確実に入らなかったのでその修正を先日行いました.そういやそうだなってソースコードを見返して思った次第です…
修正したコードはこちらになります.その話とは別にVScodeにもAI補助が付いてから自分も生成AIと言う物を個人開発するときに使用するようになっただけど…
import RingLoader from "react-spinners/RingLoader";
import { useState } from "react";
import "./App.css";
function PasswordTmp() {
const [passwordLength, setPasswordLength] = useState(8);
const [password, setPassword] = useState("");
const [includeSymbols, setIncludeSymbols] = useState(false);
const [includeNumbers, setIncludeNumbers] = useState(false);
function makePassword(passwordLength, includeSymbols, includeNumbers) {
const lowercase = "abcdefghijklmnopqrstuvwxyz";
const uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const numbers = "0123456789";
const symbols = "!@#$%^&*()_+[]{}|;:,.<>?";
let characters = lowercase + uppercase; // 文字のセットを初期化
if (includeNumbers) {
characters += numbers; // 数字を追加
}
if (includeSymbols) {
characters += symbols; // 記号を追加
}
let result = remakePassword(characters,includeNumbers,includeSymbols);
setPassword(result);
}
function remakePassword(characters,includeNumbers,includeSymbols){
let passwords = "";
let NumbersChecking = true;
let SymbolsChecking = true;
for (let i = 0; i < passwordLength; i++) {
const randomIndex = Math.floor(Math.random() * characters.length);
passwords += characters[randomIndex]; // ランダムな文字を選択
}
if (includeNumbers) {
NumbersChecking = passwords.match(/[0-9]/g) ? true : false;
}
if (includeSymbols) {
SymbolsChecking = passwords.match(/[\!@#\$%\^&\*\(\)_\+\[\]\{\}\|;:\,\.<>\?]/g) ? true :false;
}
return NumbersChecking && SymbolsChecking?passwords:remakePassword(characters,includeNumbers,includeSymbols);
}
return (
<>
<div>
<h1>パスワード生成</h1>
<p>
<input
type="number"
value={passwordLength}
placeholder="パスワードの長さ"
max={99}
min={3}
onChange={(e) => setPasswordLength(e.target.value)}
/>
</p>
<p>
<input id={'Symbols'}
type="checkbox"
value={1}
checked={includeSymbols}
onChange={(e) => setIncludeSymbols(e.target.checked)}
/>
<label for={'Symbols'}>記号を含める</label>
</p>
<p>
<input id={'Numbers'}
type="checkbox"
value={1}
checked={includeNumbers}
onChange={(e) => setIncludeNumbers(e.target.checked)}
/>
<label for={'Numbers'}>数字を含める</label>
</p>
<button
className="btn"
onClick={() =>
makePassword(passwordLength, includeSymbols, includeNumbers)
}
>
パスワードを生成
</button>
<button
className="btn"
onClick={() => navigator.clipboard.writeText(password)}
>
パスワードをコピー
</button>
<p>生成されたパスワード: {password}</p>
<p>パスワードの長さ: {passwordLength}</p>
<p>記号を含める: {includeSymbols ? "はい" : "いいえ"}</p>
<p>数字を含める: {includeNumbers ? "はい" : "いいえ"}</p>
</div>
</>
);
}
export default PasswordTmp;
この頃、補完機能がとても「うざったく」思う時と「ありがとう」と思うときが存在していてなんとも言えない.特にウザって思うときは自分が望んでいないコードが出てきた時は正直困る.コードを直打ちしないといけないので今までの補完機能がやはり良いなと思います.
自分としては生成AIの補完機能をOFFに出来る機能がほしいところ、それがあればとてもコードを書くのは快適ですねー.あるのかなぁー🤔調べてみます.
明日へ続く
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
コード, コピー, セット, ソースコード, バグ, パスワード, パスワード生成, ほしいところ, ランダム, 修正, 初期化, 数値, 数字, 文字, 次第, 生成, 補助, 補完機能, 記号, 選択,

Anglesharpというライブラリの話。
2021.03.13
久しぶりに技術的なお話の記事を書きます。AnglesharpというのはC#などでスクレイピングするときにスクレイピングを補助してくれるライブラリで結構人気のあるライブラリなるようです。スクレイピングするコードは下記のようになります。この書き方が至ってシンプルで書きやすいのではないかなと思っています。
var Url = $"https://zip358.com/";
var querySelector = $"#index_post_list > li.clearfix.num1.type1 > div > h3";
var document = BrowsingContext.New(Configuration.Default.WithDefaultLoader()).OpenAsync(Url).Result;
var element = document.QuerySelector(querySelector);
Console.WriteLine($"blogtitle is {element.InnerHtml}");
このライブラリはとても良いのですが、一つ問題があります。スクレイピングするのですが・・・これjavascriptがOFFの状態でスクレイピングされるのですね。どうもこのコードではJSがONにはならないようですね。因みに自分はそのことを知っていなかったのでどハマリしました。大手の検索サイトなどはjavascriptがOFFの状態でも閲覧できるようになっている事を知りました、試しにブラウザをOFFの状態にしてみるとソースコードがかなり違っていてJSのONの状態とは情報が差異がある事が理解できると思います。
Anglesharpのコンフィグ設定(init)でエージェントなどを設定してあげると上手くJSがONの状態をスクレイピングすることが可能なのかもしれません。動画を見る限りではまだかもしれません・・・。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 3, 358, anglesharp, BrowsingContext, clearfix, com, Configuration, default, div, document, element, gt, https, index, li, LIST, new, num, OpenAsync, POST, QueryS, querySelector, quot, result, type, url, var, WithDefaultLoader, zip, お話, コード, シンプル, スク, とき, ピング, ライブラリ, レイ, 下記, 久しぶり, 人気, 書き方, 補助, 記事, 話,
スマホの次は複合現実(mixed reality)ですね。
2020.01.28
複合現実とは何か、現実と仮想との融合だと思ってもらえれば良いかと思います。下記の動画を見ていただけると分かりやすいかも。HoloLens2(ホローレンズ2)というメガネのようなもの装着すると現実と仮想の映像が合わさって表示されるというもの、いまは結構大きな機器を装着しているけれど、最終的にメガネぐらいに軽量になるのではと思っています。
これで何が変わるかといえば、動画に流れているように仕事のアシスタントなどの補助が出来たりする。自分はMR(複合現実:mixed reality)が普及するとエンターテイメントな事に使われたり、新たな広告市場になるのではないかと思っています。スマホの次は間違いなく複合現実なんだと思うけど、これが普及するまではもう少し時間がかかるのではないかと思っています。
先に流行るのはスマートグラスかなという考え、スマートグラスが認知されて来る頃にはホローレンズもかなり改良されているだろうなと感じました。
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, 8, 90, com, e-n, HoloLens, mixed, Mr, reality, xrVXh, youtube, アシスタント, いま, エンターテイメント, くら, これ, スマート, スマホ, ホロー, メガネ, もの, レンズ, 下記, 事, 仕事, 仮想, 何, 動画, 市場, 広告, 映像, 時間, 普及, 機器, 次, 現実, 自分, 融合, 表示, 装着, 補助, 複合, 軽量,
ふん、やんのかσ(゚∀゚ )オレ、やんのか。
2015.04.08
入って一ヶ月ぐらい経ち職場の人との関わりも出てきた頃、営業さんが仕事を取ってきたWEBで検索してゴニョゴニョするシステムを作ってくれとのこと、自分、筆頭に開発して良いとのことだ。先輩方は補助に回るとかで肝となる検索部分を担当することになった!。はいって一ヶ月で無茶ぶりだろと思っていたが一ヶ月後、完成することが出来た。そして、この開発により、もう一人の新人の技量がわかった・・・・。そう、彼はプログラムが組めないのだ(おいらは組めます)。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
web, おいら, オレ, ゴニョゴニョするシステム, プログラム, ふん, 一ヶ月, 一人, 仕事, 先輩方, 営業, 技量, 新人, 検索部分, 筆頭, 職場, 肝, 自動, 補助, 開発, 関わり,
我らクレイジー★エンジニア主義を読んで{数年前に}。
2014.09.18
我らクレイジー★エンジニア主義を読んで思ったことを記載しときます。この本にはクレイジーと記載していますが、クレイジーというよりは異端児と呼ばれている研究者に焦点を当てた本です。ちなみにこの本は2006年に出版{2010年再版されています}されてた本ですが、この本で紹介された研究者達はいま、その分野では有名な研究者になっています。例えば山海 嘉之(さんかいよしゆき)さん、ロボットスーツHALを開発した人です。いまでは介護の補助や歩行の補助など、いろいろな分野で使用されるようになっています。
2006年に書かれた本ですが、いま読んでもためになる本になっています。ちなみに研究に焦点を置いた本ではなく、その人の考え方{哲学的}などを著者がインタビューを通して書かれている本になっています。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
いまいち, インタビュー, エンジニア主義, さんかいよしゆき, ロボットスーツHAL, 介護, 出版, 分野, 嘉之, 山海, 我ら, 数年前, 本, 歩行, 焦点, 異端児, 研究者, 研究者達, 考え方, 著者, 補助,