くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

AndroidのFAB(Floating Action Button)の色/サイズを変えたい

AndroidでFABのサイズを変えたかったので、いろいろ調べたときの備忘録 もとのサイズを変更しているので、正攻法じゃない感が半端ない&全体に適用されるけど。。 色を変える(Layout XMLのbackgroundTint) 色を変える場合は、backgroundTintすればOK

Android x Toolbar x SearchView|常に検索バーを表示していたい

Toolbarに検索バーを表示させたいなぁと思い、いろいろ調べたときの備忘録 ActionViewを使うサンプルはよくあるけど、タイトルの代わりに表示する例って少ない。。。 虫眼鏡アイコンを表示して、必要に応じて検索バーを表示する よくあるサンプル。 検索ボタ…

Amazon Linux2+Apache+virtualenv+python3+Djangoでアプリをデプロイ

Amazon Linux2がリリース版になってから、Djangoアプリをデプロイしたので、 その時の備忘録φ(..)メモメモ 特に、python3のインストールがつらかった。。 各種バージョンは以下の感じ $ cat /etc/system-release Amazon Linux 2 $ httpd -v Server version: …

【小ネタ】Pythonでいい感じに固定小数点を表示する

formatの仕方はいろいろあるが、いい感じには表示してくれない... 「"g".format(...)」だと、指数表示なってしまう 「"f".format(...)」だと、有効桁まで0埋めされてしまう 固定小数表記で、無駄な0は表示してほしくない場合のフォーマットはないので、 rstr…

Pythonで並列処理(Joblib)

Pythonで並列/並行処理するのは、Joblibがよいらしいので、使ってみた。ときの備忘録φ(..)メモメモ インストール $ pip install joblib 使い方 from joblib import Parallel, delayed def do_execute(param): # 関数の処理 if __name__ == "__main__": # マ…

【Android】Tablayoutでタブの幅を広げたり、タブの文字サイズを変えたい

小ネタ。Tablayoutは便利。 タブレットでもタブの幅を広げる Material Design的には、タブレットでタブが2個のときは、 タブのサイズを小さくするらしい。。 <android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:tabMaxWidth="0dp" app:tabGravity="fill" app:tabMode="fixed" /> app:tabMaxWidth="0dp"が重要らしい タブの…</android.support.design.widget.tablayout>

【Android】 特定のViewのスクリーンショットを共有する

SNSなどへのシェア機能などで、画面のスクリーンショットを共有したかった。 Viewごとでキャプチャできるようなので、その時の備忘録φ(..)メモメモ View view = ...; // スクリーンショットを取りたいView // Viewのスクリーンショットを取得 File file = ne…

【Android】外部URLから画像を直接共有する

Picassoで読み込んでキャッシュをShareCompatで共有するのがよさそう public void shareImage(String url, final AppCompatActivity activity) { Picasso.get().load(url).into(new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso…

【Android】targetSDK27でwindowIsTranslucent=trueを使うとAndroid8.0でCrashする

タイトル通り。。かなり、はまったので、備忘録φ(..) targetSDK=27で<item name="android:windowIsTranslucent">true</item>を使うと、Android8.0でCrashする Androidのバグらしい。targetSDKを26に下げると問題なく動作する Android8.1では修正されているらしい まさか、SDK側の問題とは。。いろいろ変えても…

古いAndroidOSでもVectorDrawableを使いたい

VectorDrawable便利。ただ、Android4.4など古いSDKでは、注意が必要。。 基本は、Support Libraryをインポートして、AppCompatActivityとかapp:srcCompatを使うOK ただ、Drawableを取得する際には、ContextCompatを使うだけではだめだった。。 ポイントは2つ…

Windows Subsystem for Linuxの導入とCygwinからの移行

Windows Subsystem for Linux(WSL)にUbutnu18.04が追加されたそうなので、 そろそろCygwinからの移行を考えたときの備忘録φ(..)メモメモ インストール Windows Subsystem for Linux の有効化 「プログラムと機能」>「Windows機能の有効化または無効化」から …

Python2.7でGoogle Cloud Storageを使ってみる

GCS(Google Cloud Strage)を使う機会があったので、その時の備忘録φ(..)メモメモ 用意されているバインディングライブラリもシンプルでいい感じ♪ インストール $ pip install --upgrade google-cloud-storage pythonでファイルのアップロード from google.cl…

Spring BootでHTTPセッションをあつかう3つのパターン

Spring BootでHTTPセッションを使う方法は3通りあるらしい。その時の備忘録φ(..)メモメモ セッション属性(@SessionAttribute)をつかう セッションスコープBeanをつかう Http Sessionを直接つかう セッション属性(@SessionAttribute)をつかう 同一Controller…

AWSのEC2にはスワップ領域がないので、自分で設定する

なんてことでしょう。t2.microやt2.smallなど小規模インスタンスの場合には、スワップ領域がないのです。 メモリ使用量が多めの場合には、メモリエラーになってしまうことも。 なので、自分でSwap領域を確保してあげなければいけません。ということで、その…

Springの監査情報で、だれがいつ作成or更新したかを自動で付与する(SpringBoot/SpringData JPA)

DBの情報で、作成者や作成日や最終更新者や最終更新日を自分で追加していたけど、 Springに該当の機能があったので、調べたときの備忘録 やることは簡単、2ステップ。 1. Configクラスを作る @Configuration @EnableJpaAuditing public class JpaAuditorAwar…

Spring Securityのカスタマイズ、どこでなにするのか?のおぼえがき

Spring Boot/Spring Securityを使って、認証部分のカスタマイズについていろいろ調べてみた、ときの備忘録 というか、やってみたこと、というか、おぼえがき 認証全体の流れ リクエストが来たら SecurityFilter/AuthenticationFilterを通って Authentication…

supervisorでデーモン化する

Djangoのbackground tasksをデーモン化したいなーと思ったので、その際の備忘録。 supervisorとは Python製のデーモン化ツール Supervisor: A Process Control System — Supervisor 3.3.3 documentation インストール $ sudo yum install supervisor $ sudo …

JavaでURLからファイルをダウンロードする(commons-io)

URLのファイルをダウンロードしたいなと思ったけど、 commonsさんで一発だった。ので、その備忘録。 URL url = new URL("http://example.com/foo.txt"); // ダウンロードしたいURL File destFile = new File("bar.txt") // 保存先 FileUtils.copyURLToFile(u…

Djangoでログをカスタマイズして、レスポンス時の詳細をロギングする

Djangoを利用している際に、標準のロギングだとリクエスト時のパラメタが表示されない。。 POSTだとURLしか確認できないため、拡張してみたときの備忘録。 リクエスト/レスポンスに関する拡張ポイント Djangoでは、色々と拡張ポイントが用意されているらしく…

Androidのエミュレータでネットワークを使えるようにする

エミュレータを動かしているPCにGoogleのDNSを登録する必要があるらしい。 GoogleのDSNは、以下の2つ 8.8.8.8 8.8.4.4 参考にしたサイト様 Android Studio エミュレータのネットワーク設定

Androidで電話の発信・切断・状態の確認

Androidで電話を操作するアプリを作る機会があったので、その時の備忘録。 発信する 発信する場合は簡単。Intentを発行するだけでOK。 Context context = ...; String phoneNumber = "090-0000-9999" Uri uri = Uri.parse("tel:" + phoneNumber); Intent int…

Androidで常駐サービスを作ろう(Service/WakefulBroadcastReceiver/Doze/AlarmManager)

Androidで常駐起動するサービスを作ることがあったので、そのときの備忘録。 作るときのポイントを整理してみた。が、いろいろ考えることが多い。。。 ポイント WakefulBroadcastReceiverを使ってServiceを起動する スリープしてもWifiの接続を維持しておく …

Cygwin x Windowsでアクセス権限にはまる(chmod/setfacl/getfacl)

ファイルやディレクトリを作成・編集すると、権限が変わってしまう いつの頃かから、Eclipseなどから作成したファイル/ディレクトリの権限が060になっていたり、 gitで操作したファイルの権限が変わってしまうなど、よくわからないことが起こっていた。。 数…

Activity破棄問題をサポートしてくれるIcepickとparceler

破棄されやすいAndroidのActivity/Fragmentたち。ライブラリを使うと簡単に状態を保存/復元できるので、その備忘録。 Icepick … 状態の保存/復元をサポートするアノテーションライブラリ parceler … Objectをシリアライズするアノテーションライブラリ depen…

Androidでネットワークの状態を確認/判定する

ネットワーク確認 ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); // 接続状態状況の判定 boolean isConnected = activeNetwork != null…

Androidでファイル選択してSDカードとかにコピーする

Androidで、選択したファイルをコピーしたいなぁと思ったので、調べたときの備忘録。 大まかな手順は以下な感じ。 ファイルを選択する コピー先のパスを取得する UriからFileへコピーする 1. ファイルを選択する private final static int CHOSE_FILE_CODE =…

JavaでZipする/UnZipするzt-zipがすてき

Javaでzipファイルを扱いたいなとときの備忘録。 zt-zipが簡単そうだったので、その使い方まとめ dependenciesはこんな感じ compile 'org.zeroturnaround:zt-zip:1.12' Zipする zipする:名前はそのまま。拡張子も変わらない File targetFile = ....; // zip…

正方形のImageViewをカスタムViewで(Support Library版)

AndroidでRecyclerViewを使って、Gallery的な画面を作りたいなぁと思ったときの備忘録。 ほぼ、うさがにさんの記事の引用。Support LibraryのAppCompat版。 こんな感じ public class SquareImageView extends android.support.v7.widget.AppCompatImageView …

Androidでカレンダーを表示するライブラリ(CompactCalendarView)

Androidでカレンダーアプリを作る際に利用したCompactCalendarViewの備忘録。 いろいろ調べたけど、シンプルで使いやすいライブラリ。 使い方 色やサイズなどは、XMLで設定する感じ <com.github.sundeepk.compactcalendarview.CompactCalendarView android:id="@+id/calendar" android:layout_width="match_parent" android:layout_height="match_parent" <!-- 全体の設定:背景色、文字の色、文字のサイズ --> app:com…</com.github.sundeepk.compactcalendarview.compactcalendarview>

Androidで画面サイズを取得する方法

画面サイズを取得する方法を調べたので、その備忘録。 というか、a_nishimuraさんの記事の引用 Display display = activity.getWindowManager().getDefaultDisplay(); Point point = new Point(); display.getSize(point); displayWidth = point.x; 以上!!…