はてなダイアリーの記事を移行した

はてなダイアリー終了の際、すべての投稿データをはてなブログに自動移行します - はてなダイアリー日記 ということではてなダイアリー http://d.hatena.ne.jp/suer の記事をこのブログに移行した。 (既にリダイレクト設定したので、上記 URL はもうこのブロ…

Line Notify する Google Apps Script

var token = PropertiesService.getScriptProperties().getProperty("LINE_TOKEN"); function main(){ var message = "お知らせ"; notify(message); } function notify(message){ var options = { "method" : "post", "payload" : "message=" + message, "he…

Redmine Bitbucket Hook プラグインを fork して最新の Redmine で使えるようにした

Bitbucket に push したコミットを Redmine のリポジトリに取り込むプラグイン redmine_bitbucketgit_hook が Rails4 ベースの Redmine と最新の Bitbucket に対応していなかったので対応した。 リポジトリ https://github.com/suer/redmine_bitbucketgit_ho…

Excel から Markdownのテーブル形式で簡単に貼り付けられる Redmine プラグインを作った

誰でも簡単にテーブルが書けるように Excel からコピペでできるプラグインを作った。 元ネタは ReleaseNotes/2017/02/03/Excel等から簡単に表を貼り付けられるようになりました - docs.esa.io から。仕事に使っている Redmine に導入したら評判がよく、たく…

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 で Github のように絵文字を入力できるプラグインを作った

チケットの内容は簡潔に書くのがいいと思うが、簡潔に書きすぎると冷たい印象になったりしてよくない。一方、同じような issue 管理機能でも Github では ":"(コロン) で囲った一定の文字列で絵文字が手早く書けるので、簡潔に内容を書きながら、ちょっとし…

サブディレクトリ運用の複数の 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…

Redmine で Github のように草を生やすプラグインを作った

Redmine 内での活動を Github のように表示するプラグインです。「活動」タブで見れる情報が対象となります。プロジェクト全体の活動が見れるほか、担当者毎の活動も可視化できます。 環境 Redmine 3.0.x リポジトリ https://github.com/suer/redmine_glance…

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 …

管理者権限でログインしているかどうかをひと目で分かるようにする Redmine プラグインを作った

Redmine の管理者と一般ユーザを分けていると、よくある失敗として、 管理者権限でログインしたままでいることを忘れたままチケットを作成・更新してしまう、 ということがあります。そうすると、チケットの更新者が自分じゃなくて管理者ユーザになってしま…

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

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