WebPayLiteというライブラリを作ってみた こんにちは!決済大好き、きょろ(@kyoro353)こと井上恭輔です。@sowawaからバトンを受け取り、WebPayの中の人じゃない人最初のWebPayアドベントカレンダー3日目です。 毎年師走になると盛り上がるAdvent Calendar。毎年参加したい!!と思うのですが、いつも忙しさに負けてROM専に甘んじていました。今回は「今年こそは!」という気持ちと、最近自分でオープンソースのコードを書いてないなーという自戒の念を込めて、自作のライブラリネタで参加させて頂きます。初投稿です。皆様お手柔らかにお願い致します。 ということで、今回は「WebPayLite」というObjective-C向けの軽量WebPayクライアント・ライブラリを作ってみましたのでご紹介します。 WebPayLiteとは? WebPayはRESTfulで非常に良く整
iOS Advent Calender 2013 iOS second stage 4日目担当の@hkato193です。書籍「iPhoneアプリ開発エキスパートガイド」や「OS XとiOSのためのOpenCV環境構築ガイド」などのiPhoneアプリ開発関係の本を書いたりしています。アプリだと、プロアスリートが練習に使うスキップバックレコーダーを実現した「PastVid」や、弾むボールでリズムを表現する「Metronome Bounce」などを公開しています。 さて、iOS 7ではバーコードやQRコードなどの1次元/2次元コードをカメラで読み取ることができます。さらにQRコードは読み取りだけでなく、Core Imageを使ったコード作成も行えます。本記事では、読み取りと作成の方法をそれぞれ紹介します。 1. 読み取り編 1次元/2次元コードの読み取りは、AVFoundationフレームワーク
テンプレートのレイアウトの話 。例えば… デフォルトは2カラムで右側にサイドバー でも about ページとかは1カラムにしたい っていう要望よくあると思うんですよ。でMojoliciousの Mojolicious::Plugin::DefaultHelpers の中からヘルパーメソッドをいくつかチョイスして使えば実現可能です。ただ、ついつい分かりやすい layout と include メソッドだけを使ってこねくり回す感じでいわば強引に上記の1カラムと2カラムの切り替えを僕は以前やっていました。すると include するためのパーツをいくつも切り分けなくてはいけなくてちょっと管理が煩雑になるので最近使ってる手法を紹介します。 content メソッドと extends メソッドを使います。アプリの本体はMojolicious::Liteでこのように短く書いてみます。 #!/usr/b
iOS 7から追加されたバックグラウンドで通信やコンテンツの更新ができるBackground Fetch。 このアプリのUX向上に役立つといわれるBackground Fetchの概要や実装方法について、ヤフー平松亮介さんに寄稿をいただきました。 by 馬場美由紀 (CodeIQ中の人) Background FetchでアプリのUXを向上させる iOS 7からBackground FetchというAPIが新たに追加されました。 アプリが起動されていない場合にも、バックグラウンドで通信やコンテンツの更新ができるAPIで、アプリのUX向上に役立つと考えられます。 すでにSmartNewsやPinterestでも導入されており、iOS 7対応のアプリをつくる上では知っておかなくてはならない機能です。 SmartNews の iOS 7 対応 Behind the Pins: Building
以前、一度やったはずなのですが、すっかり忘れてしまっていて、結局調べることになったので、今回はここに作業ログを残しておきます。 TIME_WAITコネクションの増殖 一般的にネットワークアクセス数が極端に多いサーバでは、TIME_WAIT状態のコネクションが残留しがちです。 TIME_WAITの滞留時間が、Linuxデフォだと60秒になっているため、下記のエントリにも書きましたが、60秒の間に数十万レベルのリクエストが来るとあっという間にコネクションテーブルが埋まっていってしまうわけです。 で、別にTIME_WAITコネクションが多くなってしまうこと自体は、完全な悪というわけでもなく、 "net.ipv4.tcp_max_tw_buckets" あたりでキャップもできるし、それなりに制御して付き合っていけばいいわけですが、ローカルのTCPポートを使い切るようなケースだと、使えるローカルポー
まだ道半ばなんだけど、GroongaをGo+Perlなフロントエンドから使うシステムを動かしはじめている。 今回はとりあえず現時点での状態をざっくり書き出してみる。まだ本番化はしてないが、とりあえず本番環境からデータの挿入・削除ができるところまでつなぎ込みはした。最終的に全面的に本番化したらまたまとめ直します。 まずデータを突っ込む部分は慣れもあるのでより素早くデータの整形をしたりテーブルスキーマとかを変更したりするためにPerlでワーカーをさくさくっと書いた。ワーカーはQ4Mでデータを受け取り、データを整形してMroonga経由でデータを挿入。仕組みができたところでGroongaが我々が求めているデータ量をハンドリングできるかどうか検証するために全力で平均1行4KB~10KBくらいのデータをmroonga経由で○億件挿入してみた。この挿入処理中様々な地雷を踏んだので、kazeburoさん
Services Platform.sh for Symfony Best platform to deploy Symfony apps SymfonyInsight Automatic quality checks for your apps Symfony Certification Prove your knowledge and boost your career SensioLabs Professional services to help you with Symfony Blackfire Profile and monitor performance of your apps
ペーパープロトタイピング講座シリーズ。第2回は準備編。前回はこちら。プロトタイピングを始めるにあたって必要なものを列挙する。 必須ツール 紙 まず紙は大量に必要。A4コピー紙や大型のポストイットが一般的。スマホアプリの場合は、弊社が専用に開発したペーパープロトタイプ用ノートが便利。実寸で検証できるように心がけよう。 シャーペン 下書き用ペン。消しやすい芯がよい。個人的にはステッドラーを愛用。 サインペン 清書用のペン。チーム共有やテスト時に読みやすくするために使う。細い、普通、太いの3種類のペンがあるとよい。個人的には0.05mm、0.3mm、1.0mmの3本を使っている。オススメはピグマかコピックマルチライナー。 マーカー 清書用ツール。タップエリアや、注目させたいコンポーネントを面で見せる為に使う。最低限2色。薄いグレーと濃いグレーがあるとよい。可能ならばアプリとタップ色や警告色なども
Python Advent Calendar 2013 の4日目です。 Python 3.4 で標準ライブラリに追加される asyncio を触ってみます。 なお、 Tulip とは asyncio のリファレンス実装のプロジェクト名です。 背景 Python はよく非同期 I/O プログラミングに使われます。 Twisted, Tornado, gevent, eventlet, pyuv などのフレームワークがあります。 これらのフレームワークの問題点として、ライブラリの再利用性の低さが挙げられます。 たとえば Twisted 用に書かれた XMPP ライブラリは、そのままでは Tornado で 利用することができません。 この問題の解決策として、良くイベントループの乗り入れが行われます。 GUIアプリケーションに組み込む場合などを考えて、多くのフレームワークが最初から イベントルー
naoya さんのポータブルな Web アプリケーションを受けて最近思ってることをば。140 文字で時々書いてるんだけど、まとまりがないので一回まとめておきます。 12-factor app ステートフルなアプリケーションについては、Heroku の人が提唱してる 12-factor app というのが現在の状況をよく表してます。 The Twelve-Factor App The Twelve-Factor App(日本語訳) Heroku や他の PaaS によってもたらされたこうした一種の”制約”によって、アプリケーションの新しいカタチが生まれてきています。引き算によって新しい価値が生まれてきているわけですね。 とはいえ、PaaS は PaaS でそれぞれに独自の仕様を持っているわけですが、Heroku の buildpack という仕組みを使って、Heroku とインタフェース仕様
THE INTERVIEWS がサービス終了ということで、一つだけ消えるには惜しいというか懐かしい記事があったので少し加筆修正して転載します。JHackers でも似たようなことを話してますね。 Perl XS を書くようになったきっかけ、また、どのようにして今のような XS マジシャンになったのか。そのあたりの事をお聞かせください 2000年頃の話です。ぼくはCGIスクリプトでちょっとしたゲームデータの集計サイトをやりたくてプログラミングを覚えたのでした。これがそこそこ重い処理で、次第にもっと高速にしたいと考えるようになりました。一方、当時ぼくはお金もなくVPSも一般的でなかったので、CGIスクリプトしか選択肢はありません。そこで初心者ながらいろいろ調べることにしました。 とりかかったのは行指向のテキストで保存していたデータをSQLiteにすることでした。しかし当時はWindows上で開
先日、iBeacon を使ったアプリを AppStore で公開しましたので、簡単に紹介させていただきたいと思います。このアプリは複数名で開発しており、私は実装担当でした。 Ninja Tryst iBeacon の特徴 iBeacon は、ざっくり言えば、様々な機器が発するビーコン信号を iOS デバイスが検出する仕組みです。 iBeacon の特徴を簡単に述べておきます。詳しい情報は、昨日や一昨日の Advent Calendar の記事が参考になると思います。 BLE (Bluetooth Low Energy) を利用 一般の BLE 通信と異なり、ペアリングが不要 受信側デバイス BLE 搭載の iOS デバイス 発信側デバイス BLE 搭載の機器で、iBeacon 仕様のビーコン発信を実装したもの アプリがバックグラウンドのときでも、ビーコンを検出してユーザに通知できる おおま
(編集部注:2013年12月4日に公開された記事を再編集したものです。 ※無料で商用利用可のところばかりですが、中にはアイコン1個1個でライセンスが違うものやコピーライト記載が必要なものもあるので、ご使用の際には随時ご確認ください。) こんにちは。デザイナーの白浜です。 フラットデザインが流行りなこともあり?最近何かとピクトグラムアイコンを探す機会が増えました。(余裕があれば自作モノも増やしたいところですが!) でも、いつも同じところだとマンネリになりがち……。 他のデザイナーさんはみんなどこみてるんだろう??とアンケートをとってみたところ……今まで知らなかったところが結構出てきました! メモがてら、まとめてみたいと思います。 【こちらもおすすめ】 ☞ 質高すぎ!ベクター素材をフリーでダウンロードできるサイトまとめ LIGデザイナーが厳選!使えるフリーのピクトグラムまとめ Endless
Perlのbug report eco-systemまわりはOSSとしてはわりと理想的だと思っています。つまり有用なレポートを生成する仕組みがあり、perlコア開発者だけでなくライブラリ開発者もその仕組を活用できるため、可搬性のあるソフトウェアとしてメンテナンスし続けやすいのです。もっとこのあたりはもっと真似されるべき。 まずバグレポートには現象と再現手順と環境の情報が必須ですが、環境の情報は perl -V で非常に簡単に取得できます。これは以下の情報を含みます。 ソフトウェアの名前とバージョン (e.g. perl 5.18.1) ターゲットプラットフォーム (e.g. osname=darwin, osvers=12.4.0, archname=darwin-2level) ビルドオプション (e.g. config_args='-Dprefix=/Users/goro-fuji/.
Vimで画像を見る(DRCSのSIXEL拡張の話) ビデオ端末で画像を表現する試みはそこそこ古くから行われていたようで、 1970年代後半には世界各地でビデオテックスサービスが開始し、ベクタ図形やラスタ画像、 モザイク素片などで画像を表現するひととおりの方式が出揃っていました。 この流れの中でDEC社はVTシリーズに2つの機能を搭載しました。 SIXELとDRCS(Dinamically Redifined Character Set)です。 SIXELとDRCSについて SIXELはラスタ画像を出力する方式で、写真などの繊細な画像を表現するのに向いています。 カラーに対応した仕様もあり表現力は高いので、それ単体として使用するのであればとても便利なものなのですが、 ひとたびテキストと組み合わせて画像をレイアウトするプログラムを書こうとすると、再描画の挙動で詰んだりして非常にむずかしいです。
このエントリーはGraphical Web Advent Calendar 2013 への参加記事です。 今日は12月3日、ということで Advent Calendar の3日目は私id:rikuoが担当します。今回はSVG画像ファイルを1バイトでも削るためのコードゴルフのTipsを紹介していきます。 コードゴルフって? まずコードゴルフとはなにか?の説明から。 コードゴルフとは任意のソースコードを出来るだけ短く書くことを目的にしたものです。そのコードの動作を損なわなず、かつ可能な限り短縮して記述する手法を試行錯誤していく様子が、ゴルフのように少ない打法で競うところに似ていることからこのように呼ばれています。 またそれを競技としたコンテストも催されていますね。 画像のファイルサイズ低減策 JPEG、GIF、PNGといったビットマップ画像であればファイルサイズを低減する方法やソフトウェア・ツ
specinfra v0.0.6 では、serverspec/configspec/Syllabus で実行する具体的なコマンドを SpecInfra::Command::* に統合しました。 以前のバージョンまでは「OS を自動判別し、OS に適したコマンドクラスを返す commands と呼んでいるレイヤー」を specinfra で提供していましたが、コマンドクラスは各プロダクト側で実装していました。 specinfra v0.0.6 では、コマンドクラスも specinfra 側で持つようになりました。 これで何がうれしいのかというと、オレオレ Configuration Management Tool が簡単に実装できるようになる、ということです。 Exec/SSH といったバックエンド実行形式の切り替えや、OSを自動判別して適切なコマンドを実行する部分はすべて specinfr
最近本ばかり読んでいて、iPhone関連の記事をあまり書いていない。今読んでいるのは生物学の本で、酸素が生物にとって有害だったり、120年間冬眠できる生物がいたりと、ページをめくるたびに驚きの連続だ。 生物学だけではなく、物理学や言語学、映画やアニメ、小説や音楽など、様々な物事を吸収して、バラバラだった点がいつか繋がればいいと思う。大切なのは自分の感性を信じる事だ。 iPhoneに興味がなくなったわけではない。ブログの下書きや読書中のメモ、ランニングの計測やスケジュールの管理など、ツールとして毎日利用している。 アプリを使っていると、開発者の意図に気づく事がある。メモであれカレンダーであれ、作者自身が深く考えないと思いつかないような機能。それを発見してフィットすると、自分にとって手放せないアプリになる。 今年定番になったアプリを紹介したい。 Runkeeper 週末はハーフマラソンに向けて
ドメイン駆動設計の意義~MVCモデルの後継、パターン言語で語られる、ソフトウェアプロダクトラインの再構築 @digitalsoul0124さんのBlogを読んで、自分は「ドメイン駆動設計」を完全に理解していないことに気づいた。 ラフなメモ書き。 論理的な文章でないので後で直す。 【元ネタ】 ドメイン駆動設計入門 - Digital Romanticism モデルが息づく場所 - Digital Romanticism 戦略的デザインに関する意思決定のための6つのエッセンス - Digital Romanticism ドメイン駆動設計はソフトウェアプロダクトラインとオブジェクト指向分析のミッシングリング: プログラマの思索 ドメイン駆動設計は設計のアジャイル化~オブジェクト指向設計の先祖返り: プログラマの思索 ドメイン駆動設計の感想~OOAは過ぎ去りDOAはもう一度舞台に上がるのか: プロ
140文字で書ききれなかったのでブログに殴り書き。 Heroku のアプリケーションを人に渡す 昨日、「naoyaさんが作ってるiOSアプリのバックエンドサーバーに相乗りさせてもらえないか」という話をいただいた。自分でも同じようなAndroidアプリを作っているけど、サーバーサイドは作ってないからということらしい。 対して「githubにコードあるからgit cloneしてheroku pushすれば動くし、自分で heroku にデプロイしてよ」と応えた。相乗りしてもらってもよかったのだけど、こちらでコードを書き換えたりメンテしたときに先方のアプリが停止することを考えると同じコードベースでサーバーは自分で立ててもらう方が何かと良い。 対象になったソフトウェアは Heroku で動かしていたので、Heroku Ready な形、つまり、必要な外部パッケージの一覧やサーバーの起動手順なんかは
この記事はMySQL Casual Advent Calendar 2013 3日目の記事です。 はじめに 以前にSELECT ... FOR UPDATEとロックの挙動 - walf443's blogの記事にTwitterで少し言及したんですが、それの補足というか、InnoDBのロックの範囲について僕はこう理解していますよという話です。 MySQLといえば、InnoDBをネットワークサーバとして使うためのフレームワークであり、SQLはInnoDBのインデックスにアクセスするためのDSLといっても過言ではないでしょう。 InnoDBのロックとはつまるところインデックス行のロックなので、InnoDBのロックの範囲を理解するためにInnoDBのインデックスについて少し前置きしておきます(だいぶ端折ったけど長くなった…)。 クラスタインデックスとセカンダリインデックス すでにInnoDBのイン
SassやLESSといったCSSプリプロセッサーは市民権を得たと言って良いと思う。しかしそれらCSSプリプロセッサーは開発という段階にのみ利をもたらすもので、今のところはそれ以上ではない。CSSを実際にユーザーに届けるまでには、開発だけではなくレビューとリリースという段階もある。レビューとリリースも確実性を持って効率的に行うためには、CSSポストプロセッサーと総称されるようなツール群が必要になるだろう。 この文書はFrontrend Advent Calendar 2013の4日目への記事として寄稿した。明日は@hilokiさんがスタコラサッサと書くようだ。 目次 CSSポストプロセッサーとは CSSプリプロセッサーの出力するCSS CSS Lint 開発用とレビュー用、リリース用のCSS CSSポストプロセッサーのユースケース ベンダー拡張プリフィックスの付加 Media Queries
SPDYやQUIC登場の背景。Webの進化がプロトコルを変えつつある。HTML5 Conference 2013 Webをより速くしようと、HTTPよりも優れたプロトコルとして提案されたSPDY(スピーディ)。しかしそのSPDYによって、下位レイヤであるTCPの制限が顕著に見えるようになってしまい、そのことでTCP以外のプロトコルとしてQUICをGoogleが提案しています。 Webの進化は、インターネットのプロトコルにまで影響を与えようとしている、という非常に興味深い話が、HTML5のコミュニティ「html5j」主催のイベント「HTML Conference 2013」で行われた小松健作氏のセッション「最新Webプロトコル、傾向と対策」で行われました。 その内容をダイジェストで紹介しましょう。 最新Webプロトコル、傾向と対策 小松です。所属はNTTコミュニケーションズでHTML5の研究
低価格カスタムIEMを提供し続ける埼玉県川口駅前のハーモニー補聴器が、11月に入ってearmoの新製品として突如Tune5という2ウェイ2ドライバーの新製品を発表した。 ◆earmo Tune5画像 ▲earmoの最大の特徴は、オーダー時に様々な相談に乗ってくれることと、それを最大限に考慮し様々なチャレンジも可能にしてくれること。AcuPass 1723もベント有無を選べたり、カナル部の長さを好みに合わせたりと、ほんとうの意味でカスタムを受け付けてくれる懐の深さがある。私の場合は外耳道第2カーブまで到達する最大限の長さで作ってもらった。ここまで来ると外耳道閉鎖効果も回避され閉管共振も可聴域外へ追いやることができ、澄み切ったサウンドが得られる(気がする)。 先日紹介したTune4は、ズバリEtymotic Research ER-4Sサウンドを再現したクリーン&シャープな切れ味鋭いサウンドだ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く