キーボードの入力ソースからUSを削除する

何故か定期的に復活してくるためメモ。

環境

Mac OS X Yosemite Google日本語入力

解決策

まずはメニューバーからキーボード環境設定を開く。

f:id:taka_say:20150616094339p:plain

入力ソースタブに移動し、USを選択すると、

f:id:taka_say:20150616094223p:plain

が選択出来ない状態になっている。

以前までは日本語入力ソースのことえりを追加後、削除という手順を行っていたが、Yosemiteからことえりが廃止されたため、ことえりの追加は出来ない。

しかし、新規に追加された日本語入力ソースを一旦追加して同様の手順を行えば、これまで通りにUSソースの削除が可能。

f:id:taka_say:20150616094905p:plain

をクリックし、日本語 -> 日本語を選択して追加。

USを選択すると、が有効になっている。

f:id:taka_say:20150616095110p:plain

あとはUSおよび日本語の順にで取り除けば……

f:id:taka_say:20150616095103p:plain

綺麗サッパリ!

【Python】returnを記述しなかった関数が返す値

pythonコードを書いている際に、returnを書いていない(返り値の指定がない)関数が何を返しているのかが気になったためメモ。

結果からいうとNoneを返している。

def foo():
    pass
foo() is None  # True

明示的にreturnを書いた場合も同様にNoneを返している模様。

def bar():
    return
bar() is None # True
foo() is bar() # True

returnがないとなんとなく落ち着かないのは何故だろう……。

参考

関数の中で返り値が指定されていない場合の扱い | 関数・メソッド | プログラミング言語の比較 | hydroculのメモ

縦タブのサムネイル除去も標準搭載したVivaldiはやはり最強か

以前の記事でユーザー手動での縦タブ時サムネイル除去を紹介したのですが、やはり不評だったのか、Snapshot 1.0.190.2から標準のオプションとしてサムネイルの除去が実装されました。

Snapshotの入手はこちらのページ右上から可能です。
あくまでSnapshotリリースは不安定な開発版ですので、不具合が起こっても文句はいいっこなしです。

では早速設定 -> デザインから

f:id:taka_say:20150613171716p:plain

Show Tab Thumbnailsのチェックを外せば完了です。

またShow Tooltips for Tabsのチェックを外すと、

f:id:taka_say:20150613171720p:plain

上画像のタブにマウスオーバーしたときの情報を非表示に出来ます。

その他セッティングオプションも続々と実装されてきており、今後とも成長が見込めるのではないでしょうか。


やはりVivaldiが最強の系譜か……。

参考

Vivaldi.net - Snapshot 1.0.190.2 Startpage customization, UI zooming, auto-update on mac and more

【SQLite3】基本コマンドとかのメモ

普段MySQLばかり使っていて少々戸惑ったので軽くメモ。

ローカルのSQLite3を用いたデータベースを開く

sqlite3 some.sqlite

テーブルの一覧を表示

$ .tables

全てのテーブルのスキーマを表示

.schema

一部のテーブルのスキーマを表示

.schema some_table

SQLite3を閉じる

.exit

または

.quit

新しいこと探し隊

一週間の間に身につける新規知識の個数を設定して、毎週欠かさず学習と記録を実践してみては、との提言を受け、それは大変良い取り組みのように感じた。

というわけで、FrontierSpirit日誌として新しく学んだことのメモ書きをしていこうと思う。

ただ新しい知識といっても、技術的な事柄はもちろん、哲学とか自己啓発とか、色んな類の物があると思うので、どのように絞るかは少々思案のしどころ。
技術に絞るのは、学生という身分からすると少々勿体無い気がするし、視野が狭くなるのではないかという危惧も覚える。

当面は広範な意味での"新しい知識"というものを学び、記録していければと思う。
目標は1週間に5つ。

頑張ろう。

intent.putExtraでMediaStore.EXTRA_OUTPUTを設定するとonActivityResultのIntentがnullになる問題

intentでカメラ起動後、撮影してからonActivityResultにて撮影された写真を利用しようとして相当詰まったのでメモ。

環境

Android API 15

問題

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(intent, 100);

このような感じで実装していたところ、onActivityResultのIntentがnullになってしまった。
何やらカメラアプリの実装によって挙動が異なることが原因らしい……。

解決策

少々気持ち悪い気はするものの、intentの値がnullの場合に備えて、メンバ変数でfileUriを持っておくことにした。

この場合、

EXTRA_OUTPUTで指定した場所にとは違うところに画像を保存し、data.getData() で保存した画像のURIが取得できる

というパターンに対応出来ないが、そんな基地外地味た実装をしているAndroid端末のことなど知らぬ存ぜぬ。

参考

Android Camera : data intent returns null - Stack Overflow
Android アプリ始めてました。 - eXnetcom Blog

This AVD's configuration is missing a kernel file!!

というようなメッセージでAVDが起動出来なかったのでメモ。

実際には

emulator: ERROR: This AVD's configuration is missing a kernel file!!
emulator: ERROR: ANDROID_SDK_ROOT is undefined

という二行がエラーとして吐かれていた。
原因はAVDの設定が不適切なこと。

環境

AndroidStudio v1.2.1.1

解決策

AVDの設定を修正すれば良いだけ。

f:id:taka_say:20150603172255p:plain

Tools -> Android -> AVD Managerを選択し、AVDマネージャーを開く。

f:id:taka_say:20150603173040p:plain

起動に失敗しているデバイスの▼を押しEditを選択。


f:id:taka_say:20150603173047p:plain

自分が使用したいAndroidのバージョンを選び、Next。希望するバージョンのインストールが済んでいない場合はDownloadからインストール可能。
ABIはお好みで。


f:id:taka_say:20150603173052p:plain

問題になっている設定が赤字で表示されるはずなので、修正する。今回の場合はSDイメージファイルが適切でないとのこと。
Show Advanced Settingsを選択し、全てのセッティングを表示する。


f:id:taka_say:20150603173101p:plain

下の方にスクロールしていくとSDカードに関しての項目があるはずなので、適当に設定。


f:id:taka_say:20150603173105p:plain

Failed to loadが解決された!

【AndroidStudio】新規作成したアプリケーションのデザイン画面でエラー

何も始めていない状態で出たので当惑。エラーメッセージおよび画面は以下。

Rendering Problems The following classes could not be instantiated:
- android.support.v7.internal.widget.ActionBarOverlayLayout (Open Class, Show Exception, Clear Cache)

f:id:taka_say:20150603160346p:plain

環境

AndroidStudio v1.2.1.1

解決策

res/values/styles.xml内の<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">を修正すればOK。

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    </style>
</resources>

f:id:taka_say:20150603160817p:plain

というわけで無事解決!

参考

android.support.v7.internal.widget.ActionBarOverlayLayout could not be instantiated - Stack Overflow