April 20, 2020
PWA
■PWAhttps://digital-marketing.jp/seo/what-is-progressive-web-apps/ https://developers.google.com/web/fundamentals/architecture/app-shell?hl=ja https://qiita.com/kimamula/items/4e25b8d2caca314f9dd2 https://html5experts.jp/osamum_ms/25709/ Service Worker, App Shell Model, PRPL Petternなどを駆使したGoogleが提唱するProgressive Web Apps HTML / JS / CSS だけでほぼ構成、モバイルApp的なWebが提供できる SW(JS)がブラウザとサーバの間に位置し、データを取ったり渡したりブラウザの影/裏側で動く、サーバと考えてしまうと分かり易い? App Shell Modelで側(画面テンプレート)をプッシュしておくと早い(JSレスポンス悪すぎるからコレってな)
PRPLは以下の略 Push: 最初のURLルートに不可欠なリソースを Pushする。 Render: 最初のルートを Renderする。 Pre-cache: 残りのルートをPre-cache(事前キャッシュ)する。 Lazy-load: オンデマンドで残りのルートをLazy-load(遅延読み込み)する。 /// Service Worker 訪問がない状態でのバックグラウンド同期、プッシュメッセージ データの更新を集中的に受信して複数ページがデータの一部を利用(ブラウザにインストールするプロキシ、コンテンツの管理やキャッシュ管理を行える)https://developer.mozilla.org/ja/docs/Web/API/Service_Worker_API https://qiita.com/kei4eva4/items/fa5f99211e45b7ca6f6e →正確にはバックグラウンド同期では無い>periodic background syncはユーザに粘着可で無くなりそう Periodic Background Sync 及び Web を Install するということ | blog.jxck.io スコープへアクセスがあった場合にキャッシュの更新はできる、あるいは syncをオフ時に仕込んでおけばオンライン時にバックグラウンド同期は可能 beacon apiを実行させると離脱時にサーバに通信も可能
Webページとは別にバックグランドで実行するスクリプト(マルチスレッドになると思う) ブラウザでキャッシュ操作ができる、容量もあり強力、データ期限や破棄に注意 DOMに直接アクセスできない ブラウザを開いていなくても動作可能 プログラム可能なネットワークプロキシとして動作可能 HTTPS必須(またはlocalhost) ネットワークに依存しない、早い(阿部寛はもっと早い)、プッシュ通信、ホームに追加 /// プッシュ配信https://liskul.com/push-notification-25520 https://www.fenrir-inc.com/jp/boltzengine/ https://pushnate.com/labs/pushnate/webpush-case-guide
事前のコンセントがなくいきなり「プッシュ通知を有効にしますか」と出てくるのは駄目 ユーザーに何の通知をするかを知らせたい 通知から訪れたときの表示と挙動を決めておく セグメントを分けて送りたい場合はセグメントの情報をどうやってブラウザからたどってくるか スマホではアプリのインストールが必要だが、Webプッシュはブラウザさえあれば通知ができるhttps://webtan.impress.co.jp/e/2018/12/06/31214 通知の許可のダイアログを出す前にダイアログで説明https://push.appirits.com/webpush/
過去評価の高かったボケが、1日1つプッシュ通知で配信 1日1回、時間帯としては「20時前後」に4回に分けて(通常19:50、20:00、20:10、20:20)配信 年末年始やGWだけは、昼と夜に(1日2回) DAUに15〜20%くらい影響がでます。「プッシュしないとアプリを開かない人」が一定数いる アクティブ度、アプリのバージョン、端末のOS、属性(男女)などで、セグメント配信 休眠ユーザーだけにプッシュ1万人に1人くらい(0.01%)しか起動せず難しいhttps://appmarketinglabo.net/bokete-push/
配信方法は現在ではChromはGCMを、FirefoxはSimplePushサーバを利用 受信する端末ごとに異なるメッセージを送るにはGoogle Firebaseが使われる様である https://android.googleapis.com/gcm/send https://updates.push.services.mozilla.com/push/ その許可を得たプッシュのエンドポイントを使用し配信 GCMの場合1度の送信で1000デバイスまで同時に指定できる、FirefoxのSimplePushでは1デバイスでの送信 デスクトップ/Webの場合はデスクトップに通知される(Win10の場合?Win7でも通知が来る)https://qiita.com/zaru/items/f6e821052abb1b18bb0b https://techblog.asahi-net.co.jp/entry/2018/09/28/173705 ここにブラウザのベンダーの提供サービスを通じてとある(モバイルはコレしか) サーバーからブラウザを通じてデスクトップ通知する方法(Push API を利用) – ラボラジアン (laboradian.com)
/// 結局 キャッシュを弄くってオフラインでもゴニョゴニョできる、先読みも可、プッシュ通知も可、モバイルAppぽく →G suiteのOfficeアプリがオフラインでもサクサク、メール受信通知もできるGoogleのG suite用みたいなもんか →PCよりスマホを売りたい、通信量でも儲けたいfbgcp、個人情報を取りたいので、モバイル優先、モバイルっぽくWeb、これはi-modeやね
UR evil.
■どのようにPWA化するのかhttps://techblog.asahi-net.co.jp/entry/2018/07/06/145931 https://techblog.asahi-net.co.jp/entry/2018/08/10/175407 1)Service Worker(PWAで必要な処理を記述するJavaScriptファイル) 2)Manifest(PWAの仕様について記述するJSONファイル) 3)アイコン…ショートカットアイコン、プッシュ通知時のアイコンや起動画面で配置する画像
navigator.serviceWorker.register('/servicew.js').then JSファイルを登録(中に下記を入れ込む) //キャッシュ動作部分 ├addEventListener('install' キャッシュのインストール ├addEventListener('activate' アクティベート └addEventListener('fetch' オフラインでもアクセスの際にクライアントが呼んでキャッシュ取得 //通知部分 ├addEventListener('push で通知を受ける └addEventListener("notificationclick で通知クリック時の挙動 Notification.requestPermission(function(status) { 通知許可は登録JS外でOK
キャッシュはリンク先も保持する?、、、→せえへんけど? ブラウザのURLの鍵アイコンをクリックすると通知許可を含めて設定ができる(デフォルトの確認、許可、ブロック) デフォルトとブロックの時は「Push通知On」のボタンを表示 → ボタンを押すとダイアログで何が通知されるか表示しOKボタンを押せる 許可状態のときは「Push通知Off」のアイコンを表示 キャッシュ優先のsw.jsだと更新ボタンでもキャッシュのまま、Cookieの中のサービスワーカーを削除 Service Workerキャッシュ戦略>保存日はindexedbに置き、HTMLの有効期限は1日にする ※参考まで、なおindexeddbは永続データで大きくなりすぎたら使用に応じて自動的に削られる仕様だったかとhttps://qiita.com/tiwu_official/items/47e8a7c3e6f2d57816d7
https://techblog.asahi-net.co.jp/entry/2018/09/28/173705 受信する端末ごとに異なるメッセージを送るにはGoogle Firebaseが使われる様である
トークンを発行し端末とトークンを紐付け配信サーバに記録 配信サーバでメッセージを作り、個別トークンに対しメッセージ通知 JSONを送るがトークンを持っているもののみ通知が発火?
Notifications APIを見てみようhttps://developer.mozilla.org/ja/docs/WebAPI/Using_Web_Notifications https://developer.mozilla.org/ja/docs/Web/API/Push_API https://developer.mozilla.org/ja/docs/Web/API/ServiceWorkerRegistration/pushManager
モバイルでなくPCへの通知自体はServiceWorkerが不要、下記2ステップでOK(ブラウザに許可を入れるのが必要) Notification.requestPermission(function(status) { 許可を取り var n = new Notification(theTitle,options); 通知を送る カレンダーをサブカレンダー(o)化しPWAでオフライン対応(機内モード) キャッシュするよう指定しても現アクセス分の有効時間のキャッシュの影響か直ぐにはオフライン化はしないようだ(反映に~30分掛かることがある) 一度オフライン時にアクセスしエラーが出た上、ネットワークが回復すると自動にキャッシュされる エラーを出さずに一度通常表示をするだけではキャッシュされなかった アンドオイドでは通知も来る(1:準備ができるとChromeでページが読み込まれます→2:ページを表示できます) ServiceWorker内ではLocalStorageはセキュリティを理由らしいが使えない IndexedDBは使えるらしいが、、、→使えんかった、よく分らん→ラッパー要るやろでOK SWをインスコしたディレクトリへのアクセスでSWが動く、SWJS自体へのアクセスではない PHPでJSを吐いてもOK js_serviceworker.phpとかでheaderをJavascriptとして
https://webtan.impress.co.jp/e/2019/08/26/33636 JavaScriptを使えば、ページをリロードせずにブラウザのURLバーの内容を変更できるのでSPAでも戻るが使える history.pushState(null, "Page 2", "/page2.html"); https://webtan.impress.co.jp/e/2019/09/02/33637 Fetch APIを使用してリクエストをハイジャックしたりレスポンスを変更または改ざん出来る https://qiita.com/propella/items/6500f76c9c1521878a6b https://developers.google.com/web/fundamentals/primers/service-workers?hl=ja SWが分かりやすいServiceWorker, Cache API を使用して 4万件のアセット永続化を試した話 | 株式会社ノックノート (knocknote.co.jp) キャッシュを解析してどれ位まで保持してるか、URL等々も確認もできる if(status ==200 && ok){ //okはtrue/falseが入るが文字にはなれずboolean キャッシュ削除もできるが、Indexeddbで管理をするし、SW1発目ではインスコだけで動作しない等で扱いは手間 Sync(まだ非標準) 通信がオフからオンに変わった時点で発火。バックグラウンドで何かを実施する、indexeddbにデータを貯めオンでサーバに送る等を行う https://qiita.com/horo/items/28bc624b8a26ffa09621 Periodic background syncはメールクライアントの受信ボックス更新のように、バックグラウンドで定期的にタスクを実行 ユーザのIPを定期的に確認しトラックできる安全性、バッテリやリソースやギガ消費などの問題がある AddtoHomeやサイトエンゲージメントが高いや普段使いのネットワーク等で発火が判断される https://blog.jxck.io/entries/2020-04-23/periodic-background-sync.html WORKBOX(google)のsyncは仕様が違う?分からん エクスポネンシャルバックオフ(補足: 最大再試行回数に達するまで、指数関数的に増加する待機時間で操作を再試行する手法 – 1秒、2秒、4秒、8秒、16秒...とシステムに負担をかけない)を採用 syncイベントはユーザがアプリケーションから離れた時にも送られます テスト時はインターネットを遮断するか(オフライン)、ウェブサーバーを落としてください。Chrome DevToolのOfflineモードは使用しないでください!Devtoolのofflineチェックボックスはページからのリクエストのみに影響があります。サービスワーカーのリクエストは成功してしまいます /// 開発上の注意 FetchAPIは404や500エラーをthenで受け取れない JS送り側>サーバ側>JS受け と丁寧に開発を SWからDOMは弄れない→sync全体描画やpostMessageやnew Responseの検討? JSONの値はダブルコーテーションで括る必要がある header("Content-type: application/json; charset=UTF-8"); echo '{ "response": "no data" }'; JSONでレコード数がある場合は[]で括る必要がある echo '[{ "response": "1" },{ "response": "2" }'; PHPではPOSTデータを$_POSTで受け取れるのは「application/x-www-form-urlencoded」又は「multipart/form-data」のみ file_get_contents('php://input')で受け取る $contents = json_decode(file_get_contents('php://input'), true); モバイルだとhttp://でアクセスしているかどうか分かりにくいが、https://でしか動作しない /// mmm キャッシュが強い(失敗すれば手動でCookie/Serviceworker削除、くせ強でユーザに古いページを見せ続けるかも) どの範囲をキャッシュするか、キャッシュページの案内方法(お気に入りに入れる?)をどうするか SinglePageAppなら枠だけキャッシュさせて後は外部JSでいけるが 工夫を考える:転送、外部JS、IFRAME、AJAX、サーバサイド、Refer、new Response等々 データもキャッシュする場合は2パターンかな、Pros cons、データをIndexeddbに持つ形ならモバイルApp的SinglePageApp的 ┏online ┃1)DLしたキャッシュを表示(最新情報が届かない、だが何をキャッシュしているか分かる、サブサイト化でバックアップ用途) ┃ 普段使わないとキャッシュ更新を忘れる、SWがDL中のものを反映し表示するのに時間が掛かる(時々転送やIFRAME系でDL?) ┃2)最新を表示、裏でDLを実施(最新を表示しているので通常利用できる、DL頻度を下げたりProxy/キャッシュで動作が分からないところがある?) ┃ 何をキャッシュしているか不明、(バックアップサイトを持たず一体で便利だが、頻繁にキャッシュ全更新しがち、動作不明なことがある) ┗offline キャッシュを表示 Notification API(デスクトップ通知)デスクトップ通知スケジューラー (bangboo.com) Cache API(スケジュールのオフライン化) https://pimpub.jpn.org/aaaaaa/o/install.php Service worker API - Sync(バックグラウンド同期)オフライン予約システム (bangboo.com)
Posted by funa : 06:00 PM
| Web
| Comment (0)
| Trackback (0)
April 13, 2020
Can't touch this
https://twitter.com/ayapan94/status/1249703657639047168 純銅削りだしアシストフック(つり革触らない)https://twitter.com/hideki0103/status/1249702599344840705 ハイジーンハンド ボタンやノブを触りたないやろ~、つり革もスマホも~ ---------- カッパ寿司食べ放題に行ってきた 回転寿司どれ位食べれるか知りたがったが30皿が精一杯だな 数皿のセットリストからのアンコール+α皿で酢飯を抑えるんだなも 焼肉ライクに行ってきた 一人専用だが狭い、火4で焼き火2で喰うを繰り返す感じか 17時まではご飯お代わり君だった、タレはあっさりで良いが 安いヤツだったが割高か、人気のヤツはどうなのか? 串カツ田中 17:00の食べ放題に行ってきた これだと飲み物が安くならん、30串~40串くらいか にんにくで気分が悪くなったかも
Posted by funa : 11:30 PM
| Gadget
| Comment (0)
| Trackback (0)
April 1, 2020
G Suite -> Google workspace
https://www.softbank.jp/biz/cloud/google/gsuite/ 中途半端に移行するよりGsuite強制だと社員が勝手に使うシャドーITをなくせる
影響力のある社員の抵抗がないように、部長の関心協力→Topからのメッセージ
デモを実施する(利点、コラボレーション、使い方)
戦略・組織の把握>パイロットユーザ(全社員の5%をGoogleガイド)>エバンジェリスト公募>全社
画面や機能がどんどん変わる、また簡単になっていく、カチッと決め打ちはしにくい
Gmail (アーカイブして検索で、容量無制限)
カレンダー (会議スケジューリングのお勧めがある)
Hangouts Chat (1to1かグループでチャット、共同編集、Voiceがあれば電話も、Botも)
ハングアウトMeet (ビデオ通話)
ドライブ (同時編集ができる、ここでドキュメントを作ると相互最新更新)
ドキュメント (Word/PDF/html/txt等読込書出、AIで画像やグラフやデザインをクリックだけで、無制限変更履歴)
スプレッドシート (Excelを変換して使う等
https://support.google.com/docs/answer/9331167?hl=ja )
スライド (ブラウザでプレゼンテーション、PPT等から変換可、オフライン化も可だが問題がありそう)
Currents (Google+社内SNS、フォロー、投稿、サークル、コミュニティ)
フォーム (アンケート、クイズ/テスト、連絡先を含め申し込み欄)
Keep (メモ:音声入力や写真も、リマインダー、Gmailユーザ共有)
Jamboard (ホワイトボード、複数個所やマルチデバイスやGsuite連携)
サイト (一般公開HP、イントラ)
Apps script (aka GAS、マクロ、
https://tonari-it.com/google-apps-script-manual/ )
Cloud Search (Gsuite以外にもコネクタでAWSやMS系、Jira、Sap、Salesforce等も検索可)
Vault (元が消されても全データ保存されている、管理者)
管理コンソール (ユーザグループ管理/SSO/MFA、監査ログ、MDM、セキュリティ系レポート、移行ツール/API/Oauth/OpenID)
https://gsuite.google.co.jp/intl/ja/features/ 無料試用14日間
///Google Admin 管理コンソール
上ナビのタスクにダウンロード等がある
"ダッシュボード" ?
"ユーザ"でリストをCSVでDLし、一括アップロードもできる
メールアドレス確認のメールが来ていた
"グループ"はグループオーナ/管理者/メンバー/組織全体/外部でアクセス管理
"組織部門"をツリー状に作成できる
"リソース管理"でビルディング/会議室/設備等々を設定
カレンダーでの会議室の自動予約キャンセル(使われていない会議室が解放)
"ディレクトリ設定"で連絡先の共有、外部ディレクトリ共有の設定
"デバイス管理"でモバイル/Chromeデバイス/ブラウザ/Googleミーティングハード/エンドポイント/Jamboard
よく分からない
"アプリ"で全ユーザONかOffか/SAMLアプリの追加
"セキュリティ"で2段階認証/アラートセンタ/ルール/PWポリシー/安全性の低いアプリへ接続/PW忘れのアカウント復元/PW強度監視/従業員IDでログイン時本人確認/3rdパーティSSO設定/Android用EMMプロバイダトークン/高度な保護機能/Context aware access/セッション時間/Cloud ConsoleとCloud SDKのセッション/OAuthのユーザーデータへのACL/API許可
"レポート" ?
"お支払い"で課金の管理、ユーザ数x費用/ドメイン登録費用/G Suite Enterprise/Voice Standard/Cloud Identity
"会社プロフィール"で管理者ID/サポート連絡先/タイムゾーン/即時か計画リリース/Googleからのお知らせ/ロゴ設定/追加ストレージ/コンプラ連絡先/データリージョン米か欧/会社自体のアカウント/カスタムURL
"管理者ロール"で特権/ヘルプデスク/サービス/ユーザ/モバイル等の権限者を設定
"ドメイン"でドメイン契約の設定/他のドメインで使用するためのドメインのホワイトリスト
"データ移行"でO365/Exchange等のメール/カレンダ/連絡先を移行できる
"サポート"でチャットできる
どうやってサポート?リモート?ファイル共有はできるのか?
ファイルが保存されているかどうか分かりにくい
保存が遅い場合も、待ってもう一度確認、全ての操作が記録されているはず
Gmailヘルプ
https://support.google.com/ ?
各アプリでもヘルプ?があるので確認できる、FAQみたいなのも表示される
設定ギア>ここでほぼ設定している
Gmail
迷惑メール/削除したメールは、[ゴミ箱] に 30 日間保存され、その後完全に削除
メールはスレッドにまとめられ[削除] するとスレッド全体が削除
Gmail で使用できる検索演算子
https://support.google.com/mail/answer/7190?hl=ja 不要ラベル、Keyラベル等を付けて移動してもいいかも?
マイドライブ
組織内でもグループ内でもWeb公開もURLでも編集やコメントも細かく共有設定ができる
ファイルとしてDL、それをマイドライブにアップしG suite化できる
ドキュメント
提案モードで修正→ツール>編集の提案の確認orチェック で承認ができる
スライド
プレゼンター(マウス↓でメニュー表示、ノートや質問)、オンラインプレゼンは不可
コレクション
+のURLのみ集められる?モバイルやPCは駄目かも
Keep
メモの共有を外部にするとメールが送信
カレンダー
デスクトップ通知は各種許可設定があり調べよ、Chromeの機能 chrome://flags/#enable-native-notifications
何をサルベージできるのか不明:メールログ、Vaultで削除ファイルは見れる?
G-suiteはオフラインでも使える
管理者側設定:許可設定
ユーザ側設定:オフライン許可設定
O365とのプロコン
G-suiteは少し安い、使用が簡単だがプア、共有や共同編集に優位、オフラインで機能が弱い
■Gmail 自動振り分け(迷惑メールのブロック)
設定ギア>全て表示>フィルタ関連のタブ 含むの項目使いやすい(特殊文字を省いて半角スペース区切りでキーワード網羅がいい、subject等は括弧や特殊文字で思うように行きにくい)
各項目間はAnd条件:あいうえお かきくけこ
各項目でORやAND指定ができる:あいうえお OR かきくけこ
覚えておきたいGmailの絞り込み条件指定方法|フィルタ利用時には検索演算子を使おう (keizokuma.com) フィルタや自動化ルールで正規表現を使用する - 検索広告 360 ヘルプ (google.com) gmailのフィルタ機能は超便利 - 愚鈍人 (hustle.ne.jp) ■Google spreadsheet
Googleスプシのvlookupは一番左の列のみしか検索しない仕様
■Google Form
回答で保存先スプレッドシートを指定できる https://www.infact1.co.jp/staff_blog/webmarketing/43713/
■GAS
doPostとdoGetが使えるがほとんど何もできない?
GASをWeb公開して実行(doPostとdoGet) | アンクルエンジニアの気づき (uncle-atsushi.com) ■Googleデータポータル(データスタジオ)
ディメンション:未集計の値、指標を出す項目
指標(metrics):集計、sumとか、ディメンションを計るという位置づけ
データを統合:複数の表を各種joinする
フィルタ:ディメンション等の条件で絞る
コントロール:プルダウン等の操作系を作る、適応するには適応したいものを含めて、配置>グループ
事前にScheduledQueryでBQに表を日次で整備しておく等もあり
表の指標に先月とのdiffを計算 ROUND(costThisMonth - NARY_MAX(costMonthAgo, 0), 0) ヌルぽなら0に変えて引く
棒グラフは期間のディメンションにperiod、ディメンションにperiod、指標にcost等でsumになる、並び替えをperiod
デカい表でもデフォルトのデータソース更新は12時間ごとで使用に耐えるかも、joinもできそうで中間テーブルを作る意味はどこにある?集計やカラム数の調整のパフォーマンス向上はどれほど?
→サマって中間テーブルを作った方が制御やパフォーマンスが良い(無いとつらい)
→固定値等の素のデータをDataStudioは扱えないと思われ、SQLで定義しバッチでDB table保存しておくこと(viewはダメぽ)
■Zapier
IFTTTみたいなやつ、アプリ間連携が簡単にできる
ドキュメントがあるのかないのか、全然見つからないので自分で検証が必要、簡単だが手間
少し値を変えれば保存されるので弄る前にコピーをしコピーを弄る
Zap上のGoogleSpreadsheetのIDは行番号を含む行作成時のユニークID、他の行が削除され行番号がずれるとIDが取得できなくなる、RowID(他の行が削除されても参照が維持される)かRowNumber(行番号で再度他のカラムで検索すれば新たに参照可)を使いたい
■Slack
ChannelにJoin
スレッド返信(@メンションを付けた方がいい?)
リアクションでアイコン返信
メッセージ編集や削除
ブックマーク
ダイレクトメッセージ:
新規メッセージで相手を選んで送信
@メンションを付けてチャンネルに投稿するメッセージとは異なる ```で挟むと囲み線、`で囲むと囲み線で赤字 うまくいかんときは文字を選択し右クリックで</>□等で
>>>を付けると引用
検索オプション in:channel from:userid ナビを常時表示:サイドバーopen(?)
https://dekiru.net/category/service-software/slack/
Posted by funa : 12:01 AM
| Web
| Comment (0)
| Trackback (0)
March 28, 2020
恐慌からの脱出方法
ピケティ『21世紀の資本』たまむすびhttps://miyearnzzlabo.com/archives/63853
ニューディール政策で金持ちに税金 第二次世界大戦の時には90%に 1960年ぐらいまでいろんな形でずっと再分配して「中流」というものが生まれた
フォードは共産主義が嫌いだった、一般の給料の2倍以上にし 労働者を中流にすることで、余裕を持って車を買う消費者にした
1980年ぐらいまで日本って金持ちに対する税金は最高で75%だった 大企業に対しては法人税は50%だった だから、日本は1970年ぐらいに「1億総中流」って言われた 2006年以降長者番付は発表されてない
金持ちばかりが金持ちになって、貧乏人にはいつまでたっても貧乏のまま 強制的に国が法律でそれを平等にするように力をかけなければ絶対に中流は生まれない 富の再分配をするしかない
モノポリーって大恐慌の時に破産した人が作ったゲーム 起業家が暴走して勝手なことをやり続けると完全な独裁になってその人以外の経済活動が全部潰されてしまう
倍の差をつけたらどうなるか?っていう実験をこの映画の中ではする 最初からどんどんどんどん物件を買える人と全然買えない人に分かれる 絶対に逆転が起こらない で、逆転が起こらない状態でゲームをしている人はどうなるかっていうと、 最初から倍のお金をもらった人が、最初からお金をもらっていなかった人をバカにするようになる サディスティックにいろんな不動産とかを買って、最初にお金を持ってなかった人を追い詰めていくような態度を取る
3年間にダウ平均1.5倍ぐらい 1億円を持っている人はそれが1億5000万円になっている 1億円を持っている人は何もしなくても、年収が1600万円 ----------- 貯蓄は善行、投資も善行とすると→金融や不労所得自体は悪ではない? 大企業も金融や投資で利益を上げる、周りがやっていると参加せざるを得ない 何が駄目か→格差が駄目である、適切に再分配 本業回帰 ----------- ニューディール政策 国家が市場を統制して人々を保護し、また公共事業を積極的に推進して雇用を創出 「金本位制」を停止 政府が通貨を発行する「管理通貨制度」 預金者を保護するための「連邦預金保険公社」の設立 銀行を安定して経営するために証券と分離させる「グラス・スティーガル法」 「農業調整法(AAA)」を制定 農業生産量を政府が管理 「ワグナー法」を制定し、労働者の「団結権」「団体交渉権」「ストライキ権」 市場原理を重視する大企業などの反発 後世の研究者たちからも、不況脱出の決め手とはならなかったという指摘がある 世界恐慌前の水準を超える決定打となったのは、アメリカの第二次世界大戦への参戦と
Posted by funa : 02:47 PM
| Column
| Comment (0)
| Trackback (0)
March 1, 2020
CSS Grid
Gridは悪名高いテーブルレイアウトと考え方がまるで同じ CSSの方が糞であったであろう、テーブルこそが発明でしょうに、セマンティック? containerにdisplay: grid か flex か table を指定するので直接の要素には混在不可、入れ子なら可https://ics.media/entry/15921/ ■CSS gridhttps://qiita.com/kura07/items/e633b35e33e43240d363 https://qiita.com/kura07/items/486c19045aab8090d6d9 ページ全体のレイアウト、グリッドレイアウト コンテナを作り、グリッドに名前を付けて、割り当てる <section class="container"> <div class="visual">(メインビジュアル)</div> <div class="number">(数字)</div> <div class="expression">(テキスト)</div> <div class="other">(3枚の写真)</div> </section>
.container { display: grid;
grid-template: "visual number expression" 1fr "visual other other" 220px / 40% 120px 1fr; }
.visual { grid-area: visual; }
@media (max-width: 800px) { .container { grid-template: "visual visual" 100vw "number expression" 1fr "other other" auto / 120px 1fr } }
■Flexboxhttps://www.webcreatorbox.com/tech/css-flexbox-cheat-sheet https://qiita.com/junya/items/7762da8052d86462f232 縦横揃え、可変サイズ、でも複数配置が駄目、1行の並び justify-content align-items flex-grow flex-shrink
.container { display: flex; justify-content: center; align-items: center; } ■display: table / display: table-cellhttps://techacademy.jp/magazine/19415 https://app.codegrid.net/entry/css-table-1 https://www.yoheim.net/blog.php?q=20150102 https://nxpg.net/blog/tech/?p=10764 CSSのvertical-alignが効かない縦並び(display:gridの中にdisplay:tableの中にdisplay:table-cell) #container{ display: grid; grid-template-rows: 25px 1fr; grid-template-columns: 300px 1fr 200px; } #column_right{ grid-row: 2; grid-column: 3 / 4; display: table; } #area{ background-color: #eee; width: 150px; height: 150px; text-align: center; display: table-cell; vertical-align: middle; } <div id="container"> <div id="navi_left">...</div><div id="navi_right">...</div> <div id="contents">...</div><div id="area">...</div> </div>
■Float テキストの回りこみ .leftBox { width: 45%; float: left; } Floatレイアウトhttps://www.bangboo.com/cms/blog/page_18.html Padding/Float/Height100%の問題https://www.bangboo.com/cms/blog/page_184.html ■object-fit 画像の比率 img { object-fit: cover; } .image1 { object-position: 30% 40%; }
■その他 spanタグにline-heightを設定しても行間は設定できない、display:block;を追加するか親で設定する ボックス要素のセンタリング(中のテキストは左寄せ) <div style="width:500px"><div style="text-align:left; display:inline-block;"> https://qiita.com/KAMEch/items/b52c5e23212b8fef81a7 https://www.granfairs.com/blog/staff/centering-by-css
リストのマーカの位置に迷った ulのpadding-leftが外側からマーカの右側迄の距離で15pxとかは必要 liのpadding-leftはマーカの右からから先頭文字までの距離で0px等で良い https://maku77.github.io/web/layout/list-margin.html
2019見直したいCSS,Javascripthttps://speakerdeck.com/tonkotsuboy_com/2019nian-madenijian-zhi-siteokitai-cssjavascriptfalseshou-fa
Posted by funa : 03:03 AM
| Web
| Comment (0)
| Trackback (0)
January 21, 2020
Update your home page
そもそも下手糞魂、
BRF BANGBOO のトレーナを思い出したわSince 1992
■Web系通信系
/// WebRTC
リアルタイムにブラウザ間P2Pで送受信
ウェブブラウザ間のボイスチャット、ビデオチャット、ファイル共有が可能
/// Service Worker 訪問がない状態でのバックグラウンド同期、プッシュメッセージ データの更新を集中的に受信して複数ページがデータの一部を利用https://developer.mozilla.org/ja/docs/Web/API/Service_Worker_API →下記PWAで詳しく
/// Fetch API jsのXMLHttpRequestに変わる非同期通信の手段、ServiceWorkerで使われる
/// Beacon API window.onunload/window閉じる際に非同期HTTP通信を確実実行するAPI 統計情報等 ■PWA Progressive Web Appshttps://www.bangboo.com/cms/blog/page_333.html ■ユーザーエージェント(UA)凍結・非推奨https://forest.watch.impress.co.jp/docs/serial/yajiuma/1229968.html https://anond.hatelabo.jp/20200120125002
■文化を屠殺するhttps://b.hatena.ne.jp/entry/s/anond.hatelabo.jp/20200311165317 ■堕落したウェブはまだ直せるhttps://japan.cnet.com/article/35133798/ 表示はHTMLでやり、処理はサーバー側でやる 表示はメディアであり、処理はコンピューティング、そういうタイプで ==========
https://twitter.com/ken1kuroyama/status/1220258901850869760 トライアルは乗ったことがないが、コレは分かりやすいな
ヒザを緩めてから足ピンしながらチンコをハンドルに擦り上体反るんやな
MXとは逆やからこういうムーブは普通体が反応せえへん、
Posted by funa : 12:20 AM
| Web
| Comment (0)
| Trackback (0)
January 1, 2020
Blender
■3DCG Blender
モデリングのチュート
配列複製、テキスト
マテリアルノード(複数適用)、バンプ(マテリアル画像で凸凹感を出す)
テクスチャペイント、UVマッピング(由来はuv座標から
ライティング、カメラ、レンダリング
アニメーション、キーフレーム
▼ペアレント(親は土台となり子のみ動く)、原点(間接)、ボーン、パーティクル(エフェクト)、物理演算
基本はオブジェクトモードで形を作りマテリアルで色/テキスチャ、編集モードでモデリング
オブジェクト選択>プロパティ>マテリアル新規>色や透明度やミラーを設定する
オブジェクト選択>プロパティ>テキスチャ新規>Type→Image or movie>マッピングやコーディネイトで設定する
マウスホイールを押しながらマウス 視点を回転
マウスホイール 視点の前後移動
Ctrl+マウスホイール 視点の左右移動
Shift+マウスホイール 視点の上下移動
オブジェクトモード>右クリックでオブジェクト選択>下メニュ矢印(移動、回転、変形)、3色矢印をドラッグして操作
編集モード>Shift+右クリック ポイント選択追加
Ctrl+左ドラッグ なげなわ選択
下メニュ選択(頂点、辺、面)
C 選択モード
A 全選択
B 選択(矩形)
H 選択オブジェクトを非表示に
Alt+H 非表示を再表示に
X 削除
G 移動(Grab
S リサイズ(Scale
R 回転(Rotate
Shift+D 複製
Shift+A オブジェクト追加
E 進展
F 面/エッジ
Ctrl+Lclick 頂点追加
Ctrl+R ループカット
I キーフレーム追加
ショートカットキー
http://cg.xyamu.net/Blender/entry26 オブジェクトモード>右クリックでオブジェクト選択>プロパティ>モデファイア追加>Array(配列複製になりオブジェクトが沢山あるように見える)
AddでTextを追加 > Editモードで文字修正ができる(日本語はテキストエディタで入力しBlenderにコピペが必要) > プロパティのFontパネル: Fとなっているところ>Font>RegularやBoldにaxis等の日本語フォントを選択すると日本語がでる
とりあえずaを入れるとカーソルの位置が分かる
プロパティ>Font>押し出し(Extrude)>厚みが出せる
BlenderレンダーからCyclesレンダーに変えると、つや消しのディフューズ/光沢/グラスと簡単選択可らしいが
標準レンダーならプロパティ>マテリアル>透明度やミラーで調整する
オブジェクト選択>下メニュテキスチャペイントモード>ペイントスロット追加>色等を設定>筆で書く
>下メニュUVイメージ編集モードで展開でペイントも可能
ノーマルマップ(法線マッピング)で凸凹≒バンプマッピング :服のしわを追加したり
ライトはオブジェクトモードでSun/Spot等複数追加できる
カメラは左メニュCreate>Add:Cameraで追加し焦点距離
下メニュView>Cameraでカメラ視点のOnOff(下メニュでRenderedやMaterial:作成中を切り替える)
LuxRenderだと切り抜きで書き出せるらしいがBlenderRenderしか使えないので、背景色等を入れ込んでから切り抜くしか
オブジェクトを選択>Iでキーフレームを追加(LocationやRotate毎)>タイムラインから別のフレームを選択し、オブジェクトを動かし>Iでキーフレームを追加(LocationやRotate毎)
Iを押してもメニューが出ない場合はキーフレームセットでLocation等を選択する
カメラは座標で移動させたほうが楽
https://blender-cg.net/key-frame-animation/ 書き出し
プロパティ>レンダー>出力やフレーム期間等を設定>レンダーのRenderやAnimationボタンを押す(下メニュのImageで保存も可?)
開始フレームと終了フレーム、保存場所、ファイル形式を必ず事前に設定
終わったら3Dビューに戻す
https://blender-cg.net/image-output/ 旧バージョン blender-2.77a-windows64.msi
https://download.blender.org/release/Blender2.77/ データの互換性はなさそう
「イカソーメン、F★ckは秋葉で嫌がらせされたからだイカソーメ~ン」
■背景と被写体を混ぜる
Lightwave > Photoshop/Remove.bg > Blender > Clip studio > (Photoshop)
=========================
■自宅でリモートミーティング あるいはライブYoutuber
携帯でSkype(Webカメラを持っていない、現デジカメはWebカメラとしては使えない、実況等はキャプチャボード等を使用しているらしい)
ライティングのスタンドとアンブレラでバックグラウンドを設定(毛布でも大丈夫)、ちょいキッチンより
携帯はセルフィ三脚で左側に置く
Posted by funa : 01:12 AM
| Column
| Comment (0)
| Trackback (0)
November 22, 2019
Cloud 9
無料でクラウドを喰らう AWS https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc GCP https://cloud.google.com/free/docs/gcp-free-tier?hl=ja Azure https://azure.microsoft.com/ja-jp/free/ あくまでインフラだな、ソフトウェアレイヤーの人は自分でやる必要あるのか?マネジドでリソースが足りてると余計 ================================= ■AWS VPC(仮想Privateクラウド)>ELB(ロードバランサ)>EC2(仮想サーバ)x2>ElastiCache(インメモリ)>RDS(RDBZ)>S3(ストレージ)>Redshift(分析) EC2は機能毎、S3は変換前とRedshift変換後の前後、Rout53でラウンドロビン、動画配信、SageMaker/Deep learning ami ■ユーザ管理、セキュリティhttps://www.tdi.co.jp/miso/aws-day1-security-1 https://qiita.com/14kw/items/07d693a072ae0e99cf34 https://www.ashisuto.co.jp/security_blog/article/201902-aws.html ///ログインhttps://aws.amazon.com/jp/ チュート https://aws.amazon.com/jp/getting-started/tutorials/ ///MFAの設定 Google 認証システムをモバイルにインスコ モバイルに出た6桁を入力、30s後にでる6桁を入力(エラーなら削除しQR読み直してやりおなす) ///EC2 キーunco.pemでインスタンスを作成 ロードバランサーyarichinの設定 ///その他 RDSのDBインスタンスyoshiwaraを作成 (ID:chinco/kintama) ElastiCacheのインスタンスformsof48を作成 S3のインスタンスomekoを作成 ■無料でやりたいが足がでるのではhttps://www.ryotaku.com/entry/2019/03/12/172937 https://dev.classmethod.jp/cloud/aws/overall-summary-about-aws-free-tier/ ↓ 各サービスで有料等があるので要注意、1ヶ月750時間、複数インスタンス、ElasticIP割り当て、ビリング確認、予算、アラート通知 ■AI Tensorflow は?https://aws.amazon.com/jp/tensorflow/ https://aws.amazon.com/jp/machine-learning/ https://aws.amazon.com/jp/machine-learning/amis/ SageMaker/Deep learning ami?無料じゃむりそう ================================= ■GCP https://www.bangboo.com/cms/blog/page_347.html ================================= ■Azure 12 か月間 最初の30日間¥22,500分https://portal.azure.com ホーム>無料使用版>取り消し ロードバランサの自動セッション維持(クッキー、URL、HTTPヘッダー)の具合を見たかったが、https://www.fujitsu.com/jp/products/network/security-bandwidth-control-load-balancer/ipcom/material/data/1/2.html 大体の設計をして設定を詰めていく流れでいいのかね、使いたいサービス重点で きちんと動けば気持ちいいかな、箱庭的な雰囲気もある
Posted by funa : 09:42 PM
| Web
| Comment (0)
| Trackback (0)
November 18, 2019
Raspberry Pi
唇を軽く閉じ、ブーと息を下唇に当てると、唇が共振を起こす
教育用と謳ってる理由が分かった、細かな所に手間が掛かる、良いセンサー/デバイスは高価、結線は不確かで面倒(パーツが壊れている場合も)、スマホ+周辺機器で作る方が楽に作れそう
■Raspberry Pi財団公式サイト
https://www.raspberrypi.org/
■ラズパイ入手http://akizukidenshi.com/catalog/c/craspi/ https://www.switch-science.com/
Raspberry Pi 3B+(ネッがト実用になっている)元々$35だが日本では6000円弱位でしか買えない Raspberry Pi Zero WH(ピンヘッダー有、有線LAN無) Raspberry Pi 4B(3B+がもう手に入らない、1G/2G/4Gメモリの種類有り)
3B+と3Bとの違いはネットワーク系が早い/PoE 3B+では2.5A以上が必須、4Bは3A以上、通常スマホの充電器は1A/タブレットは2Aのモノがほとんど ファン欲しい CPU60℃位にはなる様、ヒートシンクは-2℃位の寄与 4Bのメモリは1Gでも十分だがモニタを使うとメモリ喰う、VNCだが。2000円位高いが1台目は4Gだと潰しが利く miniHDMI、USB-C電源に変わった
ACアダプタ 3A 1000円 microSD(相性あり、8-32GB、Class10、PanaのフォーマッタでFAT32) transcend32G 800円 ヒートシンク銅製 PCCOOLER RHS-03-BRK 13x13を2個で250円 ケース(4と3B+の互換はない)、ファン
キットで買うと安い GPIOケーブル、T型GPIO拡張ボード ブレッドボード ジャンパーワイヤー ワニ口クリップ モジュールセンサー ブザー、簡易ディスプレイ
パイソンのサンプルコード、チュートリアル付きキットがいい RABホルダーも欲しい、ブレッドボード複数持ちで機能毎に保存すると良い
別で買う必要がありそう 赤外線カメラ、人感、振動、ジャイロ、加速度、距離、GNSS(GPS)、ドップラー
■先人の足跡を調べよう(センサー/モジュール次第か) ドライブレコーダ、車防犯カメラ(録画8hrs)、自動録画/消去 360度録画、画像を解析しエラー検出 進入警報(ログ、写真、メール) WifiやBTで遠隔ラジコン 温度制御(一定の温度で扇風機をOn等) 赤外線でリモコンをハック IOを音声で 生体ハック(眠気防止等) サーバ型:テキスト解析気分解析、メディアサーバ ■セットアップhttps://www.fabshop.jp/raspberrypi/pisettings-2/ https://raspida.com/rpi-setupwizard2019 https://pcmanabu.com/raspberry-pi-debut/ ↓
SDメモリカードフォーマッター (Windows/Mac用)でフォーマット、FAT32https://www.sdcard.org/jp/downloads/formatter/index.html
Raspbian Buster with desktop and recommended software をDLhttps://www.raspberrypi.org/downloads/raspbian/
Etcherはでラズパイで使うOSのイメージをSDカードに焼く、ポータブル版でOKhttps://www.balena.io/etcher/
起動はUSB-C電源をぶち込むだけ、モニタ側はHDMI1に切り替え(miniHDMI変換が硬いが奥まで挿す) USBキーボード/マウス/LANケーブルも初期設定には必要、セットアップが済めば電源USB-Cのみ PW/ロケール設定、Wifiを聞いてくる(PiのMacアドレスを言ってもらいたいが、、 ターミナルで ifconfig →Piに右上メニュでWifi pw(share key)、ルータにPi Macアドレス を設定 日本語にしてアップデートを掛けるとメニュー等が日本語になる ラズパイ設定でSSHとVNCを有効にする(SSHのセキュリティ設定が面倒な場合はSSHは使わない) IPアドレス(右上のVNCアイコンをクリックで分かる)、あるいは raspberrypi.local SSHコマンド ssh pi@IP アドレス あるいは ssh pi@raspberrypi.local VNCはReal VNCのスタンドアローン64ビューワーでいいのでは https://www.realvnc.com/en/connect/download/viewer/
HDMIを繋げているとリモートできるが繋がないとできない? 電源投入後LEDの点滅が消えたあたりでデスクトップは起動しているが 解像度が設定されていない為、モニタが検出されておらずGUIが起動していない為 sudo raspi-config で設定をする その1 3 Boot Options Configure options for start-up を選択 B1 Desktop /CLI Choose whether to boot into a desktop enviroment or the command line を選択 B3 Desktop Autologin Desktop GUI, requiring user to login を選択 sudo raspi-config で設定をする その2 7 Advanced Operations を選択 A5 Resolution を選択 DMT Mode 51 1600x1200 60Mhz 4:3 を選択
■セキュリティ設定https://qrunch.net/@nokonoko1203/entries/DIek2g0AhGRDkGDZ https://qiita.com/mochifuture/items/00ca8cdf74c170e3e6c6 https://makezine.jp/blog/2017/09/secure-your-raspberry-pi-against-attackers.html ↓
平時繋ぐLANは一般の人は入れないが、それ以外のLANに繋げた時に危険? VNCのウィンドウではだれが何人ログインしているか分かる、見とく 運用時はSSHとVNCを無効にすればいい? host名を変えた方がいい? ラズパイ設定で raspberrydekapi 等に変更
ラズパイを最新版 $ sudo rpi-update root pwを設定、初期なしf $ sudo passwd root
piユーザの代わりのユーザを追加(f1/b) sudo adduser xxx groups pi でグループの確認 -> pi : pi adm dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,input,spi,i2c,gpio xxx groupが追加されたことを確認 groups xxx piユーザー内のファイルを、新規ユーザーにコピー(空フォルダとmagi pdfだけだが) sudo cp -r /home/pi/* /home/xxx
piユーザーのオートログインを無効化 sudo nano /etc/lightdm/lightdm.conf` autologin-user=pi をコメントアウトし #autologin-user=pi にする 新しいユーザー名を指定 sudo nano /etc/systemd/system/autologin@.service ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM の下に ExecStart=-/sbin/agetty --autologin xxx --noclear %I $TERM を追記
新規ユーザーがパスワードなしでsudo可に sudo visudo 上記コマンドで/etc/sudoersファイルをエディタで開き#includedir /etc/sudoers.dの項目を編集 pi ALL=(ALL) NOPASSWD: ALL を削除 xxx ALL=(ALL) NOPASSWD: ALL を追記 オートログインの確認 piユーザーがいなければok who デフォルトのpiユーザーをsudoersから除外 sudo gpasswd -d pi sudo 新ユーザxxxでSSH/VNCできるか、ログインできるか、sudoできるか確認 piユーザーを削除する(piのユーザー名を変更する、pi ユーザをロックする、という方法も) sudo userdel -r pi 削除できたか確認 id -a pi次のようにでればOK id: pi: no such user SSH証明書設定:面倒だとSSHを有効にしないこと SSHのポート番号を変更する 49152〜65535 sudo nano /etc/ssh/sshd_config #Port 22 を Port 65535 に変更 rootユーザーで直接SSHログイン出来なくする sudo nano /etc/ssh/sshd_config #PermitRootLogin prohibit-password を PermitRootLogin no に変更
■エディタ操作 ^Oはctl+O ■開発環境 Python interpreter/GPIOライブラリのインスコ sudo apt-get install python-dev sudo apt-get install python-pip sudo pip install rpi.gpio Git/WiringPIのインスコ(GPIO操作を行うC言語ライブラリ) sudo apt-get install git-core git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v 実行してバージョン情報が表示されれば完了 I2C通信ライブラリのインスコ 複数のI2Cデバイスを同時に制御できる、温度を測りモータを動かす等 sudo apt-get install libi2c-dev (参考) Apache+PHPのインスコhttps://bit.ly/355p4LX WiringPi-PHPでWiringPiをPHPで使うhttp://www.feijoa.jp/laboratory/programming/gpioWithPhp/ ■PG ログ取る系なので一定期間でバックアップを取る リモコンでLEDを光らせる>リモコンでPGスタート>リモコンでカメラやログ ボタンを押すとブザーを鳴らしてカウントしその回数をディスプレイ ドライブレコーダ/車防犯カメラ(録画8hrs)、自動録画/消去 進入警報(ログ、写真、360度録画、メール) バイクセッティング記録系ツール(気温、GPS、加速度、サスやキャプ設定メモ) LED 抵抗 ボタン button パッシブブザー Passive Buzzer リモコン IRremote ディスプレイ LCD1602 ///プログラム解説 使用するチャンネルはモードを設定する必要がある GPIO.setup([チャンネル], [GPIO.IN または GPIO.OUT]) 例: channel_list = [11,19] GPIO.setup(channel_list, GPIO.OUT)
デジタル出力では電圧をHIGH(3.3V)、またはLOW(0V)に設定できる GPIO.output([チャンネル], [GPIO.LOW または GPIO.HIGH]) 例: GPIO.output(14, GPIO.HIGH)
GPIOからの入力をポーリングで読み取る場合の例 戻り値にはGPIO.HIGH(または1、True)かGPIO.LOW(または0、False)が返る if GPIO.input(27): # ピン27がHIGHの場合 else: # ピン27がLOWの場合
GPIO.input/setup()に pull_up_down パラメータで、プルアップ抵抗(GPIO.PUD_UP)またはプルダウン抵抗(GPIO.PUD_DOWN)を有効にでき、その場合回路がつながっていない状態でもGPIO.HIGHまたはGPIO.LOWが読み出される 例: GPIO.setup(27, GPIO.IN, pull_up_down=GPIO.PUD_UP) 不定状態だとGPIOの入力インピーダンスが高く高周波ノイズを拾い誤作動が考えられる/サージ GND側に引っ張ってLowに安定させるプルダウン抵抗だが、慣例的にHighにするプルアップの方が使用頻度が高い プルアップ回路: タクトスイッチONでLow、タクトスイッチOFFでHigh(平常時ON) プルダウン回路: タクトスイッチONでHigh、タクトスイッチOFFでLow(平常時OFF) ラズベリーパイでは内部プルアップ(ダウン)が使え、外付けプルアップ(ダウン)抵抗を省略できる http://raspi-studio.hatenablog.com/entry/2016/06/06/204053 https://qiita.com/nishiwakki/items/e921d44a00a37c72979c プルアップ抵抗とマイコンの入力抵抗ではマイコン入力抵抗の方が遥かに大きいく電圧は全てマイコン側に加わる プルダウン抵抗は無くてもと思えるがスイッチを押した時には5Vが抵抗なしでGNDに直接流されショートする https://voltechno.com/blog/pullup-pulldown/ イベント(エッジ)の検出 GPIO.add_event_detect([チャンネル], GPIO.FALLING , callback=func) GPIO.FALLING → 立ち下がりエッジ:(High→Low) GPIO.RISING → 立ち上エッジ:(Low→High) GPIO.BOTH → 両エッジ //// プログラムの起動と停止 パイソンを実行するcmd(ファイルの位置までcdで移動しtest.pyを実行) python test.py Ctrl+Cでプログラムを止める //// コツ GPIOの状態を見るcmd gpio readall ブレッドボードが悪いのか、結線が悪いのか、パーツが壊れているのか、プログラムが悪いのか、何が悪いか分からん テスターが要る ■電子回路 ラズパイは1つのGPIOピンにつき電流量が16mAまで、合計は50mAまで、電圧は3.3V その半分を超える電流を流すと寿命を縮めるおそれがあるそう→3mAにしとく、3.3v= 3mA*1kΩ GPIOピンは汎用入出力(General Purpose Input/Output)ポート、入力と出力ができる、40ピンある GPIO 2-27の26ピン、GNDx8、3.3Vx2、5Vx2、ID_SDとID_SCの2ピン ID_SD/ID_SCは外部にEEPROMというデータを保存するための部品を接続するピンだがあまり使わない GPIOピンには+-どっちを入れてもいいの?→IOなので良いが注意点があるhttps://robot-workshop.net/raspberry-pi-gpio https://tool-lab.com/make/raspberrypi-startup-22/ //// GPIOを使うときの注意点 ショート:電源の+と-を直結すると過剰な電流が流れる 3.3v/5vピンをGNDピンに直結しない事 GPIOピンを出力モードでGNDピンに繋げない事(入力モードはOK) GPIOピンは基本は入力モードにして、必要なものだけ出力モード、あるいはショートするケースには抵抗を入れておく
ピン指定方法が2種類あり、物理ピン番号(1,2/3,4~とコネクタに連番が振られている)による指定、BCM(GPIO)番号による指定がある
ラズパイのプロセッサはブロードコム社のBCM2837だが、このプロセッサのGPIOピンは53本あり、2番から27番の26本がラズパイのGPIOコネクタに接続されている。例えばGPIO2というピンがあり、これがコネクタの3番ピンにつながっている
https://www.denshi.club/make/2016/02/raspberry-pi2-3.html
GPIOピンの中でもGPIO2とGPIO3は他のピンと電気的特性が異なり注意が必要 I2Cにも使われ1.8kΩの抵抗が接続されている(1.74Vとなる?) SPI通信ではGPIO番号GPIO7-GPIO11の5ピンが専用に割り当てられます(MOSI, MISO, SCLK, CE0/CE1で通信) アナログ出力ができるピンはどのモデルでも固定でGPIO18のみ アナログ出力では周波数とデューティ比でモータ制御などに使うPWM制御が可 ラズパイの電圧読み取り 0V〜0.8V: 0Vとして読み取る 0.8V〜1.3V: 不定 1.3V〜3.3V: 3.3Vとして読み取る 計算と実地: 結局計算しても正確ではないし、そもそもどれくらいの電流を流すと、どのくらいの明るさで光るのかもよくわからない→抵抗は大きめからhttp://robocad.blog.jp/archives/662656.html LED明るさ:1cd ろうそく、400cd 40W蛍光灯、100cd 100W蛍光灯 VF 1.85Vは順方向電圧(VF)を表す。LEDには極性がありアノード(プラス、端子長い、下側、足曲がり)からカソード(マイナス、端子短い、上側、足真っ直ぐ)に正電圧を加え使用。電圧が低いと電流が流れても発光せず、ある電圧を超えると電流が流る │(-) ― ▲ │(+) アクティブブザー:発振回路が入っており決まった音程でブザー音が鳴る パッシブブザー:スピーカと同じで与えた音声信号で発生、音程を変えられる I2Cで16本あるIOエキスパンダ(MCP23017)のポートを制御できる。8個使用すれば16x8の128ポートが使用可http://kzhishu.hatenablog.jp/entry/2016/07/19/090000 ■電流は+から-に流れる、電子は-から+に流れるが 電荷の移動である電流と電子は直接は関係ない 電気のスイッチを入れると、電荷は直ちに移動しますが、電子がその速さで移動しているわけではありません 電子はカタツムリの歩みより遅い速度でのらりくらりと動いているだけ GNDから電子を集めるわけではない 電気の仕組みは、正負があるのではなく、電荷の多い少ないで電圧が現れる、電荷の多いほうから少ないほうに電気が流れる 電荷の移動の犯人のひとつに電子、他にはイオンであったりプラズマであったりhttps://oshiete.goo.ne.jp/qa/8305340.html
Posted by funa : 06:18 PM
| Gadget
| Comment (0)
| Trackback (0)
November 11, 2019
REMIX DTM DAW - Acid
ご利用のブラウザは音声ファイルの再生に対応していません。
Acid Pro 8.0
ループのライブラリ、ダウンロード
「ヘルプ」→「Download insturments and loop Collections…」 失敗した場合ここのexeを使える C:\Users\Username\Documents\MAGIX Downloads\Installationsmanager ダウンロードした音源 C:\Users\Public\Documents\MAGIX\Common\Loop Collections ////基本「表示」→「エクスプローラー」(左下フッターでも可)でループ音源の場所を指定(上記音源場所) ループはトラックにドラッグ&ドロップ「表示」→「プラグインマネージャ」→「オーディオFX」→「すべて」 エフェクトはループにドラッグ&ドロップ ソフトシンセはトラックにドラッグ&ドロップ するとMIDIトラックができる ////ピアノロールはどこから? 上記でMIDIトラックを作成し MIDIトラック内をドラッグして場所指定しMIDIクリップを作成 MIDIクリップを右クリックしてクリップのプロパティを表示 MIDIトラック>編集を有効に 選択ツールとドローツールを切り替えて操作 MIDIトラックを右クリック>グリッドスペースで音符の長さを決める MIDI音色を変えたいが? 各トラックのMIDI出力>ソフトシンセを切り替える(ソフトシンセの挿入で事前に入れておく) リアルタイム入力をしたいが? 各トラックの録音アームを押す>録音を押す>MIDI鍵盤を押す メトロノームのプリカウントon/MIDIマージonで上書き追加 ステップ入力は? 各トラックの録音アームを押す>ステップ録音を押す>MIDI鍵盤を押す MIDIデータの編集 ノートを選択し 編集>MIDIプロセスとフィルタ でクオンタイズ/ベロシティ/長さの一括編集ができる ////グルーブプール 左下フッターのグルーブプール>ズレによりノリをつけるシャッフル/スイング的なものをトラックにドラッグ&ドロップ メニュー下のグループ消去ツールで部分カットができる、全体消去はトラックを右クリックして トラックからグルーブの削除を選択 ////キー/テンポ/拍子変更 全体に対するキーテンポ拍子はプロジェクトエリアで設定できる 途中で変えるには、タイムライン上部を選択、挿入>キーテンポ拍子変更 ////フェードイン/アウト 波形の左上あるいは右上をマウスオーバするとゲイン位置のヒントがでるのでドラッグする ////EQ 各トラックのトラックFXをクリック>イコライザー画面がでる ////ビートマッパー 通常自動で起動するが手動は、オーディオクリップを右クリック>クリッププロパティ>ストレッチ>Beatmapper ビートマップトラックに合わせてプロジェクトのテンポ変更:no テンポの変更時にビートマップトラックのピッチを維持する:yes プロパティでも設定可 ストレッチ時にピッチを保存 でBPMを変えてもピッチが変わらない Beatmapper情報をファイルに保存する:yes ////チョップ トラックにループをアサイン>左下フッターのチョッパー 波形がチョップされ表示 波形を部分的に選択し、挿入を押しトラックに配置する 1/4小節を作ったが繰り返したい?→手動しか無理かも ////Remix 元曲を読み込みビートマッピング(元曲のBPMをメモる、135.983) ボーカルの波形をそれに合わせる、クリッププロパティで元のBPMを入れる/ストレッチ時にピッチを保存 展開をどうするか、派手にゴージャスにした方がよい ドラムトラックは別のドラムセットでもドラムトラック一つにまとめる =================================== ■新バージョンhttps://www.dtmstation.com/archives/26189.html ACID Pro NEXTおよびACID Pro NEXT Suiteに搭載されたSTEM Maker 2ミックスされたWAVファイルを読み込むと、自動でボーカル、ドラム、それ以外の3パートに分解 =================================== ■音楽データからボーカル・ドラム・ベースの音を個別に抽出できる「spleeter」https://gigazine.net/news/20191107-spleeter/ deezer/spleeter: Deezer source separation library including pretrained models. https://github.com/deezer/spleeter spleeterを使用するには「Conda」をインストールする必要があります Conda — Conda documentation https://docs.conda.io/en/latest/ インストールしたAnaconda/Minicondaをクリックして起動、下記でspleeterをインスコ(Gitのインスコも要る) git clone https://github.com/Deezer/spleeter conda env create -f spleeter/conda/spleeter-cpu.yaml Anacondaの画面でコマンドでspleeter起動 conda activate spleeter-cpu spleeter実行は下記コマンド spleeter separate -i spleeter/audio_example.mp3 -p spleeter:2stems -o output spleeterのフォルダと同じ場所に作成された「output」という下記フォルダにデータが出力される C:\Users\username\spleeter\audio_example.mp3 C:\Users\username\outputspleeterが実行可能な状態になったら「spleeter separate -i (分類したい音楽データのフォルダパス) -p spleeter:(分類方法) -o output」を入力すると、楽器ごとに抽出されたデータが作成されます。分類方法は、記事作成時点では3種類用意されていました。 2stems:ボーカル/伴奏に分類。 4stems:ボーカル/ドラム/ベース/その他の楽器 5stems:ボーカル/ドラム/ベース/ピアノ/その他の楽器たとえば、spleeterに付属しているサンプルデータ「audio_example.mp3」を、ボーカルと伴奏の2種類に分類する場合は「spleeter separate -i spleeter/audio_example.mp3 -p spleeter:2stems -o output」と入力します。 停止は下記コマンド conda deactivate ////WARNING:spleeter:ffprobe error (see stderr output for detail)が出る、メモリクラッシュが起こる場合https://qiita.com/tawatawa/items/e99e3f4b2481d2e0ca27 を見ても対策が分からず、 PCを再起動し再変換をするとエラー内容が変わったり上手くいったり 原曲mp3を短くする、メモリをRAMdiskを8960→2000に減らし余裕を持たせると上手くいったり、、、 =================================== ■プリセット音源が豊富なNexus、これでヤレば楽らしい音源 nexus - Google 検索
Posted by funa : 11:11 PM
| Gadget
| Comment (0)
| Trackback (0)