EFIでブートできるUSBディスクの作成方法。今回はXubuntu 16.10を使用。
EFIブート用のパーティションの作成
ファイルシステムはfat16または32。適当な位置にマウントしておく(ここでは/mnt/usbとする)。
grub起動ファイルの作成
sdXXはインストールするメディアのデバイス名。
一応update-grubも行ったが、必要かどうかは不明。
EFIでブートできるUSBディスクの作成方法。今回はXubuntu 16.10を使用。
ファイルシステムはfat16または32。適当な位置にマウントしておく(ここでは/mnt/usbとする)。
sdXXはインストールするメディアのデバイス名。
一応update-grubも行ったが、必要かどうかは不明。
音楽プレーヤーの多くはスリープタイマー機能があり、中にはOSのスリープ・シャットダウンをできるものがあります。しかし、毎日寝る前に音楽を流しているとしたら、その都度スリープタイマーを設定するのは手間です。そこで、ワンクリックで設定できるバッチを作成してみました。
使用している音楽プレーヤーで、再生したい音楽のプレイリストを作成します。
作成したプレイリストファイルに対して、右クリック -> 「プログラムから開く」 -> 「既定のプログラムの選択」で音楽プレーヤーを選択し、拡張子の関連付けを行います。
OSのシャットダウンであれば、標準のwindowsのコマンドで可能ですが、スリープを行うにはPSToolsが必要です。Windowsの公式からPSToolsをダウンロードし、任意のディレクトリに展開します。
音楽ファイルの再生と、psshutdownのコマンドを実行するバッチファイルを作成します。ファイルパス、ファイル名は適宜変更してください。この例では10分(600秒)後のスリープを設定しています。
@echo off cd "C:\playlist" start test.playlist cd "C:\PSTools" psshutdown.exe -d -c -t 600 @pause
シャットダウンをキャンセルするときのバッチファイルを作成します。
@echo off cd "C:\PSTools" psshutdown.exe -a @pause
上記バッチファイルは管理者権限で実行しないと動作しません。常に管理者で実行するよう、ショートカットを作成します。
通常の手順でバッチファイルのショートカットを作成後、右クリック -> 「プロパティ」 -> 「ショートカット」タブ -> 「詳細設定」 -> 「管理者として実行」にチェック を設定します。
以上で設定完了です。バッチファイルを実行して、プレイリストの再生とスリープが実現できます。
ついでに、Bluetoothスピーカー等で、切断後一定時間で電源OFFができるものがあると便利です。
ブログのcss設定を見直してみました。
要件は以下の通り。
今まではdiv毎にclassを指定していましたが、以下のように記述することで、再帰的にdivの設定ができました。
div.entry-content div{ margin-left: 10px; } div.entry-content p{ margin-left: 10px; }
Eclipse CDTを用いたC開発環境の構築手順。
統合開発環境としてEclipseが必要ですが、それ以外にコンパイラが必要です。 コンパイラは種々ありますが、今回はCygwinに同梱されているgccを使用します。
Eclipse公式からEclipse C/C++ IDE for Neon等をダウンロード・インストールします。既にEclipseを持っている場合は、「ソフトウェアのインストール」からインストールできるようです。
Cygwinをインストールします。デフォルトでは、最小限のモジュールしかインストールされないことに注意。インストール時にパッケージを指定する画面がありますので、gcc、g++、makeのコマンドは選択しておきます。
パッケージの選択を間違えた場合は、再度インストーラを実行することでパッケージ選択ができます。
プロジェクトの設定をします。(追記予定)
標準ライブラリ(
プロジェクトのプロパティを開き、「C/C++ general」>「Preprocessor Include Paths, Macros」>「Providers」タブ>「CDT GCC Built-in Compiler Settings [Shared]」にチェックを入れる。
Goodbye World Eclipseでのインクルードファイルやライブラリファイルパスの設定方法
Android開発をしているうちにつまづくのはThreadとHandlerであろう。
基本とAndroidにおける扱いをまとめる。
基本的にコードに書いた一連の処理は、1つのThread内で一本の流れとして逐次的に処理される。並列的に処理をしたい場合や、時間の掛かる処理を行いたい場合などは別のThreadを立てて実行する。
Androidでは、ネットワークアクセス等、時間の掛かる処理はActivity等を実行しているUIThreadでは許可されていないことに注意する。
Threadは2通りの方法でつくることができる。
いずれの場合も、上の★の中でrun()をOverrideして、実行する処理を記載する。
また、Threadを実行には、Threadのstart()メソッドを呼び出す。
HandlerはThread間の通信を可能にする。postメソッドを用いて、Handlerのインスタンスを作成したThreadに対してアクセスする。また、Handlerの引数にLooperを用いて、任意のスレッドにアクセスする使い方もできる。
Androidでは、UIThread以外からUI部品にアクセスすることができない。そこで、別ThreadからUIThreadに対してHandlerを用いてアクセスする。
Handler guiThreadHandler = new Handler(); new Thread = new Thread( new Runnable(){ guiThreadHandler.post(new Runnable(){ @Override public void run(){ //処理 } } }).start();
Android Studioを使用してAndroidアプリ開発環境を設定する。
なお、今回はHDD容量も少なく、RAMもあまり積んでいないモバイルPC向けに、実機を用いた最小限の構成を目指す。
この設定では、実機にて実行/デバッグを行い、ファイスサイズが大きく、また実行に時間が掛かるAndroid VMは使用しない。
Android Studioのページから最新のインストーラをダウンロードしてインストール。
インストール時には「カスタム」を選択し、Android Virtual Deviceのチェックを外す。
JDKは最新のものをインストールして、JAVA_HOMEにインストールパスを設定しておくこと。
Tools>Android>SDK Managerから「Launch Standalone SDK Manager」を開く。
以下をインストールする。
設定>端末情報>ビルド番号 を連打して開発者向けオプションを表示する。
開発者向けオプションで「USBデバッグ」を有効にする。
実行/Runで「Connected Device」で実機を選択する。
決まってこういうものは一発ではうまく行かないため、いろいろ試行錯誤したときのメモ。
正しいドライバがインストールされていないことが問題。
User以下隠しフォルダのAppData\Local\Android\sdk\extras\google\usb_driverのandroid_winusb.infの中の[Google,NTx86]と[Google.NTamd64]の2箇所に追記。
追記内容は以下。
1行目にコメントアウト(;から開始)でデバイス名
2行目に%SingleAdbInterface% 実機のVIDとPIDを設定(デバイスマネージャで確認)
3行目に%CompositeAdbInterface% 実機のVIDとPIDを設定、末尾は他と同様(&MI_01等)
実機のドライバのインストール(更新)で、上記パスをドライバの場所に指定。
大抵の場合はコンパイルバージョン、ビルドツールバージョンの設定間違い。
プロジェクト右クリック>「Open Module Settings」から以下の項目を変更してみて、適切な設定を探す。
・Complie Sdk Version …最新のGoogle APIが良い?「Google APIs(API23)」を設定。
・Build Tools Version …バージョンによって挙動が異なる?23.0.3を設定。
・Min Sdk Version …任意に設定。
スマホ買い替えを検討したため、そのときに考えたポイントのまとめ。 他とは若干観点が異なると思われる。
まずは、現在のスマホの利用状況を考える。
利用状況
・主に利用するアプリはLINE、Gmail、RSSリーダー、Yahooニュース、将棋・麻雀などの対局アプリ。
・ソーシャルゲームはしない。
・PC接続用にテザリングを多用。
・ヘビーユーザーではないが、そこそこユーザー。
・今のスマホの使用期間は2年3ヵ月ほど。
上記踏まえ、買い替える際のポイントは以下かな、と思う。
まず、予算は25,000~35,000円くらいが良い。
5.5インチ以上はかなり大きい印象を受ける。
画面は見やすいかもしれないが、持ち運びに不便では困る。
スペックを求められるゲームはしないため、そこまでCPU性能は重要ではないが、
それでもアプリを多く起動しているとき等に、動作がカクカクするのは嫌である。
そのため、スナドラ600以上くらいはほしい。
スマホ本体自体は、画面を割ったりしない限り、スペック的には2年以上は軽く使える。
その際にネックになるのがバッテリーであり、バッテリー交換はできたほうが良い。
可能ならユーザーで電池交換できるもの。そうでない場合は、メーカーでの交換(修理依頼)の値段を確認。
後から追加はできるかもしれないが、起動時のアプリを抑制できる等のユーティリティツールが揃っていれば便利。
見た感じではASUSが非常に優秀に見える。
どうしてもほしいというほどではないが、あれば良い。
これも必須ではないが、ものにってよってはGPS精度がひどく低いらしい。
最低限の精度はほしいところ。
…とここまで書いて、これにマッチするものはなかなかない。
Zenfone2 lazerはかなりマッチしているように思うが、若干パワーに不安である。Zenfone3に期待したい。
※本記事の内容によって生じた如何なる損害・損失についても責任は負いません。
本記事を参考に作業を行う場合は自己責任でお願いします。
格安SIM業界もそろそろ落ち着いてきた感があったので、私もMVNOに移行してみました。
MVNO移行時に調べたことや注意点等のまとめ。
総合的に、移行して良かったと思っています。
移行のモチベーションは、料金の節約、テザリングのための通信量制限の上限up、技術者としての単純な興味。
いずれについても満足しています。
MVNOのメリットはとにかく通信料が安いこと。
テザリングメインの筆者の環境では、制限通信量が7GB→10GBにできたのも大きいです。
また、余った通信量の持ち越しやシェア等、フレキシブルに使えるため、実際に使える通信量はプランよりも多め。
その他は、キャリアのアプリ等をアンインストール/無効にできる等。
MVNOのデメリットとしてまず挙げられるのは、通信速度が(キャリアと比べて)遅いこと。
ただし、現状では、気持ち「遅いかな?」と思うことがたまにある程度で、ほとんど気になりません。
また、テザリング、GPS等で一部問題がでることがあります。
テザリングについては、adb等を使って修正は可能です。
SVMOや機種にもよりますが、SIMフリースマホを購入せずとも、キャリアのスマホを使用可能であること。
大抵はSVMOのホームページで対応有無を確認できます。
MNPで転出する際には、移行前の契約者名義と、移行後の契約者名義が一致していないといけないこと。
もともと家族でキャリアに入っていた場合等は、MNP番号を発行する前に名義変更が必要になります。
キャリアのメール・電話帳はバックアップしておくこと。
名義変更した段階でデータが消えることもあります。
結局もとから使っていたスマホを継続利用しましたが、以下のスマホの購入を検討しました。
メーカー:Acer(台湾) 価格:¥22,097
かなりサクサク動作との評判。カメラ性能等は残念らしいですが、特に求めていないため問題なし。
メーカー:Huawei(中国) 価格:¥29,980
スペックが全体的に優秀。
メーカー:FREETEL(日本) 価格:¥18,300
価格安め、コスパ高。