タグ

ブックマーク / dev.classmethod.jp (23)

  • 【書評】OAuth・OIDCへの攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編) #技術書典 | DevelopersIO

    OAuth や OIDC について、仕様を読みながら学習を進めていると、「何に使えるのかよくわからない値」や「挙動はわかっても実際にどのような攻撃を防げるのかがよくわからない値」がたくさん出てくるように感じます。 例えば以下は私の Slack での発言を検索した結果ですが、c_hash で何が防げるのかわからず苦悶しています。 そこで、OAuth・OIDCへの攻撃と対策を整理して理解できる(リダイレクトへの攻撃編) を読んでみたところ、この手の混乱に非常に役立つように感じたので、こちらで紹介させていただきます。 OAuth・OIDCへの攻撃と対策を整理して理解できる(リダイレクトへの攻撃編) 仕様を元に OAuth や OIDC の勉強をしていてわかりづらいのは、具体的な攻撃の手法よりも前に、防御の方法について記載があるためではないかと感じています。 それに対して、このでは具体的な攻

    【書評】OAuth・OIDCへの攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編) #技術書典 | DevelopersIO
  • 【レポート】ラスベガスでパスポートの盗難・紛失に遭ったらすべきこと #reinvent | DevelopersIO

    はじめに AWS re:Invent(以下re:Invent)は、2012年の初回から毎年ラスベガスで開催され、2017年の今年で6回を数える事になりました。規模は回を重ねる毎に大きくなり、今年は日から1000人を超える参加があったとのことです。 これだけ多人数が参加すると、パスポートを盗難されたり、紛失する機会も増えてくることが想像され、その場合日に帰国するために何をどうすればいいのか、事前に情報を知っておくに越したことはありません。エントリでは、パスポートを失った際の具体的な対応方法を、実例を元に確認します。 パスポート盗難・紛失時の対応方法 盗難はともかく、パスポートの紛失は気付くのは早いに越したことはありません。下記は飛行機から降りた直後に機内に忘れたことに気付いた場合です。 [re:Invent2017] とっさの事故にも困らないために 〜パスポート遺失編〜 #reinve

    【レポート】ラスベガスでパスポートの盗難・紛失に遭ったらすべきこと #reinvent | DevelopersIO
    hideo54
    hideo54 2017/12/04
  • [iOS] Wi-Fi一覧でアピール表示し、パスワードを自動入力して接続させる方法(とまとレストランの販売促進アプリ) | DevelopersIO

    1 背景 spw05は、とまとレストランの店内で公開しているWi-Fiスポットです。認証方式はWPA2-PSKで当然パスワードも設定されています。 (注:「とまとレストラン」は、架空のレストランです) お客様に開放している無線LANなので、パスワードは店内で教えてもらえます。(少し複雑なパスワードなので、「入力するのが大変だ!」と、ちょっと不評です) 今回は、このようなWi-Fiスポットを、iPhoneWi-Fi選択画面で目立たせて表示し、パスワード入力なしで接続させるアプリの紹介です。 このアプリをインストールするとパスワード入力なしで簡単に接続できます。 とまとレストランとしては、このアプリをたくさんの方にインストールしてもらい、お店の販売促進に繋げたい思いがあります。 2 完成したアプリ 出来上がりは、こんな風になりました。 左が、このアプリをインストールしていない場合のWi-Fi

    [iOS] Wi-Fi一覧でアピール表示し、パスワードを自動入力して接続させる方法(とまとレストランの販売促進アプリ) | DevelopersIO
    hideo54
    hideo54 2016/11/26
  • [iOS 10] 全角文字列を半角文字列に変換する | DevelopersIO

    文字列を変換する NSString の applyingTransform() というメソッドを利用すれば、文字列を簡単に変換することができます。 このメソッドで全角文字列を半角文字列に変換する方法について説明します。 サンプルコード let before = "123456789@abcdefg" if let after = before.applyingTransform(.fullwidthToHalfwidth, reverse: false) { print("before = \(before)") print("after = \(after)") } 実行結果 before = 123456789@abcdefg after = 123456789@abcdefg 解説 全角文字列の before 変数に対して applyingTransform() メソッドを実行してい

    [iOS 10] 全角文字列を半角文字列に変換する | DevelopersIO
    hideo54
    hideo54 2016/11/09
  • [iOS 10] UIApplication の openURL: が Deprecated になりました | DevelopersIO

    openURL が変わった iOS 10 から UIApplication の openURL: メソッドが Deprecated になりました。 代わりに利用することが推奨されたのは openURL:options:completionHandler: というメソッドです。 openURL:options:completionHandler: 旧メソッドに比べて 2 つ引数が増えています。 このメソッド、何が変わったのか実はよくわかりません。 なぜなら 公式のリファレンスに説明が書かれていない からです。(2016/09 現在) API Reference UIApplication のヘッダーには以下のように書かれています。 // Options are specified in the section below for openURL options. An empty optio

    [iOS 10] UIApplication の openURL: が Deprecated になりました | DevelopersIO
    hideo54
    hideo54 2016/09/24
    "何が変わったのか実はよくわかりません。なぜなら公式のリファレンスに説明が書かれていないからです。" ン〜w
  • Safari 10.0 で 3D Touch イベントが取得できる! | DevelopersIO

    Safari 10.0 で 3D Touch イベントを取得! こんにちは、UI デザイナーの清田です。 iOS 10 発表されましたね。それと同時に Safari 10.0 も発表となりました。 早速 Apple Developerサイトへ行くと 「What's New in Safari」 ページにて Safari 10.0 での主なトピックが掲載されています。 What's New in Safari 次期 Safari 10.0で使えるようになったAPIが公開されていました。そちらの一覧のなかに気になる項目が! 3D Touch Events For 3D Touch on iOS, the touchforcechange event is called only when the force changes. The event is the 3D Touch equivale

    Safari 10.0 で 3D Touch イベントが取得できる! | DevelopersIO
    hideo54
    hideo54 2016/09/14
  • [Swift 3.0] 標準ライブラリがAPIガイドラインに適用された話 | DevelopersIO

    Swift3.0の変更点である、 Apply API Guidelines to the Standard Library(標準ライブラリをAPIガイドラインに適用したよ) の話です。 個人的な主観ですが、Swift2.xまではどちらかというとObjective-Cの影響を濃く残したネーミングが数多く見受けられましたが、 Swift3から、よりシンプルで最適化された名称になりました。 APIデザインガイドラインは下記から確認することが出来ます。 https://swift.org/documentation/api-design-guidelines/ どういった変更? 例を見た方が早いので幾つか挙げてみます。? UIColor Swift2.x(今までの例) let color = UIColor.redColor() color.colorWithAlphaComponent(0.5)

    [Swift 3.0] 標準ライブラリがAPIガイドラインに適用された話 | DevelopersIO
    hideo54
    hideo54 2016/09/14
  • [iOS 10] ビジュアルデザインの変更に伴ったアクセシビリティの向上 | DevelopersIO

    文字とアイコンの視認性の向上 iOS 7の登場以降は細い文字がデザインで取り入れられる傾向にありましたが、iOS 10で刷新されたミュージックアプリ、ニュースアプリ(日では利用不可)、そして新しく追加されたホームアプリではヘッドラインにはサイズが大きいボールドフォントが使われています。 ヘッドライン以外のタイトル部分でも黒いボールド文字が多用されています。極細文字はスタイリッシュでかっこ良いですが視認性では劣るため、目が悪いユーザーにとっては読みづらさを招いていました。 また、同様の理由でラインアイコンも視認性の悪さを招いていましたが、ミュージックアプリのタブバーアイコンは塗りつぶしアイコンに変更されているのもがあり、ラインアイコンはラインの太さが増しています。文字の太さやアイコンの塗りつぶしによってコントラストを上げることで、どのユーザーにも快適に使ってもらう配慮がされています。 今回

    [iOS 10] ビジュアルデザインの変更に伴ったアクセシビリティの向上 | DevelopersIO
    hideo54
    hideo54 2016/09/14
  • Xcode 8 の新機能!画像と色のリテラル、画像のコード補完 | DevelopersIO

    画像や色をソースコード上でより扱いやすく Xcode 8 から、画像と色のリテラルと画像のコード補完が使えるようになりました。 「リテラル」とは、コードをより簡単に記述するために用意された特別な記法です。このリテラルを使うと、ソースコード上に画像を表示したり、色を表示したりすることができます。いままでは、ソースコードでどのような画像を参照しているか知るためにはアセットカタログを見たりしなければいけませんでしたが、一目瞭然となります。色についても同様です。 記事では、「画像と色のリテラル」を中心に触れてみます。 画像のリテラル まずアセットカタログに、適当な画像を用意します。 「IconA」や「IconB」などといった名前にしているので、ソースコード上で「ic...」と入力すると、コード補完に画像(アセット)が出てきます。 ソースコード上に画像が表示される、特殊な表示になりました。これは 

    Xcode 8 の新機能!画像と色のリテラル、画像のコード補完 | DevelopersIO
    hideo54
    hideo54 2016/09/14
  • [iOS 10] Xcode 8 の新しい Signing 機能について | DevelopersIO

    What's New in Xcode App Signing Xcode 8 から利用できる署名まわりに関する新機能。 WWDC 2016 で発表されたこの新機能の概要についてご紹介します。 Xcode 8 automatically manages signing Multiple development certificates Dedicated customized signing mode Xcode 8 automatically manages signing なにができるの? なにかができるようになった、と言うよりは今まで行っていた面倒な作業を行わなくてよくなった、というものです。 これらの作業は今後、Xcode が 自動で 行ってくれます。 Xcode が自動で行ってくれる作業 署名付き証明書の作成 App ID の作成と更新 プロビジョニングプロファイルの作成と更新

    [iOS 10] Xcode 8 の新しい Signing 機能について | DevelopersIO
    hideo54
    hideo54 2016/09/14
  • [iOS 10] 各種ユーザーデータへアクセスする目的を記述することが必須になるようです | DevelopersIO

    はじめに こんにちは。モバイルアプリサービス部の平屋です。 「フォトライブラリ」や「カレンダー」などのユーザーデータへアクセスする方法が、iOS 10 で変更になるようです。記事では、対象となる操作や対応方法について説明していきます。 検証環境 Xcode Version 8.2.1 iPhone 6s, iOS 10.2.1 変更履歴 2017/2/17: 表 1 に NSRemindersUsageDescription, NSSiriUsageDescription, NSSpeechRecognitionUsageDescription を追加 対象となる操作 Apple の公式ドキュメント「Information Property List Key Reference」の「Cocoa Keys」セクションの説明によると、以下の表の中のいずれかの操作を行う場合、特定のキーと使用目

    [iOS 10] 各種ユーザーデータへアクセスする目的を記述することが必須になるようです | DevelopersIO
    hideo54
    hideo54 2016/07/05
  • [iOS 8][Swift] アクセス修飾子を理解する | DevelopersIO

    Swiftはアクセス修飾子(Access Control)が利用できます。これにより式やクラスのスコープを明確に定義することができます。 すなわち、「変数」「定数」「クラス」「メソッド」「関数」といったプログラミングを構成する各要素へのアクセス権限を制御できるようになっています。 ただ、このアクセス修飾子がJavaなどと同じ感覚で理解しようとすると「?」となる部分が多いのでまとめておきます。 アクセス修飾子 Swiftのアクセス修飾子は3つのレベルで定義しています。 public 誰からでもアクセスすることができます。APIを定義する時などに利用されます。 異なるファイルでも異なるモジュールであってもアクセスすることが出来ます。 Javaの public とは少々意味が異なり、特殊な用途(ライブラリのAPI定義など)に利用されるアクセス修飾子となります。 Javaにおける public よ

    [iOS 8][Swift] アクセス修飾子を理解する | DevelopersIO
  • Raspberry Pi 2 向け A/D 変換 : Node.js で土壌湿度センサーを制御してみた | DevelopersIO

    車輪開発大好きおたいがです。こんにちは。( 挨拶 ) 最近、自席の近くに置いてあるジョロキア ( 通称 : こむろさん ) を自分が世話することになったのですが、ついでに習作のネタになってもらいました。手元にある Raspberry Pi 2 ( 以下 Raspberry Pi ) と土壌湿度センサーを接続して、ジョロキアの土壌水分状況を調べる装置を作ったので、手順をまとめておきます。 用意したもの Raspberry Pi 2 Model B MCP3208-CI/P ( 12bit 8ch A/D コンバータ ) SEN0114 ( Arduino 用 土壌湿度センサー ) ブレッドボード ( ミニサイズ ) ジャンパーコード ( オス - オス ) ジャンパーコード ( オス - メス ) 昼ついでに、部品はすべて秋月電子通商で購入。 土壌湿度センサーが出力する値はアナログデータで

    Raspberry Pi 2 向け A/D 変換 : Node.js で土壌湿度センサーを制御してみた | DevelopersIO
    hideo54
    hideo54 2016/02/18
  • [iOS 8] HealthKitを実装する(1) HealthKit簡易リファレンス | DevelopersIO

    HealthKitを使う HealthKitを使ったアプリの実装方法について紹介します。 HealthKitではiOS 8ユーザーの健康に関する情報を、アプリ間を跨いだ共有の保存領域(HealthStore)で永続化することができます。 あらかじめHealthKitで指定された値を各々のアプリケーションから永続化することで、プリインストールされている「ヘルスケア」から一括して参照することが出来ます。 HealthKitを実機で使う準備 Xcodeで作成したプロジェクトのHealthKitを有効にする必要があります。有効化はCapabilitiesのタブから行えます。 [Project] → [TARGETS (AppID)] → [Capabilities] → [HealthKit] の順に選択して有効化して下さい。 HealthKitを使ったアプリをリリースする場合、iOS Dev C

    [iOS 8] HealthKitを実装する(1) HealthKit簡易リファレンス | DevelopersIO
    hideo54
    hideo54 2015/08/11
  • [iOS] UITableViewのデータを検索する [4月からはじめるiPhoneアプリ #2] | DevelopersIO

    はじめに こんにちは! 前回の 「UITableViewをStoryboardで実装し、理解する」 から一歩進んだ 「UITableViewに表示したデータを検索する」 を今回は実装して行きます。 この記事は4月からiOSアプリエンジニアとして働く方、転向する方を対象としています。 「iOSアプリケーションを1度でも作ったことがある」、もしくは「入門書を1冊読んだことがある」方には特に参考になるような記事になると思います。 何故Storyboardを使うのか 早速 前回 と同様に新規プロジェクトを作ります。 今回もStoryboard上でUIを作っていきます。 何故UIをStoryboardで作るかというと、 「実行 → デバッグ → 画像・位置・色・重なり順の表示修正」 といったフローをデザインビューで作成出来るので、開発期間の短縮&コードの見通しがよくなるからです。 反面、ゲームアプリ

    [iOS] UITableViewのデータを検索する [4月からはじめるiPhoneアプリ #2] | DevelopersIO
    hideo54
    hideo54 2015/05/14
  • [イベントレポート] iOS オールスターズ勉強会 #dotsios | DevelopersIO

    iOS オールスターズ勉強会の最速レポート公開! こんにちは、横山です。iOSエンジニアの方であれば、大注目のiOSオールスターズ勉強会の最速?レポートしたいと思います。 我らiPhoneアプリサービス事業部のエース平井も、今回のイベントで「エンジニア戦記 ~ 小さなチーム 大きな未来 ~を発表させていただいたので、是非スライドをご一読いただければと幸いです! 主催協力 今回のイベントは、dots.様、がイベントの企画・運営を主導していただき、加えて維新株式会社様が協賛運営いただき 今回のイベントを開催の運びとなったそうです。当日はdots.の方々に司会進行や受付など、イベント進行全般に関して大変お世話になりました。 �参加者も定員の370人を超えて、キャンセル待ちもでる。注目度の高いイベントになりました。 会場 会場は恵比寿駅から少し歩いた、綺麗なビルの9Fで、エントランスもオシャレでし

    [イベントレポート] iOS オールスターズ勉強会 #dotsios | DevelopersIO
  • systemd超入門 | DevelopersIO

    これはとある勉強会用の資料です。スライド作るのが面倒臭くなったのでブログにすることにしました。 Systemdとは Systemdは、Linuxの起動処理やシステム管理を行う仕組みです。 Linuxの起動処理 Linuxの起動はざっくりと以下の4段階によって行われます。 電源投入によりBIOSが起動する。 BIOSからブートローダーが呼び出される。 ブートローダーがLinuxカーネルを起動する。 Linuxカーネルがinitプロセス(PID 1)を起動する。 このinitプロセスが、Linuxの起動処理を司ります。古くから使われていたのがSysvinitで、Sysvinitの代替えとして近年Ubuntuなどで採用されていたのがUpstartです。そしてFedora 15やCentOS 7、Red Hat Enterprise Linux 7で採用されたのがSystemdです。 System

    systemd超入門 | DevelopersIO
  • Amazon SNS のモバイルトークン管理についてのベストプラクティス | DevelopersIO

    はじめに 皆様、Amazon SNS は活用されていますでしょうか?弊社でもモバイルアプリの開発案件において、プッシュ通知機能は要件として挙げられることが多く、実際に数多くのアプリで SNS を用いたプッシュ通知機能を開発してきました。もはやモバイルアプリに必須の機能!と言えるでしょう。 SNS のメリットの1つは各プラットフォーム向けに提供されているモバイルトークンの管理を代わりに行ってくれるという点です。各プラットフォーム向けに自力で管理すると大変面倒な管理が、SNS を使うだけで非常に楽に管理することができます。 そのまま SNS に頼るだけでも大変便利なのですが、最新の登録情報を維持し続けるために行っておいたほうが良い、推奨されるアプローチがあります。 このブログでは SNS のモバイルトークンの管理のノウハウについてまとめられているこちらの記事をベースに、モバイルトークン管理のベ

    Amazon SNS のモバイルトークン管理についてのベストプラクティス | DevelopersIO
  • [iOS 8] マルチデバイス対応の新機能「Trait Collection」 | DevelopersIO

    Adaptive なアプリを作ろう iPhone 6 / iWatch が発表され、iOS に新しい画面サイズのデバイスが仲間入りしました。おそらく今後も新しい画面サイズの iOS デバイスが登場してくるでしょう。このことから、各画面サイズに応じたアプリにすることはもはや必須要件と言えるでしょう。 このことはもちろん Apple も考慮しており、iOS 8 から Adaptive という概念が導入されました。Adaptive とは適応性という意味です。つまり画面サイズが小さくても大きくても、それぞれの画面サイズにうまく適応させて設計していきましょうという考えかたです。 ということで、稿では iOS 8 からのマルチサイズに適応させる方法について解説します。 Size Class これまで iPhone / iPad の判定や Portrait / Landscape の判定には UIUs

    [iOS 8] マルチデバイス対応の新機能「Trait Collection」 | DevelopersIO
    hideo54
    hideo54 2014/11/03
    iOS 8
  • [iOS 8] Today Extension で余白を調整する | DevelopersIO

    Today Extension に対応した便利なアプリが続々とリリースされています。 iOS 8で使えるようになった通知センターのウィジェット対応アプリまとめ(10月25日更新) さて、Today Extension は大変簡単に実装できます。一方で、ノウハウについての情報がまだ少なく、開発には多少困難が伴います。 そんな Today Extension について、いくつかのトピックに分けて、記事を投稿していきたいと思います。 さて今回は、Today Extension の表示領域・余白についてです。 サクッとStoryboard わかりやすいよう、View全体を青くしてしまいます。 余白を調整したい Today Extension の表示領域は、UIEdgeInsetsで定義されています。 通常は何もしなくても、デフォルトの値を用いて表示してくれます。 しかし時には表示領域を変えてみたい

    [iOS 8] Today Extension で余白を調整する | DevelopersIO