Contents
- 便利なスニペットについてはここも見とけよ見とけよ
- ファイル選択ではCmd + Shift + gでファイルのパスを入力できるようになる
- Cmd + deleteで行のカーソルから左側の文字だけを消せる
- Mission Controlの調子が悪いときは,ps aux | grep -i dock でDockを探してkillし,Dockを再起動させると直る
- historyコマンドの履歴は~/.bash_historyにたまっていく
- ファイル選択ダイアログではShift+Cmd+Gでパス入力ボックスを出せるので便利
- http://d.hatena.ne.jp/zariganitosh/20140523/minimum_bash_keybind
- Opt+クリックで,カーソルをクリックした位置に移動
- Ctrl+Wで,次の左側スペースまで削除(つまりオプションを削除できる)
- Ctrl+-で,undoできる
- fn + Opt + F1; Opt + Lでシステム環境設定の検索バーに移動できるので,そこにDockとうちこめばDockに行ける
- Alt + vで √ が入力できる
- スクリーンショット: コマンド+Shift+4
- Mac OS Xでの強制終了: Command + Opt + Esc
- Mac OS Xで,見つかったファイルをFinderで位置表示するには,Cmdを押しながらクリック
- スリープ復帰直後にBluetoothデバイスとの接続が切れるので,「よく使う項目」に設定した
- 行末移動はC-e
- EclipseではCmd + ->なので注意
- 文節移動はOpt + < or Opt + >
- gitにシンボリックリンク先みたいなものをcommitする
- Cmd + Opt + Tで入力可能な記号一覧が出せる
- ターミナルからの検索はmdfind
- ファイル名でgrepしたいときはfind ./ -name file_name.exe
- CodeRunner を買おうと思ったら高かったので, AppShopper に放り込んでおいた
- 購入しますた
- コマンドラインから通知センタを出すgem(terminal-notifier)を入れた
- http://heartbeatheart.blogspot.jp/2012/08/terminal-notifier.html
- terminal-notifier -message hogehoge
- ファイル検索してエディタで開くのが面倒なので,atomfind / emacsfindというシェル関数を作った.
- Homebrew Cask
- brew install caskroom/cask/brew-cask
- brew cask install macs-fan-control
- brew cask install refresh-finder ## finderのリフレッシュが遅いので入れておく
- brew cask install kext-utility
- Mac用のiOSアプリのプロトタイプ作成ツールの決定版「Form」がGoogleパワーで無料解放!!
- RecorditではなくLICECapを使おう
- Cockos Incorporated | LICEcap
- Recorditは勝手にWebにアップしちゃうからな〜
- IMG2ICNS で.icns画像を作成
- アプリケーションのパッケージ内容を見て,Contents/Resourcesあたりに置く
- セル内の改行は Cmd + Opt + Enter(めんどくさいからCmd + Opt + Shift + Enterでもいいよ)
- 選択範囲のクリアは、fn + delete
shellの話だよー
入力待ちの突破にはexpect
#!/usr/bin/env bash (set -eu -o pipefail; \ scp_password=$1; \ version_tag=${2:-`date '+%Y%m%d'`}; \ expect <<EOF set timeout 10 spawn scp -P 22 .//app/build/outputs/apk/myapp-debug.apk [email protected]:/var/www/html/apps/${version_tag}.apk expect "[email protected]'s password:" send "${scp_password}\n" expect eof EOF )
パイプ対応には-pオプションを見る
gsearch_d () { ( if [ -p /dev/stdin ]; then a=$(cat -); else a=$@; fi; argv=("$a"); str="$(echo -n $argv | nkf -wMQ | sed 's/=$//g' | tr = % | tr -d "\n")"; open https://www.google.co.jp/search?btnI'&'q="$str" & exit ) }
パッケージ名を変更する(配下のディレクトリ内の文字列を変更する)
$ find . -type f -name '*' -print0 | xargs -0 perl -i.bak -pe 's/jp.co.hackugyo/jp.co.hackugyo2/g' $ find . -type f -name '*.bak' -print0 | xargs -0 rm -rf
[メモ書き] windowsから送られてきたzipがMacで文字化けするの何とかする - Qiita
- $unar
画像のリサイズ
- sips -Z 640 *.jpg
- 比率を保って,高さまたは幅の最大値を640としてresize
sshコマンドを自動補完するbash-completionを入れた
findで検索した結果を次のコマンドに渡したいとき,ただパイプするだけではだめ。
printenvで環境変数一覧になる
unsetで環境変数を削除できる
setするときはexport ENV_NAME=env_value
column -tでタブ区切りテキストをきれいに表示できる
- http://qiita.com/__Bren/items/62d8c11e818e4cafb0d5
- column -s cで"c"をデリミタにできるみたいだけどよくわからない
echo $(whoami)で現在のユーザ名が出せる
USB機器の一覧を出すusb_listというコマンドを作った,list_usbsというコマンドも作った
zipするときに特定フォルダを除外するには
zip -r whatever_you_want.zip ./what_you_zip/ -x ./what_you_zip/.git/\*
- 最後のバックスラッシュアスタリスクがないとだめ
- http://kagen88.blogspot.jp/2012/12/linuxzip.html
chmod u+x ~/Desktop/SMBC_UNINSTALL.command
#!/bin/sh
set -e # stop when an error happens
set -x # show commands in strderr before execute it
echo "mokotan"
-
which コマンドで場所がわかるけど,type がよい
-
for F in btn_z01_*; do mv
$F $ {F/z01/new};done -
seq -f "201303%02g.rst" 31 | xargs touch #create_serial_files
-
nkf
- コマンドラインから文字コード変換したかったのでsudo port install nkfした
-
ファイル名置換
-
linuxのrenameコマンドがほしいよー
-
入れた! http://qiita.com/shuhei@github/items/cf1ddf373d1f83d5d667
-
これで置換可能
find . -type f -iname 'btn_cancel_*.png' -print0 | xargs -0 rename 's/.png/_off.png/i'
-
-
ln -s source directory でシンボリックリンク作成
- lnのリンク先を確認するにはreadlink
-
grepでSEARCH_WORDを,カレントディレクトリ以下から再帰的に検索する
grep -rn -e SEARCH_WORD .
- mdfind使ったほうが早い
-
sipsコマンドを使うと画像の情報が見られる
- sips -g pixelHeight -g pixelWidth *.png
- http://blog.hekt.org/archives/5031
-
update-alternativesはMac OS Xにはないのか
-
echo "暗号化前" | openssl enc -e -aes-256-cbc -salt -base64 -pass pass:password | openssl enc -d -aes-256-cbc -salt -base64
-
bash_profileにlsで色をつける設定を書いた
- sourceコマンドで再読みこみすると反映される
- めんどくせえからrelaod_bashrcというaliasをつけた
-
pathを出すときに改行を入れたいから'echo -e ${PATH//:/\n}'を作った
- これもめんどくせえからshow_pathというaliasを設定した
-
aliasコマンドで現在のalias一覧がとれる
-
bookmarkはC-x r b(一覧表示はC-x r l)
-
binarycookiesファイルのリーダを入れた
- http://www.securitylearn.net/2012/10/27/cookies-binarycookies-reader/
- /Users/HACKUGYO/shellscripts/BinaryCookieReader.pyにしまった
-
Cmd + Wでタブが閉じるのがうっとうしいので,ショートカットをOpt + Shift + Cmd + Wに変えた
- http://blog.basyura.org/entry/20090130/p3
- ターミナル.appはアプリケーション/ユーティリティの中にあるので注意
-
Terminal内のブックマークを作れる Bashmarks を入れた
$ s shortname # save current path as `shortname` $ g shortname # cd to stored path $ o shortname # open the bookmark in Finder $ y shortname # open the bookmark in a new tab
-
- sudo easy_install percol
- ps aux | percol
- これで標準入力のなかから1行を選択して標準出力することができる
- from: http://qiita.com/yuku_t/items/f53a9d3ea92614b0927d
-
ターミナルから設定画面を表示するショートカットを作った
- # Laucnch an app setting screen in the device
- # http://qiita.com/t2low/items/4ec1e9cab8621cd23396
- appinfo() { adb shell am start -a android.settings.APPLICATION_DETAILS_SETTINGS -d package:$1; }
-
検索はag使った方がよい
- http://blog.glidenote.com/blog/2013/02/28/the-silver-searcher-better-than-ack/
- http://qiita.com/yuyuchu3333/items/4c57186e37db9eb3db15
- 正式名称は`The Silver Searcher <https://github.com/ggreer/the_silver_searcher>`_
- ag.elを入れた
- agの必殺技として,ディレクトリに.agignoreを置いておけばag searchword
- ignoreオプションでファイル名を指定して除外できる
-
ptもいいのだが検索オプションが弱すぎる.たとえばこんなふうにしてptをjqと組み合わせるといい
# $ ./find.sh dir (set -eu -o pipefail; \ dirname $0; \ pt price=\"10000\" $@ | ag "year=\"201[45]" | \ # 条件にあったsearchedディレクトリのファイルを探す percol | tee /dev/stderr | \ # 検索の途中経過はstderrに吐いて見えるようにする cut -d ":" -s -f 1 | \ ag の結果を整形 sed 's/\/searched\//\/target\//g' | \ # searchedディレクトリにあったファイルと同名でtargetファイルにあるものを探す xargs nkf -u | ag FUND_NAME # 文字コードをutf8にして内部を検索 \ )
- コマンドラインでJSONを操れるjqをインストールした
- オプション-Lでリダイレクトを追う
- オプション-wでいろいろな情報を直接吐き出せる
- httpieを入れた(curlのかわり)
- http://qiita.com/yuku_t/items/5df06d50c4c349cc0c1b
- POSTのときはhttp -f POST
- http://d.hatena.ne.jp/toritori0318/20130405/1365180205
- http://d.hatena.ne.jp/suer/20110125/wget_curl_session
- なんと--session=mokotanと名前をつけることでセッションを引き回すことができる!
- ちなみにcurlのときは curl -X POST -d "key=value" -d "key2=value2" url
- 最近閉じたタブ:メニューバーの黄色い「←」を触ってごらん
- いいかい?新規ワークスペースを作ったら文字化けするもんなんだよ
- それを解消するにはGeneral>Content Types>Text>Java Soucre File>Default encodingにutf-8を入れる
- Eclipseの文字コードをutf-8に設定する
- Eclipse Quicksearch も入れたよ
- 行の途中で";"、"{"を入力した際に行末に追加してくれる設定は[Window]-[Preferences]-[Java]-[Editor]-[Typing]
- General - keys - Build CleanにShift + Ctrl + Cを定義した!
- Opt + Cmd + DOWNで行コピー
- Alt + F11でAndroid Device Chooser(ビルド用)を出せるぞ
- Ctrl + Qで最後に編集した箇所に飛べる
- ビルドを高速化するFAAPTを入れた!
- http://forum.xda-developers.com/showthread.php?t=1907281
- /Applications/adt-bundle-mac-x86_64/sdk/platform-tools
- ここのaaptを入れ替えた
- Cmd + Shift + Rでファイル名指定で開くことができる!
- シンタックスハイライトが消えてしまったときは,Java > Editor > Mark occurenceを確認
- Shift + Cmd + O でインポートの編成を自動整理
- Cmd + Shift + Y で選択文字列を小文字化
- 一部だけautoindentさせたくないときは,"@formatter:off"
- ターミナルプラグイン
- http://alexruiz.developerblogs.com/?p=2428
- Google謹製
- utf-8をちゃんと読んでくれない
- Eclipseが勝手にJUNOになった件
- Cmd + Opt + A で矩形選択
- EclipseのWorkingSetには,プロジェクトだけでなくディレクトリ単位で指定出来る
- EclipseのSearchビューのExpand Allは,じつはショートカットがある.Opt+->
- Eclipseで,見ていたタブをBackward Historyするには,Cmd + [
- 同じファイルを別のタブで開く場合,Windows -> New Editorを選択する
- caller検索はCmd + Shift + G
- Export時にExlipseが落ちるようになったらBuild Automaticallyを切る
- Eclipseデバッガを活用する
- EclipseのメニューにAndroid SDK Managerが表示されない時の対処法 - スマホアプリを作るのだ!
-
関数型
-
状態管理
-
[翻訳] android best practice - Qiita
- なんか,よいパッケージ構成もなんだかなっていう感じだな
- network
- models
- managers
- utils
- fragments
- activities # 極力すくなくする
- views
- adapters
- actionbar
- widgets
- notifications
- styles.xmlには,少なくともText用のStyleを入れよう
- colors.xmlは色の名前で定義して,ボタンの名前はstyleで定義しよう
-
Cloudinaryすげえな
-
これから Android 開発をするなら抑えておきたい環境構築AtoZ - Qiita
- キーストアの設定は,build.gradleに props.load を埋め込むことで外側に出しておくべき
-
AsyncTaskLoader
-
mipmap-
-
- Fragmentは難しい
-
Kioskモード
-
Androidアプリを新規リリースする際のあれこれ - クックパッド開発者ブログ
- PlayStoreの文言の準備(タイトル[30文字], 簡単な説明[80文字], 詳細な説明[4000文字])
- PlayStoreのストア用画像の準備(スクショ2枚, 高解像度アイコン[512x512], 宣伝用画像 [1024x500])
- Bugレポート系ツール(Crashlyticsなど..)の動作確認
- ログ収集系ツール(Mixpanel, GoogleAnalyticsなど..)の動作確認
- 通信するAPIが社外ネットワークからアクセス可能か確認
- デバッグ用のActivityがmainのAndroidManifestに含まれていないか確認
- release用のkeystoreでビルドされているか確認
- 利用しているOSSのオープンソースライセンスが明記されているか確認
- applicationIdの確認
-
Y.A.M の 雑記帳: Facebookとそれ以外でACTION_SENDで渡すテキストを変える
- chooserかましてどこに渡されるのか把握したあと,パッケージ名で内容物を切り替えて再発射
- なお再発射時はIntent#setPackageではなくIntent#setClassNameがよいらしい
-
Facebookアプリ(要するに自分が名前を管理してないアプリ)のAndroidMarketページに飛ばしたい場合、market://search?q=<seach_query>&c=apps
-
Communicating with Other Fragments | Android Developers
- Fragment間の通知はActivityを経由して行うということ
-
Android - 設定画面のインテントアクションまとめ - Qiita
- ACTION_SYNC_SETTINGSで動機設定を行うことができる
-
Advocating Against Android Fragments
- うーん
-
https://github.com/xxv/android-lifecycle
- この絵は役に立った
-
adbで入ってpermissionがないときは run-as パッケージ名
% adb shell $ run-as com.exmaple.package.of.mine $ cd databases $ cat purchase.db > /mnt/sdcard/purchase.db % adb pull /mnt/sdcard/purchase.db ~/Documents/morningstar/purchase.db
-
pidcatの使いかたがわからないよおお
-
BlueStacksを入れたけどエミュレータとしては動かないのか?
- http://toomva.blog60.fc2.com/blog-entry-409.html
- adb connect 127.0.0.1で動いた
-
Genymotionsのほうがいい
- バージョン2.0になって,Google Playはプリインストールされなくなったので,zipをD&Dして入れておくこと
- http://nahareport.blogspot.jp/2013/09/android-genymotion.html
-
複数行入力可能なEditText(キーボードに改行マークが出る)にしたい場合,inputTypeをtextMultilineにすること
-
4.2系で開発するときの注意:
- 古いversionCodeのパッケージを上書きできない
- JavaScriptにインてフェースを公開する場合,annotationがproguardにつぶされないように注意
- -keepattributes Annotation
- http://d.hatena.ne.jp/hyoromo/20130421/1366527295
-
Locale.getDefault()は正しく動かない
- getResources().getConfiguration().localeを使うこと
- http://developer.android.com/guide/topics/resources/localization.html
-
WebViewのloadUrl()はrun()ではなくrunOnUiThread()で呼ぶこと(必要なら)
-
Stringには変数を入れておくことができる
- <string name="buybooks">本を%1$d冊買います</string>
- getString(R.string.buybooks, 4);
- http://y-anz-m.blogspot.jp/2011/03/android-xml.html
-
ThemeでAnimationをセットしてもICSでは動かない
- overridePendingTransition()を使うこと
- http://stackoverflow.com/questions/11451943/why-my-close-activity-animation-doesnt-work-on-android-4-0-ics
-
アイコンパックを買った
- ~/Pictures/AndroidIcons/android_developer_icons_2/
- http://www.androidicons.com/
- 「3連ライン」は,ic_action_list というらしい
- githubにけっこう落ちているもよう
-
スクリーンキャプチャ(動画)
- androidscrencast
- http://code.google.com/p/androidscreencast/
- javaws ~/Downloads/androidscreencast.jnlp で動かせる
-
リリース用キーをデバグ用キーとしても使えるようにする
- keytool -importkeystore -v -srckeystore <リリース署名のファイル> -destkeystore <出力先ファイル> -srcstorepass <リリース署名のStoreパスワード> -deststorepass android -srcalias <リリース署名のエイリアス> -destalias androiddebugkey -srckeypass <リリース署名のKeyパスワード> -destkeypass android
- 要するにパスワードとエイリアスとを変更した新キーストアを作る
- これらのキーストアはハッシュが同一
- 試しにハッシュをとってみればわかる
- keytool -exportcert -alias エイリアス -keystore debug.keystore | openssl sha1 -binary | openssl base64
-
~/Desktop/ShowAppSetting.command を作ったので,引数としてアプリのパッケージ名,device名を指定して起動してみて
-
Google Play Sercices APIの一覧
- Google Playサービスを必要なだけAndroidStudioプロジェクトに追加する - Qiita
- Google Play GameってQuestを作れるらしいぞ!?
-
「Android 4.4だとちゃんと文字選択できるのに、4.2だとできない」というときはClickableSpanを疑う - Qiita
-
Otto
-
Android - Ottoを使ってて気づいたこと - Qiita
- BusHolderにpostするイベントは,enumで作った定数でよい.#post(HogeEvent.FOO); とか
- うーんなんかeventはこんなにぽこじゃか立てる必要ないなあ
-
Android - Ottoを使ってて気づいたこと - Qiita
-
intent://#Intent;scheme=myapp;package=com.rakuishi.myapp;endというインテントを飛ばすと……
-
https://github.com/kevinsawicki/Android_Pusher
- リアルタイム通信サポートのPusherというやつに対応させる
- べんりそう
-
ジョブキューを作ってくれるやつ <https://github.com/path/android-priority-jobqueue>
-
savedInstancesをやりやすくしてくれるやつ <https://github.com/frankiesardo/icepick>
-
Calendarの代替 <https://github.com/JodaOrg/joda-time>
-
SharedPreferencesの暗号化 <https://github.com/scottyab/secure-preferences>
-
JSONPullParser <https://github.com/vvakame/JsonPullParser/wiki/JsonPullParser_ja>
-
Guavaをどっぷり紹介(I/O編) - Kengo's blog
- ByteArrayOutputStreamが重くて落ちる場合FileBackedOutputStreamを使うとよい
-
タイトルとか決めてないけどこのままでもいいかもしんない: AndroidUIテストフレームワークのEspresso2.0が出たので試してみた
-
RecyclerViewはListViewの代替ではないよねという話 - visible true
- RecyclerViewはStaggeredGridLayoutManagerのようなLayoutManagerを使っていろいろできる
-
- Method TrackingをLogcatから起動できるのでやってみよう
-
Android4.4ではServiceキルされるとSTART_STICKYが効かずに死んでしまう
- 【Android M】アプリ内からPermission設定画面に遷移する(失敗編) - Qiita
- 既存アプリに影響するAndroid 6.0での変更点 - Firespeed
- Android - M Permissions対応についての簡単な記事 - Qiita
- M Permissionsに対応するためのアクティビティ図 - visible true
- 振動するようにする
- https://github.com/TechFreak/WizardPager
- WizardPagerでWizardを作ろう
- AndroidのTextInputLayoutの色をカスタマイズする - woshidan's blog
- ワンページスタイルをAndroidで実現するdiscrollViewかっこいいね
- Android - スクロールしない固定サイズのListViewを作成する - Qiita
- 手軽にチュートリアルが組み込めるAndroidのライブラリ、MaterialShowcaseViewを使ってみる。 - さまよえる、Android
- Androidのボタン系ライブラリ、FancyButtonsが洒落てる。 - さまよえる、Android
- Androidのダイアログライブラリ、material-dialogsを触ってみた。 - さまよえる、Android
- Androidのグラフライブラリ、WilliamChartを使ってみた。 - さまよえる、Android
- Androidライブラリ、LicensedDialogを使ってみた。 - さまよえる、Android
- SlackのAndroidアプリで使われているライブラリ - Qiita
- https://github.com/googlecreativelab/landmarker
- https://github.com/pedrovgs/EffectiveAndroidUI
- Android - CardViewでEdge-to-edgeなカードを作るときに気をつけるポイント - Qiita
- Android - EditText 2014 - Qiita
- カードUI的にしたいぞ
- カルーセルを左右を見せるようなものにしたい
- Android - SwipeRefreshLayoutをListFragmentで使うとゾンビ化することがある - Qiita
- SwipeRefreshLayoutを拡張したSwipreRefreshListFragmentはそのままだと使えない
- SwipeRefreshListFragment.java | Android Developers
- カレンダUI <https://github.com/square/android-times-square>
- マテリアルなナビゲーションドロワー。 - なるようになるといいね
- ioschedでは,ほんもののActionBarをThemeで非表示にして,ToolbarをActionBarとして利用することで,画面全体にナヴィゲーションドロワーが表示されるようにしている
- ドロワーは各Activityで管理していることになる
- ドロワーが閉じるアニメーションが終わったころにActivity遷移が起きるように,わざわざStartActivity()にディレイをかけている
- Javaからの利用を視野に入れたKotlinコードで何をするべきか - Qiita
- Simplest version | Try Kotlin
- Android開発はKotlinで - Qiita
- 2015年のAndroid開発はKotlinで決まりかもしれない - みんからきりまで
- https://github.com/citrous/palettesample/blob/master/app/src/main/kotlin/jp/citrous/palettesample/MainActivity.kt
- Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita
- Kotlin Android Extensionsを試してみた - Qiita
- [Kotlin][Android] KotlinでAndroidアプリケーション [独特な書き方] | Developers.IO
- Android - KotlinでFragment書くときのテンプレート - Qiita
- 僕たちandroidエンジニアがkotlinを書かなければいけない理由 - Qiita
- Android開発でKotlinを使って気持ち良かったこと3つ - Qiita
- 次世代言語Kotlinを使ったAndroid開発とヤフーの新技術との向き合い方 - Yahoo! JAPAN Tech Blog
- 今更ながらKotlin Android Extensionsを入れたら楽になったよというお話 – グロージェントの中の人
- Top 7 Tips for RxJava on Android — Futurice
- #cache()を使えば,同じObservableを複数のObserverが読み,しかも見る値は同じ,ということを実現できる
- [Android] 夏休みだったので画像を検索してひたすらファボるTwitterアプリつくった
- Async Android | jdamcd
- RxAndroid v1.0.0からのライフサイクルへのバインド方法 - Qiita
- RxJavaに3日で入門し、Androidアプリのリスト操作、非同期処理、変更通知の課題を解決した話 - Qiita
- ReactiveX (リアクティブ エクステンション)に入門した - bati11's diary
- AndroidアプリでRealmがクラッシュしたらSQLiteに変更する仕組みとその効果 - Qiita
- Realmの暗号化とAndroid System
- AndroidのORMに求めること、あるいはOrmaを開発した話 - Islands in the byte stream
- Appium: モバイルアプリのテスト自動化はすごいことになった
- Nexus 5Xが届いた今こそ adb tcpip が見直されるべき | めがねをかけるんだ
- uiautomatorviewer
- monkeyテストができる
- adb shell monkey -v -p jp.hackugyo.navigationdrawersample 500
- adb shell input swipe 400 100 20 100
- これのドキュメントってどこにあるんだろうな
- Faucet ~Fight against memory leak~ // Speaker Deck
- https://github.com/sys1yagi/faucet
- maven {url 'htts://raw.githubusercontent.com/sys1yagi/faucet/master/repository' }
- buildscript#dependenciets#repositories と
- dependenciets#repositories との2箇所にかく
- apply pulgin: 'faucet'
- これは便利なのでは
-
gradle - Android開発してて不要なresourceを削除したい - Qiita
- $sudo easy_install android-resource-remover
- $ ./gradlew clean build lint && android-resource-remover --xml app/build/outputs/lint-results.xml # gradlew lintが生成したlint-results.xmlファイルを利用する
- なんか,app/build.gradleに android { lintOptions { abortOnError false } }を追記しないとgradlewがlintを吐かなかった
- まず,android list targetsでAVD一覧をとる.
- ここでとったAVDのidを,次のところで用いる.
/Users/HACKUGYO/android-sdks/tools/android update project -p . --target 34 --subprojects
- これで,build.xmlが正しく生成されるはず.
- http://qiita.com/items/30131635a221a1dace3e
- Jenkinsとの連携
- AndroidStudioのビルドを止めるには./gradlew --stopが有効
- Android Studio on Mac でオプションキー ⌥ のキーバインディングが効かないときの対処方法 - Qiita
- AndroidStudio - El CapitanにしてAndroid Studioのフォントがみすぼらしくなった時に見るページ - Qiita
- gitignoreの初期値を増やす
- Undo回数を増やす
- http://ja.stackoverflow.com/a/8040/230
- Help>Find Action > Include non-menu actionsしたうえで,registryで検索
- undo.documentUndoLimitを2147483647に設定
- Android StudioでModuleを削除するには
- http://stackoverflow.com/a/24592192
- Cmd + ;で出るProject Structureから削除する
- JavaDocが表示されないと思ったら単にウィンドウのサイズが小さすぎるだけ
- 移動するにはCmd + oやCmd + Shif + oやCmd + Alt + oを使おう
- http://d.hatena.ne.jp/bs-android/20130519/1368971834
- http://d.hatena.ne.jp/bs-android/20130517/1368718470
- Android Studio で on the fly な 自動インポート を。
- Solving the Android image loading problem: Volley vs. Picasso | Big Nerd Ranch
- [Android Studio] 快適にコーディングできるように設定をカスタマイズしてみた | Developers.IO
- Android Studio Plugins
バッファ一覧(C-x C-b)のうち指定したものを閉じるには,kでマークしてxで一括実行
Emacsで狙った括弧の閉じ括弧に移動するにはCtrl+Opt+n
re-builderを使うといま書いている正規表現がちゃんとしたものかどうか判断しやすい
- http://shibayu36.hatenablog.com/entry/2013/01/15/201827
- M-x re-builderして書くと現在のマッチング状況がプレビューされる
hiwin-modeを入れたので非アクティヴなウィンドウをグレーにするようになった
選択した行の先頭(複数行の先頭)にスペース挿入
- http://qiita.com/shimomai@github/items/97bf729f4a4b8f04d0ce
- C-u 4 C-x Tabで選択範囲行頭にスペース4つが入る
Emacsで選択範囲をコードとして実行するにはM-| (Opt + Shift + ¥)
http://tech.kayac.com/archive/shell-command-on-emacs.html
- これはよくわからなかった.'&'をつけるっていうのはどこでつけるの?
練習してみよう!
puts (1..100).to_a.join(',') # ruby code!
Emacsでカーソルを次の文節に移動するにはM-f
Emacsで狙った文字列をハイライトするにはM-s h r
- highligiht-regexp
Emacsで同じ文字を100回入力: C-u 1 0 0 -
Emacsで開きカッコの移動
- C-M + n
- C-M + p
EmacsでJSON整形: json-modeでM-x beautify-json
- しかし,残念ながらJSONに"¥"が入っていると,pythonがutf8として理解できず落ちてしまう.
- 日本語が入っていると,そこが消えてしまう
- とおもったら,コマンドラインから叩くといけるので,Emacs側の問題なのかも
- さっきやったらUTF8として正しくデコードしてくれた!?
smooth-scrollを入れた
文字に 色を つけることができる
.red {color:red}- file-cache
- ディレクトリをあらかじめ追加しておくとファイル開くとき保管してくれるが……
- Emacs起動後に作成したファイルを対象にするには,M-x file-cache-add-directory-recursively とかしないといけない
- http://www.bookshelf.jp/soft/meadow_23.html#SEC228
- bookmark
- C-x r m でカレントバッファを追加
- C-x r l でブックマーク一覧を表示
- C-x r b でブックマーク名を指定して開く
- http://maruta.be/intfloat_staff/53
- ディレクトリ内検索
- http://akio0911.net/archives/3426
- C-x C-f で、検索対象のディレクトリを開いておき,M-x grep-find
- 矩形選択
- cua-mode: リージョン選択中にもう一度C-<enter>
- Emacs - 複数行の先頭にスペース挿入/削除コマンド - Qiita [キータ]
- C-x r tでスペースを好きなだけ叩いてRET
- 覚えかたはRegion Text
- diredで一括文字コード変換
- C-x dでdiredモードにして,directory editを開始
- この状態でmキーでファイル選択をして,dired-mode-hookに追加したとおり"T"で一括置換
- http://d.hatena.ne.jp/gan2/20070705/1183640419
- json-modeのbeautify-jsonと,通常インデントとが合わないので設定変更
- android-mode
- http://qiita.com/items/bab8c1d27255b03b9ee1
- プロジェクト作成,DDMSやエミュレータの起動,アプリインストールまでできる
- サンプルアプリを ~/git/android_emacs_mode_sample に作った
- kill-all-buffer ?
- C-x C-b でbufferのリストが出せる
- 対応するカッコに飛ぶ
- C-M
- Emacsをターミナルの外で開くようにする
- emacscというエイリアスを設定した
- bookmarkを開く
- Ctrl-x r b
- org-mode による論文作成入門 - 勉強日記
- Pandoc
- org 文書をはてな記法に変換する ox-hatena.el (旧 org-export-hatena) を作った - 勉強日記
- EmacsでMarkdown記法での執筆環境を整えた | Futurismo
- wで次の単語に移動.bで前の単語に移動.$で行末に移動
- 当然,コマンドモードのときだけ
- 挿入モードのときに1回だけコマンド入力してすぐ戻りたい場合,Ctrl+oがおすすめ
- 何発もコマンド入力したい場合はEscで切り替える
- エディタ上に行表示するには:set number
- http://www.lovebug.jp/index.php?viエディタ上に行番号表示
-
git checkout $BADCOMMIT^ $DELETED_FILE_PATH で,削除したファイルをもとに戻せる
-
git log --follow --name-status $FILENAME でファイル名変更を含めてステータスを追える
-
diff-highlightがない
- diff-highlightを使用してみる | Gerolian
- 落としてこないとだめ
-
CRLFの撲滅
- nkf -w -Lu --overwrite *.bat
-
Git - masterのpushを常に禁止する - Qiita
-
以下のpre_pushシェルスクリプトを配置しておく
#!/bin/sh # if the branch is master, then fail. branch="$(git symbolic-ref HEAD 2>/dev/null)" || \ "$(git describe --contains --all HEAD)" if [ "${branch##refs/heads/}" = "master" ]; then echo "Do not commit on the master branch!" exit 1 fi
-
-
git diff head^..head | diff-highlight | less -r で文字単位の差分比較
-
git rebase -i --autosquash で,コミットメッセージがfixup! nnnから始まっているものを自動的にコミットnnnにfixupしてくれる
-
find ./ -name NAME | percol | xargs git log --follow #見つけたファイルをリネーム追跡しつつgit logする
-
既にgit管理しているファイルをあえて無視する
- git update-index --skip-worktree [ファイル名]
- git update-index --no-skip-worktree [ファイル名]
- git ls-files -v
- http://qiita.com/items/56d0d3ba7a1300625f92
-
gitconfigからも,emacsclientでエディタを開くようにする
-
gitignore生成にはgibo(gitignore-boilerplates)を入れてある
- gibo emacs osx android > .gitignore
-
diff-hightlightを入れた
- https://github.com/git/git/tree/master/contrib/diff-highlight
- /opt/local/share/git-core/contrib/diff-highlightからシンボリックリンクで/opt/local/binに置いてある
-
連続してcherry-pick
- rebaseだともとのブランチ消えちゃうもんね
- 書式「..」を利用してgit cherry-pick example_01..example_03
- http://shigemk2.hatenablog.com/entry/20130115/1358244775
- go install がうまくいかないときはGOPATH配下のディレクトリ構造をみなおせ
- 特定のディレクトリでだけrvm設定を強制するには,.rvmrcファイルを置く
- rvm use 1.9.2
- pryのshow-source最強
- QRCode生成用にrqrcodeを入れた
- http://dharry.hatenablog.com/entry/2013/09/08/164335
- sizeの値を12ぐらいにしないとURLの長さによっては入らないので注意(QRコードの規格)
- 起動時はconfig.ruを書いてRackup
- Rubyコードの可読性をチェックできるrubocop https://github.com/bbatsov/rubocop
- 各アラートの意味 https://github.com/ryshinoz/rubocop_sample/blob/master/README.md
textile(Redmineのwiki記法)をpdfに変換できる
- Redmine本体ほど寛容でないので,仕上がりを確認すること
nokogiri1.5.10を使うのだが,nokogiriは不寛容で,invalid UTF-8が入っているやつを読んでくれない
- nokogiriのdocument_fragment.rbを改造するとパスできる.
if ctx preexisting_errors = document.errors.dup node_set = ctx.parse("<div>#{tags}</div>") node_set.first.children.each { |child| child.parent = self } unless node_set.empty? self.errors = document.errors - preexisting_errors else # この2行を追加 # http://blog.livedoor.jp/sonots/archives/23652294.html tags.force_encoding('UTF-8') tags = tags.encode("UTF-16BE", "UTF-8", :invalid => :replace, :undef => :replace, :replace => '?').encode("UTF-8") # ここまで追加 # This is a horrible hack, but I don't care if tags.strip =~ /^<body/i ...
- npmツールで強力なモックになるeasymockがすごいのでは?
- APIのモックを簡単に作成できる「node-easymock」 - 大学生からはじめるWeb開発
- ディレクトリにuser_get.jsonを置いて起動すると,localhost:3000/userにGETできる
- ルーティングもconfig.jsonで可能
- API Documentation を自動生成してくれる
- 縦書きができるMarkdownエディタ!?
pdf 化
- rst2pdf -s ja --font-path=~/fonts/migu-1m-20120411-2/migu-1m-regular.ttf wgaoi.rst
landslide -d dest.html *.rst でOK
gimp が入らねえ
デスクトップアプリとして入れて,
open -a gimp ~/Desktop/sample.png
sphinx_bootstrap_themeを入れた
- pip install sphinx_bootstrap_theme
- conf.pyにて設定
- slideshow gemを入れた
- http://crifff.tumblr.com/post/22917038236/markdown
- テーマとしてshowerを入れてトップ画像だけ変更
- /Users/HACKUGYO/.slideshow を参照
- プロジェクト内の依存関係を図示する
- objc_dep
- Graphvizによって.dotファイルを読み込む
- その前に,brew install gts / brew install graphviz
- brewしたら,dot -Tpng 生成したdotファイル.dot -o sample1.pngJ
- /Users/HACKUGYO/git/objc_dep
- iPhone5用のスケッチシート
- iOSアプリのリバースエンジニアリング:Lyftをハックする, with Conrad Kramer - Realm is a mobile database: a replacement for SQLite & Core Data
- ⚡️Brew Sparkling: homebrew for iOS - みずぴー日記
- $ brew sparkling install SparklingSample
- AutoLayout
- Swift 1.2のif let複数宣言と例外処理 - Qiita
- 既存コードSwift2.0とiOS9対応の暫定措置 - Qiita
- Swift - ローディング時のズルい進捗表示 - Qiita
- Swizzling with Swift, by Sash Zats - Realm is a mobile database: a replacement for SQLite & Core Data
- generate a random UIColor
- iPhone - Swiftで作られたイケてるUIライブラリたち - Qiita
- https://github.com/fullstackio/FlappySwift
- SwiftでFlappybird
- iPhone - SwiftのRSS Readerを100行で作ったよ - Qiita
- Swift - iOSのトラッキング実装ベストプラクティスを考える - Qiita
-
XCodeだよー
-
UIApplicationMain Exception(EXEC_BAD_ACCESS)の対応
- Xcode: One Weird Debugging Trick That Will Save Your Life
- po $arg1
- なぜか正しく動作しない
-
poがクラスメソッドに対して正しく反応しない問題
- (lldb) po [[[[(Class)objc_getClass("UIApplication") class] sharedApplication] keyWindow] recursiveDescription]
-
Xcode5のデバッガが変数をちゃんとinspectしない問題
- cocos2d-x Xcodeのデバッガでまともに変数が表示されない問題 : やっちんのゲーム製作日誌
- xcodeProjのBuild Settings#Other C Flags#Debugのオプションとして、 -O0 っていうのを追加してやったらOK
-
http://wazanova.jp/post/66156067230/spotify-ios
- ビルドの “Debug Information Format” を “DWARF with dSYM File” から “DWARF” に変更。
-
iOS9 - Xcode7GMでビルドすると「does not contain bitcode.」とか言われる - Qiita
- 「Build Settings」から「Enable Bitcode」の項目を検索し、NOにしましょう。
-
Xcode6で追加された"Debug View Hierarchy"機能はXcode7だとどこにあるの
- objective c - Xcode 6.1 can't find 'debug view hierarchy' button - Stack Overflow
- Debug AreaではなくDebug Navigatorに移ってまーすwwww
-
iOSアプリのコーディング規約を考える時はGoogleよりもNYTimesのObjective-Cスタイルガイドを参考にすべき - Steel Dragon 14106
-
Xcode: One Weird Debugging Trick That Will Save Your Life
- Exception BreakPointをしかけるときにActionとして"po $arg1"を仕込むことができ,これによってエラーの中身を見やすくすることができる
-
はあああ!?エミュレータのサイズってCmd + 2, Cmd + 3で小さくできるの!?
-
iOS - Xcode6のiPhone Simulatorのディレクトリが分かりにくかったけどいいアプリめっけた! - Qiita
- SimPholders2を使え
-
Cmd + Shift + ] でタブを右に移動できる
-
AppleDocというのを導入した
- brew install appledoc
- http://qiita.com/mtgto/items/c97c59d93fe67d748055
- だめだ! AppledocException: Typedef with name TextFieldType is already registeredが出る
- 原因もよくわからんので捨てましょう
-
ログに色をつけた
- XcodeColorsというプラグインがある
- 特殊な記法を使って色をつけることができるようになった
NSLog(@"\033[fg255,0,0;%@\033[;", @"Red log");
インデントはCtrl + i
エディタの右上の+マークを押すとタブが増える
- Cmd + Tでもよい
Command+Shift+Oでファイル名orメソッド定義での検索ができる
Command+Clickでメソッド定義に遷移できる
クラス階層はSymbol Navigatorを使う
- AppCode IDE との比較が逆説的に参考になる
Xcodeではタブの動きはひどいので使わないほうがいい.
- シングルクリックを極力やらないようにして(設定ではオフにできない),別ウィンドウで開く.
- http://d.hatena.ne.jp/cooking_3min/20121205/1354689415
- いちおう,opt+Clickで新規タブに出すようにはできるが
- Opt+Cmd+Oでファイル探査し,ファイルを開く際にShft+Optを押していると,新規タブで開くようにできる.
恥ずかしいコメントを消すために,以下の正規表現で検索
regexp = "\/\/[[a-zA-z0-9]|\s|:]*[[ぁ-ヶ]|[亜-黑]]+" # "// FakeIt: 日本語コメント" # "// 日本語コメント # のような記述に該当する
端末がXcodeに読み込まれないときの対処
Xcode has encountered an unexpected error (0xC002) No such file or directory, at ‘/SourceCache/DTDeviceKit/DTDeviceKit-867/DTDeviceKit/DTDeviceKit_Utilities.m:864’
- Xcodeを閉じて、以下のパスに移動
- "~/Library/Developer/Xcode/iOS DeviceSupport/5.0.1(9A405)/Symbols/System/Library/Caches/com.apple.dyld/"
- 空のファイルを作る
- .copied_dyld_shared_cache_armv7
- .processed_dyld_shared_cache_armv7
- dyld_shared_cache_armv7
- http://stackoverflow.com/a/10029540/2338047
- Xcodeを閉じて、以下のパスに移動
Shift + Cmd + Xで,イコール記号両辺の整形を行うXAlignを入れた
キャッシュの消しかた
[[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"WebKitCacheModelPreferenceKey"]; [[NSURLCache sharedURLCache] removeAllCachedResponses]; [[NSURLCache sharedURLCache] setDiskCapacity:0]; [[NSURLCache sharedURLCache] setMemoryCapacity:0];
- さらに,NSURLRequestのcachePolicyに,NSURLRequestReloadIgnoringLocalCacheDataを指定する
- 潜り込み対応
- edgesForExtendedLayoutだけだとうまくいかない場合があるもよう
- self.extendedLayoutIncludesOpaqueBars = NO;
- self.automaticallyAdjustsScrollViewInsets = NO;
- http://qiita.com/kouchi67/items/cfd39c8c0b97baeb8f48
- CodeRunnerを入れたのでObjCをある程度対話的に動かせるようになった
- Selectorの存在確認は,-BOOL:respondsToSelector:で行える.
- hasSelectorとかではないので注意
- pip が入ってなかったじゃねーか
- easy_install pip
- Java7 on Macで日本語ファイルが扱えない問題
- http://veadardiary.blog29.fc2.com/blog-entry-4759.html
- http://piyopiyoducky.net/blog/2013/06/03/encoding-of-java-application-in-os-x/
- launchctl setenv LANG ja_JP.UTF-8
javascript:
(function(){
if(document.URL.indexOf('amazon.co.jp') == -1){
prompt('コピーしてください','`'+document.title+'%20'+'<'+document.URL+'>`_');
}
else {
var title = document.getElementById('btAsinTitle').textContent;
var b = document.getElementsByTagName('b');
var r;
for(i=0;i<b.length;i++)if(/ISBN-13/i.test(b[i].innerHTML))r=b[i].parentNode.innerHTML.match(/(\d{3})-(\d+)/);
var isbn = r[1]+r[2];
prompt('Amazon Hatena mode','isbn:'+isbn+':detail:small'+'%20"'+title+'"');
}
})();
- 「ツリー型タブ」アドオンがすごい
- セッションが復帰しなくなったときのスクリプト
- もしかしてMQTTって
- 任意のhttpレスポンスを返してくれる!?
- http://httpbin.org/
- https://cloudconvert.org
- 140 formats supported
- DropboxやGoogle Driveに投げてくれる
- グラフ作成サービス
- https://infogr.am