技術 のすべての投稿

WP「GDPR Cookie Consent」 で「設定を更新できません。」の対応方法

WordPressのコンテンツでの「GDPR(General Data Protection Regulation:一般データ保護規則)」用プラグイン
CookieYes | GDPR Cookie Consent & Compliance Notice (CCPA Ready)

このプラグインは設定が簡単ですが、「「設定を更新できません。」と出て、更新されないことがある。
WAF(Web Application Firewall)でブロックされている可能性があるので、
WAFのログを確認してください。
「*****/edit.php?post_type=cookielawinfo&page=cookie-law-info」というエラーログが出ていたら、
設定の時だけ、WAFをオフにしてください。設定が終わったら、オンにしてください。

Flutter2インストールメモ(MAC)第1回

Flutter(フラッター)は、Googleによって開発されたフリーかつオープンソースのUIのSDK。
クロスプラットフォームアプリケーションを開発することができる。

今回はMACでのインストール。

1.Flutterダウンロード
https://docs.flutter.dev/get-started/install/macos

MAC OSにFlutterの開発環境を入れる。
ダウンロードボタン「flutter_macos_2.10.0-stable.zip」からダウンロード

2.格納場所に格納
$ mkdir ~/development
$ cd ~/development
「~/Downloads/にダウンロードされているものが、展開されているので、」
$ mv ~/Downloads/flutter ./flutter
$ export PATH=”$PATH:`pwd`/flutter/bin”

3.環境確認
$ flutter doctor
これで何が足りないかをチェックしてくれる。

[×]が出ているものが足りないものなので、入れていく。

4.足りない環境を追加

4.1.1 Android Studioを入れる

[✗] Android toolchain – develop for Android devices
✗ Unable to locate Android SDK.

の表示がある場合の作業

https://developer.android.com/studio/index.html
Android Studio をダウンロード。

Intel チップか、APPLE チップかを選んでインストール。

4.1.2 Android SDK Command-line Toolsを入れる。

Android Studioを起動して、上のメニューの「Preferences 」を選ぶ

Appearance & Behavior > Android SDK
Android SDK Command-line Tools (latest) を入れる。

4.1.3 android-licenses 処理

$ cflutter doctor –android-licenses

ライセンスを承認のメッセージがくるので、yを入力。

4.2 Xcode

[✗] Xcode – develop for iOS and macOS
✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
Download at: https://developer.apple.com/xcode/download/

の表示がある場合の作業

4.2.1 Xcodeをインストール

https://developer.apple.com/xcode/download/では最新がベータ版になっていることがあるので、
App StoreでXcodeの最新版を入れる。インストールには数時間かかるので注意しましょう。

4.3 CocoaPods インストール

$ sudo gem install cocoapods  

4.4 再度確認

$ flutter doctor で[×]がないことを確認。

5 Android Studio 設定

Pluginsを選ぶ、Flutterを選択し、インストール

 

次回に続き・・・

 

 

 

 

地図のオープンデータ「OpenStreetMap」

地図を使ったサービスを考える場合はGoogle Mapを使用しますが、
「$200 usage every month for no charge. That’s 28,500 maploads per month for no charge. 」
(https://mapsplatform.google.com/pricing/?hl=ja)
とあり、有名サイトになった場合には、有料になります。

そこで地図のオープンデータの使用を考えてみよう・・・・
OpenStreetMap(OSM)は、誰でも自由に地図を使えるよう、みんなでオープンデータの地理情報を作るプロジェクトです。
https://openstreetmap.jp
「OpenStreetMapとその協力者をクレジットすれば、データを自由にコピー、配布、送信、利用することができます。変更したり翻案したりしたデータは同じライセンスに従う場合のみ、提供することができます。」

Googleマップのようにマーカーを付けることが可能。
https://www.openstreetmap.org/?mlat=緯度&mlon=経度

弊社の位置だと、こちら。
https://www.openstreetmap.org/?mlat=35.70010&mlon=139.77402

ZOOMしたい場合は、URLに#map=ズームの数/緯度/経度を追加。
https://www.openstreetmap.org/?mlat=35.70010&mlon=139.77402#map=17/35.70010/139.77402

埋め込みも可能。

大きな地図を表示

公開されているGPSトラッキングが見えるので、精度の悪いGPS端末があるとズレることはあるが参考値としてはよいと思う。

弊社秋葉原駅付近のトラッキングデータ。

“Base map and data from OpenStreetMap and OpenStreetMap Foundation”

DX白書2021|ディスラプターの脅威

IPAの発表した「DX白書2021」

2021年10月11日公開 独立行政法人情報処理推進機構 社会基盤センターより
https://www.ipa.go.jp/ikc/publish/dx_hakusho.html

DXの定義が曖昧ですが、IPAとしては
IPAとしては、「IoTから得られたデータを活用し、次に企業として進む方向を検討することができる仕組みを作って、その仕組みで常に変化し続ける(変革する)ことがDXです。」
(引用:「DXってIoTとどこが違うの?」https://www.ipa.go.jp/ikc/reports/mfg-dx-faq0104.html)
とのこと。

DX白書2021の内容で衝撃的なのは、IT、AIなどの日米を各項目で比較しているのですが、
凄いのはアメリカは30%以上が開発技術で「コンテナ/コンテナ運用自動化」を活用している。
日本は9%です。
AI導入はアメリカ44%、日本20%。
日本はDXが遅れていることをレポートでは強調している。

比較表で気になったのはこちらです。
「外部環境変化への機会としての認識」

(引用:DX白書2021)

日米誤差の範囲なのですが、1項目だけ10%以上の影響意識の差があります。
「ディスラプターの出現」の項目です。影響があると考えいるのはアメリカ68%、日本54%。
ディスラプター(disruptor)とは
創造的破壊者で、ここでいう意味は最新デジタル技術を使い旧サービスや市場を破壊的変えるサービスや企業になります。
「Airbnb」「Uber」「Netflix」などがあります。

日本では、卸売仕組みや規制や地域サービス格差がまだある為、意識が薄いと思いますが、
アメリカでは意識される項目になったことがわかります。
「Netflix」でいうと、日本のレンタルビデオは壊滅的影響がありました。

CSS & JavaScript Toolbox で不具合?

CSS & JavaScript Toolbox とはWordpressで使うプラグインです。HTMLやCSSやJAVAスクリプトなどを組み込む時に
非常に便利な機能があるプラグインです。

CSS & JavaScript Toolbox

JAVAスクリプトで<script>と書いて「SAVE」ボタンを押しても、反応になし。
バグ?echo “<script>”と書いても「SAVE」ボタンを押しても、反応になし。
いろいろ調べてみて、バージョンをダウングレートしても同じ反応。
CSS & JavaScript Toolbox が原因ではないのでは・・・・

そうです、サーバ側の「WAF」(Web Application Firewall)が原因です。
Webアプリケーションからの攻撃からサイトを守るセキュリティ対策です。

WAFのログを見ると
****/wp-admin/admin-ajax.php?action=cjtoolbox_api&controller=blocks-ajax&CJTAjaxAction=save_blocks
xss-tag-1 

「xss-tag-1」でアクセスを排除したログが出ているのがわかります。
WAFを無効にすると、「SAVE」ができるようになります。

.htaccess でこのルールを許可できますが、セキュリティ上問題が発生する可能性があるので
慎重に設置してください。
SiteGuard_User_ExcludeSig xss-tag-1

ロール

ロール
(役、役割、役目、役柄、任務)
ロールは一般的には、「管理者」「承認者」「登録者」「ユーザー」などがあります。
WEBのブログですと、「サイト管理者」「編集者」「投稿者(ライター)」「デザイナ」「コメント管理者」
などになります。
IoTでのファクトリ関連ですと、「運営管理者」「生産計画者」「素材管理者」「ライン管理者」「生産管理者」「生産者」などとなります。

役割、権限を設定することにより、機能制限や表示制限を行います。
役割と作業内容を出し、機能や表示の有り無しを表にするのが、システムの要件定義では必要になります。
役割が重複する使用者が発生する場合があるので、しっかり検討してください。

MantisBT 2.24.1 でインストールで文字化け

バグ管理システムMantisBT 2.24.1で順調インストールでしたと思ったら、「検索」や「マイビュー」で文字化け。
一瞬「Warning: 2702 in *****/core/session_api.php on line 227」のエラーがでて、すぐに文字化けしたり、
そのまま文字化けの画面だったり。
文字化け

対応方法、MantisBTをインストールしたディレクトリに
.htaccess ファイルを配置してください。
下記の内容を追記:

#PHP
php_value output_handler none

これで直ると思います。

https://mantisbt.org/

Electric Imp でI2C

Electric Imp でI2Cを動かす方法

下記は参考に書いたサンプルソースで実際に動く保証をするものではありません
——————————————————————
[Device]
——————————————————————

//6軸加速度センサMPU-6050の値を想定しています。
i2c <- hardware.i2cQP;

//最初に、I2Cを使うことを宣言します。
//i2cQPは、使用するI2Cのポート番号です。
//imp004m impExplorer Kitで使用できるI2Cは i2cQPの
//みなので問題ありませんが、
//モジュールや基板によってはポート番号が変わる場合
//がありますのでご注意が必要で

i2c.configure(CLOCK_SPEED_400_KHZ);
//I2Cのクロックを設定します。I2Cのクロックはセンサーの
//仕様に合わせて設定しますが、基本は400KHzで動作します。

local address = (0x68<<1);
//I2Cでアクセスするセンサーのアドレスを指定します。
//今回使用するセンサーはMPU-6050です。MPU-6050のアドレス
//は b1101000 であり、
//16進数で記述すると0x68になります。 ここではI2Cのアドレス
//を8ビットで表記するので、1ビット分左にずらして指定します。
//readとwriteを使ってデータのやりとりを行います。

i2c.write(address,"\x6B\x00");
//MPU-6050のデーターシートより、0x6Bに0x00を書き込むことで
//Resetが解除され使用開始することができます。
//I2Cでのデータのやりとりは文字列で行います。16進数のデータ
//を\x00と表記して記述します。癖がありますが、慣れると書き
//易いです。
//続いて、readですが、

local result = i2c.read(address,"\x3b", 14);
//と記述します。"/x3b"は、読み出したいレジスタのアドレスで、
//その次の14で読み出すデータサイズを指定します。
//これにより、3軸の加速度データとジャイロデータを読み出す
//ことができます。
//その後、センサーより受け取ったデータを Agent Codeに転送します。
agent.send("reading.sent", result);

——————————————————————
[Agent]
——————————————————————

device.on("reading.sent",stream);
//で受け取り、指定したstream関数を読み出します。

function stream(data) {
server.log(data);
}

//これにより、センサーを受け取ったデータを確認することができます。

文・ソース:北神

株式会社アバンドでは、IoTに関するネットワーク開発、ハードウエア開発を行っております。

まずは、お気軽にお問い合わせください。

AWS lightsailでハマるところ一覧

AWS lightsailの初期設定でハマるところ一覧です。

1.MySQL等のパスワードがわからない。

下記のファイルに書いてあります。
/home/bitnami/bitnami_application_password
MySQLだとユーザーはrootです。

2.phpmyadminが見れない。

http://■.■.■.■/phpmyadmin
下記エラーがでる。
For security reasons, this URL is only accessible using localhost (127.0.0.1) as the hostname.
IPの許可記述が必要です。
/opt/bitnami/apps/phpmyadmin/conf/httpd-app.conf のファイルの
<IfVersion >= 2.3>
Require local
にRequire ip ▲.▲.▲.▲
を追加(▲は自分のIP)

3.MYSQLやHTTPの起動用のスクリプトはどこ?

/opt/bitnami/ctlscript.sh
停止
sudo /opt/bitnami/ctlscript.sh stop
起動
sudo /opt/bitnami/ctlscript.sh start
再起動
sudo /opt/bitnami/ctlscript.sh restart
状態確認
sudo /opt/bitnami/ctlscript.sh status

4.SFTPやSSHでハマるとこ

SSH キーペアはこちらのURL(2018年2月19日現在)
https://lightsail.aws.amazon.com/ls/webapp/account/keys

5.時間設定

cp /etc/localtime /etc/localtime.org
sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime