suer のブログ

メモメモ. はてダ → http://d.hatena.ne.jp/suer/

systemctl enable コマンドで Failed to execute operation: Invalid argument が出た

環境 CentOS 7.3 現象 # systemctl enable サービス名 Failed to execute operation: Invalid argument 原因 systemctl enable コマンドで /etc/systemd/system/multi-user.target.wants/サービス名.service にシンボリックリンクが張られるが、間違えてファ…

ポートの疎通確認のために代わりのプロセスを立ち上げる

CentOS 6 から 7 に移行するために、firewalld の練習をしている。 特定のポートを開ける設定を行い、疎通確認をしたいので CentOS 7 に大抵入っている Pyhon を使って確認用のプロセスを立ち上げる。 環境 CentOS 7.3 Python 2.7.5 立ち上げる Python 2 系…

Rails アプリの wercker docker 対応で PostgreSQL の対応

Wercker からマイグレーションせよというメールが来たので対応してみた - mallowlabsの備忘録 を参考に wercker のマイグレーションを実施した。 こちらの記事では MongoDB の例だったので、PostgreSQL の場合はどうするのかと調べた。 結論としては box: ru…

Mac OS X 環境でコマンドラインで Exif から Orientation を消す

画像ファイルで Exif はあるけど Orientation が無い、という特殊なテストデータが必要になったので。 環境 Homebrew 0.9.5 exiftool のインストール $ brew install exiftool Orientaiton を消す $ exiftool -Orientation= XXX.jpg

サブディレクトリ運用の複数の Redmine で別の Redmine にアクセスすると勝手にログアウトするのを防ぐ

確認したバージョン Redmine 2.6.9.stable 問題 Redmine は _redmine_session という Cookie でログイン状態が管理されていてる。 Redmine では、何もしないとパスが "/" で登録されるので、実際に異なるパスの Cookie データでも、同じとみなされてしまう。…

タブ文字で grep する

test(タブ文字) みたいなのを grep したい場合。 ターミナル $ grep "test(タブ文字)" /path/to/file のように入力したいが、普通に入力するとシェルがタブ文字を奪う。 bash, zsh の場合は ctrl-v を入力してからタブを打つと入力される。 ただし、これはメ…

Java の .class ファイルを一括で逆コンパイルする

環境 Jad v1.5.8g. jad のインストール Mac OS X で Homebrew の場合 $ brew install homebrew/binary/jad 逆コンパイル classes 以下に展開されているとすると、以下のコマンドで src ディレクトリ以下に .java ファイルとして一括で逆コンパイルできる。 $…

Zendesk で独自ドメインのサポートアドレスを使用する設定の SPF レコードチェックでエラーが出た

Zendesk のサポートアドレスに独自ドメインを使用する場合は SPF レコードに mail.zendesk.com を指定すると、メールから Zendesk という文字が消えるので顧客は Zendesk を意識せずにサポートを受けることができる。 自社のメールドメインを使用してメール…

シェルスクリプトで find の結果で回すときに空白文字が含まれるファイル名が含まれる場合の対処

IFS を改行のみにしておくとよい。 IFS=$'\n' for file in $(find /path/to/directory -name "*.txt"); do echo "$file" done

SimpleSAMLphp で開発用の SAML ID Provider を立てる

SAML によるシングルサインオンに対応したアプリを作るときに、開発環境としてお手軽に試せる ID Provider があると便利なので、SimpleSAMLphp でタダで作る。 OneLogin のアカウントを持っている場合は、 "SAML Test Connector (IdP)" を使えば簡単に作れる…

Atom の Markdown Preview の中国語フォントを日本語フォントにする

環境 Atom 1.1.0 GitHub.com のスタイルに変更 Packages > Settings View > Open (もしくは ctrl+ ,) packages タブから markdown-preview を検索して Settings ボタンをクリック Use GitHub.com style をチェック プレビューのフォントを変更 Packages > Se…

CentOS 5 32bit で fluent-agent-hydra を無理やり動かす

環境 CentOS 5.5 (Linux kernel 2.6.18) Go 1.4.2 fluent-agent-hydra v0.1.3 問題 Go は CentOS 5 をサポートしていないせいか、 CentOS 5 32bit (Linux kernel 2.6.18) 上で fujiwara/fluent-agent-hydra · GitHub の32bit バイナリを動かすと以下のエラー…

Mac OS X Yosemite で Font Awesome の PNG ファイルを作る

環境 Mac OS X Yosemite 10.10.3 Homebrew 0.9.5 Font-Awesome-SVG-PNG 1.1.5 参考 encharm/Font-Awesome-SVG-PNG · GitHub 手順 必要なパッケージのインストール $ brew install node npm librsvg librsvg の link がうまくいかなかった旨のメッセージが出…

Ivy で SNAPSHOT リポジトリの最新版を取得する方法

Ivy はデフォルトだと同じ名前の jar ファイルはローカルにキャッシュしたものを優先するので、SNAPSHOT リポジトリと相性が悪い。 ivysetting.xml で checkmodified を指定して、毎回確認するように変更する。 <ivysettings> <property name="ivy.checksums" value=""/> <settings defaultResolver="chained"/> <resolvers> <chain name="chained" returnFirst="true" changingPattern=".*SNAPSHOT"> …</chain></resolvers></settings></property></ivysettings>

Archive するたびに Splunk Mint (旧 Bugsense) に自動で dSYM ファイルをアップロードする

ios

追記: この記事は古い情報です。現在この記事の方法ではアップロードできません。 最新の SplunkMint-iOS をインストールし、以下の記事に従って設定してください。(ただし、アーカイブ時ではなくビルド時にアプロードされます) Configure your project for …

ステータスバーの文字色を白くする

ios

環境: iOS SDK 8.1 ナビゲーションバーの背景色を変更すると、デフォルトではステータスバーの時刻とかバッテリー残量表示の文字が見づらくなる。 背景色にあった文字色に変更する。 手順 info.plist に以下の行を追加 View controller-based status bar app…

Swift でクラス名の取得

ios

環境: Swift version 1.1 (swift-600.0.56.1) NSStringFromClass を使用すると、 "プロジェクト名.クラス名" という文字列が取得できる。 class TestClass {} NSStringFromClass(TestClass().dynamicType) NSStringFromClass(TestClass)

UITableView をスクロールさせない

ios

環境: iOS SDK 8.1 tableView.scrollEnabled = false

MagicalRecord でシミュレータ実行時に作成された sqlite のデータベースファイルを探す

ios

環境: iOS SDK8.1 MagicalRecord で MagicalRecord.setupCoreDataStackWithAutoMigratingSqliteStoreNamed("database.sqlite") のように実行した場合、シミュレータでは ~/Library/Developer/CoreSimulator/Devices/デバイスID 以下に作成される。 デバイス …

UITextField のテキストが変更される時のイベント

ios

環境: iOS SDK 8.1 textField.addTarget(self, action: Selector("textChanged:"), forControlEvents: .EditingChanged) func textChanged(textField: UITextField) { println(textField.text) }

iOS で下バーでタブみたいなやつ

ios

環境: iOS SDK 8.1 こういうやつ UITabBarController を使う。 let controller1 = UIViewController(nibName: nil, bundle: nil) controller1.tabBarItem = UITabBarItem(tabBarSystemItem: .Favorites, tag: 1) let controller2 = UIViewController(nibName…

Swift で Objective-C の @synchronized

環境: Swift version 1.1 (swift-600.0.56.1) クリティカルセクションを作りたいとき、Objective-C の場合は @synchronized(obj) { ... } となるところを Swift の場合は objc_sync_enter(obj) ... objc_sync_exit(obj) とする。 exit 漏れが怖いのでラップ…

shenzhen を使ってコマンドラインで iOS アプリをビルド

環境: shenzhen (0.10.2) インストール $ gem install shenzhen ビルド $ ipa build -w XXXXX.xcworkspace -s スキーマ --embed XXXXX.mobileprovision 確認 $ ipa info XXXXX.ipa

iOS で半透明なモーダルビューを表示する

ios

環境: Swift version 1.1 (swift-600.0.56.1) 自作 UIViewController をモーダルで表示する //SomeViewController view.backgroundColor = UIColor(white: 0.2, alpha: 0.2) //呼び出し側 let controller = SomeViewController() controller.modalPresentati…

Swift のバージョンを確認する

ios

環境: Swift version 1.1 (swift-600.0.56.1) $ xcrun swiftc -version Swift version 1.1 (swift-600.0.56.1) Target: x86_64-apple-darwin14.0.0

UITableView の右スワイプの「削除」の文字を変える

ios

環境: Swift version 1.1 (swift-600.0.56.1) func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String! { return "クリア" }

Xcode6 で SourceKitService Crashed が頻発する場合の対処

ios

SourceKitService Crashed が頻発するとコーディングが阻害されるし、悪い場合は、シンタックスハイライトやコード補完が効かなくなる。 根本的な解決方法は分からない。 とりあえず DerivedData ディレクトリを削除して Xcode を再起動すると改善する。 Xco…

Xcode での開発で trailing whitespace を無くす

ios

Xcode 6.1.1 で確認。 Preferences.. > Text Editing タブ > Editing タブ > While Editing: の Automatically trim trailing whiltespace Incliuding whitespace-only lines にチェックを入れる 。

Today Extension がフリーズする

ios

iOS8 で導入された Today Extension を持つアプリを作ってみたが、ある特定の経路でアップデートするとフリーズする。 OS を再起動すると正常に動作する。 作ったアプリが一つだけなので原因が特定できていないけど、以下のような感じ。 フリーズする Deploy…

Elasticsearch のデータを別のサーバに移行する

スナップショットを作成して別のマシンでリストアする手順。 環境 Elasticsearch 1.1.1 移行元サーバ 1 スナップショットディレクトリの指定 $ curl -XPUT 'http://server1:9200/_snapshot/my_backup' -d '{ "type": "fs", "settings": { "location": "スナ…