エンタメ iOSアプリで継続的インテグレーションする"Bot"の導入手順と注意点 #ios7yahoo|CodeIQ MAGAZINE
エンタメ iOSアプリで継続的インテグレーションする"Bot"の導入手順と注意点 #ios7yahoo|CodeIQ MAGAZINE
iPhoneアプリを開発をしようと思って、はや数年。そもそも、iPhone3Gを使っていた時に「アプリを作りたい!」と思って、MacBookを手にしたんですよ。 なのに、始めの一歩、いや0.1歩も出ずに数年(あっ4年?)経っちゃいました。 今週末に大阪で開催される アプリ開発講座 (ブログ 現実拡張ライフ アキオさん 主催)に参加して、今度こそスタートします! せめて1回はXcodeを起動 まったく初心者なんですが、ゼロのままの受講では自分が成長できない!そう考えています。受講日までに『1回』はXcodeを起動しよう!そう考えて購入したのが、この本です。 WEB+DB PRESS Vol.79|技術評論社 2014年2月22日に発売された雑誌です。「これからはじめるiOS 7開発 直感的なUIをシンプルに実現する」とのタイトルでiOSアプリ開発について特集されています。 トータル 33ペー
Objective-Cのメモリ管理おさらいと解放tips こんにちは。 iOS/Objective-Cによるアプリ開発では参照カウントによるメモリ管理が必要になります。 今回はiOS/Objective-Cでのメモリ管理の基礎からメモリリークの検知まで解説したいと思います。 参照カウント Objective-Cの全てのオブジェクトはNSObjectを継承しています。 全てのオブジェクトはこのNSObjectのメソッドを通じて参照カウントを扱います。 この参照カウントが、オブジェクトがいくつのオブジェクトから強参照されているかを表し、 0になったオブジェクトは誰からも参照されていないため解放される、という仕組みになっています。 C++に詳しい方はshared_ptrをイメージすると良いでしょう。 より詳細な解説はWikipediaなどが参考になります。 Objective-Cの参照カウント
こんにちは、KID.Aです。 iOS 7からは「Background fetch」モードと「Remote notification」モードの新しいマルチタスク機能が追加されました。 Remote notificationの挙動についてで「Remote notification」モードを説明したため、今回は「Background fetch」モードについて説明をしたいと思います。 実装方法 「Background fetch」モードの実装方法を紹介します。 プログラム側 まずは、Xcodeを起動して、プロジェクトを作成します。プロジェクト名は「FetchStudy」にします。 次に、CapabilitiesのBackground Modesを項目を開きます。 Background ModesをONにします。 ModesのBackground fetchをチェックします。 AppDelegat
<この記事は自社のブログにも転載しました> クックパッドさんが月イチで行っている第5回potatotips(ポテトチップス)という開発Tips共有会が開かれたので参加させてもらい、『ジョブズも成仏するTips考えたったwww』という2chのスレタイみたいなタイトルで発表させてもらいました。 発表時の資料はSlideShareに上げてますが解説編を書いておきます。 私も前に参加したpotatotips第3回目はYahoo!Japanさんで開催してましたが、今回はクックパッド社開催で、会場は会社のエントランス部分がキッチンと発表会場のスペースにつながっていました。この写真で見てわかるようにキッチンから発表を眺めるというアットホームな光景ですね。 ジョブズ成仏(じょうぶつ)の発端 「ジョブズが通った」はなし。私ははてな社のインターンの方のブログで読んだことがあっただけでcockscombさんが実
deploygateという、うちの会社のサービスを、どうやったら伸ばしていけばいいのか? Githubさんに相談したいなと知己を頼っていましたら、何とかなりました。 というわけで San Francisco の Github オフィスに伺ってきました。 実はうちの会社のオフィスの1ブロック先なのです。 このエントリは、よくある行ってきたエントリです。 行ってきた 入り口は、色々な工事中なのか、まだまだ荷物が積まれています。 受付はホワイトハウス風 入って直ぐに、考える Octocat さんが鎮座しています。 1階はカフェテリアでした。 2?階は、集中して開発するエリアとOcto shop。 フロアによって、音楽を鳴らしていいフロアと、静かなフロアが決まっています。 Octo Shop ではTシャツやステッカー、パーカーなどが飾られています。 こちらのフロアは良い感じの音楽のかかって居るエリ
HBFav で一昨日ほどから、新着ブックマーク取得時に正しく取得できない、具体的にはすでに表示済みのエントリが二重に表示されたり、新着で取得したものが更新すると消えてしまう、という現象が発生しています。 こちら、昨晩にはてなブックマーク本体側から報告のあった以下の不具合が原因である可能性が高いです。 お気に入り機能について、最新のブックマークが表示されない問題が発生しています - はてなブックマーク開発ブログ HBFav ははてなブックマーク本体の、お気に入り機能の API (RSSフィード) からデータを取得している都合上、本体側での不具合の影響を受けることがあります。 経過は以下の Github Issue でも議論されています。 https://github.com/naoya/HBFav2/issues/90 ご不便をおかけしますが、回復までしばらくお待ち下さい。 # 中の人ガンバ
プログラマの業界は、同じソフトウェアを作るという作業でありながら、大きく2つの形態にわかれています。 小売業界が、コンビニやデパートなど、同じモノを売るという作業でありながら全く違う形態があるのに近いです。 この分化は、2010年ごろのGREE/DeNAの人材獲得合戦で明確に形ができたように思います。 なので、もう5年たって、定着しつつある感じでしょうか。 その2つの形態というのは、労働集約型の業界と、知識集約型の業界です。 労働集約型はSIで多い多人数開発の業界で、知識集約型がサービスで多い少数精鋭型の開発です。 知識集約型の業界は、最初こそちょっとお花畑すぎる感じもありましたが、最近は落ち着いてきており、徐々に経済的に均衡するところに収束していくと思います。それでも比較的めぐまれた労働環境ではあり続けると思います。ただし、常に勉強が求められる業界ではあります。 問題は労働集約型の業界で
プログラム始めるとき、Cでポインタやハードウェアにまず慣れておけばとか、アセンブラからやればとかいう話がありますが、そういう甘っちょろいことでは天才は育たないと思います。 やっぱ天才育てるなら、人里はなれた山奥で野生児を拾って一から育てるべきでしょう。 伝説の木を削りだして作ったFPGAで、CPUから作らせるのがいいと思います。 大自然の中、ポインタもスレッドも苦にせず、のびのびとしたプログラムを書くプログラマが育つことでしょう。 数年後、ナゾのプログラミング言語をあやつりつつ、セオリー無視のアルゴリズムでプログラムコンテストの賞をかせぎまくる猿っぽい少年が現れたら、そうやって育った野生の天才プログラマだと思ってください。 プロゴルファー猿(1) (藤子不二雄(A)デジタルセレクション) 作者:藤子不二雄(A)小学館Amazon
iOS7と同時にXcode5から追加された、CIを実現するための新機能「Bot」。 ヤフーでiOSアプリを開発している田村孝文さんに、Botの仕組みや、簡単な導入手順、導入時の注意ポイントなどについて、解説していただきました。 by 馬場美由紀 (CodeIQ中の人) Xcode5に組み込まれているCIの仕組み ヤフー田村です。 Xcode5には、継続的インテグレーション(Continuous Integration:CI)の仕組みとして”Bot”という機能が組み込まれています。 Xcode5以前も、JenkinsなどでiOSアプリのCIを回すことはできましたが、Xcode5に組み込まれたことで、よりスムーズにCIを始めることができるようになりました。 この記事では、Botの紹介と簡単な導入手順、導入時に注意しておきたいパターンなどを紹介していきたいと思います。 Botの紹介 Botは O
こんにちは、KID.Aです。 iOS 7からは「Background fetch」モードと「Remote notification」モードの新しいマルチタスク機能が追加されました。 「Background fetch」モードは指定した間隔(厳密には端末依存の間隔になります)でバックグラウンドアプリに通知が来る機能です。SNSのタイムラインなどの最新情報をユーザに見せたい場合に使えると思います。 「Remote notification」モードは、APNsからのプッシュ通知を受け取るタイミングで、バックグラウンドアプリにも通知が来る機能です。主に、ニュースアプリやコンテンツアプリなど定期的に情報更新が必要なアプリに相性がよい機能で、APNsの通知したタイミングでバックグラウンド処理が行えるため、予め重たいデータをダウンロードすることによって、アプリを起動した際に直ぐに最新の情報がみることがで
(注1:モヒカン族の中にも様々なタイプがあるため、モヒカン族はこれらの要素が全て当てはまる、ということはない) (注2:一部誤解が含まれているかもしれないが、モヒカン族の思想に倣い、躊躇なく修正して欲しい) 会話中の言い間違いや相手の誤解は指摘するほうが良いと考える 「間違いの修正こそ正義」と勘違いしている 「正義は我にあり」と言わんばかりに、他人の間違いにこだわる 一般人から「理系的人間」と呼ばれやすい 間違いさえ修正できれば、人がどう思おうと関係ないという態度が出ている 特に、Webに関する考え方では、以下のような思想を持つモヒカン族がいる。 W3Cの勧告に正しく従うことが合理的であると考える 補注:これを強く主張する人たちは特に「W3C原理主義者」と呼ばれる。 いわゆる「意味と見栄えの分離」を尊重する。 補注:これを強く主張する人たちは特に「CSS原理主義者」と呼ばれることがある。
自転車置場の議論 人が集まると、なぜかどうでもいいようなことほど議論が紛糾してしまう傾向がありますが、このような現象のことを、FreeBSD のコミュニティでは自転車置場の議論 (bikeshed discussion) と呼んでいることを知りました。 この、「瑣末なことほど議論が紛糾する現象」はパーキンソンの法則という本の「議題の一項目の審議に要する時間は、その項目についての支出の額に反比例する」という法則として知られています。 この本の中で著者は、原子炉の建設のような莫大な予算のかかる議題については誰も理解できないためにあっさり承認が通る一方で、市庁舎の自転車置場の屋根の費用や、果ては福祉委員会の会合の茶菓となると、誰もが口をはさみ始めて議論が延々と紛糾するというストーリーを紹介しています。 このように、「瑣末なことほど議論が紛糾する現象」はパーキンソン氏によって見事に説明されているの
ユーザーが500万人を超えたツイキャスであるが、このサービスがスマホサービスとして最高な理由の1つに、スマホのプッシュ通知機能がうまく作用しているところがある。 ツイキャス、ユーザー数545万人で「フィンランド超え」 ユーザーの半数が「モイ!」理解 閲覧する人がスマホアプリでツイキャスにアクセスし、好きなCAS主さん(CASとはツイキャスによる配信の事で、「CAS主」とは配信者のこと)の通知登録をオンにすると、次回以降に配信を始めた時に通知が送られてくる。 ライブ配信は一定の時間の長さを持っているものだし、番組を録画しなければ、その場限りの映像なので、通知に対する価値は高い部類に入るのではないだろうか。 「番組表がないのに、見たい番組がいつ配信されるかわからない、だから通知で知ることができる」 人気のCAS主が通知を送ると即座に人が集まってくる。 これは放送では決してできなかったことだ。放
朝起きて布団から出るのがつらいので、HBFav をつらつらと眺めていた。 あるサービスの JavaScript が重いとか、そのコードが難読化されてないとか、担当者とおぼしき人間が書いたコメントがそのまま残ってるから消しましょうよとか、そんなことが書かれていた。JavaScript が重い、という話は結局そのサービスの JavaScript が重かったのではなく、ユーザーが自分で導入した広告が重いというだけの話だった。 コードが難読化されていない、趣味の製品ではなく会社の製品なのでコメントそのまま残ってるから消しましょう・・・実にくだらない。 ところで話は変わってコードレビューについて。 コードレビューに慣れないチームが、何の考えもナシにコードレビューを始めるととにかく気になったこと大小様々な指摘が行われることになる。一見、いろいろな指摘が出て議論が活発になっているように見えるが、だいたい
前回のエントリで、プログラマの業界が労働集約的なものと知識集約的なものにわかれてきているという話を書きました。 プログラマ業界の二分化 - きしだのはてな 前のエントリでは労働集約的なものと知識集約的なものに完全にわかれているように書きましたが、もちろん完全に労働集約的であったり完全に知識集約的であったりすることは少なく、どのような組織でもある程度は両方の性質をもっています。知識集約的な性質の強いSI会社というのもあります。 ただ、SIに労働集約的な、サービスに知識集約的な性質が強くなる傾向はあると思います。 また、知識集約的であればよくて労働集約的であればダメということもありません。労働集約的なSIでありながら良い会社というのもあります。 という断りをいれておかないと、SIで労働集約だからといって全部ひとからげにするなという、労働集約的なSIでありながら良い会社方面から鋭利なマサカリが飛
Objective-C - NSArrayでfor(; ;)とかfor-inを使うのをやめて、enumerateObjectsUsingBlock:を使う - Qiita とか Objective-Cのいろいろな反復処理 - koogawa blog とかで列挙の話を見たので。 最も高速な列挙の方法 最初に結論を書いておくと、Objective-Cにおいて最も高速な列挙の方法は、Objective-Cを投げ捨ててC言語で記述することです。 NSArrayやNSDictionaryは ランタイム関数の呼び出しがボトルネック になります。 文字列を列挙するだけならNSStringのNSArrayよりも、char*の配列を扱ったほうが圧倒的に早いです。 NSEnumerator Objective-C 1.0から存在するプロトコルで、基本的な列挙方法です。 objectEnumeratorで列挙
コンバージョン計測 iOS 7.1 から以下の API が iAd.framework に追加されています。 iOS 7.1 API Diffs ADClient - (void)determineAppInstallationAttributionWithCompletionHandler:(void (^)(BOOL appInstallationWasAttributedToiAd))completionHandler NS_AVAILABLE_IOS(7_1); この completionHandler を登録しておくと、 iAd 経由でユーザがアプリをインストールした場合に発火するといった具合です。 また設定において、Limit Ad Tracking を行い、広告トラッキングをオプトアウトしている場合には appInstallationWasAttributedToiAd が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く