タグ

ブックマーク / qiita.com (297)

  • 3D TouchをUINavigationControllerに入れて新しいUXを作ってみた - Qiita

    まず始めに iPhone6s、iPhone6s plusから3D Touchが使えるようになりました。3D Touchを使った表現にはPeek and PopやQuick Actionsなどありますが、それ以外の部分で具体的にどういった部分に導入すれば良いかというものは決まっていない印象があります。いろいろと導入箇所を検討してみたところ、UINavigationControllerの履歴と紐付けたら面白いのではないかと考えました。 そこで、元々リリースしていたSAHistoryNavigationViewControllerというUINavigationControllerの履歴を表示し任意のViewControllerまで戻れるライブラリに、3D Touchを追加してみました。 追加してみた結果のGIFアニメーションが以下になります。 実装のポイント 以下が実装時のポイントです。 UIN

    3D TouchをUINavigationControllerに入れて新しいUXを作ってみた - Qiita
    urouro_n
    urouro_n 2015/10/28
    すごい、良さそう
  • Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita

    関連記事 この記事も古くなりましたね。執筆時の実装バージョンKotlin 0.12から1.0.2へのアップグレード対応をした際の知見を記事にしました。 Kotlinを実案件で使いました 先日、僕の勤め先のQonceptは『リアル鬼ごっこ』×富士急ハイランド 巨大遊園地からの逃走を開発、リリースしました。 富士急ハイランドで実際に鬼ごっこをする企画で、一般のお客さんがスマホで専用アプリを使いながらクリアを目指します。園内には鬼役のスタッフや、ゲーム進行に関わる設備などがあり、これらとスマホがiBeacon(BluetoothLE)を用いて連動することで、ダメージを受けたり、アイテムを使用したり、クイズを解いたりなどします。 Qonceptの開発範囲は、iOSアプリ(とAppleWatchアプリ)、Androidアプリ、サーバサイドでした。 受注確定となった時点で、残り日数と開発者リソースに対

    Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita
  • Webプログラマから見たiOS9 Safari9のCSS/JavaScriptなどの新機能解説 - Qiita

    iOS9がリリースされ、iPhone6sも発売され、iOS9 Safari9で使える新機能をWebプログラマ目線で使ってみたいものをいくつか試してみました。iOSはアップデートの進捗がわりと良いので、新機能でもモバイルサイトであれば積極的に使える…はず。デスクトップ版の方は…お察しください。 ぶっちゃけ今回はそこまで目玉機能はなく、地味です。地味ですが、SafariでWebアプリを作れるようになりそうな気配がどことなくするようなしないような感じの内容です。残念ながらServiceWorkerには対応していないので、それに対応してくれたらもっとアレなんですが。 iOS Safari9の新機能(OSX版含む) CSS系 backdropフィルタ対応 新し目のiOSやOSXとかのメニューバーが半透過されるあれが作れます。要は背景要素に対してフィルタがかけられるプロパティです。綺麗で良いですね。

    Webプログラマから見たiOS9 Safari9のCSS/JavaScriptなどの新機能解説 - Qiita
    urouro_n
    urouro_n 2015/09/28
  • iOS 9 / watchOS 2 で deprecated になる or 引退していくAPIたち - Qiita

    これは何 iOS 9 / watchOS 2 では様々なAPIが追加されましたが、同時に消え行くAPIにも焦点を当ててみました。(全部は網羅していません) iOS 9でdeprecatedになったAPIたち UIAlertView iOS 8から非推奨扱いになった UIAlertView ですが、iOS 9からは正式に deprecated になりました。 NS_CLASS_DEPRECATED_IOS(2_0, 9_0, "UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead") (iOS 8までは非推奨とはされていたものの NS_CLASS_DEPRECATED_IOS 指定ではなかった) 今後は UIAlertContr

    iOS 9 / watchOS 2 で deprecated になる or 引退していくAPIたち - Qiita
    urouro_n
    urouro_n 2015/09/27
  • WBS を迎撃しました - Qiita

    アクセスが伸びなかった事例について 4 のケースでアクセス数が伸びませんでしたが、以下の理由かなと推測しています 会社名が出なかった 関連キーワードで検索した時の SEO が不十分なのでは? 実際に Google アナリティクスで検索キーワードを確認してみたところ、関連キーワードでの流入が目立っていました 討ち漏らしがないように改善したいですね アクセスパターン 急激にアクセスが増加します 最初のグラフが平日昼間の放映、その他は平日夕方の放映なので、時間帯によってアクセス数の推移が変わるようです アクセスが増加するのはおおよそ以下のタイミングみたいです 会社名・サービス名が紹介された直後 CM 入りのタイミングで微増することもある 予測・結果 予測 直近のアクセス状況を考慮すると、 100 requests/sec → 6,000 requests/min でもいいかな でも、 WBS だ

    WBS を迎撃しました - Qiita
    urouro_n
    urouro_n 2015/09/23
  • iOS9 ATS問題 - Qiita

    iOS9で問題になりそうなATSをまとめました。 ご指摘事項あれば是非コメントをいただきたいです。特にAFNetworkingまわり・・。 AFNetwotking部分は下に記載していますが、iOS8向けのビルドでiOS9端末でも発生したので要注意です。 2015/09/21追記 iOS9GM以降は(もうreleaseされちゃいましたが・・)AFNetworkingでの証明書判定がiOS8とおなじになりました。。。 2016/07/27追記 toshi0383さん 修正依頼ありがとうございます。 1年間間違っていることに気が付きませんでした。。修正ありがとうございます。 App Transport Security App Transport Security (ATS) enforces best practices in the secure connections between a

    iOS9 ATS問題 - Qiita
  • 『Programming Elixir』より "Think Different(ly)" - Qiita

    あの Dave Thomas が書いた『Programming Elixir』を買ったのでぼちぼち読んでいる。 Chapter 1. に Elixir の特徴を巧みに表現した文章があってカッとなったので、引用しておきたい。 Object orientation is not the only way to design code Functional Programming need not be complex or mathematical. The foundations of programming are not assignments, if statements, and loops. Concurrency does not need locks,semaphores, monitors, and the like. Processes are not necessaril

    『Programming Elixir』より "Think Different(ly)" - Qiita
  • 【翻訳まとめ】jQuery 3.0 alpha リリースノート - Qiita

    3.0正式版がリリースされたので、新しい記事を書きました 【翻訳まとめ】jQuery 3.0 アップグレードガイド tl;dr jQuery 3.0 alphaがリリース .hide()と.show()に後方互換性のない変更あり(注意!) jQuery.DeferredがよりPromises/A+に準拠 .width()と.height()が小数値を返せるように 非推奨の.load, .unload, .errorや、ajaxの.success(), .error(), .complete()が廃止 requestAnimationFrameの復活 はじめに 2015/7/13にjQuery 3.0 alphaがリリースされました。 http://blog.jquery.com/2015/07/13/jquery-3-0-and-jquery-compat-3-0-alpha-versio

    【翻訳まとめ】jQuery 3.0 alpha リリースノート - Qiita
    urouro_n
    urouro_n 2015/07/28
  • 富豪実装なJavaScriptジオコーダーを作ってみた - Qiita

    ※ npmを使わず、スクリプトとデータを直接ダウンロードすることもできます。 Nodeでの利用は、こんな感じ。OSCでよくお世話になる、明星大学のキャンパスの緯度経度を出してみます。 var tokoro = require('tokoro') tokoro('東京都日野市程久保2-1-1', function(code) { if (code) { console.log('緯度', code[0]) // 35.64564 console.log('経度', code[1]) // 139.40688 } else { console.log('見つからないよ!') } }) 同じように、フロントエンドJavaScriptからも使えます。Nodeの場合と違い、データの格納場所を変更できます。デフォルトは node_modules/tokoro/dataですが、任意の場所に置いて構いま

    富豪実装なJavaScriptジオコーダーを作ってみた - Qiita
    urouro_n
    urouro_n 2015/07/25
    すごい
  • 英語のコメントや issue で頻出する略語の意味 (FYI, AFAIK, ...) - Qiita

    〔提案に対して〕いいと思う;問題ないと思う;〔コードレビュアーが、問題ないコードに対して〕レビュー終了;(コードの)承認

    英語のコメントや issue で頻出する略語の意味 (FYI, AFAIK, ...) - Qiita
  • iOSのPUSH通知(APNS)の特徴・ノウハウまとめ(iOS 9まで対応) - Qiita

    今開発しているPlayer!で、チャット系のリアルタイム更新処理が必要となったので、色々調べながらまとめています。 分量が多いので、とりあえずまずは小出しにAppleのPUSH通知の特徴・ノウハウについてまとめたものを公開します。 → 「リアルタイム更新処理」全体にフォーカスした記事も書きましたヽ(・ω・`) iOS - チャットなどリアルタイム更新が必要なスマフォアプリの構成について考えてみた - Qiita アプリが終了状態になっていてもサーバーから通知出来る唯一の手段 まず当たり前のことからですが、最大の特長だと思います。 この理由によって、双方向通信などを併用するにしてもPUSH通知対応は必須です。 (サーバー経由でなければ、位置情報トリガーなど他にもいくつか終了状態から起こす方法は存在します。) ユーザーにPUSH通知を不許可にされたら届かない さらに、初回の確認で不許可にされた

    iOSのPUSH通知(APNS)の特徴・ノウハウまとめ(iOS 9まで対応) - Qiita
    urouro_n
    urouro_n 2015/07/22
  • 30分で出来る、JavaScript (Electron) でデスクトップアプリを作って配布するまで - Qiita

    概要 Electronとは、JavaScriptデスクトップアプリケーションが作成できるツールです。 MITライセンスなので無料で使える上に商用利用も可能です。 最近ではAtomやSlackのアプリもElectronで作られたとのこと。 今かなりノっているツールの1つです。 以下、簡単な特徴。 Node.js + HTML + CSS という、WEBの技術でアプリが作れる。 Chromiumブラウザ(Chromeのオープンソース版)を内蔵しているので、普段の書き味と変わらない これ1つで Windows, Mac, Linux 向けのアプリが作れる 超簡単 ここではElectronのインストールからアプリの配布までを紹介します。 以下、「Hello World」を出すだけのアプリですが、ゼロからはじめて30分でここまで出来ます。 インストール まずは必要なものをインストール。 nodeの

    30分で出来る、JavaScript (Electron) でデスクトップアプリを作って配布するまで - Qiita
  • Realmの隠れた重要ポイント - Qiita

    About Realmは、SQLiteやCoreDataを置き換えるべく開発されているDBで、主な特徴はこんな感じです。 NoSQL的なアーキテクチャ 高速 JavaCocoaをサポート iOSとAndroidで設計を共有できる DBファイル(*.realm)がプラットフォーム非依存なので、データの共有が容易 公式のドキュメントやサンプルコードがそれなりに充実しているので、とりあえず使い始めるには情報に不足はありません。 しかし、ある程度開発を進めていくと、ドキュメントで言及されていなくても、事前に知っておかないと辛い部分も見えてきたので、メモとしてまとめておきます。 サンプルコードは主にJava(Android)となりますが、Cocoaな人は適宜Swift/Objective-Cに読み替えてください。 [共通] StandaloneObjectという概念 [Java] Standalo

    Realmの隠れた重要ポイント - Qiita
    urouro_n
    urouro_n 2015/06/14
  • Swift 2.0 の try, catch ファーストインプレッション - Qiita

    WWDC 2015 で Swift 2.0 が発表されました。オープンソース化などのうれしいニュースでも盛り上がっていますが、言語仕様としては try, throw, catch が導入されるという大きな変更がありました。投稿は、 The Swift Programming Language の新章 Error Handling を読み、多少のコードを書いた上での個人的な感想です。 結論から言うと、 try, catch の導入は良い変更だと思えないけど、 try, catch を導入する前提なら考え得る限りベストに近い仕様だった、って感じです。 よかったのは、 ErrorType は enum タイプセーフなエラー情報 エラー処理が強制されている(検査例外のような形) try! でエラーを無視できる あたりです。個人的には、 try, catch でなく Either 的なものを公式サ

    Swift 2.0 の try, catch ファーストインプレッション - Qiita
    urouro_n
    urouro_n 2015/06/13
  • wtf!!!!!!!!!!!!!!!!!!!!!!?????????????????? - Qiita

    tl;dr wtfを使おう 概要(というか全部) pryにはwtfというコマンドがあります。これは最後に起こったエラーのバックトレースを数行表示してくれるものです。これだけでも便利ですが、バックトレースが全部欲しいときはwtf!?のように、!や?を後置するといけます。しかもこれ、いくつでも大丈夫です。なので、 wtf!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    wtf!!!!!!!!!!!!!!!!!!!!!!?????????????????? - Qiita
    urouro_n
    urouro_n 2015/06/03
    楽しい
  • WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita

    WebAPIの仕様を記述する方法はいくつかあると思う。 普通に日語で記述する JSON Hyper-Schema、WADL、RAML、Swaggerなどを使う 仕様書の代わりにプログラムを書く HTTPメッセージそのものを記述しておく でも、文法にばらつきがあったり、読みにくかったり、ツールのセットアップが面倒だったり、どれもイマイチな所があって、手軽な方法が欲しいと思っていた。 何気なくcurlコマンドのオプションを調べていたら、「もうこれでAPIドキュメント扱いにしちゃえばいいんじゃね?」と思えてきたのでメモしておく。 curlコマンドのおさらい curlコマンドはlibcurlの付属コマンドで、最近のUnix系OSなら大抵最初から入っていると思う。コマンドの詳細はmanを読んでいただければ。 cURL - How To Use (マニュアルページ日語訳) curlコマンドのオプシ

    WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita
    urouro_n
    urouro_n 2015/05/25
    良いかも
  • ActiveRecordを速くしたいだけの人生だった - Qiita

    Help us understand the problem. What is going on with this article? Rails3.2からRails4.2に上げたらActiveRecordが遅くなったので、どうやって調査して、どのように対処したかを語ってみたい。 とても長いので、ダルい人は最初と最後だけ読めばよいです。 TL;DR 環境: Ruby 2.1.5 ARオブジェクトを大量に(ざっくり750kくらい)loadするバッチ処理 3.2系での実行時間は約480sec、 4.2系では約2900sec 約6倍の性能劣化 原因: preloadで性能劣化してた CollectionProxyの生成周りで遅くなってた Rails4からARオブジェクトの1attribute毎にObject生成するので遅い GCの時間も増えた 調査方法: Githubのcommit、Issueを

    ActiveRecordを速くしたいだけの人生だった - Qiita
    urouro_n
    urouro_n 2015/04/15
  • 共通化でモチベーションと効率が低下した話 - Qiita

    自分は普段ソーシャルゲームの開発に関わっていますが、群雄割拠のグリモバ全盛期にその開発を効率化するために社内ではいろいろな取り組みがなされました。そのひとつにアプリ別ではなく機能別のチームを作るということがありました。結果としてそれは失敗だったと言えるのでそのことについて書いていきます。 背景 当時のソーシャルゲームの主流はカードゲームで、クエスト・レイドをこなしつつガチャで引いたカードを合成して強化していくスタイルが一般的でした。そしてその多くがシステムはほとんど同じで見た目だけを変えた「柄替え」アプリでした。 その中で行われたのが二つの共通化です。 コードの共通化 今までのアプリでは元のアプリのソースからフォークするなどして別のプロジェクトとして独立させそれに対して各チームが開発を行うと言う感じでしたが、今回の共通化ではゲームのコアとなるロジック部分をサブモジュールとして分離し、各アプ

    共通化でモチベーションと効率が低下した話 - Qiita
    urouro_n
    urouro_n 2015/03/23
  • JK・おっさんプロトコル - Qiita

    JKとおっさんの間で、個人情報を一切漏らすことなく円滑なコミュニケーションが行えるように工夫したプロトコルです。現在は次の二つのプロトコルがありますが、ニーズに合わせてもっと色々考えたいと思っています。 高校生判定プロトコル 登場人物 ここには次のような登場人物がいると仮定します。 JK 自分が高校生であることを証明したいが名前や住所、所属する学校などは保護したい おっさん ある人間について、その人間の性別や年齢といった個人情報はどうでもいいが、高校生であるということは確定させたい このような仮定があるので、例えばJKが、JKの所属する学校の発行する学生証を用いておっさんに身分を示すということは、学校名などといった個人情報が流出するので使うことはできません。 概要 次のような構成になります。 おっさんは自分が 信頼できる カラオケ・理髪店・映画館をいくつかピックアップして、そのリストをJK

    JK・おっさんプロトコル - Qiita
    urouro_n
    urouro_n 2015/03/09
  • インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識 - Qiita

    最近はクラウド上のサーバーを利用する事も多くなってきた。 サーバーの用意やネットワーク周りの設定はインフラ部門がやってくれるけど、アプリのデプロイ/設定は開発者がする事が多いので、開発メインでやってるエンジニアでも最低限SSHの知識は必要になる。 また、Vagrant等でローカル環境にVMを作成する事もあるので、ローカル環境内でSSHを使用するケースも増えてきた。 というわけでインフラエンジニアじゃなくてもSSHクライアントの知識は必須になってきているので、改めてSSHの再学習をしてみることにした。 SSHとは 暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。 SSHでは以下の点で従来のTelnetより安全な通信が行える。1 パスワードやデータを暗号化して通信する。 クライアントがサーバーに接続する時に、接続先が意図しないサーバーに誘導されていないか厳密に

    インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識 - Qiita
    urouro_n
    urouro_n 2015/03/09