Tagbangers Blog

Blog

CocoaPods管理下のプロジェクトをUniversal Static Libraryとして作成する

Cocoapodsを利用しているプロジェクトをStatic Libraryとして出力する際の手法の小ネタです。 結論から書くとcocoapods-packagerを利用すれば一撃です。 Static Libraryを作成するにはxcodebuildを利用しRunScriptとかにスクリプト書いて実行するのがベターです。 この辺りはググると山程出るのでそちらにお任せします。 今回はそんな中でCocoapodsを利用している場合です。 Cocoapodsを利用していてもxcodebuildを使って出力することは可能でしたがもっと簡単な手法があったのでご紹介です。 cocoapods-package...

記事をMarkdownで書いてGitHubで公開してHTMLに変換して!2

以前書いた記事でMarkdown形式で書いた内容をHTMLに変換するっといった流れの記事を書きました。 今回はその続報となります。 記事をMarkdownで書いてGitHubで公開してHTMLに変換して! 前回記事を書いてからなんだかんだでMarkdownで記事を作る事が出来ず、久しぶりに書こうかな!っと思ったのでついでに最近のMD事情を調べつつエディタとかも調べてみたら下記なプラグインを見つけました。 OmniMarkupPreviewer これを待っていたんです! これを待っていたんです!! これを待っていたんです!!!!! もうこれ一つあれば全て解決です。 Githubのページを見て頂け...

​新人(34歳)

初めまして。ナミキです 縁があってこちらに今月からお世話になってます! 社員として一緒にこの会社を盛り上げていくことに興奮と期待を込めて 全力で突っ走っていこうかなと。 自己紹介はこのぐらいにして 肝心の記事ですが、えー、前職も同じシステム業界だったのですが 分野が全く異なるもので、特に技術的な部分に関しては 全くもって皆さまに公開できるほどの知識はありません! ので、ここに来て数日の思いを徒然として連ねていこうかなと。 ○システム業界 偏にシステム業界といえど、扱っている言語であったりサービスであったりは 本当に多種多様で、お客さんも企業単位とはいえ、様々な人の思いがあり 限られたリソースの...

Spring Security でマルチテナントしたときの Remember-me 認証対応

下記のログイン画面のように、ID と それ以外のパラメータを用いて認証した場合の Spring Security の Remember-Me 認証方法をご紹介。 ソースコードは GitHub (https://github.com/tagbangers/spring-best-practice...) で公開しています。 Spring Security は Remember-Me 認証の実装の1つとして、PersistentTokenBasedRememberMeServices クラスを提供している。PersistentTokenBasedRememberMeServices はログイン情報...

Spring の小粋なクラス Part1 - AbstractPersistable

今回の小粋なクラスは、 org.springframework.data.jpa.domain.AbstractPersistable (spring-data-jpa-1.9.2.RELEASE) JPA を使う時に Entity の親クラスとしてとりあえず継承しておくといい。 AbstractPersistable は JPA における主キーをあらわすメソッドと、主キーベースの #equals(Object) と #hashCode() メソッドが提供される。 下記のリファレンスにもあるとおり、Hibernate ではオブジェクトの等価性を使って同一のデータベースのレコードかどうかを判断す...

Ceph を Ubuntu (on AWS) にインストールしたメモ

環境 workstation クライアントサーバ Ubuntu 14.04 node1 クラスターサーバ Ubuntu 14.04 node2 クラスターサーバ Ubuntu 14.04 手順 すべてのサーバで作業 ★ すべてのサーバに ceph-deploy ユーザーを作成し、workstation サーバからノンパスフレーズで ssh ログインできるようにしておく (別のユーザー名でもよいが "ceph" は予約されているため使えない) ★ hostname でホスト名が解決できるようにしておく必要がある ★ すべて ceph-deploy ユーザーで作業 $ echo "ceph-dep...

GlusterFS を Ubuntu (on AWS) にインストールしたメモ

環境 workstation クライアントサーバ Ubuntu 14.04 node1 クラスターサーバ Ubuntu 14.04 node2 クラスターサーバ Ubuntu 14.04 手順 node1,2 で作業 # apt-get update # apt-get install software-properties-common # add-apt-repository ppa:gluster/glusterfs-3.5 # apt-get update # apt-get install glusterfs-server node1 だけで作業 # gluste...

JJUG CCC 2015 Fallに行って、スレッドダンプについて考えてみた

先日、JJUG CCC 2015 FallというJavaのイベントに行ってきました。 いくつかセッションに参加しましたが、山本裕介さんのセッション「苦手克服!例外スタックトレースから読み解くバグ」について自分なりに調べてみました。 このセッションは、例外とは何か?エラーとは何か?から入って、スタックトレースの読み方まで話されていて経験の浅い私でもかなり入りやすかったです。 ■エラーとは? ざっくり言うと不具合です。エラーには大きく分けて3種類あります。 エラーの種類、説明、気づく方法。 1. 文法エラー(syntax error) →文法間違っているよ!(例:閉じ括弧「}」がない、セミコロン忘...

Xcodeで「ld: library not found for -l○○」が出続ける

iOSの開発をしている方に取っては馴染み深い「CocoaPods」ですがこれにまつわるエラーにとてもとてもハマったので備忘録しておきます。 ld: library not found for -lPods clang: error: linker command failed with exit code 1 (use -v to see invocation) CocoaPodsを利用した開発をしている際にまれにタイトルにある「ld: library not found for -l○○」というエラーが発生します。 これは○○に当てはまるライブラリが読み込めず、コンパイルに失敗した際に...