kishikawakatsumi/KeychainAccess · GitHub そろそろSwiftをちゃんと勉強しようと思って作りました。 Swiftで書かれたKeychainのラッパーの中ではもっとも高機能でかつ簡単に使えるものができたと思います。 機能としては下記を備えています 簡単に使えるインタフェース アプリ間のキーチェーン共有 アクセシビリティ(バックグラウンド動作時の制限など)属性のサポート iCloudによるキーチェーンの同期 Touch IDによるキーチェーンの保護(iOS 8〜) iOSとOS Xの両方の動作をサポート インストール Carthage github "kishikawakatsumi/KeychainAccess" CocoaPods pod 'KeychainAccess' CocoaPodsを使う場合、CocoaPodsのバージョンはbeta版の0.
作った当初は話題になった、今やおおっぴらにリンクが貼れなくなった某サービス。 11/3にリリースして、もう2ヶ月ほど。やっと投稿数が100の大台を超える事ができました。 ※リンクがあったけど!Googleに「不健全」と怒られたので削除!* こんな事僕が言うのもアレですが、作ってみた系の記事ってリリースの記事はよく見ても、その後の記事とか順調ですって話あんまり聞かないですよね。 作ってみたってなんでフェードアウトしちゃう? コレ、僕が特に酷かっただけなのかもしれませんが、簡単に心折れるんですよ。主にアクセス数で。 運良くリリース記事がはてブホッテントリ入りしてアクセスがガツンとあったとしても、まーそのアクセスは続かない続かない。 ここでアクセスの推移を見てみましょう。 何しようとアクセス数は下がる一方。どうにかしようと色々手を打つんだけど、あの日が戻ってくる事は無く。 一時期、アクセス数を見
今日は、開発者が見積もりを作成している時に脳内でどんなことが起きているのか話してみたいと思います。なぜこんなにも見積もり作業が難しいのか、そして、私の見積もり精度は相変わらずひどいものですが、私がどうやって(非常に幸せな事業主の方々に向けて)ソフトウェアを書いて生計を立てる術を編み出してきたのかについてお話ししたいと思います。 まずは昔話をひとつ。 あれは\<私がものすごく年寄りには見えない程度の年代をここに挿入>頃でした、私は年若き開発者でした ^(1) 。大学のコーディング演習では優秀な成績を修め、若手開発者として誰がどんな問題を提示してきても解決し、想像を絶する速さでどしどしコードを量産していました。新しい言語は週末の間に習得し、書けるようになっていました(少なくともそう信じていました)。 それで自然な流れとして自分でプロジェクトを取り仕切ることになりました。アカウント・マネージャが
前回、前々回の記事では、Rackの生まれた背景、Rackとは何か、実際にRackアプリケーションを作る際に使えるものをご紹介しましたが、もう一つまだ説明していない重要な要素がRackにはあります。今回は、そのミドルウェアという仕組みについてご紹介します。 ミドルウェアとは ミドルウェアとは何かを一言で言うと、「別なアプリケーションをラップして、リクエストやレスポンスを加工したり、処理を切り換えたりするRackアプリケーション」です。 この仕組みがあることで一体何ができるのでしょうか。Webアプリケーションを作っていると、リクエストやレスポンスをアプリケーションに行く前やアプリケーションの処理の後に加工したくなることはよくあります。例えば、条件に応じてURLの書き換えをしたり、エンコーディングの変換をしたり、Cookieの処理をしたり…といったことが日常茶飯事です。こういう処理を、サーバと
私の小論 “In Search of Types” では、プログラミングで使われる“型”という言葉の概念や目的、考え方について、公平な批評を心がけました。所々で、私の真剣さを感じ取っていただけるはずです。このブログ記事では逆に、思い切って堂々と批評していきます。いくつかの意見や考え方に、私は苛立ちを隠せません。先日参加したStrange Loopでも、このような状況に陥りました(補足しますが、すばらしいコンファレンスでした)。この機会に、“型”について多くの人が(誤って)語った“重大な誤り”をリストアップしていきます。 ここで話す内容は、説得力のあるものです。私が苛立ちを覚えるのは、人々が正当かつ透明性のある議論を行っていないことに対してです。結論に誤りがあってはいけません。私は、OCamlである程度の数のプログラミングを行っており、それは型チェックから多くの価値を得ることができるシンプル
私はこのところしばらく仕事でVMやコンテナを扱っていましたが、大学のいくつかのプロジェクトでJavaのコードを書かなければならないときは未だにvimを使用せず、新たに本格的なIDEをインストールしなければなりませんでした。これにはいつもイライラさせられていましたが、ついに今週、Dockerコンテナ内でNetBeansを実行できるようになったのです。それによって普段使用しないJavaのコードを書くための膨大な環境をパソコンにインストールしなくて済むようになりました。 Dockerコンテナ内でGUIアプリケーションを実行する場合には、いくつかの方法があり、 X11転送を行うSSH や VNC を使用します。しかし私が発見した最もシンプルな方法は、X11のソケットをコンテナと共有して、直接使用するというものでした。 このアイデアはとてもシンプルで、以下の Dockerfile を開始点として使用
メソッド名などをネーミングする際に、知っておくと便利な、接頭辞と接尾辞をリストアップしてみました。どのように元の単語の意味が変わるかのルールを知っておくと、よく使う単語をベースにボキャブラリーを増やすことができるので、覚えておいて損はないと思います。 使う場合は、当たりを付けて実際の使用がないか、Googleなどで調べてみてください。 1. pre-, post- / 事前〜、事後〜 per-は、元の意味に “事前に、前に”、post-は “事後に”という意味が付け加わえます。汎用性が高いのでとても便利です。afterやbeforeの代替になるかもしれません。 // 事前テストする function testBefore(); ↓ function pretest(); // 事後処理する function executeAfter(); ↓ function postexecute();
こんにちは、はてなシニアアプリケーションエンジニアの id:Songmu です。 師走に入り、エンジニア界隈ではアドベントカレンダーが活況ですが、はてなでもエンジニアによるアドベントカレンダーを始めることにしました。 12月1日から25日まではてなのエンジニアの誰かが毎日エントリーを書く毎に、以下にリンクを追加していきます。お楽しみに! 12月1日 id:aereal 12月2日 id:daiksy 12月3日 id:Songmu 12月4日 id:y_uuki 12月5日 id:nanto_vi 12月6日 id:onishi 12月7日 id:chris4403 12月8日 id:y_uuki 12月9日 id:hatz48 12月10日 id:mechairoi 12月11日 id:shimobayashi 12月12日 id:yashigani_w 12月13日 id:stanak
対象 開発フローの中でコードレビューを実施しているひと git add -p や git rebase -i でコミットの分割や統合ができるひと コードレビューさせない レビュー無しにマージしてもらうために同僚をいかに抱き込むか。 という話ではなく、レビュワーの コードレビューの負荷を下げる ことを意図しています。 無視できるコミットを増やす どうすればレビュワーがより短時間で自分の書いたコードをレビューできるか。この問に対して、レビューの妨げとなるものを排除する、というアプローチがあると思っています。そのための良い方針だと考えている 無視できるコミットを増やすこと について書きます。 前提 コミット どのコミットにおいてもテストが通るようにする コミットメッセージ ちゃんと Git のスタイルで記述する (Gitのコミットメッセージの書き方 の原則を守る) Git の操作 雑にコミットし
はじめに これはG* Advent Calendarの12日目の記事です。今日はミューテーションテストについて書きます。明日はid:nobusue さんです。 概要 PITというツールの紹介です。「Javaプロダクトコードを機械的に変更してからテストを実行したときに、テストはそれを検知できるのか?」ということを調べてくれるツールで、SpockのテストやGradleからの実行に対応しています。 ミューテーションテスト ミューテーションテストとはざっくりと言えば「プロダクトコードを変更したなら、その振る舞いも変わるはず。テストはその変更された振る舞いを網羅できているかを調べる」というテストです。 対象規模が小さければ手動で毎回やってもいいわけですけど、ツール化されていると楽なことこの上ないです。ということで、今回はJavaプロダクトコードをミューテートするライブラリであるPITについて紹介しま
この記事ははてなエンジニアアドベントカレンダー2014の16日目です。昨日はid:nobuokaによる「【Retrofit を読む】 利用者が定義したインターフェイスに実装を提供する Java ライブラリの作り方 【リフクレション】」でした。 こんにちは。はてなアプリケーションエンジニアのid:cockscombです。 Webと連携するスマートフォンアプリを開発するとき、Web APIを抽象化したAPIクライアントを作ることがよくあります。これはWeb APIのエンドポイントとメソッドを紐付け、パラメータに名前をつけて、返ってくるJSONのレスポンスを何らかのクラスに当てはめ型付けする、といったようなものになります。 Swiftのモダンな言語機能を利用して、このAPIクライアントを書きましたので、以下に詳解します。例としてGitHubのStatus APIを取り上げています。 またネットワ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く