タグ

ブックマーク / blog.recruit.co.jp (6)

  • FeedbackManというOSSライブラリを公開しました

    はじめに 初めまして。ビューティー事業ユニットプロダクト開発グループでインターンシップをしていました、 岡田直道(nb6u7)です。 リクルートホールディングスのインターンシッププログラムで 8/21〜10/27の2ヶ月間、現場でのiOSアプリ開発に関わらせて頂きました。 インターン期間中は、同じタイミングでインターンに参加していた林君(SShayashi)と共に前回の記事でも 紹介されていたホットペッパービューティーのアプリリプレイス案件に関わる業務を手伝いながら、とあるOSSライブラリの開発に励んでいました。 今回は、そのライブラリについての話をさせて頂きます。 開発した背景 実際にリクルートライフスタイルのビューティ事業ユニットで働いてみて、まず最初に感じたのが開発体制の手堅さです。 報告されたバグや開発案件、ユニットテストから新規技術の調査等、基的にタスクはチケット化され、アサイ

    FeedbackManというOSSライブラリを公開しました
    koogawa
    koogawa 2018/12/26
  • CircleCI 2.1 の新機能を使って冗長な config.yml をすっきりさせよう! – PSYENCE:MEDIA

    CircleCI 2.1 の新機能を使って冗長な config.yml をすっきりさせよう! 福井祐人 2018.10.11 280 585115102 こんにちは。スタディサプリ English の開発を担当しているwebフロントエンドエンジニアの福井です。 CircleCI で 2.1 configuration がプレビューとして使えるようになりました。試しに使ってみたところ冗長なconfig.ymlが ものすごくすっきりした ので簡単な例を交えて紹介します。 参考 CircleCI-Public/config-preview-sdk CircleCI new configuration documentation 2.0 の冗長な config.yml 今回用意したconfig.ymlはwebフロントエンドの典型的な例で、下記のような流れで順次ジョブを実行します。 setup -

    CircleCI 2.1 の新機能を使って冗長な config.yml をすっきりさせよう! – PSYENCE:MEDIA
    koogawa
    koogawa 2018/10/12
  • iOSのWKWebViewでURLを扱う際に注意すべき脆弱性

    サイバーセキュリティエンジニアリング部の西村です。先日、PacSec 2016というセキュリティカンファレンスでiOS版Firefoxの脆弱性に関する講演をしてきました。 iOS版FirefoxはWebページの表示にiOSのWKWebViewを使用しており、講演の中で紹介した脆弱性はいずれもWKWebViewを利用するiOSアプリで発生しうるものです。この記事では、iOS版Firefoxの脆弱性事例を元に、WKWebViewでURLを取り扱う際に注意すべきポイントを紹介します。 URLのuserinfoフィールドを考慮する WKWebViewでは、urlというプロパティを用いて、現在表示しているWebページのURLを取得できます。しかし、urlプロパティの値を表示するとき、注意すべき点があります。それは、URLのuserinfoというフィールドです。 URLの仕様を定めるRFC 3986で

    iOSのWKWebViewでURLを扱う際に注意すべき脆弱性
    koogawa
    koogawa 2017/07/21
    “WKWebViewのurlプロパティは使用せず、各delegate関数に引数として渡されるWKFrameInfoオブジェクトのrequest.URLやsecurityOriginを用いる”
  • iOS Size Classesを利用してユニバーサル対応を行った話

    こんにちは。AirレジのiOSアプリ開発を担当している山口です。 Airレジは昨年5月に行ったリニューアルに伴い、ユニバーサル対応を行いました。それまではiPhone/iPadで別アプリとして管理していましたが、ユニバーサル対応によりメンテナンスコストを下げることができました。 しかし、開発当初はSize Classesについての理解が浅いままユニバーサル対応を進めてしまい、レイアウト作成中に手戻りが発生したり、UIの共通化が上手くいかず分岐が複雑になってしまうなどの問題が発生していました。そこで、今回はSize Classesの概要とポイントについて書いてみました。 これからユニバーサル対応を始める方の参考になれば幸いです。 iOS8以降、多様化する画面サイズを抽象化して扱うための概念としてSize Classesが登場しました。様々なデバイスや向きに対応したAdaptive UIを実現

    iOS Size Classesを利用してユニバーサル対応を行った話
    koogawa
    koogawa 2017/01/23
    わかりやすい
  • iOS大規模リファクタリング

    こんにちは。Airシリーズ開発チームでiOSの開発リードを担当している永井です。 この度、Airレジから予約台帳機能を切り出して、Airレジとレストランボードの2つのアプリとして新たに5/10にリリースしました。 iPad版・iPhone版合わせて181,175行あったAirレジですが、今回内部的にもObjective-CからSwiftに全面的に書き換えています。 まだまだリファクタリングしていきたい課題はありますが、コード行数は70%も減り(つまり元々の行数から30%になりました)、SonarQubeで示される技術的負債も500dから21dに減り、かなり成功したと言って良いのではないかと思っています。 今回の取り組みの中で、良かったこと・再検討したいことがいろいろ発見できました。それらについてまとめてみるので、これからSwift採用を検討している方々の参考になれば幸いです。 取り組みのポ

    iOS大規模リファクタリング
    koogawa
    koogawa 2016/05/10
    リクルートライフスタイルさんのSwift化事例「コード行数は70%も減り…」ナンダッテー
  • Swift2でiOSアプリの開発を始める前に知っておくべきこと

    こんにちは、プラットフォーム開発グループの山口洋平です。 現在、新規iOSアプリをSwiftを使って開発しています。 先月WWDC2015が開催され、そこで Swift2 が発表されました。 Swiftのオープンソース化など色々と話題になりましたが、Swift自体も様々な機能拡張が行われ、これからのiOSアプリ開発は Swift2 が主流になっていくと思われます。 Swift2を使ったアプリの申請は9月頃まで待つ必要がありますが、今回は先立ってSwift2を使ってコードを書くなら知っておくべき機能、テクニックについて紹介していきたいと思います。 動作確認環境 Xcode 7.0 β4 で動作確認を行いました。 β版なので、今回紹介するコードは今後動かなくなる可能性があります。 guard による早期リターン Optional型を扱うとき、その値がnilなら早く処理を終えたいと思うことが何度

    Swift2でiOSアプリの開発を始める前に知っておくべきこと
    koogawa
    koogawa 2015/07/25
    積極的に guard していきたい
  • 1