カテゴリー: 技術系memo

  • Android 10がリリースされるので、レガシーMDM APIを使ったMDMでは管

    Android 10(Android Q)がリリースされる。Googleは予定通りにレガシーMDMのAPIを廃止し、Android 10の端末は、Android Enterprise対応のMDMで管理しないといけない。2017年に発表されたときは大分先と思っていたが、いつの間にか廃止の時期になったようだ。

    https://www.blog.google/products/android-enterprise/why-its-time-enterprises-adopt-androids-modern-device-management-apis/

    https://www.android.com/intl/ja_jp/enterprise/

    MDMは、Android Enterprise対応のものを使えばいいのだが、レガシーMDMのときと全く同じようには制御できないし、そもそもAndroid端末とMDMのセットアップ方式が変わる。BYOD前提であれば、むしろAndroid Enterpriseのほうが管理しやすい。企業向けの全体管理というあたりでは、結構、大変だ。縛りすぎることはできるけれど、使いやすくするための程よい管理はつらい。とりあえず、今、使っている端末がAndroid 10になることは、きっとないので、心配はいらないし、Android Enterpriseで管理しているので、問題もないが。

  • Ruby on Railsのアプリをサーバ起動時に自動起動させる方法の調査メモ

    Ruby on Railsのアプリケーションを公開することになったので、サーバとしての実行環境を調べた。

    メモ1

     Ruby on Railsで開発しているときは、「bundle exec rails server -e production」で、実行し、ブラウザでアクセスできるようにする。(俺は開発していないけど)

    productionは、環境変数のRAILS_ENVで指定しているもの。

    メモ2

    Railsのアプリケーションを公開するには、RailsサーバのUnicornをインストールして、これを設定して、起動させることで公開できる。

    Unicornは、起動時に、RAILSアプリケーションのホームのパスで、RAILS_ENVと、Unicornのコンフィグファイルを読み込み起動する。これで、作成したRAILSのアプリケーションが実行されるようになる。

    いろいろと調べていると、公開されるアプリはRAILS_ENV=productionになっている。productionが一般的なようだ。開発されたものを公開する前に確認は必要そうだが。

    RailsサーバのUnicornは、ApacheやNginxと連携させる。これにより、ウェブサーバのアクセスで、Railsの実行部分をUnicornに渡すことができる。

    Railsサーバには、Unicorn以外にもある。

  • GAEのスタンダード環境でRubyが使えるようになる

    Google App Engineの標準環境で、Rubyのサポートが追加されるとのこと。

    いままで、GAEでは、App Engineフレキシブル環境ではRubyが使えた。今後は、スタンダード環境でも、サポートされ、つかえるようになるとのこと。これ、Ruby on Railsの環境としてはよさそう。「スケール・トゥ・ゼロ」というものをスタンダード環境だと使えるので、負荷の少ないときは0インスタンスまで少なくなるとのこと。これ、テスト環境向きだ。本番なら、スケールしていくわけなので。

    GAEも、いろいろとできるようになった。サポートもばっさり切られるけれど。

  • Emacsを閉じようしたら、エラーで終了できず

    Emacsを閉じようとしたら、エラーで終了できず。原因を調べたら、Emacsのmessageバッファに以下のようなエラーが。

    kkc-save-init-file: Opening output file: 許可がありません, /home/zen/.emacs.d/kkcrc
    (No changes need to be saved)
    kkc-save-init-file: Opening output file: 許可がありません, /home/zen/.emacs.d/kkcrc [2 times]
    user-error: Minibuffer window is not active
    kkc-save-init-file: Opening output file: 許可がありません, /home/zen/.emacs.d/kkcrc
    Mark set [2 times]
    

    書き込みができないので、エラーになっている模様。そのため、ディレクトリのパーミッションを調べると、自分のホームディレクトリなのに、オーナーがrootになっている。これが原因。

    drwx------  3 root root  4096  1月 22  2019 .emacs.d
    

    chown でオーナーを自分に変更。これで書き込みができるようになり、解消された。

    sudo chown -R zen .emacs.d
    

    なんで、オーナーがrootになっていたのだろうか。今まで設定変更で、suして、emacsをずっと使っていたのが原因だろうか。

  • Management Studioで「保存の変更が許可されていません。~」と表示され、保存できない

    SQL Server Management Studio 18 で、SQL Server 2107 Epxressにアクセスして、テーブルの構造を変更した際に、「保存の変更が許可されていません。~」と表示され、保存できない。メッセージの全文は、下記。

    変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要になります。再作成できないテーブルに変更を行ったか、テーブルの再作成を必要とする変更を保存できないようにするオプションが有効になっています。

    変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要になります。再作成できないテーブルに変更を行ったか、テーブルの再作成を必要とする変更を保存できないようにするオプションが有効になっています。

    これは、DB側のオプション設定ではなく、Management Studioの設定で禁止されているので、保存できない。なので、次の手順で、Management Studioの設定を変更すると、保存できるようになる。

    手順

    1. Management Studioを開く。
    2. 「ツール」から「オプション」を選択する。
    3. 「デザイナー」を選択する
    4. 「テーブルの再編成を必要とする変更を保存できないようにする」のチェックを外す。
    5. 「OK」をクリックして、オプションを閉じる。

  • クローンしたWeblogicがインストールされたサーバでWeblogicを落とすとクローン元が落ちる

    Weblogic10.3をWindowsのサービスとして登録すると、内部のパラメータとしてホスト名などを埋め込まれる。そのため、Weblogicのインストールされた仮想サーバを、クローンして、Sysprepかけて別のサーバにしたとしても、サービスからWeblogicを起動・停止すると、元になったホストのWeblogicに対して、起動・停止を行ってしまう。

    これを解消するには、下記のURLの内容で、Weblogicをサービスからアンインストールして、そのうえで、サービス登録用のスクリプトを作って、実行する。

    https://docs.oracle.com/cd/E68505_01/wls/START/winservice.htm

    上記のURLから、スクリプトのサンプル部分を抜粋

    例3-1 サーバーをWindowsサービスとして設定するスクリプトのサンプル
    
    echo off
    SETLOCAL
    set DOMAIN_NAME=myWLSdomain
    set USERDOMAIN_HOME=d:\Oracle\Middleware\user_projects\domains\myWLSdomain
    set SERVER_NAME=myWLSserver
    set PRODUCTION_MODE=true
    set
    JAVA_OPTIONS=-Dweblogic.Stdout="d:\Oracle\Middleware\user_projects\domains\myWLSdomain\
    stdout.txt" -Dweblogic.Stderr="d:\Oracle\Middleware\user_projects\domains\myWLSdomain\
    stderr.txt"
    set ADMIN_URL=http://adminserver:7501
    set MEM_ARGS=-Xms40m -Xmx250m
    call "d:\Oracle\Middleware\wlserver_10.3\server\bin\installSvc.cmd"
    ENDLOCAL
    

    サンプルスクリプトを書き換えて、実行すると、最後の部分で「call」されたサービスへのインストール用のコマンドが実行されて、登録される。これらのコマンドは「d:\Oracle\Middleware\wlserver_10.3\server\bin\」にあたるパスに保存さている。アンインストール用のcmdファイルも同じところにあるはず。

  • poeの規格のメモ

    タイプによって、給電能力というか、必要な電力が異なるので、間違えると機器が動作しない。PoEの導入時には、スイッチ側の対応状況を確認する必要あり。

    タイプIEEEの規格最大給電能力   呼称
    タイプ1IEEE 802.3af15.4WPoE
    タイプ2IEEE 802.3at30WPoE+ プラス
    タイプ3IEEE 802.3bt60WPoE++ プラスプラス
    タイプ4IEEE 802.3bt90WPoE++ プラスプラス

    機器によっては、相性もあるだろうから、PoE++のIEEE802.3btを選べばよいというわけでもなさそうだ。あとは、導入済みのスイッチの規格は忘れやすいので、間違えないようにしないと、動作するものも動かないので注意が必要か。

  • AndroidでIMEI(端末識別番号)を簡単に表示させるコマンド

    通話画面で、IMEI(端末識別番号)を表示させるコマンドを打つことで、簡単に表示できる。

    *#06# を入力すると、IMEI番号が画面に表示される。

  • Chromeで動画を再生すると動画がカクカクする

    Chromeで、ウェブ上の動画を再生したときに、動画がカクカクする(というが、静止画のような感じ)。Edgeなどのブラウザで確認すると、スムーズに再生される。この状態のときの対処方法。

    プラグインによる悪さを疑い、プラグインを無効化してみる

    1. Chromeの右上にある「メニューボタン」(縦に点が3つ並んだやつ)をクリックする
    2. 「その他のツール」、「拡張機能」の順に選択する
    3. 拡張機能が表示されるので、オフにする(スライドの部分をクリックして灰色にする)
    4. カクカクしていた動画がスムーズに再生されるかを確認する

    Chromeの設定でハードウェアアクセラレーションを無効化してみる

    1. Chromeの右上にある「メニューボタン」(縦に点が3つ並んだやつ)をクリックする
    2. 設定を選択する
    3. 一番下の「詳細設定」をクリックし、詳細設定を開く
    4. システムの部分にある「ハードウェアアクセラレーションが使用可能な場合は使用する」をクリックし、オフにする。
    5. オフにしたときに、「再起動」のボタンが表示されるので、クリックし、Chromeを再起動する。
    6. カクカクしていた動画がスムーズに再生されるかを確認する

    これでダメならば、別の何かが原因。経験上、拡張機能か、ハードウェアアクセラレーションが悪さをしていることが多い。