OmniAICreator/Qiita-1.07M huggingface dataset:
Laravel用ショートリンク作成＆アクセス記録機能を公開しました！！

こんにちは，ご覧いただきありがとうございます。

時間があって暇だったのでショートリンク作成ライブラリを作りました。
投稿が前後しちゃったのですが，ライブラリ作成の初挑戦のものです！

[https://github.com/ikepu-tp/laravel-shorter-url](https://github.com/ikepu-tp/laravel-shorter-url)

## 機能

- 任意のURLについて，自身のドメインでショートリンクの作成
- デバイスやリファラ別にアクセス集計

## インストール

### 1.composerでインストール

```bash
composer require ikepu-tp/laravel-shorter-url
```

### 2.設定ファイルの設定

```bash
php artisan vendor:publish -tags=shorterUrl-config
```

### 3.マイグレーション

```bash
php artisan migrate
```

これでインストールは終了です。
[http://localhost/shorter-url/link](http://localhost/shorter-url/link)にアクセスしてみてください。
登録リンクの一覧が表示されると思います。（空だと思いますが）

## 今後の更新予定

とりあえず公開したという感じなので今後も機能追加していきたいと思います。
よければGithubのスターやフォローをお願いします！
もちろん，プルリクもお待ちしています！！

### 追加したい機能

- APIに対応
- Reactに対応
- アクセス集計の詳細
  - 日時別
- アクセス期間の設定
  - アクセス可能開始日時の設定
  - アクセス可能終了日時の設定
Who Killed （Cock） Robin　ー誰がRobin言語を殺したかー

Power Automate Desktopはrobinという言語で書かれているということで、これを書けばクソみたいなGUIで作業しなくて良いとの情報を得たので、公式ドキュメント等を探しておりましたが、見当たらず、どうやら公式サイト(<https://robin-language.org>)も閉鎖されておりました。

公式のGithubもドキュメントは空っぽいのですが、サンプルコードは生きておりました。
<https://github.com/robin-language/robin>

また、スライドでわかりやすくまとめてくださっている方がいらっしゃいました。
<https://speakerdeck.com/asahi_k2/power-automate-desktopfalsenei-bu-yan-yu-robinnituite>

あと、このかたの記事がとてもわかりやすくて参考になります！
<https://cravelweb.com/rpa/power-automate-desktop/simplified-robin-language-reference-for-power-automate-desktop>

（他にも見つけ次第追加する予定です）

開発言語が跡形もなく消えるという経験が初めてで、驚きました。
Microsoftが買ったならMicrosoftから公式ドキュメントを出してくれていてもおかしくないのにな、と思いつつ、記事を書いてくださっている方たちに感謝いたします。
Laravel用管理者機能を公開しました！！

こんにちは，ご覧いただきありがとうございます。

今回，Laravelにおいて管理者機能があったら便利だなあと思って調べてみたところ，`laravel-admin`や`voyager`が有名どころみたいです。
しかし，これらは高機能すぎて導入するのが少しばかり面倒だなあ…と。
ということで簡単な管理者機能を作りました。

[https://github.com/ikepu-tp/laravel-admin](https://github.com/ikepu-tp/laravel-admin)

## 機能

- 登録ユーザーの中から管理者を設定
- 登録ユーザーの一覧表示

## インストール

### 1. composerでインストール

```bash
composer require ikepu-tp/laravel-admin
```

### 2. 設定ファイルの設定

```bash
php artisan vendor:publish --tag=laravelAdmin-config
```

### 3. マイグレーション

```bash
php artisan migrate
```

### 4.`UserTrait`の追加

`User`モデルに`UserTrait`を追加してください。
```php:User.php
use \ikepu_tp\LaravelAdmin\app\Models\UserTrait;
```

設定が終了したら[http://localhost/admin/users](http://localhost/admin/users)を開いてみてください。
多分，`403`が返されると思います。

### 5. 管理者設定

```mysql
insert into user_grants (user_id,grant) values (`管理者にしたいuser_id`,0)
```

初回は力技ですが，これで管理者機能が付きました。
もう一度[http://localhost/admin/users](http://localhost/admin/users)を開いて見てください。
ユーザーの一覧テーブルが表示されていると思います。

## 今後の更新予定

とりあえず公開したという感じなので今後も機能追加していきたいと思います。
よければGithubのスターやフォローをお願いします！
もちろん，プルリクもお待ちしています！！

### 追加したい機能

- インストールコマンドの追加
  - コンソール上で管理者ユーザーを設定したい
- ルーティングファイルの作成
  - 管理者ルーティングのファイルを編集することで管理者機能を簡単に追加できるようにしたい
MySQLでテーブルを作成する

MySQL Workbenchでテーブルを作成しましょう。MySQLをインストールしている前提で話を進めます。MySQLのインストールはこちら↓

WindowsにMySQLをインストールする

https://qiita.com/aki_number16/items/bff7aab79fb8c9657b62


# スキーマの作成
まずは、スキーマから作成します。

まず、「MySQL Workbench」を立ち上げます。
↓の画面から、「local instance」 を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/37c35d9d-01c2-9948-ff89-e1fcc0113f80.png)

パスワードを入力します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/02ca7012-69ed-43c9-4aff-e670b16ced15.png)

まずはスキーマを作成していきます。
左上にあるスキーマのアイコンを押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/8699f48f-ea92-c5f1-c96b-520411026476.png)

スキーマの名前を入れて、applyを押下します。
↓スクショでは「practice」と入れています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/d1680ea8-d86e-8c95-adcb-7f0dc7ff9b3c.png)

スキーマ作成のSQLが出てくるので、「apply」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/94e04a9b-f556-033f-1908-7e54bfc9d51c.png)

「finsh」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/6b1e81d0-0ec5-570b-976d-842dfde9346e.png)

「Schemas」のタブを押下すると、practiceが表示されていることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/34e9d0b4-ea2c-bb9f-a0b0-6838bae2e767.png)

# テーブルを作成する

作成したpracticeの「tables」の上で右クリックします。「CreateTable…」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/a2c77e15-b570-1636-cafc-01ee68c788fc.png)

「Table Name」にテーブルの名前を入力します。
「Charset/Collation」に「utf8/utf8_general_ci」選択します。
「Engine」に「InnoDB」を選択します。
「Comments」は必要があれば記入します。（スクショでは未入力です）

「Column Name」にカラム名を入れてきます。そして、「Datatype」やカラムの制約（PK、NN、UQなど）を入力します。入力できたら、「Apply」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/b8049250-bcf8-1c29-a67c-79a221f38bf2.png)


SQLが表示されます。ここも「Apply」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/bf7e0d59-1fdb-76b7-4e85-3461bddbdf08.png)

「Finish」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/421ca8c7-e7b5-be2b-0832-d947f51f8bae.png)

これでテーブルを作成することができました。最後に確認をします。

「Schemas」タブで、作成したテーブル（スクショではuser_list）の上で右クリックをします。「Select Rows-Limit 1000」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/b29b7cb4-9687-d609-6559-497bd890e911.png)

selectのSQLと結果が表示されます。値を入れていないですが、idとnameのカラムが表示されていればOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605915/369a224d-0a7e-9b7c-a2d2-30f64470efa3.png)

以上、MySQLでスキーマとテーブルを作成する手順でした。

最後まで読んでいただいた方、ありがとうございました。

# 参考文献
■ITを分かりやすく解説（2022年12月）「【図解】MySQL Workbenchでデータベースを作成する」, https://medium-company.com/mysql-workbench%e3%81%a7%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e3%82%92%e4%bd%9c%e6%88%90/ 2023年8月16日アクセス.
Java 正規表現メモ

# ~~[] ← これは範囲指定の時に使うぞ!~~ ←別にそんなことはないぞ！
```java
Pattern pattern = Pattern.compile("^Hello, ([.]+)$");
String in = "Hello, Qiita!";
Matcher matcher = pattern.matcher(in);
if (!matcher.matches()) return;
System.out.println(matcher.group(1));
```
`Hello, ` の後はアルファベットだけにしたいから `[\\w]+` で......
やっぱり数字も含めたいから `[\\w\\d]+` で.....
あー、でも記号とかも入れられるようにしたいなぁ...
それなら `.` を代わりに使えば！
`[\\w\\d\\-\\+_\\./\\^\\$]+` -> `[.]+`

これで `Qiita!` が表示され......ません！
不正な正規表現パターンだよ！的なことを言われます。
なぜでしょうか。

~~理由は簡単で、 `[]` が複数の条件を持つパターンでのみ使用可能であるからです。
`.` は任意の一文字を表し、`A から Z または 0 から 9` のように複数の条件を持ちません。~~

---

__[修正 @2023年8月17日]__
@PECMM さんよりご指摘をいただきました。ありがとうございます。

> パターン内の [.] は『ドットの1文字にマッチする文字クラス』にならないでしょうか？

なんかおかしいなあと思ってはいたのですが、角括弧を外してしまえばとりあえず動くものにはなるしな......と、原因の追究を後回しにし、誤った解説をしてしまいました。

調べてみると
> [...] は ... のいずれかの文字にマッチします。[...] の中では ^ $ . + * / [ { } ( ) の文字は意味を失います。
>
> [とほほの正規表現入門](https://www.tohoho-web.com/ex/regexp.html)

というような解説が見つかりました。

上記の事柄を踏まえたうえで `([.]+)` というパターンについて再度解説をすると、角括弧の中において `.` は「任意の一文字」ではなく __「`.`そのもの」__ として扱われるので、 `([.]+)` は __「`.` そのものを1回以上繰り返す文字列」__ にマッチする正規表現パターンであることが分かります。

([Regular Expression Test Drive](https://regex-testdrive.com/ja/dotest) にて行ったテストの結果)
![スクリーンショット 2023-08-17 232531.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2403016/b76f1b9b-04c1-9d63-044d-3a630453f761.png)


---

そのことを踏まえて上のコードを修正すると
```java
Pattern pattern = Pattern.compile("^Hello, (.+)$");
```

となります。

```java
System.out.println(matcher.group(1));
// Qiita!
```

上手く表示されましたね！
[Flutter]AWS Cognito Hosted UIでSignInした後リダイレクトはできてもトークンが取得できなかった

# 概要
Flutterでweb開発を行っており、ユーザ認証機能をつけようとAWS Cognitoを用いています。
### 環境
- Flutter 3.10.2
- amplify_flutter: 1.3.2
- amplify_auth_cognito: 1.3.2
- locahlhost:xxxxでホスティングしたローカル開発中

### 問題
ユーザプール作成やHosted UI認証画面の表示まではうまくいっていましたが、SignIn成功後にリダイレクトは成功するものの、リダイレクト後に認証情報を取得できないという問題にぶつかりました。
詳細には説明しませんが、大まかな登場人物は以下です。
```
# Amplifyのconfig
await Amplify.addPlugin(AmplifyAuthCognito());
await Amplify.configure(amplifyconfig);
```
```
# 認証画面の表示
await Amplify.Auth.signInWithWebUI();
```
```
# セッション情報取得
await Amplify.Auth.fetchAuthSession();
```
### 原因
原因はFlutter webのルートUrlが`http://localhost:xxxx/#/`である一方で、リダイレクト時のUriは指定したコールバックUrlにアクセストークンをパラメータとして保持させた`http://localhost:xxxx/?code=yyyyy&state=zzzz`であり、`http://localhost:xxxx/`へのアクセスが自動的に`http://localhost:xxxx/#/`へ再リダイレクトされてしまったために上記のパラメータが失われたためでした。
## 解決
`flutter_web_plugins`の`setUrlStrategy(PathUrlStrategy());`を実行することで、ルートUrlを`http://localhost:xxxx/#/`から`http://localhost:xxxx/`に変更することが可能となり、原因となっていた再リダイレクトを発生させることがなくなり、問題を解消しました。
参考にしたページ→https://note.com/hatchoutschool/n/na16d86f9441e

```
変更前(main.dart)
void main() {
  runApp(MyApp());
}
```
```
変更前(pubspec.yaml)
dependencies:
  flutter:
    sdk: flutter
```
```
変更後(main.dart)
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
void main() {
  runApp(MyApp());
}
```
```
変更後(pubspec.yaml)
dependencies:
  flutter:
    sdk: flutter
  flutter_web_plugins:
    sdk: flutter
```
### 解決策（失敗）
コールバックUrlを`http://localhost:xxxx/#/`に指定すれば原因となったリダイレクトが発生しなくなると考えましたが、コールバックUrlにフラグメントコンポーネントである`#`を含ませることができないとのことでこの解決策は失敗に終わりました。→[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/cognito-user-pools-app-idp-settings.html#cognito-user-pools-app-idp-settings-abou)
パッケージ管理を理解したい

おはようございます！
昨日の記事ではモジュールの概念と現代の開発における影響というようなところを調べました。
webのコンテンツをよりリッチに作れるようになったので、開発が複雑化してモジュール化の重要性やフレームワークの必要性が増したということでしたね。

https://qiita.com/yangyooji1946/items/32541850d97e7e8a0e48

さらに、なぜwebのコンテンツがリッチ化してきたのかというと、その前の回の第二次ブラウザ戦争でブラウザ間の互換性が進み開発がしやすくなったことや、ブラウザの性能が上がったことでJavascriptのポテンシャルを存分に活かせるようになったことなどがありましたね！

https://qiita.com/yangyooji1946/items/703ef69d4502fb92d5ea

今日からはモジュールの続きとしてパッケージ管理について調べていきたいと思います！


### そもそもパッケージ管理とは？

パッケージ管理とは、ソフトウェアのライブラリやツール、**依存関係**などを一元的に管理するプロセスです。開発者が使用するさまざまな**コンポーネント（モジュール）を効率的に取り扱うためのシステム**で、インストール、更新、削除、バージョン管理などの作業を自動化します。

つまり、モジュール化が進んで開発が効率的になっていった一方で、大量のモジュールが生まれるのでそれらを紐付けたり、修正したりという管理が大変になってしまうということが起きました。その課題を解決するのがパッケージ管理ということですね！

なんとなく分かったな気がしますが、「依存関係」がよくわからなかったので解説していきます。

#### 依存関係とは？

依存関係とは、あるソフトウェアが他のソフトウェアに依存している状態を指します。例えば、あるウェブアプリケーションが特定のライブラリやフレームワークを使用している場合、そのライブラリやフレームワークのバージョンが変更されると、アプリケーションの動作に影響を及ぼすことがあります。

この依存関係の問題は、開発が進むにつれて複雑化します。多くのライブラリやツールが組み合わさることで、それぞれのバージョン間の互換性の問題が生じることがあります。特に、大規模なプロジェクトでは、依存関係の管理が非常に困難になることが一般的です。


### 依存関係の問題とその解決策
依存関係の問題は、特に大規模なプロジェクトで顕著になります。多くのライブラリやツールが組み合わさることで、それぞれのバージョン間の互換性の問題や、一つの変更が他の部分にどう影響するかの把握が困難になります。

この問題を解決するために、パッケージ管理システムが登場しました。依存関係の自動解決、バージョン管理、パッケージのインストールと更新などの機能を提供し、開発者は依存関係の問題に悩まされることなく、開発に集中することができます。

依存関係の管理は、ソフトウェア開発の品質と効率を向上させる重要な側面です。適切なパッケージ管理システムを使用することで、開発プロセスがスムーズに進むだけでなく、プロジェクト全体の保守性と再利用性も向上します。

この章で紹介した依存関係の問題とその解決策は、次の章で具体的に説明するnpmの誕生背景とも深く関連しています。npmは、これらの問題を効率的に解決するためのツールとして開発され、現代のソフトウェア開発において欠かせないスキルとなっています。

### npmの誕生とその機能

npm（Node Package Manager）は、JavaScriptのパッケージ管理システムで、2009年に登場しました。依存関係の管理やパッケージのインストール、更新などを効率的に行うことができます。npmの登場により、開発者は手動でライブラリをダウンロードする必要がなくなり、開発の効率が大幅に向上しました。

#### npmの主な機能

1. **依存関係の自動解決**: プロジェクトで使用するライブラリやツールの依存関係を自動で解決し、必要なバージョンをインストールします。
2. **バージョン管理**: パッケージのバージョンを一元管理し、必要に応じて更新やロールバックが容易に行えます。
3. **パッケージの公開と共有**: 自作のパッケージをnpmのリポジトリに公開し、他の開発者と共有することができます。
4. **セキュリティ対策**: パッケージのセキュリティ情報をチェックし、問題がある場合は警告を提供します。

#### npmの影響

npmの登場は、JavaScriptのエコシステムに大きな影響を与えました。開発者が個別にライブラリをダウンロードして管理する手間が省かれ、プロジェクトのセットアップが迅速になりました。また、npmを通じて、開発者同士がパッケージを共有し、コラボレーションを促進する文化が育まれました。

#### 他のパッケージ管理システムとの比較

npm以外にも、Yarnなどのパッケージ管理システムが存在します。それぞれに特色があり、プロジェクトの要件に応じて選択することが一般的です。例えば、Yarnはパフォーマンスの最適化に焦点を当てており、大規模なプロジェクトでよく使用されます。

### まとめ

パッケージ管理システムは、モダンな開発環境において欠かせないツールです。依存関係の複雑な問題を解決し、開発の効率を向上させる役割を果たしています。
npmなどのパッケージ管理システムの理解と活用は、プロジェクトの品質と開発速度を向上させるために重要ということでした！

次回は、パッケージの作成と公開、コミュニティとオープンソースの貢献について詳しく見ていきます。
パッケージ管理システムがどのように開発者コミュニティを形成し、ソフトウェア開発の文化を豊かにしているのか、もう少し詳しいところを見ていきたいと思います！

それでは今日も学習スタートします！
[Swift/UIKit]UITextViewにプレースホルダーをつける（超簡単！）

# 投稿の経緯
前回投稿した↓記事のTextViewにプレースホルダーを追加実装したので記事にします。

プレースホルダーの実装方法を調査すると、少し複雑な方法で実装されている記事が多いと感じました。
今回紹介する方法は`UILabel`を使った簡単な方法なので参考にしていただければと思います。

https://qiita.com/ken_sasaki2/items/4b9abb63f1278c301988

# 実装
プレースホルダー（UILabel）をtextViewに配置する

```ViewController.swift
private func setUpPlaceHolder() {
    let frame = CGRect(
        x: 5,
        y: 0,
        width: 20,
        height: TEXT_VIEW_HEIGHT
    )
    placeHolder.frame = frame
    placeHolder.text = "Aa"
    placeHolder.textColor = .gray
    placeHolder.font = UIFont.systemFont(ofSize: 16)
    textView.addSubview(placeHolder)
}
```

`textViewDidChange`が呼ばれたタイミングでプレースホルダーの表示/非表示を制御する

```ViewController.swift
func textViewDidChange(_ textView: UITextView) {
    if textView.text == "" {
        placeHolder.isHidden = false
   } else {
        placeHolder.isHidden = true
    }
}
```

これだけで実装できます

# 確認動画
![Simulator_Screen_Recording_-_iPhone_14_-_2023-08-11_at_12_20_24_AdobeExpress.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/643372/c8980d46-88e5-1b7c-3010-53748097d097.gif)


# おわりに
今回はUITextViewにプレースホルダーをつける実装方法を紹介しました。
この記事が誰かの役に立てば幸いです。

最後までご覧いただきありがとうございました！
The field "OwnerId" isn't compatible with the SObject element "$Record". "$Record" can't be a SObject.Create_Email_Task (Create Records) - The field "WhatId" isn't compatible with the SObject element "$Record". "$Record" can't be a SObject.


+ [while i am saving the flow i am getting errors - Build a Record-Triggered Flow
](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JgJxzSAF)
+ [I have an issue regarding build record trigger flow](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007DvD3qSAF)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/b01e6981-b197-6745-4480-bff94c085253.png)


:::note
While you're choosing a value, you first click on $Record (It references opportunity underneath) and it has a picture of a globe next to it. Then you have to scroll down to click on the OwnerID that has the symbol Aa next to it. For it to work properly. You also have to do the same thing for the WhatId Value as well.

I'm still learning the exact terminology, but I believe the first OwnerID and AccountID options that show up (that don't have an icon to the left of the name) are considered field options and not values. The OwnerID and AccountID options that show up with the icon Aa next to them, are considered value options and can be used as values in this context.

値を選択するときに、まず $Record (その下にある機会を参照します) をクリックすると、その隣に地球の写真が表示されます。次に、下にスクロールして、横に記号 Aa が付いている OwnerID をクリックする必要があります。正しく動作するように。 WhatId 値に対しても同じことを行う必要があります。

正確な用語についてはまだ勉強中ですが、最初に表示される OwnerID および AccountID オプション (名前の左側にアイコンがないもの) は、値ではなくフィールド オプションとみなされます。横にアイコン Aa が付いて表示される OwnerID および AccountID オプションは、値オプションとみなされ、このコンテキストで値として使用できます。
:::
Autoware をCPUのみで環境構築してチュートリアルを動かすメモ　（2023/7月）

# 概要

Autoware を動かすにはCUDAが必要なため、基本的にはNVIDIAのGPUを搭載したPCが必要になるが、
GPUがないPCで動かせるようにCUDAを使用せずに環境構築してチュートリアルを実行するメモ



# 環境

OS : ubuntu22.04LTS
CPU : 12th Gen Intel(R) Core(TM) i7-12700H


# インストール

## 依存関係のインストール

```bash
git clone https://github.com/autowarefoundation/autoware.git
cd autoware
# CUDA, Nvidia driver, TensorRTをインストールしない
./setup-dev-env.sh --no-nvidia --no-cuda-drivers
```
 
## ROS2パッケージのインストール

```bash
mkdir src
vcs import src < autoware.repos
source /opt/ros/humble/setup.bash
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
```


メモリ不足の問題でcolcon buildが失敗する場合は以下のトラブルシューティングを参照

https://autowarefoundation.github.io/autoware-documentation/main/support/troubleshooting/#build-issues



# チュートリアルの実行

## Planning simulation


Tutorialsページ通りに実行

```bash
source ~/autoware/install/setup.bash
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399606/a9b3b416-a7b1-36cc-bf8c-887fa0fc43f6.png)

https://autowarefoundation.github.io/autoware-documentation/main/tutorials/ad-hoc-simulation/planning-simulation/


## Rosbag replay simulation


perceptionにCUDAを使用しないノードを起動するようにlaunchファイルを変更する


autoware/src/universe/autoware.universe/launch/tier4_perception_launch/launch/perception.launch.xmlを以下のように変更

物体検出をlidar_centerpointの代わりにeuclidean_clusterを使用する

```bash
 - <arg name="lidar_detection_model" default="centerpoint" description="options: `centerpoint`, `apollo`, `pointpainting`, `clustering`"/>
 + <arg name="lidar_detection_model" default="clustering" description="options: `centerpoint`, `apollo`, `pointpainting`, `clustering`"/>
```

信号機検出をtraffic_light_ssd_fine_detectorの代わりにmap_based_traffic_light_detectorを使用する

```bash
 - <arg name="traffic_light_recognition/enable_fine_detection" default="true"/>
 + <arg name="traffic_light_recognition/enable_fine_detection" default="false"/>
```

Tutorials通りに実行

```bash
source ~/autoware/install/setup.bash
ros2 launch autoware_launch logging_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-rosbag vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
```

```bash
source ~/autoware/install/setup.bash
ros2 bag play ~/autoware_map/sample-rosbag/sample.db3 -r 0.2 -s sqlite3
```






![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399606/6d7f2224-be23-c575-08ef-0d12553601b9.png)

https://autowarefoundation.github.io/autoware-documentation/main/tutorials/ad-hoc-simulation/rosbag-replay-simulation/
# 参考

https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/others/running-autoware-without-cuda/

https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/source-installation/


https://autowarefoundation.github.io/autoware-documentation/main/support/troubleshooting/#build-issues
せんせー、人工磁場生成技術ってなに？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/2c47de5a-d81a-78f9-53c1-4d31d8398c36.png)

キーンコーンカーンコーン...
授業が始まります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/be1492ca-910f-2708-d0fa-8fcfcf14af73.png)

せんせー、人工磁場生成技術ってなに？

# 人工磁場生成技術とは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/da229491-9c49-fb7a-a542-417180e256a7.png)

## 磁場って何？

磁場って、磁石がもっている不思議な力のことです。
磁石は、別の磁石を引き寄せたり、押しのけたりする力を持っています。
それが「磁場」と呼ばれる力なんです。

## 人工磁場って何？

「人工磁場」は、人がわざと作った磁場のことを指します。
つまり、私たちが磁石のような力を作ることができる技術のことです。

## どうやって作るの？

人工の磁場を作るためには、電気を使ってコイルと呼ばれる丸い線をくるくると回すんです。
これをすると、そのコイルのまわりに磁場ができます。
電気を使って磁石の力を作り出すのは、まるで魔法のようですね。

## 人工磁場で何ができるの？

人工磁場は、色んなところで使われています。
例えば、電車を浮かせて走らせる技術や、病院で人の体の中を見る機械、宇宙船を守る盾を作るのにも使われるんです。
まるで、スーパーヒーローのような力を持っていますね。

## なぜそれが大切なの？

人工磁場を使うと、新しい乗り物を作ったり、病気を早く見つけて治療したり、
宇宙の危険な環境から宇宙飛行士を守ったりすることができます。
だから、とても大切な技術なんです。

# まとめ

このように、人工磁場生成技術は、私たちが磁石のような不思議な力を作り出して、
その力を使って新しいことをするためのすごい技術なんです。
Spring job memo

~~~Java
import org.springframework.batch.core.Job;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.launch.JobLauncher;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class CommandLineJobLauncher {

    public static void main(String[] args) {
        if (args.length < 1) {
            System.out.println("Usage: CommandLineJobLauncher <jobName>");
            return;
        }

        String jobName = args[0];

        ApplicationContext context = new ClassPathXmlApplicationContext("batch-config.xml");
        JobLauncher jobLauncher = context.getBean(JobLauncher.class);

        Job job = context.getBean(jobName, Job.class);
        if (job != null) {
            try {
                jobLauncher.run(job, new JobParametersBuilder().toJobParameters());
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else {
            System.out.println("Job not found: " + jobName);
        }
    }
}
~~~
オープンソースアプリフレームワークの "Skeet" に Google AI 用の新しいUIを追加、よりカスタマイズが簡単になりました

![TrainSmarterPerformBetter.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780317/a5b29d0d-96e6-0447-d59c-67d80c28cf2f.png)


gm! ELSOUL LABO Co-founderのkishi.solです。

弊社の開発する オープンソースアプリフレームワーク "Skeet" に Google AI (製品名: Vertex AI, モデル: PaLM2 chat-bison)用の 新しい UI を追加しました。

Skeet は GCP (Google Cloud) と Firebase 上にフルスタックアプリを構築できるオープンソースの TypeScript 製サーバーレスフレームワークです。

API サーバーから Web・iOS・Android アプリまでを TypeScript で一貫して超速開発することができます。

この度、Skeet に Google AI 用の UI が追加され、より簡単にカスタマイズした AI チャットボットを作成できるようになりました。

Skeet はオープンソースとして公開されているため、誰でも無料で自由に利用することができます。

たった一つのコマンドで Google AI のカスタマイズ環境を構築し、あなたやあなたのビジネス専用 AI チャットボットを開発、すぐにリリースすることができます。

Skeet CLI (GitHub): https://github.com/elsoul/skeet-cli

## カスタマイズに優れた Google AI

![VertexAIChat1JA.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780317/92e1b2b1-ba69-9da3-d672-2055a01cfa5d.png)


Skeet の新しい UI を使って、特定の分野に特化した AI チャットボットを簡単に作成できます。インプット/アウトプットのペアを提供することで、ボットは業界やビジネスの特定のニーズに合わせて対話を学習します。

![VertexAIChat2JA.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780317/4a9126fd-bf0f-91e4-e567-57b2dfabc731.png)


最初は"Epics"を特定できず、適当な回答を作成していました。

![VertexAIChat3JA.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780317/c6b69437-d426-5a5c-1739-4182bd9d19c3.png)

インプットとアウトプットのペアを追加することで、AI は対話を学習し、より意図に合った回答を作成するようになります。

![VertexAIChat4JA.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780317/7e35b55c-f652-0f3c-0bb2-c41364c62f80.png)


Skeet を使えば、 Google AI (製品名: Vertex AI, モデル: PaLM2 chat-bison) や OpenAI の ChatGPT (モデル: GPT-4 等) を活用したアプリの開発環境をすぐにセットアップできます。動作する状態のアプリから開発をロケットスタートし、即座にリリース、サービスの PMF 検証に進むことができます。

Skeet は世界中すべてのアプリケーション開発現場の開発・メンテナンスコストを削減、開発者体験を向上させるためにオープンソースとして開発されています。誰でも自由にお使いいただけますので、ぜひお試しください。

詳しくは公式ドキュメントをご覧ください。

Vertex AI ドキュメント (Google Cloud): https://cloud.google.com/vertex-ai/docs/start/introduction-unified-platform?hl=ja

Skeet 公式ドキュメント: https://skeet.dev/ja/
iOS 脱獄

https://www.jailbreak-me.info/check-jailbreak/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/6c33f6ba-4a8b-64d3-4169-4ff7c8f0bde8.png)

ダウンロード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/61133546-57cd-8c75-f70a-07715baa490a.png)

クリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/0b254701-8d6b-cfe0-ed24-c5c30f033ad4.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/53199112-dcdf-aabf-8388-d6379c96f5fa.png)


Cydiaと呼ばれるアプリケーションがインストールされます。Cydiaは、ジェイルブレイクされたデバイス用のサードパーティのアプリケーションストアであり、様々なツールやアプリケーションをインストールすることができます。

以上が、ジェイルブレイキングに関するデモンストレーションです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/657a0bef-2b32-67d1-83de-079c6fce4c3f.png)
iOS クロスサイト スクリプティング攻撃 - XSS

ユーザー入力を使用したクロスサイトスクリプティング（XSS）について見ていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/e4ad6d33-e102-13ca-40a7-ba2b9b34ad0c.png)

これらのWebビューはモバイルブラウザでWebサイトを読み込むために使用されます。また、アプリケーション内にコードを書き込み、これらのビューを使用してアプリ内でコードを読み込むこともできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/adf8f489-1692-3f37-0834-b851938c6474.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/e0d99aa4-5631-9828-6eed-f93e8d36d69e.png)

ここでも行ってみましょう。簡単なスクリプトをインジェクトして名前をアラートボックスに表示してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/56843798-226f-3b4c-fc7d-ed7e805da90f.png)
html

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/b3e0220d-2375-b76f-e174-65f9c3899733.png)

「Exploit」ボタンをクリックすると、アラートボックスに名前が表示されるはずです。

さらに、次のようにIframeを使用して外部のWebサイトを表示することもできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/1af4c4f7-a33e-c102-aa5f-bf86ea150a89.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/11571504-0288-0050-b252-75e00746c4da.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/bff9fe06-0cb7-367d-6489-1f62c104acf9.png)

アプリ内から電話をかけることも可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/16a7d93d-115b-89e1-b82f-93c4a4f9e7e6.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/2d41e706-1eaf-d387-baa3-869448f1ee34.png)
iOS SQL Injection

iOSアプリケーションにおけるSQLインジェクションに焦点を当て、正しく実行されないクエリが深刻な攻撃につながる可能性があることを説明します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/6a7dc2c2-3de4-eadd-672e-fe976148f329.png)

登録IDを1に設定し、登録ボタンをクリックすると、「登録が成功しました」と表示されます。

次に、違うユーザー名と「ログイン」をタップしてみましょう。誤った資格情報として認識され、「誤った資格情報です」と表示されます。

正しいユーザー名とパスワードを入力すると、「ログイン成功」と表示され、アプリケーションの機能が正常であることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/2a59123c-281d-c6de-8cc8-8052cd411440.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/9aa88c34-bffe-f803-fea4-abfb783e3468.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/7e7b550a-74f5-2085-b0ab-5c2be3dce06b.png)


続いてSQLインジェクションを試してみましょう。一般的なSQLインジェクションの例として、x or x = x を使用します。これをコピーして貼り付け、ログインボタンをタップします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/34467ce1-db2d-a2a9-ed03-1abf77234f67.png)

正しいユーザー名とパスワードを入力せずにログインが成功します。これがSQLインジェクションの一例です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/615be90c-7b87-0f9c-bf4a-2af68c65f1b8.png)
iOS ロギング

「Insect Tech's iOSアプリケーション侵入テストコース」の別のビデオです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/dd4555a9-a1ee-1c04-99c0-084c092ad349.png)


このビデオでは、意図しないデータ漏洩について説明します。これは以前はサイトチャネルデータ漏洩として知られていました。
アプリケーションがユーザーや他の入力ソースから収集した機密情報を処理する場合、それがデバイス内の安全な場所に配置される可能性があります。しかし、その安全な場所が同じデバイス上で他のアプリケーションからアクセス可能な場合、セキュリティ上の問題が発生する可能性があります。これにより、アプリケーションのコードが攻撃対象となります。

この側面から見ると、iOSアプリケーションの場合、データ漏洩のリスクが生じる可能性があります。例えば、ログ、アプリケーションのバックグラウンド動作、キーボードキャッシュ、クリップボードなどが含まれます。このビデオではログに焦点を当て、次のビデオでは他の側面についても説明していく予定です。

開発中のアプリケーションでは、デベロッパーがデバッグ目的で機密データをログに記録することがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/1ac665e0-7373-1f6f-d4d3-7828a4a1ef00.png)

これにはアプリケーションのワークフローを理解するためや、特定のコード行が正しく実行されているかどうかを確認するためなどがあります。しかし、アプリケーションがログに機密データを記録する場合、そのログが同じデバイス上で実行されている他のアプリケーションからアクセス可能であるため、セキュリティ上のリスクが発生します。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/4125ff6a-8135-1d04-76e3-7f2f52f784e5.png)

これにはアプリケーションのワークフローを理解するためや、特定のコード行が正しく実行されているかどうかを確認するためなどがあります。しかし、アプリケーションがログに機密データを記録する場合、そのログが同じデバイス上で実行されている他のアプリケーションからアクセス可能であるため、セキュリティ上のリスクが発生します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477527/80cee9eb-c680-b6b6-64f3-88697db6c9ee.png)
Ubuntu22.04+dockerで、Pytorch(GPU)環境構築(Windows11)

## はじめに
以下のサイトを参考にしました
動かない部分があったので変更・補足しました

https://qiita.com/nabion/items/4c4d4d4119c8586cbd9e

## 目次
1. [WSL・nvidia-container-toolkitのインストール](#WSL・nvidia-container-toolkitのインストール)
1.1 [WSLのインストール](#WSLのインストール)
1.2 [nvidia-container-toolkitのインストール](#nvidia-container-toolkitのインストール)
2. [docker desktopの設定](#docker_desktopの設定)
3. [作業フォルダの設定&docker+PyTorch環境構築](#作業フォルダの設定&docker+PyTorch環境構築)
3.1 [作業フォルダの設定](#作業フォルダの設定)
3.2 [docker imageのpull](#docker_imageのpull)
3.3 [docker conteinerの作成~入る](#docker_conteinerの作成~入る)
4. [確認](#確認)
## 1.WSL・nvidia-container-toolkitのインストール
### 1.1 WSLのインストール
Microsoft Storeで、"ubuntu 22.04 LTS"をインストール&PCを再起動し、アプリを開く
名前、パスワードなどを入力
### 1.2 nvidia-container-toolkitのインストール
以下の公式サイトの、"Setup the package repository and the GPG key:"の部分を実行

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#setting-up-nvidia-container-toolkit

具体的には、このコードを実行

```bash
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
```
```
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
```
## 2.docker_desktopの設定
ここからdocker desktopのインストール

https://www.docker.com/products/docker-desktop/

次の設定が忘れがちで、他のサイトでも省略されていた
![スクリーンショット 2023-08-17 033017.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2610305/c8d8010d-debf-df9f-3bcc-e413fb941916.png)

docker desktopを開き、右上の設定マーク(歯車)→Resources→WSL integration
で、チェックマークを押し、入れたバージョンのトグル(?)スイッチをオンにする
(これを行わないと、WSL内で"docker not found"となる)

## 3.作業フォルダの設定&docker+PyTorch環境構築
### 3.1 作業フォルダの設定
```
cd 作業フォルダのパス
pwd
```
により、出力されたパスをメモしておく
例えば
```
/home/user/workspace
```

### 3.2 docker_imageのpull
cudaのバージョン確認をするため、以下を入力
```
nvidia-smi
```
このようなものが出るので、"CUDA Version: ~"の部分の数字をメモ
![スクリーンショット 2023-08-17 035532.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2610305/72a08688-b787-20fe-075a-49fe6034b4ae.png)

ここから、"CUDA Version: ~"の部分の数字に一致したもの(devel)のコマンド(docker pull ~)をコピーし、入力(10分以上かかる)
※少し下のVersionでもOK


https://hub.docker.com/r/pytorch/pytorch/tags


### 3.3 docker_conteinerの作成~入る
コンテナを作成するため、以下のコマンドを打つ
※"pytorch/pytorch:2.0.0-cuda11.7-cudnn8-devel"の部分は、"docker pull ~"の部分
※my_envは、コンテナ名で、好きな名前で構いません
```
docker run --gpus all --ipc host -v /home:/home --name my_env -it pytorch/pytorch:2.0.0-cuda11.7-cudnn8-devel /bin/bash
```
コンテナの起動
```
docker start my_env
```
コンテナに入る
```
docker exec -it -w /home/user/workspace my_env bash
```
## 4.確認

```
nvidia-smi
```
![スクリーンショット 2023-08-04 223602.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2610305/dd9b65ff-fcf9-b466-5f42-be17e09fb75c.png)
2023/8/17主にITとかセキュリティの記事

テンセント社中国語入力ソフトに深刻なセキュリティの脆弱性(8/15)
https://www.epochtimes.jp/2023/08/167710.html

アプラスをかたるフィッシング、件名「＜重要＞【APLUS】ご利用確認のお願い」などの不審なメールに注意(8/15)
https://internet.watch.impress.co.jp/docs/news/1523747.html

フィッシングによるインターネットバンキング不正送金被害急増(8/15)
https://scan.netsecurity.ne.jp/article/2023/08/15/49814.html

Appleのマルウェア報告ツールは「簡単に」バイパスできるとの指摘(8/15)
https://gigazine.net/news/20230815-apple-malware-flagging-tool-easy-bypass/

ビジョナリーHD、「個人情報漏洩並びに不正利用の可能性のお知らせとお詫び」について発表(8/15)
https://www.nikkei.com/article/DGXZRSP660767_V10C23A8000000/

北朝鮮のハッカー、ロシアのトップミサイルメーカーに侵入(8/15)
https://www.epochtimes.jp/2023/08/167651.html

米が対中規制強化　AI・半導体への投資で大統領令(8/15)
https://news.yahoo.co.jp/articles/03dca3e51a360bf2222fb7754046b8566d228e20?source=rss

生成AIに｢無限に抜け出せない催眠術｣をかけた結果...(8/15)
https://www.gizmodo.jp/2023/08/chatgpt-google-bard-hypnotized-bad-code-advice.html

キーボード音から9割以上の確率でパスワード推測　AIがオンライン会議中に(8/15)
https://www.zaikei.co.jp/article/20230815/733724.html

ユーチューブのショート動画もＴｉｋＴｏｋのように青少年に有害、米国で懸念の声(8/15)
https://www.donga.com/jp/home/article/all/20230815/4358275/1

投票機器に不正アクセス、選管職員を脅迫…160以上の犯罪行為　トランプ前米大統領を4回目起訴(8/15)
https://www.tokyo-np.co.jp/article/270413?rct=world

Android アプリ「リクナビNEXT」にアクセス制限不備の脆弱性(8/15)
https://scan.netsecurity.ne.jp/article/2023/08/15/49815.html

セレクト地域短信 DX実態調査の結果公表 デジタル人材不足が課題(8/15)
https://ab.jcci.or.jp/article/86098/

Active Directoryを標的とした攻撃手段を知り、セキュリティの強化を(8/15)
https://news.mynavi.jp/techplus/article/20230815-2746094/

IntelのCPUに発覚した新たな脆弱性、Downfallについて(8/15)
https://qiita.com/rana_kualu/items/d1ce09874c5f9b03c555

分散型SNSのマスアダプション目指す、Web3ソーシャルプロトコル「CyberConnect」とは？(8/15)
https://www.neweconomy.jp/features/kudasai/331523

バックアップ戦略「3-2-1ルール」で陥りがち、よくある7つの間違い(8/15)
https://news.mynavi.jp/techplus/article/20230815-2746106/

グーグル、放置アカウントの削除についてユーザーに通知開始(8/15)
https://japan.cnet.com/article/35207807/

自分の個人情報が裏で販売中かも？ 「Google One」の「ダークウェブ レポート」を試す(8/15)
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1522430.html

エレコム製およびロジテック製ネットワーク機器に複数の脆弱性(8/15)
https://scan.netsecurity.ne.jp/article/2023/08/15/49813.html

中国に「マイナンバー情報500万人分が大量流出」の深刻度。Google日本元社長が厚労省を猛批判のワケ(8/15)
https://www.mag2.com/p/news/582279

議事録と音源まで改竄…「マイナンバー500万人分が中国に流出」は、こうして闇に葬られた(8/5)
https://gendai.media/articles/-/114358

500万人のマイナンバー「中国流出」の口止めに支払われた2億5000万円の血税(8/15)
https://gendai.media/articles/-/114348

「日の丸LLM」に挑む(8/16)
https://xtech.nikkei.com/atcl/nxt/mag/nc/18/080700372/080700001/

世界のIT支出は増え続ける　ITサービスとソフトがけん引(8/16)
https://xtech.nikkei.com/atcl/nxt/mag/nc/18/020600008/080700147/

海底ケーブルに盗聴・切断リスク　金融取引や遠隔手術に影響も(8/16)
https://xtech.nikkei.com/atcl/nxt/mag/nc/18/092400133/080700114/
統計学　学習メモ

# はじめに
はじめまして。Zlowと申します。
データサイエンティストを目指して勉強中です。
この記事には統計2級を取得するために学んだ事のアウトプットを記していきます。 
せっかくなので手書きノートを張り付けるのではなく、マークダウンでの数式を書く練習もしていきたいと思います。
参考サイト：[統計WEB](https://bellcurve.jp/statistics/ "統計WEB　https://bellcurve.jp/statistics/")
***
## 最小二乗法
単回帰式$y = \hat{a} + \hat{b}x$の偏回帰係数$\hat{a},\hat{b}$を求める方法
$x_i$における実際の値と回帰直線上の値の差を残差$e_i$とし、
残差の二乗和が最小となる$a,b$を求める。
$$\sum_{i=1}^{n}{e_i}^2 = \sum_{i=1}^{n}(y_i - a - bx_i)^2$$
より、両辺を$a$,$b$でそれぞれ偏微分し0となる式を作り、2式を連立することで以下を得る。
$$\hat{a} = \bar{y} - \hat{b}\bar{x}$$
$$\hat{b} = r\frac{S_y}{S_x} $$

## 決定係数
$y$の分散のうち$x$によって説明される割合を決定係数という。
回帰式の精度を示す指標として使われる。
$S^2_{y \cdot x} = \sum_{i=1}^{n}(y_i - \bar{y}_{xi})^2$とすると、決定係数$R$は以下のようになる。
$$R^2 = \frac{S_y^2 - S_y^2._x}{S_y^2}= 1-\frac{S_y^2._x}{S_y^2}$$
このとき、回帰直線$y$が最小二乗法で求められている場合
$$R=r　(rは相関係数)$$
をみたす。

また、$R^2=0$のとき$x$が$y$を全く説明していない。（$y$を決定するにあたり$x$は無関係である。)
一方$R^2=1$のときすべてのデータが回帰直線上に位置し、$x$が完全に$y$を決定している。
Glideの機能メモ

## はじめに
2022年7月にGlideが大幅アップデートされたことを受け、よく使う or 便利であろう機能をメモ形式でまとめておきます。

## 情報の入力時にプルダウンから選択させる
スプレッドシートで「メイン」シートと「プルダウンさせたい情報」のシートを用意する。
プルダウンシートの方に、項目を入力しておく。

![画像](https://i.gyazo.com/d65b6f320da43e91870791f4664fd9ca.png)

Glide画面を開き、①`Add`　-> ②`COMPONENTS` -> ③`choice` を選択

![画像](https://i.gyazo.com/e3877344b9d8b6a89e8c101903297991.png)

画面右側の`Source`から「プルダウン」シートを選択すれば、完了です。

![画像](https://i.gyazo.com/b048f61761cd8bbde974dd7c9c8f6b7f.png)


## ユーザーが追加した情報のみ、本人に表示させる
### 1. Glideの公開方法
`Settings`から`Privacy`へ移動し、公開方法を`Private`にしておく。

### 2.　スプレッドシートの準備
下記のようにシートを整えました。
「メール」の項目が**必須**となります！

![画像](https://i.gyazo.com/25cfe1cb3427d175c6dbc011118e28b3.png)

### 3.　データ入力時のメールアドレスを設定
①Addボタンを押す
②COMPONENTSから`メール`を選択
③`Default Value`から④`User Profile`を選択
⑤`Email`と設定し、提出する

![画像](https://i.gyazo.com/b38a5c68948d675c835d9a4ce8981e4e.png)

これでログインしたアカウントからメールアドレスを取得して、入力されるデータに自動的にメールアドレスが記載されるようになりました。

### 4. フィルターを設定
メインに戻り、画面右側の`Options`にある`FILTER DATA`を`メール is signed-in user`に設定します

![画像](https://i.gyazo.com/d2c5188aa142c4119348279428b921f1.png)

上記までの操作が終了したら`Publish`します。

### 5. 別のメールアドレスでアクセス
公開したリンクに、アクセスします。
アクセス権が必要となるので、要求すると、Glideを作成したメールアドレスに連絡が来ます。
`Grant app access`を押すと承認されます。
承認されたメールアドレスごとに、表示されるデータを区別することができるようになります。


## 事前にスプシに数式を埋め込む際のTips
- `=IF(ISBLANK(), , function)`
    - 第二引数に`""`と空文字を入れてしまうと、Glide側がデータが格納されていると認識
    - 数式がある下の列に、Glideからのデータが入力されてしまう
    - 
(2023/08/17追記)

## 1度公開したアプリを取り消す方法
- 背景
    - Glideの仕様上、無料枠だと3つのアプリが公開可能です
    - テストしているうちに無料枠を使い切ってしまうことがありました
- 方法
    - `Settings` > `Privacy` > 下へスクロールし`Unpublish`を押すだけです
    - そのアプリが公開されていない場合は、右上が`Share`ではなく`Publish`と表記されます

![スクリーンショット 2024-01-02 16.21.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1622645/fa9790fe-d7fc-0fc8-96f6-baf50e39c52d.png)

（2024/01/02追記）

## おわりに
Glide関連で学んだことを、適宜こちらにアップデートしていきます。
最終編集：2024/01/02
日本語言語モデルが公開されたのでサクっとPower Automateで試してみているなう

# はじめに
こんばんは。
出戻りガツオ🐟です。

知人の凄い方が下記の記事をシェアされていました。

https://engineering.linecorp.com/ja/blog/3.6-billion-parameter-japanese-language-model

なんと **LINEのNLP Foundation Devチーム**から日本語言語モデルが発表されたとのこと！

とりあえずどんな感じなんだろ?ということで調べてみました。

:::note info
2023.08.16でわかった分の検証結果です。
:::

# japanese-large-lm（ジャパニーズ ラージ エルエム）
最大の特徴は**日本語**であることですよね。

下記のページに、このような記載があります。

https://huggingface.co/line-corporation/japanese-large-lm-3.6b

> **Tokenization**
We use a sentencepiece tokenizer with a unigram language model and byte-fallback. We do not apply pre-tokenization with Japanese tokenizer. Thus, a user may directly feed raw sentences into the tokenizer.

https://qiita.com/tmitani/items/e520e0a085c9e4ee69ed

https://note.com/npaka/n/nef4730f305bc

上記のブログなどでも確認しましたが、やはり日本語をAIに解釈させるうえで、
**前段階で処理の手間がかかっている** ということが伺えます。

日本人同士でも何言っているかわからないときがあるので仕方ないですね。

句読点の場所で意味が全く変わる文章もありますし。

:::note warn
品のない文章しか思い浮かばないので、言及しません。
:::

## 試すためには

https://huggingface.co/line-corporation/japanese-large-lm-3.6b

上記のページのコチラ↓

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/33c0766a-2207-63a3-42a3-e6f26cc3a8c5.png)

こちらでText Generateを試すことができます。

**Power Automate推しなので、とりあえずサクっとPower Automateでもやりましょう**

# API Keyの取得

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/64ce9c0e-6aca-acc9-eca7-588d1e66ed81.png)

[ Deploy ] > [ Inference API ]こちらをクリックし、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/1cee7a05-e223-59f3-eb79-6b55c4a03c6b.png)
 
赤線で伏せているボタンから、**トークン**を発行します。
**絶対に漏らしてはいけないやつです。**

そして上の画像のURL 
[ https://api-inference.huggingface.co/models/line-corporation/japanese-large-lm-3.6b ]
こちらもPower Automateで使う部分ですね。

:::note warn
今回紹介している内容は無料のプロトタイプの方法という点にご注意ください。
:::

# Power Automateで実装する。
**作成** は、戻り値を見るためだけのアクションです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/6de90279-1b7a-c565-cda0-a59d06bed8df.png)

「変数を初期化する」のアクションは、API Keyを格納している文字列変数の格納です。
肝となる**HTTP**の部分をサクっと紹介します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/051f386e-1607-9391-b7e1-3db0bbf16e3f.png)

|項目|値
|---|---
|方法|POST
|URI|https://api-inference.huggingface.co/models/line-corporation/japanese-large-lm-3.6b

ヘッダーは下記の通りです。

|Key|Value
|---|---
|Authorization|Bearer {API key}

本文
```json
{
  "inputs": "@{triggerBody()['text']}"
}
```

`inputs`のvalueが、Text Generateで使う`プロンプト`に該当します。

戻り値は
```json
[
  {
    "generated_text": "{作成された文字列}"
  }
]
```

となるので、面倒な方は

```yaml
body('HTTP')[0]?['generated_text']
```
上記で文字列だけ取得できます。

パラメーターや詳細な設定は、要研究ですね🧐

# さっそく実行!

入力した文字列は`日本の大きい山は`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/84f81423-dd7e-9438-495b-9cb650064173.png)

**衝撃的な速さ**ですね。
**361ミリ秒**

質問に対して、値を返すという部分の検証が未達ですが、事前トークン化の過程で
`日本語が如何に大変か`如実に表しているな...と勝手に解釈しました。

**このような研究を進めてくださっている研究チームに感謝です**✨
せんせー、宇宙エレベーターってなに？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/2c47de5a-d81a-78f9-53c1-4d31d8398c36.png)

キーンコーンカーンコーン...
授業が始まります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/be1492ca-910f-2708-d0fa-8fcfcf14af73.png)

せんせー、宇宙エレベーターってなに？

# 宇宙エレベーターとは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/da229491-9c49-fb7a-a542-417180e256a7.png)

## 宇宙エレベーターって何？

宇宙エレベーターは、地球と宇宙をつなぐとても長〜いロープのようなものです。このロープにエレベーターがついていて、それに乗ると宇宙まで行けるんだよ！
どうしてエレベーターで宇宙に行くの？

宇宙に行くには、いままでロケットを使っていたけど、ロケットはとても大きな音を立てて飛んでいくの。でも、エレベーターなら、静かで安全に、ゆっくり宇宙まで行けるからすごいんだよ。

## それはどれくらい長いの？

このエレベーターのロープは、とてもとても長いんだよ。地球から月まで届くくらい！想像するだけでわくわくするね。

## どうやって作るの？

宇宙エレベーターを作るには、すごく強くて軽い素材が必要なんだ。大人たちは、この素材を作るために一生懸命考えたり、実験したりしているよ。

## 宇宙エレベーターで何ができるの？

宇宙エレベーターができたら、宇宙に新しい家を作ったり、宇宙で新しい発見をしたり、宇宙の美しい星々をもっと近くで見ることができるようになるよ。

# まとめ

このように、宇宙エレベーターは、地球と宇宙をつなぐすごく長いロープのようなもので、それを使って人々が宇宙に行けるようになる、とってもすごくて夢のようなものなんだよ。
List of known Issues of Secure Hardware Extensions, AUTOSAR 971, R23-11. FO

AUTOSARが2023年版、R23-11を公開しました。
https://www.autosar.org/fileadmin/standards/R23-11/FO/AUTOSAR_FO_TR_ListOfKnownIssuesSecureHardwareExtensions.pdf

R22-11
https://www.autosar.org/fileadmin/standards/R22-11/FO/AUTOSAR_TR_ListOfKnownIssuesSecureHardwareExtensions.pdf

R21-11
https://www.autosar.org/fileadmin/standards/R21-11/FO/AUTOSAR_TR_ListOfKnownIssuesSecureHardwareExtensions.pdf

R20-11
https://www.autosar.org/fileadmin/standards/R20-11/FO/AUTOSAR_TR_ListOfKnownIssuesSecureHardwareExtensions.pdf

R19-11
https://www.autosar.org/fileadmin/standards/R19-11/FO/AUTOSAR_TR_ListOfKnownIssuesSecureHardwareExtensions.pdf

文書は検索してダウンロードできます。
https://www.autosar.org/


<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words in order.

# Release Overviews
AUTOSARには現在3つの分類があります。Foundation, CAN OSEK/VDXのClassic Platform, Ethernet/TCP/IP POSIXのAdaptive Platform.

Foundation Release Overview, AUTOSAR 781, R23-11, FO
https://qiita.com/kaizen_nagoya/items/f249bdb8c313d8bff883

Classic Platform Release Overview, AUTOSAR No.0 ,R23-11, CP
https://qiita.com/kaizen_nagoya/items/9d22c8722cbc0f42b137

Adaptive Platform Release Overview, AUTOSAR 782, R23-11, AP
https://qiita.com/kaizen_nagoya/items/13a104606a34fe24fcf7

# Qiita 記事一覧
Autosar Foundation R23-11 一覧
https://qiita.com/kaizen_nagoya/items/c30674cb2dac2fcbbd04

AUTOSAR Adaptive Platform R23-11一覧
https://qiita.com/kaizen_nagoya/items/1dece8799a730367b0dc

Autosar Classic Platform R23-11 一覧
https://qiita.com/kaizen_nagoya/items/f770f6c2906e1dcbf180

# 文書変更(Document Change) 

>• No content changes

# 用語　
なし　
# 参照　
なし　

Glossaryも掲載しましょう。
https://www.autosar.org/fileadmin/standards/R23-11/FO/AUTOSAR_FO_TR_Glossary.pdf



## 補足資料（Additions）
祝休日・謹賀新年：2024年の目標
https://qiita.com/kaizen_nagoya/items/b659d922327a7dcdc898

2023 Countdown Calendar 主催・参加一覧
https://qiita.com/kaizen_nagoya/items/c4c2f08ac97f38d08543

CountDownCalendar月間　いいねをいただいた記事群　views　順
https://qiita.com/kaizen_nagoya/items/583c5cbc225dac23398a

Countdown Calendar 2023, 百記事目を書くにあたって。
https://qiita.com/kaizen_nagoya/items/45185a04cfd88b71256a

1年間をまとめた「振り返りページ」＠２０２３
https://qiita.com/kaizen_nagoya/items/bcd1ebd49d3a9e8c7a90

AUTOSAR 文書番号
https://qiita.com/kaizen_nagoya/items/8b894228a0b76c2265c7

AUTOSAR Countdown Calendar 2023
https://qiita.com/advent-calendar/2023/autosar

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.
# 文書履歴(document history)
ver. 0.01 初稿 　20240102
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
#### Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.
題材一覧

この資料はllmの前処理または後処理で用いる題材の一覧です♪

LLM設計者以外は読み飛ばして下さい。

求めるか　文字飛び

最後　統計と確率　文字飛び

色彩の美学
自己記事　岩波数学辞典　確率論及統計論bocsg handbook

履歴　qiitaengineer mfesta ロゴ　2023.2021. カジュアル面談
iso IECを WTOロゴ

専用の　特別な

30点を目指す

wto TBT ISO https gpt

見え方　usl改行

自己参照は後ろへ

試行錯誤　合わせる

とくいかいと自動生成をつける

書いた後の反省事項　
ヘルプマーク　
四色覚　
資料分割

特許、意匠を追記予定

下げカラーフィルターだんさげ
作成過程の開示　
ver0.01 0.10

関連資料　
カジュアル面談　
取締役
確率論及統計論輪講　

四色覚の人の見え方をさんしきかくの人が理解できるか　
四色覚の方の作品を評価、データ採り



規格の根拠あ　
パリ条約　
WTO TBT 
日本産業標準化法　

特許、意匠


三つの書き込み

https://qiita.com/kaizen_nagoya/items/8dcba90a52a10880ec3b

去年のfesta
ダブル受賞　
url二つ


見え方を前に

鉄道安全　表紙

youtube xyz happy
箱庭　図を入れる
数学辞典　
素数
haop hazop
せんせー、機能性タンパク質デザインってなに？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/2c47de5a-d81a-78f9-53c1-4d31d8398c36.png)

キーンコーンカーンコーン...
授業が始まります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/be1492ca-910f-2708-d0fa-8fcfcf14af73.png)

せんせー、機能性タンパク質デザインってなに？

# 機能性タンパク質デザインとは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/da229491-9c49-fb7a-a542-417180e256a7.png)

まず、タンパク質って何？というところから始めます。

## タンパク質は、私たちの体を作る材料

みんながよく食べるお肉や卵、豆腥などに含まれているのがタンパク質です。
これが私たちの体を作ったり、壊れた部分を修理したりする役割をしています。

## タンパク質は、実は小さな工具のようなもの

タンパク質は、実は私たちの体の中でとても大切な「工具」のようなものです。
これがないと、体の中の色んな作業ができません。

## 機能性タンパク質デザインって何？

機能性タンパク質デザインは、このタンパク質を自分たちの思い通りの形や機能に作り変える技術のことです。
つまり、新しい「スペシャルな工具」を作ることができます。

## どうやってデザインするの？

これは、大人たちがコンピュータを使って、タンパク質がどんな形になるか、
どんな動きをするかを考えながら、新しいタンパク質をデザインします。
まるで、お絵かきをしているように、パズルを組み立てるように楽しい作業です。

## できた新しいタンパク質は何に使うの？

この新しく作ったタンパク質は、病気を治す薬にしたり、
環境をきれいにするためのツールとして使ったり、新しい食べ物を作るのに使ったりします。
まるで、スーパーヒーローのように、世界をより良くする力を持っています。

# まとめ

このように、機能性タンパク質デザインは、私たちの知識と技術を使って、新しい「スペシャルな工具」を作り出す、とても面白くて大切な作業なんです
[ポエム][小ネタ]タスクのバッファと取り方とパーキンソンの法則

こんにちは。Kaneyasuです。

お盆の間にこちらの本を読みました。

[プロジェクトのトラブル解決大全　小さな問題から大炎上まで使える「プロの火消し術86」](https://amzn.asia/d/5KBkjjs)

いろいろと感じるところはあったのですが、その中でバッファの取り方に関する部分が刺さりました。

>極限のトラブル対応状態では、どれだけバッファーを作り出せるかが勝負の分かれ目の１つです。図に、チームＡとチームＢの作業計画があります。チームＡは作業タスクごとにバッファーを計画しているもの。チームＢは、１つひとつのタスクからバッファーを排除し、すべてのバッファーを一番最後に持っていくスケジュールです。どちらのチームのほうがすべてのタスクを早く終わらせられるでしょうか？理由とともに考えてみてください。答えはＢです。理由は、バッファーというものは子供のお小遣いと同じだからです。つまり、各メンバーにバッファーを与えると、それをすべて使ってしまうのです。チームＢの計画はバッファーをチーム全体で計画しています。どれかのタスクで遅延が発生してバッファーの一部を使うことはありますが、バッファーのすべてを使うことはありません。

木部 智之. プロジェクトのトラブル解決大全　小さな問題から大炎上まで使える「プロの火消し術86」 (Japanese Edition) . Kindle 版.

こちらですね。
この「各メンバーにバッファーを与えると、それをすべて使ってしまうのです。」という考えはパーキンソンの法則と言われる考え方です。

# パーキンソンの法則とは

https://ja.wikipedia.org/wiki/%E3%83%91%E3%83%BC%E3%82%AD%E3%83%B3%E3%82%BD%E3%83%B3%E3%81%AE%E6%B3%95%E5%89%87

- 第1法則
仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する
- 第2法則
支出の額は、収入の額に達するまで膨張する

タスクの予定工数には十分に余裕を持たせたのに、なぜかギリギリになった・・・。
そんな経験はないでしょうか？私はあります（汗）

人は追い詰められないと本気にならないので、バッファはどうしても食い潰してしまう。
そういうことですね。
このことを知らずに、タスク毎にバッファーを設ければ、ただ工数が膨らむだけの結果になる。
ですから、バッファは最後にまとめて設けておくべきというのが、というのが冒頭の書籍の主張ですね。

# なぜタスク毎にバッファを設けてしまうのか

そもそも、なぜタスク毎にバッファを設けるのか？
私の経験からすると、これは、リーダーが楽をするためだと思います。
この工数に収まる形で実装してくれ！あとはよろしく！の方が指示する側としては楽です。
バッファのない工数だと、順調に進まないとすぐ工数オーバーするので丁寧なフォローが必要になると・・・そのように思ってしまいます。

だが、このパーキンソンの法則によるこのバッファの設け方は意味がありません。
そして、メンバーの成長の機会に奪うことになりかねません。
普通にやればバッファを使うことなく終わらせられそうなタスクを、余裕を持たせた振り方をしてるわけですから。

# あらためて考えるバッファの設け方

再びこちらの本の話戻ります。

[プロジェクトのトラブル解決大全　小さな問題から大炎上まで使える「プロの火消し術86」](https://amzn.asia/d/5KBkjjs)

まず、最後にまとめてバッファーを用意するというやり方は賛成です。
各タスクはバッファーのない通常の工数にするべきだと思います。
各タスクが普通の工数に収まるよう努力する方向に仕向けないと、チームの成長はないでしょう。

加えて、私個人としてはバッファを最後にまとめて用意するなら全体で共有のバッファであることを説明しようと思います。
最後にまとまったバッファがあるので、いざとなったら全体がズレるだろうと思われるのはちょっと違うかなと。
誰かが遅れれば、バッファとして用意していた工数と期間が消費され、他の人が使えるバッファが減るという説明はした方が良いと思います。

少々性悪説っぽいので嫌な考え方ではありますが。

# [余談]だれでも完了させられる工数にすべきか？

昔、上司から「新卒でも完了させられる工数で見積するべき」と言われたことがあります。
今考えれば、この考え方は流石に違うと思います。
全体的に「新卒でも完了させられる工数」で工数を見積をするのは流石に盛り過ぎだし、お宅の会社には新卒レベルしかいないのか？と思われかねません。
この時の上司の発言は不安から来てると思うので、リーダーの方はメンバーの立ち上げプランとか、設計上の課題と対策などを説明して安心してもらい、無意味なバッファは避けるよう努めたいものです。
せんせー、バイオフィルム制御技術ってなに？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/2c47de5a-d81a-78f9-53c1-4d31d8398c36.png)

キーンコーンカーンコーン...
授業が始まります

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/be1492ca-910f-2708-d0fa-8fcfcf14af73.png)

せんせー、バイオフィルム制御技術ってなに？

# バイオフィルム制御技術とは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194265/da229491-9c49-fb7a-a542-417180e256a7.png)

まず、バイオフィルムって何？って思いますよね。
バイオフィルムは、微生物（ちっちゃい生き物）たちが集まって作る、ぬるぬるとした膜のことです。
これが水道のパイプや歯の表面などにできちゃうんです。

では、バイオフィルム制御技術って何かを、3つのポイントで説明します。

## 「ぬるぬるをなくそう！」

バイオフィルム制御技術は、微生物たちが集まって作るぬるぬるした膜をなくす方法なんです。
これによって、パイプが詰まるのを防いだり、私たちが健康でいられるようにします。

## 「特別なせっけんを使おう！」

この技術の一つの方法は、特別なせっけん（抗菌剤とかクリーナーとも言うよ）を使って、微生物を取り除くこと。
これを使うと、ぬるぬるした膜をきれいに洗い流せます。

## 「微生物たちを仲良くしよう！」

もう一つの方法は、悪さをする微生物に代わって、良い微生物を増やすこと。
良い微生物が増えると、悪い微生物がぬるぬるした膜を作るのを邪魔してくれるんです。

イメージとしては、部屋のおもちゃが散らかっているのをきれいにするようなものです。
おもちゃ（微生物）がたくさん散らかっていると、部屋（パイプや歯）が使いづらくなってしまう。
だから、おもちゃを整理して（特別なせっけんで洗う）、
または良いおもちゃだけを残す（良い微生物を増やす）ことで、部屋をきれいにしているんです。

# まとめ

バイオフィルム制御技術は、微生物たちが集まって作るぬるぬるした膜をなくす方法
SpringBootでのHTTPリクエストの確認方法

# 背景
HTTPリクエストを外部からどう受け取っているか確認したい。
特にCORSやCSRFの設定で確認したくなる。
備忘録としての側面が大きいので悪しからず。

# 編集履歴
2023/08/16 投稿

# 本題
```application.properties
logging.level.root=TRACE
logging.level.org.apache.tomcat=INFO
logging.level.org.apache.tomcat.util.net=WARN
```
tomcatのlogging.levelを低レベルにしなければ、高頻度でログが流れるようになってしまうので気をつけること。
Heroku ClearDB の AutoIncrementが4から始まり、10ずつ増える件

# 起きたこと
別記事でもあったように、ClearDBはAutoIncrementが4から始まり、10ずつ増える仕様となっている。

https://qiita.com/s14101500383at/items/4dff8b4a21858566b6c2

https://qiita.com/nsatohiro/items/0458e63c47c3d6ff37d0

自分のSpringboot アプリをデプロイする際も同様なことが起きた。

# 解決方法

DDLファイルに以下のコードを追加した。(今回はschema.sqlの最後に)

https://github.com/ryoshumei/HotelBookingWeb/blob/master/src/main/resources/schema.sql

SET @@auto_increment_increment=1;

これで解決

![qiita.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3533761/40b1c0f2-c7c3-9281-16b6-6264fe4c37c1.png)